diff --git a/.changelog/unreleased/breaking-changes/1229-auto-derive-ser-commitment-prefix.md b/.changelog/v0.54.0/breaking-changes/1229-auto-derive-ser-commitment-prefix.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1229-auto-derive-ser-commitment-prefix.md rename to .changelog/v0.54.0/breaking-changes/1229-auto-derive-ser-commitment-prefix.md diff --git a/.changelog/unreleased/breaking-changes/1276-bump-msrv-t0-1.72.1.md b/.changelog/v0.54.0/breaking-changes/1276-bump-msrv-t0-1.72.1.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1276-bump-msrv-t0-1.72.1.md rename to .changelog/v0.54.0/breaking-changes/1276-bump-msrv-t0-1.72.1.md diff --git a/.changelog/unreleased/breaking-changes/1291-rename-path-to-merkle-path-in-cw-context.md b/.changelog/v0.54.0/breaking-changes/1291-rename-path-to-merkle-path-in-cw-context.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1291-rename-path-to-merkle-path-in-cw-context.md rename to .changelog/v0.54.0/breaking-changes/1291-rename-path-to-merkle-path-in-cw-context.md diff --git a/.changelog/unreleased/breaking-changes/1296-decouple-host-timestamp-from-packet-timout.md b/.changelog/v0.54.0/breaking-changes/1296-decouple-host-timestamp-from-packet-timout.md similarity index 100% rename from .changelog/unreleased/breaking-changes/1296-decouple-host-timestamp-from-packet-timout.md rename to .changelog/v0.54.0/breaking-changes/1296-decouple-host-timestamp-from-packet-timout.md diff --git a/.changelog/unreleased/breaking-changes/180-decouple-timestamp-definition-from-tendermint-time.md b/.changelog/v0.54.0/breaking-changes/180-decouple-timestamp-definition-from-tendermint-time.md similarity index 100% rename from .changelog/unreleased/breaking-changes/180-decouple-timestamp-definition-from-tendermint-time.md rename to .changelog/v0.54.0/breaking-changes/180-decouple-timestamp-definition-from-tendermint-time.md diff --git a/.changelog/unreleased/bug-fixes/1088-prevent-expired-client-creation.md b/.changelog/v0.54.0/bug-fixes/1088-prevent-expired-client-creation.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1088-prevent-expired-client-creation.md rename to .changelog/v0.54.0/bug-fixes/1088-prevent-expired-client-creation.md diff --git a/.changelog/unreleased/bug-fixes/1239-consider-client-expired-at-trusting-period.md b/.changelog/v0.54.0/bug-fixes/1239-consider-client-expired-at-trusting-period.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1239-consider-client-expired-at-trusting-period.md rename to .changelog/v0.54.0/bug-fixes/1239-consider-client-expired-at-trusting-period.md diff --git a/.changelog/unreleased/bug-fixes/1297-fix-upgrade-path-check.md b/.changelog/v0.54.0/bug-fixes/1297-fix-upgrade-path-check.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1297-fix-upgrade-path-check.md rename to .changelog/v0.54.0/bug-fixes/1297-fix-upgrade-path-check.md diff --git a/.changelog/unreleased/bug-fixes/1303-fix-upgrade-path-check.md b/.changelog/v0.54.0/bug-fixes/1303-fix-upgrade-path-check.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1303-fix-upgrade-path-check.md rename to .changelog/v0.54.0/bug-fixes/1303-fix-upgrade-path-check.md diff --git a/.changelog/unreleased/bug-fixes/1306-fix-timestamp-nanoseconds-when-tm-time-brings-neg-values.md b/.changelog/v0.54.0/bug-fixes/1306-fix-timestamp-nanoseconds-when-tm-time-brings-neg-values.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1306-fix-timestamp-nanoseconds-when-tm-time-brings-neg-values.md rename to .changelog/v0.54.0/bug-fixes/1306-fix-timestamp-nanoseconds-when-tm-time-brings-neg-values.md diff --git a/.changelog/unreleased/features/1006-allow-empty-commitment-prefix.md b/.changelog/v0.54.0/features/1006-allow-empty-commitment-prefix.md similarity index 100% rename from .changelog/unreleased/features/1006-allow-empty-commitment-prefix.md rename to .changelog/v0.54.0/features/1006-allow-empty-commitment-prefix.md diff --git a/.changelog/unreleased/features/1237-unpack-wasm-client-state.md b/.changelog/v0.54.0/features/1237-unpack-wasm-client-state.md similarity index 100% rename from .changelog/unreleased/features/1237-unpack-wasm-client-state.md rename to .changelog/v0.54.0/features/1237-unpack-wasm-client-state.md diff --git a/.changelog/unreleased/features/1255-enable-custom-paths-for-proof-verificaitons.md b/.changelog/v0.54.0/features/1255-enable-custom-paths-for-proof-verificaitons.md similarity index 100% rename from .changelog/unreleased/features/1255-enable-custom-paths-for-proof-verificaitons.md rename to .changelog/v0.54.0/features/1255-enable-custom-paths-for-proof-verificaitons.md diff --git a/.changelog/unreleased/improvements/1264-update-ibc-proto-and-tendermint-deps.md b/.changelog/v0.54.0/improvements/1264-update-ibc-proto-and-tendermint-deps.md similarity index 100% rename from .changelog/unreleased/improvements/1264-update-ibc-proto-and-tendermint-deps.md rename to .changelog/v0.54.0/improvements/1264-update-ibc-proto-and-tendermint-deps.md diff --git a/.changelog/unreleased/improvements/1271-supersede-Bytes-with-cosmwasm-Binary.md b/.changelog/v0.54.0/improvements/1271-supersede-Bytes-with-cosmwasm-Binary.md similarity index 100% rename from .changelog/unreleased/improvements/1271-supersede-Bytes-with-cosmwasm-Binary.md rename to .changelog/v0.54.0/improvements/1271-supersede-Bytes-with-cosmwasm-Binary.md diff --git a/.changelog/unreleased/improvements/1276-bump-cosmwasm-to-2.1.0.md b/.changelog/v0.54.0/improvements/1276-bump-cosmwasm-to-2.1.0.md similarity index 100% rename from .changelog/unreleased/improvements/1276-bump-cosmwasm-to-2.1.0.md rename to .changelog/v0.54.0/improvements/1276-bump-cosmwasm-to-2.1.0.md diff --git a/.changelog/unreleased/improvements/1277-refactor-cosmwasm-response-types.md b/.changelog/v0.54.0/improvements/1277-refactor-cosmwasm-response-types.md similarity index 100% rename from .changelog/unreleased/improvements/1277-refactor-cosmwasm-response-types.md rename to .changelog/v0.54.0/improvements/1277-refactor-cosmwasm-response-types.md diff --git a/.changelog/unreleased/improvements/1283-remove-cosmwasm-feature-flag.md b/.changelog/v0.54.0/improvements/1283-remove-cosmwasm-feature-flag.md similarity index 100% rename from .changelog/unreleased/improvements/1283-remove-cosmwasm-feature-flag.md rename to .changelog/v0.54.0/improvements/1283-remove-cosmwasm-feature-flag.md diff --git a/.changelog/unreleased/improvements/1295-move-cosmwasm-impls-to-separate-workspace.md b/.changelog/v0.54.0/improvements/1295-move-cosmwasm-impls-to-separate-workspace.md similarity index 100% rename from .changelog/unreleased/improvements/1295-move-cosmwasm-impls-to-separate-workspace.md rename to .changelog/v0.54.0/improvements/1295-move-cosmwasm-impls-to-separate-workspace.md diff --git a/.changelog/v0.54.0/summary.md b/.changelog/v0.54.0/summary.md new file mode 100644 index 000000000..16ea22c76 --- /dev/null +++ b/.changelog/v0.54.0/summary.md @@ -0,0 +1,24 @@ +This release includes a number of breaking changes, including separating the +packet timeout timestamp from the host `Timestamp` via defining a new bespoke +`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm +implementations have also been migrated into their own separate workspace under +the `cosmwasm` directory in an effort to simplify dependency management. + +Notable bug fixes include: + +- Correctly preventing expired client creation +- Expiring clients when the elapsed time from a trusted header matches the + trusting period +- Allowing user-defined upgrade paths for client upgrades rather than just + defaulting to `UPGRADED_IBC_STATE` +- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative + values from `tendermint::Time` + +Lastly, this release adds some new features, including allowing proof +verification methods to accept custom paths, thus allowing light client +developers to introduce custom path serialization logic into their applications. +CosmWasm response types have been refactored to match the `08-wasm` client API. + +This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1. +`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped +to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0. diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d5326ac7..56e149579 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,98 @@ # CHANGELOG +## v0.54.0 + +*August 12, 2024* + +This release includes a number of breaking changes, including separating the +packet timeout timestamp from the host `Timestamp` via defining a new bespoke +`TimeoutTimestamp` type. The `cosmwasm` feature flag has been removed. CosmWasm +implementations have also been migrated into their own separate workspace under +the `cosmwasm` directory in an effort to simplify dependency management. + +Notable bug fixes include: + +- Correctly preventing expired client creation +- Expiring clients when the elapsed time from a trusted header matches the + trusting period +- Allowing user-defined upgrade paths for client upgrades rather than just + defaulting to `UPGRADED_IBC_STATE` +- Preventing `Timestamp::nanoseconds` from panicking by disallowing negative + values from `tendermint::Time` + +Lastly, this release adds some new features, including allowing proof +verification methods to accept custom paths, thus allowing light client +developers to introduce custom path serialization logic into their applications. +CosmWasm response types have been refactored to match the `08-wasm` client API. + +This release bumps the MSRV of ibc-rs to 1.72.1. `prost` has been bumped to 0.13.1. +`ibc-proto` has been bumped to 0.47.0. `tendermint` dependencies have been bumped +to 0.38.0. The `cosmwasm` dependency has also been bumped to 2.1.0. + +### BREAKING CHANGES + +- [ibc-primitive] Decouple `Timestamp` definition from `tendermint::Time`. + ([\#180](https://github.com/cosmos/ibc-rs/issues/180)) +- [ics23] Auto-derive `serde::Serialize` for `CommitmentPrefix`. + ([\#1229](https://github.com/cosmos/ibc-rs/issues/1229)) +- [ibc] Bump MSRV version to 1.72.1 + ([\#1276](https://github.com/cosmos/ibc-rs/pull/1276)) +- [ibc-client-cw] Rename `path` to `merkle_path` in `cw-context` for verify + (non)membership ([\#1291](https://github.com/cosmos/ibc-rs/issues/1291)) +- [ibc-core] Separate the packet timeout timestamp from the host `Timestamp` by + defining a new specific `TimeoutTimestamp`. + ([\#1296](https://github.com/cosmos/ibc-rs/issues/1296)) +- [ibc] Bump `prost` to 0.13.1 +- [ibc] Bump `ibc-proto` to 0.47.0 +- [ibc] Bump `tendermint` dependencies to 0.38.0 + +### BUG FIXES + +- [ibc-core-client] Prevent expired client creations by ensuring that consensus + state's timestamp is within the trusting period. +- ([\#1088](https://github.com/cosmos/ibc-rs/issues/1088)) +- [ibc-client-tendermint] Expire a client when the elapsed time from a trusted + header equals the trusting period, to stay consistent with the expiry logic in + `tendermint-rs` ([\#1239](https://github.com/cosmos/ibc-rs/issues/1239)) +- [ibc-client-tendermint] Fix client verification panic on upgrades when the + `upgrade_path` size is 1. + ([\#1297](https://github.com/cosmos/ibc-rs/issues/1297)) +- [ibc-client-tendermint] Use the user-defined upgrade path for client upgrades, +instead of defaulting to `UPGRADED_IBC_STATE`. + ([\#1303](https://github.com/cosmos/ibc-rs/issues/1303)) +- [ibc-core] Prevent `Timestamp::nanoseconds` from panicking by disallowing + negative values from `tendermint::Time`. + ([\#1306](https://github.com/cosmos/ibc-rs/issues/1306)) + +### FEATURES + +- [ibc-core-commitment-types] Allow empty `CommitmentPrefix` + ([#1006](https://github.com/cosmos/ibc-rs/issues/1006)). +- Unpack/pack Wasm client/consensus state at `ConnectionOpenTry` and + `ConnectionOpenAck` for host client/consensus state. + ([#1237](https://github.com/cosmos/ibc-rs/issues/1237)). +- [ibc-core-client] Enable proof verification methods to accept custom paths as + bytes by defining a new `serializer_path()` API allowing light client + developers to introduce the path serialization behavior of their system. + ([\#1255](https://github.com/cosmos/ibc-rs/issues/1255)) + +### IMPROVEMENTS + +- [ibc] Update `ibc-proto` to v0.46.0 and `tendermint` to v0.37.0. + ([\#1264](https://github.com/cosmos/ibc-rs/pull/1264)) +- [ibc-client-cw] Supersede `Bytes` with `cosmwasm::Binary`. + ([\#1271](https://github.com/cosmos/ibc-rs/issues/1271)) +- [ibc-client] Bump cosmwasm version to 2.1.0 + ([\#1276](https://github.com/cosmos/ibc-rs/pull/1276)) +- [ibc-client-cw] Refactor CosmWasm response types to match `08-wasm` client API + ([\#1277](https://github.com/cosmos/ibc-rs/issues/1277)) +- [ibc-client-wasm-type] Remove the `cosmwasm` feature for consistent feature + flags across ibc-rs, and use existing `serde` and `schema` features. + ([\#1283](https://github.com/cosmos/ibc-rs/pull/1283)) +- [cosmwasm] Move CosmWasm implementations to a separate workspace under +`cosmwasm` directory to simplify dependency management and decouple `ibc-rs` +MSRV from `cosmwasm`. ([\#1295](https://github.com/cosmos/ibc-rs/issue/1295)) + ## v0.53.0 *May 13, 2024* @@ -725,7 +818,7 @@ There are consensus-breaking changes. ### BREAKING CHANGES -- Support for upgrade client proposal by featuring helper contexts and domain types +- Support for upgrade client proposal by featuring helper contexts and domain types ([#420](https://github.com/cosmos/ibc-rs/issues/420)) - Remove unused `ClientState` methods ([#681](https://github.com/cosmos/ibc-rs/issues/681)) @@ -848,7 +941,7 @@ There are consensus-breaking changes. ### BREAKING CHANGES -- `ClientState`: Split `check_misbehaviour_and_update_state` +- `ClientState`: Split `check_misbehaviour_and_update_state` and `check_header_and_update_state` ([#535](https://github.com/cosmos/ibc-rs/issues/535)) - Improve MsgTransfer struct @@ -862,12 +955,12 @@ There are consensus-breaking changes. - Disallow creation of new Tendermint client state instance with a frozen height ([#178](https://github.com/cosmos/ibc-rs/issues/178)) - Emit a message event for SendPacket ([#574](https://github.com/cosmos/ibc-rs/issues/574)) -- Properly convert from `Any` to `MsgEnvelope` +- Properly convert from `Any` to `MsgEnvelope` ([#578](https://github.com/cosmos/ibc-rs/issues/578)) -- Tendermint light client: fix missing trusted_validator_set +- Tendermint light client: fix missing trusted_validator_set hash check ([#583](https://github.com/cosmos/ibc-rs/issues/583)) -- Tendermint light client: fix missing `Header.height()` +- Tendermint light client: fix missing `Header.height()` vs `Header.trusted_height` check ([#585](https://github.com/cosmos/ibc-rs/issues/585)) - Tendermint light client: ensure that we use the correct @@ -914,7 +1007,7 @@ This is a consensus-breaking change. ### BUG -- Timeout handler returns an error only when both height and timestamp have not reached yet +- Timeout handler returns an error only when both height and timestamp have not reached yet ([#555](https://github.com/cosmos/ibc-rs/issues/555)) ## v0.34.0 @@ -927,7 +1020,7 @@ This is a consensus-breaking change. ### BUG -- Fix client IDs for the proof verifications in `ConnectionOpenTry` and `ConnectionOpenAck` +- Fix client IDs for the proof verifications in `ConnectionOpenTry` and `ConnectionOpenAck` ([#550](https://github.com/cosmos/ibc-rs/issues/550)) ## v0.33.0 @@ -949,7 +1042,7 @@ There are no consensus-breaking changes. ### IMPROVEMENT -- Fix `ContextError` Display output +- Fix `ContextError` Display output ([#547](https://github.com/cosmos/ibc-rs/issues/547)) ## v0.32.0 @@ -970,7 +1063,7 @@ There are no consensus-breaking changes. - Refactor and privatize Packet/Ack commitment computations for improved security and modularity. ([#470](https://github.com/cosmos/ibc-rs/issues/470)) -- Allow for non-'static bound Modules +- Allow for non-'static bound Modules [#490](https://github.com/cosmos/ibc-rs/issues/490)) - Separate the validation from the execution process for `send/mint/burn_coins` operations. @@ -1002,12 +1095,12 @@ There are no consensus-breaking changes. - Remove ibc::handler module ([#478](https://github.com/cosmos/ibc-rs/issues/478)) - Discard the `connection-channels` method under `ValidationContext` since it is - no longer used by the core handlers. + no longer used by the core handlers. ([#479](https://github.com/cosmos/ibc-rs/issues/479)) - Remove Send + Sync supertraits on the Module trait ([#480](https://github.com/cosmos/ibc-rs/issues/480)) - Modify `validate_self_client` error type to return `ContextError` instead of - `ConnectionError` + `ConnectionError` ([#482](https://github.com/cosmos/ibc-rs/issues/482)) ### IMPROVEMENTS @@ -1019,7 +1112,7 @@ There are no consensus-breaking changes. *February 24, 2023* This release contains an overhaul of the `send_packet()` and `send_transfer()` architecture. -The main gain is to separate into `send_packet_{validate,execute}()`, and similarly for +The main gain is to separate into `send_packet_{validate,execute}()`, and similarly for `send_transfer()`. There are no consensus-breaking changes. @@ -1103,7 +1196,7 @@ There are consensus-breaking changes. ### FEATURE - Finish implementing `ValidationContext::validate()` and - `ExecutionContext::execute()` + `ExecutionContext::execute()` ([#393](https://github.com/cosmos/ibc-rs/issues/393)) ### IMPROVEMENTS @@ -1140,7 +1233,7 @@ There are no consensus-breaking changes. ([#20](https://github.com/cosmos/ibc-rs/issues/20)) - Simplify Msg trait by removing unnecessary methods. ([#218](https://github.com/cosmos/ibc-rs/issues/218)) -- Refactor proof handlers to conduct proof verifications inline with the process function +- Refactor proof handlers to conduct proof verifications inline with the process function and apply naming conventions to packet messages types ([#230](https://github.com/cosmos/ibc-rs/issues/230)) - The function parameters in the Reader traits now references, @@ -1153,7 +1246,7 @@ There are no consensus-breaking changes. - The function parameters in the `ValidationContext` trait now use references, while the functions in the `ExecutionContext` trait take ownership directly. ([#319](https://github.com/cosmos/ibc-rs/issues/319)) -- Make internal `process()` `pub(crate)` +- Make internal `process()` `pub(crate)` ([#338](https://github.com/cosmos/ibc-rs/issues/338)) ### FEATURES @@ -1273,7 +1366,7 @@ There are consensus-breaking changes in the connection and channel handshakes. H ([#145](https://github.com/cosmos/ibc-rs/issues/145)) - Makes channel/packet events compatible with ibc-go ([#146](https://github.com/cosmos/ibc-rs/issues/146)) -- Remove crossing hellos logic from connection handshake. Breaking changes in +- Remove crossing hellos logic from connection handshake. Breaking changes in connection message types. ([#156](https://github.com/cosmos/ibc-rs/issues/156)). - Remove crossing hellos logic from channel handshake @@ -1338,9 +1431,9 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc - Remove `Display` from `IbcEvent` ([#144](https://github.com/cosmos/ibc-rs/issues/144)). - Remove `IbcEvent::Empty` ([#144](https://github.com/cosmos/ibc-rs/issues/144)). - Make `client_state` field required in `MsgConnectionOpenTry` and - `MsgConnectionOpenAck`. Necessary for correctness according to spec. + `MsgConnectionOpenAck`. Necessary for correctness according to spec. ([#159](https://github.com/cosmos/ibc-rs/issues/159)). -- Redesign the API to allow light client implementations to be hosted outside the ibc-rs repository. +- Redesign the API to allow light client implementations to be hosted outside the ibc-rs repository. ([#2483](https://github.com/informalsystems/ibc-rs/pull/2483)). ### BUG FIXES @@ -1352,7 +1445,7 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc ### FEATURES -- Public PrefixedDenom inner type and add as_str func for BaseDenom +- Public PrefixedDenom inner type and add as_str func for BaseDenom ([#161](https://github.com/cosmos/ibc-rs/issues/161)) ### IMPROVEMENTS @@ -1466,7 +1559,7 @@ This is a major release, which implemented [ADR 4](https://github.com/cosmos/ibc *May 2nd, 2022* -> This is a legacy version with no ibc crate changes. +> This is a legacy version with no ibc crate changes. ## v0.14.0 diff --git a/Cargo.toml b/Cargo.toml index b49b3a198..454378242 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ exclude = [ ] [workspace.package] -version = "0.53.0" +version = "0.54.0" license = "Apache-2.0" edition = "2021" rust-version = "1.72.1" @@ -57,7 +57,7 @@ authors = [ "Informal Systems " ] base64 = { version = "0.22", default-features = false } borsh = { version = "1", default-features = false, features = [ "derive" ] } displaydoc = { version = "0.2.5", default-features = false } -prost = { version = "0.12", default-features = false } +prost = { version = "0.13.1", default-features = false } derive_more = { version = "0.99.18", default-features = false, features = [ "from", "into", "display", "try_into" ] } rstest = { version = "0.22" } schemars = { version = "0.8.21" } @@ -68,52 +68,52 @@ subtle-encoding = { version = "0.5", default-features = false } hex = { version = "0.4.3", default-features = false } # ibc dependencies -ibc = { version = "0.53.0", path = "./ibc", default-features = false } -ibc-core = { version = "0.53.0", path = "./ibc-core", default-features = false } -ibc-clients = { version = "0.53.0", path = "./ibc-clients", default-features = false } -ibc-apps = { version = "0.53.0", path = "./ibc-apps", default-features = false } -ibc-primitives = { version = "0.53.0", path = "./ibc-primitives", default-features = false } -ibc-testkit = { version = "0.53.0", path = "./ibc-testkit", default-features = false } +ibc = { version = "0.54.0", path = "./ibc", default-features = false } +ibc-core = { version = "0.54.0", path = "./ibc-core", default-features = false } +ibc-clients = { version = "0.54.0", path = "./ibc-clients", default-features = false } +ibc-apps = { version = "0.54.0", path = "./ibc-apps", default-features = false } +ibc-primitives = { version = "0.54.0", path = "./ibc-primitives", default-features = false } +ibc-testkit = { version = "0.54.0", path = "./ibc-testkit", default-features = false } -ibc-derive = { version = "0.7.0", path = "./ibc-derive" } +ibc-derive = { version = "0.8.0", path = "./ibc-derive" } -ibc-core-client = { version = "0.53.0", path = "./ibc-core/ics02-client", default-features = false } -ibc-core-connection = { version = "0.53.0", path = "./ibc-core/ics03-connection", default-features = false } -ibc-core-channel = { version = "0.53.0", path = "./ibc-core/ics04-channel", default-features = false } -ibc-core-host = { version = "0.53.0", path = "./ibc-core/ics24-host", default-features = false } -ibc-core-handler = { version = "0.53.0", path = "./ibc-core/ics25-handler", default-features = false } -ibc-core-router = { version = "0.53.0", path = "./ibc-core/ics26-routing", default-features = false } -ibc-query = { version = "0.53.0", path = "./ibc-query", default-features = false } +ibc-core-client = { version = "0.54.0", path = "./ibc-core/ics02-client", default-features = false } +ibc-core-connection = { version = "0.54.0", path = "./ibc-core/ics03-connection", default-features = false } +ibc-core-channel = { version = "0.54.0", path = "./ibc-core/ics04-channel", default-features = false } +ibc-core-host = { version = "0.54.0", path = "./ibc-core/ics24-host", default-features = false } +ibc-core-handler = { version = "0.54.0", path = "./ibc-core/ics25-handler", default-features = false } +ibc-core-router = { version = "0.54.0", path = "./ibc-core/ics26-routing", default-features = false } +ibc-query = { version = "0.54.0", path = "./ibc-query", default-features = false } -ibc-client-cw = { version = "0.53.0", path = "./ibc-clients/cw-context", default-features = false } -ibc-client-tendermint = { version = "0.53.0", path = "./ibc-clients/ics07-tendermint", default-features = false } +ibc-client-cw = { version = "0.54.0", path = "./ibc-clients/cw-context", default-features = false } +ibc-client-tendermint = { version = "0.54.0", path = "./ibc-clients/ics07-tendermint", default-features = false } -ibc-app-transfer = { version = "0.53.0", path = "./ibc-apps/ics20-transfer", default-features = false } -ibc-app-nft-transfer = { version = "0.53.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false } +ibc-app-transfer = { version = "0.54.0", path = "./ibc-apps/ics20-transfer", default-features = false } +ibc-app-nft-transfer = { version = "0.54.0", path = "./ibc-apps/ics721-nft-transfer", default-features = false } -ibc-core-client-context = { version = "0.53.0", path = "./ibc-core/ics02-client/context", default-features = false } -ibc-core-client-types = { version = "0.53.0", path = "./ibc-core/ics02-client/types", default-features = false } -ibc-core-channel-types = { version = "0.53.0", path = "./ibc-core/ics04-channel/types", default-features = false } -ibc-core-connection-types = { version = "0.53.0", path = "./ibc-core/ics03-connection/types", default-features = false } -ibc-core-commitment-types = { version = "0.53.0", path = "./ibc-core/ics23-commitment/types", default-features = false } -ibc-core-host-cosmos = { version = "0.53.0", path = "./ibc-core/ics24-host/cosmos", default-features = false } -ibc-core-host-types = { version = "0.53.0", path = "./ibc-core/ics24-host/types", default-features = false } -ibc-core-handler-types = { version = "0.53.0", path = "./ibc-core/ics25-handler/types", default-features = false } -ibc-core-router-types = { version = "0.53.0", path = "./ibc-core/ics26-routing/types", default-features = false } -ibc-client-tendermint-types = { version = "0.53.0", path = "./ibc-clients/ics07-tendermint/types", default-features = false } -ibc-client-wasm-types = { version = "0.53.0", path = "./ibc-clients/ics08-wasm/types", default-features = false } -ibc-app-transfer-types = { version = "0.53.0", path = "./ibc-apps/ics20-transfer/types", default-features = false } -ibc-app-nft-transfer-types = { version = "0.53.0", path = "./ibc-apps/ics721-nft-transfer/types", default-features = false } +ibc-core-client-context = { version = "0.54.0", path = "./ibc-core/ics02-client/context", default-features = false } +ibc-core-client-types = { version = "0.54.0", path = "./ibc-core/ics02-client/types", default-features = false } +ibc-core-channel-types = { version = "0.54.0", path = "./ibc-core/ics04-channel/types", default-features = false } +ibc-core-connection-types = { version = "0.54.0", path = "./ibc-core/ics03-connection/types", default-features = false } +ibc-core-commitment-types = { version = "0.54.0", path = "./ibc-core/ics23-commitment/types", default-features = false } +ibc-core-host-cosmos = { version = "0.54.0", path = "./ibc-core/ics24-host/cosmos", default-features = false } +ibc-core-host-types = { version = "0.54.0", path = "./ibc-core/ics24-host/types", default-features = false } +ibc-core-handler-types = { version = "0.54.0", path = "./ibc-core/ics25-handler/types", default-features = false } +ibc-core-router-types = { version = "0.54.0", path = "./ibc-core/ics26-routing/types", default-features = false } +ibc-client-tendermint-types = { version = "0.54.0", path = "./ibc-clients/ics07-tendermint/types", default-features = false } +ibc-client-wasm-types = { version = "0.54.0", path = "./ibc-clients/ics08-wasm/types", default-features = false } +ibc-app-transfer-types = { version = "0.54.0", path = "./ibc-apps/ics20-transfer/types", default-features = false } +ibc-app-nft-transfer-types = { version = "0.54.0", path = "./ibc-apps/ics721-nft-transfer/types", default-features = false } -ibc-proto = { version = "0.46.0", default-features = false } +ibc-proto = { version = "0.47.0", default-features = false } # cosmos dependencies -tendermint = { version = "0.37.0", default-features = false } -tendermint-light-client = { version = "0.37.0", default-features = false } -tendermint-light-client-verifier = { version = "0.37.0", default-features = false } -tendermint-proto = { version = "0.37.0", default-features = false } -tendermint-rpc = { version = "0.37.0", default-features = false } -tendermint-testgen = { version = "0.37.0", default-features = false } +tendermint = { version = "0.38.0", default-features = false } +tendermint-light-client = { version = "0.38.0", default-features = false } +tendermint-light-client-verifier = { version = "0.38.0", default-features = false } +tendermint-proto = { version = "0.38.0", default-features = false } +tendermint-rpc = { version = "0.38.0", default-features = false } +tendermint-testgen = { version = "0.38.0", default-features = false } # parity dependencies parity-scale-codec = { version = "3.6.12", default-features = false, features = [ "derive" ] } diff --git a/Makefile b/Makefile index 18de26650..add16fdc4 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,6 @@ check-release: ## Check that the release build compiles. cargo release --workspace --no-push --no-tag \ --exclude ibc-derive \ --exclude ibc-primitives - $(MAKE) -C ./cosmwasm check-release $@ release: ## Perform an actual release and publishes to crates.io. cargo release --workspace --no-push --no-tag --allow-branch HEAD --execute \ diff --git a/RELEASES.md b/RELEASES.md index 2913c16e2..680b6126f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,6 +1,30 @@ ## Releases -Our release process is as follows: +Currently, the ibc-rs repository contains multiple workspaces that each require +a separate release via PR. When performing an ibc-rs, each of the following +workspaces should be released: + +- [ ] The `ibc-derive` crate +- [ ] The "main" ibc-rs workspace, which contains `ibc-core`, `ibc-apps`, + `ibc-primitives`, `ibc-query`, `ibc-clients`, `ibc-data-types`, and + `ibc-testkit` + +### ibc-derive + +As `ibc-derive` is an independent dependency of ibc-rs, if any changes were +introduced to this crate, then a new version needs to be released prior to +releasing a new version of ibc-rs. This is done by: + +1. Bumping the version of `ibc-derive` in `crates/ibc-derive/Cargo.toml` +2. Running `cargo publish -p ibc-derive` to publish the crate to crates.io +3. Update the version of `ibc-derive` in the `Cargo.toml` of each crate that depends on it + +If no changes were introduced since the last release of ibc-rs, then there is no +need to publish a new version of this crate. + +### ibc-rs + +The release process for the main ibc-rs workspace is as follows: 1. In a new branch `release/vX.Y.Z`, update the [changelog](./CHANGELOG.md) to reflect and summarize all changes in the release. This involves: @@ -17,14 +41,8 @@ Our release process is as follows: the repo. 2. Push this to a branch `release/vX.Y.Z` according to the version number of the anticipated release (e.g. `release/v0.18.0`) and open a **draft PR**. -3. If there were changes in the `ibc-derive` crate, we need to publish a new - version of that crate. - 1. bump the version in `crates/ibc-derive/Cargo.toml` - 2. Publish `ibc-derive` with `cargo publish -p ibc-derive` -4. Bump the versions of all crates to the new version in their `Cargo.toml` and +3. Bump the versions of all crates to the new version in their `Cargo.toml` and in the root `Cargo.toml` as well, and push these changes to the release PR. - - If you released a new version of `ibc-derive` in step 3, make sure to - update that dependency. - Verify that there is no dev-dependency among the workspace crates. This is important, as `cargo-release` ignores dev-dependency edges. You may use `cargo-depgraph`: @@ -43,7 +61,7 @@ Our release process is as follows: that depend on them can then be released via the release process. For instructions on how to release a crate on crates.io, refer [here][publishing]. -5. Validate the number of new and existing crates that need to be released via +4. Validate the number of new and existing crates that need to be released via CI. 1. crates.io imposes a [rate limit][crates-io-rate-limit] of publishing 1 crate per minute after a burst of 10 crates. @@ -51,19 +69,19 @@ Our release process is as follows: than 5 new crates or 30 existing crates by default. If we need to publish more than these limits, we need to update `release.toml` at workspace root. -6. Run `cargo doc -p ibc --all-features --open` locally to double-check that all +5. Run `cargo doc -p ibc --all-features --open` locally to double-check that all the documentation compiles and seems up-to-date and coherent. Fix any potential issues here and push them to the release PR. -7. Mark the PR as **Ready for Review** and incorporate feedback on the release. +6. Mark the PR as **Ready for Review** and incorporate feedback on the release. Once approved, merge the PR. -8. Checkout the `main` and pull it with +7. Checkout the `main` and pull it with `git checkout main && git pull origin main`. -9. Create a signed tag `git tag -s -a vX.Y.Z`. In the tag message, write the +8. Create a signed tag `git tag -s -a vX.Y.Z`. In the tag message, write the version and the link to the corresponding section of the changelog. Then push the tag to GitHub with `git push origin vX.Y.Z`. - The [release workflow][release.yaml] will run the `cargo release --execute` command in a CI worker. -10. If some crates have not been released, check the cause of the failure and +9. If some crates have not been released, check the cause of the failure and act accordingly: 1. In case of intermittent problems with the registry, try `cargo release` locally to publish any missing crates from this release. This step @@ -73,7 +91,7 @@ Our release process is as follows: 3. In case problems arise from the source files, fix them, bump a new patch version (e.g. `v0.48.1`) and repeat the process with its corresponding new tag. -11. Once the tag is pushed, wait for the CI bot to create a GitHub release, then +10. Once the tag is pushed, wait for the CI bot to create a GitHub release, then update the release description and append: `[đź“–CHANGELOG](https://github.com/cosmos/ibc-rs/blob/main/CHANGELOG.md#vXYZ)` diff --git a/ci/cw-check/Cargo.lock b/ci/cw-check/Cargo.lock index 04c40474e..b7b3e2a48 100644 --- a/ci/cw-check/Cargo.lock +++ b/ci/cw-check/Cargo.lock @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -206,9 +206,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" dependencies = [ "arrayref", "arrayvec", @@ -246,18 +246,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" dependencies = [ "serde", ] [[package]] name = "cc" -version = "1.1.0" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" +checksum = "e9e8aabfac534be767c909e0690571677d49f41bd8465ae876fe043d52ba5292" [[package]] name = "cfg-if" @@ -279,15 +279,15 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "cosmwasm-core" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d075f6bb1483a6ce83b5cbc73a3a1207e0316ac1e34ed1f2a4d9fc3a0f07bf6" +checksum = "d905990ef3afb5753bb709dc7de88e9e370aa32bcc2f31731d4b533b63e82490" [[package]] name = "cosmwasm-crypto" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ced5a6dd2801a383d3e14e5ae5caa7fdfeff1bd9f22b30e810e0aded8a5869" +checksum = "5b2a7bd9c1dd9a377a4dc0f4ad97d24b03c33798cd5a6d7ceb8869b41c5d2f2d" dependencies = [ "ark-bls12-381", "ark-ec", @@ -308,20 +308,20 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd1873f84d9b17edf8a90ffe10a89a649b82feacc00e36788b81d2c3cbf03c" +checksum = "029910b409398fdf81955d7301b906caf81f2c42b013ea074fbd89720229c424" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "cosmwasm-schema" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27984b137eb2ac561f97f6bdb02004a98eb6f2ba263062c140b8e231ee1826b7" +checksum = "4bc0d4d85e83438ab9a0fea9348446f7268bc016aacfebce37e998559f151294" dependencies = [ "cosmwasm-schema-derive", "schemars", @@ -332,20 +332,20 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ef0d201f611bdb6c9124207032423eb956f1fc8ab3e3ee7253a9c08a5f5809" +checksum = "edf5c8adac41bb7751c050d7c4c18675be19ee128714454454575e894424eeef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "cosmwasm-std" -version = "2.1.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2522fb5c9a0409712bb1d036128bccf3564e6b2ac82f942ae4cf3c8df3e26fa8" +checksum = "51dec99a2e478715c0a4277f0dbeadbb8466500eb7dec873d0924edd086e77f1" dependencies = [ "base64 0.22.1", "bech32", @@ -353,7 +353,7 @@ dependencies = [ "cosmwasm-core", "cosmwasm-crypto", "cosmwasm-derive", - "derive_more 1.0.0-beta.6", + "derive_more 1.0.0", "hex", "rand_core", "schemars", @@ -450,7 +450,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -503,27 +503,27 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "derive_more" -version = "1.0.0-beta.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7abbfc297053be59290e3152f8cbcd52c8642e0728b69ee187d991d4c1af08d" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "1.0.0-beta.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bba3e9872d7c58ce7ef0fcf1844fcc3e23ef2a58377b50df35dd98e42a5726e" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", "unicode-xid", ] @@ -547,7 +547,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -788,7 +788,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -797,7 +797,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -812,14 +812,14 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-app-transfer", ] [[package]] name = "ibc-client-wasm-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "base64 0.22.1", "displaydoc", @@ -831,7 +831,7 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -846,7 +846,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -860,7 +860,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -881,7 +881,7 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -893,7 +893,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -908,7 +908,7 @@ dependencies = [ [[package]] name = "ibc-core-client-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -926,7 +926,7 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -956,7 +956,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -975,7 +975,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -989,7 +989,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1011,7 +1011,7 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1028,7 +1028,7 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1041,7 +1041,7 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1054,7 +1054,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1071,16 +1071,16 @@ dependencies = [ [[package]] name = "ibc-derive" -version = "0.7.0" +version = "0.8.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "ibc-primitives" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1096,9 +1096,9 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" +checksum = "1678333cf68c9094ca66aaf9a271269f1f6bf5c26881161def8bd88cee831a23" dependencies = [ "base64 0.22.1", "bytes", @@ -1116,9 +1116,9 @@ dependencies = [ [[package]] name = "ics23" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc3b8be84e7285c73b88effdc3294b552277d6b0ec728ee016c861b7b9a2c19c" +checksum = "73b17f1a5bd7d12ad30a21445cfa5f52fd7651cb3243ba866f9916b1ec112f12" dependencies = [ "anyhow", "blake2", @@ -1155,9 +1155,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -1184,9 +1184,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -1342,9 +1342,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "primeorder" @@ -1386,9 +1389,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" dependencies = [ "bytes", "prost-derive", @@ -1396,22 +1399,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ "prost", ] @@ -1553,7 +1556,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -1577,9 +1580,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.206" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "5b3e4cd94123dd520a128bcd11e34d9e9e423e7e3e50425cb1b4b1e3549d0284" dependencies = [ "serde_derive", ] @@ -1604,13 +1607,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.206" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "fabfb6138d2383ea8208cf98ccf69cdfb1aff4088460681d84189aa259762f97" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -1621,16 +1624,17 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "66ad62847a56b3dba58cc891acd13884b9c61138d330c0d7b6181713d4fce38d" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -1643,7 +1647,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -1721,9 +1725,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.70" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ "proc-macro2", "quote", @@ -1732,9 +1736,9 @@ dependencies = [ [[package]] name = "tendermint" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954496fbc9716eb4446cdd6d00c071a3e2f22578d62aa03b40c7e5b4fda3ed42" +checksum = "505d9d6ffeb83b1de47c307c6e0d2dff56c6256989299010ad03cd80a8491e97" dependencies = [ "bytes", "digest", @@ -1759,9 +1763,9 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc87024548c7f3da479885201e3da20ef29e85a3b13d04606b380ac4c7120d87" +checksum = "8ed14abe3b0502a3afe21ca74ca5cdd6c7e8d326d982c26f98a394445eb31d6e" dependencies = [ "bytes", "flex-error", @@ -1775,22 +1779,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -1825,9 +1829,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" @@ -1872,9 +1876,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" @@ -1897,6 +1901,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -1908,7 +1913,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] [[package]] @@ -1928,5 +1933,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.70", + "syn 2.0.74", ] diff --git a/ci/no-std-check/Cargo.toml b/ci/no-std-check/Cargo.toml index 66cddba9e..a1b614cb3 100644 --- a/ci/no-std-check/Cargo.toml +++ b/ci/no-std-check/Cargo.toml @@ -6,14 +6,14 @@ resolver = "2" [dependencies] ibc = { path = "../../ibc", default-features = false, features = [ "serde" ] } -ibc-proto = { version = "0.46", default-features = false, features = [ +ibc-proto = { version = "0.47", default-features = false, features = [ "parity-scale-codec", "borsh", "serde", ] } -tendermint = { version = "0.37", default-features = false } -tendermint-proto = { version = "0.37", default-features = false } -tendermint-light-client-verifier = { version = "0.37", default-features = false, features = [ "rust-crypto" ] } +tendermint = { version = "0.38", default-features = false } +tendermint-proto = { version = "0.38", default-features = false } +tendermint-light-client-verifier = { version = "0.38", default-features = false, features = [ "rust-crypto" ] } sp-core = { version = "34.0", default-features = false, optional = true } sp-io = { version = "37.0", default-features = false, optional = true } diff --git a/cosmwasm/Cargo.lock b/cosmwasm/Cargo.lock index fe5706c92..1a22510cf 100644 --- a/cosmwasm/Cargo.lock +++ b/cosmwasm/Cargo.lock @@ -207,6 +207,12 @@ dependencies = [ "syn 2.0.72", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.3.0" @@ -215,18 +221,17 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" -version = "0.6.20" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core", - "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.12", + "http", "http-body", - "hyper", + "http-body-util", "itoa", "matchit", "memchr", @@ -235,7 +240,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 1.0.1", "tower", "tower-layer", "tower-service", @@ -243,17 +248,20 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.12", + "http", "http-body", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper 0.1.2", "tower-layer", "tower-service", ] @@ -299,9 +307,9 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "basecoin-store" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba52d2e35c5bdd0ec8cee00da32a0b89720e36e6363ac95965a5d8c61e59ac7" +checksum = "dd18cd9983aad2c7dbe0552c597c1a2a8373c6e88ba327dce73860975554b3db" dependencies = [ "displaydoc", "ics23", @@ -309,7 +317,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "tendermint 0.35.0", + "tendermint", "tracing", ] @@ -319,12 +327,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" @@ -1032,16 +1034,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http 0.2.12", + "http", "indexmap 2.3.0", "slab", "tokio", @@ -1097,9 +1099,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -1107,24 +1109,25 @@ dependencies = [ ] [[package]] -name = "http" -version = "1.1.0" +name = "http-body" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "fnv", - "itoa", + "http", ] [[package]] -name = "http-body" -version = "0.4.6" +name = "http-body-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "http 0.2.12", + "futures-util", + "http", + "http-body", "pin-project-lite", ] @@ -1142,43 +1145,61 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.30" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "h2", - "http 0.2.12", + "http", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" dependencies = [ "hyper", + "hyper-util", "pin-project-lite", "tokio", - "tokio-io-timeout", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] name = "ibc" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-apps", "ibc-clients", @@ -1190,7 +1211,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -1199,13 +1220,13 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "base64 0.22.1", "borsh", "derive_more 0.99.18", "displaydoc", - "http 1.1.0", + "http", "ibc-app-transfer-types", "ibc-core", "ibc-proto", @@ -1219,7 +1240,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -1228,7 +1249,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1245,7 +1266,7 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -1253,7 +1274,7 @@ dependencies = [ [[package]] name = "ibc-client-cw" -version = "0.53.0" +version = "0.54.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", @@ -1267,7 +1288,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "ibc-client-tendermint-types", @@ -1277,13 +1298,13 @@ dependencies = [ "ibc-core-host", "ibc-primitives", "serde", - "tendermint 0.37.0", + "tendermint", "tendermint-light-client-verifier", ] [[package]] name = "ibc-client-tendermint-cw" -version = "0.53.0" +version = "0.54.0" dependencies = [ "cosmwasm-std", "ibc-client-cw", @@ -1291,13 +1312,13 @@ dependencies = [ "ibc-core", "ibc-testkit", "serde-json-wasm", - "tendermint 0.37.0", + "tendermint", "tendermint-testgen", ] [[package]] name = "ibc-client-tendermint-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -1306,14 +1327,14 @@ dependencies = [ "ibc-primitives", "ibc-proto", "serde", - "tendermint 0.37.0", + "tendermint", "tendermint-light-client-verifier", - "tendermint-proto 0.37.0", + "tendermint-proto", ] [[package]] name = "ibc-client-wasm-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "base64 0.22.1", "displaydoc", @@ -1327,7 +1348,7 @@ dependencies = [ [[package]] name = "ibc-clients" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -1335,7 +1356,7 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -1350,7 +1371,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -1364,7 +1385,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1381,12 +1402,12 @@ dependencies = [ "serde", "sha2 0.10.8", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-client" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -1398,7 +1419,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1408,12 +1429,12 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-client-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1427,12 +1448,12 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-commitment-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1450,7 +1471,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -1463,7 +1484,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1478,12 +1499,12 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-handler" -version = "0.53.0" +version = "0.54.0" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -1497,7 +1518,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1515,12 +1536,12 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-host" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1537,7 +1558,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1554,12 +1575,12 @@ dependencies = [ "serde", "sha2 0.10.8", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-host-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1573,7 +1594,7 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.53.0" +version = "0.54.0" dependencies = [ "derive_more 0.99.18", "displaydoc", @@ -1586,7 +1607,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1599,12 +1620,12 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-derive" -version = "0.7.0" +version = "0.8.0" dependencies = [ "proc-macro2", "quote", @@ -1613,7 +1634,7 @@ dependencies = [ [[package]] name = "ibc-primitives" -version = "0.53.0" +version = "0.54.0" dependencies = [ "borsh", "derive_more 0.99.18", @@ -1624,15 +1645,15 @@ dependencies = [ "scale-info", "schemars", "serde", - "tendermint 0.37.0", + "tendermint", "time", ] [[package]] name = "ibc-proto" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" +checksum = "1678333cf68c9094ca66aaf9a271269f1f6bf5c26881161def8bd88cee831a23" dependencies = [ "base64 0.22.1", "borsh", @@ -1646,13 +1667,13 @@ dependencies = [ "schemars", "serde", "subtle-encoding", - "tendermint-proto 0.37.0", + "tendermint-proto", "tonic", ] [[package]] name = "ibc-query" -version = "0.53.0" +version = "0.54.0" dependencies = [ "displaydoc", "ibc", @@ -1662,7 +1683,7 @@ dependencies = [ [[package]] name = "ibc-testkit" -version = "0.53.0" +version = "0.54.0" dependencies = [ "basecoin-store", "derive_more 0.99.18", @@ -1672,16 +1693,16 @@ dependencies = [ "ibc-query", "parking_lot", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", "tendermint-testgen", "typed-builder", ] [[package]] name = "ics23" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18798160736c1e368938ba6967dbcb3c7afb3256b442a5506ba5222eebb68a5a" +checksum = "73b17f1a5bd7d12ad30a21445cfa5f52fd7651cb3243ba866f9916b1ec112f12" dependencies = [ "anyhow", "blake2", @@ -1877,17 +1898,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "num-integer" version = "0.1.46" @@ -2121,9 +2131,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" dependencies = [ "bytes", "prost-derive", @@ -2131,9 +2141,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" dependencies = [ "anyhow", "itertools 0.12.1", @@ -2144,9 +2154,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ "prost", ] @@ -2222,7 +2232,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -2271,7 +2281,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -2587,6 +2597,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "tap" version = "1.0.1" @@ -2608,36 +2624,9 @@ dependencies = [ [[package]] name = "tendermint" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f8a10105d0a7c4af0a242e23ed5a12519afe5cc0e68419da441bb5981a6802" -dependencies = [ - "bytes", - "digest 0.10.7", - "ed25519", - "flex-error", - "futures", - "num-traits", - "once_cell", - "prost", - "prost-types", - "serde", - "serde_bytes", - "serde_json", - "serde_repr", - "signature", - "subtle", - "subtle-encoding", - "tendermint-proto 0.35.0", - "time", - "zeroize", -] - -[[package]] -name = "tendermint" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954496fbc9716eb4446cdd6d00c071a3e2f22578d62aa03b40c7e5b4fda3ed42" +checksum = "505d9d6ffeb83b1de47c307c6e0d2dff56c6256989299010ad03cd80a8491e97" dependencies = [ "bytes", "digest 0.10.7", @@ -2657,47 +2646,29 @@ dependencies = [ "signature", "subtle", "subtle-encoding", - "tendermint-proto 0.37.0", + "tendermint-proto", "time", "zeroize", ] [[package]] name = "tendermint-light-client-verifier" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3848090df4502a09ee27cb1a00f1835e1111c8993b22c5e1e41ffb7f6f09d57e" +checksum = "7a2674adbf0dc51aa0c8eaf8462c7d6692ec79502713e50ed5432a442002be90" dependencies = [ "derive_more 0.99.18", "flex-error", "serde", - "tendermint 0.37.0", + "tendermint", "time", ] [[package]] name = "tendermint-proto" -version = "0.35.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff525d5540a9fc535c38dc0d92a98da3ee36fcdfbda99cecb9f3cce5cd4d41d7" -dependencies = [ - "bytes", - "flex-error", - "num-derive", - "num-traits", - "prost", - "prost-types", - "serde", - "serde_bytes", - "subtle-encoding", - "time", -] - -[[package]] -name = "tendermint-proto" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc87024548c7f3da479885201e3da20ef29e85a3b13d04606b380ac4c7120d87" +checksum = "8ed14abe3b0502a3afe21ca74ca5cdd6c7e8d326d982c26f98a394445eb31d6e" dependencies = [ "bytes", "flex-error", @@ -2711,9 +2682,9 @@ dependencies = [ [[package]] name = "tendermint-testgen" -version = "0.37.0" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "318a0e38b3b7b36b4078d78446d4284088aa9b173d519fc804c3ee4683972934" +checksum = "ae007e2918414ae96e4835426aace7538d23b8ddf96d71e23d241f58f386e877" dependencies = [ "ed25519-consensus", "gumdrop", @@ -2721,7 +2692,7 @@ dependencies = [ "serde_json", "simple-error", "tempfile", - "tendermint 0.37.0", + "tendermint", "time", ] @@ -2787,17 +2758,19 @@ dependencies = [ "mio", "pin-project-lite", "socket2", + "tokio-macros", "windows-sys", ] [[package]] -name = "tokio-io-timeout" -version = "1.2.0" +name = "tokio-macros" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ - "pin-project-lite", - "tokio", + "proc-macro2", + "quote", + "syn 2.0.72", ] [[package]] @@ -2843,23 +2816,26 @@ dependencies = [ [[package]] name = "tonic" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "38659f4a91aba8598d27821589f5db7dddd94601e7a01b1e485a50e5484c7401" dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.7", + "base64 0.22.1", "bytes", "h2", - "http 0.2.12", + "http", "http-body", + "http-body-util", "hyper", "hyper-timeout", + "hyper-util", "percent-encoding", "pin-project", "prost", + "socket2", "tokio", "tokio-stream", "tower", diff --git a/cosmwasm/Cargo.toml b/cosmwasm/Cargo.toml index 31416d983..4ba230d2f 100644 --- a/cosmwasm/Cargo.toml +++ b/cosmwasm/Cargo.toml @@ -7,7 +7,7 @@ members = [ ] [workspace.package] -version = "0.53.0" +version = "0.54.0" license = "Apache-2.0" edition = "2021" rust-version = "1.75.0" @@ -18,7 +18,7 @@ authors = [ "Informal Systems " ] [workspace.dependencies] # external dependencies derive_more = { version = "0.99.18", default-features = false } -prost = { version = "0.12", default-features = false } +prost = { version = "0.13.1", default-features = false } serde-json = { package = "serde-json-wasm", version = "1.0.1", default-features = false } # cosmwasm dependencies @@ -27,12 +27,12 @@ cosmwasm-schema = { version = "2.1.0" } cw-storage-plus = { version = "2.0.0" } # ibc dependencies -ibc-core = { version = "0.53.0", path = "./../ibc-core", default-features = false } -ibc-client-cw = { version = "0.53.0", path = "./ibc-clients/cw-context", default-features = false } -ibc-client-tendermint = { version = "0.53.0", path = "./../ibc-clients/ics07-tendermint", default-features = false } -ibc-client-wasm-types = { version = "0.53.0", path = "./../ibc-clients/ics08-wasm/types", default-features = false } -ibc-testkit = { version = "0.53.0", path = "./../ibc-testkit", default-features = false } +ibc-core = { version = "0.54.0", path = "./../ibc-core", default-features = false } +ibc-client-cw = { version = "0.54.0", path = "./ibc-clients/cw-context", default-features = false } +ibc-client-tendermint = { version = "0.54.0", path = "./../ibc-clients/ics07-tendermint", default-features = false } +ibc-client-wasm-types = { version = "0.54.0", path = "./../ibc-clients/ics08-wasm/types", default-features = false } +ibc-testkit = { version = "0.54.0", path = "./../ibc-testkit", default-features = false } # cosmos dependencies -tendermint = { version = "0.37.0", default-features = false } -tendermint-testgen = { version = "0.37.0", default-features = false } +tendermint = { version = "0.38.0", default-features = false } +tendermint-testgen = { version = "0.38.0", default-features = false } diff --git a/ibc-clients/ics07-tendermint/types/src/client_state.rs b/ibc-clients/ics07-tendermint/types/src/client_state.rs index bcd42a525..ee30dbdb0 100644 --- a/ibc-clients/ics07-tendermint/types/src/client_state.rs +++ b/ibc-clients/ics07-tendermint/types/src/client_state.rs @@ -240,10 +240,7 @@ impl TryFrom for ClientState { let chain_id = ChainId::from_str(raw.chain_id.as_str())?; let trust_level = { - let trust_level = raw - .trust_level - .clone() - .ok_or(Error::MissingTrustingPeriod)?; + let trust_level = raw.trust_level.ok_or(Error::MissingTrustingPeriod)?; trust_level .try_into() .map_err(|e| Error::InvalidTrustThreshold { diff --git a/ibc-core/ics23-commitment/types/Cargo.toml b/ibc-core/ics23-commitment/types/Cargo.toml index c1ce47b36..b627642fd 100644 --- a/ibc-core/ics23-commitment/types/Cargo.toml +++ b/ibc-core/ics23-commitment/types/Cargo.toml @@ -30,7 +30,7 @@ subtle-encoding = { workspace = true } # ibc dependencies ibc-proto = { workspace = true } ibc-primitives = { workspace = true } -ics23 = { version = "0.11", default-features = false, features = [ "host-functions" ] } +ics23 = { version = "0.12", default-features = false, features = [ "host-functions" ] } ibc-core-host-types = { workspace = true } # parity dependencies diff --git a/ibc-derive/Cargo.toml b/ibc-derive/Cargo.toml index cf7ce7cbf..437b95b19 100644 --- a/ibc-derive/Cargo.toml +++ b/ibc-derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-derive" -version = "0.7.0" +version = "0.8.0" license = { workspace = true } repository = { workspace = true } edition = { workspace = true } diff --git a/ibc-query/Cargo.toml b/ibc-query/Cargo.toml index 9ba6df022..0cb58a84b 100644 --- a/ibc-query/Cargo.toml +++ b/ibc-query/Cargo.toml @@ -19,7 +19,7 @@ description = """ displaydoc = { workspace = true, default-features = false } schemars = { workspace = true, optional = true } serde = { workspace = true, optional = true } -tonic = { version = "0.11" } +tonic = { version = "0.12.1" } # ibc dependencies ibc = { workspace = true } diff --git a/ibc-testkit/Cargo.toml b/ibc-testkit/Cargo.toml index f75cacd49..a9297d1f7 100644 --- a/ibc-testkit/Cargo.toml +++ b/ibc-testkit/Cargo.toml @@ -33,7 +33,7 @@ ibc-proto = { workspace = true } ibc-query = { workspace = true } # basecoin dependencies -basecoin-store = { version = "0.1.0" } +basecoin-store = { version = "0.2.0" } # cosmos dependencies tendermint = { workspace = true } diff --git a/tests-integration/Cargo.toml b/tests-integration/Cargo.toml index e9c981a4d..0a29930be 100644 --- a/tests-integration/Cargo.toml +++ b/tests-integration/Cargo.toml @@ -28,7 +28,7 @@ ibc-query = { workspace = true } ibc-testkit = { workspace = true } # basecoin dependencies -basecoin-store = { version = "0.1.0" } +basecoin-store = { version = "0.2.0" } # cosmos dependencies tendermint = { workspace = true }