Documentation ¶
Index ¶
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- type Asset
- type AssetInfo
- type EpochHooks
- type ExecMsg
- type Keeper
- func (k Keeper) AutocompoundStakingRewards(ctx sdk.Context, whitelistedValsMap types.WhitelistedValsMap)
- func (k Keeper) BeforeEpochStart(ctx sdk.Context, epochIdentifier string, epochNumber int64) error
- func (k Keeper) CheckDelegationStates(ctx sdk.Context, proxyAcc sdk.AccAddress) (math.LegacyDec, math.LegacyDec, math.Int)
- func (k Keeper) DelegateWithCap(ctx sdk.Context, delegatorAddress sdk.AccAddress, ...) error
- func (k Keeper) EpochHooks() EpochHooks
- func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState
- func (k Keeper) GetActiveLiquidValidators(ctx sdk.Context, whitelistedValsMap types.WhitelistedValsMap) (vals types.ActiveLiquidValidators)
- func (k Keeper) GetAllLiquidValidatorStates(ctx sdk.Context) (liquidValidatorStates []types.LiquidValidatorState)
- func (k Keeper) GetAllLiquidValidators(ctx sdk.Context) (vals types.LiquidValidators)
- func (k Keeper) GetCodec() codec.BinaryCodec
- func (k Keeper) GetLiquidValidator(ctx sdk.Context, addr sdk.ValAddress) (val types.LiquidValidator, found bool)
- func (k Keeper) GetLiquidValidatorState(ctx sdk.Context, addr sdk.ValAddress) (liquidValidatorState types.LiquidValidatorState, found bool)
- func (k Keeper) GetNetAmountState(ctx sdk.Context) (nas types.NetAmountState)
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) GetProxyAccBalance(ctx sdk.Context, proxyAcc sdk.AccAddress) (balance sdk.Coin)
- func (k Keeper) GetWeightMap(ctx sdk.Context, liquidVals types.LiquidValidators, ...) (map[string]math.Int, math.Int)
- func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState)
- func (k Keeper) IsActiveLiquidValidator(ctx sdk.Context, lv types.LiquidValidator, ...) bool
- func (k Keeper) IsTombstoned(ctx sdk.Context, val stakingtypes.Validator) bool
- func (k Keeper) LSMDelegate(ctx sdk.Context, delegator sdk.AccAddress, validator sdk.ValAddress, ...) (stkXPRTMintAmount math.Int, err error)
- func (k Keeper) LiquidBondDenom(ctx sdk.Context) string
- func (k Keeper) LiquidDelegate(ctx sdk.Context, proxyAcc sdk.AccAddress, ...) (err error)
- func (k Keeper) LiquidStake(ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, stakingCoin sdk.Coin) (stkXPRTMintAmount math.Int, err error)
- func (k Keeper) LiquidUnbond(ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, valAddr sdk.ValAddress, ...) (time.Time, math.Int, stakingtypes.UnbondingDelegation, error)
- func (k Keeper) LiquidUnstake(ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, ...) (time.Time, math.Int, []stakingtypes.UnbondingDelegation, math.Int, error)
- func (k Keeper) LockOnLP(ctx sdk.Context, delegator sdk.AccAddress, amount sdk.Coin) ([]*codectypes.Any, error)
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) PrioritiseInactiveLiquidValidators(ctx sdk.Context, vs types.LiquidValidators) types.LiquidValidators
- func (k Keeper) Rebalance(ctx sdk.Context, proxyAcc sdk.AccAddress, liquidVals types.LiquidValidators, ...) (redelegations []types.Redelegation)
- func (k Keeper) RemoveLiquidValidator(ctx sdk.Context, val types.LiquidValidator)
- func (k Keeper) Router() *baseapp.MsgServiceRouter
- func (k Keeper) SetLiquidValidator(ctx sdk.Context, val types.LiquidValidator)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params) error
- func (k Keeper) TryRedelegation(ctx sdk.Context, re types.Redelegation) (completionTime time.Time, err error)
- func (k Keeper) UnbondWithCap(ctx sdk.Context, delegatorAddress sdk.AccAddress, ...) (math.Int, error)
- func (k Keeper) UpdateLiquidValidatorSet(ctx sdk.Context) (redelegations []types.Redelegation)
- func (k Keeper) WithdrawLiquidRewards(ctx sdk.Context, proxyAcc sdk.AccAddress)
- type LockLstAssetMsg
- type NativeTokenInfo
- type Querier
- func (k Querier) LiquidValidators(c context.Context, req *types.QueryLiquidValidatorsRequest) (*types.QueryLiquidValidatorsResponse, error)
- func (k Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Querier) States(c context.Context, req *types.QueryStatesRequest) (*types.QueryStatesResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the liquidstake MsgServer interface for the provided Keeper.
Types ¶
type AssetInfo ¶
type AssetInfo struct {
NativeToken NativeTokenInfo `json:"native_token"`
}
type EpochHooks ¶ added in v2.11.0
type EpochHooks struct {
// contains filtered or unexported fields
}
func (EpochHooks) AfterEpochEnd ¶ added in v2.11.0
func (EpochHooks) BeforeEpochStart ¶ added in v2.11.0
type ExecMsg ¶
type ExecMsg struct {
LockLstAsset *LockLstAssetMsg `json:"lock_lst_asset,omitempty"`
}
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper of the liquidstake store
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, storeKey storetypes.StoreKey, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, stakingKeeper types.StakingKeeper, mintKeeper types.MintKeeper, distrKeeper types.DistrKeeper, slashingKeeper types.SlashingKeeper, router *baseapp.MsgServiceRouter, authority string, ) Keeper
NewKeeper returns a liquidstake keeper.
func (Keeper) AutocompoundStakingRewards ¶
func (k Keeper) AutocompoundStakingRewards(ctx sdk.Context, whitelistedValsMap types.WhitelistedValsMap)
AutocompoundStakingRewards withdraws staking rewards and re-stakes when over threshold.
func (Keeper) BeforeEpochStart ¶ added in v2.11.0
func (Keeper) CheckDelegationStates ¶
func (k Keeper) CheckDelegationStates(ctx sdk.Context, proxyAcc sdk.AccAddress) (math.LegacyDec, math.LegacyDec, math.Int)
CheckDelegationStates returns total remaining rewards, delshares, liquid tokens of delegations by proxy account
func (Keeper) DelegateWithCap ¶ added in v2.10.1
func (k Keeper) DelegateWithCap( ctx sdk.Context, delegatorAddress sdk.AccAddress, validator stakingtypes.Validator, bondAmt math.Int, ) error
DelegateWithCap is a wrapper to invoke stakingKeeper.Delegate but account for the amount of liquid staked shares and check against liquid staking cap.
func (Keeper) EpochHooks ¶ added in v2.11.0
func (k Keeper) EpochHooks() EpochHooks
func (Keeper) ExportGenesis ¶
func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState
ExportGenesis returns the liquidstake module's genesis state.
func (Keeper) GetActiveLiquidValidators ¶
func (k Keeper) GetActiveLiquidValidators(ctx sdk.Context, whitelistedValsMap types.WhitelistedValsMap) (vals types.ActiveLiquidValidators)
GetActiveLiquidValidators get the set of active liquid validators.
func (Keeper) GetAllLiquidValidatorStates ¶
func (k Keeper) GetAllLiquidValidatorStates(ctx sdk.Context) (liquidValidatorStates []types.LiquidValidatorState)
func (Keeper) GetAllLiquidValidators ¶
func (k Keeper) GetAllLiquidValidators(ctx sdk.Context) (vals types.LiquidValidators)
GetAllLiquidValidators gets the set of all liquid validators, with no pagination limits.
func (Keeper) GetCodec ¶
func (k Keeper) GetCodec() codec.BinaryCodec
GetCodec return codec.Codec object used by the keeper
func (Keeper) GetLiquidValidator ¶
func (k Keeper) GetLiquidValidator(ctx sdk.Context, addr sdk.ValAddress) (val types.LiquidValidator, found bool)
GetLiquidValidator get a single liquid validator
func (Keeper) GetLiquidValidatorState ¶
func (k Keeper) GetLiquidValidatorState(ctx sdk.Context, addr sdk.ValAddress) (liquidValidatorState types.LiquidValidatorState, found bool)
func (Keeper) GetNetAmountState ¶
func (k Keeper) GetNetAmountState(ctx sdk.Context) (nas types.NetAmountState)
GetNetAmountState calculates the sum of bondedDenom balance, total delegation tokens(slash applied LiquidTokens), total remaining reward of types.LiquidStakeProxyAcc During liquid unstaking, stkxprt immediately burns and the unbonding queue belongs to the requester, so the liquid staker's unbonding values are excluded on netAmount It is used only for calculation and query and is not stored in kv.
func (Keeper) GetProxyAccBalance ¶
func (Keeper) GetWeightMap ¶
func (Keeper) InitGenesis ¶
func (k Keeper) InitGenesis(ctx sdk.Context, genState types.GenesisState)
InitGenesis initializes the liquidstake module's state from a given genesis state.
func (Keeper) IsActiveLiquidValidator ¶
func (k Keeper) IsActiveLiquidValidator(ctx sdk.Context, lv types.LiquidValidator, whitelistedValsMap types.WhitelistedValsMap) bool
func (Keeper) IsTombstoned ¶
func (Keeper) LSMDelegate ¶
func (k Keeper) LSMDelegate( ctx sdk.Context, delegator sdk.AccAddress, validator sdk.ValAddress, proxyAcc sdk.AccAddress, preLsmStake sdk.Coin, ) (stkXPRTMintAmount math.Int, err error)
LSMDelegate captures a staked amount from existing delegation using LSM, re-stakes from proxyAcc and mints stkXPRT worth of stk coin value according to NetAmount and performs LiquidDelegate.
func (Keeper) LiquidDelegate ¶
func (k Keeper) LiquidDelegate(ctx sdk.Context, proxyAcc sdk.AccAddress, activeVals types.ActiveLiquidValidators, stakingAmt math.Int, whitelistedValsMap types.WhitelistedValsMap) (err error)
LiquidDelegate delegates staking amount to active validators by proxy account.
func (Keeper) LiquidStake ¶
func (k Keeper) LiquidStake( ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, stakingCoin sdk.Coin, ) (stkXPRTMintAmount math.Int, err error)
LiquidStake mints stkXPRT worth of staking coin value according to NetAmount and performs LiquidDelegate.
func (Keeper) LiquidUnbond ¶
func (k Keeper) LiquidUnbond( ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, valAddr sdk.ValAddress, shares math.LegacyDec, checkMaxEntries bool, unbondAmount sdk.Coin, ) (time.Time, math.Int, stakingtypes.UnbondingDelegation, error)
LiquidUnbond unbond delegation shares to active validators by proxy account.
func (Keeper) LiquidUnstake ¶
func (k Keeper) LiquidUnstake( ctx sdk.Context, proxyAcc, liquidStaker sdk.AccAddress, unstakingStkXPRT sdk.Coin, ) (time.Time, math.Int, []stakingtypes.UnbondingDelegation, math.Int, error)
LiquidUnstake burns unstakingStkXPRT and performs LiquidUnbond to active liquid validators with del shares worth of shares according to NetAmount with each validators current weight.
func (Keeper) LockOnLP ¶
func (k Keeper) LockOnLP(ctx sdk.Context, delegator sdk.AccAddress, amount sdk.Coin) ([]*codectypes.Any, error)
LockOnLP sends tokens to a CW contract (Superfluid LP) with time locking. It performs a CosmWasm execution through global message handler and may fail. Emits events on a successful call.
func (Keeper) PrioritiseInactiveLiquidValidators ¶ added in v2.10.0
func (k Keeper) PrioritiseInactiveLiquidValidators( ctx sdk.Context, vs types.LiquidValidators, ) types.LiquidValidators
PrioritiseInactiveLiquidValidators sorts LiquidValidators array to have inactive validators first. Used for the case when unbonding should begin from the inactive validators first.
func (Keeper) Rebalance ¶
func (k Keeper) Rebalance( ctx sdk.Context, proxyAcc sdk.AccAddress, liquidVals types.LiquidValidators, whitelistedValsMap types.WhitelistedValsMap, rebalancingTrigger math.LegacyDec, ) (redelegations []types.Redelegation)
Rebalance argument liquidVals containing ValidatorStatusActive which is containing just added on whitelist(liquidToken 0) and ValidatorStatusInactive to delist
func (Keeper) RemoveLiquidValidator ¶
func (k Keeper) RemoveLiquidValidator(ctx sdk.Context, val types.LiquidValidator)
RemoveLiquidValidator remove a liquid validator on kv store
func (Keeper) Router ¶
func (k Keeper) Router() *baseapp.MsgServiceRouter
Router returns the keeper's msg router
func (Keeper) SetLiquidValidator ¶
func (k Keeper) SetLiquidValidator(ctx sdk.Context, val types.LiquidValidator)
SetLiquidValidator set the main record holding liquid validator details
func (Keeper) TryRedelegation ¶
func (k Keeper) TryRedelegation(ctx sdk.Context, re types.Redelegation) (completionTime time.Time, err error)
TryRedelegation attempts redelegation, which is applied only when successful through cached context because there is a constraint that fails if already receiving redelegation.
func (Keeper) UnbondWithCap ¶ added in v2.10.1
func (k Keeper) UnbondWithCap( ctx sdk.Context, delegatorAddress sdk.AccAddress, validatorAddress sdk.ValAddress, amount sdk.Coin, userAddress sdk.AccAddress, ) (math.Int, error)
UnbondWithCap is a wrapper to invoke stakingKeeper.Unbond but updates the total liquid staked tokens.
func (Keeper) UpdateLiquidValidatorSet ¶
func (k Keeper) UpdateLiquidValidatorSet(ctx sdk.Context) (redelegations []types.Redelegation)
func (Keeper) WithdrawLiquidRewards ¶
func (k Keeper) WithdrawLiquidRewards(ctx sdk.Context, proxyAcc sdk.AccAddress)
type LockLstAssetMsg ¶ added in v2.7.2
type LockLstAssetMsg struct {
Asset Asset `json:"asset"`
}
type NativeTokenInfo ¶
type NativeTokenInfo struct {
Denom string `json:"denom"`
}
type Querier ¶
type Querier struct {
Keeper
}
Querier is used as Keeper will have duplicate methods if used directly, and gRPC names take precedence over keeper.
func (Querier) LiquidValidators ¶
func (k Querier) LiquidValidators(c context.Context, req *types.QueryLiquidValidatorsRequest) (*types.QueryLiquidValidatorsResponse, error)
LiquidValidators queries all liquid validators.
func (Querier) Params ¶
func (k Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
Params queries the parameters of the liquidstake module.
func (Querier) States ¶
func (k Querier) States(c context.Context, req *types.QueryStatesRequest) (*types.QueryStatesResponse, error)
States queries states of liquid stake module.