pub struct ProfilePutBodyParams {
pub store_id: String,
pub root: String,
pub body_b64: String,
}Expand description
control.profile.putBody params: the profile body a confirmed chain root commits to.
§The node CHECKS the root; it does not take the caller’s word for it
root is a CLAIM, and the node’s obligation is to refuse it when it is false. An implementation
MUST independently resolve the profile’s root on chain, recompute the root of the supplied body,
and reject the call unless the two agree and that root is CONFIRMED. dig-app is a caller like
any other here: it holds the key and signs the root (§908), but the bytes it then hands over
arrive at the node exactly as a peer’s bytes do, and the standing rule for this epic is that a
body is checked against the on-chain root and anything that does not match is rejected.
A method documented as the caller supplies a matching root invites an implementation that stores what it is given. That implementation turns the control plane into a way to make a node serve arbitrary bytes to the network under someone else’s profile id.
§No key material crosses (§908)
There is deliberately no seed, private key, signature or unsigned spend field here, and there never may be. The node persists, serves and fetches bodies; it never signs.
Fields§
§store_id: StringThe profile’s store id: lowercase 64-hex, unprefixed.
root: StringThe root the body is claimed to hash to: lowercase 64-hex, unprefixed. Checked against the chain, never trusted.
body_b64: StringThe body itself, standard base64 (padded) of its DPB serialization. The DECODED length
MUST NOT exceed MAX_BODY_BYTES; a larger body is refused as INVALID_PARAMS.
Trait Implementations§
Source§impl Clone for ProfilePutBodyParams
impl Clone for ProfilePutBodyParams
Source§fn clone(&self) -> ProfilePutBodyParams
fn clone(&self) -> ProfilePutBodyParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more