csv_adapter_aptos/lib.rs
1//! Aptos Adapter for CSV (Client-Side Validation)
2//!
3//! This adapter implements the AnchorLayer trait for Aptos,
4//! using resources with key + delete as seals.
5//!
6//! ## Architecture
7//!
8//! - **Seals**: Move resources that can be deleted once (via `move_from`)
9//! - **Anchors**: Events emitted when seal resources are deleted
10//! - **Finality**: HotStuff consensus provides deterministic finality via 2f+1 certification
11//!
12//! ## Usage
13//!
14//! ```no_run
15//! use csv_adapter_aptos::{AptosAnchorLayer, AptosConfig, AptosNetwork};
16//!
17//! // Create adapter with mock RPC for testing
18//! let adapter = AptosAnchorLayer::with_mock().unwrap();
19//!
20//! // Or with configuration
21//! let config = AptosConfig::new(AptosNetwork::Devnet);
22//! // let rpc = ...;
23//! // let adapter = AptosAnchorLayer::from_config(config, rpc).unwrap();
24//! ```
25//!
26//! ## Production
27//!
28//! Enable the `rpc` feature to use real Aptos RPC calls:
29//! ```toml
30//! [dependencies]
31//! csv-adapter-aptos = { version = "0.1", features = ["rpc"] }
32//! ```
33
34#![warn(missing_docs)]
35#![allow(missing_docs)]
36#![allow(dead_code)]
37
38pub mod adapter;
39pub mod checkpoint;
40pub mod config;
41pub mod error;
42pub mod merkle;
43pub mod proofs;
44pub mod rpc;
45pub mod seal;
46pub mod signatures;
47pub mod types;
48
49#[cfg(feature = "rpc")]
50pub mod real_rpc;
51
52pub use adapter::AptosAnchorLayer;
53pub use checkpoint::CheckpointVerifier;
54pub use config::{AptosConfig, AptosNetwork, CheckpointConfig};
55pub use error::AptosError;
56pub use proofs::{
57 CommitmentEventBuilder, EventProof, EventProofVerifier, StateProof, StateProofVerifier,
58 TransactionProof,
59};
60#[cfg(feature = "rpc")]
61pub use real_rpc::AptosRpcClient;
62#[cfg(debug_assertions)]
63pub use rpc::MockAptosRpc;
64pub use rpc::{
65 AptosBlockInfo, AptosEvent, AptosLedgerInfo, AptosResource, AptosRpc, AptosTransaction,
66};
67pub use seal::{SealRecord, SealRegistry, SealStore};
68pub use types::{AptosAnchorRef, AptosFinalityProof, AptosInclusionProof, AptosSealRef};