MintRecord

@Serializable
data class MintRecord(val root: GroupId, val holder: ReplicaId, val amount: Long) : Comparable<MintRecord>

One act of introducing root supply: holder is credited amount units at root's path. Keyed in the ledger by a unique MintId so independently-recorded mints union rather than collide (design fix 4).

root is what makes the supply countable once (#1751). EntitlementLedger.holdings credits minted supply to a group with no inbound edge, and a record carrying only a holder and an amount is creditable at every such group — so merging two independently EntitlementLedger.bootstrapped ledgers used to hand each rootless group the whole mintedTotal, double-counting every mint in the Σ-holdings conservation identity. Binding the record to the root it was minted at makes that state unrepresentable rather than merely detectable: a rootless group is credited only the mints naming it.

Constructors

Link copied to clipboard
constructor(root: GroupId, holder: ReplicaId, amount: Long)

Properties

Link copied to clipboard

the units minted; non-negative.

Link copied to clipboard

the replica the minted supply is credited to.

Link copied to clipboard

the group whose tree this supply belongs to; the only group it is creditable at.

Functions

Link copied to clipboard
open operator override fun compareTo(other: MintRecord): Int