ergo_lib/
lib.rs

1//! ErgoTree IR
2
3// Coding conventions
4#![forbid(unsafe_code)]
5#![deny(non_upper_case_globals)]
6#![deny(non_camel_case_types)]
7#![deny(non_snake_case)]
8#![deny(unused_mut)]
9#![deny(dead_code)]
10#![deny(unused_imports)]
11#![deny(missing_docs)]
12// Clippy exclusions
13#![allow(clippy::unit_arg)]
14#![deny(rustdoc::broken_intra_doc_links)]
15#![deny(clippy::wildcard_enum_match_arm)]
16#![deny(clippy::unwrap_used)]
17#![deny(clippy::expect_used)]
18#![deny(clippy::todo)]
19#![deny(clippy::unimplemented)]
20#![deny(clippy::unreachable)]
21#![deny(clippy::panic)]
22
23pub mod chain;
24pub mod constants;
25mod utils;
26pub mod wallet;
27
28// Re-exported types from dependencies
29
30/// Ergo blockchain types
31pub extern crate ergo_chain_types;
32/// Ergo Merkle Tree and Merkle verification tools
33pub extern crate ergo_merkle_tree;
34/// Ergo NiPoPoW implementation
35pub extern crate ergo_nipopow;
36/// Re-exported types from dependencies
37#[cfg(feature = "rest")]
38pub extern crate ergo_rest;
39#[cfg(feature = "compiler")]
40/// ErgoScript compiler pipeline
41pub extern crate ergoscript_compiler;
42/// ErgoTree interpreter
43pub extern crate ergotree_interpreter;
44/// ErgoTree, MIR (Middle-level Internal Representation)
45pub extern crate ergotree_ir;
46
47/// Selectively exposed types
48pub use utils::ArrLength;