Documentation ¶
Index ¶
- Constants
- func FilteredPaginate(cdc codec.Codec, prefixStore storetypes.KVStore, ...) (*pagiquery.PageResponse, error)
- func GetIterator(prefixStore storetypes.KVStore, start []byte, reverse bool) db.Iterator
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
- func Paginate(prefixStore storetypes.KVStore, pageRequest *pagiquery.PageRequest, ...) (*pagiquery.PageResponse, error)
- func UnmarshalIndividualReward(cdc codec.Codec, value []byte) (v types.Reward, err error)
- type Keeper
- func (k Keeper) BondDenom(ctx sdk.Context) (res string)
- func (k Keeper) CalcCommunityTax(ctx sdk.Context, rewardBeforeTax sdk.Dec) (reward sdk.Coin, tax sdk.Dec)
- func (k Keeper) CalcMiningRewardInTotal(ctx sdk.Context, distributeGoal types.DistributeGoal) (types.DistributeGoal, error)
- func (k Keeper) CalcRewardForMetaNode(ctx sdk.Context, distributeGoalBalance types.DistributeGoal, ...) map[string]types.Reward
- func (k Keeper) CalcRewardForResourceNode(ctx sdk.Context, totalConsumedNoz sdk.Dec, ...) map[string]types.Reward
- func (k Keeper) CalcTrafficRewardInTotal(ctx sdk.Context, distributeGoal types.DistributeGoal, totalConsumedNoz sdk.Dec) (types.DistributeGoal, error)
- func (k Keeper) DistributePotReward(ctx sdk.Context, trafficList []types.SingleWalletVolume, epoch sdk.Int) (err error)
- func (k Keeper) FoundationDeposit(ctx sdk.Context, amount sdk.Coins, from sdk.AccAddress) (err error)
- func (k Keeper) GetCirculationSupply(ctx sdk.Context) (circulationSupply sdk.Coins)
- func (k Keeper) GetCommunityTax(ctx sdk.Context) (res sdk.Dec)
- func (k Keeper) GetImmatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress) (value sdk.Coins)
- func (k Keeper) GetIndividualReward(ctx sdk.Context, walletAddress sdk.AccAddress, matureEpoch sdk.Int) (value types.Reward, found bool)
- func (k Keeper) GetLastDistributedEpoch(ctx sdk.Context) (epoch sdk.Int)
- func (k Keeper) GetMatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress) (value sdk.Coins)
- func (k Keeper) GetMaturedEpoch(ctx sdk.Context) (epoch sdk.Int)
- func (k Keeper) GetMiningRewardParamByMinedToken(ctx sdk.Context, minedToken sdk.Coin) (types.MiningRewardParam, error)
- func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)
- func (k Keeper) GetSupply(ctx sdk.Context) (totalSupply sdk.Coin)
- func (k Keeper) GetTotalConsumedNoz(trafficList []types.SingleWalletVolume) sdk.Int
- func (k Keeper) GetTotalMinedTokens(ctx sdk.Context) (totalMinedToken sdk.Coin)
- func (k Keeper) GetTrafficReward(ctx sdk.Context, totalConsumedNoz sdk.Dec) (result sdk.Dec)
- func (k Keeper) GetVolumeReport(ctx sdk.Context, epoch sdk.Int) (res types.VolumeReportRecord)
- func (k Keeper) HasReachedThreshold(ctx sdk.Context, pubKeys [][]byte) bool
- func (k Keeper) InitVariable(ctx sdk.Context)
- func (k Keeper) InitialTotalSupply(ctx sdk.Context) (res sdk.Coin)
- func (k Keeper) IteratorImmatureTotal(ctx sdk.Context, ...)
- func (k Keeper) IteratorIndividualReward(ctx sdk.Context, epoch sdk.Int, ...)
- func (k Keeper) IteratorMatureTotal(ctx sdk.Context, ...)
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) MatureEpoch(ctx sdk.Context) (res int64)
- func (k Keeper) MiningRewardParams(ctx sdk.Context) (res []types.MiningRewardParam)
- func (k Keeper) RemoveIndividualReward(ctx sdk.Context, individualRewardKey []byte)
- func (k Keeper) RestoreTotalSupply(ctx sdk.Context) (minted, burned sdk.Coins)
- func (k Keeper) RewardDenom(ctx sdk.Context) (res string)
- func (k Keeper) RewardMatureAndSubSlashing(ctx sdk.Context) error
- func (k Keeper) SafeMintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
- func (k Keeper) SetImmatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress, value sdk.Coins)
- func (k Keeper) SetIndividualReward(ctx sdk.Context, walletAddress sdk.AccAddress, matureEpoch sdk.Int, ...)
- func (k Keeper) SetLastDistributedEpoch(ctx sdk.Context, epoch sdk.Int)
- func (k Keeper) SetMatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress, value sdk.Coins)
- func (k Keeper) SetMaturedEpoch(ctx sdk.Context, epoch sdk.Int)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params)
- func (k Keeper) SetTotalMinedTokens(ctx sdk.Context, totalMinedToken sdk.Coin)
- func (k Keeper) SetVolumeReport(ctx sdk.Context, epoch sdk.Int, reportRecord types.VolumeReportRecord)
- func (k Keeper) SlashingResourceNode(ctx sdk.Context, p2pAddr stratos.SdsAddress, walletAddr sdk.AccAddress, ...) (tokenAmt sdk.Int, nodeType registertypes.NodeType, err error)
- func (k Keeper) VolumeReport(ctx sdk.Context, walletVolumes types.WalletVolumes, ...) (err error)
- func (k Keeper) Withdraw(ctx sdk.Context, amount sdk.Coins, walletAddress sdk.AccAddress, ...) error
- type Migrator
- type Querier
- func (q Querier) CirculationSupply(c context.Context, _ *types.QueryCirculationSupplyRequest) (*types.QueryCirculationSupplyResponse, error)
- func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (q Querier) RewardsByEpoch(c context.Context, req *types.QueryRewardsByEpochRequest) (*types.QueryRewardsByEpochResponse, error)
- func (q Querier) RewardsByOwner(c context.Context, req *types.QueryRewardsByOwnerRequest) (*types.QueryRewardsByOwnerResponse, error)
- func (q Querier) SlashingByOwner(c context.Context, req *types.QuerySlashingByOwnerRequest) (*types.QuerySlashingByOwnerResponse, error)
- func (q Querier) TotalMinedToken(c context.Context, _ *types.QueryTotalMinedTokenRequest) (*types.QueryTotalMinedTokenResponse, error)
- func (q Querier) VolumeReport(c context.Context, req *types.QueryVolumeReportRequest) (*types.QueryVolumeReportResponse, error)
Constants ¶
const (
MatureCountPerBlock = 100
)
Variables ¶
This section is empty.
Functions ¶
func FilteredPaginate ¶ added in v0.8.0
func FilteredPaginate(cdc codec.Codec, prefixStore storetypes.KVStore, pageRequest *pagiquery.PageRequest, onResult func(key []byte, value []byte, accumulate bool) (bool, error), ) (*pagiquery.PageResponse, error)
func GetIterator ¶ added in v0.8.0
func NewMsgServerImpl ¶ added in v0.8.0
NewMsgServerImpl returns an implementation of the bank MsgServer interface for the provided Keeper.
func NewQuerier ¶
func NewQuerier(k Keeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier
NewQuerier creates a new querier for pot clients.
func Paginate ¶ added in v0.8.0
func Paginate( prefixStore storetypes.KVStore, pageRequest *pagiquery.PageRequest, onResult func(key []byte, value []byte) error, ) (*pagiquery.PageResponse, error)
Types ¶
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper of the pot store
func NewKeeper ¶
func NewKeeper(cdc codec.Codec, key sdk.StoreKey, paramSpace paramstypes.Subspace, feeCollectorName string, bankKeeper types.BankKeeper, accountKeeper types.AccountKeeper, stakingKeeper types.StakingKeeper, registerKeeper types.RegisterKeeper, distrKeeper types.DistrKeeper, ) Keeper
NewKeeper creates a pot keeper
func (Keeper) CalcCommunityTax ¶ added in v0.9.0
func (Keeper) CalcMiningRewardInTotal ¶
func (k Keeper) CalcMiningRewardInTotal(ctx sdk.Context, distributeGoal types.DistributeGoal) (types.DistributeGoal, error)
allocate mining reward from foundation account
func (Keeper) CalcRewardForMetaNode ¶ added in v0.8.0
func (k Keeper) CalcRewardForMetaNode(ctx sdk.Context, distributeGoalBalance types.DistributeGoal, rewardDetailMap map[string]types.Reward, ) map[string]types.Reward
Iteration for calculating reward of meta nodes
func (Keeper) CalcRewardForResourceNode ¶
func (k Keeper) CalcRewardForResourceNode(ctx sdk.Context, totalConsumedNoz sdk.Dec, trafficList []types.SingleWalletVolume, distributeGoal types.DistributeGoal, rewardDetailMap map[string]types.Reward, ) map[string]types.Reward
Iteration for calculating reward of resource nodes
func (Keeper) CalcTrafficRewardInTotal ¶
func (k Keeper) CalcTrafficRewardInTotal( ctx sdk.Context, distributeGoal types.DistributeGoal, totalConsumedNoz sdk.Dec, ) (types.DistributeGoal, error)
func (Keeper) DistributePotReward ¶
func (Keeper) FoundationDeposit ¶ added in v0.5.0
func (Keeper) GetCirculationSupply ¶ added in v0.10.0
func (Keeper) GetCommunityTax ¶ added in v0.9.0
func (Keeper) GetImmatureTotalReward ¶
func (Keeper) GetIndividualReward ¶
func (Keeper) GetLastDistributedEpoch ¶ added in v0.10.0
func (Keeper) GetMatureTotalReward ¶
func (Keeper) GetMaturedEpoch ¶ added in v0.10.0
func (Keeper) GetMiningRewardParamByMinedToken ¶
func (Keeper) GetTotalConsumedNoz ¶ added in v0.9.0
func (k Keeper) GetTotalConsumedNoz(trafficList []types.SingleWalletVolume) sdk.Int
Iteration for getting total consumed OZ from traffic
func (Keeper) GetTotalMinedTokens ¶
func (Keeper) GetTrafficReward ¶ added in v0.7.0
[S] is initial genesis deposit by all resource nodes and meta nodes at t=0 The current unissued prepay Volume Pool [pt] is the total remaining prepay wei kept by Stratos Network but not issued to Resource Node as rewards. At time t=0, pt=0 total consumed Ozone is [Y] The remaining total Ozone limit [lt] is the upper bound of total Ozone that users can purchase from Stratos blockchain. the total generated traffic rewards as [R] R = (S + Pt) * Y / (Lt + Y)
func (Keeper) GetVolumeReport ¶
func (Keeper) HasReachedThreshold ¶ added in v0.10.0
func (Keeper) InitVariable ¶ added in v0.9.0
func (Keeper) InitialTotalSupply ¶ added in v0.10.0
func (Keeper) IteratorImmatureTotal ¶ added in v0.7.0
func (k Keeper) IteratorImmatureTotal(ctx sdk.Context, handler func(walletAddress sdk.AccAddress, immatureTotal sdk.Coins) (stop bool))
Iteration for getting total immature reward
func (Keeper) IteratorIndividualReward ¶ added in v0.7.0
func (k Keeper) IteratorIndividualReward(ctx sdk.Context, epoch sdk.Int, handler func(walletAddress sdk.AccAddress, individualReward types.Reward) (stop bool))
Iteration for getting individule reward of each owner at a specific epoch
func (Keeper) IteratorMatureTotal ¶ added in v0.7.0
func (k Keeper) IteratorMatureTotal(ctx sdk.Context, handler func(walletAddress sdk.AccAddress, matureTotal sdk.Coins) (stop bool))
IteratorMatureTotal Iteration for getting total mature reward
func (Keeper) MiningRewardParams ¶
func (k Keeper) MiningRewardParams(ctx sdk.Context) (res []types.MiningRewardParam)
func (Keeper) RemoveIndividualReward ¶ added in v0.10.0
func (Keeper) RestoreTotalSupply ¶ added in v0.10.0
Restore total supply to 100M stos
func (Keeper) RewardDenom ¶ added in v0.6.0
func (Keeper) RewardMatureAndSubSlashing ¶ added in v0.10.0
RewardMatureAndSubSlashing mature rewards and deduct slashing for all nodes
func (Keeper) SafeMintCoins ¶ added in v0.10.0
func (Keeper) SetImmatureTotalReward ¶ added in v0.7.0
func (Keeper) SetIndividualReward ¶ added in v0.7.0
func (Keeper) SetLastDistributedEpoch ¶ added in v0.10.0
func (Keeper) SetMatureTotalReward ¶ added in v0.7.0
func (Keeper) SetMaturedEpoch ¶ added in v0.10.0
func (Keeper) SetTotalMinedTokens ¶ added in v0.7.0
func (Keeper) SetVolumeReport ¶
func (Keeper) SlashingResourceNode ¶ added in v0.6.2
func (k Keeper) SlashingResourceNode(ctx sdk.Context, p2pAddr stratos.SdsAddress, walletAddr sdk.AccAddress, nozAmt sdk.Int, suspend bool) (tokenAmt sdk.Int, nodeType registertypes.NodeType, err error)
This function only record slashing amount.
Deduct slashing amount when: 1, calculate upcoming mature reward, deduct from mature_total & upcoming mature reward. 2, meta node decrease deposit . 3, resource node decrease deposit .
func (Keeper) VolumeReport ¶ added in v0.6.0
type Migrator ¶ added in v0.8.0
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func NewMigrator ¶ added in v0.8.0
NewMigrator returns a new Migrator.
type Querier ¶ added in v0.8.0
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) CirculationSupply ¶ added in v0.10.0
func (q Querier) CirculationSupply(c context.Context, _ *types.QueryCirculationSupplyRequest) (*types.QueryCirculationSupplyResponse, error)
func (Querier) Params ¶ added in v0.8.0
func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
func (Querier) RewardsByEpoch ¶ added in v0.10.0
func (q Querier) RewardsByEpoch(c context.Context, req *types.QueryRewardsByEpochRequest) (*types.QueryRewardsByEpochResponse, error)
func (Querier) RewardsByOwner ¶ added in v0.10.0
func (q Querier) RewardsByOwner(c context.Context, req *types.QueryRewardsByOwnerRequest) (*types.QueryRewardsByOwnerResponse, error)
func (Querier) SlashingByOwner ¶ added in v0.10.0
func (q Querier) SlashingByOwner(c context.Context, req *types.QuerySlashingByOwnerRequest) (*types.QuerySlashingByOwnerResponse, error)
func (Querier) TotalMinedToken ¶ added in v0.10.0
func (q Querier) TotalMinedToken(c context.Context, _ *types.QueryTotalMinedTokenRequest) (*types.QueryTotalMinedTokenResponse, error)
func (Querier) VolumeReport ¶ added in v0.8.0
func (q Querier) VolumeReport(c context.Context, req *types.QueryVolumeReportRequest) (*types.QueryVolumeReportResponse, error)