pub struct OrgInclusionProof {
pub merkle_root: String,
pub leaf_hash: String,
pub path: Vec<MerkleProofNode>,
}Expand description
Merkle inclusion proof binding a child entity to an
OrgLineageRoot.
Canonicalization rules (verified by oas-resolve::sigil_guard with
the BLAKE3-32 hash function):
- Leaf hash:
blake3:+ hex(BLAKE3(child_did_utf8_bytes)). The org commits to a tree of child DIDs. - Internal nodes: at each level, combine the running hash and
the sibling per
direction.Left→H(sibling || current);Right→H(current || sibling). Both halves are taken as raw 32-byte BLAKE3 outputs (after stripping theblake3:prefix). - Root match: the final reconstructed root MUST equal both
proof.merkle_rootand themerkle_rootof theOrgLineageRootreturned by the GAL for the creator DID.
Fields§
§merkle_root: Stringblake3:-prefixed hex of the org’s Merkle root. MUST equal the
on-chain OrgLineageRoot.merkle_root.
leaf_hash: Stringblake3:-prefixed hex of the leaf — BLAKE3(child_did).
path: Vec<MerkleProofNode>Ordered path of sibling hashes from leaf to root.
Trait Implementations§
Source§impl Clone for OrgInclusionProof
impl Clone for OrgInclusionProof
Source§fn clone(&self) -> OrgInclusionProof
fn clone(&self) -> OrgInclusionProof
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OrgInclusionProof
impl Debug for OrgInclusionProof
Source§impl<'de> Deserialize<'de> for OrgInclusionProof
impl<'de> Deserialize<'de> for OrgInclusionProof
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for OrgInclusionProof
Source§impl PartialEq for OrgInclusionProof
impl PartialEq for OrgInclusionProof
Source§impl Serialize for OrgInclusionProof
impl Serialize for OrgInclusionProof
impl StructuralPartialEq for OrgInclusionProof
Auto Trait Implementations§
impl Freeze for OrgInclusionProof
impl RefUnwindSafe for OrgInclusionProof
impl Send for OrgInclusionProof
impl Sync for OrgInclusionProof
impl Unpin for OrgInclusionProof
impl UnsafeUnpin for OrgInclusionProof
impl UnwindSafe for OrgInclusionProof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more