Documentation ¶
Index ¶
- Constants
- func CalculateTimeElapsed(start, end, blockTime time.Time, previousAccrualTime time.Time) sdk.Int
- func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
- type Hooks
- func (h Hooks) AfterCdpCreated(ctx sdk.Context, cdp cdptypes.Cdp)
- func (h Hooks) AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
- func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
- func (h Hooks) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
- func (h Hooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress)
- func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
- func (h Hooks) BeforeCdpModified(ctx sdk.Context, cdp cdptypes.Cdp)
- func (h Hooks) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
- func (h Hooks) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
- func (h Hooks) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
- func (h Hooks) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress)
- func (h Hooks) BeforeValidatorSlashed(ctx sdk.Context, valAddr sdk.ValAddress, fraction sdk.Dec)
- type Keeper
- func (k Keeper) AccumulateCdpMintingRewards(ctx sdk.Context, rewardPeriod types.RewardPeriod) error
- func (k Keeper) ClaimCdpMintingReward(ctx sdk.Context, addr sdk.AccAddress, multiplierName string) error
- func (k Keeper) DeleteCdpMintingClaim(ctx sdk.Context, owner sdk.AccAddress)
- func (k Keeper) GetAllCdpMintingClaims(ctx sdk.Context) types.CdpMintingClaims
- func (k Keeper) GetCdpMintingClaim(ctx sdk.Context, addr sdk.AccAddress) (types.CdpMintingClaim, bool)
- func (k Keeper) GetCdpMintingRewardFactor(ctx sdk.Context, ctype string) (factor sdk.Dec, found bool)
- func (k Keeper) GetCdpMintingRewardPeriod(ctx sdk.Context, collateralType string) (types.RewardPeriod, bool)
- func (k Keeper) GetClaimEnd(ctx sdk.Context) time.Time
- func (k Keeper) GetGenesisDenoms(ctx sdk.Context) (_ *types.GenesisDenoms, found bool)
- func (k Keeper) GetMultiplier(ctx sdk.Context, name string) (types.Multiplier, bool)
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) GetPeriodLength(ctx sdk.Context, multiplier types.Multiplier) (int64, error)
- func (k Keeper) GetPreviousCdpMintingAccrualTime(ctx sdk.Context, ctype string) (blockTime time.Time, found bool)
- func (k Keeper) Hooks() Hooks
- func (k Keeper) InitializeCdpMintingClaim(ctx sdk.Context, cdp cdptypes.Cdp)
- func (k Keeper) IterateCdpMintingAccrualTimes(ctx sdk.Context, cb func(string, time.Time) (stop bool))
- func (k Keeper) IterateCdpMintingClaims(ctx sdk.Context, cb func(c types.CdpMintingClaim) (stop bool))
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) SendTimeLockedCoinsToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, ...) error
- func (k Keeper) SendTimeLockedCoinsToBaseAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, ...) error
- func (k Keeper) SendTimeLockedCoinsToPeriodicVestingAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, ...) error
- func (k Keeper) SetCdpMintingClaim(ctx sdk.Context, c types.CdpMintingClaim)
- func (k Keeper) SetCdpMintingRewardFactor(ctx sdk.Context, ctype string, factor sdk.Dec)
- func (k Keeper) SetGenesisDenoms(ctx sdk.Context, denoms *types.GenesisDenoms)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params)
- func (k Keeper) SetPreviousCdpMintingAccrualTime(ctx sdk.Context, ctype string, blockTime time.Time)
- func (k Keeper) SimulateCdpMintingSynchronization(ctx sdk.Context, claim types.CdpMintingClaim) types.CdpMintingClaim
- func (k Keeper) SynchronizeCdpMintingClaim(ctx sdk.Context, claim types.CdpMintingClaim) (types.CdpMintingClaim, error)
- func (k Keeper) SynchronizeCdpMintingReward(ctx sdk.Context, cdp cdptypes.Cdp)
- func (k Keeper) ZeroCdpMintingClaim(ctx sdk.Context, claim types.CdpMintingClaim) types.CdpMintingClaim
Constants ¶
const ( // BeginningOfMonth harvest rewards that are claimed after the 15th at 14:00UTC of the month always vest on the first of the month BeginningOfMonth = 1 // MidMonth harvest rewards that are claimed before the 15th at 14:00UTC of the month always vest on the 15 of the month MidMonth = 15 // PaymentHour harvest rewards always vest at 14:00UTC PaymentHour = 14 )
Variables ¶
This section is empty.
Functions ¶
func CalculateTimeElapsed ¶
CalculateTimeElapsed calculates the number of reward-eligible seconds that have passed since the previous time rewards were accrued, taking into account the end time of the reward period
func NewQuerier ¶
func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
Types ¶
type Hooks ¶
type Hooks struct {
// contains filtered or unexported fields
}
Hooks wrapper struct for hooks
func (Hooks) AfterCdpCreated ¶
AfterCdpCreated function that runs after a cdp is created
func (Hooks) AfterDelegationModified ¶
func (h Hooks) AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
AfterDelegationModified runs after a delegation is modified
func (Hooks) AfterValidatorBeginUnbonding ¶
func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
AfterValidatorBeginUnbonding is called after a validator begins unbonding
func (Hooks) AfterValidatorBonded ¶
func (h Hooks) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
AfterValidatorBonded is called after a validator is bonded
func (Hooks) AfterValidatorCreated ¶
func (h Hooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress)
AfterValidatorCreated runs after a validator is created
func (Hooks) AfterValidatorRemoved ¶
func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress)
AfterValidatorRemoved runs after a validator is removed
func (Hooks) BeforeCdpModified ¶
BeforeCdpModified function that runs before a cdp is modified note that this is called immediately after interest is synchronized, and so could potentially be called AfterCdpInterestUpdated or something like that, if we we're to expand the scope of cdp hooks
func (Hooks) BeforeDelegationCreated ¶
func (h Hooks) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
BeforeDelegationCreated runs before a delegation is created
func (Hooks) BeforeDelegationRemoved ¶
func (h Hooks) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
BeforeDelegationRemoved runs directly before a delegation is deleted
func (Hooks) BeforeDelegationSharesModified ¶
func (h Hooks) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)
BeforeDelegationSharesModified runs before an existing delegation is modified
func (Hooks) BeforeValidatorModified ¶
func (h Hooks) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress)
BeforeValidatorModified runs before a validator is modified
func (Hooks) BeforeValidatorSlashed ¶
BeforeValidatorSlashed is called before a validator is slashed
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
func NewKeeper ¶
func NewKeeper(cdc codec.Codec, storeKey, memKey sdk.StoreKey, paramSpace paramtypes.Subspace, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, cdpKeeper types.CdpKeeper) Keeper
func (Keeper) AccumulateCdpMintingRewards ¶
AccumulateCdpMintingRewards updates the rewards accumulated for the input reward period
func (Keeper) ClaimCdpMintingReward ¶
func (k Keeper) ClaimCdpMintingReward(ctx sdk.Context, addr sdk.AccAddress, multiplierName string) error
ClaimCdpMintingReward sends the reward amount to the input address and zero's out the claim in the store
func (Keeper) DeleteCdpMintingClaim ¶
func (k Keeper) DeleteCdpMintingClaim(ctx sdk.Context, owner sdk.AccAddress)
DeleteCdpMintingClaim deletes the claim in the store corresponding to the input address, collateral type, and id
func (Keeper) GetAllCdpMintingClaims ¶
func (k Keeper) GetAllCdpMintingClaims(ctx sdk.Context) types.CdpMintingClaims
GetAllCdpMintingClaims returns all Claim objects in the store
func (Keeper) GetCdpMintingClaim ¶
func (k Keeper) GetCdpMintingClaim(ctx sdk.Context, addr sdk.AccAddress) (types.CdpMintingClaim, bool)
GetCdpMintingClaim returns the claim in the store corresponding the the input address collateral type and id and a boolean for if the claim was found
func (Keeper) GetCdpMintingRewardFactor ¶
func (k Keeper) GetCdpMintingRewardFactor(ctx sdk.Context, ctype string) (factor sdk.Dec, found bool)
GetCdpMintingRewardFactor returns the current reward factor for an individual collateral type
func (Keeper) GetCdpMintingRewardPeriod ¶
func (k Keeper) GetCdpMintingRewardPeriod(ctx sdk.Context, collateralType string) (types.RewardPeriod, bool)
GetCdpMintingRewardPeriod returns the reward period with the specified collateral type if it's found in the params
func (Keeper) GetClaimEnd ¶
GetClaimEnd returns the claim end time for the params
func (Keeper) GetGenesisDenoms ¶
func (Keeper) GetMultiplier ¶
GetMultiplier returns the multiplier with the specified name if it's found in the params
func (Keeper) GetPeriodLength ¶
GetPeriodLength returns the length of the period based on the input blocktime and multiplier note that pay dates are always the 1st or 15th of the month at 14:00UTC.
func (Keeper) GetPreviousCdpMintingAccrualTime ¶
func (k Keeper) GetPreviousCdpMintingAccrualTime(ctx sdk.Context, ctype string) (blockTime time.Time, found bool)
GetPreviousCdpMintingAccrualTime returns the last time a collateral type accrued Cdp minting rewards
func (Keeper) InitializeCdpMintingClaim ¶
InitializeCdpMintingClaim creates or updates a claim such that no new rewards are accrued, but any existing rewards are not lost. this function should be called after a cdp is created. If a user previously had a cdp, then closed it, they shouldn't accrue rewards during the period the cdp was closed. By setting the reward factor to the current global reward factor, any unclaimed rewards are preserved, but no new rewards are added.
func (Keeper) IterateCdpMintingAccrualTimes ¶
func (k Keeper) IterateCdpMintingAccrualTimes(ctx sdk.Context, cb func(string, time.Time) (stop bool))
IterateCdpMintingAccrualTimes iterates over all previous Cdp minting accrual times and preforms a callback function
func (Keeper) IterateCdpMintingClaims ¶
func (k Keeper) IterateCdpMintingClaims(ctx sdk.Context, cb func(c types.CdpMintingClaim) (stop bool))
IterateCdpMintingClaims iterates over all claim objects in the store and preforms a callback function
func (Keeper) Params ¶
func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
func (Keeper) SendTimeLockedCoinsToAccount ¶
func (k Keeper) SendTimeLockedCoinsToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins, length int64) error
SendTimeLockedCoinsToAccount sends time-locked coins from the input module account to the recipient. If the recipients account is not a vesting account and the input length is greater than zero, the recipient account is converted to a periodic vesting account and the coins are added to the vesting balance as a vesting period with the input length.
func (Keeper) SendTimeLockedCoinsToBaseAccount ¶
func (k Keeper) SendTimeLockedCoinsToBaseAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins, length int64) error
SendTimeLockedCoinsToBaseAccount sends time-locked coins from the input module account to the recipient, converting the recipient account to a vesting account
func (Keeper) SendTimeLockedCoinsToPeriodicVestingAccount ¶
func (k Keeper) SendTimeLockedCoinsToPeriodicVestingAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins, length int64) error
SendTimeLockedCoinsToPeriodicVestingAccount sends time-locked coins from the input module account to the recipient
func (Keeper) SetCdpMintingClaim ¶
func (k Keeper) SetCdpMintingClaim(ctx sdk.Context, c types.CdpMintingClaim)
SetCdpMintingClaim sets the claim in the store corresponding to the input address, collateral type, and id
func (Keeper) SetCdpMintingRewardFactor ¶
SetCdpMintingRewardFactor sets the current reward factor for an individual collateral type
func (Keeper) SetGenesisDenoms ¶
func (k Keeper) SetGenesisDenoms(ctx sdk.Context, denoms *types.GenesisDenoms)
func (Keeper) SetPreviousCdpMintingAccrualTime ¶
func (k Keeper) SetPreviousCdpMintingAccrualTime(ctx sdk.Context, ctype string, blockTime time.Time)
SetPreviousCdpMintingAccrualTime sets the last time a collateral type accrued Cdp minting rewards
func (Keeper) SimulateCdpMintingSynchronization ¶
func (k Keeper) SimulateCdpMintingSynchronization(ctx sdk.Context, claim types.CdpMintingClaim) types.CdpMintingClaim
SimulateCdpMintingSynchronization calculates a user's outstanding Cdp minting rewards by simulating reward synchronization
func (Keeper) SynchronizeCdpMintingClaim ¶
func (k Keeper) SynchronizeCdpMintingClaim(ctx sdk.Context, claim types.CdpMintingClaim) (types.CdpMintingClaim, error)
SynchronizeCdpMintingClaim updates the claim object by adding any rewards that have accumulated. Returns the updated claim object
func (Keeper) SynchronizeCdpMintingReward ¶
SynchronizeCdpMintingReward updates the claim object by adding any accumulated rewards and updating the reward index value. this should be called before a cdp is modified, immediately after the 'SynchronizeInterest' method is called in the cdp module
func (Keeper) ZeroCdpMintingClaim ¶
func (k Keeper) ZeroCdpMintingClaim(ctx sdk.Context, claim types.CdpMintingClaim) types.CdpMintingClaim
ZeroCdpMintingClaim zeroes out the claim object's rewards and returns the updated claim object