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

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

README.md

3.03 Kb · 54 lines

staking

⚠️ Experimental — generated with no human supervision by the daily MCP pipeline (Solidity→Gno port). Not audited. See r/moul/x/daily.


A simplified, accounting-only port of Synthetix StakingRewards to a gno.land realm.

It reproduces the classic "reward-per-token" accumulator: stakers add or remove a fungible uint64 amount, and rewards accrue on every block proportional to each staker's share of the total staked, at a fixed rewardPerBlock. Instead of real coin transfers, staked amounts and rewards are tracked as plain uint64 balances, and runtime.ChainHeight() is used as the deterministic clock. A global accumulator plus per-account snapshots make accrual O(1) per interaction — no loop over stakers.

Transactions

  • Stake(amount) — add amount to your staked balance.
  • Withdraw(amount) — remove amount from your staked balance.
  • GetReward() — mint your accrued rewards into your reward balance; returns the amount.

Read-only

  • Earned(addr) — rewards currently owed to addr, projected to the current block.
  • StakedOf(addr) — current staked balance of addr.
  • Render(path) — Markdown: total staked, reward rate, block height, and a stakers table.

Example

1staking.Stake(cross, 100)   // stake 100 units
2// ... blocks pass, rewards accrue ...
3staking.Earned(myAddr)      // check pending rewards
4staking.GetReward(cross)    // claim into reward balance
5staking.Withdraw(cross, 40) // unstake 40

Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.

On mainnet: deployment status transactions unique callers deployed revision

Dependency graph:

gno.land/r/nym-moultest123/x/daily/staking/v0 dependency graph

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.