From 3de20541f60f1cdc7203a3afa2af37740e45b815 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 18 Jul 2023 10:47:17 +0200 Subject: [PATCH 01/15] upgrade ibc-rs and fix except for e2e test --- Cargo.lock | 2352 +++++++++--------- Cargo.toml | 3 + apps/src/lib/cli.rs | 9 + core/Cargo.toml | 4 +- core/src/ledger/ibc/context/common.rs | 16 +- core/src/ledger/ibc/context/execution.rs | 42 +- core/src/ledger/ibc/context/router.rs | 3 +- core/src/ledger/ibc/context/transfer_mod.rs | 17 +- core/src/ledger/ibc/context/validation.rs | 24 +- core/src/ledger/ibc/mod.rs | 82 +- core/src/ledger/ibc/storage.rs | 48 +- core/src/types/address.rs | 2 +- core/src/types/ibc.rs | 6 +- shared/src/ledger/args.rs | 2 + shared/src/ledger/events/log/dumb_queries.rs | 5 +- shared/src/ledger/ibc/vp/mod.rs | 419 ++-- shared/src/ledger/signing.rs | 26 +- shared/src/ledger/tx.rs | 44 +- tests/src/vm_host_env/ibc.rs | 130 +- tests/src/vm_host_env/mod.rs | 2 +- wasm/Cargo.lock | 112 +- wasm_for_tests/wasm_source/Cargo.lock | 108 +- 22 files changed, 1806 insertions(+), 1650 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9517b5cf7b..7b0afb42cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,11 +14,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.19.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" dependencies = [ - "gimli 0.27.2", + "gimli", ] [[package]] @@ -34,7 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] @@ -51,9 +51,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if 1.0.0", "cipher 0.4.4", @@ -66,7 +66,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.8", "once_cell", "version_check", ] @@ -149,9 +149,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" [[package]] name = "ark-bls12-381" @@ -277,9 +277,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" @@ -321,35 +321,34 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" dependencies = [ "async-stream-impl", "futures-core", - "pin-project-lite", ] [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] @@ -381,9 +380,9 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.1.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +checksum = "8a8c1df849285fbacd587de7818cc7d13be6cd2cbcd47a04fb1801b0e2706e33" dependencies = [ "proc-macro-error", "proc-macro2", @@ -399,13 +398,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.18" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" +checksum = "2fb79c228270dcf2426e74864cabc94babb5dbab01a4314e702d2f16540e1591" dependencies = [ "async-trait", "axum-core", - "bitflags 1.2.1", + "bitflags 1.3.2", "bytes", "futures-util", "http", @@ -418,18 +417,19 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustversion", - "serde 1.0.163", + "serde 1.0.147", "sync_wrapper", "tower", + "tower-http", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.3.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "b2f958c80c248b34b9a877a643811be8dbca03ca5ba827f2b63baf3a81e5fc4e" dependencies = [ "async-trait", "bytes", @@ -444,16 +444,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.6.2", - "object 0.30.3", + "miniz_oxide", + "object 0.29.0", "rustc-demangle", ] @@ -463,12 +463,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - [[package]] name = "base58" version = "0.1.0" @@ -481,6 +475,22 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" +[[package]] +name = "base58check" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ee2fe4c9a0c84515f136aaae2466744a721af6d63339c18689d9e995d74d99b" +dependencies = [ + "base58 0.1.0", + "sha2 0.8.2", +] + +[[package]] +name = "base64" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" + [[package]] name = "base64" version = "0.13.1" @@ -526,9 +536,9 @@ dependencies = [ "bitvec 1.0.1", "blake2s_simd", "byteorder", - "crossbeam-channel 0.5.8", - "ff 0.12.1", - "group 0.12.1", + "crossbeam-channel 0.5.6", + "ff", + "group", "lazy_static", "log", "num_cpus", @@ -540,11 +550,11 @@ dependencies = [ [[package]] name = "bimap" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" +checksum = "bc0455254eb5c6964c4545d8bac815e1a1be4f3afe0ae695ea539c12d728d44b" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -553,7 +563,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -562,19 +572,19 @@ version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.4", + "prettyplease 0.2.6", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -615,7 +625,7 @@ dependencies = [ "bech32 0.9.1", "bitcoin_hashes", "secp256k1", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -624,14 +634,14 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" @@ -663,11 +673,11 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.6" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -682,9 +692,9 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" +checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" dependencies = [ "arrayref", "arrayvec 0.7.2", @@ -693,9 +703,9 @@ dependencies = [ [[package]] name = "blake2s_simd" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" +checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" dependencies = [ "arrayref", "arrayvec 0.7.2", @@ -704,16 +714,16 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" dependencies = [ "arrayref", "arrayvec 0.7.2", "cc", "cfg-if 1.0.0", "constant_time_eq", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -734,16 +744,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] @@ -777,8 +787,8 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" dependencies = [ - "ff 0.12.1", - "group 0.12.1", + "ff", + "group", "pairing", "rand_core 0.6.4", "subtle 2.4.1", @@ -789,7 +799,17 @@ name = "borsh" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive", + "borsh-derive 0.9.4", + "hashbrown 0.11.2", +] + +[[package]] +name = "borsh" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +dependencies = [ + "borsh-derive 0.10.3", "hashbrown 0.11.2", ] @@ -798,8 +818,21 @@ name = "borsh-derive" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "borsh-derive-internal 0.9.4", + "borsh-schema-derive-internal 0.9.4", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.109", @@ -815,6 +848,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.9.4" @@ -825,14 +869,22 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "bs58" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" -dependencies = [ - "sha2 0.9.9", -] [[package]] name = "bstr" @@ -845,11 +897,21 @@ dependencies = [ "regex-automata", ] +[[package]] +name = "buf_redux" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" +dependencies = [ + "memchr", + "safemem", +] + [[package]] name = "bumpalo" -version = "3.12.2" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "byte-slice-cast" @@ -865,30 +927,29 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byte-unit" -version = "4.0.19" +version = "4.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +checksum = "581ad4b3d627b0c09a0ccb2912148f839acaca0b93cf54cbe42b6c674e86079c" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", "utf8-width", ] [[package]] name = "bytecheck" -version = "0.6.11" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +checksum = "d11cac2c12b5adc6570dad2ee1b87eff4955dac476fe12d81e5fdd352e52406f" dependencies = [ "bytecheck_derive", "ptr_meta", - "simdutf8", ] [[package]] name = "bytecheck_derive" -version = "0.6.11" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +checksum = "13e576ebe98e605500b3c8041bb888e966653577172df6dd97398714eb30b9bf" dependencies = [ "proc-macro2", "quote", @@ -913,7 +974,7 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -929,11 +990,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.4" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" +checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -942,7 +1003,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -954,29 +1015,29 @@ dependencies = [ "camino", "cargo-platform", "semver 1.0.17", - "serde 1.0.163", + "serde 1.0.147", "serde_json", ] [[package]] name = "cargo_metadata" -version = "0.15.4" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" +checksum = "08a1ec454bc3eead8719cb56e15dbbfecdbc14e4b3a3ae4936cc6e31f5fc0d07" dependencies = [ "camino", "cargo-platform", "semver 1.0.17", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "thiserror", ] [[package]] name = "cc" -version = "1.0.79" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f" dependencies = [ "jobserver", ] @@ -987,7 +1048,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 7.1.3", + "nom 7.1.1", ] [[package]] @@ -1039,9 +1100,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "num-integer", @@ -1051,9 +1112,9 @@ dependencies = [ [[package]] name = "chunked_transfer" -version = "1.4.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a" +checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e" [[package]] name = "cipher" @@ -1061,7 +1122,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] @@ -1086,9 +1147,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -1097,22 +1158,21 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.5" +version = "4.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2686c4115cb0810d9a984776e197823d08ec94f176549a89a9efded477c456dc" +checksum = "384e169cc618c613d5e3ca6404dda77a8685a63e08660dcc64abaf7da7cb0c7a" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.3.5" +version = "4.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e53afce1efce6ed1f633cf0e57612fe51db54a1ee4fd8f8503d078fe02d69ae" +checksum = "ef137bbe35aab78bdb468ccfba75a5f4d8321ae011d34063770780545176af2d" dependencies = [ "anstream", "anstyle", - "bitflags 1.2.1", "clap_lex", "strsim", ] @@ -1128,37 +1188,47 @@ name = "clru" version = "0.5.0" source = "git+https://github.com/marmeladema/clru-rs.git?rev=71ca566#71ca566915f21f3c308091ca7756a91b0f8b5afc" +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "coins-bip32" -version = "0.8.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30a84aab436fcb256a2ab3c80663d8aec686e6bae12827bb05fef3e1e439c9f" +checksum = "634c509653de24b439672164bbf56f5f582a2ab0e313d3b0f6af0b7345cf2560" dependencies = [ "bincode", "bs58", "coins-core", - "digest 0.10.6", - "getrandom 0.2.9", + "digest 0.10.7", + "getrandom 0.2.8", "hmac 0.12.1", - "k256 0.13.1", + "k256", "lazy_static", - "serde 1.0.163", + "serde 1.0.147", "sha2 0.10.6", "thiserror", ] [[package]] name = "coins-bip39" -version = "0.8.6" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f4d04ee18e58356accd644896aeb2094ddeafb6a713e056cef0c0a8e468c15" +checksum = "2a11892bcac83b4c6e95ab84b5b06c76d9d70ad73548dd07418269c5c7977171" dependencies = [ "bitvec 0.17.4", "coins-bip32", - "getrandom 0.2.9", + "getrandom 0.2.8", + "hex", "hmac 0.12.1", - "once_cell", - "pbkdf2 0.12.1", + "pbkdf2 0.11.0", "rand 0.8.5", "sha2 0.10.6", "thiserror", @@ -1166,18 +1236,19 @@ dependencies = [ [[package]] name = "coins-core" -version = "0.8.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b949a1c63fb7eb591eb7ba438746326aedf0ae843e51ec92ba6bec5bb382c4f" +checksum = "c94090a6663f224feae66ab01e41a2555a8296ee07b5f20dab8888bdefc9f617" dependencies = [ - "base64 0.21.0", + "base58check", + "base64 0.12.3", "bech32 0.7.3", - "bs58", - "digest 0.10.6", - "generic-array 0.14.7", + "blake2", + "digest 0.10.7", + "generic-array 0.14.6", "hex", "ripemd", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", "sha2 0.10.6", "sha3", @@ -1207,7 +1278,7 @@ checksum = "b6eee477a4a8a72f4addd4de416eb56d54bc307b284d6601bafdee1f4ea462d1" dependencies = [ "once_cell", "owo-colors 1.3.0", - "tracing-core 0.1.31", + "tracing-core 0.1.30", "tracing-error", ] @@ -1234,12 +1305,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369" dependencies = [ "lazy_static", - "nom 5.1.3", + "nom 5.1.2", "rust-ini", - "serde 1.0.163", + "serde 1.0.147", "serde-hjson", "serde_json", - "toml 0.5.9", + "toml", "yaml-rust", ] @@ -1249,20 +1320,20 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b72b06487a0d4683349ad74d62e87ad639b09667082b3c495c5b6bab7d84b3da" dependencies = [ - "windows 0.44.0", + "windows", ] [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" [[package]] name = "constant_time_eq" -version = "0.2.5" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "contracts" @@ -1275,6 +1346,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.3" @@ -1287,9 +1367,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "corosensei" @@ -1306,9 +1386,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -1332,7 +1412,7 @@ dependencies = [ "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", - "gimli 0.26.2", + "gimli", "log", "regalloc", "smallvec", @@ -1393,35 +1473,35 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", + "crossbeam-utils 0.8.12", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", - "crossbeam-utils 0.8.15", + "crossbeam-utils 0.8.12", ] [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ "autocfg", "cfg-if 1.0.0", - "crossbeam-utils 0.8.15", - "memoffset 0.8.0", + "crossbeam-utils 0.8.12", + "memoffset 0.6.5", "scopeguard", ] @@ -1438,9 +1518,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ "cfg-if 1.0.0", ] @@ -1457,19 +1537,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "crypto-bigint" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" -dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", "rand_core 0.6.4", "subtle 2.4.1", "zeroize", @@ -1481,7 +1549,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", "typenum", ] @@ -1501,7 +1569,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", "subtle 2.4.1", ] @@ -1511,7 +1579,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", "subtle 2.4.1", ] @@ -1581,11 +1649,55 @@ dependencies = [ "zeroize", ] +[[package]] +name = "cxx" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn 1.0.109", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "darling" -version = "0.20.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ "darling_core", "darling_macro", @@ -1593,48 +1705,39 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ "darling_core", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" [[package]] name = "der" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", -] - -[[package]] -name = "der" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" dependencies = [ "const-oid", "zeroize", @@ -1695,17 +1798,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "const-oid", + "block-buffer 0.10.3", "crypto-common", "subtle 2.4.1", ] @@ -1759,7 +1861,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -1776,9 +1878,9 @@ checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" [[package]] name = "dyn-clone" @@ -1792,7 +1894,7 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "byteorder", "lazy_static", "proc-macro-error", @@ -1818,24 +1920,10 @@ version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - -[[package]] -name = "ecdsa" -version = "0.16.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428" -dependencies = [ - "der 0.7.7", - "digest 0.10.6", - "elliptic-curve 0.13.5", - "rfc6979 0.4.0", - "signature 2.1.0", - "spki", + "der", + "elliptic-curve", + "rfc6979", + "signature", ] [[package]] @@ -1844,8 +1932,8 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "serde 1.0.163", - "signature 1.6.4", + "serde 1.0.147", + "signature", ] [[package]] @@ -1857,7 +1945,7 @@ dependencies = [ "curve25519-dalek-ng", "hex", "rand_core 0.6.4", - "serde 1.0.163", + "serde 1.0.147", "sha2 0.9.9", "thiserror", "zeroize", @@ -1873,7 +1961,7 @@ dependencies = [ "ed25519", "merlin", "rand 0.7.3", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "sha2 0.9.9", "zeroize", @@ -1893,9 +1981,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "elliptic-curve" @@ -1903,61 +1991,44 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.6", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" -dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.2", - "digest 0.10.6", - "ff 0.13.0", - "generic-array 0.14.7", - "group 0.13.0", + "base16ct", + "crypto-bigint", + "der", + "digest 0.10.7", + "ff", + "generic-array 0.14.6", + "group", "pkcs8", "rand_core 0.6.4", - "sec1 0.7.2", + "sec1", "subtle 2.4.1", "zeroize", ] [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "enr" -version = "0.8.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf56acd72bb22d2824e66ae8e9e5ada4d0de17a69c7fd35569dde2ada8ec9116" +checksum = "492a7e5fc2504d5fdce8e124d3e263b244a68b283cac67a69eda0cd43e0aebad" dependencies = [ "base64 0.13.1", + "bs58", "bytes", "hex", - "k256 0.13.1", + "k256", "log", "rand 0.8.5", "rlp", - "serde 1.0.163", + "serde 1.0.147", "sha3", "zeroize", ] @@ -1984,38 +2055,43 @@ dependencies = [ [[package]] name = "enumset" -version = "1.1.2" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e875f1719c16de097dee81ed675e2d9bb63096823ed3f0ca827b7dea3028bbbb" +checksum = "19be8061a06ab6f3a6cf21106c873578bf01bd42ad15e0311a9c76161cb1c753" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.8.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +checksum = "03e7b551eba279bf0fa88b83a46330168c1560a52a94f5126f892f0b364ab3e0" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - [[package]] name = "erased-serde" version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", ] [[package]] @@ -2056,7 +2132,7 @@ checksum = "f5584ba17d7ab26a8a7284f13e5bd196294dd2f2d79773cff29b9e9edef601a6" dependencies = [ "log", "once_cell", - "serde 1.0.163", + "serde 1.0.147", "serde_json", ] @@ -2066,15 +2142,15 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ - "aes 0.8.3", + "aes 0.8.2", "ctr", - "digest 0.10.6", + "digest 0.10.7", "hex", "hmac 0.12.1", "pbkdf2 0.11.0", "rand 0.8.5", "scrypt", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "sha2 0.10.6", "sha3", @@ -2092,7 +2168,7 @@ dependencies = [ "hex", "once_cell", "regex", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "sha3", "thiserror", @@ -2212,21 +2288,21 @@ dependencies = [ [[package]] name = "ethers-addressbook" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b856b7b8ff5c961093cb8efe151fbcce724b451941ce20781de11a531ccd578" +checksum = "9e1e010165c08a2a3fa43c0bb8bc9d596f079a021aaa2cc4e8d921df09709c95" dependencies = [ "ethers-core", "once_cell", - "serde 1.0.163", + "serde 1.0.147", "serde_json", ] [[package]] name = "ethers-contract" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e066a0d9cfc70c454672bf16bb433b0243427420076dc5b2f49c448fb5a10628" +checksum = "be33fd47a06cc8f97caf614cf7cf91af9dd6dcd767511578895fa884b430c4b8" dependencies = [ "ethers-contract-abigen", "ethers-contract-derive", @@ -2236,73 +2312,83 @@ dependencies = [ "hex", "once_cell", "pin-project", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "thiserror", ] [[package]] name = "ethers-contract-abigen" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c113e3e86b6bc16d98484b2c3bb2d01d6fed9f489fe2e592e5cc87c3024d616b" +checksum = "60d9f9ecb4a18c1693de954404b66e0c9df31dac055b411645e38c4efebf3dbc" dependencies = [ "Inflector", + "cfg-if 1.0.0", "dunce", "ethers-core", + "ethers-etherscan", "eyre", + "getrandom 0.2.8", "hex", - "prettyplease 0.2.4", + "prettyplease 0.1.24", "proc-macro2", "quote", "regex", - "serde 1.0.163", + "reqwest", + "serde 1.0.147", "serde_json", - "syn 2.0.15", - "toml 0.7.6", + "syn 1.0.109", + "tokio", + "toml", + "url", "walkdir", ] [[package]] name = "ethers-contract-derive" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3fb5adee25701c79ec58fcf2c63594cd8829bc9ad6037ff862d5a111101ed2" +checksum = "001b33443a67e273120923df18bab907a0744ad4b5fef681a8b0691f2ee0f3de" dependencies = [ - "Inflector", "ethers-contract-abigen", "ethers-core", + "eyre", "hex", "proc-macro2", "quote", "serde_json", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "ethers-core" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6da5fa198af0d3be20c19192df2bd9590b92ce09a8421e793bec8851270f1b05" +checksum = "d5925cba515ac18eb5c798ddf6069cc33ae00916cb08ae64194364a1b35c100b" dependencies = [ "arrayvec 0.7.2", "bytes", - "cargo_metadata 0.15.4", + "cargo_metadata 0.15.3", "chrono", - "elliptic-curve 0.13.5", + "convert_case", + "elliptic-curve", "ethabi", - "generic-array 0.14.7", + "generic-array 0.14.6", + "getrandom 0.2.8", "hex", - "k256 0.13.1", + "k256", "num_enum", "once_cell", "open-fastrlp", + "proc-macro2", "rand 0.8.5", "rlp", - "serde 1.0.163", + "rlp-derive", + "serde 1.0.147", "serde_json", "strum", - "syn 2.0.15", + "syn 1.0.109", "tempfile", "thiserror", "tiny-keccak", @@ -2311,14 +2397,16 @@ dependencies = [ [[package]] name = "ethers-etherscan" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84ebb401ba97c6f5af278c2c9936c4546cad75dec464b439ae6df249906f4caa" +checksum = "0d769437fafd0b47ea8b95e774e343c5195c77423f0f54b48d11c0d9ed2148ad" dependencies = [ "ethers-core", + "getrandom 0.2.8", "reqwest", "semver 1.0.17", - "serde 1.0.163", + "serde 1.0.147", + "serde-aux", "serde_json", "thiserror", "tracing 0.1.37", @@ -2326,9 +2414,9 @@ dependencies = [ [[package]] name = "ethers-middleware" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740f4a773c19dd6d6a68c8c2e0996c096488d38997d524e21dc612c55da3bd24" +checksum = "a7dd311b76eab9d15209e4fd16bb419e25543709cbdf33079e8923dfa597517c" dependencies = [ "async-trait", "auto_impl", @@ -2337,12 +2425,11 @@ dependencies = [ "ethers-etherscan", "ethers-providers", "ethers-signers", - "futures-channel", "futures-locks", "futures-util", "instant", "reqwest", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "thiserror", "tokio", @@ -2353,27 +2440,27 @@ dependencies = [ [[package]] name = "ethers-providers" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56b498fd2a6c019d023e43e83488cd1fb0721f299055975aa6bac8dbf1e95f2c" +checksum = "ed7174af93619e81844d3d49887106a3721e5caecdf306e0b824bfb4316db3be" dependencies = [ "async-trait", "auto_impl", "base64 0.21.0", - "bytes", "enr", "ethers-core", "futures-core", "futures-timer", "futures-util", + "getrandom 0.2.8", "hashers", "hex", "http", - "instant", "once_cell", + "parking_lot 0.11.2", "pin-project", "reqwest", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "thiserror", "tokio", @@ -2382,20 +2469,21 @@ dependencies = [ "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-timer", "web-sys", "ws_stream_wasm", ] [[package]] name = "ethers-signers" -version = "2.0.7" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c4b7e15f212fa7cc2e1251868320221d4ff77a3d48068e69f47ce1c491df2d" +checksum = "1d45ff294473124fd5bb96be56516ace179eef0eaec5b281f68c953ddea1a8bf" dependencies = [ "async-trait", "coins-bip32", "coins-bip39", - "elliptic-curve 0.13.5", + "elliptic-curve", "eth-keystore", "ethers-core", "hex", @@ -2412,7 +2500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b36f34b0325008d05b0e9be8361bfa8a0fb905f10de0d951c2621c59e811cb91" dependencies = [ "conpty", - "nix", + "nix 0.26.2", "ptyprocess", "regex", ] @@ -2441,24 +2529,13 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "1.9.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] -[[package]] -name = "fd-lock" -version = "3.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" -dependencies = [ - "cfg-if 1.0.0", - "rustix 0.38.4", - "windows-sys 0.48.0", -] - [[package]] name = "ferveo" version = "0.1.1" @@ -2475,8 +2552,8 @@ dependencies = [ "bincode", "blake2", "blake2b_simd", - "borsh", - "digest 0.10.6", + "borsh 0.9.4", + "digest 0.10.7", "ed25519-dalek", "either", "ferveo-common", @@ -2488,7 +2565,7 @@ dependencies = [ "num 0.4.0", "rand 0.7.3", "rand 0.8.5", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "serde_json", "subproductdomain", @@ -2505,7 +2582,7 @@ dependencies = [ "ark-ec", "ark-serialize", "ark-std", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", ] @@ -2521,20 +2598,22 @@ dependencies = [ ] [[package]] -name = "ff" -version = "0.13.0" +name = "file-lock" +version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "0815fc2a1924e651b71ae6d13df07b356a671a09ecaf857dbd344a2ba937a496" dependencies = [ - "rand_core 0.6.4", - "subtle 2.4.1", + "cc", + "libc", + "mktemp", + "nix 0.24.2", ] [[package]] name = "file-serve" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "547ebf393d987692a02b5d2be1c0b398b16a5b185c23a047c1d3fc3050d6d803" +checksum = "e43addbb09a5dcb5609cb44a01a79e67716fe40b50c109f50112ef201a8c7c59" dependencies = [ "log", "mime_guess", @@ -2543,14 +2622,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", - "windows-sys 0.48.0", + "redox_syscall", + "windows-sys 0.42.0", ] [[package]] @@ -2573,12 +2652,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ "crc32fast", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] @@ -2637,9 +2716,9 @@ dependencies = [ [[package]] name = "fs_extra" -version = "1.3.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" [[package]] name = "funty" @@ -2713,7 +2792,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -2733,10 +2812,6 @@ name = "futures-timer" version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] [[package]] name = "futures-util" @@ -2776,13 +2851,12 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.7" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -2800,9 +2874,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -2818,23 +2892,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" dependencies = [ "fallible-iterator", - "indexmap 1.9.3", + "indexmap", "stable_deref_trait", ] -[[package]] -name = "gimli" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" - [[package]] name = "git2" version = "0.13.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "libc", "libgit2-sys", "log", @@ -2845,21 +2913,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "gloo-timers" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "group" @@ -2867,23 +2923,12 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff 0.12.1", + "ff", "memuse", "rand_core 0.6.4", "subtle 2.4.1", ] -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff 0.13.0", - "rand_core 0.6.4", - "subtle 2.4.1", -] - [[package]] name = "group-threshold-cryptography" version = "0.1.0" @@ -2930,9 +2975,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.19" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -2940,10 +2985,10 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap", "slab", "tokio", - "tokio-util 0.7.8", + "tokio-util 0.7.4", "tracing 0.1.37", ] @@ -2971,12 +3016,6 @@ dependencies = [ "ahash", ] -[[package]] -name = "hashbrown" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" - [[package]] name = "hashers" version = "1.0.1" @@ -2988,9 +3027,9 @@ dependencies = [ [[package]] name = "hdpath" -version = "0.6.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa5bc9db2c17d2660f53ce217b778d06d68de13d1cd01c0f4e5de4b7918935f" +checksum = "dafb09e5d85df264339ad786a147d9de1da13687a3697c52244297e5e7c32d9c" dependencies = [ "byteorder", ] @@ -3012,7 +3051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags 1.2.1", + "bitflags 1.3.2", "bytes", "headers-core", "http", @@ -3032,24 +3071,24 @@ dependencies = [ [[package]] name = "heck" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -3093,7 +3132,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -3114,7 +3153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ "digest 0.9.0", - "generic-array 0.14.7", + "generic-array 0.14.6", "hmac 0.8.1", ] @@ -3126,9 +3165,9 @@ checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" [[package]] name = "http" -version = "0.2.9" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", @@ -3146,6 +3185,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" version = "1.8.0" @@ -3171,14 +3216,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" dependencies = [ "humantime", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "hyper" -version = "0.14.26" +version = "0.14.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" dependencies = [ "bytes", "futures-channel", @@ -3209,7 +3254,7 @@ dependencies = [ "headers", "http", "hyper", - "hyper-rustls", + "hyper-rustls 0.22.1", "rustls-native-certs 0.5.0", "tokio", "tokio-rustls 0.22.0", @@ -3235,6 +3280,19 @@ dependencies = [ "webpki-roots 0.21.1", ] +[[package]] +name = "hyper-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper", + "rustls 0.20.7", + "tokio", + "tokio-rustls 0.23.4", +] + [[package]] name = "hyper-timeout" version = "0.4.1" @@ -3262,31 +3320,32 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows 0.48.0", + "winapi", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" dependencies = [ - "cc", + "cxx", + "cxx-build", ] [[package]] name = "ibc" -version = "0.36.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=634f4ede136d045dd6f1ff8f4984dd0006aa15f0#634f4ede136d045dd6f1ff8f4984dd0006aa15f0" +version = "0.41.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=1797c2b38eb4a718a63a171f59948f08b427bb1f#1797c2b38eb4a718a63a171f59948f08b427bb1f" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -3294,14 +3353,14 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "num-traits 0.2.15", - "parking_lot", + "parking_lot 0.12.1", "primitive-types", "prost", "safe-regex", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", "serde_json", "sha2 0.10.6", @@ -3324,12 +3383,29 @@ dependencies = [ "bytes", "flex-error", "prost", - "serde 1.0.163", + "serde 1.0.147", "subtle-encoding", "tendermint-proto", "tonic", ] +[[package]] +name = "ibc-proto" +version = "0.30.0" +source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=349582059c0cf1f4cdce9e93b33552687c9df54a#349582059c0cf1f4cdce9e93b33552687c9df54a" +dependencies = [ + "base64 0.21.0", + "borsh 0.10.3", + "bytes", + "flex-error", + "parity-scale-codec", + "prost", + "scale-info", + "serde 1.0.147", + "subtle-encoding", + "tendermint-proto", +] + [[package]] name = "ibc-relayer" version = "0.22.0" @@ -3341,21 +3417,21 @@ dependencies = [ "bitcoin", "bs58", "bytes", - "crossbeam-channel 0.5.8", - "digest 0.10.6", + "crossbeam-channel 0.5.6", + "digest 0.10.7", "dirs-next", "ed25519", "ed25519-dalek", "ed25519-dalek-bip32", "flex-error", "futures", - "generic-array 0.14.7", + "generic-array 0.14.6", "hdpath", "hex", "http", "humantime", "humantime-serde", - "ibc-proto", + "ibc-proto 0.26.0", "ibc-relayer-types", "itertools", "moka", @@ -3367,11 +3443,11 @@ dependencies = [ "ripemd", "secp256k1", "semver 1.0.17", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", "serde_json", "sha2 0.10.6", - "signature 1.6.4", + "signature", "strum", "subtle-encoding", "tendermint", @@ -3383,10 +3459,10 @@ dependencies = [ "tiny-bip39 1.0.0", "tiny-keccak", "tokio", - "toml 0.5.9", + "toml", "tonic", "tracing 0.1.37", - "uuid 1.3.2", + "uuid 1.2.1", ] [[package]] @@ -3399,14 +3475,14 @@ dependencies = [ "dyn-clone", "erased-serde", "flex-error", - "ibc-proto", + "ibc-proto 0.26.0", "ics23", "itertools", "num-rational 0.4.1", "primitive-types", "prost", "safe-regex", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", "serde_json", "subtle-encoding", @@ -3485,7 +3561,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -3505,7 +3581,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5ad43a3f5795945459d577f6589cf62a476e92c79b75e70cd954364e14ce17b" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -3519,29 +3595,19 @@ name = "index-set" version = "0.7.1" source = "git+https://github.com/heliaxdev/index-set?tag=v0.7.1#dc24cdbbe3664514d59f1a4c4031863fc565f1c2" dependencies = [ - "borsh", - "serde 1.0.163", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde 1.0.163", + "borsh 0.9.4", + "serde 1.0.147", ] [[package]] name = "indexmap" -version = "2.0.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ - "equivalent", - "hashbrown 0.14.0", + "autocfg", + "hashbrown 0.12.3", + "serde 1.0.147", ] [[package]] @@ -3550,7 +3616,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "generic-array 0.14.7", + "generic-array 0.14.6", ] [[package]] @@ -3585,30 +3651,28 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.10" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" dependencies = [ - "hermit-abi 0.3.1", "libc", - "windows-sys 0.48.0", + "windows-sys 0.42.0", ] [[package]] name = "ipnet" -version = "2.7.2" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745" [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix 0.37.13", + "hermit-abi 0.3.2", + "rustix 0.38.3", "windows-sys 0.48.0", ] @@ -3623,24 +3687,24 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.62" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -3653,8 +3717,8 @@ checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" dependencies = [ "bitvec 1.0.1", "bls12_381", - "ff 0.12.1", - "group 0.12.1", + "ff", + "group", "rand_core 0.6.4", "subtle 2.4.1", ] @@ -3666,33 +3730,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if 1.0.0", - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.6", -] - -[[package]] -name = "k256" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa 0.16.7", - "elliptic-curve 0.13.5", - "once_cell", + "ecdsa", + "elliptic-curve", "sha2 0.10.6", - "signature 2.1.0", + "sha3", ] [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" -dependencies = [ - "cpufeatures", -] +checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" [[package]] name = "lazy_static" @@ -3719,7 +3767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags 1.2.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "ryu", "static_assertions", @@ -3806,7 +3854,7 @@ dependencies = [ "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.8.5", - "serde 1.0.163", + "serde 1.0.147", "sha2 0.9.9", "typenum", ] @@ -3853,9 +3901,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" dependencies = [ "cc", "libc", @@ -3863,20 +3911,29 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "linux-raw-sys" -version = "0.3.7" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" @@ -3896,9 +3953,12 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if 1.0.0", +] [[package]] name = "loupe" @@ -3906,7 +3966,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6a72dfa44fe15b5e76b94307eeb2ff995a8c5b283b55008940c02e0c5b634d" dependencies = [ - "indexmap 1.9.3", + "indexmap", "loupe-derive", "rustversion", ] @@ -3930,25 +3990,16 @@ dependencies = [ "libc", ] -[[package]] -name = "mach2" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" -dependencies = [ - "libc", -] - [[package]] name = "madato" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c36112680b23ee7a5d2a10e56b59a74e4028963e9080b8abec4e69d0d773dc06" dependencies = [ - "indexmap 1.9.3", + "indexmap", "linked-hash-map", "regex", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", "serde_yaml", ] @@ -3958,7 +4009,7 @@ name = "masp_note_encryption" version = "0.2.0" source = "git+https://github.com/anoma/masp?rev=252a6059565b125c1444e9e7d0b7c8da0fba8f8f#252a6059565b125c1444e9e7d0b7c8da0fba8f8f" dependencies = [ - "borsh", + "borsh 0.9.4", "chacha20 0.9.1", "chacha20poly1305", "cipher 0.4.4", @@ -3977,11 +4028,11 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh", + "borsh 0.9.4", "byteorder", - "ff 0.12.1", + "ff", "fpe", - "group 0.12.1", + "group", "hex", "incrementalmerkletree", "jubjub", @@ -4005,8 +4056,8 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.9", - "group 0.12.1", + "getrandom 0.2.8", + "group", "itertools", "jubjub", "lazy_static", @@ -4057,9 +4108,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memmap2" -version = "0.5.10" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", ] @@ -4082,15 +4133,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memuse" version = "0.2.1" @@ -4117,9 +4159,9 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.17" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "mime_guess" @@ -4139,45 +4181,36 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", ] [[package]] name = "minreq" -version = "2.8.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6c6973f78ef55d0e5fc04fdb8f9ad67c87c9e86bca0ff77b6a3102b0eb36b7" +checksum = "4c785bc6027fd359756e538541c8624012ba3776d3d3fe123885643092ed4132" dependencies = [ + "lazy_static", "log", - "once_cell", - "rustls 0.20.8", + "rustls 0.20.7", "webpki 0.22.0", - "webpki-roots 0.22.6", + "webpki-roots 0.22.5", ] [[package]] name = "mio" -version = "0.8.6" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.42.0", ] [[package]] @@ -4186,18 +4219,27 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" +[[package]] +name = "mktemp" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "975de676448231fcde04b9149d2543077e166b78fc29eae5aa219e7928410da2" +dependencies = [ + "uuid 0.8.2", +] + [[package]] name = "moka" -version = "0.9.8" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ca9b167ed904bc89a2f64c4be5014615c26fd9c4ddd2042c6094744c7df11a" +checksum = "19b9268097a2cf211ac9955b1cc95e80fa84fff5c2d13ba292916445dc8a311f" dependencies = [ - "crossbeam-channel 0.5.8", + "crossbeam-channel 0.5.6", "crossbeam-epoch", - "crossbeam-utils 0.8.15", + "crossbeam-utils 0.8.12", "num_cpus", "once_cell", - "parking_lot", + "parking_lot 0.12.1", "quanta", "rustc_version 0.4.0", "scheduled-thread-pool", @@ -4206,7 +4248,7 @@ dependencies = [ "tagptr", "thiserror", "triomphe", - "uuid 1.3.2", + "uuid 1.2.1", ] [[package]] @@ -4216,38 +4258,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" [[package]] -name = "multer" -version = "2.1.0" +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "multipart" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http", + "buf_redux", "httparse", "log", - "memchr", "mime", - "spin 0.9.8", - "version_check", + "mime_guess", + "quick-error", + "rand 0.8.5", + "safemem", + "tempfile", + "twoway", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - [[package]] name = "namada" -version = "0.20.0" +version = "0.19.0" dependencies = [ "assert_matches", "async-trait", "base58 0.2.0", "bimap", - "borsh", + "borsh 0.9.4", "byte-unit", "circular-queue", "clru", @@ -4281,7 +4323,7 @@ dependencies = [ "rand_core 0.6.4", "rayon", "ripemd", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "sha2 0.9.9", "slip10_ed25519", @@ -4292,9 +4334,9 @@ dependencies = [ "tiny-bip39 0.8.2", "tiny-hderive", "tokio", - "toml 0.5.9", + "toml", "tracing 0.1.37", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", "wasm-instrument", "wasmer", "wasmer-cache", @@ -4309,7 +4351,7 @@ dependencies = [ [[package]] name = "namada_apps" -version = "0.20.0" +version = "0.19.0" dependencies = [ "ark-serialize", "ark-std", @@ -4320,7 +4362,7 @@ dependencies = [ "bimap", "bit-set", "blake2b-rs", - "borsh", + "borsh 0.9.4", "byte-unit", "byteorder", "bytes", @@ -4336,14 +4378,13 @@ dependencies = [ "ethbridge-events", "ethbridge-governance-events", "eyre", - "fd-lock", "ferveo", "ferveo-common", + "file-lock", "flate2", "futures", "git2", "itertools", - "lazy_static", "libc", "libloading", "masp_primitives", @@ -4369,7 +4410,7 @@ dependencies = [ "rlimit", "rocksdb", "rpassword", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "serde_json", "sha2 0.9.9", @@ -4383,14 +4424,14 @@ dependencies = [ "thiserror", "tokio", "tokio-test", - "toml 0.5.9", + "toml", "tonic", "tower", "tower-abci", "tracing 0.1.37", "tracing-appender", "tracing-log", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", "warp", "winapi", "zeroize", @@ -4398,14 +4439,14 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.20.0" +version = "0.19.0" dependencies = [ "ark-bls12-381", "ark-ec", "ark-serialize", "assert_matches", "bech32 0.8.1", - "borsh", + "borsh 0.9.4", "chrono", "data-encoding", "derivative", @@ -4417,7 +4458,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "impl-num-traits", "index-set", @@ -4436,7 +4477,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "rayon", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "sha2 0.9.9", "sparse-merkle-tree", @@ -4445,19 +4486,19 @@ dependencies = [ "test-log", "thiserror", "tiny-keccak", - "toml 0.5.9", + "toml", "tonic-build", "tracing 0.1.37", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", "uint", "zeroize", ] [[package]] name = "namada_encoding_spec" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "itertools", "lazy_static", "madato", @@ -4466,10 +4507,10 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.20.0" +version = "0.19.0" dependencies = [ "assert_matches", - "borsh", + "borsh 0.9.4", "data-encoding", "ethabi", "ethers", @@ -4479,18 +4520,18 @@ dependencies = [ "namada_macros", "namada_proof_of_stake", "rand 0.8.5", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "tendermint", "tendermint-proto", "tendermint-rpc", - "toml 0.5.9", + "toml", "tracing 0.1.37", ] [[package]] name = "namada_macros" -version = "0.20.0" +version = "0.19.0" dependencies = [ "proc-macro2", "quote", @@ -4499,9 +4540,9 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "data-encoding", "derivative", "itertools", @@ -4512,27 +4553,25 @@ dependencies = [ "test-log", "thiserror", "tracing 0.1.37", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", ] [[package]] name = "namada_test_utils" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "strum", ] [[package]] name = "namada_tests" -version = "0.20.0" +version = "0.19.0" dependencies = [ "assert_cmd", - "async-trait", - "borsh", + "borsh 0.9.4", "chrono", - "clap", "color-eyre", "concat-idents", "data-encoding", @@ -4546,14 +4585,12 @@ dependencies = [ "ibc-relayer", "ibc-relayer-types", "itertools", - "lazy_static", "namada", "namada_apps", "namada_core", "namada_test_utils", "namada_tx_prelude", "namada_vp_prelude", - "num-traits 0.2.15", "once_cell", "pretty_assertions", "proptest", @@ -4566,16 +4603,16 @@ dependencies = [ "tempfile", "test-log", "tokio", - "toml 0.5.9", + "toml", "tracing 0.1.37", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", ] [[package]] name = "namada_tx_prelude" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", "namada_macros", @@ -4587,18 +4624,18 @@ dependencies = [ [[package]] name = "namada_vm_env" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", ] [[package]] name = "namada_vp_prelude" -version = "0.20.0" +version = "0.19.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "namada_macros", "namada_proof_of_stake", @@ -4625,13 +4662,24 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nix" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +dependencies = [ + "bitflags 1.3.2", + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "nix" version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "memoffset 0.7.1", @@ -4641,9 +4689,9 @@ dependencies = [ [[package]] name = "nom" -version = "5.1.3" +version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ "lexical-core", "memchr", @@ -4652,9 +4700,9 @@ dependencies = [ [[package]] name = "nom" -version = "7.1.3" +version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" dependencies = [ "memchr", "minimal-lexical", @@ -4668,9 +4716,9 @@ checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" [[package]] name = "ntapi" -version = "0.4.1" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" dependencies = [ "winapi", ] @@ -4706,7 +4754,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" dependencies = [ "num-bigint 0.4.3", - "num-complex 0.4.3", + "num-complex 0.4.2", "num-integer", "num-iter", "num-rational 0.4.1", @@ -4733,7 +4781,7 @@ dependencies = [ "autocfg", "num-integer", "num-traits 0.2.15", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -4748,9 +4796,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" dependencies = [ "num-traits 0.2.15", ] @@ -4809,7 +4857,7 @@ dependencies = [ "num-bigint 0.4.3", "num-integer", "num-traits 0.2.15", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -4841,39 +4889,39 @@ dependencies = [ "num 0.4.0", "num-derive", "num-traits 0.2.15", - "serde 1.0.163", + "serde 1.0.147", "serde_derive", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.1.19", "libc", ] [[package]] name = "num_enum" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] @@ -4884,15 +4932,15 @@ checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" dependencies = [ "crc32fast", "hashbrown 0.11.2", - "indexmap 1.9.3", + "indexmap", "memchr", ] [[package]] name = "object" -version = "0.30.3" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" dependencies = [ "memchr", ] @@ -4942,11 +4990,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.52" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4957,13 +5005,13 @@ dependencies = [ [[package]] name = "openssl-macros" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] @@ -4974,10 +5022,11 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.87" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ + "autocfg", "cc", "libc", "pkg-config", @@ -4991,7 +5040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.9", + "getrandom 0.2.8", "subtle 2.4.1", "zeroize", ] @@ -5029,30 +5078,30 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" dependencies = [ - "group 0.12.1", + "group", ] [[package]] name = "parity-scale-codec" -version = "3.5.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28" +checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a" dependencies = [ "arrayvec 0.7.2", "bitvec 1.0.1", "byte-slice-cast", "impl-trait-for-tuples", "parity-scale-codec-derive", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "parity-scale-codec-derive" -version = "3.1.4" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" +checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn 1.0.109", @@ -5064,6 +5113,17 @@ version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -5071,20 +5131,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.4", ] [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", + "redox_syscall", "smallvec", - "windows-sys 0.45.0", + "windows-sys 0.42.0", ] [[package]] @@ -5109,11 +5183,22 @@ dependencies = [ "subtle 2.4.1", ] +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.4.1", +] + [[package]] name = "paste" -version = "1.0.12" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" [[package]] name = "pbkdf2" @@ -5131,7 +5216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" dependencies = [ "crypto-mac 0.11.1", - "password-hash", + "password-hash 0.3.2", ] [[package]] @@ -5140,17 +5225,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", -] - -[[package]] -name = "pbkdf2" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ca0b5a68607598bf3bad68f32227a8164f6254833f84eafaac409cd6746c31" -dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "hmac 0.12.1", + "password-hash 0.4.2", + "sha2 0.10.6", ] [[package]] @@ -5194,22 +5272,21 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.6.0" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" dependencies = [ - "thiserror", "ucd-trie", ] [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap", ] [[package]] @@ -5224,22 +5301,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.0" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.0" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] @@ -5256,19 +5333,19 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs8" -version = "0.10.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "der 0.7.7", + "der", "spki", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "poly1305" @@ -5289,9 +5366,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "predicates" -version = "2.1.5" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" dependencies = [ "difflib", "itertools", @@ -5300,15 +5377,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" dependencies = [ "predicates-core", "termtree", @@ -5328,9 +5405,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "4ebcd279d20a4a0a2404a33056388e950504d891c855c7975b9a8fef75f3bf04" dependencies = [ "proc-macro2", "syn 1.0.109", @@ -5338,12 +5415,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ceca8aaf45b5c46ec7ed39fff75f57290368c1846d33d24a122ca81416ab058" +checksum = "3b69d39aab54d069e7f2fe8cb970493e7834601ca2d8c65fd7bbd183578080d1" dependencies = [ "proc-macro2", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -5366,17 +5443,18 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ - "toml 0.5.9", + "toml", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" dependencies = [ "once_cell", - "toml_edit", + "thiserror", + "toml", ] [[package]] @@ -5405,9 +5483,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8" dependencies = [ "unicode-ident", ] @@ -5419,14 +5497,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65" dependencies = [ "bit-set", - "bitflags 1.2.1", + "bitflags 1.3.2", "byteorder", "lazy_static", "num-traits 0.2.15", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.6.29", + "regex-syntax 0.6.28", "rusty-fork", "tempfile", "unarray", @@ -5464,7 +5542,7 @@ dependencies = [ "log", "multimap", "petgraph", - "prettyplease 0.1.25", + "prettyplease 0.1.24", "prost", "prost-types", "regex", @@ -5521,7 +5599,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e05aef7befb11a210468a2d77d978dde2c6381a0381e33beb575e91f57fe8cf" dependencies = [ - "nix", + "nix 0.26.2", ] [[package]] @@ -5530,23 +5608,23 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34f197a544b0c9ab3ae46c359a7ec9cbbb5c7bf97054266fecb7ead794a181d6" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "memchr", "unicase", ] [[package]] name = "quanta" -version = "0.11.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" +checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" dependencies = [ - "crossbeam-utils 0.8.15", + "crossbeam-utils 0.8.12", "libc", - "mach2", + "mach", "once_cell", "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.10.2+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -5637,7 +5715,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.8", ] [[package]] @@ -5660,11 +5738,11 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "10.7.0" +version = "10.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" +checksum = "a6823ea29436221176fe662da99998ad3b4db2c7f31e7b6f5fe43adccd6320bb" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", ] [[package]] @@ -5681,13 +5759,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ - "crossbeam-channel 0.5.8", + "crossbeam-channel 0.5.6", "crossbeam-deque", - "crossbeam-utils 0.8.15", + "crossbeam-utils 0.8.12", "num_cpus", ] @@ -5702,7 +5780,7 @@ dependencies = [ "digest 0.9.0", "jubjub", "rand_core 0.6.4", - "serde 1.0.163", + "serde 1.0.147", "thiserror", "zeroize", ] @@ -5713,16 +5791,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.2.1", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", ] [[package]] @@ -5731,8 +5800,8 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.9", - "redox_syscall 0.2.16", + "getrandom 0.2.8", + "redox_syscall", "thiserror", ] @@ -5764,14 +5833,14 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax 0.6.29", + "regex-syntax 0.6.28", ] [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "regex-syntax" @@ -5785,7 +5854,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "libc", "mach", "winapi", @@ -5793,18 +5862,18 @@ dependencies = [ [[package]] name = "rend" -version = "0.4.0" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +checksum = "79af64b4b6362ffba04eef3a4e10829718a4896dac19daa741851c86781edf95" dependencies = [ "bytecheck", ] [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ "base64 0.21.0", "bytes", @@ -5815,6 +5884,7 @@ dependencies = [ "http", "http-body", "hyper", + "hyper-rustls 0.23.2", "hyper-tls", "ipnet", "js-sys", @@ -5824,16 +5894,20 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "serde 1.0.163", + "rustls 0.20.7", + "rustls-pemfile 1.0.2", + "serde 1.0.147", "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", + "tokio-rustls 0.23.4", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots 0.22.5", "winreg", ] @@ -5849,21 +5923,11 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ - "crypto-bigint 0.4.9", + "crypto-bigint", "hmac 0.12.1", "zeroize", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac 0.12.1", - "subtle 2.4.1", -] - [[package]] name = "ring" version = "0.16.20" @@ -5873,7 +5937,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin 0.5.2", + "spin", "untrusted", "web-sys", "winapi", @@ -5885,7 +5949,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -5901,26 +5965,23 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.42" +version = "0.7.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +checksum = "cec2b3485b07d96ddfd3134767b8a447b45ea4eb91448d0a35180ec0ffd5ed15" dependencies = [ - "bitvec 1.0.1", "bytecheck", "hashbrown 0.12.3", "ptr_meta", "rend", "rkyv_derive", "seahash", - "tinyvec", - "uuid 1.3.2", ] [[package]] name = "rkyv_derive" -version = "0.7.42" +version = "0.7.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +checksum = "6eaedadc88b53e36dd32d940ed21ae4d850d5916f2581526921f553a72ac34c4" dependencies = [ "proc-macro2", "quote", @@ -5943,7 +6004,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", - "rlp-derive", "rustc-hex", ] @@ -5986,9 +6046,9 @@ checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] name = "rustc-hash" @@ -6022,26 +6082,26 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.13" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79bef90eb6d984c72722595b5b1348ab39275a5e5123faca6863bf07d75a4e0" +checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" dependencies = [ - "bitflags 1.2.1", - "errno", + "bitflags 1.3.2", + "errno 0.2.8", "io-lifetimes", "libc", - "linux-raw-sys 0.3.7", - "windows-sys 0.48.0", + "linux-raw-sys 0.1.4", + "windows-sys 0.42.0", ] [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" dependencies = [ "bitflags 2.3.3", - "errno", + "errno 0.3.1", "libc", "linux-raw-sys 0.4.3", "windows-sys 0.48.0", @@ -6062,9 +6122,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.8" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ "log", "ring", @@ -6086,30 +6146,39 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.2", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ "base64 0.21.0", ] [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" [[package]] name = "rusty-fork" @@ -6125,9 +6194,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "safe-proc-macro2" @@ -6176,6 +6245,12 @@ dependencies = [ "safe-regex-compiler", ] +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + [[package]] name = "salsa20" version = "0.10.2" @@ -6196,9 +6271,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.9.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" +checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" dependencies = [ "cfg-if 1.0.0", "derive_more", @@ -6208,11 +6283,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.9.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" +checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.2.1", "proc-macro2", "quote", "syn 1.0.109", @@ -6220,20 +6295,21 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ - "windows-sys 0.42.0", + "lazy_static", + "windows-sys 0.36.1", ] [[package]] name = "scheduled-thread-pool" -version = "0.2.7" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" +checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" dependencies = [ - "parking_lot", + "parking_lot 0.12.1", ] [[package]] @@ -6248,6 +6324,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "scrypt" version = "0.10.0" @@ -6292,22 +6374,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "sec1" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e" -dependencies = [ - "base16ct 0.2.0", - "der 0.7.7", - "generic-array 0.14.7", + "base16ct", + "der", + "generic-array 0.14.6", "pkcs8", "subtle 2.4.1", "zeroize", @@ -6322,7 +6391,7 @@ dependencies = [ "bitcoin_hashes", "rand 0.8.5", "secp256k1-sys", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -6340,7 +6409,7 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" dependencies = [ - "bitflags 1.2.1", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -6349,9 +6418,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" dependencies = [ "core-foundation-sys", "libc", @@ -6372,7 +6441,7 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -6384,12 +6453,6 @@ dependencies = [ "pest", ] -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - [[package]] name = "send_wrapper" version = "0.6.0" @@ -6404,13 +6467,23 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-aux" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c599b3fd89a75e0c18d6d2be693ddb12cccaf771db4ff9e39097104808a014c0" +dependencies = [ + "serde 1.0.147", + "serde_json", +] + [[package]] name = "serde-hjson" version = "0.9.1" @@ -6425,11 +6498,11 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" dependencies = [ - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -6439,49 +6512,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ "half", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ "itoa", "ryu", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] name = "serde_repr" -version = "0.1.12" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" +checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", -] - -[[package]] -name = "serde_spanned" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" -dependencies = [ - "serde 1.0.163", + "syn 1.0.109", ] [[package]] @@ -6493,7 +6557,7 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.163", + "serde 1.0.147", ] [[package]] @@ -6504,7 +6568,7 @@ checksum = "ef8099d3df28273c99a1728190c7a9f19d444c941044f64adf986bee7ec53051" dependencies = [ "dtoa", "linked-hash-map", - "serde 1.0.163", + "serde 1.0.147", "yaml-rust", ] @@ -6521,6 +6585,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha1" version = "0.10.5" @@ -6529,7 +6604,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -6565,16 +6640,16 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] @@ -6595,9 +6670,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.15" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" dependencies = [ "libc", "signal-hook-registry", @@ -6605,9 +6680,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" dependencies = [ "libc", ] @@ -6618,26 +6693,10 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.6", - "rand_core 0.6.4", -] - -[[package]] -name = "signature" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" -dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - [[package]] name = "simple-error" version = "0.2.3" @@ -6661,9 +6720,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.8" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" dependencies = [ "autocfg", ] @@ -6685,9 +6744,9 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", @@ -6699,7 +6758,7 @@ version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=e086b235ed6e68929bf73f617dd61cd17b000a56#e086b235ed6e68929bf73f617dd61cd17b000a56" dependencies = [ "blake2b-rs", - "borsh", + "borsh 0.9.4", "cfg-if 1.0.0", "ics23", "sha2 0.9.9", @@ -6711,20 +6770,14 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "spki" -version = "0.7.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", - "der 0.7.7", + "der", ] [[package]] @@ -6820,9 +6873,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.15" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" dependencies = [ "proc-macro2", "quote", @@ -6835,11 +6888,23 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + [[package]] name = "sysinfo" -version = "0.29.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e810399bba86e9326f5762b7f32ac5a085542df78da6a78d94e07d14d7c11" +checksum = "fb6c2c4a6ca462f07ca89841a2618dca6e405304d19ae238997e64915d89f513" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -6874,21 +6939,21 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.7" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" [[package]] name = "tempfile" -version = "3.5.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall 0.3.5", - "rustix 0.37.13", - "windows-sys 0.45.0", + "redox_syscall", + "rustix 0.36.5", + "windows-sys 0.42.0", ] [[package]] @@ -6902,18 +6967,18 @@ dependencies = [ "ed25519-dalek", "flex-error", "futures", - "k256 0.11.6", + "k256", "num-traits 0.2.15", "once_cell", "prost", "prost-types", "ripemd160", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "serde_json", "serde_repr", "sha2 0.9.9", - "signature 1.6.4", + "signature", "subtle 2.4.1", "subtle-encoding", "tendermint-proto", @@ -6927,10 +6992,10 @@ version = "0.23.6" source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7#b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7" dependencies = [ "flex-error", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "tendermint", - "toml 0.5.9", + "toml", "url", ] @@ -6944,7 +7009,7 @@ dependencies = [ "derive_more", "flex-error", "futures", - "serde 1.0.163", + "serde 1.0.147", "serde_cbor", "serde_derive", "static_assertions", @@ -6962,7 +7027,7 @@ source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb dependencies = [ "derive_more", "flex-error", - "serde 1.0.163", + "serde 1.0.147", "tendermint", "time", ] @@ -6978,7 +7043,7 @@ dependencies = [ "num-traits 0.2.15", "prost", "prost-types", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "subtle-encoding", "time", @@ -6994,14 +7059,14 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.9", + "getrandom 0.2.8", "http", "hyper", "hyper-proxy", - "hyper-rustls", + "hyper-rustls 0.22.1", "peg", "pin-project", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "serde_json", "subtle-encoding", @@ -7024,7 +7089,7 @@ source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb dependencies = [ "ed25519-dalek", "gumdrop", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "simple-error", "tempfile", @@ -7032,11 +7097,20 @@ dependencies = [ "time", ] +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + [[package]] name = "termtree" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" [[package]] name = "test-log" @@ -7051,41 +7125,41 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" dependencies = [ - "cfg-if 1.0.0", "once_cell", ] [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3" dependencies = [ "cc", + "fs_extra", "libc", ] @@ -7096,7 +7170,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" dependencies = [ "itoa", - "serde 1.0.163", + "serde 1.0.147", "time-core", "time-macros", ] @@ -7177,14 +7251,15 @@ dependencies = [ [[package]] name = "tiny_http" -version = "0.12.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82" +checksum = "e0d6ef4e10d23c1efb862eecad25c5054429a71958b4eeef85eb5e7170b477ca" dependencies = [ "ascii", "chunked_transfer", - "httpdate", "log", + "time", + "url", ] [[package]] @@ -7198,27 +7273,28 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.28.1" +version = "1.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ "autocfg", "bytes", "libc", + "memchr", "mio", "num_cpus", - "parking_lot", + "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "winapi", ] [[package]] @@ -7233,20 +7309,20 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] name = "tokio-native-tls" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", "tokio", @@ -7269,16 +7345,16 @@ version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls 0.20.8", + "rustls 0.20.7", "tokio", "webpki 0.22.0", ] [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite", @@ -7300,14 +7376,14 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.18.0" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd" +checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" dependencies = [ "futures-util", "log", "tokio", - "tungstenite 0.18.0", + "tungstenite 0.17.3", ] [[package]] @@ -7326,9 +7402,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", @@ -7344,41 +7420,7 @@ version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ - "serde 1.0.163", -] - -[[package]] -name = "toml" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" -dependencies = [ - "serde 1.0.163", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde 1.0.163", -] - -[[package]] -name = "toml_edit" -version = "0.19.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" -dependencies = [ - "indexmap 2.0.0", - "serde 1.0.163", - "serde_spanned", - "toml_datetime", - "winnow", + "serde 1.0.147", ] [[package]] @@ -7403,12 +7445,12 @@ dependencies = [ "pin-project", "prost", "prost-derive", - "rustls-native-certs 0.6.3", - "rustls-pemfile", + "rustls-native-certs 0.6.2", + "rustls-pemfile 1.0.2", "tokio", "tokio-rustls 0.23.4", "tokio-stream", - "tokio-util 0.7.8", + "tokio-util 0.7.4", "tower", "tower-layer", "tower-service", @@ -7422,7 +7464,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" dependencies = [ - "prettyplease 0.1.25", + "prettyplease 0.1.24", "proc-macro2", "prost-build", "quote", @@ -7438,13 +7480,13 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 1.9.3", + "indexmap", "pin-project", "pin-project-lite", "rand 0.8.5", "slab", "tokio", - "tokio-util 0.7.8", + "tokio-util 0.7.4", "tower-layer", "tower-service", "tracing 0.1.37", @@ -7468,6 +7510,25 @@ dependencies = [ "tracing-tower", ] +[[package]] +name = "tower-http" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +dependencies = [ + "bitflags 1.3.2", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.2" @@ -7509,8 +7570,8 @@ dependencies = [ "cfg-if 1.0.0", "log", "pin-project-lite", - "tracing-attributes 0.1.24", - "tracing-core 0.1.31", + "tracing-attributes 0.1.23", + "tracing-core 0.1.30", ] [[package]] @@ -7519,9 +7580,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" dependencies = [ - "crossbeam-channel 0.5.8", + "crossbeam-channel 0.5.6", "time", - "tracing-subscriber 0.3.17", + "tracing-subscriber 0.3.16", ] [[package]] @@ -7536,13 +7597,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", ] [[package]] @@ -7555,9 +7616,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", "valuable", @@ -7600,7 +7661,7 @@ checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ "lazy_static", "log", - "tracing-core 0.1.31", + "tracing-core 0.1.30", ] [[package]] @@ -7609,8 +7670,8 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" dependencies = [ - "serde 1.0.163", - "tracing-core 0.1.31", + "serde 1.0.147", + "tracing-core 0.1.30", ] [[package]] @@ -7621,25 +7682,25 @@ checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" dependencies = [ "sharded-slab", "thread_local", - "tracing-core 0.1.31", + "tracing-core 0.1.30", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" dependencies = [ "matchers", "nu-ansi-term", "once_cell", "regex", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "sharded-slab", "thread_local", "tracing 0.1.37", - "tracing-core 0.1.31", + "tracing-core 0.1.30", "tracing-log", "tracing-serde", ] @@ -7660,15 +7721,15 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.9" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "tungstenite" @@ -7684,16 +7745,16 @@ dependencies = [ "input_buffer", "log", "rand 0.8.5", - "sha-1", + "sha-1 0.9.8", "url", "utf-8", ] [[package]] name = "tungstenite" -version = "0.18.0" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788" +checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" dependencies = [ "base64 0.13.1", "byteorder", @@ -7702,17 +7763,26 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "sha1", + "sha-1 0.10.0", "thiserror", "url", "utf-8", ] +[[package]] +name = "twoway" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" +dependencies = [ + "memchr", +] + [[package]] name = "typenum" -version = "1.16.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "ucd-trie" @@ -7749,15 +7819,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" @@ -7768,6 +7838,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" + [[package]] name = "unicode-width" version = "0.1.10" @@ -7831,17 +7907,17 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.9", - "serde 1.0.163", + "getrandom 0.2.8", + "serde 1.0.147", ] [[package]] name = "uuid" -version = "1.3.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2" +checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.8", ] [[package]] @@ -7923,11 +7999,12 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.3.3" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" dependencies = [ "same-file", + "winapi", "winapi-util", ] @@ -7943,9 +8020,9 @@ dependencies = [ [[package]] name = "warp" -version = "0.3.5" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba431ef570df1287f7f8b07e376491ad54f84d26ac473489427231e1718e1f69" +checksum = "ed7b8be92646fc3d18b06147664ebc5f48d222686cb11a8755e561a735aacc6d" dependencies = [ "bytes", "futures-channel", @@ -7956,18 +8033,18 @@ dependencies = [ "log", "mime", "mime_guess", - "multer", + "multipart", "percent-encoding", "pin-project", - "rustls-pemfile", + "rustls-pemfile 0.2.1", "scoped-tls", - "serde 1.0.163", + "serde 1.0.147", "serde_json", "serde_urlencoded", "tokio", "tokio-stream", "tokio-tungstenite", - "tokio-util 0.7.8", + "tokio-util 0.7.4", "tower-service", "tracing 0.1.37", ] @@ -7978,6 +8055,12 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -7986,9 +8069,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.85" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7996,24 +8079,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.85" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.35" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "083abe15c5d88556b77bdf7aef403625be9e327ad37c62c4e4129af740168163" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -8023,9 +8106,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.85" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8033,28 +8116,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.85" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.85" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "wasm-encoder" -version = "0.26.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05d0b6fcd0aeb98adf16e7975331b3c17222aa815148f5b976370ce589d80ef" +checksum = "9424cdab516a16d4ea03c8f4a01b14e7b2d04a129dcc2bcdde5bcc5f68f06c41" dependencies = [ "leb128", ] @@ -8068,6 +8151,21 @@ dependencies = [ "parity-wasm", ] +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "wasmer" version = "2.3.0" @@ -8075,7 +8173,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea8d8361c9d006ea3d7797de7bd6b1492ffd0f91a22430cfda6c1658ad57bedf" dependencies = [ "cfg-if 1.0.0", - "indexmap 1.9.3", + "indexmap", "js-sys", "loupe", "more-asserts", @@ -8129,7 +8227,7 @@ dependencies = [ "enumset", "loupe", "rkyv", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "smallvec", "target-lexicon", @@ -8147,7 +8245,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "gimli 0.26.2", + "gimli", "loupe", "more-asserts", "rayon", @@ -8167,7 +8265,7 @@ dependencies = [ "byteorder", "dynasm", "dynasmrt", - "gimli 0.26.2", + "gimli", "lazy_static", "loupe", "more-asserts", @@ -8202,7 +8300,7 @@ dependencies = [ "memmap2", "more-asserts", "rustc-demangle", - "serde 1.0.163", + "serde 1.0.147", "serde_bytes", "target-lexicon", "thiserror", @@ -8226,7 +8324,7 @@ dependencies = [ "loupe", "object 0.28.4", "rkyv", - "serde 1.0.163", + "serde 1.0.147", "tempfile", "tracing 0.1.37", "wasmer-artifact", @@ -8294,11 +8392,11 @@ checksum = "39df01ea05dc0a9bab67e054c7cb01521e53b35a7bb90bd02eca564ed0b2667f" dependencies = [ "backtrace", "enum-iterator", - "indexmap 1.9.3", + "indexmap", "loupe", "more-asserts", "rkyv", - "serde 1.0.163", + "serde 1.0.147", "thiserror", ] @@ -8313,7 +8411,7 @@ dependencies = [ "cfg-if 1.0.0", "corosensei", "enum-iterator", - "indexmap 1.9.3", + "indexmap", "lazy_static", "libc", "loupe", @@ -8323,7 +8421,7 @@ dependencies = [ "region", "rkyv", "scopeguard", - "serde 1.0.163", + "serde 1.0.147", "thiserror", "wasmer-artifact", "wasmer-types", @@ -8342,7 +8440,7 @@ version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" dependencies = [ - "indexmap 1.9.3", + "indexmap", "semver 1.0.17", ] @@ -8354,7 +8452,7 @@ checksum = "5f656cd8858a5164932d8a90f936700860976ec21eb00e0fe2aa8cab13f6b4cf" dependencies = [ "futures", "js-sys", - "parking_lot", + "parking_lot 0.12.1", "pin-utils", "slab", "wasm-bindgen", @@ -8362,9 +8460,9 @@ dependencies = [ [[package]] name = "wast" -version = "57.0.0" +version = "49.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eb0f5ed17ac4421193c7477da05892c2edafd67f9639e3c11a82086416662dc" +checksum = "05ef81fcd60d244cafffeafac3d17615fdb2fddda6aca18f34a8ae233353587c" dependencies = [ "leb128", "memchr", @@ -8374,18 +8472,18 @@ dependencies = [ [[package]] name = "wat" -version = "1.0.63" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab9ab0d87337c3be2bb6fc5cd331c4ba9fd6bcb4ee85048a0dd59ed9ecf92e53" +checksum = "4c347c4460ffb311e95aafccd8c29e4888f241b9e4b3bb0e0ccbd998de2c8c0d" dependencies = [ "wast", ] [[package]] name = "web-sys" -version = "0.3.62" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b5f940c7edfdc6d12126d98c9ef4d1b3d470011c47c76a6581df47ad9ba721" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -8422,18 +8520,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" dependencies = [ "webpki 0.22.0", ] [[package]] name = "which" -version = "4.4.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" dependencies = [ "either", "libc", @@ -8480,15 +8578,6 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.0", -] - [[package]] name = "windows-sys" version = "0.33.0" @@ -8502,6 +8591,19 @@ dependencies = [ "windows_x86_64_msvc 0.33.0", ] +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" @@ -8517,22 +8619,13 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.1", ] [[package]] @@ -8552,9 +8645,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm 0.48.0", "windows_aarch64_msvc 0.48.0", @@ -8583,6 +8676,12 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -8601,6 +8700,12 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -8619,6 +8724,12 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -8637,6 +8748,12 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -8667,6 +8784,12 @@ version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -8679,15 +8802,6 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" -[[package]] -name = "winnow" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" -dependencies = [ - "memchr", -] - [[package]] name = "winreg" version = "0.10.1" @@ -8709,7 +8823,7 @@ dependencies = [ "log", "pharos", "rustc_version 0.4.0", - "send_wrapper 0.6.0", + "send_wrapper", "thiserror", "wasm-bindgen", "wasm-bindgen-futures", @@ -8754,31 +8868,31 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.6.0" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", + "synstructure", ] [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.1+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" dependencies = [ "cc", "libc", - "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 16442008f1..f051952569 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -153,3 +153,6 @@ lto = true opt-level = 3 panic = "unwind" overflow-checks = true + +[profile.dev] +debug-assertions = false diff --git a/apps/src/lib/cli.rs b/apps/src/lib/cli.rs index 1c0bdba287..c8023c0ec5 100644 --- a/apps/src/lib/cli.rs +++ b/apps/src/lib/cli.rs @@ -2412,6 +2412,7 @@ pub mod args { pub const HD_WALLET_DERIVATION_PATH_OPT: ArgOpt = HD_WALLET_DERIVATION_PATH.opt(); pub const HISTORIC: ArgFlag = flag("historic"); + pub const IBC_TRANSFER_MEMO: ArgOpt = arg_opt("memo"); pub const LEDGER_ADDRESS_ABOUT: &str = "Address of a ledger node as \"{scheme}://{host}:{port}\". If the \ scheme is not supplied, it is assumed to be TCP."; @@ -3205,6 +3206,7 @@ pub mod args { channel_id: self.channel_id, timeout_height: self.timeout_height, timeout_sec_offset: self.timeout_sec_offset, + memo: self.memo, tx_code_path: self.tx_code_path.to_path_buf(), } } @@ -3221,6 +3223,7 @@ pub mod args { let channel_id = CHANNEL_ID.parse(matches); let timeout_height = TIMEOUT_HEIGHT.parse(matches); let timeout_sec_offset = TIMEOUT_SEC_OFFSET.parse(matches); + let memo = IBC_TRANSFER_MEMO.parse(matches); let tx_code_path = PathBuf::from(TX_IBC_WASM); Self { tx, @@ -3232,6 +3235,7 @@ pub mod args { channel_id, timeout_height, timeout_sec_offset, + memo, tx_code_path, } } @@ -3255,6 +3259,11 @@ pub mod args { .help("The timeout height of the destination chain."), ) .arg(TIMEOUT_SEC_OFFSET.def().help("The timeout as seconds.")) + .arg( + IBC_TRANSFER_MEMO + .def() + .help("Memo field of ICS20 transfer."), + ) } } diff --git a/core/Cargo.toml b/core/Cargo.toml index 8b58481c17..822612a8d0 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -73,8 +73,8 @@ ferveo = {optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd ferveo-common = {git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} tpke = {package = "group-threshold-cryptography", optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} # TODO using the same version of tendermint-rs as we do here. -ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "634f4ede136d045dd6f1ff8f4984dd0006aa15f0", default-features = false, features = ["serde"], optional = true} -ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "bb16e17a4d9260d5f20516a8eda43fa52377fad2", default-features = false, optional = true} +ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "1797c2b38eb4a718a63a171f59948f08b427bb1f", default-features = false, features = ["serde"], optional = true} +ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "349582059c0cf1f4cdce9e93b33552687c9df54a", default-features = false, optional = true} ics23.workspace = true impl-num-traits = "0.1.2" index-set.workspace = true diff --git a/core/src/ledger/ibc/context/common.rs b/core/src/ledger/ibc/context/common.rs index 4c96c034b5..c3e9b1d08d 100644 --- a/core/src/ledger/ibc/context/common.rs +++ b/core/src/ledger/ibc/context/common.rs @@ -22,12 +22,12 @@ use crate::ibc::core::ics24_host::identifier::{ClientId, ConnectionId}; use crate::ibc::core::ics24_host::path::{ ChannelEndPath, ClientConsensusStatePath, CommitmentPath, Path, SeqSendPath, }; +use crate::ibc::core::timestamp::Timestamp; use crate::ibc::core::ContextError; #[cfg(any(feature = "ibc-mocks-abcipp", feature = "ibc-mocks"))] use crate::ibc::mock::client_state::MockClientState; #[cfg(any(feature = "ibc-mocks-abcipp", feature = "ibc-mocks"))] use crate::ibc::mock::consensus_state::MockConsensusState; -use crate::ibc::timestamp::Timestamp; use crate::ibc_proto::google::protobuf::Any; use crate::ibc_proto::protobuf::Protobuf; use crate::ledger::ibc::storage; @@ -48,11 +48,11 @@ pub trait IbcCommonContext: IbcStorageContext { })?; self.decode_client_state(any) } - Ok(None) => { - Err(ContextError::ClientError(ClientError::ClientNotFound { + Ok(None) => Err(ContextError::ClientError( + ClientError::ClientStateNotFound { client_id: client_id.clone(), - })) - } + }, + )), Err(_) => Err(ContextError::ClientError(ClientError::Other { description: format!( "Reading the client state failed: ID {}", @@ -145,11 +145,11 @@ pub trait IbcCommonContext: IbcStorageContext { }) }), Ok(None) => { - let port_channel_id = + let (port_id, channel_id) = storage::port_channel_id(&key).expect("invalid key"); Err(ContextError::ChannelError(ChannelError::ChannelNotFound { - channel_id: port_channel_id.channel_id, - port_id: port_channel_id.port_id, + channel_id, + port_id, })) } Err(_) => Err(ContextError::ChannelError(ChannelError::Other { diff --git a/core/src/ledger/ibc/context/execution.rs b/core/src/ledger/ibc/context/execution.rs index ae84afa614..ec0708ce2a 100644 --- a/core/src/ledger/ibc/context/execution.rs +++ b/core/src/ledger/ibc/context/execution.rs @@ -3,8 +3,8 @@ use borsh::{BorshDeserialize, BorshSerialize}; use super::super::{IbcActions, IbcCommonContext}; +use crate::ibc::core::events::IbcEvent; use crate::ibc::core::ics02_client::client_state::ClientState; -use crate::ibc::core::ics02_client::client_type::ClientType; use crate::ibc::core::ics02_client::consensus_state::ConsensusState; use crate::ibc::core::ics02_client::error::ClientError; use crate::ibc::core::ics03_connection::connection::ConnectionEnd; @@ -18,12 +18,11 @@ use crate::ibc::core::ics04_channel::packet::{Receipt, Sequence}; use crate::ibc::core::ics24_host::identifier::{ClientId, ConnectionId}; use crate::ibc::core::ics24_host::path::{ AckPath, ChannelEndPath, ClientConnectionPath, ClientConsensusStatePath, - ClientStatePath, ClientTypePath, CommitmentPath, ConnectionPath, Path, - ReceiptPath, SeqAckPath, SeqRecvPath, SeqSendPath, + ClientStatePath, CommitmentPath, ConnectionPath, Path, ReceiptPath, + SeqAckPath, SeqRecvPath, SeqSendPath, }; +use crate::ibc::core::timestamp::Timestamp; use crate::ibc::core::{ContextError, ExecutionContext, ValidationContext}; -use crate::ibc::events::IbcEvent; -use crate::ibc::timestamp::Timestamp; use crate::ibc::Height; use crate::ibc_proto::protobuf::Protobuf; use crate::ledger::ibc::storage; @@ -33,25 +32,6 @@ impl ExecutionContext for IbcActions<'_, C> where C: IbcCommonContext, { - fn store_client_type( - &mut self, - client_type_path: ClientTypePath, - client_type: ClientType, - ) -> Result<(), ContextError> { - let path = Path::ClientType(client_type_path); - let key = storage::ibc_key(path.to_string()) - .expect("Creating a key for the client state shouldn't fail"); - let bytes = client_type.as_str().as_bytes().to_vec(); - self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { - ContextError::ClientError(ClientError::Other { - description: format!( - "Writing the client state failed: Key {}", - key - ), - }) - }) - } - fn store_client_state( &mut self, client_state_path: ClientStatePath, @@ -60,7 +40,7 @@ where let path = Path::ClientState(client_state_path); let key = storage::ibc_key(path.to_string()) .expect("Creating a key for the client state shouldn't fail"); - let bytes = client_state.encode_vec().expect("encoding shouldn't fail"); + let bytes = client_state.encode_vec(); self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { ContextError::ClientError(ClientError::Other { description: format!( @@ -79,9 +59,7 @@ where let path = Path::ClientConsensusState(consensus_state_path); let key = storage::ibc_key(path.to_string()) .expect("Creating a key for the client state shouldn't fail"); - let bytes = consensus_state - .encode_vec() - .expect("encoding shouldn't fail"); + let bytes = consensus_state.encode_vec(); self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { ContextError::ClientError(ClientError::Other { description: format!( @@ -140,7 +118,7 @@ where host_height: Height, ) -> Result<(), ContextError> { let key = storage::client_update_height_key(&client_id); - let bytes = host_height.encode_vec().expect("encoding shouldn't fail"); + let bytes = host_height.encode_vec(); self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { ContextError::ClientError(ClientError::Other { description: format!( @@ -159,9 +137,7 @@ where let path = Path::Connection(connection_path.clone()); let key = storage::ibc_key(path.to_string()) .expect("Creating a key for the client state shouldn't fail"); - let bytes = connection_end - .encode_vec() - .expect("encoding shouldn't fail"); + let bytes = connection_end.encode_vec(); self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { ContextError::ConnectionError(ConnectionError::Other { description: format!( @@ -321,7 +297,7 @@ where let path = Path::ChannelEnd(path.clone()); let key = storage::ibc_key(path.to_string()) .expect("Creating a key for the client state shouldn't fail"); - let bytes = channel_end.encode_vec().expect("encoding shouldn't fail"); + let bytes = channel_end.encode_vec(); self.ctx.borrow_mut().write(&key, bytes).map_err(|_| { ContextError::ChannelError(ChannelError::Other { description: format!( diff --git a/core/src/ledger/ibc/context/router.rs b/core/src/ledger/ibc/context/router.rs index 62d676c3a2..dfa0d9be82 100644 --- a/core/src/ledger/ibc/context/router.rs +++ b/core/src/ledger/ibc/context/router.rs @@ -3,9 +3,8 @@ use std::rc::Rc; use super::super::{IbcActions, IbcCommonContext}; -use crate::ibc::core::context::Router; use crate::ibc::core::ics24_host::identifier::PortId; -use crate::ibc::core::ics26_routing::context::{Module, ModuleId}; +use crate::ibc::core::router::{Module, ModuleId, Router}; impl Router for IbcActions<'_, C> where diff --git a/core/src/ledger/ibc/context/transfer_mod.rs b/core/src/ledger/ibc/context/transfer_mod.rs index 8280f7c36b..0684432dab 100644 --- a/core/src/ledger/ibc/context/transfer_mod.rs +++ b/core/src/ledger/ibc/context/transfer_mod.rs @@ -3,7 +3,6 @@ use std::cell::RefCell; use std::fmt::Debug; use std::rc::Rc; -use std::str::FromStr; use super::common::IbcCommonContext; use crate::ibc::applications::transfer::coin::PrefixedCoin; @@ -22,6 +21,7 @@ use crate::ibc::applications::transfer::context::{ use crate::ibc::applications::transfer::denom::PrefixedDenom; use crate::ibc::applications::transfer::error::TokenTransferError; use crate::ibc::applications::transfer::MODULE_ID_STR; +use crate::ibc::core::events::IbcEvent; use crate::ibc::core::ics02_client::client_state::ClientState; use crate::ibc::core::ics02_client::consensus_state::ConsensusState; use crate::ibc::core::ics03_connection::connection::ConnectionEnd; @@ -33,9 +33,9 @@ use crate::ibc::core::ics04_channel::context::{ SendPacketExecutionContext, SendPacketValidationContext, }; use crate::ibc::core::ics04_channel::error::{ChannelError, PacketError}; -use crate::ibc::core::ics04_channel::handler::ModuleExtras; -use crate::ibc::core::ics04_channel::msgs::acknowledgement::Acknowledgement; -use crate::ibc::core::ics04_channel::packet::{Packet, Sequence}; +use crate::ibc::core::ics04_channel::packet::{ + Acknowledgement, Packet, Sequence, +}; use crate::ibc::core::ics04_channel::Version; use crate::ibc::core::ics24_host::identifier::{ ChannelId, ClientId, ConnectionId, PortId, @@ -43,10 +43,9 @@ use crate::ibc::core::ics24_host::identifier::{ use crate::ibc::core::ics24_host::path::{ ChannelEndPath, ClientConsensusStatePath, CommitmentPath, SeqSendPath, }; -use crate::ibc::core::ics26_routing::context::{Module, ModuleId}; +use crate::ibc::core::router::{Module, ModuleExtras, ModuleId}; use crate::ibc::core::ContextError; -use crate::ibc::events::IbcEvent; -use crate::ibc::signer::Signer; +use crate::ibc::Signer; use crate::ledger::ibc::storage; use crate::types::address::{Address, InternalAddress}; use crate::types::token; @@ -81,7 +80,7 @@ where /// Get the module ID pub fn module_id(&self) -> ModuleId { - ModuleId::from_str(MODULE_ID_STR).expect("should be parsable") + ModuleId::new(MODULE_ID_STR.to_string()) } } @@ -593,7 +592,7 @@ pub mod testing { impl DummyTransferModule { /// Get the module ID pub fn module_id(&self) -> ModuleId { - ModuleId::from_str(MODULE_ID_STR).expect("should be parsable") + ModuleId::new(MODULE_ID_STR.to_string()) } } diff --git a/core/src/ledger/ibc/context/validation.rs b/core/src/ledger/ibc/context/validation.rs index 9e13820883..9ad3dd2654 100644 --- a/core/src/ledger/ibc/context/validation.rs +++ b/core/src/ledger/ibc/context/validation.rs @@ -4,8 +4,6 @@ use prost::Message; use super::super::{IbcActions, IbcCommonContext}; use crate::ibc::clients::ics07_tendermint::consensus_state::ConsensusState as TmConsensusState; -#[cfg(any(feature = "ibc-mocks-abcipp", feature = "ibc-mocks"))] -use crate::ibc::core::ics02_client::client_state::downcast_client_state; use crate::ibc::core::ics02_client::client_state::ClientState; use crate::ibc::core::ics02_client::consensus_state::ConsensusState; use crate::ibc::core::ics02_client::error::ClientError; @@ -25,12 +23,12 @@ use crate::ibc::core::ics24_host::path::{ AckPath, ChannelEndPath, ClientConsensusStatePath, CommitmentPath, Path, ReceiptPath, SeqAckPath, SeqRecvPath, SeqSendPath, }; +use crate::ibc::core::timestamp::Timestamp; use crate::ibc::core::{ContextError, ValidationContext}; use crate::ibc::hosts::tendermint::ValidateSelfClientContext; #[cfg(any(feature = "ibc-mocks-abcipp", feature = "ibc-mocks"))] use crate::ibc::mock::client_state::MockClientState; -use crate::ibc::timestamp::Timestamp; -use crate::ibc::Height; +use crate::ibc::{Height, Signer}; use crate::ibc_proto::google::protobuf::Any; use crate::ibc_proto::protobuf::Protobuf; use crate::ledger::ibc::storage; @@ -260,14 +258,8 @@ where ) -> Result<(), ContextError> { #[cfg(any(feature = "ibc-mocks-abcipp", feature = "ibc-mocks"))] { - let client_state = self - .decode_client_state(counterparty_client_state.clone()) - .map_err(|_| ClientError::Other { - description: "Decoding the client state failed".to_string(), - })?; - - if let Some(_mock) = - downcast_client_state::(client_state.as_ref()) + if MockClientState::try_from(counterparty_client_state.clone()) + .is_ok() { return Ok(()); } @@ -496,6 +488,14 @@ where _ => unreachable!("The parameter should be initialized"), } } + + fn validate_message_signer( + &self, + _signer: &Signer, + ) -> Result<(), ContextError> { + // The signer of a transaction should be validated + Ok(()) + } } impl ValidateSelfClientContext for IbcActions<'_, C> diff --git a/core/src/ledger/ibc/mod.rs b/core/src/ledger/ibc/mod.rs index b56e8ce54a..75ff665914 100644 --- a/core/src/ledger/ibc/mod.rs +++ b/core/src/ledger/ibc/mod.rs @@ -9,7 +9,6 @@ use std::fmt::Debug; use std::rc::Rc; use std::time::Duration; -use borsh::BorshDeserialize; pub use context::common::IbcCommonContext; pub use context::storage::{IbcStorageContext, ProofSpec}; pub use context::transfer_mod::{ModuleWrapper, TransferModule}; @@ -18,21 +17,16 @@ use thiserror::Error; use crate::ibc::applications::transfer::denom::TracePrefix; use crate::ibc::applications::transfer::error::TokenTransferError; -use crate::ibc::applications::transfer::msgs::transfer::{ - MsgTransfer, TYPE_URL as MSG_TRANSFER_TYPE_URL, -}; +use crate::ibc::applications::transfer::msgs::transfer::MsgTransfer; use crate::ibc::applications::transfer::packet::PacketData; -use crate::ibc::applications::transfer::relay::send_transfer::{ +use crate::ibc::applications::transfer::{ send_transfer_execute, send_transfer_validate, }; -use crate::ibc::core::context::Router; use crate::ibc::core::ics04_channel::msgs::PacketMsg; use crate::ibc::core::ics23_commitment::specs::ProofSpecs; use crate::ibc::core::ics24_host::identifier::{ChainId as IbcChainId, PortId}; -use crate::ibc::core::ics26_routing::context::{Module, ModuleId}; -use crate::ibc::core::ics26_routing::error::RouterError; -use crate::ibc::core::ics26_routing::msgs::MsgEnvelope; -use crate::ibc::core::{execute, validate}; +use crate::ibc::core::router::{Module, ModuleId, Router}; +use crate::ibc::core::{execute, validate, MsgEnvelope, RouterError}; use crate::ibc_proto::google::protobuf::Any; use crate::types::chain::ChainId; @@ -115,66 +109,32 @@ where /// Execute according to the message in an IBC transaction or VP pub fn execute(&mut self, tx_data: &[u8]) -> Result<(), Error> { - let msg = Any::decode(tx_data).map_err(Error::DecodingData)?; - match msg.type_url.as_str() { - MSG_TRANSFER_TYPE_URL => { - let msg = - MsgTransfer::try_from(msg).map_err(Error::TokenTransfer)?; + let any_msg = Any::decode(tx_data).map_err(Error::DecodingData)?; + match MsgTransfer::try_from(any_msg.clone()) { + Ok(msg) => { let port_id = msg.port_id_on_a.clone(); match self.get_route_mut_by_port(&port_id) { Some(_module) => { let mut module = TransferModule::new(self.ctx.clone()); - // restore the denom if it is hashed - let msg = self.restore_denom(msg)?; send_transfer_execute(&mut module, msg) .map_err(Error::TokenTransfer) } None => Err(Error::NoModule), } } - _ => { - execute(self, msg.clone()).map_err(Error::Execution)?; + Err(_) => { + let envelope = + MsgEnvelope::try_from(any_msg).map_err(Error::Execution)?; + execute(self, envelope.clone()).map_err(Error::Execution)?; // the current ibc-rs execution doesn't store the denom for the // token hash when transfer with MsgRecvPacket - self.store_denom(msg) + self.store_denom(envelope) } } } - /// Restore the denom when it is hashed - fn restore_denom(&self, msg: MsgTransfer) -> Result { - let mut msg = msg; - // lookup the original denom with the IBC token hash - if let Some(token_hash) = - storage::token_hash_from_denom(&msg.token.denom).map_err(|e| { - Error::Denom(format!("Invalid denom: error {}", e)) - })? - { - let denom_key = storage::ibc_denom_key(token_hash); - let denom = match self.ctx.borrow().read(&denom_key) { - Ok(Some(v)) => String::try_from_slice(&v[..]).map_err(|e| { - Error::Denom(format!( - "Decoding the denom string failed: {}", - e - )) - })?, - _ => { - return Err(Error::Denom(format!( - "No original denom: denom_key {}", - denom_key - ))); - } - }; - msg.token.denom = denom; - } - Ok(msg) - } - /// Store the denom when transfer with MsgRecvPacket - fn store_denom(&mut self, msg: Any) -> Result<(), Error> { - let envelope = MsgEnvelope::try_from(msg).map_err(|e| { - Error::Denom(format!("Decoding the message failed: {}", e)) - })?; + fn store_denom(&mut self, envelope: MsgEnvelope) -> Result<(), Error> { match envelope { MsgEnvelope::Packet(PacketMsg::Recv(msg)) => { let data = match serde_json::from_slice::( @@ -205,24 +165,24 @@ where /// Validate according to the message in IBC VP pub fn validate(&self, tx_data: &[u8]) -> Result<(), Error> { - let msg = Any::decode(tx_data).map_err(Error::DecodingData)?; - match msg.type_url.as_str() { - MSG_TRANSFER_TYPE_URL => { - let msg = - MsgTransfer::try_from(msg).map_err(Error::TokenTransfer)?; + let any_msg = Any::decode(tx_data).map_err(Error::DecodingData)?; + match MsgTransfer::try_from(any_msg.clone()) { + Ok(msg) => { let port_id = msg.port_id_on_a.clone(); match self.get_route_by_port(&port_id) { Some(_module) => { let module = TransferModule::new(self.ctx.clone()); - // restore the denom if it is hashed - let msg = self.restore_denom(msg)?; send_transfer_validate(&module, msg) .map_err(Error::TokenTransfer) } None => Err(Error::NoModule), } } - _ => validate(self, msg).map_err(Error::Validation), + Err(_) => { + let envelope = MsgEnvelope::try_from(any_msg) + .map_err(Error::Validation)?; + validate(self, envelope).map_err(Error::Validation) + } } } } diff --git a/core/src/ledger/ibc/storage.rs b/core/src/ledger/ibc/storage.rs index 1a47680f00..9a80766c47 100644 --- a/core/src/ledger/ibc/storage.rs +++ b/core/src/ledger/ibc/storage.rs @@ -8,14 +8,13 @@ use thiserror::Error; use crate::ibc::core::ics02_client::height::Height; use crate::ibc::core::ics04_channel::packet::Sequence; use crate::ibc::core::ics24_host::identifier::{ - ChannelId, ClientId, ConnectionId, PortChannelId, PortId, + ChannelId, ClientId, ConnectionId, PortId, }; use crate::ibc::core::ics24_host::path::{ AckPath, ChannelEndPath, ClientConnectionPath, ClientConsensusStatePath, - ClientStatePath, ClientTypePath, CommitmentPath, ConnectionPath, PortPath, + ClientStatePath, CommitmentPath, ConnectionPath, Path, PortPath, ReceiptPath, SeqAckPath, SeqRecvPath, SeqSendPath, }; -use crate::ibc::core::ics24_host::Path; use crate::types::address::{Address, InternalAddress, HASH_HEX_LEN}; use crate::types::storage::{self, DbKeySeg, Key, KeySeg}; @@ -70,13 +69,6 @@ pub fn channel_counter_key() -> Key { .expect("Creating a key for the channel counter shouldn't fail") } -/// Returns a key for the client type -pub fn client_type_key(client_id: &ClientId) -> Key { - let path = Path::ClientType(ClientTypePath(client_id.clone())); - ibc_key(path.to_string()) - .expect("Creating a key for the client state shouldn't fail") -} - /// Returns a key for the client state pub fn client_state_key(client_id: &ClientId) -> Key { let path = Path::ClientState(ClientStatePath(client_id.clone())); @@ -117,11 +109,9 @@ pub fn connection_key(conn_id: &ConnectionId) -> Key { } /// Returns a key for the channel end -pub fn channel_key(port_channel_id: &PortChannelId) -> Key { - let path = Path::ChannelEnd(ChannelEndPath( - port_channel_id.port_id.clone(), - port_channel_id.channel_id.clone(), - )); +pub fn channel_key(port_id: &PortId, channel_id: &ChannelId) -> Key { + let path = + Path::ChannelEnd(ChannelEndPath(port_id.clone(), channel_id.clone())); ibc_key(path.to_string()) .expect("Creating a key for the channel shouldn't fail") } @@ -141,31 +131,22 @@ pub fn port_key(port_id: &PortId) -> Key { } /// Returns a key for nextSequenceSend -pub fn next_sequence_send_key(port_channel_id: &PortChannelId) -> Key { - let path = Path::SeqSend(SeqSendPath( - port_channel_id.port_id.clone(), - port_channel_id.channel_id.clone(), - )); +pub fn next_sequence_send_key(port_id: &PortId, channel_id: &ChannelId) -> Key { + let path = Path::SeqSend(SeqSendPath(port_id.clone(), channel_id.clone())); ibc_key(path.to_string()) .expect("Creating a key for nextSequenceSend shouldn't fail") } /// Returns a key for nextSequenceRecv -pub fn next_sequence_recv_key(port_channel_id: &PortChannelId) -> Key { - let path = Path::SeqRecv(SeqRecvPath( - port_channel_id.port_id.clone(), - port_channel_id.channel_id.clone(), - )); +pub fn next_sequence_recv_key(port_id: &PortId, channel_id: &ChannelId) -> Key { + let path = Path::SeqRecv(SeqRecvPath(port_id.clone(), channel_id.clone())); ibc_key(path.to_string()) .expect("Creating a key for nextSequenceRecv shouldn't fail") } /// Returns a key for nextSequenceAck -pub fn next_sequence_ack_key(port_channel_id: &PortChannelId) -> Key { - let path = Path::SeqAck(SeqAckPath( - port_channel_id.port_id.clone(), - port_channel_id.channel_id.clone(), - )); +pub fn next_sequence_ack_key(port_id: &PortId, channel_id: &ChannelId) -> Key { + let path = Path::SeqAck(SeqAckPath(port_id.clone(), channel_id.clone())); ibc_key(path.to_string()) .expect("Creating a key for nextSequenceAck shouldn't fail") } @@ -295,7 +276,7 @@ pub fn connection_id(key: &Key) -> Result { /// Returns a pair of port ID and channel ID from the given channel/sequence key /// `#IBC//ports//channels/` -pub fn port_channel_id(key: &Key) -> Result { +pub fn port_channel_id(key: &Key) -> Result<(PortId, ChannelId)> { match &key.segments[..] { [ DbKeySeg::AddressSeg(addr), @@ -316,10 +297,7 @@ pub fn port_channel_id(key: &Key) -> Result { .map_err(|e| Error::InvalidKey(e.to_string()))?; let channel_id = ChannelId::from_str(&channel.raw()) .map_err(|e| Error::InvalidKey(e.to_string()))?; - Ok(PortChannelId { - port_id, - channel_id, - }) + Ok((port_id, channel_id)) } _ => Err(Error::InvalidKey(format!( "The key doesn't have port ID and channel ID: Key {}", diff --git a/core/src/types/address.rs b/core/src/types/address.rs index 1a6611a2f5..924d4412bb 100644 --- a/core/src/types/address.rs +++ b/core/src/types/address.rs @@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use thiserror::Error; -use crate::ibc::signer::Signer; +use crate::ibc::Signer; use crate::types::ethereum_events::EthAddress; use crate::types::key; use crate::types::key::PublicKeyHash; diff --git a/core/src/types/ibc.rs b/core/src/types/ibc.rs index 5e7514aea3..7a412ecb05 100644 --- a/core/src/types/ibc.rs +++ b/core/src/types/ibc.rs @@ -52,7 +52,9 @@ mod ibc_rs_conversion { use thiserror::Error; use super::IbcEvent; - use crate::ibc::events::{Error as IbcEventError, IbcEvent as RawIbcEvent}; + use crate::ibc::core::events::{ + Error as IbcEventError, IbcEvent as RawIbcEvent, + }; use crate::tendermint_proto::abci::Event as AbciEvent; #[allow(missing_docs)] @@ -69,7 +71,7 @@ mod ibc_rs_conversion { type Error = Error; fn try_from(e: RawIbcEvent) -> Result { - let event_type = e.event_type().as_str().to_string(); + let event_type = e.event_type().to_string(); let abci_event = AbciEvent::try_from(e).map_err(Error::IbcEvent)?; let attributes: HashMap<_, _> = abci_event .attributes diff --git a/shared/src/ledger/args.rs b/shared/src/ledger/args.rs index 029c77ff0e..04b92401e1 100644 --- a/shared/src/ledger/args.rs +++ b/shared/src/ledger/args.rs @@ -155,6 +155,8 @@ pub struct TxIbcTransfer { pub timeout_height: Option, /// Timeout timestamp offset pub timeout_sec_offset: Option, + /// Memo + pub memo: Option, /// Path to the TX WASM code file pub tx_code_path: PathBuf, } diff --git a/shared/src/ledger/events/log/dumb_queries.rs b/shared/src/ledger/events/log/dumb_queries.rs index 08dad37cd0..5ff7c8d54f 100644 --- a/shared/src/ledger/events/log/dumb_queries.rs +++ b/shared/src/ledger/events/log/dumb_queries.rs @@ -67,7 +67,6 @@ impl QueryMatcher { use crate::ibc::core::ics02_client::events::{ CLIENT_ID_ATTRIBUTE_KEY, CONSENSUS_HEIGHTS_ATTRIBUTE_KEY, }; - use crate::ibc::events::IbcEventType; let mut attributes = HashMap::new(); attributes @@ -79,9 +78,7 @@ impl QueryMatcher { .to_string(), ); Self { - event_type: EventType::Ibc( - IbcEventType::UpdateClient.as_str().to_string(), - ), + event_type: EventType::Ibc("update_client".to_string()), attributes, } } diff --git a/shared/src/ledger/ibc/vp/mod.rs b/shared/src/ledger/ibc/vp/mod.rs index 04c980a21b..4298d6008b 100644 --- a/shared/src/ledger/ibc/vp/mod.rs +++ b/shared/src/ledger/ibc/vp/mod.rs @@ -300,10 +300,10 @@ mod tests { use super::super::storage::{ ack_key, calc_hash, channel_counter_key, channel_key, client_connections_key, client_counter_key, client_state_key, - client_type_key, client_update_height_key, client_update_timestamp_key, - commitment_key, connection_counter_key, connection_key, - consensus_state_key, ibc_denom_key, next_sequence_ack_key, - next_sequence_recv_key, next_sequence_send_key, receipt_key, + client_update_height_key, client_update_timestamp_key, commitment_key, + connection_counter_key, connection_key, consensus_state_key, + ibc_denom_key, next_sequence_ack_key, next_sequence_recv_key, + next_sequence_send_key, receipt_key, }; use super::{get_dummy_header, *}; use crate::core::ledger::storage::testing::TestWlStorage; @@ -319,6 +319,9 @@ mod tests { use crate::ibc::applications::transfer::msgs::transfer::MsgTransfer; use crate::ibc::applications::transfer::packet::PacketData; use crate::ibc::applications::transfer::VERSION; + use crate::ibc::core::events::{ + IbcEvent as RawIbcEvent, MessageEvent, ModuleEvent, + }; use crate::ibc::core::ics02_client::client_state::ClientState; use crate::ibc::core::ics02_client::events::{CreateClient, UpdateClient}; use crate::ibc::core::ics02_client::msgs::create_client::MsgCreateClient; @@ -347,36 +350,30 @@ mod tests { OpenTry as ChanOpenTry, ReceivePacket, SendPacket, TimeoutPacket, WriteAcknowledgement, }; - use crate::ibc::core::ics04_channel::msgs::acknowledgement::{ - Acknowledgement, MsgAcknowledgement, + use crate::ibc::core::ics04_channel::msgs::{ + MsgAcknowledgement, MsgChannelOpenAck, MsgChannelOpenConfirm, + MsgChannelOpenInit, MsgChannelOpenTry, MsgRecvPacket, MsgTimeout, + MsgTimeoutOnClose, + }; + use crate::ibc::core::ics04_channel::packet::{ + Acknowledgement, Packet, Sequence, }; - use crate::ibc::core::ics04_channel::msgs::chan_open_ack::MsgChannelOpenAck; - use crate::ibc::core::ics04_channel::msgs::chan_open_confirm::MsgChannelOpenConfirm; - use crate::ibc::core::ics04_channel::msgs::chan_open_init::MsgChannelOpenInit; - use crate::ibc::core::ics04_channel::msgs::chan_open_try::MsgChannelOpenTry; - use crate::ibc::core::ics04_channel::msgs::recv_packet::MsgRecvPacket; - use crate::ibc::core::ics04_channel::msgs::timeout::MsgTimeout; - use crate::ibc::core::ics04_channel::msgs::timeout_on_close::MsgTimeoutOnClose; - use crate::ibc::core::ics04_channel::packet::{Packet, Sequence}; use crate::ibc::core::ics04_channel::timeout::TimeoutHeight; use crate::ibc::core::ics04_channel::Version as ChanVersion; use crate::ibc::core::ics23_commitment::commitment::{ CommitmentPrefix, CommitmentProofBytes, }; use crate::ibc::core::ics24_host::identifier::{ - ChannelId, ClientId, ConnectionId, PortChannelId, PortId, + ChannelId, ClientId, ConnectionId, PortId, }; - use crate::ibc::events::{IbcEvent as RawIbcEvent, ModuleEvent}; + use crate::ibc::core::timestamp::Timestamp; + use crate::ibc::core::Msg; use crate::ibc::mock::client_state::{ client_type, MockClientState, MOCK_CLIENT_TYPE, }; use crate::ibc::mock::consensus_state::MockConsensusState; use crate::ibc::mock::header::MockHeader; - use crate::ibc::signer::Signer; - use crate::ibc::timestamp::Timestamp; - use crate::ibc::tx_msg::Msg; use crate::ibc::Height; - use crate::ibc_proto::cosmos::base::v1beta1::Coin; use crate::ibc_proto::google::protobuf::Any; use crate::ibc_proto::ibc::core::connection::v1::MsgConnectionOpenTry as RawMsgConnectionOpenTry; use crate::ibc_proto::protobuf::Protobuf; @@ -449,12 +446,6 @@ mod tests { fn insert_init_client(wl_storage: &mut TestWlStorage) { // insert a mock client type let client_id = get_client_id(); - let client_type_key = client_type_key(&client_id); - let client_type = client_type().as_str().as_bytes().to_vec(); - wl_storage - .write_log - .write(&client_type_key, client_type) - .expect("write failed"); // insert a mock client state let client_state_key = client_state_key(&get_client_id()); let height = Height::new(0, 1).unwrap(); @@ -463,8 +454,7 @@ mod tests { timestamp: Timestamp::now(), }; let client_state = MockClientState::new(header); - let bytes = Protobuf::::encode_vec(&client_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&client_state); wl_storage .write_log .write(&client_state_key, bytes) @@ -472,8 +462,7 @@ mod tests { // insert a mock consensus state let consensus_key = consensus_state_key(&client_id, height); let consensus_state = MockConsensusState::new(header); - let bytes = Protobuf::::encode_vec(&consensus_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&consensus_state); wl_storage .write_log .write(&consensus_key, bytes) @@ -501,10 +490,7 @@ mod tests { Height::new(0, host_height.0).expect("invalid height"); wl_storage .write_log - .write( - &client_update_height_key, - host_height.encode_vec().expect("encoding failed"), - ) + .write(&client_update_height_key, host_height.encode_vec()) .expect("write failed"); wl_storage.write_log.commit_tx(); } @@ -513,13 +499,6 @@ mod tests { ConnectionId::new(0) } - fn get_port_channel_id() -> PortChannelId { - PortChannelId { - port_id: get_port_id(), - channel_id: get_channel_id(), - } - } - fn get_port_id() -> PortId { PortId::transfer() } @@ -536,6 +515,7 @@ mod tests { vec![ConnVersion::default()], Duration::new(0, 0), ) + .unwrap() } fn get_conn_counterparty() -> ConnCounterparty { @@ -559,6 +539,7 @@ mod tests { vec![get_connection_id()], ChanVersion::new(VERSION.to_string()), ) + .unwrap() } fn get_channel_counterparty() -> ChanCounterparty { @@ -605,14 +586,7 @@ mod tests { sequence: Sequence, counterparty: &ChanCounterparty, ) -> Packet { - let coin: PrefixedCoin = - msg.token.clone().try_into().expect("invalid token"); - let packet_data = PacketData { - token: coin, - sender: msg.sender.clone(), - receiver: msg.receiver.clone(), - }; - let data = serde_json::to_vec(&packet_data) + let data = serde_json::to_vec(&msg.packet_data) .expect("Encoding PacketData failed"); Packet { @@ -662,27 +636,17 @@ mod tests { timestamp: Timestamp::now(), }; let client_id = get_client_id(); - // client type - let client_type_key = client_type_key(&client_id); - let client_type = client_type(); - let bytes = client_type.as_str().as_bytes().to_vec(); - wl_storage - .write_log - .write(&client_type_key, bytes) - .expect("write failed"); - keys_changed.insert(client_type_key); // message let client_state = MockClientState::new(header); let consensus_state = MockConsensusState::new(header); let msg = MsgCreateClient { client_state: client_state.into(), consensus_state: consensus_state.clone().into(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // client state let client_state_key = client_state_key(&get_client_id()); - let bytes = Protobuf::::encode_vec(&client_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&client_state); wl_storage .write_log .write(&client_state_key, bytes) @@ -690,8 +654,7 @@ mod tests { keys_changed.insert(client_state_key); // client consensus let consensus_key = consensus_state_key(&client_id, height); - let bytes = Protobuf::::encode_vec(&consensus_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&consensus_state); wl_storage .write_log .write(&consensus_key, bytes) @@ -722,10 +685,7 @@ mod tests { Height::new(0, host_height.0).expect("invalid height"); wl_storage .write_log - .write( - &client_update_height_key, - host_height.encode_vec().expect("encoding failed"), - ) + .write(&client_update_height_key, host_height.encode_vec()) .expect("write failed"); keys_changed.insert(client_update_height_key); // client counter @@ -735,10 +695,12 @@ mod tests { let event = RawIbcEvent::CreateClient(CreateClient::new( client_id, - client_type, + client_type(), client_state.latest_height(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -805,23 +767,22 @@ mod tests { height, timestamp: Timestamp::now(), }; - let client_id = get_client_id(); - // insert only client type - let client_type_key = client_type_key(&client_id); - let client_type = client_type(); - let bytes = client_type.as_str().as_bytes().to_vec(); + // insert only client state + let client_state = MockClientState::new(header); + let client_state_key = client_state_key(&get_client_id()); + let bytes = Protobuf::::encode_vec(&client_state); wl_storage .write_log - .write(&client_type_key, bytes) + .write(&client_state_key, bytes) .expect("write failed"); - keys_changed.insert(client_type_key); + keys_changed.insert(client_state_key); let client_state = MockClientState::new(header); let consensus_state = MockConsensusState::new(header); // make a correct message let msg = MsgCreateClient { client_state: client_state.into(), consensus_state: consensus_state.into(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; let tx_index = TxIndex::default(); @@ -893,12 +854,11 @@ mod tests { let msg = MsgUpdateClient { client_id: client_id.clone(), header: header.into(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // client state let client_state = MockClientState::new(header); - let bytes = Protobuf::::encode_vec(&client_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&client_state); wl_storage .write_log .write(&client_state_key, bytes) @@ -907,8 +867,7 @@ mod tests { // consensus state let consensus_key = consensus_state_key(&client_id, height); let consensus_state = MockConsensusState::new(header); - let bytes = Protobuf::::encode_vec(&consensus_state) - .expect("encoding failed"); + let bytes = Protobuf::::encode_vec(&consensus_state); wl_storage .write_log .write(&consensus_key, bytes) @@ -939,10 +898,7 @@ mod tests { Height::new(0, host_height.0).expect("invalid height"); wl_storage .write_log - .write( - &client_update_height_key, - host_height.encode_vec().expect("encoding failed"), - ) + .write(&client_update_height_key, host_height.encode_vec()) .expect("write failed"); keys_changed.insert(client_update_height_key); // event @@ -954,7 +910,9 @@ mod tests { vec![consensus_height], header.into(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1025,7 +983,7 @@ mod tests { counterparty, version: Some(ConnVersion::default()), delay_period: Duration::new(100, 0), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // insert an INIT connection @@ -1037,8 +995,9 @@ mod tests { msg.counterparty.clone(), vec![msg.version.clone().unwrap()], msg.delay_period, - ); - let bytes = conn.encode_vec().expect("encoding failed"); + ) + .expect("invalid connection"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1063,7 +1022,9 @@ mod tests { msg.client_id_on_a.clone(), msg.counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1132,7 +1093,7 @@ mod tests { counterparty, version: Some(ConnVersion::default()), delay_period: Duration::new(100, 0), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // insert an Init connection @@ -1144,8 +1105,9 @@ mod tests { msg.counterparty.clone(), vec![msg.version.clone().unwrap()], msg.delay_period, - ); - let bytes = conn.encode_vec().expect("encoding failed"); + ) + .expect("invalid connection"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1260,8 +1222,9 @@ mod tests { msg.counterparty.clone(), msg.versions_on_a.clone(), msg.delay_period, - ); - let bytes = conn.encode_vec().expect("encoding failed"); + ) + .expect("invalid connection"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1287,7 +1250,9 @@ mod tests { msg.counterparty.connection_id().cloned().unwrap(), msg.counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1340,7 +1305,7 @@ mod tests { // insert an Init connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Init); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1359,7 +1324,7 @@ mod tests { // update the connection to Open let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1386,7 +1351,7 @@ mod tests { proofs_height_on_b: proof_height, consensus_height_of_a_on_b: client_state.latest_height(), version: ConnVersion::default(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // event let event = RawIbcEvent::OpenAckConnection(ConnOpenAck::new( @@ -1395,7 +1360,9 @@ mod tests { msg.conn_id_on_b.clone(), counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1447,7 +1414,7 @@ mod tests { // insert a TryOpen connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::TryOpen); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1457,7 +1424,7 @@ mod tests { // update the connection to Open let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1470,7 +1437,7 @@ mod tests { conn_id_on_b: get_connection_id(), proof_conn_end_on_a: dummy_proof(), proof_height_on_a: proof_height, - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // event let counterparty = get_conn_counterparty(); @@ -1480,7 +1447,9 @@ mod tests { counterparty.connection_id().cloned().unwrap(), counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1533,7 +1502,7 @@ mod tests { let conn_id = get_connection_id(); let conn_key = connection_key(&conn_id); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1556,12 +1525,12 @@ mod tests { connection_hops_on_a: vec![conn_id.clone()], port_id_on_b: get_port_id(), ordering: Order::Unordered, - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), version_proposal: ChanVersion::new(VERSION.to_string()), }; // insert an Init channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let mut counterparty = get_channel_counterparty(); counterparty.channel_id = None; let channel = ChannelEnd::new( @@ -1570,8 +1539,9 @@ mod tests { counterparty.clone(), msg.connection_hops_on_a.clone(), msg.version_proposal.clone(), - ); - let bytes = channel.encode_vec().expect("encoding failed"); + ) + .unwrap(); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1582,15 +1552,15 @@ mod tests { increment_counter(&mut wl_storage, &chan_counter_key); keys_changed.insert(chan_counter_key); // sequences - let port_channel_id = - PortChannelId::new(get_channel_id(), msg.port_id_on_a.clone()); - let send_key = next_sequence_send_key(&port_channel_id); + let channel_id = get_channel_id(); + let port_id = msg.port_id_on_a.clone(); + let send_key = next_sequence_send_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &send_key); keys_changed.insert(send_key); - let recv_key = next_sequence_recv_key(&port_channel_id); + let recv_key = next_sequence_recv_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &recv_key); keys_changed.insert(recv_key); - let ack_key = next_sequence_ack_key(&port_channel_id); + let ack_key = next_sequence_ack_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &ack_key); keys_changed.insert(ack_key); // event @@ -1601,7 +1571,9 @@ mod tests { conn_id, msg.version_proposal.clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1653,7 +1625,7 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) @@ -1684,15 +1656,14 @@ mod tests { proof_chan_end_on_a: dummy_proof(), proof_height_on_a: proof_height, ordering: Order::Unordered, - signer: Signer::from_str("account0").expect("invalid signer"), - previous_channel_id: ChannelId::default().to_string(), + signer: "account0".to_string().into(), version_proposal: ChanVersion::default(), }; // insert a TryOpen channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::TryOpen, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1703,15 +1674,15 @@ mod tests { increment_counter(&mut wl_storage, &chan_counter_key); keys_changed.insert(chan_counter_key); // sequences - let port_channel_id = - PortChannelId::new(get_channel_id(), msg.port_id_on_a.clone()); - let send_key = next_sequence_send_key(&port_channel_id); + let channel_id = get_channel_id(); + let port_id = msg.port_id_on_a.clone(); + let send_key = next_sequence_send_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &send_key); keys_changed.insert(send_key); - let recv_key = next_sequence_recv_key(&port_channel_id); + let recv_key = next_sequence_recv_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &recv_key); keys_changed.insert(recv_key); - let ack_key = next_sequence_ack_key(&port_channel_id); + let ack_key = next_sequence_ack_key(&port_id, &channel_id); increment_counter(&mut wl_storage, &ack_key); keys_changed.insert(ack_key); // event @@ -1723,7 +1694,9 @@ mod tests { conn_id, msg.version_supported_on_a.clone(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1775,15 +1748,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an Init channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Init, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1810,12 +1783,12 @@ mod tests { version_on_b: ChanVersion::new(VERSION.to_string()), proof_chan_end_on_b: dummy_proof(), proof_height_on_b: proof_height, - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // update the channel to Open let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1829,7 +1802,9 @@ mod tests { counterparty.channel_id().cloned().unwrap(), get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1881,15 +1856,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert a TryOpen channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::TryOpen, Order::Ordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1913,12 +1888,12 @@ mod tests { chan_id_on_b: get_channel_id(), proof_chan_end_on_a: dummy_proof(), proof_height_on_a: proof_height, - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // update the channel to Open let channel = get_channel(ChanState::Open, Order::Ordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -1933,7 +1908,9 @@ mod tests { counterparty.channel_id().cloned().unwrap(), get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1988,15 +1965,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an Open channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -2025,19 +2002,21 @@ mod tests { let msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), - token: Coin { - denom: nam().to_string(), - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + }, + sender: sender.to_string().into(), + receiver: "receiver".to_string().into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str(&sender.to_string()) - .expect("invalid signer"), - receiver: Signer::from_str("receiver").expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: Timestamp::none(), }; // the sequence send - let seq_key = next_sequence_send_key(&get_port_channel_id()); + let seq_key = next_sequence_send_key(&get_port_id(), &get_channel_id()); let sequence = get_next_seq(&wl_storage, &seq_key); wl_storage .write_log @@ -2058,10 +2037,13 @@ mod tests { keys_changed.insert(commitment_key); // event let transfer_event = TransferEvent { - sender: msg.sender.clone(), - receiver: msg.receiver.clone(), + sender: msg.packet_data.sender.clone(), + receiver: msg.packet_data.receiver.clone(), + amount: msg.packet_data.token.amount, + denom: msg.packet_data.token.denom.clone(), + memo: msg.packet_data.memo.clone(), }; - let event = RawIbcEvent::AppModule(ModuleEvent::from(transfer_event)); + let event = RawIbcEvent::Module(ModuleEvent::from(transfer_event)); wl_storage .write_log .emit_ibc_event(event.try_into().unwrap()); @@ -2070,7 +2052,9 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2122,15 +2106,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an open channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -2148,17 +2132,18 @@ mod tests { .unwrap(); // prepare data - let receiver = established_address_1(); let transfer_msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), - token: Coin { - denom: nam().to_string(), - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + }, + sender: "sender".to_string().into(), + receiver: established_address_1().to_string().into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str("sender").expect("invalid signer"), - receiver: Signer::from_str(&receiver.to_string()) - .expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: Timestamp::none(), }; @@ -2173,7 +2158,7 @@ mod tests { packet: packet.clone(), proof_commitment_on_a: dummy_proof(), proof_height_on_a: Height::new(0, 1).unwrap(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // the sequence send @@ -2203,8 +2188,7 @@ mod tests { .expect("write failed"); keys_changed.insert(ack_key); // denom - let mut coin: PrefixedCoin = - transfer_msg.token.try_into().expect("invalid token"); + let mut coin = transfer_msg.packet_data.token; coin.denom.add_trace_prefix(TracePrefix::new( packet.port_id_on_b.clone(), packet.chan_id_on_b.clone(), @@ -2222,8 +2206,7 @@ mod tests { trace_hash: Some(trace_hash), denom: coin.denom, }; - let event = - RawIbcEvent::AppModule(ModuleEvent::from(denom_trace_event)); + let event = RawIbcEvent::Module(ModuleEvent::from(denom_trace_event)); wl_storage .write_log .emit_ibc_event(event.try_into().unwrap()); @@ -2232,7 +2215,9 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2245,7 +2230,9 @@ mod tests { acknowledgement, get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2297,15 +2284,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an Open channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -2315,13 +2302,15 @@ mod tests { let transfer_msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), - token: Coin { - denom: nam().to_string(), - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + }, + sender: sender.to_string().into(), + receiver: "receiver".to_string().into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str(&sender.to_string()) - .expect("invalid signer"), - receiver: Signer::from_str("receiver").expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: Timestamp::none(), }; @@ -2356,13 +2345,12 @@ mod tests { // prepare data let transfer_ack = TokenTransferAcknowledgement::success(); - let acknowledgement = Acknowledgement::from(transfer_ack.clone()); let msg = MsgAcknowledgement { packet: packet.clone(), - acknowledgement, + acknowledgement: transfer_ack.clone().into(), proof_acked_on_b: dummy_proof(), proof_height_on_b: Height::new(0, 1).unwrap(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // delete the commitment @@ -2375,12 +2363,14 @@ mod tests { let data = serde_json::from_slice::(&packet.data) .expect("decoding packet data failed"); let ack_event = AckEvent { + sender: data.sender, receiver: data.receiver, denom: data.token.denom, amount: data.token.amount, + memo: data.memo, acknowledgement: transfer_ack, }; - let event = RawIbcEvent::AppModule(ModuleEvent::from(ack_event)); + let event = RawIbcEvent::Module(ModuleEvent::from(ack_event)); wl_storage .write_log .emit_ibc_event(event.try_into().unwrap()); @@ -2389,7 +2379,9 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2441,15 +2433,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an Open channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -2463,17 +2455,18 @@ mod tests { .write(&balance_key, amount.try_to_vec().unwrap()) .expect("write failed"); // commitment - let sender = established_address_1(); let transfer_msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), - token: Coin { - denom: nam().to_string(), - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + }, + sender: established_address_1().to_string().into(), + receiver: "receiver".to_string().into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str(&sender.to_string()) - .expect("invalid signer"), - receiver: Signer::from_str("receiver").expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: (Timestamp::now() - Duration::new(10, 0)) .unwrap(), @@ -2513,7 +2506,7 @@ mod tests { next_seq_recv_on_b: sequence, proof_unreceived_on_b: dummy_proof(), proof_height_on_b: Height::new(0, 1).unwrap(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // delete the commitment @@ -2529,8 +2522,9 @@ mod tests { refund_receiver: data.sender, refund_denom: data.token.denom, refund_amount: data.token.amount, + memo: data.memo, }; - let event = RawIbcEvent::AppModule(ModuleEvent::from(timeout_event)); + let event = RawIbcEvent::Module(ModuleEvent::from(timeout_event)); wl_storage .write_log .emit_ibc_event(event.try_into().unwrap()); @@ -2538,7 +2532,9 @@ mod tests { packet, Order::Unordered, )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2590,15 +2586,15 @@ mod tests { // insert an open connection let conn_key = connection_key(&get_connection_id()); let conn = get_connection(ConnState::Open); - let bytes = conn.encode_vec().expect("encoding failed"); + let bytes = conn.encode_vec(); wl_storage .write_log .write(&conn_key, bytes) .expect("write failed"); // insert an Open channel - let channel_key = channel_key(&get_port_channel_id()); + let channel_key = channel_key(&get_port_id(), &get_channel_id()); let channel = get_channel(ChanState::Open, Order::Unordered); - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); wl_storage .write_log .write(&channel_key, bytes) @@ -2616,13 +2612,15 @@ mod tests { let transfer_msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), - token: Coin { - denom: nam().to_string(), - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + }, + sender: sender.to_string().into(), + receiver: "receiver".to_string().into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str(&sender.to_string()) - .expect("invalid signer"), - receiver: Signer::from_str("receiver").expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: Timestamp::none(), }; @@ -2662,7 +2660,7 @@ mod tests { proof_unreceived_on_b: dummy_proof(), proof_close_on_b: dummy_proof(), proof_height_on_b: Height::new(0, 1).unwrap(), - signer: Signer::from_str("account0").expect("invalid signer"), + signer: "account0".to_string().into(), }; // delete the commitment @@ -2678,8 +2676,9 @@ mod tests { refund_receiver: data.sender, refund_denom: data.token.denom, refund_amount: data.token.amount, + memo: data.memo, }; - let event = RawIbcEvent::AppModule(ModuleEvent::from(timeout_event)); + let event = RawIbcEvent::Module(ModuleEvent::from(timeout_event)); wl_storage .write_log .emit_ibc_event(event.try_into().unwrap()); @@ -2687,7 +2686,9 @@ mod tests { packet, Order::Unordered, )); - let message_event = RawIbcEvent::Message(event.event_type()); + let message_event = RawIbcEvent::Message(MessageEvent::Module( + event.event_type().to_string(), + )); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); diff --git a/shared/src/ledger/signing.rs b/shared/src/ledger/signing.rs index 4fdd426172..a087e66c7c 100644 --- a/shared/src/ledger/signing.rs +++ b/shared/src/ledger/signing.rs @@ -24,9 +24,7 @@ use prost::Message; use serde::{Deserialize, Serialize}; use zeroize::Zeroizing; -use crate::ibc::applications::transfer::msgs::transfer::{ - MsgTransfer, TYPE_URL as MSG_TRANSFER_TYPE_URL, -}; +use crate::ibc::applications::transfer::msgs::transfer::MsgTransfer; use crate::ibc_proto::google::protobuf::Any; use crate::ledger::masp::make_asset_type; use crate::ledger::parameters::storage as parameter_storage; @@ -1030,7 +1028,7 @@ pub async fn to_ledger_vector< ) .await; } else if code_hash == ibc_hash { - let msg = Any::decode( + let any_msg = Any::decode( tx.data() .ok_or_else(|| std::io::Error::from(ErrorKind::InvalidData))? .as_ref(), @@ -1040,21 +1038,19 @@ pub async fn to_ledger_vector< tv.name = "IBC 0".to_string(); tv.output.push("Type : IBC".to_string()); - match msg.type_url.as_str() { - MSG_TRANSFER_TYPE_URL => { - let transfer = MsgTransfer::try_from(msg).map_err(|_| { - std::io::Error::from(ErrorKind::InvalidData) - })?; + match MsgTransfer::try_from(any_msg.clone()) { + Ok(transfer) => { let transfer_token = format!( "{} {}", - transfer.token.amount, transfer.token.denom + transfer.packet_data.token.amount, + transfer.packet_data.token.denom ); tv.output.extend(vec![ format!("Source port : {}", transfer.port_id_on_a), format!("Source channel : {}", transfer.chan_id_on_a), format!("Token : {}", transfer_token), - format!("Sender : {}", transfer.sender), - format!("Receiver : {}", transfer.receiver), + format!("Sender : {}", transfer.packet_data.sender), + format!("Receiver : {}", transfer.packet_data.receiver), format!( "Timeout height : {}", transfer.timeout_height_on_b @@ -1068,8 +1064,8 @@ pub async fn to_ledger_vector< format!("Source port : {}", transfer.port_id_on_a), format!("Source channel : {}", transfer.chan_id_on_a), format!("Token : {}", transfer_token), - format!("Sender : {}", transfer.sender), - format!("Receiver : {}", transfer.receiver), + format!("Sender : {}", transfer.packet_data.sender), + format!("Receiver : {}", transfer.packet_data.receiver), format!( "Timeout height : {}", transfer.timeout_height_on_b @@ -1081,7 +1077,7 @@ pub async fn to_ledger_vector< ]); } _ => { - for line in format!("{:#?}", msg).split('\n') { + for line in format!("{:#?}", any_msg).split('\n') { let stripped = line.trim_start(); tv.output.push(format!("Part : {}", stripped)); tv.output_expert.push(format!("Part : {}", stripped)); diff --git a/shared/src/ledger/tx.rs b/shared/src/ledger/tx.rs index 08243a22e5..edf89edaac 100644 --- a/shared/src/ledger/tx.rs +++ b/shared/src/ledger/tx.rs @@ -1,7 +1,6 @@ //! SDK functions to construct different types of transactions use std::borrow::Cow; use std::collections::{BTreeMap, HashMap, HashSet}; -use std::str::FromStr; use std::time::Duration; use borsh::BorshSerialize; @@ -15,7 +14,9 @@ use masp_primitives::transaction::components::transparent::fees::{ InputView as TransparentInputView, OutputView as TransparentOutputView, }; use masp_primitives::transaction::components::Amount; -use namada_core::types::address::{masp, masp_tx_key, Address}; +use namada_core::types::address::{ + masp, masp_tx_key, Address, InternalAddress, +}; use namada_core::types::dec::Dec; use namada_core::types::token::MaspDenom; use namada_proof_of_stake::parameters::PosParams; @@ -25,14 +26,15 @@ use thiserror::Error; use super::rpc::query_wasm_code_hash; use crate::ibc::applications::transfer::msgs::transfer::MsgTransfer; +use crate::ibc::applications::transfer::packet::PacketData; +use crate::ibc::applications::transfer::PrefixedCoin; use crate::ibc::core::ics04_channel::timeout::TimeoutHeight; -use crate::ibc::signer::Signer; -use crate::ibc::timestamp::Timestamp as IbcTimestamp; -use crate::ibc::tx_msg::Msg; +use crate::ibc::core::timestamp::Timestamp as IbcTimestamp; +use crate::ibc::core::Msg; use crate::ibc::Height as IbcHeight; -use crate::ibc_proto::cosmos::base::v1beta1::Coin; use crate::ledger::args::{self, InputAmount}; use crate::ledger::governance::storage as gov_storage; +use crate::ledger::ibc::storage::ibc_denom_key; use crate::ledger::masp::{ShieldedContext, ShieldedUtils}; use crate::ledger::rpc::{ self, format_denominated_amount, validate_amount, TxBroadcastData, @@ -1196,13 +1198,21 @@ pub async fn build_ibc_transfer< .await?; // We cannot check the receiver - let token = args.token; + let token_hash = match &args.token { + Address::Internal(InternalAddress::IbcToken(hash)) => hash.clone(), + _ => return Err(Error::TokenDoesNotExist(args.token)), + }; + let ibc_denom_key = ibc_denom_key(token_hash); + let ibc_denom = + rpc::query_storage_value::(client, &ibc_denom_key) + .await + .ok_or_else(|| Error::TokenDoesNotExist(args.token.clone()))?; // Check source balance - let balance_key = token::balance_key(&token, &source); + let balance_key = token::balance_key(&args.token, &source); check_balance_too_low_err( - &token, + &args.token, &source, args.amount, balance_key, @@ -1223,9 +1233,15 @@ pub async fn build_ibc_transfer< .next() .expect("invalid amount") .to_string(); - let token = Coin { - denom: token.to_string(), - amount, + let token = PrefixedCoin { + denom: ibc_denom.parse().expect("Invalid IBC denom"), + amount: amount.parse().expect("Invalid amount"), + }; + let packet_data = PacketData { + token, + sender: source.to_string().into(), + receiver: args.receiver.into(), + memo: args.memo.unwrap_or_default().into(), }; // this height should be that of the destination chain, not this chain @@ -1250,9 +1266,7 @@ pub async fn build_ibc_transfer< let msg = MsgTransfer { port_id_on_a: args.port_id, chan_id_on_a: args.channel_id, - token, - sender: Signer::from_str(&source.to_string()).expect("invalid signer"), - receiver: Signer::from_str(&args.receiver).expect("invalid signer"), + packet_data, timeout_height_on_b: timeout_height, timeout_timestamp_on_b: timeout_timestamp, }; diff --git a/tests/src/vm_host_env/ibc.rs b/tests/src/vm_host_env/ibc.rs index 5858abe7d3..008d2a08ef 100644 --- a/tests/src/vm_host_env/ibc.rs +++ b/tests/src/vm_host_env/ibc.rs @@ -1,6 +1,5 @@ use core::time::Duration; use std::collections::HashMap; -use std::str::FromStr; use namada::ibc::applications::transfer::acknowledgement::TokenTransferAcknowledgement; use namada::ibc::applications::transfer::coin::PrefixedCoin; @@ -24,16 +23,11 @@ use namada::ibc::core::ics03_connection::version::Version as ConnVersion; use namada::ibc::core::ics04_channel::channel::{ ChannelEnd, Counterparty as ChanCounterparty, Order, State as ChanState, }; -use namada::ibc::core::ics04_channel::msgs::acknowledgement::MsgAcknowledgement; -use namada::ibc::core::ics04_channel::msgs::chan_close_confirm::MsgChannelCloseConfirm; -use namada::ibc::core::ics04_channel::msgs::chan_close_init::MsgChannelCloseInit; -use namada::ibc::core::ics04_channel::msgs::chan_open_ack::MsgChannelOpenAck; -use namada::ibc::core::ics04_channel::msgs::chan_open_confirm::MsgChannelOpenConfirm; -use namada::ibc::core::ics04_channel::msgs::chan_open_init::MsgChannelOpenInit; -use namada::ibc::core::ics04_channel::msgs::chan_open_try::MsgChannelOpenTry; -use namada::ibc::core::ics04_channel::msgs::recv_packet::MsgRecvPacket; -use namada::ibc::core::ics04_channel::msgs::timeout::MsgTimeout; -use namada::ibc::core::ics04_channel::msgs::timeout_on_close::MsgTimeoutOnClose; +use namada::ibc::core::ics04_channel::msgs::{ + MsgAcknowledgement, MsgChannelCloseConfirm, MsgChannelCloseInit, + MsgChannelOpenAck, MsgChannelOpenConfirm, MsgChannelOpenInit, + MsgChannelOpenTry, MsgRecvPacket, MsgTimeout, MsgTimeoutOnClose, +}; pub use namada::ibc::core::ics04_channel::packet::{Packet, Sequence}; use namada::ibc::core::ics04_channel::timeout::TimeoutHeight; use namada::ibc::core::ics04_channel::Version as ChanVersion; @@ -41,15 +35,13 @@ use namada::ibc::core::ics23_commitment::commitment::{ CommitmentPrefix, CommitmentProofBytes, }; pub use namada::ibc::core::ics24_host::identifier::{ - ChannelId, ClientId, ConnectionId, PortChannelId, PortId, + ChannelId, ClientId, ConnectionId, PortId, }; +use namada::ibc::core::timestamp::Timestamp; use namada::ibc::mock::client_state::{MockClientState, MOCK_CLIENT_TYPE}; use namada::ibc::mock::consensus_state::MockConsensusState; use namada::ibc::mock::header::MockHeader; -use namada::ibc::signer::Signer; -use namada::ibc::timestamp::Timestamp; use namada::ibc::Height; -use namada::ibc_proto::cosmos::base::v1beta1::Coin; use namada::ibc_proto::google::protobuf::Any; use namada::ibc_proto::ibc::core::commitment::v1::MerkleProof; use namada::ibc_proto::ibc::core::connection::v1::MsgConnectionOpenTry as RawMsgConnectionOpenTry; @@ -58,9 +50,9 @@ use namada::ibc_proto::protobuf::Protobuf; use namada::ledger::gas::VpGasMeter; pub use namada::ledger::ibc::storage::{ ack_key, channel_counter_key, channel_key, client_counter_key, - client_state_key, client_type_key, client_update_height_key, - client_update_timestamp_key, commitment_key, connection_counter_key, - connection_key, consensus_state_key, ibc_token, next_sequence_ack_key, + client_state_key, client_update_height_key, client_update_timestamp_key, + commitment_key, connection_counter_key, connection_key, + consensus_state_key, ibc_token, next_sequence_ack_key, next_sequence_recv_key, next_sequence_send_key, port_key, receipt_key, }; use namada::ledger::ibc::vp::{ @@ -296,23 +288,12 @@ pub fn prepare_client() -> (ClientId, Any, HashMap>) { // client state let client_id = client_id(); let key = client_state_key(&client_id); - let bytes = client_state - .into_box() - .encode_vec() - .expect("encoding failed"); - writes.insert(key, bytes); - // client type - let key = client_type_key(&client_id); - let client_type = client_state.client_type(); - let bytes = client_type.as_str().as_bytes().to_vec(); + let bytes = client_state.into_box().encode_vec(); writes.insert(key, bytes); // consensus state let height = client_state.latest_height(); let key = consensus_state_key(&client_id, height); - let bytes = consensus_state - .into_box() - .encode_vec() - .expect("encoding failed"); + let bytes = consensus_state.into_box().encode_vec(); writes.insert(key, bytes); // client update time let key = client_update_timestamp_key(&client_id); @@ -337,7 +318,7 @@ pub fn prepare_client() -> (ClientId, Any, HashMap>) { let height = env.wl_storage.storage.get_block_height().0; Height::new(0, height.0).expect("invalid height") }); - let bytes = height.encode_vec().expect("encoding failed"); + let bytes = height.encode_vec(); writes.insert(key, bytes); // client counter let key = client_counter_key(); @@ -373,8 +354,9 @@ pub fn prepare_opened_connection( msg.counterparty.clone(), vec![msg.version.clone().unwrap_or_default()], msg.delay_period, - ); - let bytes = conn.encode_vec().expect("encoding failed"); + ) + .expect("invalid connection"); + let bytes = conn.encode_vec(); writes.insert(key, bytes); // connection counter let key = connection_counter_key(); @@ -396,20 +378,19 @@ pub fn prepare_opened_channel( writes.insert(key, 0_u64.to_be_bytes().to_vec()); // channel let channel_id = ChannelId::new(0); - let port_channel_id = - PortChannelId::new(channel_id.clone(), port_id.clone()); - let key = channel_key(&port_channel_id); + let key = channel_key(&port_id, &channel_id); let mut channel = ChannelEnd::new( ChanState::Open, Order::Unordered, dummy_channel_counterparty(), vec![conn_id.clone()], ChanVersion::new(VERSION.to_string()), - ); + ) + .expect("invalid channel"); if is_ordered { channel.ordering = Order::Ordered; } - let bytes = channel.encode_vec().expect("encoding failed"); + let bytes = channel.encode_vec(); writes.insert(key, bytes); (port_id, channel_id, writes) @@ -420,7 +401,7 @@ pub fn msg_create_client() -> MsgCreateClient { MsgCreateClient { client_state: client_state.into(), consensus_state: consensus_state.into(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -434,7 +415,7 @@ pub fn msg_update_client(client_id: ClientId) -> MsgUpdateClient { MsgUpdateClient { client_id, header, - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -458,7 +439,7 @@ pub fn msg_upgrade_client(client_id: ClientId) -> MsgUpgradeClient { consensus_state, proof_upgrade_client, proof_upgrade_consensus_state, - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -468,7 +449,7 @@ pub fn msg_connection_open_init(client_id: ClientId) -> MsgConnectionOpenInit { counterparty: dummy_connection_counterparty(), version: None, delay_period: Duration::new(0, 0), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -514,7 +495,7 @@ pub fn msg_connection_open_ack( proofs_height_on_b: dummy_proof_height(), consensus_height_of_a_on_b: consensus_height, version: ConnVersion::default(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -525,7 +506,7 @@ pub fn msg_connection_open_confirm( conn_id_on_b: connection_id, proof_conn_end_on_a: dummy_proof(), proof_height_on_a: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -538,7 +519,7 @@ fn dummy_proof_height() -> Height { } fn dummy_connection_counterparty() -> ConnCounterparty { - let client_type = ClientType::new(MOCK_CLIENT_TYPE.to_string()); + let client_type = ClientType::new(MOCK_CLIENT_TYPE.to_string()).unwrap(); let client_id = ClientId::new(client_type, 42).expect("invalid client ID"); let conn_id = ConnectionId::new(12); let commitment_prefix = @@ -556,7 +537,7 @@ pub fn msg_channel_open_init( connection_hops_on_a: vec![conn_id], port_id_on_b: PortId::transfer(), ordering: Order::Unordered, - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), version_proposal: ChanVersion::new(VERSION.to_string()), } } @@ -576,8 +557,7 @@ pub fn msg_channel_open_try( proof_chan_end_on_a: dummy_proof(), proof_height_on_a: dummy_proof_height(), ordering: Order::Unordered, - signer: Signer::from_str("test").expect("invalid signer"), - previous_channel_id: ChannelId::default().to_string(), + signer: "test".to_string().into(), version_proposal: ChanVersion::default(), } } @@ -594,7 +574,7 @@ pub fn msg_channel_open_ack( version_on_b: ChanVersion::new(VERSION.to_string()), proof_chan_end_on_b: dummy_proof(), proof_height_on_b: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -607,7 +587,7 @@ pub fn msg_channel_open_confirm( chan_id_on_b: channel_id, proof_chan_end_on_a: dummy_proof(), proof_height_on_a: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -618,7 +598,7 @@ pub fn msg_channel_close_init( MsgChannelCloseInit { port_id_on_a: port_id, chan_id_on_a: channel_id, - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -631,7 +611,7 @@ pub fn msg_channel_close_confirm( chan_id_on_b: channel_id, proof_chan_end_on_a: dummy_proof(), proof_height_on_a: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -648,22 +628,24 @@ pub fn unorder_channel(channel: &mut ChannelEnd) { pub fn msg_transfer( port_id: PortId, channel_id: ChannelId, - token: String, + denom: String, sender: &Address, ) -> MsgTransfer { let timestamp = (Timestamp::now() + Duration::from_secs(100)).unwrap(); MsgTransfer { port_id_on_a: port_id, chan_id_on_a: channel_id, - token: Coin { - denom: token, - amount: 100u64.to_string(), + packet_data: PacketData { + token: PrefixedCoin { + denom: denom.parse().expect("invalid denom"), + amount: 100.into(), + }, + sender: sender.to_string().into(), + receiver: address::testing::gen_established_address() + .to_string() + .into(), + memo: "memo".to_string().into(), }, - sender: Signer::from_str(&sender.to_string()).expect("invalid signer"), - receiver: Signer::from_str( - &address::testing::gen_established_address().to_string(), - ) - .expect("invalid signer"), timeout_height_on_b: TimeoutHeight::Never, timeout_timestamp_on_b: timestamp, } @@ -679,7 +661,7 @@ pub fn msg_packet_recv(packet: Packet) -> MsgRecvPacket { packet, proof_commitment_on_a: dummy_proof(), proof_height_on_a: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -690,7 +672,7 @@ pub fn msg_packet_ack(packet: Packet) -> MsgAcknowledgement { acknowledgement: packet_ack.into(), proof_acked_on_b: dummy_proof(), proof_height_on_b: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -707,12 +689,12 @@ pub fn received_packet( denom: token.parse().expect("invalid denom"), amount: 100.into(), }; - let sender = address::testing::gen_established_address().to_string(); + let sender = address::testing::gen_established_address(); let data = PacketData { token: coin, - sender: Signer::from_str(&sender).expect("invalid signer"), - receiver: Signer::from_str(&receiver.to_string()) - .expect("invalid signer"), + sender: sender.to_string().into(), + receiver: receiver.to_string().into(), + memo: "memo".to_string().into(), }; Packet { seq_on_a: sequence, @@ -732,7 +714,7 @@ pub fn msg_timeout(packet: Packet, next_sequence_recv: Sequence) -> MsgTimeout { next_seq_recv_on_b: next_sequence_recv, proof_unreceived_on_b: dummy_proof(), proof_height_on_b: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -746,7 +728,7 @@ pub fn msg_timeout_on_close( proof_unreceived_on_b: dummy_proof(), proof_close_on_b: dummy_proof(), proof_height_on_b: dummy_proof_height(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: "test".to_string().into(), } } @@ -755,11 +737,11 @@ pub fn packet_from_message( sequence: Sequence, counterparty: &ChanCounterparty, ) -> Packet { - let coin = PrefixedCoin::try_from(msg.token.clone()).expect("invalid coin"); let packet_data = PacketData { - token: coin, - sender: msg.sender.clone(), - receiver: msg.receiver.clone(), + token: msg.packet_data.token.clone(), + sender: msg.packet_data.sender.clone(), + receiver: msg.packet_data.receiver.clone(), + memo: "memo".to_string().into(), }; let data = serde_json::to_vec(&packet_data).expect("Encoding PacketData failed"); diff --git a/tests/src/vm_host_env/mod.rs b/tests/src/vm_host_env/mod.rs index a8c72cf9b7..2fe7311371 100644 --- a/tests/src/vm_host_env/mod.rs +++ b/tests/src/vm_host_env/mod.rs @@ -21,7 +21,7 @@ mod tests { use std::panic; use itertools::Itertools; - use namada::ibc::tx_msg::Msg; + use namada::ibc::core::Msg; use namada::ledger::ibc::storage as ibc_storage; use namada::ledger::ibc::vp::{ get_dummy_header as tm_dummy_header, Error as IbcError, diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index f6d14e2c2b..8ff653fe39 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -706,7 +706,17 @@ name = "borsh" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive", + "borsh-derive 0.9.4", + "hashbrown 0.11.2", +] + +[[package]] +name = "borsh" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +dependencies = [ + "borsh-derive 0.10.3", "hashbrown 0.11.2", ] @@ -715,8 +725,21 @@ name = "borsh-derive" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "borsh-derive-internal 0.9.4", + "borsh-schema-derive-internal 0.9.4", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.109", @@ -732,6 +755,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.9.4" @@ -742,6 +776,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "bs58" version = "0.4.0" @@ -2197,7 +2242,7 @@ dependencies = [ "bincode", "blake2", "blake2b_simd", - "borsh", + "borsh 0.9.4", "digest 0.10.6", "ed25519-dalek", "either", @@ -2915,8 +2960,8 @@ dependencies = [ [[package]] name = "ibc" -version = "0.36.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=634f4ede136d045dd6f1ff8f4984dd0006aa15f0#634f4ede136d045dd6f1ff8f4984dd0006aa15f0" +version = "0.41.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=1797c2b38eb4a718a63a171f59948f08b427bb1f#1797c2b38eb4a718a63a171f59948f08b427bb1f" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -2924,7 +2969,7 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "num-traits", "parking_lot", @@ -2960,6 +3005,23 @@ dependencies = [ "tonic", ] +[[package]] +name = "ibc-proto" +version = "0.30.0" +source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=349582059c0cf1f4cdce9e93b33552687c9df54a#349582059c0cf1f4cdce9e93b33552687c9df54a" +dependencies = [ + "base64 0.21.0", + "borsh 0.10.3", + "bytes", + "flex-error", + "parity-scale-codec", + "prost", + "scale-info", + "serde", + "subtle-encoding", + "tendermint-proto", +] + [[package]] name = "ibc-relayer" version = "0.22.0" @@ -2985,7 +3047,7 @@ dependencies = [ "http", "humantime", "humantime-serde", - "ibc-proto", + "ibc-proto 0.26.0", "ibc-relayer-types", "itertools", "moka", @@ -3029,7 +3091,7 @@ dependencies = [ "dyn-clone", "erased-serde", "flex-error", - "ibc-proto", + "ibc-proto 0.26.0", "ics23", "itertools", "num-rational 0.4.1", @@ -3149,7 +3211,7 @@ name = "index-set" version = "0.7.1" source = "git+https://github.com/heliaxdev/index-set?tag=v0.7.1#dc24cdbbe3664514d59f1a4c4031863fc565f1c2" dependencies = [ - "borsh", + "borsh 0.9.4", "serde", ] @@ -3471,7 +3533,7 @@ name = "masp_note_encryption" version = "0.2.0" source = "git+https://github.com/anoma/masp?rev=252a6059565b125c1444e9e7d0b7c8da0fba8f8f#252a6059565b125c1444e9e7d0b7c8da0fba8f8f" dependencies = [ - "borsh", + "borsh 0.9.4", "chacha20 0.9.1", "chacha20poly1305", "cipher 0.4.4", @@ -3490,7 +3552,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh", + "borsh 0.9.4", "byteorder", "ff 0.12.1", "fpe", @@ -3711,7 +3773,7 @@ version = "0.20.0" dependencies = [ "async-trait", "bimap", - "borsh", + "borsh 0.9.4", "circular-queue", "clru", "data-encoding", @@ -3773,7 +3835,7 @@ dependencies = [ "ark-ec", "ark-serialize", "bech32 0.8.1", - "borsh", + "borsh 0.9.4", "chrono", "data-encoding", "derivative", @@ -3785,7 +3847,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "impl-num-traits", "index-set", @@ -3821,7 +3883,7 @@ dependencies = [ name = "namada_ethereum_bridge" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "ethers", "eyre", "itertools", @@ -3850,7 +3912,7 @@ dependencies = [ name = "namada_proof_of_stake" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "data-encoding", "derivative", "namada_core", @@ -3864,7 +3926,7 @@ dependencies = [ name = "namada_test_utils" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "strum", ] @@ -3903,7 +3965,7 @@ dependencies = [ name = "namada_tx_prelude" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", "namada_macros", @@ -3917,7 +3979,7 @@ dependencies = [ name = "namada_vm_env" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", ] @@ -3926,7 +3988,7 @@ dependencies = [ name = "namada_vp_prelude" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "namada_macros", "namada_proof_of_stake", @@ -3939,7 +4001,7 @@ dependencies = [ name = "namada_wasm" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "getrandom 0.2.9", "masp_primitives", "namada", @@ -5744,7 +5806,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=e086b235ed6e68929bf73f617dd61cd17b000a56#e086b235ed6e68929bf73f617dd61cd17b000a56" dependencies = [ - "borsh", + "borsh 0.9.4", "cfg-if 1.0.0", "ics23", "sha2 0.9.9", @@ -6490,7 +6552,7 @@ dependencies = [ name = "tx_template" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "getrandom 0.2.9", "namada_tests", "namada_tx_prelude", @@ -6637,7 +6699,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" name = "vp_template" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "getrandom 0.2.9", "namada_tests", "namada_vp_prelude", diff --git a/wasm_for_tests/wasm_source/Cargo.lock b/wasm_for_tests/wasm_source/Cargo.lock index c145c9062f..c7461e2943 100644 --- a/wasm_for_tests/wasm_source/Cargo.lock +++ b/wasm_for_tests/wasm_source/Cargo.lock @@ -706,7 +706,17 @@ name = "borsh" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive", + "borsh-derive 0.9.4", + "hashbrown 0.11.2", +] + +[[package]] +name = "borsh" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +dependencies = [ + "borsh-derive 0.10.3", "hashbrown 0.11.2", ] @@ -715,8 +725,21 @@ name = "borsh-derive" version = "0.9.4" source = "git+https://github.com/heliaxdev/borsh-rs.git?rev=cd5223e5103c4f139e0c54cf8259b7ec5ec4073a#cd5223e5103c4f139e0c54cf8259b7ec5ec4073a" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "borsh-derive-internal 0.9.4", + "borsh-schema-derive-internal 0.9.4", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.109", @@ -732,6 +755,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.9.4" @@ -742,6 +776,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "bs58" version = "0.4.0" @@ -2197,7 +2242,7 @@ dependencies = [ "bincode", "blake2", "blake2b_simd", - "borsh", + "borsh 0.9.4", "digest 0.10.6", "ed25519-dalek", "either", @@ -2915,8 +2960,8 @@ dependencies = [ [[package]] name = "ibc" -version = "0.36.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=634f4ede136d045dd6f1ff8f4984dd0006aa15f0#634f4ede136d045dd6f1ff8f4984dd0006aa15f0" +version = "0.41.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=1797c2b38eb4a718a63a171f59948f08b427bb1f#1797c2b38eb4a718a63a171f59948f08b427bb1f" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -2924,7 +2969,7 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "num-traits", "parking_lot", @@ -2960,6 +3005,23 @@ dependencies = [ "tonic", ] +[[package]] +name = "ibc-proto" +version = "0.30.0" +source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=349582059c0cf1f4cdce9e93b33552687c9df54a#349582059c0cf1f4cdce9e93b33552687c9df54a" +dependencies = [ + "base64 0.21.0", + "borsh 0.10.3", + "bytes", + "flex-error", + "parity-scale-codec", + "prost", + "scale-info", + "serde", + "subtle-encoding", + "tendermint-proto", +] + [[package]] name = "ibc-relayer" version = "0.22.0" @@ -2985,7 +3047,7 @@ dependencies = [ "http", "humantime", "humantime-serde", - "ibc-proto", + "ibc-proto 0.26.0", "ibc-relayer-types", "itertools", "moka", @@ -3029,7 +3091,7 @@ dependencies = [ "dyn-clone", "erased-serde", "flex-error", - "ibc-proto", + "ibc-proto 0.26.0", "ics23", "itertools", "num-rational 0.4.1", @@ -3149,7 +3211,7 @@ name = "index-set" version = "0.7.1" source = "git+https://github.com/heliaxdev/index-set?tag=v0.7.1#dc24cdbbe3664514d59f1a4c4031863fc565f1c2" dependencies = [ - "borsh", + "borsh 0.9.4", "serde", ] @@ -3471,7 +3533,7 @@ name = "masp_note_encryption" version = "0.2.0" source = "git+https://github.com/anoma/masp?rev=252a6059565b125c1444e9e7d0b7c8da0fba8f8f#252a6059565b125c1444e9e7d0b7c8da0fba8f8f" dependencies = [ - "borsh", + "borsh 0.9.4", "chacha20 0.9.1", "chacha20poly1305", "cipher 0.4.4", @@ -3490,7 +3552,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh", + "borsh 0.9.4", "byteorder", "ff 0.12.1", "fpe", @@ -3711,7 +3773,7 @@ version = "0.20.0" dependencies = [ "async-trait", "bimap", - "borsh", + "borsh 0.9.4", "circular-queue", "clru", "data-encoding", @@ -3773,7 +3835,7 @@ dependencies = [ "ark-ec", "ark-serialize", "bech32 0.8.1", - "borsh", + "borsh 0.9.4", "chrono", "data-encoding", "derivative", @@ -3785,7 +3847,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto", + "ibc-proto 0.30.0", "ics23", "impl-num-traits", "index-set", @@ -3821,7 +3883,7 @@ dependencies = [ name = "namada_ethereum_bridge" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "ethers", "eyre", "itertools", @@ -3850,7 +3912,7 @@ dependencies = [ name = "namada_proof_of_stake" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "data-encoding", "derivative", "namada_core", @@ -3864,7 +3926,7 @@ dependencies = [ name = "namada_test_utils" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "strum", ] @@ -3903,7 +3965,7 @@ dependencies = [ name = "namada_tx_prelude" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", "namada_macros", @@ -3917,7 +3979,7 @@ dependencies = [ name = "namada_vm_env" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "masp_primitives", "namada_core", ] @@ -3926,7 +3988,7 @@ dependencies = [ name = "namada_vp_prelude" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "namada_core", "namada_macros", "namada_proof_of_stake", @@ -3939,7 +4001,7 @@ dependencies = [ name = "namada_wasm_for_tests" version = "0.20.0" dependencies = [ - "borsh", + "borsh 0.9.4", "getrandom 0.2.9", "namada_test_utils", "namada_tests", @@ -5737,7 +5799,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=e086b235ed6e68929bf73f617dd61cd17b000a56#e086b235ed6e68929bf73f617dd61cd17b000a56" dependencies = [ - "borsh", + "borsh 0.9.4", "cfg-if 1.0.0", "ics23", "sha2 0.9.9", From 2199f90f125cf3284bfdd90dcc9d016968377153 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 00:01:25 +0200 Subject: [PATCH 02/15] fix tests --- shared/src/ledger/ibc/vp/mod.rs | 96 ++++++++++++++------------------- tests/src/vm_host_env/ibc.rs | 18 ++++--- tests/src/vm_host_env/mod.rs | 3 +- 3 files changed, 53 insertions(+), 64 deletions(-) diff --git a/shared/src/ledger/ibc/vp/mod.rs b/shared/src/ledger/ibc/vp/mod.rs index 4298d6008b..1d2199625a 100644 --- a/shared/src/ledger/ibc/vp/mod.rs +++ b/shared/src/ledger/ibc/vp/mod.rs @@ -308,13 +308,15 @@ mod tests { use super::{get_dummy_header, *}; use crate::core::ledger::storage::testing::TestWlStorage; use crate::core::types::address::nam; - use crate::core::types::address::testing::established_address_1; + use crate::core::types::address::testing::{ + established_address_1, established_address_2, + }; use crate::core::types::storage::Epoch; use crate::ibc::applications::transfer::acknowledgement::TokenTransferAcknowledgement; use crate::ibc::applications::transfer::coin::PrefixedCoin; use crate::ibc::applications::transfer::denom::TracePrefix; use crate::ibc::applications::transfer::events::{ - AckEvent, DenomTraceEvent, TimeoutEvent, TransferEvent, + AckEvent, DenomTraceEvent, RecvEvent, TimeoutEvent, TransferEvent, }; use crate::ibc::applications::transfer::msgs::transfer::MsgTransfer; use crate::ibc::applications::transfer::packet::PacketData; @@ -698,9 +700,7 @@ mod tests { client_type(), client_state.latest_height(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Client); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -910,9 +910,7 @@ mod tests { vec![consensus_height], header.into(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Client); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1022,9 +1020,7 @@ mod tests { msg.client_id_on_a.clone(), msg.counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Connection); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1250,9 +1246,7 @@ mod tests { msg.counterparty.connection_id().cloned().unwrap(), msg.counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Connection); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1360,9 +1354,7 @@ mod tests { msg.conn_id_on_b.clone(), counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Connection); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1447,9 +1439,7 @@ mod tests { counterparty.connection_id().cloned().unwrap(), counterparty.client_id().clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Connection); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1571,9 +1561,7 @@ mod tests { conn_id, msg.version_proposal.clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1694,9 +1682,7 @@ mod tests { conn_id, msg.version_supported_on_a.clone(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1802,9 +1788,7 @@ mod tests { counterparty.channel_id().cloned().unwrap(), get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -1908,9 +1892,7 @@ mod tests { counterparty.channel_id().cloned().unwrap(), get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2011,7 +1993,7 @@ mod tests { receiver: "receiver".to_string().into(), memo: "memo".to_string().into(), }, - timeout_height_on_b: TimeoutHeight::Never, + timeout_height_on_b: TimeoutHeight::At(Height::new(0, 10).unwrap()), timeout_timestamp_on_b: Timestamp::none(), }; @@ -2052,9 +2034,7 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2132,6 +2112,8 @@ mod tests { .unwrap(); // prepare data + let sender = established_address_1(); + let receiver = established_address_2(); let transfer_msg = MsgTransfer { port_id_on_a: get_port_id(), chan_id_on_a: get_channel_id(), @@ -2140,11 +2122,11 @@ mod tests { denom: nam().to_string().parse().unwrap(), amount: 100u64.into(), }, - sender: "sender".to_string().into(), - receiver: established_address_1().to_string().into(), + sender: sender.to_string().into(), + receiver: receiver.to_string().into(), memo: "memo".to_string().into(), }, - timeout_height_on_b: TimeoutHeight::Never, + timeout_height_on_b: TimeoutHeight::At(Height::new(0, 10).unwrap()), timeout_timestamp_on_b: Timestamp::none(), }; let counterparty = get_channel_counterparty(); @@ -2202,6 +2184,18 @@ mod tests { .expect("write failed"); keys_changed.insert(denom_key); // event + let recv_event = RecvEvent { + sender: sender.to_string().into(), + receiver: receiver.to_string().into(), + denom: nam().to_string().parse().unwrap(), + amount: 100u64.into(), + memo: "memo".to_string().into(), + success: true, + }; + let event = RawIbcEvent::Module(ModuleEvent::from(recv_event)); + wl_storage + .write_log + .emit_ibc_event(event.try_into().unwrap()); let denom_trace_event = DenomTraceEvent { trace_hash: Some(trace_hash), denom: coin.denom, @@ -2215,9 +2209,7 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2230,9 +2222,7 @@ mod tests { acknowledgement, get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2311,7 +2301,7 @@ mod tests { receiver: "receiver".to_string().into(), memo: "memo".to_string().into(), }, - timeout_height_on_b: TimeoutHeight::Never, + timeout_height_on_b: TimeoutHeight::At(Height::new(0, 10).unwrap()), timeout_timestamp_on_b: Timestamp::none(), }; let sequence = 1.into(); @@ -2379,9 +2369,7 @@ mod tests { Order::Unordered, get_connection_id(), )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2532,9 +2520,7 @@ mod tests { packet, Order::Unordered, )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); @@ -2621,7 +2607,7 @@ mod tests { receiver: "receiver".to_string().into(), memo: "memo".to_string().into(), }, - timeout_height_on_b: TimeoutHeight::Never, + timeout_height_on_b: TimeoutHeight::At(Height::new(0, 10).unwrap()), timeout_timestamp_on_b: Timestamp::none(), }; let sequence = 1.into(); @@ -2686,9 +2672,7 @@ mod tests { packet, Order::Unordered, )); - let message_event = RawIbcEvent::Message(MessageEvent::Module( - event.event_type().to_string(), - )); + let message_event = RawIbcEvent::Message(MessageEvent::Channel); wl_storage .write_log .emit_ibc_event(message_event.try_into().unwrap()); diff --git a/tests/src/vm_host_env/ibc.rs b/tests/src/vm_host_env/ibc.rs index 008d2a08ef..f88be446fe 100644 --- a/tests/src/vm_host_env/ibc.rs +++ b/tests/src/vm_host_env/ibc.rs @@ -347,13 +347,12 @@ pub fn prepare_opened_connection( let conn_id = ConnectionId::new(0); let key = connection_key(&conn_id); - let msg = msg_connection_open_init(client_id.clone()); let conn = ConnectionEnd::new( ConnState::Open, - msg.client_id_on_a.clone(), - msg.counterparty.clone(), - vec![msg.version.clone().unwrap_or_default()], - msg.delay_period, + client_id.clone(), + dummy_connection_counterparty(), + vec![ConnVersion::default()], + Duration::new(0, 0), ) .expect("invalid connection"); let bytes = conn.encode_vec(); @@ -444,9 +443,16 @@ pub fn msg_upgrade_client(client_id: ClientId) -> MsgUpgradeClient { } pub fn msg_connection_open_init(client_id: ClientId) -> MsgConnectionOpenInit { + let client_type = ClientType::new(MOCK_CLIENT_TYPE.to_string()).unwrap(); + let counterparty_client_id = ClientId::new(client_type, 42).unwrap(); + let commitment_prefix = + CommitmentPrefix::try_from(COMMITMENT_PREFIX.to_vec()).unwrap(); + let counterparty = + ConnCounterparty::new(counterparty_client_id, None, commitment_prefix); + MsgConnectionOpenInit { client_id_on_a: client_id, - counterparty: dummy_connection_counterparty(), + counterparty, version: None, delay_period: Duration::new(0, 0), signer: "test".to_string().into(), diff --git a/tests/src/vm_host_env/mod.rs b/tests/src/vm_host_env/mod.rs index 2fe7311371..dbecb01bd5 100644 --- a/tests/src/vm_host_env/mod.rs +++ b/tests/src/vm_host_env/mod.rs @@ -1217,8 +1217,7 @@ mod tests { // Start a transaction to send a packet // Set this chain is the sink zone - let hashed_denom = ibc_token.to_string(); - let msg = ibc::msg_transfer(port_id, channel_id, hashed_denom, &sender); + let msg = ibc::msg_transfer(port_id, channel_id, denom, &sender); let mut tx_data = vec![]; msg.to_any().encode(&mut tx_data).expect("encoding failed"); From bd7f73cb845b4fbb73a2b8b95314bcf98eaa2808 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 00:02:53 +0200 Subject: [PATCH 03/15] fix IBC e2e test --- Cargo.lock | 572 ++---------------------- Cargo.toml | 3 +- tests/Cargo.toml | 3 +- tests/src/e2e/ibc_tests.rs | 863 +++++++++++++++++++------------------ wasm/Cargo.lock | 829 ++--------------------------------- 5 files changed, 522 insertions(+), 1748 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7b0afb42cf..65952f0188 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -351,22 +351,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "async-tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00550829ef8e2c4115250d0ee43305649b0fa95f78a32ce5b07da0b73d95c5c" -dependencies = [ - "futures-io", - "futures-util", - "log", - "pin-project-lite", - "tokio", - "tokio-rustls 0.22.0", - "tungstenite 0.12.0", - "webpki-roots 0.21.1", -] - [[package]] name = "async_io_stream" version = "0.3.3" @@ -521,12 +505,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "bellman" version = "0.13.1" @@ -616,27 +594,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bitcoin" -version = "0.29.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3" -dependencies = [ - "bech32 0.9.1", - "bitcoin_hashes", - "secp256k1", - "serde 1.0.147", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" -dependencies = [ - "serde 1.0.147", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -810,7 +767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ "borsh-derive 0.10.3", - "hashbrown 0.11.2", + "hashbrown 0.12.3", ] [[package]] @@ -956,12 +913,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "bytecount" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" - [[package]] name = "byteorder" version = "1.4.3" @@ -1006,19 +957,6 @@ dependencies = [ "serde 1.0.147", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.17", - "serde 1.0.147", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.15.3" @@ -1821,16 +1759,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.3.7" @@ -1842,17 +1770,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.4" @@ -1967,18 +1884,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.6", -] - [[package]] name = "either" version = "1.8.0" @@ -2115,15 +2020,6 @@ dependencies = [ "libc", ] -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - [[package]] name = "escargot" version = "0.5.7" @@ -2155,7 +2051,7 @@ dependencies = [ "sha2 0.10.6", "sha3", "thiserror", - "uuid 0.8.2", + "uuid", ] [[package]] @@ -2369,7 +2265,7 @@ checksum = "d5925cba515ac18eb5c798ddf6069cc33ae00916cb08ae64194364a1b35c100b" dependencies = [ "arrayvec 0.7.2", "bytes", - "cargo_metadata 0.15.3", + "cargo_metadata", "chrono", "convert_case", "elliptic-curve", @@ -2500,7 +2396,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b36f34b0325008d05b0e9be8361bfa8a0fb905f10de0d951c2621c59e811cb91" dependencies = [ "conpty", - "nix 0.26.2", + "nix", "ptyprocess", "regex", ] @@ -2536,6 +2432,17 @@ dependencies = [ "instant", ] +[[package]] +name = "fd-lock" +version = "3.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" +dependencies = [ + "cfg-if 1.0.0", + "rustix 0.38.3", + "windows-sys 0.48.0", +] + [[package]] name = "ferveo" version = "0.1.1" @@ -2597,18 +2504,6 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "file-lock" -version = "2.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0815fc2a1924e651b71ae6d13df07b356a671a09ecaf857dbd344a2ba937a496" -dependencies = [ - "cc", - "libc", - "mktemp", - "nix 0.24.2", -] - [[package]] name = "file-serve" version = "0.2.1" @@ -3025,15 +2920,6 @@ dependencies = [ "fxhash", ] -[[package]] -name = "hdpath" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dafb09e5d85df264339ad786a147d9de1da13687a3697c52244297e5e7c32d9c" -dependencies = [ - "byteorder", -] - [[package]] name = "hdrhistogram" version = "7.5.2" @@ -3203,22 +3089,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "humantime-serde" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" -dependencies = [ - "humantime", - "serde 1.0.147", -] - [[package]] name = "hyper" version = "0.14.23" @@ -3255,7 +3125,7 @@ dependencies = [ "http", "hyper", "hyper-rustls 0.22.1", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", "tokio-rustls 0.22.0", "tower-service", @@ -3273,7 +3143,7 @@ dependencies = [ "hyper", "log", "rustls 0.19.1", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", "tokio-rustls 0.22.0", "webpki 0.21.4", @@ -3353,7 +3223,7 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "num-traits 0.2.15", "parking_lot 0.12.1", @@ -3374,21 +3244,6 @@ dependencies = [ "uint", ] -[[package]] -name = "ibc-proto" -version = "0.26.0" -source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=bb16e17a4d9260d5f20516a8eda43fa52377fad2#bb16e17a4d9260d5f20516a8eda43fa52377fad2" -dependencies = [ - "base64 0.13.1", - "bytes", - "flex-error", - "prost", - "serde 1.0.147", - "subtle-encoding", - "tendermint-proto", - "tonic", -] - [[package]] name = "ibc-proto" version = "0.30.0" @@ -3406,95 +3261,6 @@ dependencies = [ "tendermint-proto", ] -[[package]] -name = "ibc-relayer" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "anyhow", - "async-stream", - "bech32 0.9.1", - "bitcoin", - "bs58", - "bytes", - "crossbeam-channel 0.5.6", - "digest 0.10.7", - "dirs-next", - "ed25519", - "ed25519-dalek", - "ed25519-dalek-bip32", - "flex-error", - "futures", - "generic-array 0.14.6", - "hdpath", - "hex", - "http", - "humantime", - "humantime-serde", - "ibc-proto 0.26.0", - "ibc-relayer-types", - "itertools", - "moka", - "num-bigint 0.4.3", - "num-rational 0.4.1", - "prost", - "regex", - "retry", - "ripemd", - "secp256k1", - "semver 1.0.17", - "serde 1.0.147", - "serde_derive", - "serde_json", - "sha2 0.10.6", - "signature", - "strum", - "subtle-encoding", - "tendermint", - "tendermint-light-client", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "thiserror", - "tiny-bip39 1.0.0", - "tiny-keccak", - "tokio", - "toml", - "tonic", - "tracing 0.1.37", - "uuid 1.2.1", -] - -[[package]] -name = "ibc-relayer-types" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "bytes", - "derive_more", - "dyn-clone", - "erased-serde", - "flex-error", - "ibc-proto 0.26.0", - "ics23", - "itertools", - "num-rational 0.4.1", - "primitive-types", - "prost", - "safe-regex", - "serde 1.0.147", - "serde_derive", - "serde_json", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "time", - "uint", -] - [[package]] name = "ics23" version = "0.9.0" @@ -3619,15 +3385,6 @@ dependencies = [ "generic-array 0.14.6", ] -[[package]] -name = "input_buffer" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" -dependencies = [ - "bytes", -] - [[package]] name = "instant" version = "0.1.12" @@ -4219,38 +3976,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" -[[package]] -name = "mktemp" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975de676448231fcde04b9149d2543077e166b78fc29eae5aa219e7928410da2" -dependencies = [ - "uuid 0.8.2", -] - -[[package]] -name = "moka" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b9268097a2cf211ac9955b1cc95e80fa84fff5c2d13ba292916445dc8a311f" -dependencies = [ - "crossbeam-channel 0.5.6", - "crossbeam-epoch", - "crossbeam-utils 0.8.12", - "num_cpus", - "once_cell", - "parking_lot 0.12.1", - "quanta", - "rustc_version 0.4.0", - "scheduled-thread-pool", - "skeptic", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid 1.2.1", -] - [[package]] name = "more-asserts" version = "0.2.2" @@ -4283,7 +4008,7 @@ dependencies = [ [[package]] name = "namada" -version = "0.19.0" +version = "0.20.0" dependencies = [ "assert_matches", "async-trait", @@ -4331,7 +4056,7 @@ dependencies = [ "tendermint-rpc", "test-log", "thiserror", - "tiny-bip39 0.8.2", + "tiny-bip39", "tiny-hderive", "tokio", "toml", @@ -4351,7 +4076,7 @@ dependencies = [ [[package]] name = "namada_apps" -version = "0.19.0" +version = "0.20.0" dependencies = [ "ark-serialize", "ark-std", @@ -4378,13 +4103,14 @@ dependencies = [ "ethbridge-events", "ethbridge-governance-events", "eyre", + "fd-lock", "ferveo", "ferveo-common", - "file-lock", "flate2", "futures", "git2", "itertools", + "lazy_static", "libc", "libloading", "masp_primitives", @@ -4439,7 +4165,7 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.19.0" +version = "0.20.0" dependencies = [ "ark-bls12-381", "ark-ec", @@ -4458,7 +4184,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "impl-num-traits", "index-set", @@ -4496,7 +4222,7 @@ dependencies = [ [[package]] name = "namada_encoding_spec" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "itertools", @@ -4507,7 +4233,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.19.0" +version = "0.20.0" dependencies = [ "assert_matches", "borsh 0.9.4", @@ -4531,7 +4257,7 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.19.0" +version = "0.20.0" dependencies = [ "proc-macro2", "quote", @@ -4540,7 +4266,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "data-encoding", @@ -4558,7 +4284,7 @@ dependencies = [ [[package]] name = "namada_test_utils" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "namada_core", @@ -4567,11 +4293,13 @@ dependencies = [ [[package]] name = "namada_tests" -version = "0.19.0" +version = "0.20.0" dependencies = [ "assert_cmd", + "async-trait", "borsh 0.9.4", "chrono", + "clap", "color-eyre", "concat-idents", "data-encoding", @@ -4582,15 +4310,15 @@ dependencies = [ "file-serve", "fs_extra", "hyper", - "ibc-relayer", - "ibc-relayer-types", "itertools", + "lazy_static", "namada", "namada_apps", "namada_core", "namada_test_utils", "namada_tx_prelude", "namada_vp_prelude", + "num-traits 0.2.15", "once_cell", "pretty_assertions", "proptest", @@ -4601,6 +4329,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "tempfile", + "tendermint-light-client", "test-log", "tokio", "toml", @@ -4610,7 +4339,7 @@ dependencies = [ [[package]] name = "namada_tx_prelude" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "masp_primitives", @@ -4624,7 +4353,7 @@ dependencies = [ [[package]] name = "namada_vm_env" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "masp_primitives", @@ -4633,7 +4362,7 @@ dependencies = [ [[package]] name = "namada_vp_prelude" -version = "0.19.0" +version = "0.20.0" dependencies = [ "borsh 0.9.4", "namada_core", @@ -4662,17 +4391,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "nix" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" -dependencies = [ - "bitflags 1.3.2", - "cfg-if 1.0.0", - "libc", -] - [[package]] name = "nix" version = "0.26.2" @@ -4716,9 +4434,9 @@ checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" [[package]] name = "ntapi" -version = "0.3.7" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ "winapi", ] @@ -4781,7 +4499,6 @@ dependencies = [ "autocfg", "num-integer", "num-traits 0.2.15", - "serde 1.0.147", ] [[package]] @@ -4857,7 +4574,6 @@ dependencies = [ "num-bigint 0.4.3", "num-integer", "num-traits 0.2.15", - "serde 1.0.147", ] [[package]] @@ -5599,34 +5315,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e05aef7befb11a210468a2d77d978dde2c6381a0381e33beb575e91f57fe8cf" dependencies = [ - "nix 0.26.2", -] - -[[package]] -name = "pulldown-cmark" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34f197a544b0c9ab3ae46c359a7ec9cbbb5c7bf97054266fecb7ead794a181d6" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - -[[package]] -name = "quanta" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" -dependencies = [ - "crossbeam-utils 0.8.12", - "libc", - "mach", - "once_cell", - "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", - "web-sys", - "winapi", + "nix", ] [[package]] @@ -5736,15 +5425,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "raw-cpuid" -version = "10.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6823ea29436221176fe662da99998ad3b4db2c7f31e7b6f5fe43adccd6320bb" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "rayon" version = "1.5.3" @@ -5911,12 +5591,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "retry" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" - [[package]] name = "rfc6979" version = "0.3.1" @@ -5952,17 +5626,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "ripemd160" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "rkyv" version = "0.7.39" @@ -6144,18 +5807,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.2", - "schannel", - "security-framework", -] - [[package]] name = "rustls-pemfile" version = "0.2.1" @@ -6303,15 +5954,6 @@ dependencies = [ "windows-sys 0.36.1", ] -[[package]] -name = "scheduled-thread-pool" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" -dependencies = [ - "parking_lot 0.12.1", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -6382,27 +6024,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "secp256k1-sys", - "serde 1.0.147", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", -] - [[package]] name = "security-framework" version = "2.3.1" @@ -6572,19 +6193,6 @@ dependencies = [ "yaml-rust", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "sha-1" version = "0.10.0" @@ -6703,21 +6311,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" -[[package]] -name = "skeptic" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - [[package]] name = "slab" version = "0.4.7" @@ -6902,9 +6495,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.21.1" +version = "0.29.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb6c2c4a6ca462f07ca89841a2618dca6e405304d19ae238997e64915d89f513" +checksum = "c7cb97a5a85a136d84e75d5c3cf89655090602efb1be0d8d5337b7e386af2908" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -6914,12 +6507,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - [[package]] name = "tap" version = "1.0.1" @@ -6967,12 +6554,10 @@ dependencies = [ "ed25519-dalek", "flex-error", "futures", - "k256", "num-traits 0.2.15", "once_cell", "prost", "prost-types", - "ripemd160", "serde 1.0.147", "serde_bytes", "serde_json", @@ -7055,7 +6640,6 @@ version = "0.23.6" source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7#b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7" dependencies = [ "async-trait", - "async-tungstenite", "bytes", "flex-error", "futures", @@ -7078,7 +6662,7 @@ dependencies = [ "tokio", "tracing 0.1.37", "url", - "uuid 0.8.2", + "uuid", "walkdir", ] @@ -7208,25 +6792,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.6", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-hderive" version = "0.3.0" @@ -7383,7 +6948,7 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite 0.17.3", + "tungstenite", ] [[package]] @@ -7445,10 +7010,7 @@ dependencies = [ "pin-project", "prost", "prost-derive", - "rustls-native-certs 0.6.2", - "rustls-pemfile 1.0.2", "tokio", - "tokio-rustls 0.23.4", "tokio-stream", "tokio-util 0.7.4", "tower", @@ -7719,37 +7281,12 @@ dependencies = [ "tracing-futures 0.2.5 (git+https://github.com/tokio-rs/tracing/?tag=tracing-0.1.30)", ] -[[package]] -name = "triomphe" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" - [[package]] name = "try-lock" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" -[[package]] -name = "tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ada8297e8d70872fa9a551d93250a9f407beb9f37ef86494eb20012a2ff7c24" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "input_buffer", - "log", - "rand 0.8.5", - "sha-1 0.9.8", - "url", - "utf-8", -] - [[package]] name = "tungstenite" version = "0.17.3" @@ -7763,7 +7300,7 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "sha-1 0.10.0", + "sha-1", "thiserror", "url", "utf-8", @@ -7911,15 +7448,6 @@ dependencies = [ "serde 1.0.147", ] -[[package]] -name = "uuid" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" -dependencies = [ - "getrandom 0.2.8", -] - [[package]] name = "valuable" version = "0.1.0" @@ -8055,12 +7583,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index f051952569..01dde43f11 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,8 +76,6 @@ flate2 = "1.0.22" fs_extra = "1.2.0" futures = "0.3" git2 = "0.13.25" -ibc-relayer = {git = "https://github.com/heliaxdev/hermes.git", rev = "fea6928dace1af3e38c5b223f933c1d07720811d", default-features = false} -ibc-relayer-types = {git = "https://github.com/heliaxdev/hermes.git", rev = "fea6928dace1af3e38c5b223f933c1d07720811d", default-features = false } ics23 = "0.9.0" index-set = {git = "https://github.com/heliaxdev/index-set", tag = "v0.7.1", features = ["serialize-borsh", "serialize-serde"]} itertools = "0.10.0" @@ -121,6 +119,7 @@ sysinfo = {version = "0.29.4", default-features = false} tar = "0.4.37" tempfile = {version = "3.2.0"} tendermint-config = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7"} +tendermint-light-client = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7"} test-log = {version = "0.2.7", default-features = false, features = ["trace"]} tiny-bip39 = {git = "https://github.com/anoma/tiny-bip39.git", rev = "bf0f6d8713589b83af7a917366ec31f5275c0e57"} tiny-hderive = "0.3.0" diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 65c0d306f3..6d05a52f4a 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -40,8 +40,6 @@ clap.workspace = true concat-idents.workspace = true derivative.workspace = true hyper = {version = "0.14.20", features = ["full"]} -ibc-relayer-types.workspace = true -ibc-relayer.workspace = true lazy_static.workspace = true num-traits.workspace = true prost.workspace = true @@ -49,6 +47,7 @@ regex.workspace = true serde_json.workspace = true sha2.workspace = true tempfile.workspace = true +tendermint-light-client.workspace = true test-log.workspace = true tokio = {workspace = true, features = ["full"]} tracing-subscriber.workspace = true diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index a7f89d9a9f..77b6952ba8 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -12,56 +12,43 @@ use core::convert::TryFrom; use core::str::FromStr; use core::time::Duration; +use std::collections::HashMap; use color_eyre::eyre::Result; use eyre::eyre; -use ibc_relayer::client_state::AnyClientState; -use ibc_relayer::config::types::{MaxMsgNum, MaxTxSize, Memo}; -use ibc_relayer::config::{AddressType, ChainConfig, GasPrice, PacketFilter}; -use ibc_relayer::event::ibc_event_try_from_abci_event; -use ibc_relayer::keyring::Store; -use ibc_relayer::light_client::tendermint::LightClient as TmLightClient; -use ibc_relayer::light_client::{LightClient, Verified}; -use ibc_relayer_types::clients::ics07_tendermint::client_state::{ +use namada::ibc::applications::transfer::VERSION as ICS20_VERSION; +use namada::ibc::clients::ics07_tendermint::client_state::{ AllowUpdate, ClientState as TmClientState, }; -use ibc_relayer_types::clients::ics07_tendermint::consensus_state::ConsensusState as TmConsensusState; -use ibc_relayer_types::core::ics02_client::msgs::create_client::MsgCreateClient; -use ibc_relayer_types::core::ics02_client::msgs::update_client::MsgUpdateClient; -use ibc_relayer_types::core::ics02_client::trust_threshold::TrustThreshold; -use ibc_relayer_types::core::ics03_connection::connection::Counterparty as ConnCounterparty; -use ibc_relayer_types::core::ics03_connection::msgs::conn_open_ack::MsgConnectionOpenAck; -use ibc_relayer_types::core::ics03_connection::msgs::conn_open_confirm::MsgConnectionOpenConfirm; -use ibc_relayer_types::core::ics03_connection::msgs::conn_open_init::MsgConnectionOpenInit; -use ibc_relayer_types::core::ics03_connection::msgs::conn_open_try::MsgConnectionOpenTry; -use ibc_relayer_types::core::ics03_connection::version::Version as ConnVersion; -use ibc_relayer_types::core::ics04_channel::channel::{ - ChannelEnd, Counterparty as ChanCounterparty, Order as ChanOrder, - State as ChanState, +use namada::ibc::clients::ics07_tendermint::consensus_state::ConsensusState as TmConsensusState; +use namada::ibc::clients::ics07_tendermint::header::Header as IbcTmHeader; +use namada::ibc::clients::ics07_tendermint::trust_threshold::TrustThreshold; +use namada::ibc::core::ics02_client::client_state::ClientState; +use namada::ibc::core::ics02_client::msgs::create_client::MsgCreateClient; +use namada::ibc::core::ics02_client::msgs::update_client::MsgUpdateClient; +use namada::ibc::core::ics03_connection::connection::Counterparty as ConnCounterparty; +use namada::ibc::core::ics03_connection::msgs::conn_open_ack::MsgConnectionOpenAck; +use namada::ibc::core::ics03_connection::msgs::conn_open_confirm::MsgConnectionOpenConfirm; +use namada::ibc::core::ics03_connection::msgs::conn_open_init::MsgConnectionOpenInit; +use namada::ibc::core::ics03_connection::msgs::conn_open_try::MsgConnectionOpenTry; +use namada::ibc::core::ics03_connection::version::Version as ConnVersion; +use namada::ibc::core::ics04_channel::channel::Order as ChanOrder; +use namada::ibc::core::ics04_channel::msgs::{ + MsgAcknowledgement, MsgChannelOpenAck, MsgChannelOpenConfirm, + MsgChannelOpenInit, MsgChannelOpenTry, MsgRecvPacket, MsgTimeout, }; -use ibc_relayer_types::core::ics04_channel::msgs::acknowledgement::MsgAcknowledgement; -use ibc_relayer_types::core::ics04_channel::msgs::chan_open_ack::MsgChannelOpenAck; -use ibc_relayer_types::core::ics04_channel::msgs::chan_open_confirm::MsgChannelOpenConfirm; -use ibc_relayer_types::core::ics04_channel::msgs::chan_open_init::MsgChannelOpenInit; -use ibc_relayer_types::core::ics04_channel::msgs::chan_open_try::MsgChannelOpenTry; -use ibc_relayer_types::core::ics04_channel::msgs::recv_packet::MsgRecvPacket; -use ibc_relayer_types::core::ics04_channel::msgs::timeout::MsgTimeout; -use ibc_relayer_types::core::ics04_channel::packet::Packet; -use ibc_relayer_types::core::ics04_channel::version::Version as ChanVersion; -use ibc_relayer_types::core::ics23_commitment::commitment::{ +use namada::ibc::core::ics04_channel::packet::Packet; +use namada::ibc::core::ics04_channel::timeout::TimeoutHeight; +use namada::ibc::core::ics04_channel::Version as ChanVersion; +use namada::ibc::core::ics23_commitment::commitment::{ CommitmentPrefix, CommitmentProofBytes, }; -use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_proof; -use ibc_relayer_types::core::ics24_host::identifier::{ - ChainId, ClientId, ConnectionId, PortChannelId, PortId, +use namada::ibc::core::ics23_commitment::merkle::MerkleProof; +use namada::ibc::core::ics24_host::identifier::{ + ChainId, ChannelId, ClientId, ConnectionId, PortId, }; -use ibc_relayer_types::events::IbcEvent; -use ibc_relayer_types::proofs::{ConsensusProof, Proofs}; -use ibc_relayer_types::signer::Signer; -use ibc_relayer_types::tx_msg::Msg; -use ibc_relayer_types::Height; -use namada::ibc::core::ics24_host::identifier::PortChannelId as IbcPortChannelId; -use namada::ibc::Height as IbcHeight; +use namada::ibc::core::Msg; +use namada::ibc::{Height, Signer}; use namada::ibc_proto::google::protobuf::Any; use namada::ledger::events::EventType; use namada::ledger::ibc::storage::*; @@ -70,6 +57,8 @@ use namada::ledger::pos::{self, PosParams}; use namada::ledger::queries::RPC; use namada::ledger::storage::ics23_specs::ibc_proof_specs; use namada::ledger::storage::traits::Sha256Hasher; +use namada::tendermint::abci::Event as AbciEvent; +use namada::tendermint::block::Height as TmHeight; use namada::types::address::{Address, InternalAddress}; use namada::types::key::PublicKey; use namada::types::storage::{BlockHeight, Key}; @@ -82,11 +71,11 @@ use namada_apps::config::ethereum_bridge; use namada_apps::config::genesis::genesis_config::GenesisConfig; use namada_apps::facade::tendermint::block::Header as TmHeader; use namada_apps::facade::tendermint::merkle::proof::Proof as TmProof; -use namada_apps::facade::tendermint::trust_threshold::TrustThresholdFraction; use namada_apps::facade::tendermint_config::net::Address as TendermintAddress; use namada_apps::facade::tendermint_rpc::{Client, HttpClient, Url}; use prost::Message; use setup::constants::*; +use tendermint_light_client::components::io::{Io, ProdIo as TmLightClientIo}; use super::setup::set_ethereum_bridge_mode; use crate::e2e::helpers::{find_address, get_actor_rpc, get_validator_pk}; @@ -146,14 +135,15 @@ fn run_ledger_ibc() -> Result<()> { let (conn_id_a, conn_id_b) = connection_handshake(&test_a, &test_b, &client_id_a, &client_id_b)?; - let (port_channel_id_a, port_channel_id_b) = channel_handshake( - &test_a, - &test_b, - &client_id_a, - &client_id_b, - &conn_id_a, - &conn_id_b, - )?; + let ((port_id_a, channel_id_a), (port_id_b, channel_id_b)) = + channel_handshake( + &test_a, + &test_b, + &client_id_a, + &client_id_b, + &conn_id_a, + &conn_id_b, + )?; // Transfer 100000 from the normal account on Chain A to Chain B transfer_token( @@ -161,13 +151,14 @@ fn run_ledger_ibc() -> Result<()> { &test_b, &client_id_a, &client_id_b, - &port_channel_id_a, + &port_id_a, + &channel_id_a, )?; - check_balances(&port_channel_id_b, &test_a, &test_b)?; + check_balances(&port_id_b, &channel_id_b, &test_a, &test_b)?; // Transfer 50000 received over IBC on Chain B - transfer_received_token(&port_channel_id_b, &test_b)?; - check_balances_after_non_ibc(&port_channel_id_b, &test_b)?; + transfer_received_token(&port_id_b, &channel_id_b, &test_b)?; + check_balances_after_non_ibc(&port_id_b, &channel_id_b, &test_b)?; // Transfer 50000 back from the origin-specific account on Chain B to Chain // A @@ -176,14 +167,21 @@ fn run_ledger_ibc() -> Result<()> { &test_b, &client_id_a, &client_id_b, - &port_channel_id_b, + &port_id_b, + &channel_id_b, )?; - check_balances_after_back(&port_channel_id_b, &test_a, &test_b)?; + check_balances_after_back(&port_id_b, &channel_id_b, &test_a, &test_b)?; // Transfer a token and it will time out and refund - transfer_timeout(&test_a, &test_b, &client_id_a, &port_channel_id_a)?; + transfer_timeout( + &test_a, + &test_b, + &client_id_a, + &port_id_a, + &channel_id_a, + )?; // The balance should not be changed - check_balances_after_back(&port_channel_id_b, &test_a, &test_b)?; + check_balances_after_back(&port_id_b, &channel_id_b, &test_a, &test_b)?; // Skip tests for closing a channel and timeout_on_close since the transfer // channel cannot be closed @@ -214,7 +212,7 @@ fn create_client(test_a: &Test, test_b: &Test) -> Result<(ClientId, ClientId)> { let message = MsgCreateClient { client_state: client_state.into(), consensus_state: make_consensus_state(test_b, height)?.into(), - signer: Signer::from_str("test_a").expect("invalid signer"), + signer: signer(), }; let height_a = submit_ibc_tx(test_a, message, ALBERT)?; @@ -224,23 +222,16 @@ fn create_client(test_a: &Test, test_b: &Test) -> Result<(ClientId, ClientId)> { let message = MsgCreateClient { client_state: client_state.into(), consensus_state: make_consensus_state(test_a, height)?.into(), - signer: Signer::from_str("test_b").expect("invalid signer"), + signer: signer(), }; let height_b = submit_ibc_tx(test_b, message, ALBERT)?; - // convert the client IDs from `ibc_relayer_type` to `ibc` - let client_id_a = match get_event(test_a, height_a)? { - Some(IbcEvent::CreateClient(event)) => { - ClientId::from_str(event.client_id().as_str()).unwrap() - } - _ => return Err(eyre!("Transaction failed")), - }; - let client_id_b = match get_event(test_b, height_b)? { - Some(IbcEvent::CreateClient(event)) => { - ClientId::from_str(event.client_id().as_str()).unwrap() - } - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_a, height_a)?; + let client_id_a = get_client_id_from_events(&events) + .ok_or(eyre!("Transaction failed"))?; + let events = get_events(test_b, height_b)?; + let client_id_b = get_client_id_from_events(&events) + .ok_or(eyre!("Transaction failed"))?; // `client_id_a` represents the ID of the B's client on Chain A Ok((client_id_a, client_id_b)) @@ -325,7 +316,6 @@ fn update_client_with_height( target_client_id, trusted_height, target_height, - client_state, ) } @@ -335,34 +325,33 @@ fn update_client( client_id: &ClientId, trusted_height: Height, target_height: Height, - client_state: TmClientState, ) -> Result<()> { - let config = dummy_chain_config(src_test); - let pk = get_validator_pk(src_test, &Who::Validator(0)).unwrap(); - let peer_id = id_from_pk(&PublicKey::try_from_pk(&pk).unwrap()); - let mut light_client = - TmLightClient::from_config(&config, peer_id).unwrap(); - let Verified { target, supporting } = light_client - .header_and_minimal_set( - trusted_height, - target_height, - &AnyClientState::Tendermint(client_state), - ) - .map_err(|e| eyre!("Building the header failed: {}", e))?; - - for header in supporting { - let message = MsgUpdateClient { - header: header.into(), - client_id: client_id.clone(), - signer: Signer::from_str("test").expect("invalid signer"), - }; - submit_ibc_tx(target_test, message, ALBERT)?; - } + let io = make_light_client_io(src_test); + + let height = TmHeight::try_from(trusted_height.revision_height()) + .expect("invalid height"); + let trusted_block = io + .fetch_light_block(height.into()) + .expect("the light client couldn't get a light block"); + + let height = TmHeight::try_from(target_height.revision_height()) + .expect("invalid height"); + let target_block = io + .fetch_light_block(height.into()) + .expect("the light client couldn't get a light block"); + + let header = IbcTmHeader { + signed_header: target_block.signed_header, + validator_set: target_block.validators, + trusted_height: Height::new(0, u64::from(trusted_block.height())) + .expect("invalid height"), + trusted_next_validator_set: trusted_block.next_validators, + }; let message = MsgUpdateClient { - header: target.into(), + header: header.into(), client_id: client_id.clone(), - signer: Signer::from_str("test").expect("invalid signer"), + signer: signer(), }; submit_ibc_tx(target_test, message, ALBERT)?; @@ -374,40 +363,16 @@ fn update_client( Ok(()) } -fn dummy_chain_config(test: &Test) -> ChainConfig { +fn make_light_client_io(test: &Test) -> TmLightClientIo { let addr = format!("http://{}", get_actor_rpc(test, &Who::Validator(0))); let rpc_addr = Url::from_str(&addr).unwrap(); - // use only id and rpc_addr - ChainConfig { - id: ChainId::new(test.net.chain_id.as_str().to_string(), 0), - r#type: ibc_relayer::chain::ChainType::CosmosSdk, - rpc_addr: rpc_addr.clone(), - websocket_addr: rpc_addr.clone(), - grpc_addr: rpc_addr, - rpc_timeout: Duration::new(10, 0), - account_prefix: "dummy".to_string(), - key_name: "dummy".to_string(), - key_store_type: Store::default(), - store_prefix: "dummy".to_string(), - default_gas: None, - max_gas: None, - gas_adjustment: None, - gas_multiplier: None, - fee_granter: None, - max_msg_num: MaxMsgNum::default(), - max_tx_size: MaxTxSize::default(), - clock_drift: Duration::new(5, 0), - max_block_time: Duration::new(5, 0), - trusting_period: None, - memo_prefix: Memo::default(), - proof_specs: Some(ibc_proof_specs::().into()), - sequential_batch_tx: true, - trust_threshold: TrustThresholdFraction::ONE_THIRD, - gas_price: GasPrice::new(0.0, "dummy".to_string()), - packet_filter: PacketFilter::default(), - address_type: AddressType::Cosmos, - extension_options: Vec::new(), - } + let rpc_client = HttpClient::new(rpc_addr).unwrap(); + let rpc_timeout = Duration::new(10, 0); + + let pk = get_validator_pk(test, &Who::Validator(0)).unwrap(); + let peer_id = id_from_pk(&PublicKey::try_from_pk(&pk).unwrap()); + + TmLightClientIo::new(peer_id, rpc_client, Some(rpc_timeout)) } fn connection_handshake( @@ -417,7 +382,7 @@ fn connection_handshake( client_id_b: &ClientId, ) -> Result<(ConnectionId, ConnectionId)> { let msg = MsgConnectionOpenInit { - client_id: client_id_a.clone(), + client_id_on_a: client_id_a.clone(), counterparty: ConnCounterparty::new( client_id_b.clone(), None, @@ -425,60 +390,58 @@ fn connection_handshake( ), version: Some(ConnVersion::default()), delay_period: Duration::new(1, 0), - signer: Signer::from_str("test_a").expect("invalid signer"), + signer: "test_a".to_string().into(), }; // OpenInitConnection on Chain A let height = submit_ibc_tx(test_a, msg, ALBERT)?; - let conn_id_a = match get_event(test_a, height)? { - Some(IbcEvent::OpenInitConnection(event)) => event - .connection_id() - .cloned() - .ok_or(eyre!("No connection ID is set"))?, - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_a, height)?; + let conn_id_a = get_connection_id_from_events(&events) + .ok_or(eyre!("No connection ID is set"))?; // get the proofs from Chain A let height_a = query_height(test_a)?; - let (client_state, proofs) = - get_connection_proofs(test_a, client_id_a, &conn_id_a, height_a)?; + let conn_proof = get_connection_proof(test_a, &conn_id_a, height_a)?; + let (client_state, client_state_proof, consensus_proof) = + get_client_states(test_a, client_id_a, height_a)?; let counterparty = ConnCounterparty::new( client_id_a.clone(), Some(conn_id_a.clone()), commitment_prefix(), ); - let msg = MsgConnectionOpenTry { - previous_connection_id: None, - client_id: client_id_b.clone(), - client_state: Some(client_state.into()), + let msg = make_msg_conn_open_try( + client_id_b.clone(), + client_state, counterparty, - counterparty_versions: vec![ConnVersion::default()], - proofs, - delay_period: Duration::new(1, 0), - signer: Signer::from_str("test_b").expect("invalid signer"), - }; + conn_proof, + client_state_proof, + consensus_proof, + height_a, + ); // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; // OpenTryConnection on Chain B let height = submit_ibc_tx(test_b, msg, ALBERT)?; - let conn_id_b = match get_event(test_b, height)? { - Some(IbcEvent::OpenTryConnection(event)) => event - .connection_id() - .cloned() - .ok_or(eyre!("No connection ID is set"))?, - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_b, height)?; + let conn_id_b = get_connection_id_from_events(&events) + .ok_or(eyre!("No connection ID is set"))?; // get the A's proofs on Chain B let height_b = query_height(test_b)?; - let (client_state, proofs) = - get_connection_proofs(test_b, client_id_b, &conn_id_b, height_b)?; + let conn_proof = get_connection_proof(test_b, &conn_id_b, height_b)?; + let (client_state, client_state_proof, consensus_proof) = + get_client_states(test_b, client_id_b, height_b)?; + let consensus_height_of_a_on_b = client_state.latest_height(); let msg = MsgConnectionOpenAck { - connection_id: conn_id_a.clone(), - counterparty_connection_id: conn_id_b.clone(), - client_state: Some(client_state.into()), - proofs, + conn_id_on_a: conn_id_a.clone(), + conn_id_on_b: conn_id_b.clone(), + client_state_of_a_on_b: client_state.into(), + proof_conn_end_on_b: conn_proof, + proof_client_state_of_a_on_b: client_state_proof, + proof_consensus_state_of_a_on_b: consensus_proof, + proofs_height_on_b: height_b, + consensus_height_of_a_on_b, version: ConnVersion::default(), - signer: Signer::from_str("test_a").expect("invalid signer"), + signer: signer(), }; // Update the client state of Chain B on Chain A update_client_with_height(test_b, test_a, client_id_a, height_b)?; @@ -487,12 +450,12 @@ fn connection_handshake( // get the proofs on Chain A let height_a = query_height(test_a)?; - let (_, proofs) = - get_connection_proofs(test_a, client_id_a, &conn_id_a, height_a)?; + let proof = get_connection_proof(test_a, &conn_id_a, height_a)?; let msg = MsgConnectionOpenConfirm { - connection_id: conn_id_b.clone(), - proofs, - signer: Signer::from_str("test_b").expect("invalid signer"), + conn_id_on_b: conn_id_b.clone(), + proof_conn_end_on_a: proof, + proof_height_on_a: height_a, + signer: signer(), }; // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; @@ -503,31 +466,16 @@ fn connection_handshake( } // get the proofs on the target height -fn get_connection_proofs( +fn get_connection_proof( test: &Test, - client_id: &ClientId, conn_id: &ConnectionId, target_height: Height, -) -> Result<(TmClientState, Proofs)> { +) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = connection_key(&conn_id.as_str().parse().unwrap()); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; - let connection_proof = convert_proof(tm_proof)?; - - let (client_state, client_state_proof, consensus_proof) = - get_client_states(test, client_id, query_height)?; - - let proofs = Proofs::new( - connection_proof, - Some(client_state_proof), - Some(consensus_proof), - None, - target_height, - ) - .map_err(|e| eyre!("Creating proofs failed: error {}", e))?; - - Ok((client_state, proofs)) + convert_proof(tm_proof) } fn channel_handshake( @@ -537,80 +485,65 @@ fn channel_handshake( client_id_b: &ClientId, conn_id_a: &ConnectionId, conn_id_b: &ConnectionId, -) -> Result<(PortChannelId, PortChannelId)> { +) -> Result<((PortId, ChannelId), (PortId, ChannelId))> { // OpenInitChannel on Chain A let port_id = PortId::transfer(); - let counterparty = ChanCounterparty::new(port_id.clone(), None); - let channel = ChannelEnd::new( - ChanState::Init, - ChanOrder::Unordered, - counterparty, - vec![conn_id_a.clone()], - ChanVersion::ics20(), - ); + let connection_hops_on_a = vec![conn_id_a.clone()]; + let channel_version = ChanVersion::new(ICS20_VERSION.to_string()); let msg = MsgChannelOpenInit { - port_id: port_id.clone(), - channel, - signer: Signer::from_str("test_a").expect("invalid signer"), + port_id_on_a: port_id.clone(), + connection_hops_on_a, + port_id_on_b: port_id.clone(), + ordering: ChanOrder::Unordered, + signer: signer(), + version_proposal: channel_version.clone(), }; let height = submit_ibc_tx(test_a, msg, ALBERT)?; - let channel_id_a = - match get_event(test_a, height)? { - Some(IbcEvent::OpenInitChannel(event)) => event - .channel_id() - .cloned() - .ok_or(eyre!("No channel ID is set"))?, - _ => return Err(eyre!("Transaction failed")), - }; - let port_channel_id_a = - PortChannelId::new(channel_id_a.clone(), port_id.clone()); + + let events = get_events(test_a, height)?; + let channel_id_a = get_channel_id_from_events(&events) + .ok_or(eyre!("Transaction failed"))?; // get the proofs from Chain A let height_a = query_height(test_a)?; - let proofs = - get_channel_proofs(test_a, client_id_a, &port_channel_id_a, height_a)?; - let counterparty = - ChanCounterparty::new(port_id.clone(), Some(channel_id_a.clone())); - let channel = ChannelEnd::new( - ChanState::TryOpen, - ChanOrder::Unordered, - counterparty, - vec![conn_id_b.clone()], - ChanVersion::ics20(), - ); + let proof_chan_end_on_a = + get_channel_proof(test_a, &port_id, &channel_id_a, height_a)?; + let connection_hops_on_b = vec![conn_id_b.clone()]; + #[allow(deprecated)] let msg = MsgChannelOpenTry { - port_id: port_id.clone(), - previous_channel_id: None, - channel, - counterparty_version: ChanVersion::ics20(), - proofs, - signer: Signer::from_str("test_b").expect("invalid signer"), + port_id_on_b: port_id.clone(), + connection_hops_on_b, + port_id_on_a: port_id.clone(), + chan_id_on_a: channel_id_a.clone(), + version_supported_on_a: channel_version.clone(), + proof_chan_end_on_a, + proof_height_on_a: height_a, + ordering: ChanOrder::Unordered, + signer: signer(), + version_proposal: channel_version.clone(), }; + // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; // OpenTryChannel on Chain B let height = submit_ibc_tx(test_b, msg, ALBERT)?; - let channel_id_b = match get_event(test_b, height)? { - Some(IbcEvent::OpenTryChannel(event)) => event - .channel_id() - .cloned() - .ok_or(eyre!("No channel ID is set"))?, - _ => return Err(eyre!("Transaction failed")), - }; - let port_channel_id_b = - PortChannelId::new(channel_id_b.clone(), port_id.clone()); + + let events = get_events(test_a, height)?; + let channel_id_b = get_channel_id_from_events(&events) + .ok_or(eyre!("Transaction failed"))?; // get the A's proofs on Chain B let height_b = query_height(test_b)?; - let proofs = - get_channel_proofs(test_b, client_id_b, &port_channel_id_b, height_b)?; + let proof_chan_end_on_b = + get_channel_proof(test_b, &port_id, &channel_id_b, height_b)?; let msg = MsgChannelOpenAck { - port_id: port_id.clone(), - channel_id: channel_id_a, - counterparty_channel_id: channel_id_b.clone(), - counterparty_version: ChanVersion::ics20(), - proofs, - signer: Signer::from_str("test_a").expect("invalid signer"), + port_id_on_a: port_id.clone(), + chan_id_on_a: channel_id_a.clone(), + chan_id_on_b: channel_id_b.clone(), + version_on_b: channel_version, + proof_chan_end_on_b, + proof_height_on_b: height_b, + signer: signer(), }; // Update the client state of Chain B on Chain A update_client_with_height(test_b, test_a, client_id_a, height_b)?; @@ -619,49 +552,34 @@ fn channel_handshake( // get the proofs on Chain A let height_a = query_height(test_a)?; - let proofs = - get_channel_proofs(test_a, client_id_a, &port_channel_id_a, height_a)?; + let proof_chan_end_on_a = + get_channel_proof(test_a, &port_id, &channel_id_a, height_a)?; let msg = MsgChannelOpenConfirm { - port_id, - channel_id: channel_id_b, - proofs, - signer: Signer::from_str("test_b").expect("invalid signer"), + port_id_on_b: port_id.clone(), + chan_id_on_b: channel_id_b.clone(), + proof_chan_end_on_a, + proof_height_on_a: height_a, + signer: signer(), }; // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; // OpenConfirmChannel on Chain B submit_ibc_tx(test_b, msg, ALBERT)?; - Ok((port_channel_id_a, port_channel_id_b)) + Ok(((port_id.clone(), channel_id_a), (port_id, channel_id_b))) } -fn get_channel_proofs( +fn get_channel_proof( test: &Test, - client_id: &ClientId, - port_channel_id: &PortChannelId, + port_id: &PortId, + channel_id: &ChannelId, target_height: Height, -) -> Result { +) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); - let port_channel_id = IbcPortChannelId::new( - port_channel_id.channel_id.as_str().parse().unwrap(), - port_channel_id.port_id.as_str().parse().unwrap(), - ); - let key = channel_key(&port_channel_id); + let key = channel_key(port_id, channel_id); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; - let proof = convert_proof(tm_proof)?; - - let (_, client_state_proof, consensus_proof) = - get_client_states(test, client_id, query_height)?; - - Proofs::new( - proof, - Some(client_state_proof), - Some(consensus_proof), - None, - target_height, - ) - .map_err(|e| eyre!("Creating proofs failed: error {}", e)) + convert_proof(tm_proof) } // get the client state, the proof of the client state, and the proof of the @@ -670,7 +588,7 @@ fn get_client_states( test: &Test, client_id: &ClientId, target_height: Height, // should have been already decremented -) -> Result<(TmClientState, CommitmentProofBytes, ConsensusProof)> { +) -> Result<(TmClientState, CommitmentProofBytes, CommitmentProofBytes)> { let key = client_state_key(&client_id.as_str().parse().unwrap()); let (value, tm_proof) = query_value_with_proof(test, &key, Some(target_height))?; @@ -689,14 +607,12 @@ fn get_client_states( let client_state_proof = convert_proof(tm_proof)?; let height = client_state.latest_height(); - let ibc_height = IbcHeight::new(0, height.revision_height()).unwrap(); + let ibc_height = Height::new(0, height.revision_height()).unwrap(); let key = consensus_state_key(&client_id.as_str().parse().unwrap(), ibc_height); let (_, tm_proof) = query_value_with_proof(test, &key, Some(target_height))?; - let proof = convert_proof(tm_proof)?; - let consensus_proof = ConsensusProof::new(proof, height) - .map_err(|e| eyre!("Creating ConsensusProof failed: error {}", e))?; + let consensus_proof = convert_proof(tm_proof)?; Ok((client_state, client_state_proof, consensus_proof)) } @@ -706,7 +622,8 @@ fn transfer_token( test_b: &Test, client_id_a: &ClientId, client_id_b: &ClientId, - port_channel_id_a: &PortChannelId, + port_id_a: &PortId, + channel_id_a: &ChannelId, ) -> Result<()> { // Send a token from Chain A let receiver = find_address(test_b, BERTHA)?; @@ -716,32 +633,33 @@ fn transfer_token( &receiver, NAM, &Amount::native_whole(100000), - port_channel_id_a, + port_id_a, + channel_id_a, None, )?; - let packet = match get_event(test_a, height)? { - Some(IbcEvent::SendPacket(event)) => event.packet, - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_a, height)?; + let packet = + get_packet_from_events(&events).ok_or(eyre!("Transaction failed"))?; check_ibc_packet_query(test_a, &"send_packet".parse().unwrap(), &packet)?; let height_a = query_height(test_a)?; - let proofs = get_commitment_proof(test_a, &packet, height_a)?; + let proof_commitment_on_a = + get_commitment_proof(test_a, &packet, height_a)?; let msg = MsgRecvPacket { packet, - proofs, - signer: Signer::from_str("test_b").expect("invalid signer"), + proof_commitment_on_a, + proof_height_on_a: height_a, + signer: signer(), }; // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; // Receive the token on Chain B let height = submit_ibc_tx(test_b, msg, ALBERT)?; - let (acknowledgement, packet) = match get_event(test_b, height)? { - Some(IbcEvent::WriteAcknowledgement(event)) => { - (event.ack, event.packet) - } - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_b, height)?; + let packet = + get_packet_from_events(&events).ok_or(eyre!("Transaction failed"))?; + let ack = + get_ack_from_events(&events).ok_or(eyre!("Transaction failed"))?; check_ibc_packet_query( test_b, &"write_acknowledgement".parse().unwrap(), @@ -750,12 +668,13 @@ fn transfer_token( // get the proof on Chain B let height_b = query_height(test_b)?; - let proofs = get_ack_proof(test_b, &packet, height_b)?; + let proof_acked_on_b = get_ack_proof(test_b, &packet, height_b)?; let msg = MsgAcknowledgement { packet, - acknowledgement: acknowledgement.into(), - proofs, - signer: Signer::from_str("test_a").expect("invalid signer"), + acknowledgement: ack.try_into().expect("invalid ack"), + proof_acked_on_b, + proof_height_on_b: height_b, + signer: signer(), }; // Update the client state of Chain B on Chain A update_client_with_height(test_b, test_a, client_id_a, height_b)?; @@ -766,15 +685,13 @@ fn transfer_token( } fn transfer_received_token( - port_channel_id: &PortChannelId, + port_id: &PortId, + channel_id: &ChannelId, test: &Test, ) -> Result<()> { - let xan = find_address(test, NAM)?; + let nam = find_address(test, NAM)?; // token received via the port and channel - let denom = format!( - "{}/{}/{}", - port_channel_id.port_id, port_channel_id.channel_id, xan - ); + let denom = format!("{port_id}/{channel_id}/{nam}"); let ibc_token = ibc_token(denom).to_string(); let rpc = get_actor_rpc(test, &Who::Validator(0)); @@ -811,16 +728,14 @@ fn transfer_back( test_b: &Test, client_id_a: &ClientId, client_id_b: &ClientId, - port_channel_id_b: &PortChannelId, + port_id_b: &PortId, + channel_id_b: &ChannelId, ) -> Result<()> { - let xan = find_address(test_b, NAM)?.to_string(); + let nam = find_address(test_b, NAM)?.to_string(); let receiver = find_address(test_a, ALBERT)?; // Chain A was the source for the sent token - let denom_raw = format!( - "{}/{}/{}", - port_channel_id_b.port_id, port_channel_id_b.channel_id, xan - ); + let denom_raw = format!("{}/{}/{}", port_id_b, channel_id_b, nam); let ibc_token = ibc_token(denom_raw).to_string(); // Send a token from Chain B let height = transfer( @@ -829,40 +744,41 @@ fn transfer_back( &receiver, ibc_token, &Amount::native_whole(50000), - port_channel_id_b, + port_id_b, + channel_id_b, None, )?; - let packet = match get_event(test_b, height)? { - Some(IbcEvent::SendPacket(event)) => event.packet, - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_b, height)?; + let packet = + get_packet_from_events(&events).ok_or(eyre!("Transaction failed"))?; let height_b = query_height(test_b)?; - let proofs = get_commitment_proof(test_b, &packet, height_b)?; + let proof = get_commitment_proof(test_b, &packet, height_b)?; let msg = MsgRecvPacket { packet, - proofs, - signer: Signer::from_str("test_a").expect("invalid signer"), + proof_commitment_on_a: proof, + proof_height_on_a: height_b, + signer: signer(), }; // Update the client state of Chain B on Chain A update_client_with_height(test_b, test_a, client_id_a, height_b)?; // Receive the token on Chain A let height = submit_ibc_tx(test_a, msg, ALBERT)?; - let (acknowledgement, packet) = match get_event(test_a, height)? { - Some(IbcEvent::WriteAcknowledgement(event)) => { - (event.ack, event.packet) - } - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_a, height)?; + let packet = + get_packet_from_events(&events).ok_or(eyre!("Transaction failed"))?; + let ack = + get_ack_from_events(&events).ok_or(eyre!("Transaction failed"))?; // get the proof on Chain A let height_a = query_height(test_a)?; - let proofs = get_ack_proof(test_a, &packet, height_a)?; + let proof_acked_on_b = get_ack_proof(test_a, &packet, height_a)?; let msg = MsgAcknowledgement { packet, - acknowledgement: acknowledgement.into(), - proofs, - signer: Signer::from_str("test_b").expect("invalid signer"), + acknowledgement: ack.try_into().expect("invalid ack"), + proof_acked_on_b, + proof_height_on_b: height_a, + signer: signer(), }; // Update the client state of Chain A on Chain B update_client_with_height(test_a, test_b, client_id_b, height_a)?; @@ -876,7 +792,8 @@ fn transfer_timeout( test_a: &Test, test_b: &Test, client_id_a: &ClientId, - port_channel_id_a: &PortChannelId, + port_id_a: &PortId, + channel_id_a: &ChannelId, ) -> Result<()> { let receiver = find_address(test_b, BERTHA)?; @@ -887,24 +804,26 @@ fn transfer_timeout( &receiver, NAM, &Amount::native_whole(100000), - port_channel_id_a, + port_id_a, + channel_id_a, Some(Duration::new(5, 0)), )?; - let packet = match get_event(test_a, height)? { - Some(IbcEvent::SendPacket(event)) => event.packet, - _ => return Err(eyre!("Transaction failed")), - }; + let events = get_events(test_a, height)?; + let packet = + get_packet_from_events(&events).ok_or(eyre!("Transaction failed"))?; // wait for the timeout sleep(5); let height_b = query_height(test_b)?; - let proofs = get_receipt_absence_proof(test_b, &packet, height_b)?; + let proof_unreceived_on_b = + get_receipt_absence_proof(test_b, &packet, height_b)?; let msg = MsgTimeout { - next_sequence_recv: packet.sequence, packet, - proofs, - signer: Signer::from_str("test_a").expect("invalid signer"), + next_seq_recv_on_b: 0.into(), // not used + proof_unreceived_on_b, + proof_height_on_b: height_b, + signer: signer(), }; // Update the client state of Chain B on Chain A update_client_with_height(test_b, test_a, client_id_a, height_b)?; @@ -918,57 +837,48 @@ fn get_commitment_proof( test: &Test, packet: &Packet, target_height: Height, -) -> Result { +) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = commitment_key( - &packet.source_port.as_str().parse().unwrap(), - &packet.source_channel.as_str().parse().unwrap(), - u64::from(packet.sequence).into(), + &packet.port_id_on_a.as_str().parse().unwrap(), + &packet.chan_id_on_a.as_str().parse().unwrap(), + u64::from(packet.seq_on_a).into(), ); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; - let commitment_proof = convert_proof(tm_proof)?; - - Proofs::new(commitment_proof, None, None, None, target_height) - .map_err(|e| eyre!("Creating proofs failed: error {}", e)) + convert_proof(tm_proof) } fn get_ack_proof( test: &Test, packet: &Packet, target_height: Height, -) -> Result { +) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = ack_key( - &packet.destination_port.as_str().parse().unwrap(), - &packet.destination_channel.as_str().parse().unwrap(), - u64::from(packet.sequence).into(), + &packet.port_id_on_b.as_str().parse().unwrap(), + &packet.chan_id_on_b.as_str().parse().unwrap(), + u64::from(packet.seq_on_a).into(), ); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; - let ack_proof = convert_proof(tm_proof)?; - - Proofs::new(ack_proof, None, None, None, target_height) - .map_err(|e| eyre!("Creating proofs failed: error {}", e)) + convert_proof(tm_proof) } fn get_receipt_absence_proof( test: &Test, packet: &Packet, target_height: Height, -) -> Result { +) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = receipt_key( - &packet.destination_port.as_str().parse().unwrap(), - &packet.destination_channel.as_str().parse().unwrap(), - u64::from(packet.sequence).into(), + &packet.port_id_on_b.as_str().parse().unwrap(), + &packet.chan_id_on_b.as_str().parse().unwrap(), + u64::from(packet.seq_on_a).into(), ); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; - let absence_proof = convert_proof(tm_proof)?; - - Proofs::new(absence_proof, None, None, None, target_height) - .map_err(|e| eyre!("Creating proofs failed: error {}", e)) + convert_proof(tm_proof) } fn commitment_prefix() -> CommitmentPrefix { @@ -1020,15 +930,16 @@ fn transfer( receiver: &Address, token: impl AsRef, amount: &Amount, - port_channel_id: &PortChannelId, + port_id: &PortId, + channel_id: &ChannelId, timeout_sec: Option, ) -> Result { let rpc = get_actor_rpc(test, &Who::Validator(0)); let receiver = receiver.to_string(); let amount = amount.to_string_native(); - let port_id = port_channel_id.port_id.to_string(); - let channel_id = port_channel_id.channel_id.to_string(); + let channel_id = channel_id.to_string(); + let port_id = port_id.to_string(); let mut tx_args = vec![ "ibc-transfer", "--source", @@ -1127,40 +1038,6 @@ fn query_header(test: &Test, height: Height) -> Result { } } -fn get_event(test: &Test, height: u32) -> Result> { - let rpc = get_actor_rpc(test, &Who::Validator(0)); - let ledger_address = TendermintAddress::from_str(&rpc).unwrap(); - let client = HttpClient::new(ledger_address).unwrap(); - - let response = test - .async_runtime() - .block_on(client.block_results(height)) - .map_err(|e| eyre!("block_results() for an IBC event failed: {}", e))?; - let tx_results = response.txs_results.ok_or_else(|| { - eyre!("No transaction has been executed: height {}", height) - })?; - for result in tx_results { - if result.code.is_err() { - return Err(eyre!( - "The transaction failed: code {:?}, log {}", - result.code, - result.log - )); - } - } - let events = response - .end_block_events - .ok_or_else(|| eyre!("IBC event was not found: height {}", height))?; - for event in &events { - match ibc_event_try_from_abci_event(event) { - Ok(ibc_event) => return Ok(Some(ibc_event)), - Err(_) => continue, - } - } - // No IBC event was found - Ok(None) -} - fn check_ibc_update_query( test: &Test, client_id: &ClientId, @@ -1194,11 +1071,11 @@ fn check_ibc_packet_query( match test.async_runtime().block_on(RPC.shell().ibc_packet( &client, event_type, - &packet.source_port.as_str().parse().unwrap(), - &packet.source_channel.as_str().parse().unwrap(), - &packet.destination_port.as_str().parse().unwrap(), - &packet.destination_channel.as_str().parse().unwrap(), - &packet.sequence.to_string().parse().unwrap(), + &packet.port_id_on_a.as_str().parse().unwrap(), + &packet.chan_id_on_a.as_str().parse().unwrap(), + &packet.port_id_on_b.as_str().parse().unwrap(), + &packet.chan_id_on_b.as_str().parse().unwrap(), + &packet.seq_on_a.to_string().parse().unwrap(), )) { Ok(Some(event)) => { println!("Found the packet event: {:?}", event); @@ -1230,8 +1107,19 @@ fn query_value_with_proof( } fn convert_proof(tm_proof: TmProof) -> Result { - let merkle_proof = convert_tm_to_ics_merkle_proof(&tm_proof) - .map_err(|e| eyre!("Proof conversion to MerkleProof failed: {}", e))?; + use namada::ibc_proto::ibc::core::commitment::v1::MerkleProof as RawMerkleProof; + use namada::ibc_proto::ics23::CommitmentProof; + + let mut proofs = Vec::new(); + + for op in &tm_proof.ops { + let mut parsed = CommitmentProof { proof: None }; + prost::Message::merge(&mut parsed, op.data.as_slice()) + .expect("merging CommitmentProof failed"); + proofs.push(parsed); + } + + let merkle_proof = MerkleProof::from(RawMerkleProof { proofs }); CommitmentProofBytes::try_from(merkle_proof).map_err(|e| { eyre!("Proof conversion to CommitmentProofBytes failed: {}", e) }) @@ -1239,7 +1127,8 @@ fn convert_proof(tm_proof: TmProof) -> Result { /// Check balances after IBC transfer fn check_balances( - dest_port_channel_id: &PortChannelId, + dest_port_id: &PortId, + dest_channel_id: &ChannelId, test_a: &Test, test_b: &Test, ) -> Result<()> { @@ -1261,10 +1150,7 @@ fn check_balances( client.assert_success(); // Check the balance on Chain B - let denom = format!( - "{}/{}/{}", - &dest_port_channel_id.port_id, &dest_port_channel_id.channel_id, &token, - ); + let denom = format!("{}/{}/{}", &dest_port_id, &dest_channel_id, &token,); let ibc_token = ibc_token(denom).to_string(); let rpc_b = get_actor_rpc(test_b, &Who::Validator(0)); let query_args = vec![ @@ -1279,15 +1165,13 @@ fn check_balances( /// Check balances after non IBC transfer fn check_balances_after_non_ibc( - port_channel_id: &PortChannelId, + port_id: &PortId, + channel_id: &ChannelId, test: &Test, ) -> Result<()> { // Check the balance on Chain B let token = find_address(test, NAM)?; - let denom = format!( - "{}/{}/{}", - port_channel_id.port_id, port_channel_id.channel_id, token - ); + let denom = format!("{}/{}/{}", port_id, channel_id, token); let ibc_token = ibc_token(denom).to_string(); // Check the source @@ -1314,7 +1198,8 @@ fn check_balances_after_non_ibc( /// Check balances after IBC transfer back fn check_balances_after_back( - dest_port_channel_id: &PortChannelId, + dest_port_id: &PortId, + dest_channel_id: &ChannelId, test_a: &Test, test_b: &Test, ) -> Result<()> { @@ -1336,10 +1221,7 @@ fn check_balances_after_back( client.assert_success(); // Check the balance on Chain B - let denom = format!( - "{}/{}/{}", - &dest_port_channel_id.port_id, &dest_port_channel_id.channel_id, &token, - ); + let denom = format!("{}/{}/{}", dest_port_id, dest_channel_id, &token,); let ibc_token = ibc_token(denom).to_string(); let rpc_b = get_actor_rpc(test_b, &Who::Validator(0)); let query_args = vec![ @@ -1351,3 +1233,146 @@ fn check_balances_after_back( client.assert_success(); Ok(()) } + +fn signer() -> Signer { + "signer".to_string().into() +} + +/// Helper function to make the MsgConnectionOpenTry because it has a private +/// field +fn make_msg_conn_open_try( + client_id: ClientId, + client_state: TmClientState, + counterparty: ConnCounterparty, + conn_proof: CommitmentProofBytes, + client_state_proof: CommitmentProofBytes, + consensus_proof: CommitmentProofBytes, + proofs_height: Height, +) -> MsgConnectionOpenTry { + use namada::ibc_proto::ibc::core::connection::v1::MsgConnectionOpenTry as RawMsgConnectionOpenTry; + + let consensus_height = client_state.latest_height(); + #[allow(deprecated)] + RawMsgConnectionOpenTry { + client_id: client_id.as_str().to_string(), + client_state: Some(client_state.into()), + counterparty: Some(counterparty.into()), + delay_period: 0, + counterparty_versions: vec![ConnVersion::default().into()], + proof_init: conn_proof.into(), + proof_height: Some(proofs_height.into()), + proof_client: client_state_proof.into(), + proof_consensus: consensus_proof.into(), + consensus_height: Some(consensus_height.into()), + signer: "signer".to_string(), + previous_connection_id: ConnectionId::default().to_string(), + } + .try_into() + .expect("invalid message") +} + +fn get_client_id_from_events(events: &Vec) -> Option { + get_attribute_from_events(events, "client_id").map(|v| v.parse().unwrap()) +} + +fn get_connection_id_from_events( + events: &Vec, +) -> Option { + get_attribute_from_events(events, "connection_id") + .map(|v| v.parse().unwrap()) +} + +fn get_channel_id_from_events(events: &Vec) -> Option { + get_attribute_from_events(events, "channel_id").map(|v| v.parse().unwrap()) +} + +fn get_ack_from_events(events: &Vec) -> Option> { + get_attribute_from_events(events, "packet_ack") + .map(|v| Vec::from(v.as_bytes())) +} + +fn get_attribute_from_events( + events: &Vec, + key: &str, +) -> Option { + for event in events { + let attributes = get_attributes_from_event(&event); + if let Some(value) = attributes.get(key) { + return Some(value.clone()); + } + } + None +} + +fn get_packet_from_events(events: &Vec) -> Option { + for event in events { + let attributes = get_attributes_from_event(event); + if !attributes.contains_key("packet_src_port") { + continue; + } + let mut packet = Packet::default(); + for (key, val) in attributes { + match key.as_str() { + "packet_src_port" => packet.port_id_on_a = val.parse().unwrap(), + "packet_src_channel" => { + packet.chan_id_on_a = val.parse().unwrap() + } + "packet_dst_port" => packet.port_id_on_b = val.parse().unwrap(), + "packet_dst_channel" => { + packet.chan_id_on_b = val.parse().unwrap() + } + "packet_timeout_height" => { + packet.timeout_height_on_b = match Height::from_str(&val) { + Ok(height) => TimeoutHeight::At(height), + Err(_) => TimeoutHeight::Never, + } + } + "packet_timeout_timestamp" => { + packet.timeout_timestamp_on_b = val.parse().unwrap() + } + "packet_sequence" => { + packet.seq_on_a = u64::from_str(&val).unwrap().into() + } + "packet_data" => packet.data = Vec::from(val.as_bytes()), + _ => {} + } + } + return Some(packet); + } + None +} + +fn get_attributes_from_event(event: &AbciEvent) -> HashMap { + event + .attributes + .iter() + .map(|tag| (tag.key.to_string(), tag.value.to_string())) + .collect() +} + +fn get_events(test: &Test, height: u32) -> Result> { + let rpc = get_actor_rpc(test, &Who::Validator(0)); + let ledger_address = TendermintAddress::from_str(&rpc).unwrap(); + let client = HttpClient::new(ledger_address).unwrap(); + + let response = test + .async_runtime() + .block_on(client.block_results(height)) + .map_err(|e| eyre!("block_results() for an IBC event failed: {}", e))?; + let tx_results = response.txs_results.ok_or_else(|| { + eyre!("No transaction has been executed: height {}", height) + })?; + for result in tx_results { + if result.code.is_err() { + return Err(eyre!( + "The transaction failed: code {:?}, log {}", + result.code, + result.log + )); + } + } + + response + .end_block_events + .ok_or_else(|| eyre!("IBC event was not found: height {}", height)) +} diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 8ff653fe39..fbf3477485 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -278,28 +278,6 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.16", -] - [[package]] name = "async-trait" version = "0.1.68" @@ -311,22 +289,6 @@ dependencies = [ "syn 2.0.16", ] -[[package]] -name = "async-tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00550829ef8e2c4115250d0ee43305649b0fa95f78a32ce5b07da0b73d95c5c" -dependencies = [ - "futures-io", - "futures-util", - "log", - "pin-project-lite", - "tokio", - "tokio-rustls 0.22.0", - "tungstenite", - "webpki-roots 0.21.1", -] - [[package]] name = "async_io_stream" version = "0.3.3" @@ -356,51 +318,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "axum" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - [[package]] name = "backtrace" version = "0.3.67" @@ -416,12 +333,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - [[package]] name = "base16ct" version = "0.2.0" @@ -464,12 +375,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "bellman" version = "0.13.1" @@ -533,27 +438,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bitcoin" -version = "0.29.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3" -dependencies = [ - "bech32 0.9.1", - "bitcoin_hashes", - "secp256k1", - "serde", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -836,12 +720,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "bytecount" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" - [[package]] name = "byteorder" version = "1.4.3" @@ -875,19 +753,6 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.17", - "serde", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.15.4" @@ -1040,7 +905,7 @@ dependencies = [ "digest 0.10.6", "getrandom 0.2.9", "hmac 0.12.1", - "k256 0.13.1", + "k256", "lazy_static", "serde", "sha2 0.10.6", @@ -1299,18 +1164,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "crypto-bigint" version = "0.5.2" @@ -1453,15 +1306,6 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" -[[package]] -name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", -] - [[package]] name = "der" version = "0.7.7" @@ -1539,16 +1383,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.3.7" @@ -1560,17 +1394,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.4" @@ -1620,28 +1443,16 @@ dependencies = [ "memmap2", ] -[[package]] -name = "ecdsa" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - [[package]] name = "ecdsa" version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428" dependencies = [ - "der 0.7.7", + "der", "digest 0.10.6", - "elliptic-curve 0.13.5", - "rfc6979 0.4.0", + "elliptic-curve", + "rfc6979", "signature 2.1.0", "spki", ] @@ -1687,58 +1498,27 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.6", -] - [[package]] name = "either" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" -[[package]] -name = "elliptic-curve" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.6", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "elliptic-curve" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.2", + "base16ct", + "crypto-bigint", "digest 0.10.6", "ff 0.13.0", "generic-array 0.14.7", "group 0.13.0", "pkcs8", "rand_core 0.6.4", - "sec1 0.7.2", + "sec1", "subtle 2.4.1", "zeroize", ] @@ -1761,7 +1541,7 @@ dependencies = [ "base64 0.13.1", "bytes", "hex", - "k256 0.13.1", + "k256", "log", "rand 0.8.5", "rlp", @@ -1847,15 +1627,6 @@ dependencies = [ "libc", ] -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - [[package]] name = "eth-keystore" version = "0.5.0" @@ -1875,7 +1646,7 @@ dependencies = [ "sha2 0.10.6", "sha3", "thiserror", - "uuid 0.8.2", + "uuid", ] [[package]] @@ -2076,13 +1847,13 @@ checksum = "6da5fa198af0d3be20c19192df2bd9590b92ce09a8421e793bec8851270f1b05" dependencies = [ "arrayvec", "bytes", - "cargo_metadata 0.15.4", + "cargo_metadata", "chrono", - "elliptic-curve 0.13.5", + "elliptic-curve", "ethabi", "generic-array 0.14.7", "hex", - "k256 0.13.1", + "k256", "num_enum", "once_cell", "open-fastrlp", @@ -2185,7 +1956,7 @@ dependencies = [ "async-trait", "coins-bip32", "coins-bip39", - "elliptic-curve 0.13.5", + "elliptic-curve", "eth-keystore", "ethers-core", "hex", @@ -2541,12 +2312,6 @@ version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "gloo-timers" version = "0.2.6" @@ -2684,15 +2449,6 @@ dependencies = [ "fxhash", ] -[[package]] -name = "hdpath" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ae1615f843ce3981b47468f3f7c435ac17deb33c2261e64d7f1e87f5c11acc" -dependencies = [ - "byteorder", -] - [[package]] name = "headers" version = "0.3.8" @@ -2846,22 +2602,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "humantime-serde" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" -dependencies = [ - "humantime", - "serde", -] - [[package]] name = "hyper" version = "0.14.26" @@ -2898,9 +2638,9 @@ dependencies = [ "http", "hyper", "hyper-rustls", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", - "tokio-rustls 0.22.0", + "tokio-rustls", "tower-service", "webpki 0.21.4", ] @@ -2916,25 +2656,13 @@ dependencies = [ "hyper", "log", "rustls 0.19.1", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", - "tokio-rustls 0.22.0", + "tokio-rustls", "webpki 0.21.4", "webpki-roots 0.21.1", ] -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - [[package]] name = "iana-time-zone" version = "0.1.56" @@ -2969,7 +2697,7 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "num-traits", "parking_lot", @@ -2990,21 +2718,6 @@ dependencies = [ "uint", ] -[[package]] -name = "ibc-proto" -version = "0.26.0" -source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=bb16e17a4d9260d5f20516a8eda43fa52377fad2#bb16e17a4d9260d5f20516a8eda43fa52377fad2" -dependencies = [ - "base64 0.13.1", - "bytes", - "flex-error", - "prost", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", -] - [[package]] name = "ibc-proto" version = "0.30.0" @@ -3022,95 +2735,6 @@ dependencies = [ "tendermint-proto", ] -[[package]] -name = "ibc-relayer" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "anyhow", - "async-stream", - "bech32 0.9.1", - "bitcoin", - "bs58", - "bytes", - "crossbeam-channel 0.5.8", - "digest 0.10.6", - "dirs-next", - "ed25519", - "ed25519-dalek", - "ed25519-dalek-bip32", - "flex-error", - "futures", - "generic-array 0.14.7", - "hdpath", - "hex", - "http", - "humantime", - "humantime-serde", - "ibc-proto 0.26.0", - "ibc-relayer-types", - "itertools", - "moka", - "num-bigint 0.4.3", - "num-rational 0.4.1", - "prost", - "regex", - "retry", - "ripemd", - "secp256k1", - "semver 1.0.17", - "serde", - "serde_derive", - "serde_json", - "sha2 0.10.6", - "signature 1.6.4", - "strum", - "subtle-encoding", - "tendermint", - "tendermint-light-client", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "thiserror", - "tiny-bip39 1.0.0", - "tiny-keccak", - "tokio", - "toml 0.5.11", - "tonic", - "tracing", - "uuid 1.3.2", -] - -[[package]] -name = "ibc-relayer-types" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "bytes", - "derive_more", - "dyn-clone", - "erased-serde", - "flex-error", - "ibc-proto 0.26.0", - "ics23", - "itertools", - "num-rational 0.4.1", - "primitive-types", - "prost", - "safe-regex", - "serde", - "serde_derive", - "serde_json", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "time", - "uint", -] - [[package]] name = "ics23" version = "0.9.0" @@ -3245,15 +2869,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "input_buffer" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" -dependencies = [ - "bytes", -] - [[package]] name = "instant" version = "0.1.12" @@ -3341,18 +2956,6 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "k256" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.6", -] - [[package]] name = "k256" version = "0.13.1" @@ -3360,8 +2963,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if 1.0.0", - "ecdsa 0.16.7", - "elliptic-curve 0.13.5", + "ecdsa", + "elliptic-curve", "once_cell", "sha2 0.10.6", "signature 2.1.0", @@ -3601,12 +3204,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchit" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" - [[package]] name = "maybe-uninit" version = "2.0.0" @@ -3730,30 +3327,7 @@ dependencies = [ name = "miracl_core" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" - -[[package]] -name = "moka" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b9268097a2cf211ac9955b1cc95e80fa84fff5c2d13ba292916445dc8a311f" -dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-epoch", - "crossbeam-utils 0.8.15", - "num_cpus", - "once_cell", - "parking_lot", - "quanta", - "rustc_version 0.4.0", - "scheduled-thread-pool", - "skeptic", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid 1.3.2", -] +checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" [[package]] name = "more-asserts" @@ -3810,7 +3384,7 @@ dependencies = [ "tempfile", "tendermint-rpc", "thiserror", - "tiny-bip39 0.8.2", + "tiny-bip39", "tiny-hderive", "tokio", "toml 0.5.11", @@ -3847,7 +3421,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "impl-num-traits", "index-set", @@ -3941,8 +3515,6 @@ dependencies = [ "concat-idents", "derivative", "hyper", - "ibc-relayer", - "ibc-relayer-types", "lazy_static", "namada", "namada_core", @@ -3955,6 +3527,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "tempfile", + "tendermint-light-client", "test-log", "tokio", "tracing", @@ -4071,7 +3644,6 @@ dependencies = [ "autocfg", "num-integer", "num-traits", - "serde", ] [[package]] @@ -4147,7 +3719,6 @@ dependencies = [ "num-bigint 0.4.3", "num-integer", "num-traits", - "serde", ] [[package]] @@ -4524,7 +4095,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.7", + "der", "spki", ] @@ -4725,33 +4296,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "pulldown-cmark" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - -[[package]] -name = "quanta" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" -dependencies = [ - "crossbeam-utils 0.8.15", - "libc", - "mach", - "once_cell", - "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -4859,15 +4403,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "rayon" version = "1.5.3" @@ -5035,23 +4570,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "retry" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" - -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -5086,17 +4604,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "ripemd160" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "rkyv" version = "0.7.41" @@ -5244,27 +4751,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" -dependencies = [ - "base64 0.21.0", -] - [[package]] name = "rustversion" version = "1.0.12" @@ -5387,15 +4873,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "scheduled-thread-pool" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" -dependencies = [ - "parking_lot", -] - [[package]] name = "scopeguard" version = "1.1.0" @@ -5440,54 +4917,20 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "sec1" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e" dependencies = [ - "base16ct 0.2.0", - "der 0.7.7", + "base16ct", + "der", "generic-array 0.14.7", "pkcs8", "subtle 2.4.1", "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "secp256k1-sys", - "serde", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", -] - [[package]] name = "security-framework" version = "2.8.2" @@ -5632,19 +5075,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "sha1" version = "0.10.5" @@ -5725,10 +5155,6 @@ name = "signature" version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.6", - "rand_core 0.6.4", -] [[package]] name = "signature" @@ -5752,21 +5178,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" -[[package]] -name = "skeptic" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - [[package]] name = "slab" version = "0.4.8" @@ -5825,7 +5236,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der 0.7.7", + "der", ] [[package]] @@ -5930,18 +5341,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - [[package]] name = "tap" version = "1.0.1" @@ -5978,12 +5377,10 @@ dependencies = [ "ed25519-dalek", "flex-error", "futures", - "k256 0.11.6", "num-traits", "once_cell", "prost", "prost-types", - "ripemd160", "serde", "serde_bytes", "serde_json", @@ -6066,7 +5463,6 @@ version = "0.23.6" source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7#b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7" dependencies = [ "async-trait", - "async-tungstenite", "bytes", "flex-error", "futures", @@ -6089,7 +5485,7 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 0.8.2", + "uuid", "walkdir", ] @@ -6193,25 +5589,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.6", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-hderive" version = "0.3.0" @@ -6268,16 +5645,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.1.0" @@ -6300,28 +5667,6 @@ dependencies = [ "webpki 0.21.4", ] -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.8", - "tokio", - "webpki 0.22.0", -] - -[[package]] -name = "tokio-stream" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.8" @@ -6379,41 +5724,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "tonic" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "prost-derive", - "rustls-native-certs 0.6.2", - "rustls-pemfile", - "tokio", - "tokio-rustls 0.23.4", - "tokio-stream", - "tokio-util", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", -] - [[package]] name = "tonic-build" version = "0.8.4" @@ -6427,32 +5737,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - [[package]] name = "tower-service" version = "0.3.2" @@ -6517,37 +5801,12 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "triomphe" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" - [[package]] name = "try-lock" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -[[package]] -name = "tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ada8297e8d70872fa9a551d93250a9f407beb9f37ef86494eb20012a2ff7c24" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "input_buffer", - "log", - "rand 0.8.5", - "sha-1", - "url", - "utf-8", -] - [[package]] name = "tx_template" version = "0.20.0" @@ -6589,15 +5848,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.13" @@ -6658,12 +5908,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8parse" version = "0.2.1" @@ -6680,15 +5924,6 @@ dependencies = [ "serde", ] -[[package]] -name = "uuid" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2" -dependencies = [ - "getrandom 0.2.9", -] - [[package]] name = "version_check" version = "0.9.4" @@ -6741,12 +5976,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" From 2bc57324f1185aff1570a6def5cb33ed3a2ac636 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 18:04:10 +0200 Subject: [PATCH 04/15] fix connection delay_period --- Cargo.toml | 3 --- tests/src/e2e/ibc_tests.rs | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 01dde43f11..ce38dda826 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -152,6 +152,3 @@ lto = true opt-level = 3 panic = "unwind" overflow-checks = true - -[profile.dev] -debug-assertions = false diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index 77b6952ba8..aa2081c727 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -389,7 +389,7 @@ fn connection_handshake( commitment_prefix(), ), version: Some(ConnVersion::default()), - delay_period: Duration::new(1, 0), + delay_period: Duration::new(0, 0), signer: "test_a".to_string().into(), }; // OpenInitConnection on Chain A @@ -1296,7 +1296,7 @@ fn get_attribute_from_events( key: &str, ) -> Option { for event in events { - let attributes = get_attributes_from_event(&event); + let attributes = get_attributes_from_event(event); if let Some(value) = attributes.get(key) { return Some(value.clone()); } From 13effca0eb21d41d527bef1a624ae69f91ec8a0a Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 20:32:14 +0200 Subject: [PATCH 05/15] fix IBC e2e test and update Cargo.lock --- tests/src/e2e/ibc_tests.rs | 9 +- wasm/Cargo.lock | 66 +- wasm_for_tests/wasm_source/Cargo.lock | 901 ++------------------------ 3 files changed, 79 insertions(+), 897 deletions(-) diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index aa2081c727..b554506728 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -390,7 +390,7 @@ fn connection_handshake( ), version: Some(ConnVersion::default()), delay_period: Duration::new(0, 0), - signer: "test_a".to_string().into(), + signer: signer(), }; // OpenInitConnection on Chain A let height = submit_ibc_tx(test_a, msg, ALBERT)?; @@ -589,9 +589,11 @@ fn get_client_states( client_id: &ClientId, target_height: Height, // should have been already decremented ) -> Result<(TmClientState, CommitmentProofBytes, CommitmentProofBytes)> { + // we need proofs at the height of the previous block + let query_height = target_height.decrement().unwrap(); let key = client_state_key(&client_id.as_str().parse().unwrap()); let (value, tm_proof) = - query_value_with_proof(test, &key, Some(target_height))?; + query_value_with_proof(test, &key, Some(query_height))?; let cs = match value { Some(v) => Any::decode(&v[..]) .map_err(|e| eyre!("Decoding the client state failed: {}", e))?, @@ -610,8 +612,7 @@ fn get_client_states( let ibc_height = Height::new(0, height.revision_height()).unwrap(); let key = consensus_state_key(&client_id.as_str().parse().unwrap(), ibc_height); - let (_, tm_proof) = - query_value_with_proof(test, &key, Some(target_height))?; + let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; let consensus_proof = convert_proof(tm_proof)?; Ok((client_state, client_state_proof, consensus_proof)) diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index fbf3477485..cc87b4f090 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -444,12 +444,6 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "bitflags" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" - [[package]] name = "bitvec" version = "0.17.4" @@ -601,7 +595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ "borsh-derive 0.10.3", - "hashbrown 0.11.2", + "hashbrown 0.12.3", ] [[package]] @@ -863,18 +857,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" dependencies = [ "anstream", "anstyle", @@ -1423,7 +1417,7 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" dependencies = [ - "bitflags 1.3.2", + "bitflags", "byteorder", "lazy_static", "proc-macro-error", @@ -2456,7 +2450,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags 1.3.2", + "bitflags", "bytes", "headers-core", "http", @@ -2909,12 +2903,13 @@ checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", - "rustix 0.38.4", + "io-lifetimes", + "rustix", "windows-sys 0.48.0", ] @@ -2993,9 +2988,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "libloading" @@ -3079,12 +3074,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" -[[package]] -name = "linux-raw-sys" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" - [[package]] name = "lock_api" version = "0.4.9" @@ -4209,7 +4198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65" dependencies = [ "bit-set", - "bitflags 1.3.2", + "bitflags", "byteorder", "lazy_static", "num-traits", @@ -4449,7 +4438,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] @@ -4458,7 +4447,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] @@ -4521,7 +4510,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" dependencies = [ - "bitflags 1.3.2", + "bitflags", "libc", "mach", "winapi", @@ -4693,24 +4682,11 @@ version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ - "bitflags 1.3.2", + "bitflags", "errno", "io-lifetimes", "libc", - "linux-raw-sys 0.3.7", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" -dependencies = [ - "bitflags 2.3.3", - "errno", - "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys", "windows-sys 0.48.0", ] @@ -4937,7 +4913,7 @@ version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ - "bitflags 1.3.2", + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -5362,7 +5338,7 @@ dependencies = [ "cfg-if 1.0.0", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.19", + "rustix", "windows-sys 0.45.0", ] diff --git a/wasm_for_tests/wasm_source/Cargo.lock b/wasm_for_tests/wasm_source/Cargo.lock index c7461e2943..ca44dcc25c 100644 --- a/wasm_for_tests/wasm_source/Cargo.lock +++ b/wasm_for_tests/wasm_source/Cargo.lock @@ -278,28 +278,6 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.16", -] - [[package]] name = "async-trait" version = "0.1.68" @@ -311,22 +289,6 @@ dependencies = [ "syn 2.0.16", ] -[[package]] -name = "async-tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00550829ef8e2c4115250d0ee43305649b0fa95f78a32ce5b07da0b73d95c5c" -dependencies = [ - "futures-io", - "futures-util", - "log", - "pin-project-lite", - "tokio", - "tokio-rustls 0.22.0", - "tungstenite", - "webpki-roots 0.21.1", -] - [[package]] name = "async_io_stream" version = "0.3.3" @@ -356,51 +318,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "axum" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http", - "http-body", - "hyper", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "mime", - "rustversion", - "tower-layer", - "tower-service", -] - [[package]] name = "backtrace" version = "0.3.67" @@ -416,12 +333,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - [[package]] name = "base16ct" version = "0.2.0" @@ -464,12 +375,6 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "bellman" version = "0.13.1" @@ -533,39 +438,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bitcoin" -version = "0.29.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3" -dependencies = [ - "bech32 0.9.1", - "bitcoin_hashes", - "secp256k1", - "serde", -] - -[[package]] -name = "bitcoin_hashes" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "bitflags" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" - [[package]] name = "bitvec" version = "0.17.4" @@ -717,7 +595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ "borsh-derive 0.10.3", - "hashbrown 0.11.2", + "hashbrown 0.12.3", ] [[package]] @@ -836,12 +714,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "bytecount" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c" - [[package]] name = "byteorder" version = "1.4.3" @@ -875,19 +747,6 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.17", - "serde", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.15.4" @@ -998,18 +857,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.3.11" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" dependencies = [ "anstream", "anstyle", @@ -1040,7 +899,7 @@ dependencies = [ "digest 0.10.6", "getrandom 0.2.9", "hmac 0.12.1", - "k256 0.13.1", + "k256", "lazy_static", "serde", "sha2 0.10.6", @@ -1299,18 +1158,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "crypto-bigint" version = "0.5.2" @@ -1453,15 +1300,6 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" -[[package]] -name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", -] - [[package]] name = "der" version = "0.7.7" @@ -1539,16 +1377,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.3.7" @@ -1560,17 +1388,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.4" @@ -1600,7 +1417,7 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" dependencies = [ - "bitflags 1.3.2", + "bitflags", "byteorder", "lazy_static", "proc-macro-error", @@ -1620,28 +1437,16 @@ dependencies = [ "memmap2", ] -[[package]] -name = "ecdsa" -version = "0.14.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] - [[package]] name = "ecdsa" version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428" dependencies = [ - "der 0.7.7", + "der", "digest 0.10.6", - "elliptic-curve 0.13.5", - "rfc6979 0.4.0", + "elliptic-curve", + "rfc6979", "signature 2.1.0", "spki", ] @@ -1687,58 +1492,27 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.6", -] - [[package]] name = "either" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" -[[package]] -name = "elliptic-curve" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.6", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "elliptic-curve" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.2", + "base16ct", + "crypto-bigint", "digest 0.10.6", "ff 0.13.0", "generic-array 0.14.7", "group 0.13.0", "pkcs8", "rand_core 0.6.4", - "sec1 0.7.2", + "sec1", "subtle 2.4.1", "zeroize", ] @@ -1761,7 +1535,7 @@ dependencies = [ "base64 0.13.1", "bytes", "hex", - "k256 0.13.1", + "k256", "log", "rand 0.8.5", "rlp", @@ -1847,15 +1621,6 @@ dependencies = [ "libc", ] -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - [[package]] name = "eth-keystore" version = "0.5.0" @@ -1875,7 +1640,7 @@ dependencies = [ "sha2 0.10.6", "sha3", "thiserror", - "uuid 0.8.2", + "uuid", ] [[package]] @@ -2076,13 +1841,13 @@ checksum = "6da5fa198af0d3be20c19192df2bd9590b92ce09a8421e793bec8851270f1b05" dependencies = [ "arrayvec", "bytes", - "cargo_metadata 0.15.4", + "cargo_metadata", "chrono", - "elliptic-curve 0.13.5", + "elliptic-curve", "ethabi", "generic-array 0.14.7", "hex", - "k256 0.13.1", + "k256", "num_enum", "once_cell", "open-fastrlp", @@ -2185,7 +1950,7 @@ dependencies = [ "async-trait", "coins-bip32", "coins-bip39", - "elliptic-curve 0.13.5", + "elliptic-curve", "eth-keystore", "ethers-core", "hex", @@ -2541,12 +2306,6 @@ version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "gloo-timers" version = "0.2.6" @@ -2684,15 +2443,6 @@ dependencies = [ "fxhash", ] -[[package]] -name = "hdpath" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ae1615f843ce3981b47468f3f7c435ac17deb33c2261e64d7f1e87f5c11acc" -dependencies = [ - "byteorder", -] - [[package]] name = "headers" version = "0.3.8" @@ -2700,7 +2450,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags 1.3.2", + "bitflags", "bytes", "headers-core", "http", @@ -2846,22 +2596,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "humantime-serde" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" -dependencies = [ - "humantime", - "serde", -] - [[package]] name = "hyper" version = "0.14.26" @@ -2898,9 +2632,9 @@ dependencies = [ "http", "hyper", "hyper-rustls", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", - "tokio-rustls 0.22.0", + "tokio-rustls", "tower-service", "webpki 0.21.4", ] @@ -2916,25 +2650,13 @@ dependencies = [ "hyper", "log", "rustls 0.19.1", - "rustls-native-certs 0.5.0", + "rustls-native-certs", "tokio", - "tokio-rustls 0.22.0", + "tokio-rustls", "webpki 0.21.4", "webpki-roots 0.21.1", ] -[[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" -dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", -] - [[package]] name = "iana-time-zone" version = "0.1.56" @@ -2969,7 +2691,7 @@ dependencies = [ "displaydoc", "dyn-clone", "erased-serde", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "num-traits", "parking_lot", @@ -2990,21 +2712,6 @@ dependencies = [ "uint", ] -[[package]] -name = "ibc-proto" -version = "0.26.0" -source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=bb16e17a4d9260d5f20516a8eda43fa52377fad2#bb16e17a4d9260d5f20516a8eda43fa52377fad2" -dependencies = [ - "base64 0.13.1", - "bytes", - "flex-error", - "prost", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", -] - [[package]] name = "ibc-proto" version = "0.30.0" @@ -3023,99 +2730,10 @@ dependencies = [ ] [[package]] -name = "ibc-relayer" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "anyhow", - "async-stream", - "bech32 0.9.1", - "bitcoin", - "bs58", - "bytes", - "crossbeam-channel 0.5.8", - "digest 0.10.6", - "dirs-next", - "ed25519", - "ed25519-dalek", - "ed25519-dalek-bip32", - "flex-error", - "futures", - "generic-array 0.14.7", - "hdpath", - "hex", - "http", - "humantime", - "humantime-serde", - "ibc-proto 0.26.0", - "ibc-relayer-types", - "itertools", - "moka", - "num-bigint 0.4.3", - "num-rational 0.4.1", - "prost", - "regex", - "retry", - "ripemd", - "secp256k1", - "semver 1.0.17", - "serde", - "serde_derive", - "serde_json", - "sha2 0.10.6", - "signature 1.6.4", - "strum", - "subtle-encoding", - "tendermint", - "tendermint-light-client", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "thiserror", - "tiny-bip39 1.0.0", - "tiny-keccak", - "tokio", - "toml 0.5.11", - "tonic", - "tracing", - "uuid 1.3.2", -] - -[[package]] -name = "ibc-relayer-types" -version = "0.22.0" -source = "git+https://github.com/heliaxdev/hermes.git?rev=fea6928dace1af3e38c5b223f933c1d07720811d#fea6928dace1af3e38c5b223f933c1d07720811d" -dependencies = [ - "bytes", - "derive_more", - "dyn-clone", - "erased-serde", - "flex-error", - "ibc-proto 0.26.0", - "ics23", - "itertools", - "num-rational 0.4.1", - "primitive-types", - "prost", - "safe-regex", - "serde", - "serde_derive", - "serde_json", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "time", - "uint", -] - -[[package]] -name = "ics23" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca44b684ce1859cff746ff46f5765ab72e12e3c06f76a8356db8f9a2ecf43f17" +name = "ics23" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca44b684ce1859cff746ff46f5765ab72e12e3c06f76a8356db8f9a2ecf43f17" dependencies = [ "anyhow", "bytes", @@ -3245,15 +2863,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "input_buffer" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" -dependencies = [ - "bytes", -] - [[package]] name = "instant" version = "0.1.12" @@ -3294,12 +2903,13 @@ checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", - "rustix 0.38.3", + "io-lifetimes", + "rustix", "windows-sys 0.48.0", ] @@ -3341,18 +2951,6 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "k256" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.6", -] - [[package]] name = "k256" version = "0.13.1" @@ -3360,8 +2958,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if 1.0.0", - "ecdsa 0.16.7", - "elliptic-curve 0.13.5", + "ecdsa", + "elliptic-curve", "once_cell", "sha2 0.10.6", "signature 2.1.0", @@ -3390,9 +2988,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "libloading" @@ -3476,12 +3074,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" -[[package]] -name = "linux-raw-sys" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" - [[package]] name = "lock_api" version = "0.4.9" @@ -3601,12 +3193,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchit" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" - [[package]] name = "maybe-uninit" version = "2.0.0" @@ -3732,29 +3318,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" -[[package]] -name = "moka" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b9268097a2cf211ac9955b1cc95e80fa84fff5c2d13ba292916445dc8a311f" -dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-epoch", - "crossbeam-utils 0.8.15", - "num_cpus", - "once_cell", - "parking_lot", - "quanta", - "rustc_version 0.4.0", - "scheduled-thread-pool", - "skeptic", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid 1.3.2", -] - [[package]] name = "more-asserts" version = "0.2.2" @@ -3810,7 +3373,7 @@ dependencies = [ "tempfile", "tendermint-rpc", "thiserror", - "tiny-bip39 0.8.2", + "tiny-bip39", "tiny-hderive", "tokio", "toml 0.5.11", @@ -3847,7 +3410,7 @@ dependencies = [ "ferveo-common", "group-threshold-cryptography", "ibc", - "ibc-proto 0.30.0", + "ibc-proto", "ics23", "impl-num-traits", "index-set", @@ -3941,8 +3504,6 @@ dependencies = [ "concat-idents", "derivative", "hyper", - "ibc-relayer", - "ibc-relayer-types", "lazy_static", "namada", "namada_core", @@ -3955,6 +3516,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "tempfile", + "tendermint-light-client", "test-log", "tokio", "tracing", @@ -4064,7 +3626,6 @@ dependencies = [ "autocfg", "num-integer", "num-traits", - "serde", ] [[package]] @@ -4140,7 +3701,6 @@ dependencies = [ "num-bigint 0.4.3", "num-integer", "num-traits", - "serde", ] [[package]] @@ -4517,7 +4077,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.7", + "der", "spki", ] @@ -4631,7 +4191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65" dependencies = [ "bit-set", - "bitflags 1.3.2", + "bitflags", "byteorder", "lazy_static", "num-traits", @@ -4718,33 +4278,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "pulldown-cmark" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - -[[package]] -name = "quanta" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" -dependencies = [ - "crossbeam-utils 0.8.15", - "libc", - "mach", - "once_cell", - "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", - "web-sys", - "winapi", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -4852,15 +4385,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "raw-cpuid" -version = "10.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "rayon" version = "1.5.3" @@ -4907,7 +4431,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] @@ -4916,7 +4440,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] @@ -4979,7 +4503,7 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" dependencies = [ - "bitflags 1.3.2", + "bitflags", "libc", "mach", "winapi", @@ -5028,23 +4552,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "retry" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9166d72162de3575f950507683fac47e30f6f2c3836b71b7fbc61aa517c9c5f4" - -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -5079,17 +4586,6 @@ dependencies = [ "digest 0.10.6", ] -[[package]] -name = "ripemd160" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "rkyv" version = "0.7.41" @@ -5179,24 +4675,11 @@ version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ - "bitflags 1.3.2", + "bitflags", "errno", "io-lifetimes", "libc", - "linux-raw-sys 0.3.7", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" -dependencies = [ - "bitflags 2.3.3", - "errno", - "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys", "windows-sys 0.48.0", ] @@ -5237,27 +4720,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" -dependencies = [ - "base64 0.21.0", -] - [[package]] name = "rustversion" version = "1.0.12" @@ -5380,15 +4842,6 @@ dependencies = [ "windows-sys 0.42.0", ] -[[package]] -name = "scheduled-thread-pool" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" -dependencies = [ - "parking_lot", -] - [[package]] name = "scopeguard" version = "1.1.0" @@ -5433,61 +4886,27 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "subtle 2.4.1", - "zeroize", -] - [[package]] name = "sec1" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e" dependencies = [ - "base16ct 0.2.0", - "der 0.7.7", + "base16ct", + "der", "generic-array 0.14.7", "pkcs8", "subtle 2.4.1", "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "secp256k1-sys", - "serde", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", -] - [[package]] name = "security-framework" version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" dependencies = [ - "bitflags 1.3.2", + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -5625,19 +5044,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", -] - [[package]] name = "sha1" version = "0.10.5" @@ -5718,10 +5124,6 @@ name = "signature" version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.6", - "rand_core 0.6.4", -] [[package]] name = "signature" @@ -5745,21 +5147,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" -[[package]] -name = "skeptic" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - [[package]] name = "slab" version = "0.4.8" @@ -5818,7 +5205,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der 0.7.7", + "der", ] [[package]] @@ -5923,18 +5310,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - [[package]] name = "tap" version = "1.0.1" @@ -5956,7 +5331,7 @@ dependencies = [ "cfg-if 1.0.0", "fastrand", "redox_syscall 0.3.5", - "rustix 0.37.19", + "rustix", "windows-sys 0.45.0", ] @@ -5971,12 +5346,10 @@ dependencies = [ "ed25519-dalek", "flex-error", "futures", - "k256 0.11.6", "num-traits", "once_cell", "prost", "prost-types", - "ripemd160", "serde", "serde_bytes", "serde_json", @@ -6059,7 +5432,6 @@ version = "0.23.6" source = "git+https://github.com/heliaxdev/tendermint-rs.git?rev=b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7#b7d1e5afc6f2ccb3fd1545c2174bab1cc48d7fa7" dependencies = [ "async-trait", - "async-tungstenite", "bytes", "flex-error", "futures", @@ -6082,7 +5454,7 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 0.8.2", + "uuid", "walkdir", ] @@ -6186,25 +5558,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.6", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-hderive" version = "0.3.0" @@ -6261,16 +5614,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.1.0" @@ -6293,28 +5636,6 @@ dependencies = [ "webpki 0.21.4", ] -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.8", - "tokio", - "webpki 0.22.0", -] - -[[package]] -name = "tokio-stream" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.8" @@ -6372,41 +5693,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "tonic" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" -dependencies = [ - "async-stream", - "async-trait", - "axum", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding", - "pin-project", - "prost", - "prost-derive", - "rustls-native-certs 0.6.2", - "rustls-pemfile", - "tokio", - "tokio-rustls 0.23.4", - "tokio-stream", - "tokio-util", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", -] - [[package]] name = "tonic-build" version = "0.8.4" @@ -6420,32 +5706,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - [[package]] name = "tower-service" version = "0.3.2" @@ -6510,37 +5770,12 @@ dependencies = [ "tracing-core", ] -[[package]] -name = "triomphe" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" - [[package]] name = "try-lock" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -[[package]] -name = "tungstenite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ada8297e8d70872fa9a551d93250a9f407beb9f37ef86494eb20012a2ff7c24" -dependencies = [ - "base64 0.13.1", - "byteorder", - "bytes", - "http", - "httparse", - "input_buffer", - "log", - "rand 0.8.5", - "sha-1", - "url", - "utf-8", -] - [[package]] name = "typenum" version = "1.16.0" @@ -6571,15 +5806,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.13" @@ -6640,12 +5866,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8parse" version = "0.2.1" @@ -6662,15 +5882,6 @@ dependencies = [ "serde", ] -[[package]] -name = "uuid" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dad5567ad0cf5b760e5665964bec1b47dfd077ba8a2544b513f3556d3d239a2" -dependencies = [ - "getrandom 0.2.9", -] - [[package]] name = "version_check" version = "0.9.4" @@ -6712,12 +5923,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" From 4f42ecffb6f3f08ce3903054e47adb68308cecf3 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 21:59:38 +0200 Subject: [PATCH 06/15] fix getting events --- tests/src/e2e/ibc_tests.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index b554506728..fc0ab697da 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -499,7 +499,6 @@ fn channel_handshake( version_proposal: channel_version.clone(), }; let height = submit_ibc_tx(test_a, msg, ALBERT)?; - let events = get_events(test_a, height)?; let channel_id_a = get_channel_id_from_events(&events) .ok_or(eyre!("Transaction failed"))?; @@ -527,8 +526,7 @@ fn channel_handshake( update_client_with_height(test_a, test_b, client_id_b, height_a)?; // OpenTryChannel on Chain B let height = submit_ibc_tx(test_b, msg, ALBERT)?; - - let events = get_events(test_a, height)?; + let events = get_events(test_b, height)?; let channel_id_b = get_channel_id_from_events(&events) .ok_or(eyre!("Transaction failed"))?; From a452f536cb22d78984319f118612cdfa68c5fc24 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 19 Jul 2023 22:55:47 +0200 Subject: [PATCH 07/15] fix for normal token --- shared/src/ledger/tx.rs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/shared/src/ledger/tx.rs b/shared/src/ledger/tx.rs index edf89edaac..8fae45cb4e 100644 --- a/shared/src/ledger/tx.rs +++ b/shared/src/ledger/tx.rs @@ -1198,16 +1198,6 @@ pub async fn build_ibc_transfer< .await?; // We cannot check the receiver - let token_hash = match &args.token { - Address::Internal(InternalAddress::IbcToken(hash)) => hash.clone(), - _ => return Err(Error::TokenDoesNotExist(args.token)), - }; - let ibc_denom_key = ibc_denom_key(token_hash); - let ibc_denom = - rpc::query_storage_value::(client, &ibc_denom_key) - .await - .ok_or_else(|| Error::TokenDoesNotExist(args.token.clone()))?; - // Check source balance let balance_key = token::balance_key(&args.token, &source); @@ -1226,6 +1216,15 @@ pub async fn build_ibc_transfer< .await .unwrap(); + let ibc_denom = match &args.token { + Address::Internal(InternalAddress::IbcToken(hash)) => { + let ibc_denom_key = ibc_denom_key(hash); + rpc::query_storage_value::(client, &ibc_denom_key) + .await + .ok_or_else(|| Error::TokenDoesNotExist(args.token.clone()))? + } + _ => args.token.to_string(), + }; let amount = args .amount .to_string_native() From 8e8c81ba734ae9be24759a022c75bf2e0f71ce4d Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 20 Jul 2023 22:33:48 +0200 Subject: [PATCH 08/15] fix next_seq for MsgTimeout --- tests/src/e2e/ibc_tests.rs | 52 ++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index fc0ab697da..54b94fa429 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -77,6 +77,7 @@ use prost::Message; use setup::constants::*; use tendermint_light_client::components::io::{Io, ProdIo as TmLightClientIo}; +use super::helpers::wait_for_wasm_pre_compile; use super::setup::set_ethereum_bridge_mode; use crate::e2e::helpers::{find_address, get_actor_rpc, get_validator_pk}; use crate::e2e::setup::{self, sleep, Bin, NamadaCmd, Test, Who}; @@ -117,14 +118,9 @@ fn run_ledger_ibc() -> Result<()> { &["ledger", "run"], Some(40) )?; - ledger_b.exp_string("Namada ledger node started")?; - ledger_a.exp_string("This node is a validator")?; - ledger_b.exp_string("This node is a validator")?; - - // Wait for a first block - ledger_a.exp_string("Committed block hash")?; - ledger_b.exp_string("Committed block hash")?; + wait_for_wasm_pre_compile(&mut ledger_a)?; + wait_for_wasm_pre_compile(&mut ledger_b)?; let _bg_ledger_a = ledger_a.background(); let _bg_ledger_b = ledger_b.background(); @@ -294,7 +290,7 @@ fn update_client_with_height( target_height: Height, ) -> Result<()> { // check the current(stale) state on the target chain - let key = client_state_key(&target_client_id.as_str().parse().unwrap()); + let key = client_state_key(target_client_id); let (value, _) = query_value_with_proof(target_test, &key, None)?; let cs = match value { Some(v) => Any::decode(&v[..]) @@ -473,7 +469,7 @@ fn get_connection_proof( ) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); - let key = connection_key(&conn_id.as_str().parse().unwrap()); + let key = connection_key(conn_id); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; convert_proof(tm_proof) } @@ -589,7 +585,7 @@ fn get_client_states( ) -> Result<(TmClientState, CommitmentProofBytes, CommitmentProofBytes)> { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); - let key = client_state_key(&client_id.as_str().parse().unwrap()); + let key = client_state_key(client_id); let (value, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; let cs = match value { @@ -608,8 +604,7 @@ fn get_client_states( let height = client_state.latest_height(); let ibc_height = Height::new(0, height.revision_height()).unwrap(); - let key = - consensus_state_key(&client_id.as_str().parse().unwrap(), ibc_height); + let key = consensus_state_key(client_id, ibc_height); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; let consensus_proof = convert_proof(tm_proof)?; @@ -819,7 +814,7 @@ fn transfer_timeout( get_receipt_absence_proof(test_b, &packet, height_b)?; let msg = MsgTimeout { packet, - next_seq_recv_on_b: 0.into(), // not used + next_seq_recv_on_b: 1.into(), // not used proof_unreceived_on_b, proof_height_on_b: height_b, signer: signer(), @@ -840,9 +835,9 @@ fn get_commitment_proof( // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = commitment_key( - &packet.port_id_on_a.as_str().parse().unwrap(), - &packet.chan_id_on_a.as_str().parse().unwrap(), - u64::from(packet.seq_on_a).into(), + &packet.port_id_on_a, + &packet.chan_id_on_a, + packet.seq_on_a, ); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; convert_proof(tm_proof) @@ -855,11 +850,8 @@ fn get_ack_proof( ) -> Result { // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); - let key = ack_key( - &packet.port_id_on_b.as_str().parse().unwrap(), - &packet.chan_id_on_b.as_str().parse().unwrap(), - u64::from(packet.seq_on_a).into(), - ); + let key = + ack_key(&packet.port_id_on_b, &packet.chan_id_on_b, packet.seq_on_a); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; convert_proof(tm_proof) } @@ -872,9 +864,9 @@ fn get_receipt_absence_proof( // we need proofs at the height of the previous block let query_height = target_height.decrement().unwrap(); let key = receipt_key( - &packet.port_id_on_b.as_str().parse().unwrap(), - &packet.chan_id_on_b.as_str().parse().unwrap(), - u64::from(packet.seq_on_a).into(), + &packet.port_id_on_b, + &packet.chan_id_on_b, + packet.seq_on_a, ); let (_, tm_proof) = query_value_with_proof(test, &key, Some(query_height))?; convert_proof(tm_proof) @@ -1047,7 +1039,7 @@ fn check_ibc_update_query( let client = HttpClient::new(ledger_address).unwrap(); match test.async_runtime().block_on(RPC.shell().ibc_client_update( &client, - &client_id.as_str().parse().unwrap(), + client_id, &consensus_height, )) { Ok(Some(event)) => { @@ -1070,11 +1062,11 @@ fn check_ibc_packet_query( match test.async_runtime().block_on(RPC.shell().ibc_packet( &client, event_type, - &packet.port_id_on_a.as_str().parse().unwrap(), - &packet.chan_id_on_a.as_str().parse().unwrap(), - &packet.port_id_on_b.as_str().parse().unwrap(), - &packet.chan_id_on_b.as_str().parse().unwrap(), - &packet.seq_on_a.to_string().parse().unwrap(), + &packet.port_id_on_a, + &packet.chan_id_on_a, + &packet.port_id_on_b, + &packet.chan_id_on_b, + &packet.seq_on_a, )) { Ok(Some(event)) => { println!("Found the packet event: {:?}", event); From 3ce5aa5fa65d3f6a8cf1f49049663c682f0a1616 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 24 Jul 2023 16:14:22 +0200 Subject: [PATCH 09/15] add changelog --- .changelog/unreleased/features/1635-ibc-rs-0.41.0.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changelog/unreleased/features/1635-ibc-rs-0.41.0.md diff --git a/.changelog/unreleased/features/1635-ibc-rs-0.41.0.md b/.changelog/unreleased/features/1635-ibc-rs-0.41.0.md new file mode 100644 index 0000000000..f1d1fddc92 --- /dev/null +++ b/.changelog/unreleased/features/1635-ibc-rs-0.41.0.md @@ -0,0 +1,2 @@ +- Support the memo field of IBC transfer + ([\#1635](https://github.com/anoma/namada/issues/1635)) \ No newline at end of file From ce0865b2ac4000a0cc30ed64a9b6c6e0678fe41d Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 31 Jul 2023 17:53:17 +0200 Subject: [PATCH 10/15] update ibc-rs and ibc-proto-rs to fix a memo bug in ibc-rs --- Cargo.lock | 4 ++-- core/Cargo.toml | 4 ++-- wasm/Cargo.lock | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7043b5fd8b..7939fcaef9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3215,7 +3215,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.41.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=1797c2b38eb4a718a63a171f59948f08b427bb1f#1797c2b38eb4a718a63a171f59948f08b427bb1f" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=9db6892da825a8e928d3f175aa43903d19af7806#9db6892da825a8e928d3f175aa43903d19af7806" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -3247,7 +3247,7 @@ dependencies = [ [[package]] name = "ibc-proto" version = "0.30.0" -source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=349582059c0cf1f4cdce9e93b33552687c9df54a#349582059c0cf1f4cdce9e93b33552687c9df54a" +source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=31892ee743b2af017d5629b2af419ee20b6100c7#31892ee743b2af017d5629b2af419ee20b6100c7" dependencies = [ "base64 0.21.0", "borsh 0.10.3", diff --git a/core/Cargo.toml b/core/Cargo.toml index 822612a8d0..be43a8dcab 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -73,8 +73,8 @@ ferveo = {optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd ferveo-common = {git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} tpke = {package = "group-threshold-cryptography", optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} # TODO using the same version of tendermint-rs as we do here. -ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "1797c2b38eb4a718a63a171f59948f08b427bb1f", default-features = false, features = ["serde"], optional = true} -ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "349582059c0cf1f4cdce9e93b33552687c9df54a", default-features = false, optional = true} +ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "9db6892da825a8e928d3f175aa43903d19af7806", default-features = false, features = ["serde"], optional = true} +ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "31892ee743b2af017d5629b2af419ee20b6100c7", default-features = false, optional = true} ics23.workspace = true impl-num-traits = "0.1.2" index-set.workspace = true diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 849f19b302..7d56e4fe1c 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -2683,7 +2683,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.41.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=1797c2b38eb4a718a63a171f59948f08b427bb1f#1797c2b38eb4a718a63a171f59948f08b427bb1f" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=9db6892da825a8e928d3f175aa43903d19af7806#9db6892da825a8e928d3f175aa43903d19af7806" dependencies = [ "bytes", "cfg-if 1.0.0", @@ -2715,7 +2715,7 @@ dependencies = [ [[package]] name = "ibc-proto" version = "0.30.0" -source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=349582059c0cf1f4cdce9e93b33552687c9df54a#349582059c0cf1f4cdce9e93b33552687c9df54a" +source = "git+https://github.com/heliaxdev/ibc-proto-rs.git?rev=31892ee743b2af017d5629b2af419ee20b6100c7#31892ee743b2af017d5629b2af419ee20b6100c7" dependencies = [ "base64 0.21.0", "borsh 0.10.3", From 0016fc910af113f71b890151465e55aaf816dcbe Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 1 Aug 2023 10:28:15 +0200 Subject: [PATCH 11/15] need ibc-rs/std for the memo fix --- core/Cargo.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/Cargo.toml b/core/Cargo.toml index be43a8dcab..b2e139465d 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -40,7 +40,6 @@ abciplus = [ ibc-mocks = [ "ibc/mocks", - "ibc/std", ] ethers-derive = [ @@ -73,7 +72,7 @@ ferveo = {optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd ferveo-common = {git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} tpke = {package = "group-threshold-cryptography", optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} # TODO using the same version of tendermint-rs as we do here. -ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "9db6892da825a8e928d3f175aa43903d19af7806", default-features = false, features = ["serde"], optional = true} +ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "9db6892da825a8e928d3f175aa43903d19af7806", features = ["serde"], optional = true} ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "31892ee743b2af017d5629b2af419ee20b6100c7", default-features = false, optional = true} ics23.workspace = true impl-num-traits = "0.1.2" From 84f313861beaa4dcd113800e48629df932dd7133 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 8 Aug 2023 11:47:53 +0200 Subject: [PATCH 12/15] update ibc-rs to fix a header encoding bug in ibc-rs --- Cargo.lock | 2 +- core/Cargo.toml | 2 +- wasm/Cargo.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7939fcaef9..837788dba2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3215,7 +3215,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.41.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=9db6892da825a8e928d3f175aa43903d19af7806#9db6892da825a8e928d3f175aa43903d19af7806" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=38a827d3901e590b2935ee5b6b81b4d67c399560#38a827d3901e590b2935ee5b6b81b4d67c399560" dependencies = [ "bytes", "cfg-if 1.0.0", diff --git a/core/Cargo.toml b/core/Cargo.toml index b2e139465d..7c5addad7c 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -72,7 +72,7 @@ ferveo = {optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd ferveo-common = {git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} tpke = {package = "group-threshold-cryptography", optional = true, git = "https://github.com/anoma/ferveo", rev = "e5abd0acc938da90140351a65a26472eb495ce4d"} # TODO using the same version of tendermint-rs as we do here. -ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "9db6892da825a8e928d3f175aa43903d19af7806", features = ["serde"], optional = true} +ibc = { git = "https://github.com/heliaxdev/cosmos-ibc-rs.git", rev = "38a827d3901e590b2935ee5b6b81b4d67c399560", features = ["serde"], optional = true} ibc-proto = {git = "https://github.com/heliaxdev/ibc-proto-rs.git", rev = "31892ee743b2af017d5629b2af419ee20b6100c7", default-features = false, optional = true} ics23.workspace = true impl-num-traits = "0.1.2" diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 7d56e4fe1c..31f5d23169 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -2683,7 +2683,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.41.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=9db6892da825a8e928d3f175aa43903d19af7806#9db6892da825a8e928d3f175aa43903d19af7806" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs.git?rev=38a827d3901e590b2935ee5b6b81b4d67c399560#38a827d3901e590b2935ee5b6b81b4d67c399560" dependencies = [ "bytes", "cfg-if 1.0.0", From bae3a17d742cfd97e7a78f7cea8df46fb287d494 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 8 Aug 2023 10:21:01 +0000 Subject: [PATCH 13/15] [ci] wasm checksums update --- wasm/checksums.json | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/wasm/checksums.json b/wasm/checksums.json index cb9ca8ed52..0076a46c69 100644 --- a/wasm/checksums.json +++ b/wasm/checksums.json @@ -1,21 +1,21 @@ { - "tx_bond.wasm": "tx_bond.08cedac1d825cd8ee9b04ef059bc68fee04f82fec57e0f6bc38123de8fb35b85.wasm", - "tx_bridge_pool.wasm": "tx_bridge_pool.c9ef2bdb19910e12eadabc7f0552b45c937bcf1f47ca09759e52112b68d94114.wasm", - "tx_change_validator_commission.wasm": "tx_change_validator_commission.2be60082c6b891cb437b4392e1b2570f5d92fed35dd624cd079ea48c4bc7902c.wasm", - "tx_ibc.wasm": "tx_ibc.f8056f465d17043d2864309d1c50a897a028b6ebf9702e5c403e1bf8c670f6e6.wasm", - "tx_init_account.wasm": "tx_init_account.e91ab25cebd15af9a958eca4a34ba287804b1ff6ba4c82fc941f7f50816e9c4d.wasm", - "tx_init_proposal.wasm": "tx_init_proposal.1683eb9a2b2616af21f4f55457f7e06e0ae0591f460ede412a548ea9b1ab694c.wasm", - "tx_init_validator.wasm": "tx_init_validator.67574f70c1f76c2c68498d17323793366c13d119480b6787c8c5ede312e51da0.wasm", - "tx_reveal_pk.wasm": "tx_reveal_pk.e6375abba3f750700c06fbdeb2d5edec22b6a382116a67a7f9d7f7ba49f134e1.wasm", - "tx_transfer.wasm": "tx_transfer.e65b47bc94c5a09e3edc68298ad0e5e35041b91bc4d679bf5b7f433dffdce58e.wasm", - "tx_unbond.wasm": "tx_unbond.4fd70d297ccedb369bf88d8a8459a47ea733d329410387a6f80a0e026c6e480d.wasm", - "tx_unjail_validator.wasm": "tx_unjail_validator.b8e7204b14e15a3c395432f35788eca45ef4332916d96dfba87627a5717916de.wasm", - "tx_update_vp.wasm": "tx_update_vp.65c5ca3e48fdef70e696460eca7540cf6196511d76fb2465133b145409329b3e.wasm", - "tx_vote_proposal.wasm": "tx_vote_proposal.e0a003d922230d32b741b57ca18913cbc4d5d2290f02cb37dfdaa7f27cebb486.wasm", - "tx_withdraw.wasm": "tx_withdraw.40499cb0e268d3cc3d9bca5dacca05d8df35f5b90adf4087a5171505472d921a.wasm", - "vp_implicit.wasm": "vp_implicit.57af3b7d2ee9e2c9d7ef1e33a85646abeea7ea02dad19b7e0b20b289de5a7ae9.wasm", - "vp_masp.wasm": "vp_masp.4d656f775b7462095e7d9ff533e346829fad02568b1cf92fa2f99cc0677720ce.wasm", - "vp_testnet_faucet.wasm": "vp_testnet_faucet.b0c855f0356a468db1d26baebc988508d4824836b86adb94ac432368feb03ac4.wasm", - "vp_user.wasm": "vp_user.31967a7411caf61729e46840eec90d2db386cf4745f49d59086a43cc3c3e2d39.wasm", - "vp_validator.wasm": "vp_validator.0bca8e34f5d51c74b2861d588e3dd6a8e61de7c63d356af63e2182e030ac42ee.wasm" + "tx_bond.wasm": "tx_bond.cf028fa100dd40dce3bb6b7b7772fac3027c59e40fd80d2b3417ef5c6827a9d9.wasm", + "tx_bridge_pool.wasm": "tx_bridge_pool.3545bf61d615a5843394372ca0db09b9641bae26f2a359d78360dcf16b02c7f5.wasm", + "tx_change_validator_commission.wasm": "tx_change_validator_commission.33d15386e96d17745100a03f7cc8b6d51190d29e2193a3edde6905b9278e3cea.wasm", + "tx_ibc.wasm": "tx_ibc.3b058adf100b8ca43f605fa39a6d6d6d2693c396f2464565bdf14b3d56200f61.wasm", + "tx_init_account.wasm": "tx_init_account.f27884da10ed975e34a33926932e3237522367f811051245979eb8600e0d089a.wasm", + "tx_init_proposal.wasm": "tx_init_proposal.605a9e3675ce1956320d1b0601ac6b6e717a97629971477447abab0d2cdb8514.wasm", + "tx_init_validator.wasm": "tx_init_validator.4fc70e31ccf24a60af7089f2e24d25c7b92bd20dd98b2c3c54e066832edb02ac.wasm", + "tx_reveal_pk.wasm": "tx_reveal_pk.89e6eaef07c8591b1c1197d90520cadb1b63f885802a9c3988215595cbf3ddf9.wasm", + "tx_transfer.wasm": "tx_transfer.37315dda033dd05f0ee5dc61fa0e1ded73c33764211243ed06a61be070b297f6.wasm", + "tx_unbond.wasm": "tx_unbond.0d6745807572f8e17b9be450d26330ae76779158401f013bc8bcdc13ee4602ad.wasm", + "tx_unjail_validator.wasm": "tx_unjail_validator.015c9abd7c32abd5ee19783e8553c507705bfad554c7489aaae89f066d78a335.wasm", + "tx_update_vp.wasm": "tx_update_vp.60c8ecf16d90fd4ce40e9eef09b129e6785a68d2389fcfb7248c8a253fb68d47.wasm", + "tx_vote_proposal.wasm": "tx_vote_proposal.1556db8849f7889bf392e1e94f99864a38372f804040fa39352f0d118da5ac26.wasm", + "tx_withdraw.wasm": "tx_withdraw.a7c679c73b8b08b937e76033b0d05dd87f57c38ce27f9b6488c19150addf5c45.wasm", + "vp_implicit.wasm": "vp_implicit.f99f17dc584bd29d6f37c56a032496d3348771bce254d68568ac9587dab25f12.wasm", + "vp_masp.wasm": "vp_masp.82fd0d5a82e1ce57ed7bd9d154774cea2be5ed7d92dcc80babb4dcec9473d504.wasm", + "vp_testnet_faucet.wasm": "vp_testnet_faucet.dcc531bd09a3f5c7dc20dec68346638f82ddb049b16835d2f49b0870f8cfc4a1.wasm", + "vp_user.wasm": "vp_user.01d995ecad8a8c6eb743c94f28307b9008b70f95ccbc2c276c49684b05e03ebf.wasm", + "vp_validator.wasm": "vp_validator.fb4088d2a342448c418d200d02f17cd0ff0ff28ee9fc797f5ecf393bdeaf3770.wasm" } \ No newline at end of file From ae20b0b6eed30d38095743e6d625ef2584aa6269 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 8 Aug 2023 12:24:07 +0200 Subject: [PATCH 14/15] for CI From d0a8c0895c5b8a9e149b89c4fef7107d1b95c2eb Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 14 Aug 2023 17:32:44 +0200 Subject: [PATCH 15/15] fix IBC e2e test --- tests/src/e2e/ibc_tests.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/src/e2e/ibc_tests.rs b/tests/src/e2e/ibc_tests.rs index 6fbe6986d0..bbc959908f 100644 --- a/tests/src/e2e/ibc_tests.rs +++ b/tests/src/e2e/ibc_tests.rs @@ -129,8 +129,6 @@ fn run_ledger_ibc() -> Result<()> { ledger_a.exp_string("Committed block hash")?; ledger_b.exp_string("Committed block hash")?; - wait_for_wasm_pre_compile(&mut ledger_a)?; - wait_for_wasm_pre_compile(&mut ledger_b)?; let _bg_ledger_a = ledger_a.background(); let _bg_ledger_b = ledger_b.background();