Skip to main content

huff_neo_utils/
lib.rs

1//! Utils
2//!
3//! Refactored utilities commonly used across the huff-neo-rs project.
4
5#![warn(missing_docs)]
6#![warn(unused_extern_crates)]
7#![forbid(unsafe_code)]
8
9/// Abi Module
10pub mod abi;
11
12/// Artifact Module
13pub mod artifact;
14
15/// AST Module
16pub mod ast;
17
18/// Bytecode Traits Module
19pub mod bytecode;
20
21/// Token Module
22pub mod token;
23
24/// Lexing Error Module
25pub mod error;
26
27/// EVM Module
28pub mod opcodes;
29
30/// Lexical Reporting Module
31pub mod report;
32
33/// EVM Types Module
34pub mod types;
35
36/// Bytes Util Module
37pub mod bytes_util;
38
39/// Push Value Module
40pub mod push_value;
41
42/// Solidity Interface Generator
43pub mod sol_interface;
44
45/// Time Module
46pub mod time;
47
48/// Wasm Module
49pub mod wasm;
50
51/// EVM Version Module
52pub mod evm_version;
53
54/// Builtin Function Evaluation Module
55pub mod builtin_eval;
56
57/// File operations
58pub mod file;
59
60/// Shell attributes
61pub mod shell;
62
63/// Lexer Context
64pub mod lexer_context;
65
66/// Scope Management Module
67pub mod scope;
68
69/// Prelude wraps common utilities.
70#[allow(ambiguous_glob_reexports)]
71pub mod prelude {
72    pub use crate::ast::{abi::*, huff::*, span::*};
73    pub use crate::file::span::*;
74    pub use crate::file::unpack_files::*;
75    pub use crate::file::{file_source::*, full_file_source::*};
76    pub use crate::{
77        abi::*, artifact::*, bytecode::*, bytes_util::*, error::*, evm_version::*, opcodes::*, push_value::*, report::*, scope::*,
78        sol_interface::*, token::*, types::*,
79    };
80}