csv-adapter-sui 0.1.1

Sui adapter for CSV (Client-Side Validation) with object-based seals
Documentation
//! Sui Adapter for CSV (Client-Side Validation)
//!
//! This adapter implements the AnchorLayer trait for Sui,
//! using owned objects with one_time attributes as seals.
//!
//! ## Architecture
//!
//! - **Seals**: Sui objects that can be transferred and consumed once
//! - **Anchors**: Dynamic fields created when seal objects are consumed
//! - **Finality**: Narwhal consensus provides deterministic finality via checkpoint certification
//!
//! ## Usage
//!
//! ```no_run
//! use csv_adapter_sui::{SuiAnchorLayer, SuiConfig, SuiNetwork};
//!
//! // Create adapter with mock RPC for testing
//! let adapter = SuiAnchorLayer::with_mock().unwrap();
//!
//! // Or with configuration
//! let config = SuiConfig::new(SuiNetwork::Testnet);
//! // let rpc = ...;
//! // let adapter = SuiAnchorLayer::from_config(config, rpc).unwrap();
//! ```
//!
//! ## Production
//!
//! Enable the `rpc` feature to use real Sui RPC calls:
//! ```toml
//! [dependencies]
//! csv-adapter-sui = { version = "0.1", features = ["rpc"] }
//! ```

#![warn(missing_docs)]
#![allow(missing_docs)]
#![allow(dead_code)]

pub mod adapter;
pub mod checkpoint;
pub mod config;
pub mod error;
pub mod proofs;
pub mod rpc;
pub mod seal;
pub mod signatures;
pub mod types;

#[cfg(feature = "rpc")]
pub mod real_rpc;

pub use adapter::SuiAnchorLayer;
pub use checkpoint::CheckpointVerifier;
pub use config::{CheckpointConfig, SealContractConfig, SuiConfig, SuiNetwork, TransactionConfig};
pub use error::SuiError;
pub use proofs::{
    CommitmentEventBuilder, EventProof, EventProofVerifier, StateProof, StateProofVerifier,
    TransactionProof,
};
#[cfg(feature = "rpc")]
pub use real_rpc::SuiRpcClient;
#[cfg(debug_assertions)]
pub use rpc::MockSuiRpc;
pub use rpc::{SuiCheckpoint, SuiEvent, SuiLedgerInfo, SuiObject, SuiRpc, SuiTransactionBlock};
pub use seal::{SealRecord, SealRegistry, SealStore};
pub use types::{SuiAnchorRef, SuiFinalityProof, SuiInclusionProof, SuiSealRef};