Period
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
60
CapPeriods
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
120
UpgradeBase
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
10
PrestigeAt
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
10
MaxLevel
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
1000
MaxPrestige
int64The economy. Ore is a bare integer: there is no token here, and nothing leaves the realm.
Value
100
errNoMine
*errors.errorString- OID
- 0c1bd7…7ded:4
errNoMine details
mine
typemine is one player's state. pending and anchor are the accrual pair: what was in the mine, and as of when. Everything else is bookkeeping.
Value
v0.mine
mines
v0.Tree// address string -> \*mine
- OID
- 0c1bd7…7ded:7
mines details
now
func() int64now is the chain's own clock in unix seconds. time.Now() in a realm returns the block timestamp, so it is consensus-deterministic rather than wall time.
- OID
- 0c1bd7…7ded:8
now details
rate
func(level int64, prestige int64) v0.Raterate is the accrual Rate for a level and prestige. It is rebuilt on each call rather than stored, so a mine's stored state cannot disagree with the economy after a redeploy changes a constant.
- OID
- 0c1bd7…7ded:10
rate details
upgradeCost
func(level int64) int64upgradeCost is what it costs to leave the given level.
- OID
- 0c1bd7…7ded:11
upgradeCost details
get
func(owner .uverse.address) (*v0.mine, bool)- OID
- 0c1bd7…7ded:12
get details
start
func(owner .uverse.address, at int64) stringstart opens a mine for owner. Non-crossing so tests can drive the clock.
- OID
- 0c1bd7…7ded:13
start details
mustGet
func(owner .uverse.address) *v0.mine- OID
- 0c1bd7…7ded:14
mustGet details
claim
func(owner .uverse.address, at int64) stringclaim banks everything the mine has dug.
- OID
- 0c1bd7…7ded:15
claim details
upgrade
func(owner .uverse.address, at int64) stringupgrade spends the bank to raise the level.
- OID
- 0c1bd7…7ded:16
upgrade details
prestige
func(owner .uverse.address, at int64) stringprestige trades the mine for a permanent multiplier.
- OID
- 0c1bd7…7ded:17
prestige details
Start
func() stringStart opens a mine for the caller. One per address, forever: Prestige is the only way to start over, and it keeps your lifetime total.
- OID
- 0c1bd7…7ded:18
Start details
Claim
func() stringClaim banks whatever the mine has dug since the last claim. Claiming often and claiming rarely pay exactly the same, by construction: see accrual.
- OID
- 0c1bd7…7ded:19
Claim details
Upgrade
func() stringUpgrade spends banked ore to raise the level, which raises both the rate and the ceiling.
- OID
- 0c1bd7…7ded:20
Upgrade details
Prestige
func() stringPrestige resets a level-10 mine to level 1 for a permanent +1 multiplier. Banked and pending ore are burned; the lifetime total is not.
- OID
- 0c1bd7…7ded:21
Prestige details
Pending
func(owner .uverse.address) int64Pending reports what is sitting in an address's mine right now, unclaimed.
- OID
- 0c1bd7…7ded:22
Pending details
Banked
func(owner .uverse.address) int64Banked reports an address's spendable ore.
- OID
- 0c1bd7…7ded:23
Banked details
Level
func(owner .uverse.address) (int64, int64)Level reports an address's level and prestige.
- OID
- 0c1bd7…7ded:24
Level details
FullAt
func(owner .uverse.address) int64FullAt reports the unix second at which an address's mine starts wasting what it digs, which is the only deadline in this game.
- OID
- 0c1bd7…7ded:25
FullAt details
Render
func(path string) stringRender shows every mine, or one mine's card at /r/.../idle:\<address>. The numbers move on their own: the same URL renders differently a minute later because the mine kept digging, and nothing wrote to the chain in between. That is the whole point of the accrual pair, and it is why every figure here comes from the read-only view rather than from stored state.
- OID
- 0c1bd7…7ded:26
Render details
byLifetimeThenOwner
typebyLifetimeThenOwner ranks by lifetime ore, then by address so the order is identical on every node.
Value
v0.byLifetimeThenOwner
board
func(at int64) string- OID
- 0c1bd7…7ded:28
board details
card
func(owner .uverse.address, at int64) string- OID
- 0c1bd7…7ded:29
card details
span
func(secs int64) stringspan renders a number of seconds the way a player reads it. It rounds down and stops at two units, because "2h 3m 11s to spill" is noise when the question is whether to claim now or after lunch.
- OID
- 0c1bd7…7ded:30