Denom
untyped stringDenom is the only asset this realm accepts.
Value
"ugnot"
TaskSubExpire
untyped stringTask identifiers — the two supported valves.
Value
"sub_expire"
TaskTimelockExecute
untyped stringTask identifiers — the two supported valves.
Value
"timelock_execute"
MaxReward
int64MaxReward 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
rewards
map[string]int64- OID
- 05818e…bec5:9
rewards details
ledger
*feeledger.Ledger- OID
- 05818e…bec5:11
ledger details
pokes
int64Value
2
funded
int64Value
30000
init.13
func()- OID
- 05818e…bec5:17
init.13 details
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.
- OID
- 05818e…bec5:19
Fund details
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).
- OID
- 05818e…bec5:20
PokeExpire details
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.
- OID
- 05818e…bec5:21
PokeExecute details
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.
- OID
- 05818e…bec5:22
award details
requireReward
func(task string) int64requireReward 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.
- OID
- 05818e…bec5:23
requireReward details
Claim
func(amount int64)Claim sends amount ugnot of the caller's earned balance back to the caller.
- OID
- 05818e…bec5:24
Claim details
ClaimAll
func()ClaimAll sends the caller's entire earned balance back to the caller.
- OID
- 05818e…bec5:25
ClaimAll details
SetReward
func(task string, amount int64)SetReward configures the per-poke reward for a task, bounded by MaxReward. Admin only. Zero disables the task.
- OID
- 05818e…bec5:26
SetReward details
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.
- OID
- 05818e…bec5:27
SweepDenom details
TransferAdmin
func(successor .uverse.address)TransferAdmin stages a two-step admin handover.
- OID
- 05818e…bec5:28
TransferAdmin details
AcceptAdmin
func()AcceptAdmin completes the handover; only the staged successor may. The sweeper role moves with the admin.
- OID
- 05818e…bec5:29
AcceptAdmin details
Admin
func() .uverse.address- OID
- 05818e…bec5:30
Admin details
PendingAdmin
func() .uverse.address- OID
- 05818e…bec5:31
PendingAdmin details
Pot
func() int64- OID
- 05818e…bec5:32
Pot details
RewardFor
func(task string) int64- OID
- 05818e…bec5:33
RewardFor details
BalanceOf
func(a .uverse.address) int64- OID
- 05818e…bec5:34
BalanceOf details
UsersTotal
func() int64- OID
- 05818e…bec5:35
UsersTotal details
Pokes
func() int64- OID
- 05818e…bec5:36
Pokes details
Funded
func() int64- OID
- 05818e…bec5:37
Funded details
Address
func() .uverse.address- OID
- 05818e…bec5:38
Address details
Held
func() int64- OID
- 05818e…bec5:39
Held details
Render
func(path string) string- OID
- 05818e…bec5:40
Render details
assertNoSend
func()- OID
- 05818e…bec5:41
assertNoSend details
assertAdmin
func(caller .uverse.address)- OID
- 05818e…bec5:42
assertAdmin details
checkedAdd
func(a int64, b int64) (int64, bool)- OID
- 05818e…bec5:43
checkedAdd details
itoa
func(n int64) string- OID
- 05818e…bec5:44