diff --git a/Cargo.lock b/Cargo.lock index 7ab4f65fe1..087aeb1a0a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3235,7 +3235,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-apps", "ibc-clients", @@ -3248,7 +3248,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -3258,8 +3258,9 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "base64 0.22.1", "borsh", "derive_more", @@ -3279,7 +3280,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -3289,8 +3290,9 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3307,7 +3309,7 @@ dependencies = [ [[package]] name = "ibc-apps" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -3316,7 +3318,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -3333,7 +3335,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -3350,7 +3352,7 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "base64 0.22.1", "displaydoc", @@ -3364,7 +3366,7 @@ dependencies = [ [[package]] name = "ibc-clients" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -3373,7 +3375,7 @@ dependencies = [ [[package]] name = "ibc-core" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3389,7 +3391,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -3404,8 +3406,9 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3427,7 +3430,7 @@ dependencies = [ [[package]] name = "ibc-core-client" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -3440,7 +3443,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -3456,8 +3459,9 @@ dependencies = [ [[package]] name = "ibc-core-client-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3476,8 +3480,9 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3495,7 +3500,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -3509,8 +3514,9 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3530,7 +3536,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3545,8 +3551,9 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3569,7 +3576,7 @@ dependencies = [ [[package]] name = "ibc-core-host" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -3587,7 +3594,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -3610,8 +3617,9 @@ dependencies = [ [[package]] name = "ibc-core-host-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3625,7 +3633,7 @@ dependencies = [ [[package]] name = "ibc-core-router" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -3639,7 +3647,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -3658,7 +3666,7 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "proc-macro2", "quote", @@ -3668,8 +3676,9 @@ dependencies = [ [[package]] name = "ibc-primitives" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ + "arbitrary", "borsh", "derive_more", "displaydoc", @@ -3708,7 +3717,7 @@ dependencies = [ [[package]] name = "ibc-query" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc", @@ -3719,7 +3728,7 @@ dependencies = [ [[package]] name = "ibc-testkit" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "basecoin-store", "derive_more", @@ -4615,6 +4624,7 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" name = "namada_account" version = "0.42.0" dependencies = [ + "arbitrary", "borsh", "linkme", "namada_core", @@ -4897,6 +4907,7 @@ dependencies = [ name = "namada_fuzz" version = "0.0.0" dependencies = [ + "arbitrary", "data-encoding", "lazy_static", "libfuzzer-sys", @@ -4904,7 +4915,9 @@ dependencies = [ "namada_apps_lib", "namada_core", "namada_node", + "namada_sdk", "namada_tx", + "prost 0.12.3", ] [[package]] @@ -4927,6 +4940,7 @@ dependencies = [ name = "namada_governance" version = "0.42.0" dependencies = [ + "arbitrary", "assert_matches", "borsh", "itertools 0.12.1", @@ -4958,6 +4972,7 @@ dependencies = [ name = "namada_ibc" version = "0.42.0" dependencies = [ + "arbitrary", "assert_matches", "borsh", "data-encoding", @@ -5177,6 +5192,7 @@ dependencies = [ name = "namada_sdk" version = "0.42.0" dependencies = [ + "arbitrary", "assert_matches", "async-trait", "base58", @@ -5409,6 +5425,7 @@ dependencies = [ name = "namada_token" version = "0.42.0" dependencies = [ + "arbitrary", "borsh", "namada_core", "namada_events", diff --git a/Cargo.toml b/Cargo.toml index 646138be2e..a89709686e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -115,9 +115,9 @@ flume = "0.11.0" fs_extra = "1.2.0" futures = "0.3" git2 = { version = "0.18.1", default-features = false } -ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b", features = ["serde"] } -ibc-derive = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" } -ibc-testkit = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b", default-features = false } +ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "0c3b3c0ab598e1e627089d06941efe0e39b61cd7", features = ["serde"] } +ibc-derive = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "0c3b3c0ab598e1e627089d06941efe0e39b61cd7" } +ibc-testkit = { git = "https://github.com/heliaxdev/cosmos-ibc-rs", rev = "0c3b3c0ab598e1e627089d06941efe0e39b61cd7", default-features = false } ics23 = "0.11.0" index-set = { git = "https://github.com/heliaxdev/index-set", tag = "v0.8.1", features = ["serialize-borsh", "serialize-serde"] } indexmap = { git = "https://github.com/heliaxdev/indexmap", tag = "2.2.4-heliax-1", features = ["borsh-schema", "serde"] } diff --git a/Makefile b/Makefile index 64c0a9caaf..5411368330 100644 --- a/Makefile +++ b/Makefile @@ -276,16 +276,19 @@ bench: # NOTE: running in `--dev` as release build takes over 64GB memory, but # dev is still configured for opt-level=3 fuzz-txs-mempool: - $(cargo) +$(nightly) fuzz run txs_mempool --dev + $(cargo) +$(nightly) fuzz run txs_mempool --dev -- -rss_limit_mb=4096 fuzz-txs-prepare-proposal: - $(cargo) +$(nightly) fuzz run txs_prepare_proposal --dev + $(cargo) +$(nightly) fuzz run txs_prepare_proposal --dev -- -rss_limit_mb=4096 fuzz-txs-process-proposal: - $(cargo) +$(nightly) fuzz run txs_process_proposal --dev + $(cargo) +$(nightly) fuzz run txs_process_proposal --dev -- -rss_limit_mb=4096 fuzz-txs-finalize-block: - $(cargo) +$(nightly) fuzz run txs_finalize_block --dev + $(cargo) +$(nightly) fuzz run txs_finalize_block --dev -- -rss_limit_mb=4096 + +fuzz-txs-wasm-run: + $(cargo) +$(nightly) fuzz run txs_wasm_run --dev -- -rss_limit_mb=4096 --sanitizer=none build-doc: $(cargo) doc --no-deps diff --git a/crates/account/Cargo.toml b/crates/account/Cargo.toml index 3ed213ba62..281f700f15 100644 --- a/crates/account/Cargo.toml +++ b/crates/account/Cargo.toml @@ -15,6 +15,7 @@ version.workspace = true [features] default = [] testing = ["namada_core/testing", "proptest"] +arbitrary = ["dep:arbitrary", "namada_core/arbitrary"] migrations = ["namada_migrations", "linkme"] [dependencies] @@ -23,6 +24,7 @@ namada_macros = { path = "../macros" } namada_migrations = { path = "../migrations", optional = true } namada_storage = { path = "../storage" } +arbitrary = { workspace = true, optional = true } borsh.workspace = true linkme = {workspace = true, optional = true } proptest = { workspace = true, optional = true } diff --git a/crates/account/src/types.rs b/crates/account/src/types.rs index f8b5791d7e..4f27e26551 100644 --- a/crates/account/src/types.rs +++ b/crates/account/src/types.rs @@ -8,6 +8,7 @@ use namada_migrations::*; use serde::{Deserialize, Serialize}; /// A tx data type to initialize a new established account +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -31,6 +32,7 @@ pub struct InitAccount { } /// A tx data type to update an account's validity predicate +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index fa1fb3c665..acecec74ba 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -30,7 +30,13 @@ migrations = [ ] benches = ["proptest"] control_flow = ["futures", "lazy_static", "tokio", "wasmtimer"] -arbitrary = ["dep:arbitrary", "chrono/arbitrary", "indexmap/arbitrary"] +arbitrary = [ + "dep:arbitrary", + "chrono/arbitrary", + "ibc/arbitrary", + "indexmap/arbitrary", + "masp_primitives/arbitrary", +] [dependencies] namada_macros = {path = "../macros"} diff --git a/crates/core/src/dec.rs b/crates/core/src/dec.rs index e05e7ca8c2..35d7b80116 100644 --- a/crates/core/src/dec.rs +++ b/crates/core/src/dec.rs @@ -33,6 +33,7 @@ pub type Result = std::result::Result; /// /// To be precise, an instance X of this type should be /// interpreted as the Dec X * 10 ^ (-[`POS_DECIMAL_PRECISION`]) +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Clone, Copy, diff --git a/crates/core/src/eth_bridge_pool.rs b/crates/core/src/eth_bridge_pool.rs index 854aac4df1..d577221e3c 100644 --- a/crates/core/src/eth_bridge_pool.rs +++ b/crates/core/src/eth_bridge_pool.rs @@ -72,6 +72,7 @@ const VERSION: u8 = 1; const NAMESPACE: &str = "transfer"; /// Transfer to Ethereum kinds. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Copy, Clone, @@ -170,6 +171,7 @@ impl<'transfer> PendingTransferAppendix<'transfer> { /// A transfer message to be submitted to Ethereum /// to move assets from Namada across the bridge. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -200,6 +202,7 @@ pub struct TransferToEthereum { /// A transfer message to Ethereum sitting in the /// bridge pool, waiting to be relayed +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -338,6 +341,7 @@ impl From<&PendingTransfer> for Key { /// The amount of fees to be paid, in Namada, to the relayer /// of a transfer across the Ethereum Bridge, compensating /// for Ethereum gas costs. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/core/src/ibc.rs b/crates/core/src/ibc.rs index 8473095275..757d5a512b 100644 --- a/crates/core/src/ibc.rs +++ b/crates/core/src/ibc.rs @@ -76,6 +76,7 @@ impl FromStr for IbcTxDataRefs { } /// The target of a PGF payment +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/core/src/uint.rs b/crates/core/src/uint.rs index 14a361f871..40c07eeafb 100644 --- a/crates/core/src/uint.rs +++ b/crates/core/src/uint.rs @@ -481,6 +481,7 @@ pub const MAX_SIGNED_VALUE: Uint = const MINUS_ZERO: Uint = Uint([0u64, 0u64, 0u64, 9223372036854775808]); /// A signed 256 big integer. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Copy, Clone, diff --git a/crates/governance/Cargo.toml b/crates/governance/Cargo.toml index b3f7d33a18..caba406454 100644 --- a/crates/governance/Cargo.toml +++ b/crates/governance/Cargo.toml @@ -14,6 +14,7 @@ version.workspace = true [features] testing = ["proptest"] +arbitrary = ["dep:arbitrary", "namada_core/arbitrary"] migrations = [ "namada_migrations", "linkme", @@ -30,6 +31,7 @@ namada_systems = { path = "../systems" } namada_tx = { path = "../tx" } namada_vp = { path = "../vp" } +arbitrary = { workspace = true, optional = true } borsh.workspace = true itertools.workspace = true linkme = {workspace = true, optional = true} diff --git a/crates/governance/src/storage/proposal.rs b/crates/governance/src/storage/proposal.rs index c535199750..884a2c52f0 100644 --- a/crates/governance/src/storage/proposal.rs +++ b/crates/governance/src/storage/proposal.rs @@ -29,6 +29,7 @@ pub enum ProposalError { } /// A tx data type to hold proposal data +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -66,6 +67,7 @@ impl InitProposalData { } /// A tx data type to hold vote proposal data +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -189,6 +191,7 @@ impl StoragePgfFunding { } /// The type of a Proposal +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -216,6 +219,7 @@ pub enum ProposalType { } /// An add or remove action for PGF +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -250,6 +254,7 @@ where } /// The target of a PGF payment +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -304,6 +309,7 @@ impl Display for PGFTarget { } /// The target of a PGF payment +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -327,6 +333,7 @@ pub struct PGFInternalTarget { } /// The actions that a PGF Steward can propose to execute +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/governance/src/storage/vote.rs b/crates/governance/src/storage/vote.rs index ef0129011f..449e43af4c 100644 --- a/crates/governance/src/storage/vote.rs +++ b/crates/governance/src/storage/vote.rs @@ -6,6 +6,8 @@ use namada_macros::BorshDeserializer; use namada_migrations::*; use serde::{Deserialize, Serialize}; +/// The vote for a proposal +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -18,7 +20,6 @@ use serde::{Deserialize, Serialize}; Serialize, Deserialize, )] -/// The vote for a proposal pub enum ProposalVote { /// Yes Yay, diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index 53cd38d568..d424a1bb2e 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -19,6 +19,7 @@ migrations = [ "linkme", ] testing = ["namada_core/testing", "ibc-testkit", "proptest"] +arbitrary = ["dep:arbitrary", "namada_core/arbitrary", "namada_token/arbitrary"] [dependencies] namada_core = { path = "../core" } @@ -32,6 +33,7 @@ namada_systems = { path = "../systems" } namada_tx = { path = "../tx" } namada_vp = { path = "../vp" } +arbitrary = { workspace = true, optional = true } borsh.workspace = true data-encoding.workspace = true konst.workspace = true diff --git a/crates/ibc/src/msg.rs b/crates/ibc/src/msg.rs index 44b23fae74..c784cb8b93 100644 --- a/crates/ibc/src/msg.rs +++ b/crates/ibc/src/msg.rs @@ -29,6 +29,7 @@ pub enum IbcMessage { } /// IBC transfer message with `Transfer` +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Debug, Clone)] pub struct MsgTransfer { /// IBC transfer message @@ -78,6 +79,7 @@ impl BorshSchema for MsgTransfer { } /// IBC NFT transfer message with `Transfer` +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive(Debug, Clone)] pub struct MsgNftTransfer { /// IBC NFT transfer message diff --git a/crates/sdk/Cargo.toml b/crates/sdk/Cargo.toml index 1aa16eb32f..f45a646956 100644 --- a/crates/sdk/Cargo.toml +++ b/crates/sdk/Cargo.toml @@ -40,6 +40,14 @@ testing = [ "proptest", "jubjub", ] +arbitrary = [ + "dep:arbitrary", + "namada_account/arbitrary", + "namada_core/arbitrary", + "namada_governance/arbitrary", + "namada_ibc/arbitrary", + "namada_token/arbitrary", +] download-params = ["namada_token/download-params"] migrations = [ @@ -78,6 +86,7 @@ namada_vm = { path = "../vm", default-features = false } namada_vote_ext = { path = "../vote_ext" } namada_vp = { path = "../vp" } +arbitrary = { workspace = true, optional = true } async-trait.workspace = true bimap.workspace = true borsh.workspace = true diff --git a/crates/token/Cargo.toml b/crates/token/Cargo.toml index 10cb33eb77..62bf495b69 100644 --- a/crates/token/Cargo.toml +++ b/crates/token/Cargo.toml @@ -17,6 +17,7 @@ default = [] multicore = ["namada_shielded_token/multicore"] download-params = ["namada_shielded_token/download-params"] testing = ["namada_core/testing", "namada_shielded_token/testing", "proptest"] +arbitrary = ["dep:arbitrary", "namada_core/arbitrary"] [dependencies] namada_core = { path = "../core" } @@ -27,6 +28,7 @@ namada_storage = { path = "../storage" } namada_systems = { path = "../systems" } namada_trans_token = { path = "../trans_token" } +arbitrary = { workspace = true, optional = true } borsh.workspace = true proptest = { workspace = true, optional = true } serde.workspace = true diff --git a/crates/token/src/lib.rs b/crates/token/src/lib.rs index bf408aac1f..6ba04fbe7e 100644 --- a/crates/token/src/lib.rs +++ b/crates/token/src/lib.rs @@ -125,6 +125,7 @@ where } /// Accounts can send or receive funds in a transparent token transfer +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -148,6 +149,7 @@ pub struct Account { } /// Arguments for a multi-party token transfer +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/tx/src/data/pgf.rs b/crates/tx/src/data/pgf.rs index 2da23db625..93828c03eb 100644 --- a/crates/tx/src/data/pgf.rs +++ b/crates/tx/src/data/pgf.rs @@ -16,6 +16,7 @@ pub enum PgfError { } /// A tx data type to hold proposal data +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/crates/tx/src/data/pos.rs b/crates/tx/src/data/pos.rs index 01ce2bbf7d..a2047316c3 100644 --- a/crates/tx/src/data/pos.rs +++ b/crates/tx/src/data/pos.rs @@ -11,6 +11,7 @@ use namada_migrations::*; use serde::{Deserialize, Serialize}; /// A tx data type to become a validator account. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -56,6 +57,7 @@ pub struct BecomeValidator { /// A bond is a validator's self-bond or a delegation from non-validator to a /// validator. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -83,6 +85,7 @@ pub struct Bond { pub type Unbond = Bond; /// A withdrawal of an unbond. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -105,6 +108,7 @@ pub struct Withdraw { } /// A claim of pending rewards. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -127,6 +131,7 @@ pub struct ClaimRewards { } /// A redelegation of bonded tokens from one validator to another. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -152,6 +157,7 @@ pub struct Redelegation { } /// A change to the validator commission rate. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -173,6 +179,7 @@ pub struct CommissionChange { } /// A change to the validator metadata. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, @@ -206,6 +213,7 @@ pub struct MetaDataChange { } /// A change to the validator's consensus key. +#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] #[derive( Debug, Clone, diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 5718758a65..09fdcb8845 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -11,13 +11,15 @@ cargo-fuzz = true namada_apps_lib = { path = "../crates/apps_lib", features = ["testing"] } namada_core = { path = "../crates/core", features = ["testing"] } namada_node = { path = "../crates/node", features = ["testing"] } +namada_sdk = { path = "../crates/sdk", features = ["testing", "arbitrary"] } namada_tx = { path = "../crates/tx", features = ["arbitrary"] } +arbitrary = { workspace = true } data-encoding = { workspace = true } -masp_primitives = { workspace = true, features = ["arbitrary"] } - lazy_static.workspace = true libfuzzer-sys = "0.4" +masp_primitives = { workspace = true, features = ["arbitrary"] } +prost = { workspace = true } [[bin]] name = "txs_mempool" @@ -46,3 +48,10 @@ path = "fuzz_targets/txs_finalize_block.rs" test = false doc = false bench = false + +[[bin]] +name = "txs_wasm_run" +path = "fuzz_targets/txs_wasm_run.rs" +test = false +doc = false +bench = false diff --git a/fuzz/fuzz_targets/txs_wasm_run.rs b/fuzz/fuzz_targets/txs_wasm_run.rs new file mode 100644 index 0000000000..4c8f183a51 --- /dev/null +++ b/fuzz/fuzz_targets/txs_wasm_run.rs @@ -0,0 +1,307 @@ +//! Test running well-formed inner WASM txs via finalize block handler. + +#![no_main] + +use std::sync::Mutex; + +use arbitrary::Arbitrary; +use data_encoding::HEXUPPER; +use lazy_static::lazy_static; +use libfuzzer_sys::fuzz_target; +use namada_apps_lib::wallet; +use namada_core::key::PublicKeyTmRawHash; +use namada_node::shell; +use namada_node::shell::test_utils::TestShell; +use namada_node::shims::abcipp_shim_types::shim::request::{ + FinalizeBlock, ProcessedTx, +}; +use namada_node::shims::abcipp_shim_types::shim::response::TxResult; +use namada_node::shims::abcipp_shim_types::shim::TxBytes; +use namada_sdk::address::Address; +use namada_sdk::eth_bridge_pool::PendingTransfer; +use namada_sdk::ibc::apps::nft_transfer::types::msgs::transfer::MsgTransfer as IbcMsgNftTransfer; +use namada_sdk::ibc::apps::transfer::types::msgs::transfer::MsgTransfer as IbcMsgTransfer; +use namada_sdk::ibc::core::handler::types::msgs::MsgEnvelope; +use namada_sdk::key::common; +use namada_sdk::token::{self, DenominatedAmount}; +use namada_sdk::tx::Tx; +use namada_sdk::{account, address, governance, storage, tx}; +use namada_tx::data::{pgf, pos}; + +lazy_static! { + static ref SHELL: Mutex = { + let (shell, _recv, _, _) = shell::test_utils::setup(); + Mutex::new(shell) + }; +} + +#[allow(clippy::large_enum_variant)] +#[derive(Arbitrary, Debug)] +enum TxKind { + InitAccount(account::InitAccount), + BecomeValidator(pos::BecomeValidator), + UnjailValidator(Address), + DeactivateValidator(Address), + ReactivateValidator(Address), + InitProposal(governance::InitProposalData), + VoteProposal(governance::VoteProposalData), + RevealPk(common::PublicKey), + UpdateAccount(account::UpdateAccount), + Transfer(token::Transfer), + Ibc(IbcData), + Bond(pos::Bond), + Unbond(pos::Unbond), + Withdraw(pos::Withdraw), + Redelegate(pos::Redelegation), + ClaimRewards(pos::ClaimRewards), + ChangeCommission(pos::CommissionChange), + ChangeConsensusKey(pos::ConsensusKeyChange), + ChangeMetadata(pos::MetaDataChange), + BridgePool(PendingTransfer), + ResignSteward(Address), + UpdateStewardCommission(pgf::UpdateStewardCommission), +} + +#[derive(Arbitrary, Debug)] +enum IbcData { + MsgEnvelope(MsgEnvelope), + MsgTransfer(IbcMsgTransfer), + MsgNftTransfer(IbcMsgNftTransfer), + BorshMsgTransfer(namada_sdk::ibc::MsgTransfer), + BorshMsgNftTransfer(namada_sdk::ibc::MsgNftTransfer), +} + +fuzz_target!(|kinds: NonEmptyVec| run(kinds)); + +fn run(kinds: NonEmptyVec) { + let kinds = kinds.into_vec(); + let mut shell = SHELL.lock().unwrap(); + + // Construct the txs + let mut txs_bytes: Vec = Vec::with_capacity(kinds.len()); + let signer = wallet::defaults::albert_keypair(); + for kind in kinds { + let mut tx = Tx::from_type(tx::data::TxType::Raw); + + use TxKind::*; + let code_tag = match kind { + InitAccount(data) => { + tx.add_data(data); + tx::TX_INIT_ACCOUNT_WASM + } + BecomeValidator(data) => { + tx.add_data(data); + tx::TX_BECOME_VALIDATOR_WASM + } + UnjailValidator(data) => { + tx.add_data(data); + tx::TX_UNJAIL_VALIDATOR_WASM + } + DeactivateValidator(data) => { + tx.add_data(data); + tx::TX_DEACTIVATE_VALIDATOR_WASM + } + ReactivateValidator(data) => { + tx.add_data(data); + tx::TX_REACTIVATE_VALIDATOR_WASM + } + InitProposal(data) => { + tx.add_data(data); + tx::TX_INIT_PROPOSAL + } + VoteProposal(data) => { + tx.add_data(data); + tx::TX_VOTE_PROPOSAL + } + RevealPk(data) => { + tx.add_data(data); + tx::TX_REVEAL_PK + } + UpdateAccount(data) => { + tx.add_data(data); + tx::TX_UPDATE_ACCOUNT_WASM + } + Transfer(data) => { + tx.add_data(data); + tx::TX_TRANSFER_WASM + } + Ibc(data) => { + add_ibc_tx_data(&mut tx, data); + tx::TX_IBC_WASM + } + Bond(data) => { + tx.add_data(data); + tx::TX_BOND_WASM + } + Unbond(data) => { + tx.add_data(data); + tx::TX_UNBOND_WASM + } + Withdraw(data) => { + tx.add_data(data); + tx::TX_WITHDRAW_WASM + } + Redelegate(data) => { + tx.add_data(data); + tx::TX_REDELEGATE_WASM + } + ClaimRewards(data) => { + tx.add_data(data); + tx::TX_CLAIM_REWARDS_WASM + } + ChangeCommission(data) => { + tx.add_data(data); + tx::TX_CHANGE_COMMISSION_WASM + } + ChangeConsensusKey(data) => { + tx.add_data(data); + tx::TX_CHANGE_CONSENSUS_KEY_WASM + } + ChangeMetadata(data) => { + tx.add_data(data); + tx::TX_CHANGE_METADATA_WASM + } + BridgePool(data) => { + tx.add_data(data); + tx::TX_BRIDGE_POOL_WASM + } + ResignSteward(data) => { + tx.add_data(data); + tx::TX_RESIGN_STEWARD + } + UpdateStewardCommission(data) => { + tx.add_data(data); + tx::TX_UPDATE_STEWARD_COMMISSION + } + }; + let code_hash = shell + .read_storage_key(&storage::Key::wasm_hash(code_tag)) + .unwrap(); + tx.add_code_from_hash(code_hash, Some(code_tag.to_string())); + + tx.update_header(tx::data::TxType::Wrapper(Box::new( + tx::data::WrapperTx::new( + tx::data::Fee { + token: address::testing::nam(), + amount_per_gas_unit: DenominatedAmount::native(1.into()), + }, + signer.to_public(), + 1_000_000.into(), + ), + ))); + tx.add_section(tx::Section::Authorization(tx::Authorization::new( + vec![tx.raw_header_hash()], + [(0, signer.clone())].into_iter().collect(), + None, + ))); + + txs_bytes.push(tx.to_bytes().into()); + } + + // Add a successful result for every tx + let mut txs = Vec::with_capacity(txs_bytes.len()); + for tx in txs_bytes.into_iter() { + let result = TxResult::default(); // default is success + txs.push(ProcessedTx { tx, result }); + } + + // Run the txs via a `FinalizeBlock` request + let proposer_pk = wallet::defaults::validator_keypair().to_public(); + let proposer_address_bytes = HEXUPPER + .decode(proposer_pk.tm_raw_hash().as_bytes()) + .unwrap(); + let req = FinalizeBlock { + txs, + proposer_address: proposer_address_bytes, + ..Default::default() + }; + let _event = shell.finalize_block(req).unwrap(); + + // Commit the block + shell.commit(); +} + +fn add_ibc_tx_data(tx: &mut Tx, data: IbcData) { + use namada_sdk::ibc::primitives::ToProto; + use prost::Message; + match data { + IbcData::MsgEnvelope(data) => { + let proto_data = match data { + MsgEnvelope::Client(data) => { + use namada_sdk::ibc::core::client::types::msgs::ClientMsg; + match data { + ClientMsg::CreateClient(data) => data.to_any(), + ClientMsg::UpdateClient(data) => data.to_any(), + ClientMsg::Misbehaviour(data) => data.to_any(), + ClientMsg::UpgradeClient(data) => data.to_any(), + ClientMsg::RecoverClient(data) => data.to_any(), + } + } + MsgEnvelope::Connection(data) => { + use namada_sdk::ibc::core::connection::types::msgs::ConnectionMsg; + match data { + ConnectionMsg::OpenInit(data) => data.to_any(), + ConnectionMsg::OpenTry(data) => data.to_any(), + ConnectionMsg::OpenAck(data) => data.to_any(), + ConnectionMsg::OpenConfirm(data) => data.to_any(), + } + } + MsgEnvelope::Channel(data) => { + use namada_sdk::ibc::core::channel::types::msgs::ChannelMsg; + match data { + ChannelMsg::OpenInit(data) => data.to_any(), + ChannelMsg::OpenTry(data) => data.to_any(), + ChannelMsg::OpenAck(data) => data.to_any(), + ChannelMsg::OpenConfirm(data) => data.to_any(), + ChannelMsg::CloseInit(data) => data.to_any(), + ChannelMsg::CloseConfirm(data) => data.to_any(), + } + } + MsgEnvelope::Packet(data) => { + use namada_sdk::ibc::core::channel::types::msgs::PacketMsg; + match data { + PacketMsg::Recv(data) => data.to_any(), + PacketMsg::Ack(data) => data.to_any(), + PacketMsg::Timeout(data) => data.to_any(), + PacketMsg::TimeoutOnClose(data) => data.to_any(), + } + } + }; + let mut bytes = vec![]; + proto_data.encode(&mut bytes).unwrap(); + tx.set_data(tx::Data::new(bytes)); + } + IbcData::MsgTransfer(data) => { + let mut bytes = vec![]; + data.to_any().encode(&mut bytes).unwrap(); + tx.set_data(tx::Data::new(bytes)); + } + IbcData::MsgNftTransfer(data) => { + let mut bytes = vec![]; + data.to_any().encode(&mut bytes).unwrap(); + tx.set_data(tx::Data::new(bytes)); + } + IbcData::BorshMsgTransfer(data) => { + tx.add_data(data); + } + IbcData::BorshMsgNftTransfer(data) => { + tx.add_data(data); + } + } +} + +#[derive(Arbitrary, Debug)] +struct NonEmptyVec { + // `vec` may be empty + vec: Vec, + // there's always at least one element + last: T, +} + +impl NonEmptyVec { + fn into_vec(self) -> Vec { + let NonEmptyVec { mut vec, last } = self; + vec.push(last); + vec + } +} diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 1e94c7b2fc..e80ea49ad7 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -2453,7 +2453,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-apps", "ibc-clients", @@ -2466,7 +2466,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2476,7 +2476,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "base64 0.22.1", "borsh", @@ -2497,7 +2497,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2507,7 +2507,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2525,7 +2525,7 @@ dependencies = [ [[package]] name = "ibc-apps" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2534,7 +2534,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -2568,7 +2568,7 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "base64 0.22.1", "displaydoc", @@ -2582,7 +2582,7 @@ dependencies = [ [[package]] name = "ibc-clients" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2591,7 +2591,7 @@ dependencies = [ [[package]] name = "ibc-core" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2607,7 +2607,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2622,7 +2622,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2645,7 +2645,7 @@ dependencies = [ [[package]] name = "ibc-core-client" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2658,7 +2658,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2674,7 +2674,7 @@ dependencies = [ [[package]] name = "ibc-core-client-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2694,7 +2694,7 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2713,7 +2713,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -2727,7 +2727,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2748,7 +2748,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2763,7 +2763,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2787,7 +2787,7 @@ dependencies = [ [[package]] name = "ibc-core-host" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2805,7 +2805,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2828,7 +2828,7 @@ dependencies = [ [[package]] name = "ibc-core-host-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2843,7 +2843,7 @@ dependencies = [ [[package]] name = "ibc-core-router" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2857,7 +2857,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2876,7 +2876,7 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "proc-macro2", "quote", @@ -2886,7 +2886,7 @@ dependencies = [ [[package]] name = "ibc-primitives" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2926,7 +2926,7 @@ dependencies = [ [[package]] name = "ibc-query" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc", @@ -2937,7 +2937,7 @@ dependencies = [ [[package]] name = "ibc-testkit" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "basecoin-store", "derive_more", diff --git a/wasm_for_tests/Cargo.lock b/wasm_for_tests/Cargo.lock index 171f1f9f5a..d29fc983fe 100644 --- a/wasm_for_tests/Cargo.lock +++ b/wasm_for_tests/Cargo.lock @@ -2453,7 +2453,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-apps", "ibc-clients", @@ -2466,7 +2466,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2476,7 +2476,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "base64 0.22.1", "borsh", @@ -2497,7 +2497,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2507,7 +2507,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2525,7 +2525,7 @@ dependencies = [ [[package]] name = "ibc-apps" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2534,7 +2534,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2551,7 +2551,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -2568,7 +2568,7 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "base64 0.22.1", "displaydoc", @@ -2582,7 +2582,7 @@ dependencies = [ [[package]] name = "ibc-clients" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2591,7 +2591,7 @@ dependencies = [ [[package]] name = "ibc-core" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2607,7 +2607,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2622,7 +2622,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2645,7 +2645,7 @@ dependencies = [ [[package]] name = "ibc-core-client" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2658,7 +2658,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2674,7 +2674,7 @@ dependencies = [ [[package]] name = "ibc-core-client-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2694,7 +2694,7 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2713,7 +2713,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -2727,7 +2727,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2748,7 +2748,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2763,7 +2763,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2787,7 +2787,7 @@ dependencies = [ [[package]] name = "ibc-core-host" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2805,7 +2805,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2828,7 +2828,7 @@ dependencies = [ [[package]] name = "ibc-core-host-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2843,7 +2843,7 @@ dependencies = [ [[package]] name = "ibc-core-router" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "derive_more", "displaydoc", @@ -2857,7 +2857,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2876,7 +2876,7 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "proc-macro2", "quote", @@ -2886,7 +2886,7 @@ dependencies = [ [[package]] name = "ibc-primitives" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "borsh", "derive_more", @@ -2926,7 +2926,7 @@ dependencies = [ [[package]] name = "ibc-query" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "displaydoc", "ibc", @@ -2937,7 +2937,7 @@ dependencies = [ [[package]] name = "ibc-testkit" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=0c3b3c0ab598e1e627089d06941efe0e39b61cd7#0c3b3c0ab598e1e627089d06941efe0e39b61cd7" dependencies = [ "basecoin-store", "derive_more",