pub struct BlockTrailAnchor {
pub ticker: String,
pub state_hash: String,
pub txid: String,
pub vout: u32,
pub address: String,
pub network: String,
pub blockheight: Option<u64>,
pub state_strings: Vec<String>,
pub pubkey: Option<String>,
}Expand description
The expensive-tier Bitcoin anchor for a record.
Reuses the existing crate::mrc20 crypto (Mrc20State, bt_address,
verify_mrc20_anchor) — no crypto is re-implemented here. The
state_strings carry the portable, independently-verifiable proof.
Fields§
§ticker: StringTrail ticker / identifier.
state_hash: Stringsha256_hex(jcs(state)) — links into the MRC20 trail and commits to
the git SHA (or an epoch Merkle root).
txid: StringBitcoin transaction id of the anchoring UTXO.
vout: u32Output index of the anchoring UTXO.
address: StringDerived P2TR address (mrc20::bt_address).
network: String"testnet4" | "mainnet" (or any network the operator configures).
blockheight: Option<u64>Confirmation height; None until the anchoring tx confirms.
state_strings: Vec<String>Portable, independently-verifiable proof — the serialised states.
pubkey: Option<String>Issuer’s compressed pubkey (66-char hex). Together with
state_strings it re-derives the taproot address via
mrc20::bt_address — the read-side check
(BlockAnchorer::verify)
needs it to confirm address was not forged. None on legacy /
partially-populated anchors (verify then has nothing to re-derive
against and reports false).
Trait Implementations§
Source§impl Clone for BlockTrailAnchor
impl Clone for BlockTrailAnchor
Source§fn clone(&self) -> BlockTrailAnchor
fn clone(&self) -> BlockTrailAnchor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BlockTrailAnchor
impl Debug for BlockTrailAnchor
Source§impl<'de> Deserialize<'de> for BlockTrailAnchor
impl<'de> Deserialize<'de> for BlockTrailAnchor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for BlockTrailAnchor
Source§impl PartialEq for BlockTrailAnchor
impl PartialEq for BlockTrailAnchor
Source§fn eq(&self, other: &BlockTrailAnchor) -> bool
fn eq(&self, other: &BlockTrailAnchor) -> bool
self and other values to be equal, and is used by ==.