Skip to main content

bity_ic_icrc3/
lib.rs

1//! # ICRC3 Library
2//!
3//! A comprehensive implementation of the ICRC3 standard for Internet Computer canisters.
4//! This library provides a standardized interface for managing transactions and blocks in a blockchain system.
5//!
6//! ## Features
7//!
8//! - Transaction management and validation
9//! - Blockchain operations
10//! - Archive management
11//! - Data certification
12//! - Configurable throttling and purging
13//!
14//! ## Quick Start
15//!
16//! ```rust
17//! use icrc3_library::{ICRC3, ICRC3Config};
18//!
19//! // Create a new ICRC3 instance
20//! let config = ICRC3Config::default();
21//! let mut icrc3 = ICRC3::new(config);
22//!
23//! // Add a transaction
24//! let result = icrc3.add_transaction(transaction).await;
25//!
26//! // Get blocks
27//! let blocks = icrc3.icrc3_get_blocks(args).await;
28//! ```
29//!
30//! ## Modules
31//!
32//! - `blockchain`: Core blockchain implementation
33//! - `config`: Configuration management
34//! - `icrc3`: Main ICRC3 implementation
35//! - `interface`: Public interfaces
36//! - `transaction`: Transaction handling
37//! - `types`: Custom types
38//! - `utils`: Utility functions
39//!
40//! ## Security
41//!
42//! The library implements several security measures:
43//! - Transaction validation
44//! - Duplicate protection
45//! - DOS protection through throttling
46//! - Data certification
47//!
48//! ## Dependencies
49//!
50//! - `icrc_ledger_types`
51//! - `candid`
52//! - `serde_bytes`
53//! - `bity_ic_subcanister_manager`
54
55pub mod blockchain;
56pub mod config;
57pub mod icrc3;
58pub mod interface;
59pub mod memory;
60pub mod transaction;
61pub mod types;
62pub mod utils;