Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

staker/v1 package

Overview

package staker manages liquidity mining rewards for GnoSwap positions.

The staker distributes GNS emissions and external incentives to liquidity providers based on their position size, price range, and staking duration. It supports both internal GNS rewards and external token incentives.

Reward calculations combine elapsed-time rates with tick/range accumulation, and collection flows are integrated into the staking lifecycle.

Function

NewPoolTierBy

func NewPoolTierBy( membership *bptree.BPTree, tierRatio sr.TierRatio, counts [AllTierCount]uint64, lastRewardCacheTimestamp int64, currentEmission int64, getEmission func() (int64, error), getHalvingBlocksInRange func(start, end int64) ([]int64, []int64, error), ) *PoolTier

NewPoolTierBy reconstructs a PoolTier from persisted membership, ratios, counts, and callbacks.

Parameters:

  • membership: Persisted pool-path-to-tier mapping.
  • tierRatio: Persisted reward-share ratio for each tier.
  • counts: Persisted number of pools in each tier index.
  • lastRewardCacheTimestamp: Timestamp through which reward caches have been materialized.
  • currentEmission: Emission rate currently used for reward accrual.
  • getEmission: Callback returning the current staker emission rate or an error.
  • getHalvingBlocksInRange: Callback returning halving timestamps and corresponding emissions in [start, end).

Returns:

  • *PoolTier: Reconstructed tier manager using the supplied persisted state and callbacks.

Params

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/staker/v1.NewPoolTierBy(,,,,,,)"

Result