PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/moul/faucet/v1

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
v1
Namespace
moul / faucet
Files
6 (README)(gnomod.toml)
Exported functions
21
Module
gno.land/r/moul/faucet/v1
gno
0.9

Files (6)

  • README.mdmarkdown
  • gnomod.tomltoml
  • faucet.gnogno
  • render.gnogno
  • faucet_test.gnogno
  • render_example_test.gnogno

Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.

Functions

  • AddApprover(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}, addr string)

  • Address() string

  • 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}, id int64, wantTo string, wantAmount int64)

  • Balance() int64

  • DeniedCount() int64

  • Deny(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}, id int64, why string)

  • Fund(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})

  • IsApprover(addr string) bool

  • MaxPerRequest() int64

  • NextID() int64

  • Pending() int64

  • ReceivedBy(addr string) int64

  • RemoveApprover(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}, addr string)

  • Render(path string) string

  • Request(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}, to string, amount int64, reason string) int64

  • Requests() int

  • SentCount() int64

  • SetMaxPerRequest(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}, amount int64)

  • Status(id int64) string

  • TotalSent() int64

  • Withdraw(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}, amount int64)

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

Rendered

RenderedRawgnoweb ↗
# GNOT faucet

Somebody you trust has no GNOT and cannot use the public faucet. File a
request on their behalf, an approver releases it, and both halves stay on
this page with a reason attached. The faucet only ever spends what has been
sent to its own address.

| | |
| --- | ---: |
| Float available | **500 GNOT** |
| Paid out | 0 GNOT over 0 request(s) |
| Open requests | 0 |
| Refused | 0 |
| Cap per request | 200 GNOT |
| Float address | `g162rfssecz2jq770f7as3qunm4wvh4pmna0guxv` |

## Open

_Nothing here yet._

## Decided

_Nothing here yet._

## Approvers

- `g1manfred47kzduec920z88wfr64ylksmdcedlf5`

## How

`Request(to, amount, reason)` is open to anyone and moves no money.
`Approve(id, to, amount)` pays it, and only an approver can call it.

Send both in **one transaction**: a tm2 transaction stops at the first
message that fails and writes none of their state, so the ask and its
answer land together or not at all. Read `NextID` to address the approval,
and pass the recipient and the amount into it as well: if another request
takes that id first, the mismatch fails the transaction instead of paying
the wrong account.

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.