Skip to main content

Module decoded

Module decoded 

Source
Expand description

Schema-shaped records with manually implemented domain construction.

Explicitly choose the construction capability, either after decoding fields or through crate::DecodeMessageExt. For example, building a block header does not authenticate it against its parent:

use miden_objects::{ConversionError, DecodeMessageExt, proto};
use miden_protocol::block::BlockHeader;

let header = message.decode_and_build_unchecked()?;

Generated records deliberately do not provide direct protobuf-to-domain conversions, even when construction is checked or infallible. This keeps the trust decision explicit.

use miden_objects::proto;
use miden_protocol::block::BlockHeader;
let _: BlockHeader = proto::blockchain::BlockHeader::default().try_into().unwrap();

Borrowing a message must not bypass that decision either:

use miden_objects::proto;
use miden_protocol::block::BlockHeader;
let message = proto::blockchain::BlockHeader::default();
let _: BlockHeader = (&message).try_into().unwrap();
use miden_objects::proto;
use miden_protocol::account::AccountId;
let _: AccountId = proto::account::AccountId::default().try_into().unwrap();
use miden_objects::proto;
use miden_protocol::block::BlockNumber;
let _: BlockNumber = proto::blockchain::BlockNumber::default().into();

A parsed MAST forest is not trusted until its structure and node hashes are verified:

use miden_objects::proto;
use miden_protocol::MastForest;
let _: MastForest = proto::primitives::MastForest::default().try_into().unwrap();
use miden_objects::proto;
use miden_protocol::MastForest;
let message = proto::primitives::MastForest::default();
let _: MastForest = (&message).try_into().unwrap();

Modules§

account
Domain construction for decoded account messages.
account_file
Domain construction for decoded account file messages.
asset
Domain construction for decoded asset messages.
blockchain
Domain construction for decoded blockchain messages.
note
Domain construction for decoded note messages.
note_file
Domain construction for decoded note file messages.
primitives
Domain construction for decoded primitives messages.
protocol_config
Domain construction for decoded protocol_config messages.
transaction
Domain construction for decoded transaction messages.

Structs§

VerificationError
A verification failure from a composite object, preserving its concrete domain source.