1#![cfg_attr(not(feature = "std"), no_std)]
4#![warn(missing_docs)]
5#![deny(unsafe_code)]
6#![deny(unused_must_use)]
7#![deny(unused_crate_dependencies)]
8#![deny(
9 clippy::arithmetic_side_effects,
10 clippy::cast_sign_loss,
11 clippy::cast_possible_truncation,
12 clippy::cast_possible_wrap,
13 clippy::string_slice
14)]
15
16#[doc(hidden)] pub extern crate alloc;
18
19extern crate core;
20#[cfg(feature = "std")]
21extern crate libm as _; #[cfg(test)]
24use criterion as _;
25
26pub mod backtrace;
27pub mod call;
28pub mod checked_transaction;
29pub mod constraints;
30pub mod consts;
31pub mod context;
32mod convert;
33pub mod crypto;
34pub mod error;
35pub mod interpreter;
36#[cfg(feature = "test-helpers")]
37pub mod memory_client;
38pub mod pool;
39pub mod predicate;
40pub mod state;
41pub mod storage;
42pub mod transactor;
43pub mod util;
44pub mod verification;
45
46#[cfg(test)]
47mod tests;
48
49#[doc(no_inline)]
51pub use fuel_asm;
52#[doc(no_inline)]
53#[cfg(feature = "da-compression")]
54pub use fuel_compression;
55#[doc(no_inline)]
56pub use fuel_crypto;
57#[doc(no_inline)]
58pub use fuel_merkle;
59#[doc(no_inline)]
60pub use fuel_storage;
61#[doc(no_inline)]
62pub use fuel_tx;
63#[doc(no_inline)]
64pub use fuel_types;
65
66pub mod prelude {
67 #[doc(no_inline)]
69 pub use fuel_asm::{
70 GMArgs,
71 GTFArgs,
72 Instruction,
73 Opcode,
74 PanicReason,
75 RegId,
76 };
77 #[doc(no_inline)]
78 pub use fuel_crypto::{
79 Hasher,
80 Message,
81 PublicKey,
82 SecretKey,
83 Signature,
84 };
85 #[doc(no_inline)]
86 pub use fuel_storage::{
87 MerkleRoot,
88 MerkleRootStorage,
89 StorageAsMut,
90 StorageAsRef,
91 StorageInspect,
92 StorageMutate,
93 };
94 #[doc(no_inline)]
95 pub use fuel_tx::*;
96 #[doc(no_inline)]
97 pub use fuel_types::{
98 Address,
99 AssetId,
100 BlobId,
101 Bytes32,
102 Bytes4,
103 Bytes64,
104 Bytes8,
105 ContractId,
106 Immediate06,
107 Immediate12,
108 Immediate18,
109 Immediate24,
110 RegisterId,
111 Salt,
112 Word,
113 };
114
115 pub use crate::{
116 backtrace::Backtrace,
117 call::{
118 Call,
119 CallFrame,
120 },
121 context::Context,
122 error::{
123 Bug,
124 BugVariant,
125 InterpreterError,
126 RuntimeError,
127 },
128 interpreter::{
129 predicates,
130 ExecutableTransaction,
131 Interpreter,
132 Memory,
133 MemoryInstance,
134 MemoryRange,
135 },
136 pool::VmMemoryPool,
137 predicate::RuntimePredicate,
138 state::{
139 Debugger,
140 ProgramState,
141 StateTransition,
142 StateTransitionRef,
143 },
144 storage::{
145 predicate::PredicateStorage,
146 InterpreterStorage,
147 },
148 transactor::Transactor,
149 };
150
151 pub use crate::state::{
152 Breakpoint,
153 DebugEval,
154 };
155
156 #[cfg(any(test, feature = "test-helpers"))]
157 pub use crate::{
158 checked_transaction::{
159 builder::TransactionBuilderExt,
160 IntoChecked,
161 },
162 memory_client::MemoryClient,
163 storage::MemoryStorage,
164 util::test_helpers::TestBuilder,
165 };
166}