pub struct Batch<'a, P: SignatureProvider<'a>> { /* private fields */ }Expand description
Resolved requests bound to one exact provider instance and original ranges.
Call prepare::resolve for every selected signer before constructing this
batch. Unsupported/malformed preparation answers remain independent facts
in the caller; only Ready requests can enter this driver. Selection, SID
binding, ESS/path restrictions and multi-signer policy remain separate.
Implementations§
Source§impl<'a, P: SignatureProvider<'a>> Batch<'a, P>
impl<'a, P: SignatureProvider<'a>> Batch<'a, P>
Sourcepub fn prepare<W: Work>(
provider: &'a P,
requests: OwnedVec<ResolvedSigner<'a, P>>,
execution: &W,
field: &'static str,
at: u64,
) -> Result<Self, CheckError<P::Error>>
pub fn prepare<W: Work>( provider: &'a P, requests: OwnedVec<ResolvedSigner<'a, P>>, execution: &W, field: &'static str, at: u64, ) -> Result<Self, CheckError<P::Error>>
Admits metadata and verifies provider identity before initializing states.
Raw direct signatures need no unused digest state, but their declared
digestAlgorithm was still resolved by prepare::resolve before this call.
Raw states receive original signatures/effective keys before payload I/O;
signedAttrs states never receive payload bytes in place of attrs bytes.
Sourcepub fn run<S: Source, W: Work>(
self,
source: &mut S,
execution: &W,
) -> Result<OwnedVec<Checked<'a>>, PassError<S::Error, P::Error>>
pub fn run<S: Source, W: Work>( self, source: &mut S, execution: &W, ) -> Result<OwnedVec<Checked<'a>>, PassError<S::Error, P::Error>>
Executes one payload pass and returns facts only after complete successful EOF.
Original retagged signedAttrs have their own signature input. Their message-digest is compared against the payload output first (RFC5652 §§5.4–5.6), then raw attrs or its separately finalized typed prehash is checked. No identity/state Clone, payload replay or re-encoding occurs. https://www.rfc-editor.org/rfc/rfc5652#section-5.4