pub struct StreamResponseBody {
pub hash: [u8; 32],
pub ok: bool,
pub rate_per_mb: u64,
pub total_bytes: u64,
pub pool_id: [u8; 32],
pub timestamp_us: u64,
}Expand description
Signed fields of a StreamResponse (ADR 014 §1). Layout is frozen per
ADR 013 — future additions go on StreamResponse as optional unsigned
fields, not here.
rate_per_mb is bounded by MAX_RATE_PER_MB at the wire boundary via the
shared deserialize_rate_per_mb hook (#378), keeping the bound bilateral
with the node’s config layer.
Fields§
§hash: [u8; 32]BLAKE3 hash this response answers for, echoed from the request.
ok: boolWhether the node will serve the blob. A node MUST NOT sign true unless
it can deliver within the slashing window.
rate_per_mb: u64Quoted rate in token base units per MB. Bounded by MAX_RATE_PER_MB.
total_bytes: u64Total blob size in bytes, as the signing node claims it. A pulling node
does not enforce its max_blob_size against this claim: it enforces the
ceiling on the bytes it receives (ADR 005 §max_blob_size enforcement).
pool_id: [u8; 32]pool_id echoed from the StreamRequest (signed, so a node cannot
silently re-bind the response to a different pool).
timestamp_us: u64Requester-generated microsecond timestamp from the StreamRequest,
echoed back unchanged.