pub struct SnapshotReadRequest<'a> { /* private fields */ }Expand description
Original mutation identity and independently declared exact snapshot-list payload.
This request does not inspect journals or reserve calls. The caller supplies the observation digest from its own exact retained intent/reservation owner; digest equality alone proves neither retention nor spending admission. Challenge freshness, authenticated context and prior per-call accounting stay integration-owned. Only list is implemented; metadata/data codecs remain pending.
Implementations§
Source§impl<'a> SnapshotReadRequest<'a>
impl<'a> SnapshotReadRequest<'a>
Sourcepub fn new(
plan: &OperationPlanRecord,
sequence: u64,
wire: &'a IcManagementRequestRecord,
observation: &ArtifactChecksumRecord,
challenge: ArtifactChecksumRecord,
max_remote_observations: u32,
) -> Result<Self, SnapshotReadRequestError>
pub fn new( plan: &OperationPlanRecord, sequence: u64, wire: &'a IcManagementRequestRecord, observation: &ArtifactChecksumRecord, challenge: ArtifactChecksumRecord, max_remote_observations: u32, ) -> Result<Self, SnapshotReadRequestError>
Bind exact list bytes to the original operation target and separate observation digest.
§Errors
Rejects unsupported methods, unknown operations, changed target/payload and excess ceiling.
Sourcepub const fn binding(&self) -> &OperationBindingRecord
pub const fn binding(&self) -> &OperationBindingRecord
Read exact original mutation intent/context/target/request identity.
Sourcepub const fn wire(&self) -> &IcManagementRequestRecord
pub const fn wire(&self) -> &IcManagementRequestRecord
Read validated exact snapshot-list routing/method/Candid bytes.
Sourcepub const fn challenge(&self) -> &ArtifactChecksumRecord
pub const fn challenge(&self) -> &ArtifactChecksumRecord
Read caller-owned challenge; its value does not establish freshness.
Sourcepub const fn max_remote_observations(&self) -> u32
pub const fn max_remote_observations(&self) -> u32
Read descriptive invocation ceiling, distinct from spending allowances.
Sourcepub fn digest(&self) -> ArtifactChecksumRecord
pub fn digest(&self) -> ArtifactChecksumRecord
Hash full original intent/sequence, separate exact read payload, challenge and ceiling.
Encoding: NUL-terminated ASCII v1 domain, 64 ASCII intent bytes, u64 big-endian sequence, 64 ASCII list wire-digest bytes, 64 ASCII challenge bytes and u32 big-endian ceiling. Observed visibility/evidence are excluded.