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 protocol_config;
19pub(crate) mod script;
20pub mod transaction;
21
22#[cfg(any(feature = "testing", test))]
23pub mod testing;
24
25mod constants;
26
27// RE-EXPORTS
28// ================================================================================================
29
30pub use constants::*;
31pub use miden_core::mast::{MastForest, MastNodeId};
32pub use miden_core::prettier::PrettyPrint;
33pub use miden_core::{EMPTY_WORD, Felt, ONE, WORD_SIZE, ZERO, field};
34pub use miden_core_lib::CoreLibrary;
35pub use miden_crypto::hash::poseidon2::Poseidon2 as Hasher;
36pub use miden_crypto::word;
37pub use miden_crypto::word::{Word, WordError};
38pub use protocol::ProtocolLib;
39pub use script::MastForestScriptError;
40
41pub mod assembly {
42    pub use miden_assembly::ast::{Module, ModuleKind, ProcedureName, QualifiedProcedureName};
43    pub use miden_assembly::debuginfo::SourceManagerSync;
44    pub use miden_assembly::{
45        Assembler,
46        DefaultSourceManager,
47        Linkage,
48        ModuleParser,
49        Path,
50        SourceFile,
51        SourceId,
52        SourceManager,
53        SourceSpan,
54        debuginfo,
55        diagnostics,
56        mast,
57    };
58    pub use miden_assembly_syntax::Parse;
59    pub use miden_mast_package::{Package, ProcedureExport};
60}
61
62pub mod crypto {
63    pub use miden_crypto::{SequentialCommit, dsa, hash, ies, merkle, rand, utils};
64}
65
66pub mod utils;
67
68pub mod vm {
69    pub use miden_assembly_syntax::ast::{AttributeSet, QualifiedProcedureName};
70    pub use miden_core::advice::{AdviceInputs, AdviceMap, AdviceStack};
71    pub use miden_core::deferred::MAX_PRECOMPILE_ROOTS;
72    pub use miden_core::events::{EventId, EventName, SystemEvent};
73    pub use miden_core::program::{Program, ProgramInfo};
74    pub use miden_mast_package::debug_info::{DebugSourceNodeId, PackageDebugInfo};
75    pub use miden_mast_package::{
76        Package,
77        PackageDebugInfoError,
78        PackageExport,
79        PackageManifest,
80        ProcedureExport,
81        Section,
82        SectionId,
83        TargetType,
84    };
85    pub use miden_processor::trace::RowIndex;
86    pub use miden_processor::{FutureMaybeSend, MIN_STACK_DEPTH, StackInputs, StackOutputs};
87    pub use miden_verifier::{
88        ExecutionProof,
89        ExecutionProofCompatibility,
90        PrecompileStatus,
91        ProofSecurityParameters,
92        VerificationOutcome,
93    };
94}