aries_cloudagent.ledger.merkel_validation package¶
Submodules¶
aries_cloudagent.ledger.merkel_validation.constants module¶
Constants for State Proof and LeafHash Inclusion Verification.
aries_cloudagent.ledger.merkel_validation.domain_txn_handler module¶
Utilities for Processing Replies to Domain Read Requests.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.decode_state_value(encoded_value)[source]¶ Return val, lsn, lut from encoded state value.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.encode_state_value(value, seqNo, txnTime)[source]¶ Return encoded state value.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.extract_params_write_request(data)[source]¶ Return tree_size, leaf_index, audit_path, expected_root_hash from reply.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.get_proof_nodes(reply)[source]¶ Return proof_nodes from reply.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.hash_of(text) → str[source]¶ Return 256 bit hexadecimal digest of text.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_attr(did, attr_name, attr_is_hash=False) → bytes[source]¶ Return state_path for ATTR.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_claim_def(authors_did, schema_seq_no, signature_type, tag)[source]¶ Return state_path for CLAIM DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_nym(did) → bytes[source]¶ Return state_path for NYM.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_revoc_def(authors_did, cred_def_id, revoc_def_type, revoc_def_tag) → bytes[source]¶ Return state_path for REVOC_DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_revoc_reg_entry(revoc_reg_def_id) → bytes[source]¶ Return state_path for REVOC_REG_ENTRY.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_revoc_reg_entry_accum(revoc_reg_def_id) → bytes[source]¶ Return state_path for REVOC_REG_ENTRY_ACCUM.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.make_state_path_for_schema(authors_did, schema_name, schema_version) → bytes[source]¶ Return state_path for SCHEMA.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.parse_attr_txn(txn_data)[source]¶ Process txn_data and parse attr_txn based on attr_type.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_attr_for_state(txn, path_only=False)[source]¶ Return key, value pair for state from ATTR.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_claim_def_for_state(txn, path_only=False)[source]¶ Return key-value pair for state from CLAIM_DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_for_state_read(reply)[source]¶ Return state value from read requests reply.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_for_state_write(reply)[source]¶ Return state key, value pair from write requests reply.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_attr_for_state(reply)[source]¶ Return value for state from GET_ATTR.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_claim_def_for_state(reply)[source]¶ Return value for state from GET_CLAIM_DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_nym_for_state(reply)[source]¶ Return value for state from GET_NYM.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_revoc_def_for_state(reply)[source]¶ Return value for state from GET_REVOC_DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_revoc_reg_delta_for_state(reply)[source]¶ Return value for state from GET_REVOC_REG_DELTA.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_revoc_reg_entry_accum_for_state(reply)[source]¶ Return value for state from GET_REVOC_REG_ENTRY_ACCUM.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_revoc_reg_entry_for_state(reply)[source]¶ Return value for state from GET_REVOC_REG_ENTRY.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_get_schema_for_state(reply)[source]¶ Return value for state from GET_SCHEMA.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_nym_for_state(txn)[source]¶ Return encoded state path from NYM.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_revoc_def_for_state(txn, path_only=False)[source]¶ Return key-value pair for state from REVOC_DEF.
-
aries_cloudagent.ledger.merkel_validation.domain_txn_handler.prepare_revoc_reg_entry_accum_for_state(txn)[source]¶ Return key-value pair for state from REVOC_REG_ENTRY_ACCUM.
aries_cloudagent.ledger.merkel_validation.hasher module¶
Merkle tree hasher for leaf and children nodes.
-
class
aries_cloudagent.ledger.merkel_validation.hasher.HexTreeHasher(hashfunc=<built-in function openssl_sha256>)[source]¶ Bases:
aries_cloudagent.ledger.merkel_validation.hasher.TreeHasherMerkle tree hasher for hex data.
aries_cloudagent.ledger.merkel_validation.merkel_verifier module¶
Verify Leaf Inclusion.
-
class
aries_cloudagent.ledger.merkel_validation.merkel_verifier.MerkleVerifier(hasher=<aries_cloudagent.ledger.merkel_validation.hasher.TreeHasher object>)[source]¶ Bases:
objectUtility class for verifying leaf inclusion.
-
calculate_root_hash(leaf, leaf_index, audit_path, tree_size)[source]¶ Calculate root hash, used to verify Merkel AuditPath.
Reference: section 2.1.1 of RFC6962.
Parameters: - leaf – Leaf data.
- leaf_index – Index of the leaf in the tree.
- audit_path – A list of SHA-256 hashes representing the Merkle audit
- path. –
- tree_size – tree size
-
aries_cloudagent.ledger.merkel_validation.trie module¶
Validates State Proof.
aries_cloudagent.ledger.merkel_validation.utils module¶
Merkel Validation Utils.
-
aries_cloudagent.ledger.merkel_validation.utils.audit_path_length(index: int, tree_size: int)[source]¶ Return AuditPath length.
Parameters: - index – Leaf index
- tree_size – Tree size
-
aries_cloudagent.ledger.merkel_validation.utils.bin_to_nibbles(s)[source]¶ Convert string s to nibbles (half-bytes).