pub struct PaymentProof {
pub proof_of_payment: ProofOfPayment,
pub tx_hashes: Vec<TxHash>,
pub commitment_sidecars: Vec<Vec<u8>>,
}Expand description
A payment proof that includes both the quote-based proof and on-chain tx hashes.
This replaces the bare ProofOfPayment in serialized proof bytes, adding
the transaction hashes that were previously discarded after payment.pay().
Fields§
§proof_of_payment: ProofOfPaymentThe original quote-based proof (peer IDs + quotes with ML-DSA-65 signatures).
tx_hashes: Vec<TxHash>Transaction hashes from the on-chain payment. Typically contains one hash for the median (non-zero) quote.
commitment_sidecars: Vec<Vec<u8>>ADR-0004 commitment sidecars: the signed StorageCommitment each quote
pinned, so a storer can cross-check the quote’s claimed count against the
original commitment synchronously, without a gossip-cache hit or a
post-payment fetch (“the commitment arrived with the quote”). Each entry
is an opaque serialized commitment blob — ant-protocol stays agnostic
of ant-node’s commitment type; the node deserializes and validates each
with the full peer/pubkey/signature/hash gates before trusting it.
Tail-placed, serde(default): an old proof (or a baseline-only bundle)
simply carries none, and the node falls back to gossip/fetch.
Trait Implementations§
Source§impl Clone for PaymentProof
impl Clone for PaymentProof
Source§fn clone(&self) -> PaymentProof
fn clone(&self) -> PaymentProof
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PaymentProof
impl Debug for PaymentProof
Source§impl<'de> Deserialize<'de> for PaymentProof
impl<'de> Deserialize<'de> for PaymentProof
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PaymentProof
impl RefUnwindSafe for PaymentProof
impl Send for PaymentProof
impl Sync for PaymentProof
impl Unpin for PaymentProof
impl UnsafeUnpin for PaymentProof
impl UnwindSafe for PaymentProof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<'de, T> BorrowedRpcObject<'de> for T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more