Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.
Allowance(symbol string, owner string, spender string) int64
Approve(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, symbol string, spender string, amount int64)
BalanceOf(symbol string, owner string) int64
Claim(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string})
NextClaim(who string) (int64, bool)
Render(path string) string
TotalSupply(symbol string) int64
Transfer(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, symbol string, to string, amount int64)
TransferFrom(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, symbol string, from string, to string, amount int64)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
# GRC20 faucet: RED and BLUE
Two worthless tokens to experiment on. `Claim` gives you 1000000 of each, once every 100 blocks.
| token | symbol | decimals | supply | registry key |
|---|---|---|---|---|
| Red Token | RED | 4 | 0 | `gno.land/r/moul/x/grc20faucet/v0.RED` |
| Blue Token | BLUE | 4 | 0 | `gno.land/r/moul/x/grc20faucet/v0.BLUE` |
## Use it
```
gnokey maketx call -pkgpath gno.land/r/moul/x/grc20faucet/v0 -func Claim ...
gnokey maketx call -pkgpath gno.land/r/moul/x/grc20faucet/v0 -func Approve \
-args RED -args <spender> -args 1000000 ...
```
Both tokens are registered in [grc20reg](/r/nt/grc20reg/v0), so a realm can
move them by key without importing this one. That is what
[grc20wrapdemo](/r/moul/x/grc20wrapdemo/v0) does with them.
vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.