Skip to main content

miden_objects/
lib.rs

1#![no_std]
2
3extern crate alloc;
4
5pub mod conversion;
6pub mod decoded;
7pub mod error;
8
9#[cfg(test)]
10pub(crate) mod test_utils;
11
12pub use error::{ConversionError, ConversionResultExt};
13pub use miden_protobuf::{
14    BuildUnchecked,
15    DecodeMessage,
16    DecodeMessageExt,
17    Decoded,
18    Verify,
19    VerifyWith,
20};
21pub use prost;
22
23/// Generated canonical Protobuf messages.
24pub mod proto {
25    pub mod account {
26        include!(concat!(env!("OUT_DIR"), "/account.rs"));
27    }
28
29    pub mod asset {
30        include!(concat!(env!("OUT_DIR"), "/asset.rs"));
31    }
32
33    pub mod blockchain {
34        include!(concat!(env!("OUT_DIR"), "/blockchain.rs"));
35    }
36
37    pub mod note {
38        include!(concat!(env!("OUT_DIR"), "/note.rs"));
39    }
40
41    pub mod primitives {
42        include!(concat!(env!("OUT_DIR"), "/primitives.rs"));
43    }
44
45    pub mod protocol_config {
46        include!(concat!(env!("OUT_DIR"), "/protocol_config.rs"));
47    }
48
49    pub mod transaction {
50        include!(concat!(env!("OUT_DIR"), "/transaction.rs"));
51    }
52}
53
54/// Self-contained descriptor set for the canonical object schemas.
55pub const FILE_DESCRIPTOR_SET: &[u8] =
56    include_bytes!(concat!(env!("OUT_DIR"), "/miden_objects_descriptor.bin"));
57
58/// Protobuf paths and their canonical generated Rust paths.
59///
60/// Service-binding build scripts should configure these as Prost external paths so that messages
61/// imported from this descriptor are represented by this crate's generated Rust types.
62pub const EXTERN_PATHS: &[(&str, &str)] = &[
63    (".account", "::miden_objects::proto::account"),
64    (".asset", "::miden_objects::proto::asset"),
65    (".blockchain", "::miden_objects::proto::blockchain"),
66    (".note", "::miden_objects::proto::note"),
67    (".primitives", "::miden_objects::proto::primitives"),
68    (".protocol_config", "::miden_objects::proto::protocol_config"),
69    (".transaction", "::miden_objects::proto::transaction"),
70];