Skip to main content

Crate ant_protocol

Crate ant_protocol 

Source
Expand description

§ant-protocol

Wire protocol for the Autonomi decentralized network (WithAutonomi fork).

This crate is the contract between ant-client and ant-node: wire message types, serialization, content addressing, and the pure-verification halves of the post-quantum signing scheme. Both crates depend on ant-protocol and on nothing else from each other.

§Scope

  • chunk — chunk request/response messages, protocol constants, ProtocolError, close-group sizing, proof-type tag bytes.
  • data_types — pure helpers on 32-byte addresses (compute_address, xor_distance, peer_id_to_xor_name) and DataChunk.
  • chunk_protocol — a shared “subscribe → send → poll” helper chunk_protocol::send_and_await_chunk_response that both the client and node test harness use to exchange chunk messages on a saorsa-core::P2PNode.
  • payment — on-wire payment artifacts: PaymentProof, SingleNodePayment (with pay and verify co-located), and ML-DSA-65 verification of quotes and merkle candidates.

§What is not here

  • Quote generation and node-side signing keys (stay in ant-node).
  • On-chain verification cache and payment verifier state machine (stay in ant-node).
  • LocalDevnet and node process management (stay in ant-client and ant-node respectively).

§Logging

The logging feature re-exports tracing macros. When disabled the macros become no-ops with zero runtime cost.

Re-exports§

pub use chunk::ChunkGetRequest;
pub use chunk::ChunkGetResponse;
pub use chunk::ChunkMessage;
pub use chunk::ChunkMessageBody;
pub use chunk::ChunkPutRequest;
pub use chunk::ChunkPutResponse;
pub use chunk::ChunkQuoteRequest;
pub use chunk::ChunkQuoteResponse;
pub use chunk::MerkleCandidateQuoteRequest;
pub use chunk::MerkleCandidateQuoteResponse;
pub use chunk::ProtocolError;
pub use chunk::XorName;
pub use chunk::CHUNK_PROTOCOL_ID;
pub use chunk::CLOSE_GROUP_MAJORITY;
pub use chunk::CLOSE_GROUP_SIZE;
pub use chunk::DATA_TYPE_CHUNK;
pub use chunk::MAX_CHUNK_SIZE;
pub use chunk::MAX_WIRE_MESSAGE_SIZE;
pub use chunk::PROOF_TAG_MERKLE;
pub use chunk::PROOF_TAG_SINGLE_NODE;
pub use chunk::PROTOCOL_VERSION;
pub use chunk::XORNAME_LEN;
pub use chunk_protocol::send_and_await_chunk_response;
pub use data_types::compute_address;
pub use data_types::peer_id_to_xor_name;
pub use data_types::xor_distance;
pub use data_types::ChunkStats;
pub use data_types::DataChunk;
pub use devnet_manifest::DevnetEvmInfo;
pub use devnet_manifest::DevnetManifest;
pub use error::Error;
pub use error::Result;
pub use payment::deserialize_merkle_proof;
pub use payment::deserialize_proof;
pub use payment::detect_proof_type;
pub use payment::serialize_merkle_proof;
pub use payment::serialize_single_node_proof;
pub use payment::verify_merkle_candidate_signature;
pub use payment::verify_quote_content;
pub use payment::verify_quote_signature;
pub use payment::PaymentProof;
pub use payment::ProofType;
pub use payment::QuotePaymentInfo;
pub use payment::SingleNodePayment;

Modules§

chunk
Chunk message types for the ANT protocol.
chunk_protocol
Shared helper for the chunk protocol request/response pattern.
data_types
Data type definitions for chunk storage.
devnet_manifest
Devnet manifest — on-disk handoff between a running devnet and clients that want to connect to it.
error
Error and Result types for ant-protocol.
evm
EVM payment primitives re-exported from evmlib.
logging
Logging facade that compiles to no-ops when the logging feature is disabled.
payment
Wire-side payment artifacts shared by client and node.
pqc
Post-quantum crypto primitives re-exported from saorsa_pqc.
transport
Saorsa transport primitives re-exported from saorsa_core.