Release of ics23/go including changes made in the fork of ics23/go housed in the Cosmos SDK.
This release includes the same changes as its Go counterpart.
Rust (ics23
)
- Fix no_std compatibility and add check for this on CI (#104)
Rust (ics23
)
The following functions have been made generic over a new trait HostFunctionProvider
:
-
calculate_existence_root
-
verify_batch_membership
-
verify_batch_non_membership
-
verify_membership
-
verify_non_membership
For wasm32-unknown-unknown
environments this trait allows you to delegate hashing functions to a native implementation through host functions.
With the host-functions
feature (enabled by default), you can simply use ics23::HostFunctionManager
as this provides a default implementation of this trait.
This handles non-existence tests for empty branches properly. This is needed for properly handling proofs on Tries, like the SMT being integrated with the Cosmos SDK.
This is used in ibc-go v3
This handles proofs for normal merkle trees, where every branch is full. This works for tendermint merkle hashes and iavl hashes, and should work for merk (nomic's db) proofs.
This was used in the original ibc release (cosmos sdk v0.40) and up until ibc-go v2.