An abbreviated block
An address is the hash of a MelVM covenant. In Bitcoin terminology, all Themelio addresses are “pay-to-script-hash”.
A (serialized) block.
Newtype representing a block height.
The data bound to a coin ID. Contains the “contents” of a coin, i.e. its covenant hash, value, and coin type.
A CoinData
but coupled with a block height. This is what actually gets stored in the global state, allowing constraints and the validity-checking algorithm to easily access the age of a coin.
A coin ID, consisting of a transaction hash and index. Uniquely identifies a coin in Themelio’s history.
Newtype representing a monetary value in microunits. The Display and FromStr implementations divide by 1,000,000 automatically.
A block header, which commits to a particular SealedState.
A key identifying a pool.
The internal status of a Melswap pool. Notably, this does not identify which pool this is, or even what tokens are the “lefts” and “rights”.
ProposerAction describes the standard action that the proposer takes when proposing a block.
StakeDoc is a stake document. It encapsulates all the information needed to verify consensus proofs.
Transaction represents an individual, serializable Themelio transaction.
A helper struct for creating transactions.
A newtype representing the hash of a transaction.