modules/light-clients/08-wasm/v0.4.0+ibc-go-v8.3-wasmvm-v2.0
Highlights 🌟
We present here a summary of the most relevant changes, please see the changelog for more details.
• In v0.3.0+ibc-go-v8.3-wasmvm-v2.0 we added a new `MerklePath` type and used it for the `Path` field of the `VerifyMembershipMsg` and `VerifyNonMembershipMsg` structs of the contract API. This change was API breaking for light contracts and it required a migration for existing contracts to correctly handle deserialization of the `KeyPath` field (which had changed from `[]string` to `[][]byte` ). In this release we are making an extra change to explicitly break the contract API JSON message field name: the `path` field of the JSON-encoded `VerifyMembershipMsg` and `VerifyNonMembershipMsg` messages has been renamed to `merkle_path`, so that light client contracts would not silently unmarshal a key as a base64 encoded string value (and instead fail to unmarshal the message entirely).
All previous releases of the 08-wasm compatible with ibc-go v8.3 and wasmvm v2.0 have been retracted and we strongly recommend contract developers to update their JSON API message structure for the `SudoMsg` payloads `VerifyMembershipMsg` and `VerifyNonMembershipMsg`.
For chains on v8.3 or above in the v8 line that have not deployed a light client contract yet, we strongly recommend to upgrade to this release first and then deploy the updated contract . Otherwise, chains will need to migrate the contract later on.
Migration 🦆
Please check out the migration docs to upgrade to this release from v0.3.x compatible with ibc-go v8.3.x.
In order to use this release, please follow the steps to import git commit 44562d7 .