Name
untyped stringValue
"moultest"
Path
untyped stringValue
"gno.land/r/moul/x/moultest/v0"
Link
untyped stringValue
"/r/moul/x/moultest/v0"
Denom
stringDenom is the full chain denom, "/" + [Path](#Path) + ":" + [Name](#Name). This is the string a wallet, an explorer or a \`-send\` flag needs; the bank knows nothing about the realm behind it.
Value
"/gno.land/r/moul/x/moultest/v0:moultest"
ClaimAmount
int64Value
10000
ClaimEvery
int64Value
100
MaxPerAccount
int64Value
100000
MaxSupply
int64Value
1000000
MaxNote
untyped bigintValue
(120 <untyped> bigint)
MaxTips
untyped bigintValue
(20 <untyped> bigint)
account
typeValue
v0.account
tip
typeTip is one entry of the public board written by [Tip](#Tip).
Value
v0.tip
accounts
*v0.Tree// address string -> \*account
- OID
- 0bd071…fa4d:5
accounts details
issued
int64Value
0
burned
int64Value
0
tips
[]*v0.tip// most recent last, at most MaxTips
Value
<zero>
Claim
func() int64Claim issues [ClaimAmount](#ClaimAmount) of moultest to the caller and returns it. It never issues to an address the caller names. That is deliberate: a faucet that mints to a third party is a way to spray a denom nobody asked for into strangers' wallets, and their account page then carries it forever.
- OID
- 0bd071…fa4d:10
Claim details
Burn
func(amount int64)Burn destroys \`amount\` of the CALLER's moultest, and only the caller's. The banker this realm holds could remove coins from any address on the chain without asking, so the \`who\` here is read from the call frame and is never a parameter. A clawback is what an issuing realm is always able to write; the choice not to is made here, once, and cannot be revisited without a redeploy. Burning lowers what circulates and does not return any cap headroom: see [MaxPerAccount](#MaxPerAccount).
- OID
- 0bd071…fa4d:12
Burn details
Tip
func(to .uverse.address, note string) int64Tip forwards the moultest attached to THIS transaction to \`to\`, and writes the note on a public board. The coin arrives in the \`-send\` envelope of the call, credited to this realm's address before a line of this function runs, and leaves through a BankerTypeOriginSend banker, whose whole authority is that envelope: it can spend what this message paid in and not one coin more, not even out of the realm's own balance. So the realm can route a payment it was handed while being structurally unable to touch anything else. A GRC20 has no equivalent. Its tokens cannot ride a message, so the same flow costs an Approve, then a call, then an allowance that outlives both. Anything else in the envelope (the GNOT covering a storage deposit, say) is left alone and stays with the realm.
- OID
- 0bd071…fa4d:13
Tip details
BalanceOf
func(who .uverse.address) int64BalanceOf returns what the bank holds of moultest for \`who\`. It reads the chain, not this realm: a balance this realm never saw counts the same.
- OID
- 0bd071…fa4d:14
BalanceOf details
Circulating
func() int64Circulating returns how much moultest exists right now, from the bank.
- OID
- 0bd071…fa4d:15
Circulating details
Issued
func() int64Issued returns how much this realm has ever issued. It only grows, and it is what [MaxSupply](#MaxSupply) caps.
- OID
- 0bd071…fa4d:16
Issued details
Burned
func() int64Burned returns how much has been destroyed through [Burn](#Burn).
- OID
- 0bd071…fa4d:17
Burned details
NextClaim
func(who .uverse.address) (int64, bool)NextClaim returns the block height at which \`who\` may claim again, and whether they have ever claimed at all.
- OID
- 0bd071…fa4d:18
NextClaim details
ClaimedBy
func(who .uverse.address) int64ClaimedBy returns the lifetime total issued to \`who\` by this realm, which is what [MaxPerAccount](#MaxPerAccount) caps.
- OID
- 0bd071…fa4d:19
ClaimedBy details
Accounts
func() intAccounts returns how many addresses have ever claimed.
- OID
- 0bd071…fa4d:20
Accounts details
accountOf
func(who .uverse.address) *v0.account- OID
- 0bd071…fa4d:21
accountOf details
caller
func() .uverse.address- OID
- 0bd071…fa4d:22
caller details
Render
func(path string) stringRender shows the coin, what is left under each cap, and the tip board. \`?\<address>\` adds that address's balance and claim state.
- OID
- 0bd071…fa4d:23
Render details
renderSupply
func() string- OID
- 0bd071…fa4d:25
renderSupply details
renderAccount
func(path string) string- OID
- 0bd071…fa4d:26
renderAccount details
renderTips
func() string- OID
- 0bd071…fa4d:27
renderTips details
renderUsage
func() string- OID
- 0bd071…fa4d:28