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.