All notable changes to this project will be documented in this file.
- Support for
python>=3.7
- Support for Keccak functions beyond SHA3
- Constant-time operations in proof verification
This version introduces significant optimizations.
append_entry
methodhash_empty
andhash_raw
methodsappend_entries
operation toSqliteTree
BaseMerkleTree
private interfacehash_leaf
renamed tohash_entry
hash_nodes
renamed tohash_pair
UnsupportedParameter
init_from_entries
from base class
- Apply hash precomputation
- Pass iterable to
init_from_entries
- proof timestamp
- size, length, root and height properties
- tree metadata getter
append_entry
has_previous_state
InmemoryTree
implementationSqliteTree
implementation- state and size getter
- Inclusion proof interface
- Consistency proof interface
- Renamed
HashEngine
toMerkleHasher
- Renamed
hash_pair
tohash_nodes
- Renamed
hash_entry
tohash_leaf
- Return leaf index when appending entry
- Drop hexadecimal representations
verify_inclusion
InvalidChallengeError
when requesting a proof for invalid parametersappend_entry
methodfind_leaf
method
- Access root hash as
.root
- Return hash on append
- Simplify proof serialization
- Remove
created_at
field from proof - Remove
NoPathException
- Remove proof json utilities
- Rename
Proof
toMerkleProof
- Rename proof header to metadata
- Remove node serialization
- Rename
generate_consistency_proof
toprove_consistency
- Rename
generate_audit_proof
toprove_inclusion
- Remove tree serialization, representation and stringification
- Remove tree comparison operators
- Remove uuid from proof and tree objects
- Remove file encryption
- Remove md5 from supported hash algorithms
- Remove
root_hash
property
This is the first documented release version, following 2.0.2. The result of a major refactoring, it introduces significant breaking changes to the API. Here we list only a few of the most striking ones.
get_root_hash
public method
- Raise
InvalidProof
in case of verification failure - Attach verification to the proof object
- Remove validator object
- Remove no raw-bytes mode
- Always include commitments to proofs
- Rename
update
toappend_leaf
- Uniformly apply snake case to public method names
- Remove
InvalidChallengeError
- Remove proof verification receipt
- Rename
validateProof
toverify_proof