Skip to main content

dig_clvm/
lib.rs

1//! dig-clvm: DIG L2 CLVM Consensus Engine
2//!
3//! Validates spend bundles and computes coin additions/removals for DIG validators.
4//! Built as a thin orchestration layer on top of the Chia crate ecosystem.
5
6// ── CLVM Runtime ──
7pub use clvm_traits::{self, FromClvm, ToClvm};
8pub use clvm_utils::{self, tree_hash, CurriedProgram, ToTreeHash, TreeHash};
9pub use clvmr::{self, cost::Cost, Allocator, NodePtr};
10
11// ── Chia Protocol Types ──
12pub use chia_protocol::{self, Bytes, Bytes32, Coin, CoinSpend, CoinState, Program, SpendBundle};
13
14// ── Consensus Engine ──
15pub use chia_consensus::{self, consensus_constants::ConsensusConstants, opcodes};
16// Re-export all opcode constants and costs at the top level for convenience.
17// Includes: AGG_SIG_ME, CREATE_COIN, ASSERT_HEIGHT_ABSOLUTE, AGG_SIG_COST,
18// CREATE_COIN_COST, ConditionOpcode, etc.
19pub use chia_consensus::opcodes::*;
20
21// ── BLS Signatures ──
22pub use chia_bls::{self, aggregate_verify, BlsCache, PublicKey, SecretKey, Signature};
23
24// ── SDK Types & Conditions ──
25pub use chia_sdk_types::{self, Condition, Conditions, Mod};
26
27// ── DIG Network Constants ──
28pub use dig_constants::{self, NetworkConstants, DIG_MAINNET, DIG_TESTNET};
29
30// ── Spend Construction ──
31pub use chia_sdk_driver::{
32    self, DriverError, Layer, Puzzle, Spend, SpendContext, SpendWithConditions,
33};
34
35// ── Coin State ──
36pub use chia_sdk_coinset::{self, CoinRecord};
37
38// ── Puzzles ──
39pub use chia_puzzles;
40
41// ── dig-clvm's own consensus orchestration ──
42pub mod consensus;
43
44pub use consensus::{
45    build_block_generator, validate_block, validate_spend_bundle, BlockGeneratorResult,
46    SpendResult, ValidationConfig, ValidationContext, ValidationError, L1_MAX_COST_PER_SPEND,
47    L2_MAX_COST_PER_BLOCK,
48};