Skip to main content

miden_protocol/
lib.rs

1#![no_std]
2
3#[macro_use]
4extern crate alloc;
5
6#[cfg(feature = "std")]
7extern crate std;
8
9pub mod account;
10pub mod address;
11pub mod asset;
12pub mod batch;
13pub mod block;
14pub mod errors;
15pub mod note;
16pub mod package;
17mod protocol;
18pub mod transaction;
19
20#[cfg(any(feature = "testing", test))]
21pub mod testing;
22
23mod constants;
24
25// RE-EXPORTS
26// ================================================================================================
27
28pub use constants::*;
29pub use miden_core::mast::{MastForest, MastNodeId};
30pub use miden_core::prettier::PrettyPrint;
31pub use miden_core::{EMPTY_WORD, Felt, ONE, WORD_SIZE, ZERO, field};
32pub use miden_core_lib::CoreLibrary;
33pub use miden_crypto::hash::poseidon2::Poseidon2 as Hasher;
34pub use miden_crypto::word;
35pub use miden_crypto::word::{Word, WordError};
36pub use protocol::ProtocolLib;
37
38pub mod assembly {
39    pub use miden_assembly::ast::{Module, ModuleKind, ProcedureName, QualifiedProcedureName};
40    pub use miden_assembly::debuginfo::SourceManagerSync;
41    pub use miden_assembly::{
42        Assembler,
43        DefaultSourceManager,
44        Linkage,
45        ModuleParser,
46        Path,
47        SourceFile,
48        SourceId,
49        SourceManager,
50        SourceSpan,
51        debuginfo,
52        diagnostics,
53        mast,
54    };
55    pub use miden_assembly_syntax::Parse;
56    pub use miden_mast_package::{Package, ProcedureExport};
57}
58
59pub mod crypto {
60    pub use miden_crypto::{SequentialCommit, dsa, hash, ies, merkle, rand, utils};
61}
62
63pub mod utils;
64
65pub mod vm {
66    pub use miden_assembly_syntax::ast::{AttributeSet, QualifiedProcedureName};
67    pub use miden_core::advice::{AdviceInputs, AdviceMap};
68    pub use miden_core::events::{EventId, EventName, SystemEvent};
69    pub use miden_core::program::{Program, ProgramInfo};
70    pub use miden_mast_package::debug_info::{DebugSourceNodeId, PackageDebugInfo};
71    pub use miden_mast_package::{
72        Package,
73        PackageDebugInfoError,
74        PackageExport,
75        PackageManifest,
76        ProcedureExport,
77        Section,
78        SectionId,
79        TargetType,
80    };
81    pub use miden_processor::trace::RowIndex;
82    pub use miden_processor::{FutureMaybeSend, MIN_STACK_DEPTH, StackInputs, StackOutputs};
83    pub use miden_verifier::ExecutionProof;
84}