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

upkeep state

Back to all declarations

Denom

untyped string

Denom is the only asset this realm accepts.

Value

"ugnot"

TaskSubExpire

untyped string

Task identifiers — the two supported valves.

Value

"sub_expire"

TaskTimelockExecute

untyped string

Task identifiers — the two supported valves.

Value

"timelock_execute"

MaxReward

int64

MaxReward is the compile-time ceiling on the per-poke reward: 20,000ugnot (0.02 GNOT). It bounds what any single poke can extract from the pot. For sub\_expire it also defeats farming outright: one manufactured expirable subscription permanently locks a sub-record deposit of ~30,000ugnot at the observed 100ugnot/byte rate — already above the cap before price and gas. For timelock\_execute the farmed Action record is smaller and its deposit can sit below the cap, so there the admin's setting, kept below the measured farm-cycle cost, is what deters farming. Funders trust the cap and the admin's policy together; the pot they fund is an explicit donation either way.

Value

20000

admin

.uverse.address

// may set rewards, stage a successor

Value

<gnolang.StringValue>

pendingAdmin

.uverse.address

// staged by TransferAdmin, completes via AcceptAdmin

Value

<zero>

sweeper

.uverse.address

// may sweep out-of-band surplus

Value

<gnolang.StringValue>

self

.uverse.address

// this realm's address, captured at deploy

Value

<gnolang.StringValue>

pot

int64

// funded, not-yet-awarded ugnot

Value

18000

pokes

int64

Value

2

funded

int64

Value

30000

Fund

func()

Fund adds the attached coins to the reward pot. Anyone may fund; funding is a donation to ecosystem maintenance and is not refundable.

Open
OID
05818e…bec5:19
Fund details

Inspect func

PokeExpire

func(subID int64)

PokeExpire triggers subscriptions.Expire(subID) through this realm and credits the caller the sub\_expire reward. The downstream realm decides whether the subscription is expirable; its abort is the authorization. The transaction must attach no coins (the downstream realm checks the origin envelope).

Open
OID
05818e…bec5:20
PokeExpire details

Inspect func

PokeExecute

func(actionID string)

PokeExecute triggers timelock\_guardian.Execute(actionID) through this realm and credits the caller the timelock\_execute reward. The guardian decides whether the action is executable; its abort is the authorization.

Open
OID
05818e…bec5:21
PokeExecute details

Inspect func

award

func(caller .uverse.address, reward int64, task string, target string)

award moves reward from the pot to the caller's claimable balance. Callers have already established that the pot covers it.

Open
OID
05818e…bec5:22
award details

Inspect func

requireReward

func(task string) int64

requireReward returns the configured reward for a task, refusing when the task is unknown, unrewarded, or the pot cannot cover it. Refusal on an empty pot is deliberate: both valves remain directly callable on their own realms, so an unrewarded detour through this one is only a gas trap for the caller.

Open
OID
05818e…bec5:23
requireReward details

Inspect func

Claim

func(amount int64)

Claim sends amount ugnot of the caller's earned balance back to the caller.

Open
OID
05818e…bec5:24
Claim details

Inspect func

ClaimAll

func()

ClaimAll sends the caller's entire earned balance back to the caller.

Open
OID
05818e…bec5:25
ClaimAll details

Inspect func

SetReward

func(task string, amount int64)

SetReward configures the per-poke reward for a task, bounded by MaxReward. Admin only. Zero disables the task.

Open
OID
05818e…bec5:26
SetReward details

Inspect func

SweepDenom

func(denom string)

SweepDenom recovers out-of-band coins to the sweeper. For the pot denom the reserve is pot + earned balances — both structurally unreachable. Sweeper only.

Open
OID
05818e…bec5:27
SweepDenom details

Inspect func

TransferAdmin

func(successor .uverse.address)

TransferAdmin stages a two-step admin handover.

Open
OID
05818e…bec5:28
TransferAdmin details

Inspect func

AcceptAdmin

func()

AcceptAdmin completes the handover; only the staged successor may. The sweeper role moves with the admin.

Open
OID
05818e…bec5:29
AcceptAdmin details

Inspect func

PendingAdmin

func() .uverse.address
Open
OID
05818e…bec5:31
PendingAdmin details

Inspect func

RewardFor

func(task string) int64
Open
OID
05818e…bec5:33
RewardFor details

Inspect func

BalanceOf

func(a .uverse.address) int64
Open
OID
05818e…bec5:34
BalanceOf details

Inspect func

assertAdmin

func(caller .uverse.address)
Open
OID
05818e…bec5:42
assertAdmin details

Inspect func

checkedAdd

func(a int64, b int64) (int64, bool)
Open
OID
05818e…bec5:43
checkedAdd details

Inspect func
Denom : untyped string ="ugnot"
TaskSubExpire : untyped string ="sub_expire"
TaskTimelockExecute : untyped string ="timelock_execute"
MaxReward : int64 =20000
admin : .uverse.address =<gnolang.StringValue>
pendingAdmin : .uverse.address =<zero>
sweeper : .uverse.address =<gnolang.StringValue>
self : .uverse.address =<gnolang.StringValue>
pot : int64 =18000
rewards : map[string]int64 Inspect
ledger : *feeledger.Ledger Inspect
pokes : int64 =2
funded : int64 =30000
init.13 : func() Inspect
Fund : func() Inspect
PokeExpire : func(subID int64) Inspect
PokeExecute : func(actionID string) Inspect
award : func(caller .uverse.address, reward int64, task string, target string) Inspect
requireReward : func(task string) int64 Inspect
Claim : func(amount int64) Inspect
ClaimAll : func() Inspect
SetReward : func(task string, amount int64) Inspect
SweepDenom : func(denom string) Inspect
TransferAdmin : func(successor .uverse.address) Inspect
AcceptAdmin : func() Inspect
Admin : func() .uverse.address Inspect
PendingAdmin : func() .uverse.address Inspect
Pot : func() int64 Inspect
RewardFor : func(task string) int64 Inspect
BalanceOf : func(a .uverse.address) int64 Inspect
UsersTotal : func() int64 Inspect
Pokes : func() int64 Inspect
Funded : func() int64 Inspect
Address : func() .uverse.address Inspect
Held : func() int64 Inspect
Render : func(path string) string Inspect
assertNoSend : func() Inspect
assertAdmin : func(caller .uverse.address) Inspect
checkedAdd : func(a int64, b int64) (int64, bool) Inspect
itoa : func(n int64) string Inspect