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.BinaryCodec, value []byte) (v types.Reward, err error)
- type Keeper
- func (k Keeper) BondDenom(ctx sdk.Context) (res string)
- 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, types.DistributeGoal)
- func (k Keeper) CalcRewardForResourceNode(ctx sdk.Context, totalConsumedUoz sdk.Dec, ...) (map[string]types.Reward, types.DistributeGoal)
- func (k Keeper) CalcTrafficRewardInTotal(ctx sdk.Context, distributeGoal types.DistributeGoal, totalConsumedUoz sdk.Dec) (types.DistributeGoal, error)
- func (k Keeper) DistributePotReward(ctx sdk.Context, trafficList []*types.SingleWalletVolume, epoch sdk.Int) (totalConsumedUoz sdk.Dec, err error)
- func (k Keeper) FoundationDeposit(ctx sdk.Context, amount sdk.Coins, from sdk.AccAddress) (err error)
- func (k Keeper) GetImmatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress) (value sdk.Coins)
- func (k Keeper) GetIndividualReward(ctx sdk.Context, walletAddress sdk.AccAddress, epoch sdk.Int) (value types.Reward, found bool)
- func (k Keeper) GetLastReportedEpoch(ctx sdk.Context) (epoch sdk.Int)
- func (k Keeper) GetMatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress) (value sdk.Coins)
- func (k Keeper) GetMinedTokens(ctx sdk.Context, epoch sdk.Int) (minedToken sdk.Coin)
- 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) GetTotalConsumedUoz(trafficList []*types.SingleWalletVolume) sdk.Int
- func (k Keeper) GetTotalMinedTokens(ctx sdk.Context) (totalMinedToken sdk.Coin)
- func (k Keeper) GetTrafficReward(ctx sdk.Context, totalConsumedUoz sdk.Dec) (result sdk.Dec)
- func (k Keeper) GetVolumeReport(ctx sdk.Context, epoch sdk.Int) (res types.VolumeReportRecord)
- func (k Keeper) IsSPNode(ctx sdk.Context, p2pAddr stratos.SdsAddress) (found bool)
- 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) RewardDenom(ctx sdk.Context) (res string)
- func (k Keeper) SetImmatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress, value sdk.Coins)
- func (k Keeper) SetIndividualReward(ctx sdk.Context, walletAddress sdk.AccAddress, epoch sdk.Int, ...)
- func (k Keeper) SetLastReportedEpoch(ctx sdk.Context, epoch sdk.Int)
- func (k Keeper) SetMatureTotalReward(ctx sdk.Context, walletAddress sdk.AccAddress, value sdk.Coins)
- 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, ...) (amt sdk.Int, nodeType registertypes.NodeType, err error)
- func (k Keeper) TransferMiningTrafficRewardsToTotalRewards(ctx sdk.Context, totalSlashed sdk.Coins) error
- func (k Keeper) VolumeReport(ctx sdk.Context, walletVolumes []*types.SingleWalletVolume, ...) (totalConsumedOzone sdk.Dec, err error)
- func (k Keeper) Withdraw(ctx sdk.Context, amount sdk.Coins, walletAddress sdk.AccAddress, ...) error
- type Migrator
- type Querier
- func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (q Querier) PotRewardsByEpoch(c context.Context, req *types.QueryPotRewardsByEpochRequest) (*types.QueryPotRewardsByEpochResponse, error)
- func (q Querier) PotRewardsByOwner(c context.Context, req *types.QueryPotRewardsByOwnerRequest) (*types.QueryPotRewardsByOwnerResponse, error)
- func (q Querier) PotSlashingByOwner(c context.Context, req *types.QueryPotSlashingByOwnerRequest) (*types.QueryPotSlashingByOwnerResponse, error)
- func (q Querier) VolumeReport(c context.Context, req *types.QueryVolumeReportRequest) (*types.QueryVolumeReportResponse, error)
Constants ¶
const ( QueryVolumeReport = "query_volume_report" QueryPotRewardsByReportEpoch = "query_pot_rewards_by_report_epoch" QueryPotRewardsByWalletAddr = "query_pot_rewards_by_wallet_address" QueryPotSlashingByWalletAddr = "query_pot_slashing_by_wallet_address" QueryPotParams = "query_pot_params" QueryDefaultLimit = 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)
func UnmarshalIndividualReward ¶ added in v0.8.0
Types ¶
type Keeper ¶
type Keeper struct { BankKeeper types.BankKeeper AccountKeeper types.AccountKeeper StakingKeeper types.StakingKeeper RegisterKeeper types.RegisterKeeper // 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, ) Keeper
NewKeeper creates a pot keeper
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, types.DistributeGoal)
Iteration for calculating reward of meta nodes
func (Keeper) CalcRewardForResourceNode ¶
func (k Keeper) CalcRewardForResourceNode(ctx sdk.Context, totalConsumedUoz sdk.Dec, trafficList []*types.SingleWalletVolume, distributeGoalBalance types.DistributeGoal, rewardDetailMap map[string]types.Reward, ) (map[string]types.Reward, types.DistributeGoal)
Iteration for calculating reward of resource nodes
func (Keeper) CalcTrafficRewardInTotal ¶
func (k Keeper) CalcTrafficRewardInTotal( ctx sdk.Context, distributeGoal types.DistributeGoal, totalConsumedUoz sdk.Dec, ) (types.DistributeGoal, error)
func (Keeper) DistributePotReward ¶
func (Keeper) FoundationDeposit ¶ added in v0.5.0
func (Keeper) GetImmatureTotalReward ¶
func (Keeper) GetIndividualReward ¶
func (Keeper) GetLastReportedEpoch ¶ added in v0.5.0
func (Keeper) GetMatureTotalReward ¶
func (Keeper) GetMinedTokens ¶
func (Keeper) GetMiningRewardParamByMinedToken ¶
func (Keeper) GetTotalConsumedUoz ¶ added in v0.6.0
func (k Keeper) GetTotalConsumedUoz(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 uSTOS 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) 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) RewardDenom ¶ added in v0.6.0
func (Keeper) SetImmatureTotalReward ¶ added in v0.7.0
func (Keeper) SetIndividualReward ¶ added in v0.7.0
func (Keeper) SetLastReportedEpoch ¶ added in v0.7.0
func (Keeper) SetMatureTotalReward ¶ added in v0.7.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, ozAmt sdk.Int, suspend bool) (amt 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, unstaking meta node. 3, unstaking resource node.
func (Keeper) TransferMiningTrafficRewardsToTotalRewards ¶ added in v0.8.0
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) Params ¶ added in v0.8.0
func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
func (Querier) PotRewardsByEpoch ¶ added in v0.8.0
func (q Querier) PotRewardsByEpoch(c context.Context, req *types.QueryPotRewardsByEpochRequest) (*types.QueryPotRewardsByEpochResponse, error)
func (Querier) PotRewardsByOwner ¶ added in v0.8.0
func (q Querier) PotRewardsByOwner(c context.Context, req *types.QueryPotRewardsByOwnerRequest) (*types.QueryPotRewardsByOwnerResponse, error)
func (Querier) PotSlashingByOwner ¶ added in v0.8.0
func (q Querier) PotSlashingByOwner(c context.Context, req *types.QueryPotSlashingByOwnerRequest) (*types.QueryPotSlashingByOwnerResponse, error)
func (Querier) VolumeReport ¶ added in v0.8.0
func (q Querier) VolumeReport(c context.Context, req *types.QueryVolumeReportRequest) (*types.QueryVolumeReportResponse, error)