Skip to main content

Module vault_mutation

Module vault_mutation 

Source
Expand description

Vendored cross-vault wire types carried by LinkedMandate.vault_mutation.

These types originate in the cross-vault federation layer of the reference implementation. They are vendored here so an APH envelope can carry a VaultMutationMandate without an external dependency. Their serde output MUST match the originating implementation byte-for-byte — every attribute below is load-bearing wire shape:

  • VaultMutationKind is internally tagged: #[serde(tag = "kind", rename_all = "PascalCase")]. The rename_all applies to VARIANT names only (already PascalCase); struct-variant FIELDS keep their snake_case Rust names on the wire (e.g. {"kind":"WriteInto","dest_vault_id":"..."}).
  • VaultMutationMandate has NO rename_all: its fields serialize as kind, grant_scope_id, and (when present) ap2_signed_payload_b64.
  • The ID newtypes are #[serde(transparent)] / newtype structs and serialize as bare JSON strings.

Structs§

GrantId
Stable identifier for a cross-vault grant. Wire form: 36-char UUID hex-dashed string.
PrincipalDidUri
Wire-form view of a principal DID URI.
VaultIdStr
Wire-form view of a vault identifier (36-char UUID hex-dashed).
VaultMutationMandate
Body of the LinkedMandate.vault_mutation field on the APH NotarizationEnvelope.

Enums§

VaultMutationKind
What kind of cross-vault mutation the APH envelope is notarizing.