pub enum ExternalPaymentInfo {
WaveBatch {
prepared_chunks: Vec<PreparedChunk>,
payment_intent: PaymentIntent,
},
Merkle {
prepared_batches: Vec<PreparedMerkleBatch>,
chunk_store: ExternalChunkStore,
chunk_addresses: Vec<[u8; 32]>,
},
}Expand description
Payment information for external signing — either wave-batch or merkle.
Variants§
WaveBatch
Wave-batch: individual (quote_hash, rewards_address, amount) tuples.
Fields
prepared_chunks: Vec<PreparedChunk>Chunks ready for payment (needed for finalize).
payment_intent: PaymentIntentPayment intent for external signing.
Merkle
Merkle: one on-chain payment call per prepared sub-batch.
Fields
prepared_batches: Vec<PreparedMerkleBatch>The prepared merkle sub-batches, in address order (public fields
sent to the frontend, private fields stay in Rust). The external
signer submits one payForMerkleTree transaction per batch;
finalize takes one winner hash per batch in the same order
(ADR-0003). A fresh upload below MAX_LEAVES chunks prepares as
exactly one batch, so single-payment consumers keep working
until they exceed it.
chunk_store: ExternalChunkStoreBodies of the chunks that still need upload, held in the encryption spill on disk — NOT resident in memory (ADR-0003).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExternalPaymentInfo
impl RefUnwindSafe for ExternalPaymentInfo
impl Send for ExternalPaymentInfo
impl Sync for ExternalPaymentInfo
impl Unpin for ExternalPaymentInfo
impl UnsafeUnpin for ExternalPaymentInfo
impl UnwindSafe for ExternalPaymentInfo
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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