added ibc messages to MessageRegistry

This commit is contained in:
Jędrzej Stuczyński
2025-07-08 10:41:54 +01:00
parent 3547e1caf1
commit b2ecc81da6
12 changed files with 273 additions and 28 deletions
Generated
+85 -19
View File
@@ -1462,12 +1462,22 @@ name = "cosmos-sdk-proto"
version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "462e1f6a8e005acc8835d32d60cbd7973ed65ea2a8d8473830e675f050956427"
dependencies = [
"prost 0.13.5",
"tendermint-proto",
]
[[package]]
name = "cosmos-sdk-proto"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95ac39be7373404accccaede7cc1ec942ccef14f0ca18d209967a756bf1dbb1f"
dependencies = [
"informalsystems-pbjson",
"prost 0.13.5",
"serde",
"tendermint-proto",
"tonic 0.12.3",
"tonic 0.13.1",
]
[[package]]
@@ -1477,7 +1487,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1394c263335da09e8ba8c4b2c675d804e3e0deb44cce0866a5f838d3ddd43d02"
dependencies = [
"bip32",
"cosmos-sdk-proto",
"cosmos-sdk-proto 0.26.1",
"ecdsa",
"eyre",
"k256",
"rand_core 0.6.4",
"serde",
"serde_json",
"signature",
"subtle-encoding",
"tendermint",
"tendermint-rpc",
"thiserror 1.0.69",
]
[[package]]
name = "cosmrs"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34e74fa7a22930fe0579bef560f2d64b78415d4c47b9dd976c0635136809471d"
dependencies = [
"bip32",
"cosmos-sdk-proto 0.27.0",
"ecdsa",
"eyre",
"k256",
@@ -3622,6 +3653,39 @@ dependencies = [
"cc",
]
[[package]]
name = "ibc-proto"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a650b51e384e54264b53974feb38e95e37aac70f7f2f9c07eb8022fe15eb8e20"
dependencies = [
"base64 0.22.1",
"bytes",
"cosmos-sdk-proto 0.27.0",
"flex-error",
"ics23",
"informalsystems-pbjson",
"prost 0.13.5",
"serde",
"subtle-encoding",
"tendermint-proto",
"tonic 0.13.1",
]
[[package]]
name = "ics23"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73b17f1a5bd7d12ad30a21445cfa5f52fd7651cb3243ba866f9916b1ec112f12"
dependencies = [
"anyhow",
"bytes",
"hex",
"informalsystems-pbjson",
"prost 0.13.5",
"serde",
]
[[package]]
name = "icu_collections"
version = "1.5.0"
@@ -4933,7 +4997,7 @@ name = "nym-api-requests"
version = "0.1.0"
dependencies = [
"bs58",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"ecdsa",
"getset",
@@ -4971,7 +5035,7 @@ version = "0.1.0"
source = "git+https://github.com/nymtech/nym.git?branch=release/2025.11-cheddar#e9bb9792ab723a1ad5fe40cb292dc08d4eb40c2f"
dependencies = [
"bs58",
"cosmrs",
"cosmrs 0.21.1",
"cosmwasm-std",
"ecdsa",
"getset",
@@ -5165,7 +5229,7 @@ dependencies = [
"clap",
"colored",
"comfy-table",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"csv",
"cw-utils",
@@ -5329,7 +5393,7 @@ name = "nym-client-core-gateways-storage"
version = "0.1.0"
dependencies = [
"async-trait",
"cosmrs",
"cosmrs 0.22.0",
"log",
"nym-crypto 0.4.0",
"nym-gateway-requests",
@@ -5689,7 +5753,7 @@ version = "0.1.0"
dependencies = [
"bincode",
"bls12_381",
"cosmrs",
"cosmrs 0.22.0",
"log",
"nym-api-requests 0.1.0",
"nym-credentials-interface 0.1.0",
@@ -7731,7 +7795,7 @@ name = "nym-types"
version = "1.0.0"
dependencies = [
"base64 0.22.1",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"eyre",
"hmac",
@@ -7765,7 +7829,7 @@ dependencies = [
"bip32",
"bip39",
"colored",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"cw-controllers",
"cw-utils",
@@ -7816,7 +7880,7 @@ dependencies = [
"bip32",
"bip39",
"colored",
"cosmrs",
"cosmrs 0.21.1",
"cosmwasm-std",
"cw-controllers",
"cw-utils",
@@ -7972,7 +8036,7 @@ dependencies = [
name = "nym-wallet-types"
version = "1.0.0"
dependencies = [
"cosmrs",
"cosmrs 0.21.1",
"cosmwasm-std",
"hex-literal",
"nym-config 0.1.0",
@@ -8111,7 +8175,7 @@ version = "0.1.0"
dependencies = [
"async-trait",
"base64 0.22.1",
"cosmrs",
"cosmrs 0.22.0",
"itertools 0.14.0",
"nyxd-scraper-shared",
"serde",
@@ -8129,11 +8193,12 @@ dependencies = [
"async-trait",
"base64 0.22.1",
"const_format",
"cosmos-sdk-proto",
"cosmrs",
"cosmos-sdk-proto 0.27.0",
"cosmrs 0.22.0",
"eyre",
"futures",
"humantime",
"ibc-proto",
"prost 0.13.5",
"serde",
"serde_json",
@@ -11289,13 +11354,11 @@ dependencies = [
[[package]]
name = "tonic"
version = "0.12.3"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52"
checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9"
dependencies = [
"async-stream",
"async-trait",
"axum 0.7.9",
"base64 0.22.1",
"bytes",
"h2 0.4.9",
@@ -11311,7 +11374,7 @@ dependencies = [
"socket2",
"tokio",
"tokio-stream",
"tower 0.4.13",
"tower 0.5.2",
"tower-layer",
"tower-service",
"tracing",
@@ -11345,9 +11408,12 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
dependencies = [
"futures-core",
"futures-util",
"indexmap 2.7.1",
"pin-project-lite",
"slab",
"sync_wrapper 1.0.2",
"tokio",
"tokio-util",
"tower-layer",
"tower-service",
"tracing",
+3 -2
View File
@@ -385,8 +385,9 @@ cw-multi-test = "=2.3.2"
bip32 = { version = "0.5.3", default-features = false }
cosmrs = { version = "0.21.1" }
cosmos-sdk-proto = { version = "0.26.1" }
cosmrs = { version = "0.22.0" }
cosmos-sdk-proto = { version = "0.27.0" }
ibc-proto = { version = "0.52.0" }
tendermint = "0.40.4"
tendermint-rpc = "0.40.4"
prost = { version = "0.13", default-features = false }
+1
View File
@@ -19,6 +19,7 @@ cosmos-sdk-proto = { workspace = true, features = ["serde", "cosmwasm"] } # we n
eyre = { workspace = true }
futures.workspace = true
humantime = { workspace = true }
ibc-proto = { workspace = true, features = ["serde"] }
prost = { workspace = true }
sha2 = { workspace = true }
serde = { workspace = true, features = ["derive"] }
@@ -13,6 +13,11 @@ use crate::cosmos_module::modules::feegrant::Feegrant;
use crate::cosmos_module::modules::gov_v1::GovV1;
use crate::cosmos_module::modules::gov_v1beta1::GovV1Beta1;
use crate::cosmos_module::modules::group::Group;
use crate::cosmos_module::modules::ibc_core::IbcCore;
use crate::cosmos_module::modules::ibc_fee::IbcFee;
use crate::cosmos_module::modules::ibc_interchain_accounts_controller::IbcInterchainAccountsController;
use crate::cosmos_module::modules::ibc_transfer_v1::IbcTransferV1;
use crate::cosmos_module::modules::ibc_transfer_v2::IbcTransferV2;
use crate::cosmos_module::modules::mint::Mint;
use crate::cosmos_module::modules::nft::Nft;
use crate::cosmos_module::modules::params::Params;
@@ -120,6 +125,11 @@ pub fn default_message_registry() -> MessageRegistry {
Box::new(GovV1),
Box::new(GovV1Beta1),
Box::new(Group),
Box::new(IbcCore),
Box::new(IbcFee),
Box::new(IbcTransferV1),
Box::new(IbcTransferV2),
Box::new(IbcInterchainAccountsController),
Box::new(Mint),
Box::new(Nft),
Box::new(Params),
@@ -3,7 +3,9 @@
use crate::cosmos_module::message_registry::MessageRegistry;
use crate::cosmos_module::CosmosModule;
use cosmos_sdk_proto::cosmos::feegrant::v1beta1::{MsgGrantAllowance, MsgRevokeAllowance};
use cosmos_sdk_proto::cosmos::feegrant::v1beta1::{
MsgGrantAllowance, MsgPruneAllowances, MsgRevokeAllowance,
};
pub(crate) struct Feegrant;
@@ -11,5 +13,6 @@ impl CosmosModule for Feegrant {
fn register_messages(&self, registry: &mut MessageRegistry) {
registry.register::<MsgGrantAllowance>();
registry.register::<MsgRevokeAllowance>();
registry.register::<MsgPruneAllowances>();
}
}
@@ -0,0 +1,70 @@
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::{CosmosModule, MessageRegistry};
use ibc_proto::ibc::core::channel::{
self,
v1::{
MsgAcknowledgement, MsgChannelCloseConfirm, MsgChannelCloseInit, MsgChannelOpenAck,
MsgChannelOpenConfirm, MsgChannelOpenInit, MsgChannelOpenTry, MsgChannelUpgradeAck,
MsgChannelUpgradeCancel, MsgChannelUpgradeConfirm, MsgChannelUpgradeInit,
MsgChannelUpgradeOpen, MsgChannelUpgradeTimeout, MsgChannelUpgradeTry,
MsgPruneAcknowledgements, MsgRecvPacket, MsgTimeout, MsgTimeoutOnClose,
},
};
use ibc_proto::ibc::core::client::{
self,
v1::{
MsgCreateClient, MsgIbcSoftwareUpgrade, MsgRecoverClient, MsgSubmitMisbehaviour,
MsgUpdateClient, MsgUpgradeClient,
},
};
use ibc_proto::ibc::core::connection::{
self,
v1::{
MsgConnectionOpenAck, MsgConnectionOpenConfirm, MsgConnectionOpenInit, MsgConnectionOpenTry,
},
};
pub(crate) struct IbcCore;
impl CosmosModule for IbcCore {
fn register_messages(&self, registry: &mut MessageRegistry) {
// channel
registry.register::<MsgChannelOpenInit>();
registry.register::<MsgChannelOpenTry>();
registry.register::<MsgChannelOpenAck>();
registry.register::<MsgChannelOpenConfirm>();
registry.register::<MsgChannelCloseInit>();
registry.register::<MsgChannelCloseConfirm>();
registry.register::<MsgRecvPacket>();
registry.register::<MsgTimeout>();
registry.register::<MsgTimeoutOnClose>();
registry.register::<MsgAcknowledgement>();
registry.register::<MsgChannelUpgradeInit>();
registry.register::<MsgChannelUpgradeTry>();
registry.register::<MsgChannelUpgradeAck>();
registry.register::<MsgChannelUpgradeConfirm>();
registry.register::<MsgChannelUpgradeOpen>();
registry.register::<MsgChannelUpgradeTimeout>();
registry.register::<MsgChannelUpgradeCancel>();
registry.register::<channel::v1::MsgUpdateParams>();
registry.register::<MsgPruneAcknowledgements>();
// client
registry.register::<MsgCreateClient>();
registry.register::<MsgUpdateClient>();
registry.register::<MsgUpgradeClient>();
registry.register::<MsgSubmitMisbehaviour>();
registry.register::<MsgRecoverClient>();
registry.register::<MsgIbcSoftwareUpgrade>();
registry.register::<client::v1::MsgUpdateParams>();
// connection
registry.register::<MsgConnectionOpenInit>();
registry.register::<MsgConnectionOpenTry>();
registry.register::<MsgConnectionOpenAck>();
registry.register::<MsgConnectionOpenConfirm>();
registry.register::<connection::v1::MsgUpdateParams>();
}
}
@@ -0,0 +1,18 @@
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::{CosmosModule, MessageRegistry};
use ibc_proto::ibc::applications::fee::v1::{
MsgPayPacketFee, MsgPayPacketFeeAsync, MsgRegisterPayee, RegisteredCounterpartyPayee,
};
pub(crate) struct IbcFee;
impl CosmosModule for IbcFee {
fn register_messages(&self, registry: &mut MessageRegistry) {
registry.register::<MsgRegisterPayee>();
registry.register::<RegisteredCounterpartyPayee>();
registry.register::<MsgPayPacketFee>();
registry.register::<MsgPayPacketFeeAsync>();
}
}
@@ -0,0 +1,17 @@
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::{CosmosModule, MessageRegistry};
use ibc_proto::ibc::applications::interchain_accounts::controller::v1::{
MsgRegisterInterchainAccount, MsgSendTx, MsgUpdateParams,
};
pub(crate) struct IbcInterchainAccountsController;
impl CosmosModule for IbcInterchainAccountsController {
fn register_messages(&self, registry: &mut MessageRegistry) {
registry.register::<MsgRegisterInterchainAccount>();
registry.register::<MsgSendTx>();
registry.register::<MsgUpdateParams>();
}
}
@@ -0,0 +1,14 @@
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::{CosmosModule, MessageRegistry};
use ibc_proto::ibc::applications::transfer::v1::{MsgTransfer, MsgUpdateParams};
pub(crate) struct IbcTransferV1;
impl CosmosModule for IbcTransferV1 {
fn register_messages(&self, registry: &mut MessageRegistry) {
registry.register::<MsgTransfer>();
registry.register::<MsgUpdateParams>();
}
}
@@ -0,0 +1,10 @@
// Copyright 2025 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0
use crate::{CosmosModule, MessageRegistry};
pub(crate) struct IbcTransferV2;
impl CosmosModule for IbcTransferV2 {
fn register_messages(&self, _registry: &mut MessageRegistry) {}
}
@@ -13,6 +13,11 @@ pub(crate) mod feegrant;
pub(crate) mod gov_v1;
pub(crate) mod gov_v1beta1;
pub(crate) mod group;
pub(crate) mod ibc_core;
pub(crate) mod ibc_fee;
pub(crate) mod ibc_interchain_accounts_controller;
pub(crate) mod ibc_transfer_v1;
pub(crate) mod ibc_transfer_v2;
pub(crate) mod mint;
pub(crate) mod nft;
pub(crate) mod params;
+36 -6
View File
@@ -11,7 +11,7 @@ dependencies = [
"bip39",
"cfg-if",
"colored 2.2.0",
"cosmrs",
"cosmrs 0.21.1",
"cosmwasm-std",
"dirs 4.0.0",
"dotenvy",
@@ -1203,6 +1203,16 @@ dependencies = [
"tendermint-proto",
]
[[package]]
name = "cosmos-sdk-proto"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95ac39be7373404accccaede7cc1ec942ccef14f0ca18d209967a756bf1dbb1f"
dependencies = [
"prost",
"tendermint-proto",
]
[[package]]
name = "cosmrs"
version = "0.21.1"
@@ -1210,7 +1220,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1394c263335da09e8ba8c4b2c675d804e3e0deb44cce0866a5f838d3ddd43d02"
dependencies = [
"bip32",
"cosmos-sdk-proto",
"cosmos-sdk-proto 0.26.1",
"ecdsa",
"eyre",
"k256",
"rand_core 0.6.4",
"serde",
"serde_json",
"signature",
"subtle-encoding",
"tendermint",
"thiserror 1.0.69",
]
[[package]]
name = "cosmrs"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34e74fa7a22930fe0579bef560f2d64b78415d4c47b9dd976c0635136809471d"
dependencies = [
"bip32",
"cosmos-sdk-proto 0.27.0",
"ecdsa",
"eyre",
"k256",
@@ -4017,7 +4047,7 @@ name = "nym-api-requests"
version = "0.1.0"
dependencies = [
"bs58",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"ecdsa",
"getset",
@@ -4390,7 +4420,7 @@ name = "nym-types"
version = "1.0.0"
dependencies = [
"base64 0.22.1",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"eyre",
"hmac",
@@ -4423,7 +4453,7 @@ dependencies = [
"bip32",
"bip39",
"colored 2.2.0",
"cosmrs",
"cosmrs 0.22.0",
"cosmwasm-std",
"cw-controllers",
"cw-utils",
@@ -4493,7 +4523,7 @@ dependencies = [
name = "nym-wallet-types"
version = "1.0.0"
dependencies = [
"cosmrs",
"cosmrs 0.21.1",
"cosmwasm-std",
"hex-literal",
"nym-config",