darkfi_sdk/
lib.rs

1/* This file is part of DarkFi (https://dark.fi)
2 *
3 * Copyright (C) 2020-2025 Dyne.org foundation
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
17 */
18
19pub use bridgetree;
20pub use num_bigint;
21pub use num_traits;
22pub use pasta_curves as pasta;
23
24/// Blockchain structures
25pub mod blockchain;
26
27/// DarkTree structures
28pub mod dark_tree;
29
30/// Native (non-wasm, non-ff) Sparse Merkle Tree
31pub mod monotree;
32
33/// Contract deployment utilities
34pub mod deploy;
35
36/// Error handling
37pub mod error;
38pub use error::{ContractError, GenericResult};
39
40/// Hex encoding/decoding from bytes
41pub mod hex;
42pub use hex::AsHex;
43
44/// Logging infrastructure
45pub mod log;
46
47/// Crypto-related definitions
48pub mod crypto;
49
50/// Transaction structure
51pub mod tx;
52pub use tx::ContractCall;
53
54/// Convenience utilities
55pub mod util;
56
57#[macro_use]
58#[cfg(feature = "wasm")]
59/// WASM API functions
60pub mod wasm;