Skip to main content

revm_rwasm_bytecode/
lib.rs

1//! Crate that contains bytecode types and opcode constants.
2//!
3//! Legacy bytecode will always contain a jump table.
4//!
5//! While EIP-7702 bytecode must contains a Address.
6#![cfg_attr(not(test), warn(unused_crate_dependencies))]
7#![cfg_attr(not(feature = "std"), no_std)]
8
9#[cfg(not(feature = "std"))]
10extern crate alloc as std;
11
12pub mod bytecode;
13mod decode_errors;
14/// EIP-7702 bytecode.
15pub mod eip7702;
16/// Iterator for the bytecode.
17mod iter;
18/// Legacy bytecode.
19pub mod legacy;
20pub mod opcode;
21pub mod utils;
22
23/// Ownable account
24pub mod ownable_account;
25/// Rwasm constants
26pub mod rwasm;
27/// EVM Metadata and related types
28pub mod metadata;
29
30/// Re-export of bitvec crate, used to store legacy bytecode jump table.
31pub use bitvec;
32pub use bytecode::Bytecode;
33pub use decode_errors::BytecodeDecodeError;
34pub use iter::BytecodeIterator;
35pub use legacy::{JumpTable, LegacyAnalyzedBytecode, LegacyRawBytecode};
36pub use opcode::OpCode;