From e35931edb1c82e49f122d3dd64d5b4d14191b5c8 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 2 Nov 2023 12:08:43 +0100 Subject: [PATCH 001/103] add NamadaChain --- Cargo.lock | 5871 +++++++++++++---- crates/relayer-cli/src/commands/keys/add.rs | 6 + .../relayer-cli/src/commands/keys/balance.rs | 8 +- .../relayer-cli/src/commands/keys/delete.rs | 6 + crates/relayer-cli/src/commands/listen.rs | 6 +- crates/relayer-cli/src/commands/tx/client.rs | 2 +- crates/relayer-types/src/events.rs | 2 +- crates/relayer/Cargo.toml | 3 + crates/relayer/src/chain.rs | 1 + crates/relayer/src/chain/client.rs | 7 +- crates/relayer/src/chain/cosmos/config.rs | 2 +- crates/relayer/src/chain/cosmos/wait.rs | 2 +- crates/relayer/src/chain/namada.rs | 1249 ++++ crates/relayer/src/chain/namada/query.rs | 275 + crates/relayer/src/chain/namada/tx.rs | 186 + crates/relayer/src/config.rs | 11 +- crates/relayer/src/error.rs | 23 + crates/relayer/src/event.rs | 2 +- crates/relayer/src/foreign_client.rs | 4 +- crates/relayer/src/keyring.rs | 2 - crates/relayer/src/spawn.rs | 5 +- tools/test-framework/src/chain/chain_type.rs | 7 + 22 files changed, 6540 insertions(+), 1140 deletions(-) create mode 100644 crates/relayer/src/chain/namada.rs create mode 100644 crates/relayer/src/chain/namada/query.rs create mode 100644 crates/relayer/src/chain/namada/tx.rs diff --git a/Cargo.lock b/Cargo.lock index 35214e2558..8fbf5dfbc4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,16 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "abscissa_core" version = "0.6.0" @@ -18,12 +28,12 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver", + "semver 1.0.20", "serde", "termcolor", "toml 0.5.11", "tracing", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "wait-timeout", ] @@ -47,7 +57,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli", + "gimli 0.28.0", ] [[package]] @@ -56,6 +66,38 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "1.1.2" @@ -65,6 +107,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anyhow" version = "1.0.75" @@ -77,6 +134,140 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +[[package]] +name = "ark-bls12-381" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65be532f9dd1e98ad0150b037276cde464c6f371059e6dd02c0222395761f6aa" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dea978406c4b1ca13c2db2373b05cc55429c3575b8b21f1b9ee859aa5b03dd42" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ed-on-bls12-381" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b7ada17db3854f5994e74e60b18e10e818594935ee7e1d329800c117b32970" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0f78f47537c2f15706db7e98fe64cc1711dbf9def81218194e17239e53e5aa" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.11.2", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd4e5f0bf8285d5ed538d27fab7411f3e297908fd93c62195de8bee3f199e82" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "async-stream" version = "0.3.5" @@ -96,7 +287,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -107,7 +298,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -126,6 +317,17 @@ dependencies = [ "tungstenite", ] +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.0", +] + [[package]] name = "atty" version = "0.2.14" @@ -137,6 +339,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "auto_impl" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -203,7 +417,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object", + "object 0.32.1", "rustc-demangle", ] @@ -213,6 +427,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base58" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" + [[package]] name = "base64" version = "0.13.1" @@ -221,15 +441,21 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" + +[[package]] +name = "bech32" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" [[package]] name = "bech32" @@ -237,13 +463,61 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bellman" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afceed28bac7f9f5a508bca8aeeff51cdfa4770c0b967ac55c621e2ddfd6171" +dependencies = [ + "bitvec", + "blake2s_simd", + "byteorder", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" +dependencies = [ + "serde", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bip0039" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef0f0152ec5cf17f49a5866afaa3439816207fd4f0a224c0211ffaf5e278426" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.10.1", + "rand 0.8.5", + "sha2 0.10.8", + "unicode-normalization", + "zeroize", +] + [[package]] name = "bitcoin" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75" dependencies = [ - "bech32", + "bech32 0.9.1", "bitcoin-private", "bitcoin_hashes", "hex_lit", @@ -280,226 +554,244 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] -name = "block-buffer" -version = "0.9.0" +name = "bitvec" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "generic-array", + "funty", + "radium", + "tap", + "wyz", ] [[package]] -name = "block-buffer" -version = "0.10.4" +name = "blake2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "generic-array", + "digest 0.10.7", ] [[package]] -name = "bs58" -version = "0.5.0" +name = "blake2b_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ - "tinyvec", + "arrayref", + "arrayvec", + "constant_time_eq", ] [[package]] -name = "bumpalo" -version = "3.14.0" +name = "blake2s_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] [[package]] -name = "byte-unit" -version = "4.0.19" +name = "blake3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" dependencies = [ - "serde", - "utf8-width", + "arrayref", + "arrayvec", + "cc", + "cfg-if 1.0.0", + "constant_time_eq", ] [[package]] -name = "bytecount" -version = "0.6.7" +name = "block-buffer" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.4", +] [[package]] -name = "byteorder" -version = "1.5.0" +name = "block-buffer" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "bytes" -version = "1.5.0" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "serde", + "generic-array 0.14.7", ] [[package]] -name = "camino" -version = "1.1.6" +name = "block-padding" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "serde", + "byte-tools", ] [[package]] -name = "canonical-path" -version = "2.0.2" +name = "bls12_381" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" +checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" +dependencies = [ + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", +] [[package]] -name = "cargo-platform" -version = "0.1.4" +name = "borsh" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ - "serde", + "borsh-derive 0.9.3", + "hashbrown 0.11.2", ] [[package]] -name = "cargo_metadata" -version = "0.14.2" +name = "borsh" +version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "41898277107b0d3f027593697912977397eba6ac39a55bdd2eb02c1d5d5013b5" dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", + "borsh-derive 1.0.0-alpha.4", + "cfg_aliases", ] [[package]] -name = "cc" -version = "1.0.83" +name = "borsh-derive" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" dependencies = [ - "libc", + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", ] [[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" +name = "borsh-derive" +version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "413cb435569fe499e89235f758304e0e7198016baa351d8f5827ea0f40526ce0" +dependencies = [ + "once_cell", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.38", + "syn_derive", +] [[package]] -name = "clap" -version = "3.2.25" +name = "borsh-derive-internal" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive", - "clap_lex", - "indexmap 1.9.3", - "once_cell", - "strsim", - "termcolor", - "textwrap", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "clap_complete" -version = "3.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" +name = "borsh-ext" +version = "1.0.0-alpha.4" +source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.0.0-alpha.4#6bebf357002f96574ac37a28f547b6c88e91b799" dependencies = [ - "clap", + "borsh 1.0.0-alpha.4", ] [[package]] -name = "clap_derive" -version = "3.2.25" +name = "borsh-schema-derive-internal" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "heck", - "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "clap_lex" -version = "0.2.4" +name = "bs58" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" dependencies = [ - "os_str_bytes", + "sha2 0.10.8", + "tinyvec", ] [[package]] -name = "color-eyre" -version = "0.6.2" +name = "bumpalo" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] -name = "color-spantrace" -version = "0.2.0" +name = "byte-slice-cast" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] -name = "console" -version = "0.15.7" +name = "byte-tools" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byte-unit" +version = "4.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.45.0", + "serde", + "utf8-width", ] [[package]] -name = "const-oid" -version = "0.9.5" +name = "bytecheck" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] [[package]] -name = "contracts" -version = "0.6.3" +name = "bytecheck_derive" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1d1429e3bd78171c65aa010eabcdf8f863ba3254728dbfb0ad4b1545beac15c" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ "proc-macro2", "quote", @@ -507,1390 +799,3370 @@ dependencies = [ ] [[package]] -name = "core-foundation" -version = "0.9.3" +name = "bytecount" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7" [[package]] -name = "core-foundation-sys" -version = "0.8.4" +name = "byteorder" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] -name = "cpufeatures" -version = "0.2.11" +name = "bytes" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" dependencies = [ - "libc", + "serde", ] [[package]] -name = "crossbeam-channel" -version = "0.4.4" +name = "camino" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", + "serde", ] [[package]] -name = "crossbeam-channel" -version = "0.5.8" +name = "canonical-path" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", -] +checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] -name = "crossbeam-epoch" -version = "0.9.15" +name = "cargo-platform" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", - "memoffset", - "scopeguard", + "serde", ] [[package]] -name = "crossbeam-utils" -version = "0.7.2" +name = "cargo_metadata" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", + "camino", + "cargo-platform", + "semver 1.0.20", + "serde", + "serde_json", ] [[package]] -name = "crossbeam-utils" -version = "0.8.16" +name = "cargo_metadata" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ - "cfg-if 1.0.0", + "camino", + "cargo-platform", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", ] [[package]] -name = "crunchy" -version = "0.2.2" +name = "cbc" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher 0.4.4", +] [[package]] -name = "crypto-bigint" -version = "0.5.4" +name = "cc" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28f85c3514d2a6e64160359b45a3918c3b4178bcbf4ae5d03ab2d02e521c479a" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", + "libc", ] [[package]] -name = "crypto-common" -version = "0.1.6" +name = "cfg-if" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "curve25519-dalek" -version = "4.1.1" +name = "cfg-if" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "chacha20" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" dependencies = [ "cfg-if 1.0.0", + "cipher 0.3.0", "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", - "platforms", - "rustc_version", - "subtle", - "zeroize", ] [[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" +name = "chacha20" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", + "cfg-if 1.0.0", + "cipher 0.4.4", + "cpufeatures", ] [[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" +name = "chacha20poly1305" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core", - "subtle-ng", + "aead", + "chacha20 0.9.1", + "cipher 0.4.4", + "poly1305", "zeroize", ] [[package]] -name = "dashmap" -version = "5.5.3" +name = "chrono" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ - "cfg-if 1.0.0", - "hashbrown 0.14.2", - "lock_api", - "once_cell", - "parking_lot_core", + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets 0.48.5", ] [[package]] -name = "data-encoding" -version = "2.4.0" +name = "cipher" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "der" -version = "0.7.8" +name = "cipher" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "const-oid", + "crypto-common", + "inout", "zeroize", ] [[package]] -name = "deranged" -version = "0.3.9" +name = "circular-queue" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "1d34327ead1c743a10db339de35fb58957564b99d248a67985c55638b22c59b5" dependencies = [ - "powerfmt", + "version_check", ] [[package]] -name = "derivation-path" -version = "0.2.0" +name = "clap" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_derive", + "clap_lex", + "indexmap 1.9.3", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] [[package]] -name = "derive_more" -version = "0.99.17" +name = "clap_complete" +version = "3.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_derive" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ + "heck", + "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "dialoguer" -version = "0.10.4" +name = "clap_lex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ - "console", - "shell-words", - "tempfile", - "zeroize", + "os_str_bytes", ] [[package]] -name = "digest" -version = "0.9.0" +name = "clru" +version = "0.5.0" +source = "git+https://github.com/marmeladema/clru-rs.git?rev=71ca566#71ca566915f21f3c308091ca7756a91b0f8b5afc" + +[[package]] +name = "coins-bip32" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ - "generic-array", + "bs58", + "coins-core", + "digest 0.10.7", + "hmac 0.12.1", + "k256", + "serde", + "sha2 0.10.8", + "thiserror", ] [[package]] -name = "digest" -version = "0.10.7" +name = "coins-bip39" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" dependencies = [ - "block-buffer 0.10.4", - "const-oid", - "crypto-common", - "subtle", + "bitvec", + "coins-bip32", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.12.2", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", ] [[package]] -name = "dirs-next" -version = "2.0.0" +name = "coins-core" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ - "cfg-if 1.0.0", - "dirs-sys-next", + "base64 0.21.4", + "bech32 0.9.1", + "bs58", + "digest 0.10.7", + "generic-array 0.14.7", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2 0.10.8", + "sha3", + "thiserror", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "color-eyre" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" dependencies = [ - "libc", - "redox_users", - "winapi", + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", ] [[package]] -name = "ecdsa" -version = "0.16.8" +name = "color-spantrace" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", ] [[package]] -name = "ed25519" -version = "2.2.3" +name = "console" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ - "pkcs8", - "serde", - "signature", + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", ] [[package]] -name = "ed25519-consensus" -version = "2.1.0" +name = "const-hex" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ - "curve25519-dalek-ng", + "cfg-if 1.0.0", + "cpufeatures", "hex", - "rand_core", - "sha2 0.9.9", - "zeroize", + "proptest", + "serde", ] [[package]] -name = "ed25519-dalek" -version = "2.1.0" +name = "const-oid" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core", - "serde", - "sha2 0.10.8", - "subtle", - "zeroize", -] +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] -name = "ed25519-dalek-bip32" +name = "constant_time_eq" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac", - "sha2 0.10.8", -] +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] -name = "either" -version = "1.9.0" +name = "contracts" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "f1d1429e3bd78171c65aa010eabcdf8f863ba3254728dbfb0ad4b1545beac15c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "elliptic-curve" -version = "0.13.7" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", + "core-foundation-sys", + "libc", ] [[package]] -name = "encode_unicode" -version = "0.3.6" +name = "core-foundation-sys" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] -name = "encoding_rs" -version = "0.8.33" +name = "corosensei" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" dependencies = [ + "autocfg", "cfg-if 1.0.0", + "libc", + "scopeguard", + "windows-sys 0.33.0", ] [[package]] -name = "env_logger" -version = "0.10.1" +name = "cpufeatures" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", + "libc", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "cranelift-bforest" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "38faa2a16616c8e78a18d37b4726b98bfd2de192f2fdc8a39ddf568a408a0f75" +dependencies = [ + "cranelift-entity", +] [[package]] -name = "errno" -version = "0.3.7" +name = "cranelift-codegen" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +checksum = "26f192472a3ba23860afd07d2b0217dc628f21fcc72617aa1336d98e1671f33b" dependencies = [ - "libc", - "windows-sys 0.48.0", + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-entity", + "gimli 0.26.2", + "log", + "regalloc", + "smallvec", + "target-lexicon", ] [[package]] -name = "error-chain" -version = "0.12.4" +name = "cranelift-codegen-meta" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +checksum = "0f32ddb89e9b89d3d9b36a5b7d7ea3261c98235a76ac95ba46826b8ec40b1a24" dependencies = [ - "version_check", + "cranelift-codegen-shared", ] [[package]] -name = "eyre" -version = "0.6.8" +name = "cranelift-codegen-shared" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" -dependencies = [ - "indenter", - "once_cell", -] +checksum = "01fd0d9f288cc1b42d9333b7a776b17e278fc888c28e6a0f09b5573d45a150bc" [[package]] -name = "fastrand" -version = "2.0.1" +name = "cranelift-entity" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf" [[package]] -name = "ff" -version = "0.13.0" +name = "cranelift-frontend" +version = "0.82.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "a006e3e32d80ce0e4ba7f1f9ddf66066d052a8c884a110b91d05404d6ce26dce" dependencies = [ - "rand_core", - "subtle", + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", ] [[package]] -name = "fiat-crypto" -version = "0.2.4" +name = "crc32fast" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a56f0780318174bad1c127063fd0c5fdfb35398e3cd79ffaab931a6c79df80" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "crossbeam-channel" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" dependencies = [ - "static_assertions", + "crossbeam-utils 0.7.2", + "maybe-uninit", ] [[package]] -name = "flex-error" -version = "0.4.4" +name = "crossbeam-channel" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ - "anyhow", - "eyre", - "paste", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", ] [[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.0" +name = "crossbeam-deque" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ - "percent-encoding", + "cfg-if 1.0.0", + "crossbeam-epoch", + "crossbeam-utils 0.8.16", ] [[package]] -name = "fs-err" -version = "2.10.0" +name = "crossbeam-epoch" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5fd9bcbe8b1087cbd395b51498c01bc997cef73e778a80b77a811af5e2d29f" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", + "memoffset 0.9.0", + "scopeguard", ] [[package]] -name = "futures" -version = "0.3.29" +name = "crossbeam-utils" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "autocfg", + "cfg-if 0.1.10", + "lazy_static", ] [[package]] -name = "futures-channel" -version = "0.3.29" +name = "crossbeam-utils" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ - "futures-core", - "futures-sink", + "cfg-if 1.0.0", ] [[package]] -name = "futures-core" -version = "0.3.29" +name = "crunchy" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "futures-executor" -version = "0.3.29" +name = "crypto-bigint" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "futures-io" -version = "0.3.29" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "typenum", +] [[package]] -name = "futures-macro" -version = "0.3.29" +name = "crypto-mac" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", + "generic-array 0.12.4", + "subtle 1.0.0", ] [[package]] -name = "futures-sink" -version = "0.3.29" +name = "crypto-mac" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.7", + "subtle 2.4.1", +] [[package]] -name = "futures-task" -version = "0.3.29" +name = "ct-codecs" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" [[package]] -name = "futures-util" -version = "0.3.29" +name = "ctr" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "cipher 0.4.4", ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "curve25519-dalek" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ - "typenum", - "version_check", + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.4.1", "zeroize", ] [[package]] -name = "getrandom" -version = "0.2.11" +name = "curve25519-dalek" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if 1.0.0", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "platforms", + "rustc_version 0.4.0", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "gimli" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" - -[[package]] -name = "glob" -version = "0.3.1" +name = "curve25519-dalek-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] [[package]] -name = "group" -version = "0.13.0" +name = "curve25519-dalek-ng" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ - "ff", - "rand_core", - "subtle", + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle-ng", + "zeroize", ] [[package]] -name = "gumdrop" -version = "0.8.1" +name = "darling" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ - "gumdrop_derive", + "darling_core", + "darling_macro", ] [[package]] -name = "gumdrop_derive" -version = "0.8.1" +name = "darling_core" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", - "syn 1.0.109", + "strsim", + "syn 2.0.38", ] [[package]] -name = "h2" -version = "0.3.22" +name = "darling_macro" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.1.0", - "slab", - "tokio", - "tokio-util", - "tracing", + "darling_core", + "quote", + "syn 2.0.38", ] [[package]] -name = "half" -version = "1.8.2" +name = "dashmap" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if 1.0.0", + "hashbrown 0.14.1", + "lock_api", + "once_cell", + "parking_lot_core", +] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "data-encoding" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] -name = "hashbrown" -version = "0.14.2" +name = "der" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] [[package]] -name = "hdpath" -version = "0.6.3" +name = "deranged" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa5bc9db2c17d2660f53ce217b778d06d68de13d1cd01c0f4e5de4b7918935f" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ - "byteorder", + "powerfmt", ] [[package]] -name = "heck" -version = "0.4.1" +name = "derivation-path" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "libc", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "hermit-abi" -version = "0.3.3" +name = "derive_more" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "hex" -version = "0.4.3" +name = "dialoguer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +dependencies = [ + "console", + "shell-words", + "tempfile", + "zeroize", +] [[package]] -name = "hex_lit" -version = "0.1.1" +name = "digest" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] [[package]] -name = "hmac" -version = "0.12.1" +name = "digest" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "digest 0.10.7", + "generic-array 0.14.7", ] [[package]] -name = "http" -version = "0.2.11" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "bytes", - "fnv", - "itoa", + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle 2.4.1", ] [[package]] -name = "http-body" -version = "0.4.5" +name = "directories" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "bytes", - "http", - "pin-project-lite", + "dirs-sys", ] [[package]] -name = "httparse" -version = "1.8.0" +name = "dirs-next" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] [[package]] -name = "httpdate" -version = "1.0.3" +name = "dirs-sys" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] [[package]] -name = "humantime" -version = "2.1.0" +name = "dirs-sys-next" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] [[package]] -name = "humantime-serde" -version = "1.1.1" +name = "displaydoc" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "humantime", - "serde", + "proc-macro2", + "quote", + "syn 2.0.38", ] [[package]] -name = "hyper" -version = "0.14.27" +name = "dunce" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "dynasm" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.4.10", - "tokio", - "tower-service", - "tracing", - "want", + "bitflags 1.3.2", + "byteorder", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "hyper-rustls" -version = "0.24.2" +name = "dynasmrt" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" dependencies = [ - "futures-util", - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", + "byteorder", + "dynasm", + "memmap2", ] [[package]] -name = "hyper-timeout" -version = "0.4.1" +name = "ecdsa" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "serdect", + "signature 2.1.0", + "spki", ] [[package]] -name = "ibc-chain-registry" -version = "0.26.1" +name = "ed25519" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "async-trait", - "flex-error", - "futures", - "http", - "ibc-proto", - "ibc-relayer-types", - "itertools 0.10.5", - "reqwest", "serde", - "serde_json", - "tendermint-rpc", - "tokio", - "tracing", + "signature 1.6.4", ] [[package]] -name = "ibc-integration-test" -version = "0.26.1" +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "http", - "ibc-relayer", - "ibc-relayer-types", - "ibc-test-framework", - "prost", + "pkcs8", "serde", - "serde_json", - "tempfile", - "time", - "toml 0.7.8", - "tonic", + "signature 2.1.0", ] [[package]] -name = "ibc-proto" -version = "0.39.0" +name = "ed25519-consensus" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b5aca9ca863246a2b358e0a1845759780860673e54c0a76335faccc504981c" +checksum = "758e2a0cd8a6cdf483e1d369e7d081647e00b88d8953e34d8f2cbba05ae28368" dependencies = [ - "base64 0.21.5", - "bytes", - "flex-error", - "ics23", - "prost", + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", + "sha2 0.9.9", + "thiserror", + "zeroize", ] [[package]] -name = "ibc-relayer" -version = "0.26.1" +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ - "anyhow", - "async-stream", - "bech32", - "bitcoin", - "bs58", - "byte-unit", - "bytes", - "crossbeam-channel 0.5.8", - "digest 0.10.7", - "dirs-next", - "ed25519", - "ed25519-dalek", - "ed25519-dalek-bip32", - "env_logger", - "flex-error", - "futures", - "generic-array", - "hdpath", + "curve25519-dalek-ng", "hex", - "http", - "humantime", - "humantime-serde", - "ibc-proto", - "ibc-relayer-types", - "ibc-telemetry", - "itertools 0.10.5", - "moka", - "num-bigint", - "num-rational", - "once_cell", - "prost", - "regex", - "retry", - "ripemd", - "secp256k1", - "semver", - "serde", - "serde_derive", - "serde_json", - "serial_test", - "sha2 0.10.8", - "signature", - "strum", - "subtle-encoding", - "tendermint", - "tendermint-light-client", - "tendermint-light-client-detector", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "test-log", - "thiserror", - "tiny-bip39", - "tiny-keccak", - "tokio", - "tokio-stream", - "toml 0.7.8", - "tonic", - "tracing", - "tracing-subscriber", - "uuid 1.5.0", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", ] [[package]] -name = "ibc-relayer-cli" -version = "1.7.1" +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "abscissa_core", - "clap", - "clap_complete", - "color-eyre", - "console", - "crossbeam-channel 0.5.8", - "dialoguer", - "dirs-next", - "eyre", - "flex-error", - "futures", - "hdpath", - "http", - "humantime", - "ibc-chain-registry", - "ibc-relayer", - "ibc-relayer-rest", - "ibc-relayer-types", - "ibc-telemetry", - "itertools 0.10.5", - "once_cell", - "oneline-eyre", - "regex", + "curve25519-dalek 3.2.0", + "ed25519 1.5.3", + "merlin", + "rand 0.7.3", "serde", - "serde_json", - "serial_test", - "signal-hook", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-rpc", - "time", - "tokio", - "tracing", - "tracing-subscriber", + "serde_bytes", + "sha2 0.9.9", + "zeroize", ] [[package]] -name = "ibc-relayer-rest" -version = "0.26.1" +name = "ed25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ - "axum", - "crossbeam-channel 0.5.8", - "ibc-relayer", - "ibc-relayer-types", - "reqwest", + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", + "rand_core 0.6.4", "serde", - "tokio", - "toml 0.7.8", - "tracing", + "sha2 0.10.8", + "zeroize", ] [[package]] -name = "ibc-relayer-types" -version = "0.26.1" +name = "ed25519-dalek-bip32" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" dependencies = [ - "bytes", - "derive_more", - "env_logger", - "flex-error", - "ibc-proto", - "ics23", - "itertools 0.10.5", - "num-rational", - "primitive-types", - "prost", + "derivation-path", + "ed25519-dalek 2.0.0", + "hmac 0.12.1", + "sha2 0.10.8", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "elliptic-curve" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array 0.14.7", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "serdect", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "enr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +dependencies = [ + "base64 0.21.4", + "bytes", + "hex", + "k256", + "log", + "rand 0.8.5", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "enum-iterator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "enumset" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +dependencies = [ + "enumset_derive", +] + +[[package]] +name = "enumset_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", "regex", + "termcolor", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "rand 0.8.5", + "scrypt", "serde", - "serde_derive", "serde_json", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "test-log", - "time", - "tracing", - "tracing-subscriber", + "sha2 0.10.8", + "sha3", + "thiserror", + "uuid 0.8.2", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", "uint", ] [[package]] -name = "ibc-telemetry" -version = "0.26.1" +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ - "axum", - "dashmap", - "ibc-relayer-types", - "moka", + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethbridge-bridge-contract" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethbridge-bridge-events", + "ethbridge-structs", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethbridge-bridge-events" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethabi", + "ethbridge-structs", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethbridge-structs" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethabi", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" +dependencies = [ + "ethers-core", "once_cell", - "opentelemetry", - "opentelemetry-prometheus", - "prometheus", "serde", "serde_json", - "tendermint", - "tokio", - "tracing", ] [[package]] -name = "ibc-test-framework" -version = "0.26.1" +name = "ethers-contract" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" dependencies = [ - "color-eyre", - "crossbeam-channel 0.5.8", - "eyre", - "flex-error", - "hdpath", - "hex", - "http", - "ibc-proto", - "ibc-relayer", - "ibc-relayer-cli", - "ibc-relayer-types", - "itertools 0.10.5", + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", "once_cell", - "prost", - "rand", - "semver", + "pin-project", "serde", "serde_json", - "serde_yaml", - "sha2 0.10.8", - "subtle-encoding", - "tendermint-rpc", - "tokio", + "thiserror", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "eyre", + "prettyplease 0.2.15", + "proc-macro2", + "quote", + "regex", + "serde", + "serde_json", + "syn 2.0.38", "toml 0.7.8", - "tonic", - "tracing", - "tracing-subscriber", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.38", ] [[package]] -name = "ics23" -version = "0.11.0" +name = "ethers-core" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" +dependencies = [ + "arrayvec", + "bytes", + "cargo_metadata 0.17.0", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array 0.14.7", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand 0.8.5", + "rlp", + "serde", + "serde_json", + "strum", + "syn 2.0.38", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" +dependencies = [ + "ethers-core", + "reqwest", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.4", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "tracing", +] + +[[package]] +name = "eyre" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[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", + "windows-sys 0.48.0", +] + +[[package]] +name = "ferveo" +version = "0.1.1" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "bincode", + "blake2", + "blake2b_simd", + "borsh 0.9.3", + "digest 0.10.7", + "ed25519-dalek 1.0.1", + "either", + "ferveo-common", + "group-threshold-cryptography", + "hex", + "itertools 0.10.5", + "measure_time", + "miracl_core", + "num 0.4.1", + "rand 0.7.3", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_json", + "subproductdomain", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "ferveo-common" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-ec", + "ark-serialize", + "ark-std", + "serde", + "serde_bytes", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "bitvec", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flex-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +dependencies = [ + "anyhow", + "eyre", + "paste", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fpe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c4b37de5ae15812a764c958297cfc50f5c010438f60c6ce75d11b802abd404" +dependencies = [ + "cbc", + "cipher 0.4.4", + "libm", + "num-bigint 0.4.4", + "num-integer", + "num-traits", +] + +[[package]] +name = "fs-err" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +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" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "indexmap 1.9.3", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "memuse", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "group-threshold-cryptography" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "blake2b_simd", + "chacha20 0.8.2", + "hex", + "itertools 0.10.5", + "miracl_core", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "subproductdomain", + "thiserror", +] + +[[package]] +name = "gumdrop" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" +dependencies = [ + "gumdrop_derive", +] + +[[package]] +name = "gumdrop_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "hdpath" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa5bc9db2c17d2660f53ce217b778d06d68de13d1cd01c0f4e5de4b7918935f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex_lit" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" + +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + +[[package]] +name = "hmac-sha512" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +dependencies = [ + "futures-util", + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[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.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ibc" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "184eb22140cb4143bbcf7ddc8fdfeb9cc058ef73a6066f8ea78162e69d3565d1" +dependencies = [ + "bytes", + "derive_more", + "displaydoc", + "ibc-derive", + "ibc-proto 0.37.1", + "ics23", + "num-traits", + "primitive-types", + "prost 0.12.1", + "serde", + "serde-json-wasm", + "serde_derive", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", + "time", + "tracing", + "uint", +] + +[[package]] +name = "ibc-chain-registry" +version = "0.26.1" +dependencies = [ + "async-trait", + "flex-error", + "futures", + "http", + "ibc-proto 0.39.0", + "ibc-relayer-types", + "itertools 0.10.5", + "reqwest", + "serde", + "serde_json", + "tendermint-rpc", + "tokio", + "tracing", +] + +[[package]] +name = "ibc-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92f1528535e9ca495badb76c143bdd4763c1c9d987f59d1f8b47963ba0c11674" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "ibc-integration-test" +version = "0.26.1" +dependencies = [ + "http", + "ibc-relayer", + "ibc-relayer-types", + "ibc-test-framework", + "prost 0.12.1", + "serde", + "serde_json", + "tempfile", + "time", + "toml 0.7.8", + "tonic", +] + +[[package]] +name = "ibc-proto" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63042806bb2f662ca1c68026231900cfe13361136ddfd0dd09bcb315056a22b8" +dependencies = [ + "base64 0.21.4", + "bytes", + "flex-error", + "ics23", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint-proto", +] + +[[package]] +name = "ibc-proto" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b5aca9ca863246a2b358e0a1845759780860673e54c0a76335faccc504981c" +dependencies = [ + "base64 0.21.4", + "bytes", + "flex-error", + "ics23", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint-proto", + "tonic", +] + +[[package]] +name = "ibc-relayer" +version = "0.26.1" +dependencies = [ + "anyhow", + "async-stream", + "bech32 0.9.1", + "bitcoin", + "bs58", + "byte-unit", + "bytes", + "crossbeam-channel 0.5.8", + "digest 0.10.7", + "dirs-next", + "ed25519 2.2.3", + "ed25519-dalek 2.0.0", + "ed25519-dalek-bip32", + "env_logger", + "flex-error", + "futures", + "generic-array 0.14.7", + "hdpath", + "hex", + "http", + "humantime", + "humantime-serde", + "ibc-proto 0.39.0", + "ibc-relayer-types", + "ibc-telemetry", + "itertools 0.10.5", + "moka", + "namada", + "namada_sdk", + "num-bigint 0.4.4", + "num-rational 0.4.1", + "once_cell", + "prost 0.12.1", + "regex", + "retry", + "ripemd", + "secp256k1", + "semver 1.0.20", + "serde", + "serde_derive", + "serde_json", + "serial_test", + "sha2 0.10.8", + "signature 2.1.0", + "strum", + "subtle-encoding", + "tendermint", + "tendermint-light-client", + "tendermint-light-client-detector", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", + "tendermint-testgen", + "test-log", + "thiserror", + "tiny-bip39 1.0.0", + "tiny-keccak", + "tokio", + "tokio-stream", + "toml 0.7.8", + "tonic", + "tracing", + "tracing-subscriber", + "uuid 1.5.0", +] + +[[package]] +name = "ibc-relayer-cli" +version = "1.7.1" +dependencies = [ + "abscissa_core", + "clap", + "clap_complete", + "color-eyre", + "console", + "crossbeam-channel 0.5.8", + "dialoguer", + "dirs-next", + "eyre", + "flex-error", + "futures", + "hdpath", + "http", + "humantime", + "ibc-chain-registry", + "ibc-relayer", + "ibc-relayer-rest", + "ibc-relayer-types", + "ibc-telemetry", + "itertools 0.10.5", + "once_cell", + "oneline-eyre", + "regex", + "serde", + "serde_json", + "serial_test", + "signal-hook", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-rpc", + "time", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ibc-relayer-rest" +version = "0.26.1" +dependencies = [ + "axum", + "crossbeam-channel 0.5.8", + "ibc-relayer", + "ibc-relayer-types", + "reqwest", + "serde", + "tokio", + "toml 0.7.8", + "tracing", +] + +[[package]] +name = "ibc-relayer-types" +version = "0.26.1" +dependencies = [ + "bytes", + "derive_more", + "env_logger", + "flex-error", + "ibc-proto 0.39.0", + "ics23", + "itertools 0.10.5", + "num-rational 0.4.1", + "primitive-types", + "prost 0.12.1", + "regex", + "serde", + "serde_derive", + "serde_json", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", + "tendermint-testgen", + "test-log", + "time", + "tracing", + "tracing-subscriber", + "uint", +] + +[[package]] +name = "ibc-telemetry" +version = "0.26.1" +dependencies = [ + "axum", + "dashmap", + "ibc-relayer-types", + "moka", + "once_cell", + "opentelemetry", + "opentelemetry-prometheus", + "prometheus", + "serde", + "serde_json", + "tendermint", + "tokio", + "tracing", +] + +[[package]] +name = "ibc-test-framework" +version = "0.26.1" +dependencies = [ + "color-eyre", + "crossbeam-channel 0.5.8", + "eyre", + "flex-error", + "hdpath", + "hex", + "http", + "ibc-proto 0.39.0", + "ibc-relayer", + "ibc-relayer-cli", + "ibc-relayer-types", + "itertools 0.10.5", + "once_cell", + "prost 0.12.1", + "rand 0.8.5", + "semver 1.0.20", + "serde", + "serde_json", + "serde_yaml", + "sha2 0.10.8", + "subtle-encoding", + "tendermint-rpc", + "tokio", + "toml 0.7.8", + "tonic", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ics23" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "661e2d6f79952a65bc92b1c81f639ebd37228dae6ff412a5aba7d474bdc4b957" +dependencies = [ + "anyhow", + "bytes", + "hex", + "informalsystems-pbjson", + "prost 0.12.1", + "ripemd", + "serde", + "sha2 0.10.8", + "sha3", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "incrementalmerkletree" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5ad43a3f5795945459d577f6589cf62a476e92c79b75e70cd954364e14ce17b" +dependencies = [ + "serde", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "index-set" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.0#0c218cc300c1bb7a1acf34f21b6e9d489df5fda8" +dependencies = [ + "borsh 1.0.0-alpha.4", + "serde", +] + +[[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", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown 0.14.1", +] + +[[package]] +name = "informalsystems-pbjson" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4eecd90f87bea412eac91c6ef94f6b1e390128290898cbe14f2b926787ae1fb" +dependencies = [ + "base64 0.13.1", + "serde", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi 0.3.3", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.4", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "jubjub" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8499f7a74008aafbecb2a2e608a3e13e4dd3e84df198b604451efe93f2de6e61" +dependencies = [ + "bitvec", + "bls12_381", + "ff", + "group", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[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", + "elliptic-curve", + "once_cell", + "serdect", + "sha2 0.10.8", + "signature 2.1.0", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if 1.0.0", + "winapi", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.1", + "typenum", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" + +[[package]] +name = "lock_api" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "661e2d6f79952a65bc92b1c81f639ebd37228dae6ff412a5aba7d474bdc4b957" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ - "anyhow", - "bytes", - "hex", - "informalsystems-pbjson", - "prost", - "ripemd", - "serde", - "sha2 0.10.8", - "sha3", + "autocfg", + "scopeguard", ] [[package]] -name = "ident_case" -version = "1.0.1" +name = "log" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] -name = "idna" -version = "0.4.0" +name = "loupe" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "9b6a72dfa44fe15b5e76b94307eeb2ff995a8c5b283b55008940c02e0c5b634d" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "indexmap 1.9.3", + "loupe-derive", + "rustversion", ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "loupe-derive" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "c0fbfc88337168279f2e9ae06e157cfed4efd3316e14dc96ed074d4f2e6c5952" dependencies = [ - "serde", + "quote", + "syn 1.0.109", ] [[package]] -name = "indenter" -version = "0.3.3" +name = "mach" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] [[package]] -name = "indexmap" -version = "1.9.3" +name = "mach2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" dependencies = [ - "autocfg", - "hashbrown 0.12.3", + "libc", ] [[package]] -name = "indexmap" -version = "2.1.0" +name = "masp_note_encryption" +version = "0.2.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "borsh 1.0.0-alpha.4", + "chacha20 0.9.1", + "chacha20poly1305", + "cipher 0.4.4", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "masp_primitives" +version = "0.9.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "aes", + "bip0039", + "bitvec", + "blake2b_simd", + "blake2s_simd", + "bls12_381", + "borsh 1.0.0-alpha.4", + "byteorder", + "ff", + "fpe", + "group", + "hex", + "incrementalmerkletree", + "jubjub", + "lazy_static", + "masp_note_encryption", + "memuse", + "nonempty", + "num-traits", + "rand 0.8.5", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle 2.4.1", + "zcash_encoding", +] + +[[package]] +name = "masp_proofs" +version = "0.9.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "bellman", + "blake2b_simd", + "bls12_381", + "directories", + "getrandom 0.2.10", + "group", + "itertools 0.11.0", + "jubjub", + "lazy_static", + "masp_primitives", + "minreq", + "rand_core 0.6.4", + "redjubjub", + "tracing", +] + +[[package]] +name = "matchers" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "equivalent", - "hashbrown 0.14.2", + "regex-automata 0.1.10", ] [[package]] -name = "informalsystems-pbjson" -version = "0.6.0" +name = "matchit" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eecd90f87bea412eac91c6ef94f6b1e390128290898cbe14f2b926787ae1fb" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "measure_time" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56220900f1a0923789ecd6bf25fbae8af3b2f1ff3e9e297fc9b6b8674dd4d852" dependencies = [ - "base64 0.13.1", - "serde", + "instant", + "log", ] [[package]] -name = "ipnet" -version = "2.9.0" +name = "memchr" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] -name = "is-terminal" -version = "0.4.9" +name = "memmap2" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ - "hermit-abi 0.3.3", - "rustix", - "windows-sys 0.48.0", + "libc", ] [[package]] -name = "itertools" -version = "0.10.5" +name = "memoffset" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ - "either", + "autocfg", ] [[package]] -name = "itertools" -version = "0.11.0" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ - "either", + "autocfg", ] [[package]] -name = "itoa" -version = "1.0.9" +name = "memuse" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" [[package]] -name = "js-sys" -version = "0.3.65" +name = "memzero" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" dependencies = [ - "wasm-bindgen", + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", ] [[package]] -name = "k256" -version = "0.13.2" +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ - "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", - "sha2 0.10.8", + "adler", ] [[package]] -name = "keccak" -version = "0.1.4" +name = "minreq" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" dependencies = [ - "cpufeatures", + "log", + "once_cell", + "rustls", + "rustls-webpki", + "webpki-roots", ] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "mio" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] [[package]] -name = "libc" -version = "0.2.150" +name = "miracl_core" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" [[package]] -name = "libredox" -version = "0.0.1" +name = "moka" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" dependencies = [ - "bitflags 2.4.1", - "libc", - "redox_syscall", + "crossbeam-channel 0.5.8", + "crossbeam-epoch", + "crossbeam-utils 0.8.16", + "once_cell", + "parking_lot", + "quanta", + "rustc_version 0.4.0", + "skeptic", + "smallvec", + "tagptr", + "thiserror", + "triomphe", + "uuid 1.5.0", ] [[package]] -name = "linux-raw-sys" -version = "0.4.11" +name = "more-asserts" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" [[package]] -name = "lock_api" -version = "0.4.11" +name = "multimap" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "namada" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" dependencies = [ - "autocfg", - "scopeguard", + "async-trait", + "bimap", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "circular-queue", + "clru", + "data-encoding", + "derivation-path", + "derivative", + "ethbridge-bridge-contract", + "ethers", + "eyre", + "futures", + "itertools 0.10.5", + "loupe", + "masp_primitives", + "masp_proofs", + "namada_core", + "namada_ethereum_bridge", + "namada_proof_of_stake", + "namada_sdk", + "num256", + "orion", + "owo-colors", + "parity-wasm", + "parse_duration", + "paste", + "prost 0.12.1", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "ripemd", + "serde", + "serde_json", + "sha2 0.9.9", + "slip10_ed25519", + "tendermint-rpc", + "thiserror", + "tiny-bip39 0.8.2", + "tiny-hderive", + "tokio", + "toml 0.5.11", + "tracing", + "wasm-instrument", + "wasmer", + "wasmer-cache", + "wasmer-compiler-singlepass", + "wasmer-engine-dylib", + "wasmer-engine-universal", + "wasmer-vm", + "wasmparser 0.107.0", + "wasmtimer", + "zeroize", ] [[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +name = "namada_core" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-serialize", + "bech32 0.8.1", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "chrono", + "data-encoding", + "derivative", + "ed25519-consensus 1.2.1", + "ethabi", + "ethbridge-structs", + "eyre", + "ferveo", + "ferveo-common", + "group-threshold-cryptography", + "ibc", + "ibc-derive", + "ibc-proto 0.37.1", + "ics23", + "impl-num-traits", + "index-set", + "itertools 0.10.5", + "k256", + "masp_primitives", + "namada_macros", + "num-integer", + "num-rational 0.4.1", + "num-traits", + "num256", + "primitive-types", + "prost 0.12.1", + "prost-types 0.12.1", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "serde", + "serde_json", + "sha2 0.9.9", + "sparse-merkle-tree", + "tendermint", + "tendermint-proto", + "thiserror", + "tiny-keccak", + "tonic-build", + "tracing", + "uint", + "zeroize", +] + +[[package]] +name = "namada_ethereum_bridge" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +dependencies = [ + "borsh 1.0.0-alpha.4", + "borsh-ext", + "ethers", + "eyre", + "itertools 0.10.5", + "namada_core", + "namada_macros", + "namada_proof_of_stake", + "rand 0.8.5", + "serde", + "serde_json", + "tendermint", + "tendermint-proto", + "tendermint-rpc", + "tracing", +] [[package]] -name = "mach2" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +name = "namada_macros" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" dependencies = [ - "libc", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +name = "namada_proof_of_stake" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" dependencies = [ - "regex-automata 0.1.10", + "borsh 1.0.0-alpha.4", + "data-encoding", + "derivative", + "namada_core", + "once_cell", + "thiserror", + "tracing", ] [[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" +name = "namada_sdk" +version = "0.24.0" +source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +dependencies = [ + "async-trait", + "bimap", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "circular-queue", + "data-encoding", + "derivation-path", + "ethbridge-bridge-contract", + "ethers", + "fd-lock", + "futures", + "itertools 0.10.5", + "masp_primitives", + "masp_proofs", + "namada_core", + "namada_ethereum_bridge", + "namada_proof_of_stake", + "num256", + "orion", + "owo-colors", + "parse_duration", + "paste", + "prost 0.12.1", + "rand 0.8.5", + "rand_core 0.6.4", + "ripemd", + "serde", + "serde_json", + "sha2 0.9.9", + "slip10_ed25519", + "tendermint-rpc", + "thiserror", + "tiny-bip39 0.8.2", + "tiny-hderive", + "tokio", + "toml 0.5.11", + "tracing", + "wasmtimer", + "zeroize", +] [[package]] -name = "memchr" -version = "2.6.4" +name = "nonempty" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" [[package]] -name = "memoffset" -version = "0.9.0" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "autocfg", + "overload", + "winapi", ] [[package]] -name = "mime" -version = "0.3.17" +name = "num" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +dependencies = [ + "num-bigint 0.2.6", + "num-complex 0.2.4", + "num-integer", + "num-iter", + "num-rational 0.2.4", + "num-traits", +] [[package]] -name = "miniz_oxide" -version = "0.7.1" +name = "num" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ - "adler", + "num-bigint 0.4.4", + "num-complex 0.4.4", + "num-integer", + "num-iter", + "num-rational 0.4.1", + "num-traits", ] [[package]] -name = "mio" -version = "0.8.9" +name = "num-bigint" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "moka" -version = "0.12.1" +name = "num-bigint" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-epoch", - "crossbeam-utils 0.8.16", - "once_cell", - "parking_lot", - "quanta", - "rustc_version", - "skeptic", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid 1.5.0", + "autocfg", + "num-integer", + "num-traits", + "serde", ] [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "num-complex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "overload", - "winapi", + "autocfg", + "num-traits", ] [[package]] -name = "num-bigint" +name = "num-complex" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ - "autocfg", - "num-integer", "num-traits", - "serde", ] [[package]] @@ -1914,6 +4186,29 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.1" @@ -1921,7 +4216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.4.4", "num-integer", "num-traits", "serde", @@ -1934,6 +4229,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", + "libm", +] + +[[package]] +name = "num256" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9b5179e82f0867b23e0b9b822493821f9345561f271364f409c8e4a058367d" +dependencies = [ + "lazy_static", + "num 0.4.1", + "num-derive", + "num-traits", + "serde", + "serde_derive", ] [[package]] @@ -1946,6 +4256,39 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +dependencies = [ + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.38", +] + +[[package]] +name = "object" +version = "0.28.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" +dependencies = [ + "crc32fast", + "hashbrown 0.11.2", + "indexmap 1.9.3", + "memchr", +] + [[package]] name = "object" version = "0.32.1" @@ -1970,12 +4313,43 @@ dependencies = [ "eyre", ] +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + [[package]] name = "opaque-debug" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "openssl-probe" version = "0.1.5" @@ -2035,10 +4409,22 @@ dependencies = [ "once_cell", "opentelemetry_api", "percent-encoding", - "rand", + "rand 0.8.5", "thiserror", ] +[[package]] +name = "orion" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" +dependencies = [ + "ct-codecs", + "getrandom 0.2.10", + "subtle 2.4.1", + "zeroize", +] + [[package]] name = "os_str_bytes" version = "6.6.1" @@ -2057,6 +4443,47 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2075,16 +4502,70 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] [[package]] -name = "paste" -version = "1.0.14" +name = "parse_duration" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7037e5e93e0172a5a96874380bf73bc6ecef022e26fa25f2be26864d6b3ba95d" +dependencies = [ + "lazy_static", + "num 0.2.1", + "regex", +] + +[[package]] +name = "password-hash" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "ff", + "group", + "rand 0.8.5", + "static_assertions", + "subtle 2.4.1", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pbkdf2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" +dependencies = [ + "digest 0.10.7", + "password-hash", +] [[package]] name = "pbkdf2" @@ -2095,6 +4576,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] + [[package]] name = "peg" version = "0.7.0" @@ -2122,12 +4613,52 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + [[package]] name = "percent-encoding" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.0.2", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.0", +] + [[package]] name = "pin-project" version = "1.1.3" @@ -2145,7 +4676,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -2172,9 +4703,20 @@ dependencies = [ [[package]] name = "platforms" -version = "3.2.0" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" + +[[package]] +name = "poly1305" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash", +] [[package]] name = "powerfmt" @@ -2188,6 +4730,26 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.38", +] + [[package]] name = "primitive-types" version = "0.12.2" @@ -2195,10 +4757,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", + "impl-codec", + "impl-rlp", "impl-serde", + "scale-info", "uint", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.2", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2247,6 +4840,32 @@ dependencies = [ "thiserror", ] +[[package]] +name = "proptest" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" +dependencies = [ + "bitflags 2.4.1", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.7.5", + "unarray", +] + +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] + [[package]] name = "prost" version = "0.12.1" @@ -2254,7 +4873,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.12.1", +] + +[[package]] +name = "prost-build" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +dependencies = [ + "bytes", + "heck", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease 0.1.25", + "prost 0.11.9", + "prost-types 0.11.9", + "regex", + "syn 1.0.109", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -2267,7 +4921,16 @@ dependencies = [ "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", +] + +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost 0.11.9", ] [[package]] @@ -2276,7 +4939,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost", + "prost 0.12.1", ] [[package]] @@ -2285,6 +4948,26 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "pulldown-cmark" version = "0.9.3" @@ -2307,7 +4990,7 @@ dependencies = [ "mach2", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -2321,6 +5004,25 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -2328,8 +5030,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -2339,7 +5051,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", ] [[package]] @@ -2348,7 +5069,25 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.10", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", ] [[package]] @@ -2360,6 +5099,77 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "rayon" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +dependencies = [ + "autocfg", + "crossbeam-deque", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils 0.8.16", +] + +[[package]] +name = "reddsa" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78a5191930e84973293aa5f532b513404460cd2216c1cfb76d08748c15b40b02" +dependencies = [ + "blake2b_simd", + "byteorder", + "group", + "hex", + "jubjub", + "pasta_curves", + "rand_core 0.6.4", + "serde", + "thiserror", + "zeroize", +] + +[[package]] +name = "redjubjub" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a60db2c3bc9c6fd1e8631fee75abc008841d27144be744951d6b9b75f9b569c" +dependencies = [ + "rand_core 0.6.4", + "reddsa", + "serde", + "thiserror", + "zeroize", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -2371,15 +5181,26 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom", - "libredox", + "getrandom 0.2.10", + "redox_syscall 0.2.16", "thiserror", ] +[[package]] +name = "regalloc" +version = "0.0.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62446b1d3ebf980bdc68837700af1d77b37bc430e524bf95319c6eada2a4cc02" +dependencies = [ + "log", + "rustc-hash", + "smallvec", +] + [[package]] name = "regex" version = "1.10.2" @@ -2419,10 +5240,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] -name = "regex-syntax" -version = "0.8.2" +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "region" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" +dependencies = [ + "bitflags 1.3.2", + "libc", + "mach", + "winapi", +] + +[[package]] +name = "rend" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +dependencies = [ + "bytecheck", +] [[package]] name = "reqwest" @@ -2430,7 +5278,7 @@ version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.5", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -2477,22 +5325,23 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac", - "subtle", + "hmac 0.12.1", + "subtle 2.4.1", ] [[package]] name = "ring" -version = "0.17.5" +version = "0.16.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" dependencies = [ "cc", - "getrandom", "libc", + "once_cell", "spin", "untrusted", - "windows-sys 0.48.0", + "web-sys", + "winapi", ] [[package]] @@ -2504,6 +5353,56 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "rkyv" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +dependencies = [ + "bitvec", + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid 1.5.0", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2516,20 +5415,35 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.20", ] [[package]] name = "rustix" -version = "0.38.24" +version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ "bitflags 2.4.1", "errno", @@ -2540,9 +5454,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", @@ -2564,18 +5478,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.5", + "base64 0.21.4", ] [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ "ring", "untrusted", @@ -2593,6 +5507,15 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher 0.4.4", +] + [[package]] name = "same-file" version = "1.0.6" @@ -2602,6 +5525,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scale-info" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if 1.0.0", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "schannel" version = "0.1.22" @@ -2617,16 +5564,34 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", +] + [[package]] name = "sct" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ "ring", "untrusted", ] +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + [[package]] name = "sec1" version = "0.7.3" @@ -2635,9 +5600,10 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array", + "generic-array 0.14.7", "pkcs8", - "subtle", + "serdect", + "subtle 2.4.1", "zeroize", ] @@ -2648,7 +5614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ "bitcoin_hashes", - "rand", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -2695,6 +5661,15 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.20" @@ -2704,15 +5679,45 @@ dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.192" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-json-wasm" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c37d03f3b0f6b5f77c11af1e7c772de1c9af83e50bef7bb6069601900ba67b" +dependencies = [ + "serde", +] + [[package]] name = "serde_bytes" version = "0.11.12" @@ -2734,20 +5739,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.192" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ "itoa", "ryu", @@ -2766,20 +5771,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.17" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] @@ -2798,17 +5803,27 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.27" +version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.0.2", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "serial_test" version = "2.0.0" @@ -2831,7 +5846,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -2845,6 +5860,18 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2855,7 +5882,7 @@ dependencies = [ "cfg-if 1.0.0", "cpufeatures", "digest 0.9.0", - "opaque-debug", + "opaque-debug 0.3.0", ] [[package]] @@ -2913,6 +5940,12 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + [[package]] name = "signature" version = "2.1.0" @@ -2920,15 +5953,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ "digest 0.10.7", - "rand_core", + "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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "thiserror", + "time", +] + [[package]] name = "skeptic" version = "0.13.7" @@ -2936,7 +5987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" dependencies = [ "bytecount", - "cargo_metadata", + "cargo_metadata 0.14.2", "error-chain", "glob", "pulldown-cmark", @@ -2953,17 +6004,26 @@ dependencies = [ "autocfg", ] +[[package]] +name = "slip10_ed25519" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be0ff28bf14f9610a342169084e87a4f435ad798ec528dc7579a3678fa9dc9a" +dependencies = [ + "hmac-sha512", +] + [[package]] name = "smallvec" -version = "1.11.2" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" -version = "0.4.10" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -2971,19 +6031,30 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ "libc", "windows-sys 0.48.0", ] +[[package]] +name = "sparse-merkle-tree" +version = "0.3.1-pre" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=aed81070ce2c83a41e1c6bada757347f33ef8eb6#aed81070ce2c83a41e1c6bada757347f33ef8eb6" +dependencies = [ + "borsh 1.0.0-alpha.4", + "cfg-if 1.0.0", + "ics23", + "sha2 0.9.9", +] + [[package]] name = "spin" -version = "0.9.8" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" @@ -2995,6 +6066,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3026,14 +6103,33 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.39", + "syn 2.0.38", +] + +[[package]] +name = "subproductdomain" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", ] [[package]] name = "subtle" -version = "2.5.0" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subtle-encoding" @@ -3063,15 +6159,27 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.39" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "sync_wrapper" version = "0.1.2" @@ -3117,15 +6225,27 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" + [[package]] name = "tempfile" -version = "3.8.1" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall", + "redox_syscall 0.3.5", "rustix", "windows-sys 0.48.0", ] @@ -3138,23 +6258,23 @@ checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" dependencies = [ "bytes", "digest 0.10.7", - "ed25519", - "ed25519-consensus", + "ed25519 2.2.3", + "ed25519-consensus 2.1.0", "flex-error", "futures", "k256", "num-traits", "once_cell", - "prost", - "prost-types", + "prost 0.12.1", + "prost-types 0.12.1", "ripemd", "serde", "serde_bytes", "serde_json", "serde_repr", "sha2 0.10.8", - "signature", - "subtle", + "signature 2.1.0", + "subtle 2.4.1", "subtle-encoding", "tendermint-proto", "time", @@ -3247,8 +6367,8 @@ dependencies = [ "flex-error", "num-derive", "num-traits", - "prost", - "prost-types", + "prost 0.12.1", + "prost-types 0.12.1", "serde", "serde_bytes", "subtle-encoding", @@ -3266,15 +6386,15 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom", + "getrandom 0.2.10", "peg", "pin-project", "reqwest", - "semver", + "semver 1.0.20", "serde", "serde_bytes", "serde_json", - "subtle", + "subtle 2.4.1", "subtle-encoding", "tendermint", "tendermint-config", @@ -3294,7 +6414,7 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a19d4f02b7e38ce790da973fdc9edc71a0e35340ac57737bf278c8379037c1f5" dependencies = [ - "ed25519-consensus", + "ed25519-consensus 2.1.0", "gumdrop", "serde", "serde_json", @@ -3306,9 +6426,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.4.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] @@ -3321,7 +6441,7 @@ checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -3332,22 +6452,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -3367,6 +6487,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", + "itoa", "powerfmt", "serde", "time-core", @@ -3388,6 +6509,24 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "git+https://github.com/anoma/tiny-bip39.git?rev=bf0f6d8713589b83af7a917366ec31f5275c0e57#bf0f6d8713589b83af7a917366ec31f5275c0e57" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tiny-bip39" version = "1.0.0" @@ -3395,10 +6534,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac", + "hmac 0.12.1", "once_cell", - "pbkdf2", - "rand", + "pbkdf2 0.11.0", + "rand 0.8.5", "rustc-hash", "sha2 0.10.8", "thiserror", @@ -3407,6 +6546,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-hderive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" +dependencies = [ + "base58", + "hmac 0.7.1", + "libsecp256k1", + "memzero", + "sha2 0.8.2", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3433,9 +6585,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.34.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -3445,7 +6597,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -3462,13 +6614,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -3494,9 +6646,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -3524,14 +6676,14 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] @@ -3542,13 +6694,24 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.0.2", "serde", "serde_spanned", "toml_datetime", "winnow", ] +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.0.2", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" version = "0.10.2" @@ -3558,7 +6721,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.5", + "base64 0.21.4", "bytes", "h2", "http", @@ -3567,7 +6730,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost", + "prost 0.12.1", "rustls", "rustls-native-certs", "rustls-pemfile", @@ -3580,6 +6743,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "tonic-build" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +dependencies = [ + "prettyplease 0.1.25", + "proc-macro2", + "prost-build", + "quote", + "syn 1.0.109", +] + [[package]] name = "tower" version = "0.4.13" @@ -3591,7 +6767,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -3632,7 +6808,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] [[package]] @@ -3656,24 +6832,23 @@ dependencies = [ ] [[package]] -name = "tracing-log" -version = "0.1.4" +name = "tracing-futures" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "log", - "once_cell", - "tracing-core", + "pin-project", + "tracing", ] [[package]] name = "tracing-log" -version = "0.2.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ + "lazy_static", "log", - "once_cell", "tracing-core", ] @@ -3689,9 +6864,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -3704,7 +6879,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] @@ -3732,7 +6907,7 @@ dependencies = [ "http", "httparse", "log", - "rand", + "rand 0.8.5", "rustls", "sha1", "thiserror", @@ -3746,6 +6921,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + [[package]] name = "uint" version = "0.9.5" @@ -3758,6 +6939,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicase" version = "2.7.0" @@ -3800,6 +6987,16 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle 2.4.1", +] + [[package]] name = "unsafe-libyaml" version = "0.2.9" @@ -3808,9 +7005,9 @@ checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" [[package]] name = "untrusted" -version = "0.9.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" @@ -3846,6 +7043,10 @@ name = "uuid" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.10", + "serde", +] [[package]] name = "uuid" @@ -3853,7 +7054,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ - "getrandom", + "getrandom 0.2.10", ] [[package]] @@ -3896,6 +7097,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3904,9 +7111,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3914,24 +7121,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3941,9 +7148,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3951,28 +7158,345 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wasm-encoder" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53ae0be20bf87918df4fa831bfbbd0b491d24aee407ed86360eae4c2c5608d38" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-instrument" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" +dependencies = [ + "parity-wasm", +] + +[[package]] +name = "wasmer" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "indexmap 1.9.3", + "js-sys", + "loupe", + "more-asserts", + "target-lexicon", + "thiserror", + "wasm-bindgen", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-compiler-cranelift", + "wasmer-derive", + "wasmer-engine", + "wasmer-engine-dylib", + "wasmer-engine-universal", + "wasmer-types", + "wasmer-vm", + "wat", + "winapi", +] + +[[package]] +name = "wasmer-artifact" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enumset", + "loupe", + "thiserror", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-cache" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "blake3", + "hex", + "thiserror", + "wasmer", +] + +[[package]] +name = "wasmer-compiler" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enumset", + "loupe", + "rkyv", + "serde", + "serde_bytes", + "smallvec", + "target-lexicon", + "thiserror", + "wasmer-types", + "wasmparser 0.83.0", +] + +[[package]] +name = "wasmer-compiler-cranelift" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "gimli 0.26.2", + "loupe", + "more-asserts", + "rayon", + "smallvec", + "target-lexicon", + "tracing", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-compiler-singlepass" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "byteorder", + "dynasm", + "dynasmrt", + "gimli 0.26.2", + "lazy_static", + "loupe", + "more-asserts", + "rayon", + "smallvec", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-derive" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "wasmer-engine" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "enumset", + "lazy_static", + "loupe", + "memmap2", + "more-asserts", + "rustc-demangle", + "serde", + "serde_bytes", + "target-lexicon", + "thiserror", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-types", + "wasmer-vm", +] + +[[package]] +name = "wasmer-engine-dylib" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "enum-iterator", + "enumset", + "leb128", + "libloading", + "loupe", + "object 0.28.4", + "rkyv", + "serde", + "tempfile", + "tracing", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-engine", + "wasmer-object", + "wasmer-types", + "wasmer-vm", + "which", +] + +[[package]] +name = "wasmer-engine-universal" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "enumset", + "leb128", + "loupe", + "region", + "rkyv", + "wasmer-compiler", + "wasmer-engine", + "wasmer-engine-universal-artifact", + "wasmer-types", + "wasmer-vm", + "winapi", +] + +[[package]] +name = "wasmer-engine-universal-artifact" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enum-iterator", + "enumset", + "loupe", + "rkyv", + "thiserror", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-object" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "object 0.28.4", + "thiserror", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-types" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "enum-iterator", + "indexmap 1.9.3", + "loupe", + "more-asserts", + "rkyv", + "serde", + "thiserror", +] + +[[package]] +name = "wasmer-vm" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "cc", + "cfg-if 1.0.0", + "corosensei", + "enum-iterator", + "indexmap 1.9.3", + "lazy_static", + "libc", + "loupe", + "mach", + "memoffset 0.6.5", + "more-asserts", + "region", + "rkyv", + "scopeguard", + "serde", + "thiserror", + "wasmer-artifact", + "wasmer-types", + "winapi", +] + +[[package]] +name = "wasmparser" +version = "0.83.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a" + +[[package]] +name = "wasmparser" +version = "0.107.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" +dependencies = [ + "indexmap 1.9.3", + "semver 1.0.20", +] + +[[package]] +name = "wasmtimer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f656cd8858a5164932d8a90f936700860976ec21eb00e0fe2aa8cab13f6b4cf" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + +[[package]] +name = "wast" +version = "67.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c2933efd77ff2398b83817a98984ffe4b67aefd9aa1d2c8e68e19b553f1c38" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder", +] + +[[package]] +name = "wat" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "c02905d13751dcb18f4e19f489d37a1bf139f519feaeef28d072a41a78e69a74" +dependencies = [ + "wast", +] [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -3984,6 +7508,18 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + [[package]] name = "winapi" version = "0.3.9" @@ -4015,6 +7551,28 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" +dependencies = [ + "windows_aarch64_msvc 0.33.0", + "windows_i686_gnu 0.33.0", + "windows_i686_msvc 0.33.0", + "windows_x86_64_gnu 0.33.0", + "windows_x86_64_msvc 0.33.0", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -4075,6 +7633,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -4087,6 +7651,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_i686_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -4099,6 +7669,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -4111,6 +7687,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_x86_64_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -4135,6 +7717,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -4149,9 +7737,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] @@ -4166,11 +7754,48 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.0", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zcash_encoding" +version = "0.2.0" +source = "git+https://github.com/zcash/librustzcash?rev=bd7f9d7#bd7f9d7c3ce5cfd14af169ffe0e1c5c903162f46" +dependencies = [ + "byteorder", + "nonempty", +] + [[package]] name = "zeroize" -version = "1.6.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12a3946ecfc929b583800f4629b6c25b88ac6e92a40ea5670f77112a85d40a8b" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -4183,5 +7808,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.38", ] diff --git a/crates/relayer-cli/src/commands/keys/add.rs b/crates/relayer-cli/src/commands/keys/add.rs index b24514d00a..c63559834f 100644 --- a/crates/relayer-cli/src/commands/keys/add.rs +++ b/crates/relayer-cli/src/commands/keys/add.rs @@ -220,6 +220,9 @@ pub fn add_key( keyring.add_key(key_name, key_pair.clone())?; key_pair.into() } + ChainConfig::Namada(_) => { + return Err(eyre!("Namada key cannot be added")); + } }; Ok(key_pair) @@ -256,6 +259,9 @@ pub fn restore_key( keyring.add_key(key_name, key_pair.clone())?; key_pair.into() } + ChainConfig::Namada(_) => { + return Err(eyre!("Namada key cannot be restored")); + } }; Ok(key_pair) diff --git a/crates/relayer-cli/src/commands/keys/balance.rs b/crates/relayer-cli/src/commands/keys/balance.rs index b3c1edd90d..b3c9851bb9 100644 --- a/crates/relayer-cli/src/commands/keys/balance.rs +++ b/crates/relayer-cli/src/commands/keys/balance.rs @@ -77,7 +77,9 @@ fn get_balance(chain: impl ChainHandle, key_name: Option, denom: Option< let key_name = key_name.unwrap_or_else(|| { let chain_config = chain.config().unwrap_or_else(exit_with_unrecoverable_error); match chain_config { - ChainConfig::CosmosSdk(chain_config) => chain_config.key_name, + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.key_name + } } }); @@ -99,7 +101,9 @@ fn get_balances(chain: impl ChainHandle, key_name: Option) { let key_name = key_name.unwrap_or_else(|| { let chain_config = chain.config().unwrap_or_else(exit_with_unrecoverable_error); match chain_config { - ChainConfig::CosmosSdk(chain_config) => chain_config.key_name, + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.key_name + } } }); diff --git a/crates/relayer-cli/src/commands/keys/delete.rs b/crates/relayer-cli/src/commands/keys/delete.rs index fe25e8a056..b7be2e6258 100644 --- a/crates/relayer-cli/src/commands/keys/delete.rs +++ b/crates/relayer-cli/src/commands/keys/delete.rs @@ -123,6 +123,9 @@ pub fn delete_key(config: &ChainConfig, key_name: &str) -> eyre::Result<()> { )?; keyring.remove_key(key_name)?; } + ChainConfig::Namada(_) => { + return Err(eyre!("Namada key cannot be deleted")); + } } Ok(()) } @@ -141,6 +144,9 @@ pub fn delete_all_keys(config: &ChainConfig) -> eyre::Result<()> { keyring.remove_key(&key_name)?; } } + ChainConfig::Namada(_) => { + return Err(eyre!("Namada key cannot be deleted")); + } } Ok(()) } diff --git a/crates/relayer-cli/src/commands/listen.rs b/crates/relayer-cli/src/commands/listen.rs index 68bd5c22ad..581ff730fa 100644 --- a/crates/relayer-cli/src/commands/listen.rs +++ b/crates/relayer-cli/src/commands/listen.rs @@ -147,7 +147,7 @@ fn subscribe( // Q: Should this be restricted only to backends that support it, // or are all backends expected to support subscriptions? match chain_config { - ChainConfig::CosmosSdk(config) => { + ChainConfig::CosmosSdk(config) | ChainConfig::Namada(config) => { let (event_source, monitor_tx) = match &config.event_source { EventSourceMode::Push { url, batch_delay } => EventSource::websocket( chain_config.id().clone(), @@ -178,12 +178,12 @@ fn detect_compatibility_mode( ) -> eyre::Result { // TODO(erwan): move this to the cosmos sdk endpoint implementation let rpc_addr = match config { - ChainConfig::CosmosSdk(config) => config.rpc_addr.clone(), + ChainConfig::CosmosSdk(config) | ChainConfig::Namada(config) => config.rpc_addr.clone(), }; let client = HttpClient::new(rpc_addr)?; let status = rt.block_on(client.status())?; let compat_mode = match config { - ChainConfig::CosmosSdk(config) => { + ChainConfig::CosmosSdk(config) | ChainConfig::Namada(config) => { compat_mode_from_version(&config.compat_mode, status.node_info.version)?.into() } }; diff --git a/crates/relayer-cli/src/commands/tx/client.rs b/crates/relayer-cli/src/commands/tx/client.rs index 827d1c5cc1..9e67d277eb 100644 --- a/crates/relayer-cli/src/commands/tx/client.rs +++ b/crates/relayer-cli/src/commands/tx/client.rs @@ -206,7 +206,7 @@ impl Runnable for TxUpdateClientCmd { if let Some(restart_params) = self.genesis_restart_params() { match config.find_chain_mut(&reference_chain_id) { Some(chain_config) => match chain_config { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.genesis_restart = Some(restart_params) } }, diff --git a/crates/relayer-types/src/events.rs b/crates/relayer-types/src/events.rs index 068b0fbaca..075a85e368 100644 --- a/crates/relayer-types/src/events.rs +++ b/crates/relayer-types/src/events.rs @@ -246,7 +246,7 @@ impl FromStr for IbcEventType { } /// Events created by the IBC component of a chain, destined for a relayer. -#[derive(Debug, Clone, Serialize)] +#[derive(Debug, Clone, Serialize, PartialEq)] pub enum IbcEvent { NewBlock(NewBlock), diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 04e3832ad8..3e30aac2f6 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -24,6 +24,9 @@ ibc-proto = { version = "0.39.0", features = ["serde"] } ibc-telemetry = { version = "0.26.1", path = "../telemetry", optional = true } ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } +namada = { git = "https://github.com/anoma/namada", rev = "63f2e4be022ded03ce0639f4a2a20945c3719080" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "63f2e4be022ded03ce0639f4a2a20945c3719080", features = ["std", "async-client"] } + subtle-encoding = "0.5" humantime-serde = "1.1.1" serde = "1.0" diff --git a/crates/relayer/src/chain.rs b/crates/relayer/src/chain.rs index bcca34e85f..5e37f13926 100644 --- a/crates/relayer/src/chain.rs +++ b/crates/relayer/src/chain.rs @@ -3,6 +3,7 @@ pub mod cosmos; pub mod counterparty; pub mod endpoint; pub mod handle; +pub mod namada; pub mod requests; pub mod runtime; pub mod tracking; diff --git a/crates/relayer/src/chain/client.rs b/crates/relayer/src/chain/client.rs index 6f00ec8df9..54341c525d 100644 --- a/crates/relayer/src/chain/client.rs +++ b/crates/relayer/src/chain/client.rs @@ -27,9 +27,12 @@ impl ClientSettings { // // TODO: extract Tendermint-related configs into a separate substructure // that can be used both by CosmosSdkConfig and configs for nonSDK chains. - use ChainConfig::CosmosSdk as Csdk; + use ChainConfig::{CosmosSdk as Csdk, Namada}; match (src_chain_config, dst_chain_config) { - (Csdk(src_chain_config), Csdk(dst_chain_config)) => { + (Csdk(src_chain_config), Csdk(dst_chain_config)) + | (Namada(src_chain_config), Namada(dst_chain_config)) + | (Csdk(src_chain_config), Namada(dst_chain_config)) + | (Namada(src_chain_config), Csdk(dst_chain_config)) => { ClientSettings::Tendermint(cosmos::client::Settings::for_create_command( options, src_chain_config, diff --git a/crates/relayer/src/chain/cosmos/config.rs b/crates/relayer/src/chain/cosmos/config.rs index c1244d27bd..0335b11793 100644 --- a/crates/relayer/src/chain/cosmos/config.rs +++ b/crates/relayer/src/chain/cosmos/config.rs @@ -141,7 +141,7 @@ impl CosmosSdkConfig { /// a) non-zero /// b) greater or equal to 1/3 /// c) strictly less than 1 -fn validate_trust_threshold( +pub fn validate_trust_threshold( id: &ChainId, trust_threshold: TrustThreshold, ) -> Result<(), Diagnostic> { diff --git a/crates/relayer/src/chain/cosmos/wait.rs b/crates/relayer/src/chain/cosmos/wait.rs index 9ff26b2cce..06d2b3f3b6 100644 --- a/crates/relayer/src/chain/cosmos/wait.rs +++ b/crates/relayer/src/chain/cosmos/wait.rs @@ -117,7 +117,7 @@ async fn update_tx_sync_result( Ok(()) } -fn all_tx_results_found(tx_sync_results: &[TxSyncResult]) -> bool { +pub fn all_tx_results_found(tx_sync_results: &[TxSyncResult]) -> bool { tx_sync_results .iter() .all(|r| matches!(r.status, TxStatus::ReceivedResponse)) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs new file mode 100644 index 0000000000..7650e345a7 --- /dev/null +++ b/crates/relayer/src/chain/namada.rs @@ -0,0 +1,1249 @@ +use alloc::sync::Arc; +use core::str::FromStr; +use std::thread; + +use core::time::Duration; +use std::path::Path; + +use ibc_proto::ibc::applications::fee::v1::{ + QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse, +}; +use ibc_proto::Protobuf; +use ibc_relayer_types::applications::ics31_icq::response::CrossChainQueryResponse; +use ibc_relayer_types::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::clients::ics07_tendermint::header::Header as TmHeader; +use ibc_relayer_types::core::ics02_client::events::UpdateClient; +use ibc_relayer_types::core::ics03_connection::connection::{ + ConnectionEnd, IdentifiedConnectionEnd, +}; +use ibc_relayer_types::core::ics04_channel::channel::{ChannelEnd, IdentifiedChannelEnd}; +use ibc_relayer_types::core::ics04_channel::packet::Sequence; +use ibc_relayer_types::core::ics23_commitment::commitment::CommitmentPrefix; +use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; +use ibc_relayer_types::core::ics24_host::identifier::{ + ChainId, ChannelId, ClientId, ConnectionId, PortId, +}; +use ibc_relayer_types::core::ics24_host::path::{ + AcksPath, ChannelEndsPath, ClientConsensusStatePath, ClientStatePath, CommitmentsPath, + ConnectionsPath, ReceiptsPath, SeqRecvsPath, +}; +use ibc_relayer_types::events::IbcEvent; +use ibc_relayer_types::signer::Signer; +use ibc_relayer_types::Height as ICSHeight; +use namada::ledger::ibc::storage; +use namada::ledger::parameters::storage as param_storage; +use namada::ledger::parameters::EpochDuration; +use namada::ledger::storage::ics23_specs::ibc_proof_specs; +use namada::ledger::storage::Sha256Hasher; +use namada::proof_of_stake::parameters::PosParams; +use namada::proof_of_stake::storage as pos_storage; +use namada::types::address::{Address, InternalAddress}; +use namada::types::storage::{Key, KeySeg, PrefixValue}; +use namada::types::token; +use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::io::StdIo; +use namada_sdk::masp::fs::FsShieldedUtils; +use namada_sdk::masp::ShieldedContext; +use namada_sdk::queries::Client as SdkClient; +use namada_sdk::wallet::fs::FsWalletUtils; +use namada_sdk::wallet::Wallet; +use namada_sdk::{rpc, NamadaImpl}; +use tendermint::block::Height as TmHeight; +use tendermint::node; +use tendermint::Time; +use tendermint_light_client::types::LightBlock as TMLightBlock; +use tendermint_rpc::client::CompatMode; +use tendermint_rpc::endpoint::broadcast::tx_sync::Response; +use tendermint_rpc::{Client, HttpClient}; +use tokio::runtime::Runtime as TokioRuntime; + +use crate::account::Balance; +use crate::chain::client::ClientSettings; +use crate::chain::cosmos::config::CosmosSdkConfig; +use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; +use crate::chain::cosmos::version::Specs; +use crate::chain::handle::Subscription; +use crate::chain::requests::*; +use crate::chain::tracking::TrackedMsgs; +use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; +use crate::config::error::Error as ConfigError; +use crate::config::ChainConfig; +use crate::consensus_state::AnyConsensusState; +use crate::denom::DenomTrace; +use crate::error::Error; +use crate::event::source::{EventSource, TxEventSourceCmd}; +use crate::event::IbcEventWithHeight; +use crate::keyring::{KeyRing, Secp256k1KeyPair}; +use crate::light_client::tendermint::LightClient as TmLightClient; +use crate::light_client::LightClient; +use crate::light_client::Verified; +use crate::misbehaviour::MisbehaviourEvidence; + +use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; + +const BASE_WALLET_DIR: &str = "namada_wallet"; + +pub mod query; +pub mod tx; + +pub struct NamadaChain { + // Reuse CosmosSdkConfig for tendermint's light clients + config: CosmosSdkConfig, + rpc_client: HttpClient, + wallet: Wallet, + shielded_ctx: ShieldedContext, + native_token: Address, + light_client: TmLightClient, + rt: Arc, + keybase: KeyRing, + tx_monitor_cmd: Option, +} + +impl NamadaChain { + fn namada_ctx(&mut self) -> NamadaImpl<'_, HttpClient, FsWalletUtils, FsShieldedUtils, StdIo> { + NamadaImpl::native_new( + &self.rpc_client, + &mut self.wallet, + &mut self.shielded_ctx, + &StdIo, + self.native_token.clone(), + ) + } + + fn config(&self) -> &CosmosSdkConfig { + &self.config + } + + fn init_event_source(&mut self) -> Result { + crate::time!( + "init_event_source", + { + "src_chain": self.config().id.to_string(), + } + ); + + use crate::config::EventSourceMode as Mode; + let rpc_client = HttpClient::new(self.config.rpc_addr.clone()) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + + let (event_source, monitor_tx) = match &self.config.event_source { + Mode::Push { url, batch_delay } => EventSource::websocket( + self.config.id.clone(), + url.clone(), + CompatMode::V0_37, + *batch_delay, + self.rt.clone(), + ), + Mode::Pull { interval } => EventSource::rpc( + self.config.id.clone(), + rpc_client, + *interval, + self.rt.clone(), + ), + } + .map_err(Error::event_source)?; + + thread::spawn(move || event_source.run()); + + Ok(monitor_tx) + } + + fn get_unbonding_time(&self) -> Result { + let key = pos_storage::params_key(); + let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; + let pos_params = PosParams::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + + let key = param_storage::get_epoch_duration_storage_key(); + let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; + let epoch_duration = + EpochDuration::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let unbonding_period = pos_params.pipeline_len * epoch_duration.min_duration.0; + Ok(Duration::from_secs(unbonding_period)) + } + + fn get_latest_block_time(&self) -> Result { + let status = self + .rt + .block_on(SdkClient::status(&self.rpc_client)) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + Ok(status + .sync_info + .latest_block_time + .to_string() + .parse() + .unwrap()) + } +} + +impl ChainEndpoint for NamadaChain { + type LightBlock = TMLightBlock; + type Header = TmHeader; + type ConsensusState = TmConsensusState; + type ClientState = TmClientState; + type Time = Time; + type SigningKeyPair = Secp256k1KeyPair; + + fn id(&self) -> &ChainId { + &self.config.id + } + + fn config(&self) -> ChainConfig { + ChainConfig::CosmosSdk(self.config.clone()) + } + + fn bootstrap(config: ChainConfig, rt: Arc) -> Result { + #[allow(irrefutable_let_patterns)] + let ChainConfig::CosmosSdk(config) = config + else { + return Err(Error::config(ConfigError::wrong_type())); + }; + + let mut rpc_client = HttpClient::new(config.rpc_addr.clone()) + .map_err(|e| Error::rpc(config.rpc_addr.clone(), e))?; + rpc_client.set_compat_mode(CompatMode::V0_37); + + let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; + let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_info.id)?; + + // not used in Anoma, but the trait requires KeyRing + let keybase = KeyRing::new( + config.key_store_type, + "", + &config.id, + &config.key_store_folder, + ) + .map_err(Error::key_base)?; + + // check if the wallet has been set up for this relayer + let wallet_path = Path::new(BASE_WALLET_DIR).join(config.id.to_string()); + let mut wallet = FsWalletUtils::new(wallet_path); + wallet + .find_key(&config.key_name, None) + .map_err(Error::namada_key_pair_not_found)?; + + let shielded_ctx = ShieldedContext::::default(); + + let native_token = rt + .block_on(rpc::query_native_token(&rpc_client)) + .map_err(Error::namada_sdk)?; + + // overwrite the proof spec + let config = CosmosSdkConfig { + proof_specs: Some(ibc_proof_specs::().into()), + ..config + }; + + Ok(Self { + config, + rpc_client, + wallet, + shielded_ctx, + native_token, + light_client, + rt, + keybase, + tx_monitor_cmd: None, + }) + } + + fn shutdown(self) -> Result<(), Error> { + Ok(()) + } + + fn health_check(&mut self) -> Result { + self.rt + .block_on(SdkClient::health(&self.rpc_client)) + .map_err(|e| { + Error::health_check_json_rpc( + self.config.id.clone(), + self.config.rpc_addr.to_string(), + "/health".to_string(), + e, + ) + })?; + + // TODO Namada health check + + // TODO version check + + Ok(HealthCheck::Healthy) + } + + fn subscribe(&mut self) -> Result { + let tx_monitor_cmd = match &self.tx_monitor_cmd { + Some(tx_monitor_cmd) => tx_monitor_cmd, + None => { + let tx_monitor_cmd = self.init_event_source()?; + self.tx_monitor_cmd = Some(tx_monitor_cmd); + self.tx_monitor_cmd.as_ref().unwrap() + } + }; + + let subscription = tx_monitor_cmd.subscribe().map_err(Error::event_source)?; + Ok(subscription) + } + + fn keybase(&self) -> &KeyRing { + &self.keybase + } + + fn keybase_mut(&mut self) -> &mut KeyRing { + &mut self.keybase + } + + fn get_key(&mut self) -> Result { + // TODO add Namada key + use crate::keyring::errors::Error as KeyringError; + Err(Error::key_not_found( + self.config().key_name.clone(), + KeyringError::key_not_found(), + )) + } + + fn get_signer(&self) -> Result { + let address = self + .wallet + .find_address(&self.config.key_name) + .ok_or_else(|| Error::namada_address_not_found(self.config.key_name.clone()))?; + + Ok(Signer::from_str(&address.to_string()).unwrap()) + } + + fn version_specs(&self) -> Result { + unimplemented!() + } + + fn send_messages_and_wait_commit( + &mut self, + tracked_msgs: TrackedMsgs, + ) -> Result, Error> { + crate::time!("send_messages_and_wait_commit"); + + let proto_msgs = tracked_msgs.messages(); + if proto_msgs.is_empty() { + return Ok(vec![]); + } + let mut tx_sync_results = vec![]; + for msg in proto_msgs.iter() { + let response = self.send_tx(msg)?; + + // Note: we don't have any height information in this case. This hack will fix itself + // once we remove the `ChainError` event (which is not actually an event) + let height = ICSHeight::new(self.config.id.version(), 1).unwrap(); + let events_per_tx = vec![IbcEventWithHeight::new(IbcEvent::ChainError(format!( + "check_tx (broadcast_tx_sync) on chain {} for Tx hash {} reports error: code={:?}, log={:?}", + self.config.id, response.hash, response.code, response.log + )), height)]; + + tx_sync_results.push(TxSyncResult { + response, + events: events_per_tx, + status: TxStatus::Pending { message_count: 1 }, + }); + } + + self.wait_for_block_commits(&mut tx_sync_results)?; + + let events: Vec = tx_sync_results + .into_iter() + .flat_map(|el| el.events) + .collect(); + let mut dedup_events = vec![]; + for event in events { + if !dedup_events.contains(&event) { + dedup_events.push(event); + } + } + + Ok(dedup_events) + } + + fn send_messages_and_wait_check_tx( + &mut self, + tracked_msgs: TrackedMsgs, + ) -> Result, Error> { + crate::time!("send_messages_and_wait_check_tx"); + + let proto_msgs = tracked_msgs.messages(); + if proto_msgs.is_empty() { + return Ok(vec![]); + } + let mut responses = vec![]; + for msg in proto_msgs.iter() { + responses.push(self.send_tx(msg)?); + } + + Ok(responses) + } + + fn verify_header( + &mut self, + trusted: ICSHeight, + target: ICSHeight, + client_state: &AnyClientState, + ) -> Result { + crate::time!( + "verify_header", + { + "src_chain": self.config().id.to_string(), + } + ); + + let now = self.get_latest_block_time()?; + self.light_client + .verify(trusted, target, client_state, now) + .map(|v| v.target) + } + + fn check_misbehaviour( + &mut self, + update: &UpdateClient, + client_state: &AnyClientState, + ) -> Result, Error> { + crate::time!( + "check_misbehaviour", + { + "src_chain": self.config().id.to_string(), + } + ); + + let now = self.get_latest_block_time()?; + self.light_client + .detect_misbehaviour(update, client_state, now) + } + + fn query_balance(&self, key_name: Option<&str>, denom: Option<&str>) -> Result { + let key_name = key_name.unwrap_or(&self.config.key_name); + let denom = denom.unwrap_or("NAM"); + let token = match self.wallet.find_address(denom) { + Some(addr) => addr.clone(), + None => Address::decode(denom) + .map_err(|_| Error::namada_address_not_found(denom.to_string()))?, + }; + + let owner = self + .wallet + .find_address(key_name) + .ok_or_else(|| Error::namada_address_not_found(key_name.to_string()))?; + + let balance_key = token::balance_key(&token, owner); + let (value, _) = self.query(balance_key, QueryHeight::Latest, IncludeProof::No)?; + if value.is_empty() { + return Ok(Balance { + amount: "0".to_string(), + denom: denom.to_string(), + }); + } + let amount = token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let denom_key = token::denom_key(&token); + let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; + let denominated_amount = if value.is_empty() { + token::DenominatedAmount { + amount, + denom: 0.into(), + } + } else { + let token_denom = + token::Denomination::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + token::DenominatedAmount { + amount, + denom: token_denom, + } + }; + + Ok(Balance { + amount: denominated_amount.to_string(), + denom: denom.to_string(), + }) + } + + fn query_all_balances(&self, key_name: Option<&str>) -> Result, Error> { + let key_name = key_name.unwrap_or(&self.config.key_name); + let key_owner = self + .wallet + .find_address(key_name) + .ok_or_else(|| Error::namada_address_not_found(key_name.to_string()))?; + + let mut balances = vec![]; + let prefix = Key::from(Address::Internal(InternalAddress::Multitoken).to_db_key()); + for PrefixValue { key, value } in self.query_prefix(prefix)? { + if let Some([token, owner]) = token::is_any_token_balance_key(&key) { + if key_owner == owner { + let amount = + token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let denom_key = token::denom_key(token); + let (value, _) = + self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; + let denominated_amount = if value.is_empty() { + token::DenominatedAmount { + amount, + denom: 0.into(), + } + } else { + let namada_denom = token::Denomination::try_from_slice(&value[..]) + .map_err(Error::borsh_decode)?; + token::DenominatedAmount { + amount, + denom: namada_denom, + } + }; + let alias = self + .wallet + .find_alias(token) + .map(|a| a.to_string()) + .unwrap_or(token.to_string()); + let balance = Balance { + amount: denominated_amount.to_string(), + denom: alias, + }; + balances.push(balance); + } + } + } + Ok(balances) + } + + // Query the denom trace with "{IbcToken}" address which has a hashed denom. + fn query_denom_trace(&self, hash: String) -> Result { + let denom = self.query_denom(hash)?; + match denom.rsplit_once('/') { + Some((path, base_denom)) => Ok(DenomTrace { + path: path.to_string(), + base_denom: base_denom.to_string(), + }), + None => Err(Error::query(format!( + "The denom is not a PrefixedDenom: denom {}", + denom + ))), + } + } + + fn query_commitment_prefix(&self) -> Result { + crate::time!( + "query_commitment_prefix", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_commitment_prefix"); + + CommitmentPrefix::try_from(b"ibc".to_vec()).map_err(Error::ics23) + } + + fn query_application_status(&self) -> Result { + crate::time!( + "query_application_status", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_application_status"); + + let status = self + .rt + .block_on(SdkClient::status(&self.rpc_client)) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + + if status.sync_info.catching_up { + return Err(Error::chain_not_caught_up( + self.config.rpc_addr.to_string(), + self.config().id.clone(), + )); + } + + let time = self.get_latest_block_time()?; + let height = ICSHeight::new( + ChainId::chain_version(status.node_info.network.as_str()), + u64::from(status.sync_info.latest_block_height), + ) + .map_err(Error::ics02)?; + + Ok(ChainStatus { + height, + timestamp: time.into(), + }) + } + + fn query_clients( + &self, + _request: QueryClientStatesRequest, + ) -> Result, Error> { + crate::time!( + "query_clients", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_clients"); + + let prefix = storage::ibc_key("clients").expect("the path should be parsable"); + let mut states = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value } = prefix_value; + if key.to_string().ends_with("clientState") { + let client_id = + storage::client_id(&key).map_err(|e| Error::query(e.to_string()))?; + let client_id = ClientId::from_str(&client_id.to_string()).unwrap(); + let client_state = AnyClientState::decode_vec(&value).map_err(Error::decode)?; + states.push(IdentifiedAnyClientState::new(client_id, client_state)); + } + } + + Ok(states) + } + + fn query_client_state( + &self, + request: QueryClientStateRequest, + include_proof: IncludeProof, + ) -> Result<(AnyClientState, Option), Error> { + crate::time!( + "query_client_state", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_client_state"); + + let path = ClientStatePath(request.client_id); + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, request.height, include_proof)?; + let client_state = AnyClientState::decode_vec(&value).map_err(Error::decode)?; + + Ok((client_state, proof)) + } + + fn query_consensus_state( + &self, + request: QueryConsensusStateRequest, + include_proof: IncludeProof, + ) -> Result<(AnyConsensusState, Option), Error> { + crate::time!( + "query_consensus_state", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_consensus_state"); + + let path = ClientConsensusStatePath { + client_id: request.client_id, + epoch: request.consensus_height.revision_number(), + height: request.consensus_height.revision_height(), + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, request.query_height, include_proof)?; + let consensus_state = AnyConsensusState::decode_vec(&value).map_err(Error::decode)?; + Ok((consensus_state, proof)) + } + + fn query_consensus_state_heights( + &self, + request: QueryConsensusStateHeightsRequest, + ) -> Result, Error> { + let prefix = storage::ibc_key(format!("clients/{}", request.client_id)) + .expect("the path should be parsable"); + let mut heights = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value: _ } = prefix_value; + match storage::consensus_height(&key) { + Ok(h) => { + let height = ICSHeight::new(h.revision_number(), h.revision_height()).unwrap(); + heights.push(height); + } + // the key is not for a consensus state + Err(_) => continue, + } + } + Ok(heights) + } + + fn query_upgraded_client_state( + &self, + _request: QueryUpgradedClientStateRequest, + ) -> Result<(AnyClientState, MerkleProof), Error> { + crate::time!( + "query_upgraded_client_state", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_upgraded_client_state"); + + unimplemented!() + } + + fn query_upgraded_consensus_state( + &self, + _request: QueryUpgradedConsensusStateRequest, + ) -> Result<(AnyConsensusState, MerkleProof), Error> { + crate::time!( + "query_upgraded_consensus_state", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_upgraded_consensus_state"); + + unimplemented!() + } + + fn query_connections( + &self, + _request: QueryConnectionsRequest, + ) -> Result, Error> { + crate::time!( + "query_connections", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_connections"); + + let prefix = storage::ibc_key("connections").expect("the path should be parsable"); + let mut connections = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value } = prefix_value; + // "connections/counter" should be skipped + if key == storage::connection_counter_key() { + continue; + } + let conn_id = storage::connection_id(&key).map_err(|e| Error::query(e.to_string()))?; + let connection_id = conn_id + .as_str() + .parse() + .expect("The connection ID should be parsable"); + let connection = ConnectionEnd::decode_vec(&value).map_err(Error::decode)?; + connections.push(IdentifiedConnectionEnd::new(connection_id, connection)); + } + + Ok(connections) + } + + fn query_client_connections( + &self, + request: QueryClientConnectionsRequest, + ) -> Result, Error> { + crate::time!( + "query_client_connections", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_client_connections"); + + let query_request = QueryConnectionsRequest { pagination: None }; + let connections = self.query_connections(query_request)?; + let ids = connections + .iter() + .filter(|c| *c.connection_end.client_id() == request.client_id) + .map(|c| c.connection_id.clone()) + .collect(); + Ok(ids) + } + + fn query_connection( + &self, + request: QueryConnectionRequest, + include_proof: IncludeProof, + ) -> Result<(ConnectionEnd, Option), Error> { + crate::time!( + "query_connection", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_connection"); + + let path = ConnectionsPath(request.connection_id); + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, request.height, include_proof)?; + let connection_end = ConnectionEnd::decode_vec(&value).map_err(Error::decode)?; + Ok((connection_end, proof)) + } + + fn query_connection_channels( + &self, + request: QueryConnectionChannelsRequest, + ) -> Result, Error> { + crate::time!( + "query_connection_channels", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_connection_channels"); + + let hops = vec![request.connection_id]; + let query_request = QueryChannelsRequest { pagination: None }; + let channels = self + .query_channels(query_request)? + .into_iter() + .filter(|c| c.channel_end.connection_hops_matches(&hops)) + .collect(); + + Ok(channels) + } + + fn query_channels( + &self, + _request: QueryChannelsRequest, + ) -> Result, Error> { + crate::time!( + "query_channels", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_channels"); + + let prefix = storage::ibc_key("channelEnds").expect("the path should be parsable"); + let mut channels = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value } = prefix_value; + // "channelEnds/counter" should be skipped + if key == storage::channel_counter_key() { + continue; + } + let (port_id, channel_id) = + storage::port_channel_id(&key).map_err(|e| Error::query(e.to_string()))?; + let port_id = port_id.as_ref().parse().unwrap(); + let channel_id = channel_id.as_ref().parse().unwrap(); + let channel = ChannelEnd::decode_vec(&value).map_err(Error::decode)?; + channels.push(IdentifiedChannelEnd::new(port_id, channel_id, channel)) + } + + Ok(channels) + } + + fn query_channel( + &self, + request: QueryChannelRequest, + include_proof: IncludeProof, + ) -> Result<(ChannelEnd, Option), Error> { + crate::time!( + "query_channel", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_channel"); + + let path = ChannelEndsPath(request.port_id, request.channel_id); + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, request.height, include_proof)?; + let channel_end = ChannelEnd::decode_vec(&value).map_err(Error::decode)?; + Ok((channel_end, proof)) + } + + fn query_channel_client_state( + &self, + request: QueryChannelClientStateRequest, + ) -> Result, Error> { + crate::time!( + "query_channel_client_state", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_channel_client_state"); + + let request = QueryChannelRequest { + port_id: request.port_id, + channel_id: request.channel_id, + height: QueryHeight::Latest, + }; + let (channel_end, _) = self.query_channel(request, IncludeProof::No)?; + let connection_id = channel_end + .connection_hops() + .get(0) + .ok_or_else(|| Error::query("no connection ID in the channel end".to_string()))? + .clone(); + let request = QueryConnectionRequest { + connection_id, + height: QueryHeight::Latest, + }; + let (connection_end, _) = self.query_connection(request, IncludeProof::No)?; + let client_id = connection_end.client_id().clone(); + let request = QueryClientStateRequest { + client_id: client_id.clone(), + height: QueryHeight::Latest, + }; + let (client_state, _) = self.query_client_state(request, IncludeProof::No)?; + + Ok(Some(IdentifiedAnyClientState { + client_id, + client_state, + })) + } + + fn query_packet_commitment( + &self, + request: QueryPacketCommitmentRequest, + include_proof: IncludeProof, + ) -> Result<(Vec, Option), Error> { + let path = CommitmentsPath { + port_id: request.port_id, + channel_id: request.channel_id, + sequence: request.sequence, + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + self.query(key, request.height, include_proof) + } + + fn query_packet_commitments( + &self, + request: QueryPacketCommitmentsRequest, + ) -> Result<(Vec, ICSHeight), Error> { + crate::time!( + "query_packet_commitments", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_packet_commitments"); + + let path = format!( + "commitments/ports/{}/channels/{}/sequences", + request.port_id, request.channel_id + ); + let prefix = storage::ibc_key(path).expect("the path should be parsable"); + let mut sequences = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value: _ } = prefix_value; + let (_, _, sequence) = + storage::port_channel_sequence_id(&key).map_err(|e| Error::query(e.to_string()))?; + let sequence = u64::from(sequence).into(); + sequences.push(sequence); + } + + // NOTE the height might be mismatched with the previous query + let status = self.query_application_status()?; + + Ok((sequences, status.height)) + } + + fn query_packet_receipt( + &self, + request: QueryPacketReceiptRequest, + include_proof: IncludeProof, + ) -> Result<(Vec, Option), Error> { + let path = ReceiptsPath { + port_id: request.port_id, + channel_id: request.channel_id, + sequence: request.sequence, + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + self.query(key, request.height, include_proof) + } + + fn query_unreceived_packets( + &self, + request: QueryUnreceivedPacketsRequest, + ) -> Result, Error> { + crate::time!( + "query_unreceived_packets", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_unreceived_packets"); + + let path = format!( + "receipts/ports/{}/channels/{}/sequences", + request.port_id, request.channel_id + ); + let prefix = storage::ibc_key(path).expect("the path should be parsable"); + let mut received_seqs = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let (_, _, sequence) = storage::port_channel_sequence_id(&prefix_value.key) + .map_err(|e| Error::query(e.to_string()))?; + let sequence = u64::from(sequence).into(); + received_seqs.push(sequence) + } + + let unreceived_seqs = request + .packet_commitment_sequences + .into_iter() + .filter(|seq| !received_seqs.contains(seq)) + .collect(); + + Ok(unreceived_seqs) + } + + fn query_packet_acknowledgement( + &self, + request: QueryPacketAcknowledgementRequest, + include_proof: IncludeProof, + ) -> Result<(Vec, Option), Error> { + let path = AcksPath { + port_id: request.port_id, + channel_id: request.channel_id, + sequence: request.sequence, + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + self.query(key, request.height, include_proof) + } + + fn query_packet_acknowledgements( + &self, + request: QueryPacketAcknowledgementsRequest, + ) -> Result<(Vec, ICSHeight), Error> { + crate::time!( + "query_packet_acknowledgements", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_packet_acknowledgements"); + + let path = format!( + "acks/ports/{}/channels/{}/sequences", + request.port_id, request.channel_id + ); + let prefix = storage::ibc_key(path).expect("the path should be parsable"); + let mut sequences = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value: _ } = prefix_value; + let (_, _, sequence) = + storage::port_channel_sequence_id(&key).map_err(|e| Error::query(e.to_string()))?; + let sequence = u64::from(sequence).into(); + if request.packet_commitment_sequences.contains(&sequence) { + sequences.push(sequence); + } + } + + // NOTE the height might be mismatched with the previous query + let status = self.query_application_status()?; + Ok((sequences, status.height)) + } + + fn query_unreceived_acknowledgements( + &self, + request: QueryUnreceivedAcksRequest, + ) -> Result, Error> { + crate::time!( + "query_unreceived_acknowledgements", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_unreceived_acknowledgements"); + + let path = format!( + "commitments/ports/{}/channels/{}/sequences", + request.port_id, request.channel_id + ); + let prefix = storage::ibc_key(path).expect("the path should be parsable"); + let mut unreceived_seqs = vec![]; + for prefix_value in self.query_prefix(prefix)? { + let PrefixValue { key, value: _ } = prefix_value; + let (_, _, sequence) = + storage::port_channel_sequence_id(&key).map_err(|e| Error::query(e.to_string()))?; + let sequence = u64::from(sequence).into(); + if request.packet_ack_sequences.contains(&sequence) { + unreceived_seqs.push(sequence); + } + } + Ok(unreceived_seqs) + } + + fn query_next_sequence_receive( + &self, + request: QueryNextSequenceReceiveRequest, + include_proof: IncludeProof, + ) -> Result<(Sequence, Option), Error> { + crate::time!( + "query_next_sequence_receive", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_next_sequence_receive"); + + let path = SeqRecvsPath(request.port_id, request.channel_id); + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, request.height, include_proof)?; + + // As ibc-go, the sequence index is encoded with big-endian + let index: [u8; 8] = value + .try_into() + .map_err(|_| Error::query("Encoding u64 failed".to_owned()))?; + let sequence = u64::from_be_bytes(index).into(); + + Ok((sequence, proof)) + } + + fn query_txs(&self, request: QueryTxRequest) -> Result, Error> { + crate::time!("query_txs", + { + "src_chain": self.config().id.to_string(), + }); + crate::telemetry!(query, self.id(), "query_txs"); + + match request { + QueryTxRequest::Client(request) => { + crate::time!("query_txs: single client update event"); + match self.query_update_event(&request)? { + Some(event) => Ok(vec![event]), + None => Ok(vec![]), + } + } + QueryTxRequest::Transaction(tx) => self.query_tx_events(&tx.0.to_string()), + } + } + + fn query_packet_events( + &self, + request: QueryPacketEventDataRequest, + ) -> Result, Error> { + crate::time!( + "query_packet_events", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_packet_events"); + self.query_packet_events_from_block(&request) + } + + fn query_host_consensus_state( + &self, + request: QueryHostConsensusStateRequest, + ) -> Result { + let height = match request.height { + QueryHeight::Latest => TmHeight::from(0u32), + QueryHeight::Specific(ibc_height) => { + TmHeight::try_from(ibc_height.revision_height()).map_err(Error::invalid_height)? + } + }; + + let rpc_call = match height.value() { + 0 => SdkClient::latest_block(&self.rpc_client), + _ => SdkClient::block(&self.rpc_client, height), + }; + let response = self + .rt + .block_on(rpc_call) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + Ok(Self::ConsensusState::from(response.block.header)) + } + + fn build_client_state( + &self, + height: ICSHeight, + settings: ClientSettings, + ) -> Result { + let ClientSettings::Tendermint(settings) = settings; + let unbonding_period = self.get_unbonding_time()?; + let trusting_period = settings.trusting_period.unwrap_or_else(|| { + self.config + .trusting_period + .unwrap_or(2 * unbonding_period / 3) + }); + TmClientState::new( + self.id().clone(), + settings.trust_threshold, + trusting_period, + unbonding_period, + settings.max_clock_drift, + height, + self.config.proof_specs.clone().unwrap(), + vec![], + AllowUpdate { + after_expiry: true, + after_misbehaviour: true, + }, + ) + .map_err(Error::ics07) + } + + fn build_consensus_state( + &self, + light_block: Self::LightBlock, + ) -> Result { + crate::time!( + "build_consensus_state", + { + "src_chain": self.config().id.to_string(), + } + ); + + Ok(TmConsensusState::from(light_block.signed_header.header)) + } + + fn build_header( + &mut self, + trusted_height: ICSHeight, + target_height: ICSHeight, + client_state: &AnyClientState, + ) -> Result<(Self::Header, Vec), Error> { + crate::time!( + "build_header", + { + "src_chain": self.config().id.to_string(), + } + ); + + let now = self.get_latest_block_time()?; + // Get the light block at target_height from chain. + let Verified { target, supporting } = self.light_client.header_and_minimal_set( + trusted_height, + target_height, + client_state, + now, + )?; + + Ok((target, supporting)) + } + + fn maybe_register_counterparty_payee( + &mut self, + _channel_id: &ChannelId, + _port_id: &PortId, + _counterparty_payee: &Signer, + ) -> Result<(), Error> { + // not supported + unimplemented!() + } + + fn cross_chain_query( + &self, + _requests: Vec, + ) -> Result, Error> { + // not supported + unimplemented!() + } + + fn query_incentivized_packet( + &self, + _request: QueryIncentivizedPacketRequest, + ) -> Result { + // not supported + unimplemented!() + } + + fn query_consumer_chains(&self) -> Result, Error> { + // not supported + unimplemented!() + } +} + +/// Initialize the light client +async fn fetch_node_info( + rpc_client: &HttpClient, + config: &CosmosSdkConfig, +) -> Result { + crate::time!("fetch_node_info", + { + "src_chain": config.id.to_string(), + }); + + Client::status(rpc_client) + .await + .map(|s| s.node_info) + .map_err(|e| Error::rpc(config.rpc_addr.clone(), e)) +} diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs new file mode 100644 index 0000000000..7a0c6ea21d --- /dev/null +++ b/crates/relayer/src/chain/namada/query.rs @@ -0,0 +1,275 @@ +use ibc_relayer_types::core::ics04_channel::packet::Sequence; +use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_proof; +use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; +use ibc_relayer_types::events::IbcEvent; +use ibc_relayer_types::Height as ICSHeight; +use namada::ledger::ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; +use namada::types::address::{Address, InternalAddress}; +use namada::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; +use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::queries::Client as SdkClient; +use namada_sdk::queries::RPC; +use namada_sdk::rpc; +use tendermint::block::Height as TmHeight; + +use crate::chain::requests::{QueryClientEventRequest, QueryHeight, QueryPacketEventDataRequest}; +use crate::error::Error; +use crate::event::{ibc_event_try_from_abci_event, IbcEventWithHeight}; + +use super::NamadaChain; +use crate::chain::endpoint::ChainEndpoint; +use crate::chain::requests::IncludeProof; + +impl NamadaChain { + pub fn query( + &self, + key: Key, + height: QueryHeight, + include_proof: IncludeProof, + ) -> Result<(Vec, Option), Error> { + let height = match height { + QueryHeight::Latest => None, + QueryHeight::Specific(h) => Some(BlockHeight(h.revision_height())), + }; + let is_proven = matches!(include_proof, IncludeProof::Yes); + let (value, proof) = self + .rt + .block_on(rpc::query_storage_value_bytes( + &self.rpc_client, + &key, + height, + is_proven, + )) + .map_err(Error::namada_sdk)?; + + let proof = if is_proven { + let proof_ops = proof.ok_or_else(Error::empty_response_proof)?; + let proof = convert_tm_to_ics_merkle_proof(&proof_ops).map_err(Error::ics23)?; + Some(proof) + } else { + None + }; + // return an empty data for non-existence proof + Ok((value.unwrap_or_default(), proof)) + } + + pub fn query_prefix(&self, prefix: Key) -> Result, Error> { + let response = self + .rt + .block_on( + // We can't use rpc::query_storage_prefix` because we need byte data + RPC.shell() + .storage_prefix(&self.rpc_client, None, None, false, &prefix), + ) + .map_err(Error::namada_query)?; + Ok(response.data) + } + + pub fn query_epoch(&self) -> Result { + self.rt + .block_on(rpc::query_epoch(&self.rpc_client)) + .map_err(Error::namada_sdk) + } + + pub fn query_update_event( + &self, + request: &QueryClientEventRequest, + ) -> Result, Error> { + let height = BlockHeight(request.consensus_height.revision_height()); + let event = self + .rt + .block_on(RPC.shell().ibc_client_update( + &self.rpc_client, + &request.client_id.as_str().parse().unwrap(), + &height, + )) + .map_err(Error::namada_query)?; + match event { + Some(event) => { + let h = event + .get("height") + .expect("No height in the Namada event") + .parse() + .map_err(|_| Error::invalid_height_no_source())?; + let height = ICSHeight::new(self.config.id.version(), h) + .map_err(|_| Error::invalid_height_no_source())?; + let pb_abci_event = tendermint_proto::v0_37::abci::Event::from(event); + let abci_event = pb_abci_event.try_into().map_err(|_| { + Error::query("Conversion from proto AbciEvent to AbciEvent failed".to_string()) + })?; + match ibc_event_try_from_abci_event(&abci_event) { + Ok(event) => Ok(Some(IbcEventWithHeight { event, height })), + // non IBC event + Err(_) => Ok(None), + } + } + None => Ok(None), + } + } + + /// Get all IBC events when the tx has been applied + pub fn query_tx_events(&self, tx_hash: &str) -> Result, Error> { + match self + .rt + .block_on(RPC.shell().applied( + &self.rpc_client, + &tx_hash.try_into().expect("Invalid tx hash"), + )) + .map_err(Error::namada_query)? + { + Some(applied) => { + let h = applied + .get("height") + .expect("No height in the Namada Applied event") + .parse() + .map_err(|_| Error::invalid_height_no_source())?; + let height = ICSHeight::new(self.config.id.version(), h) + .map_err(|_| Error::invalid_height_no_source())?; + // Check if the tx is valid + let code = applied.get("code").expect("The code should exist"); + if code != "0" { + return Ok(vec![IbcEventWithHeight::new( + IbcEvent::ChainError(format!( + "The transaction was invalid: Event {:?}", + applied, + )), + height, + )]); + } + self.query_events(height) + } + None => Ok(vec![]), + } + } + + /// Get IBC packet events + pub fn query_packet_events_from_block( + &self, + request: &QueryPacketEventDataRequest, + ) -> Result, Error> { + let mut block_events = vec![]; + for seq in &request.sequences { + if let Some(response_height) = self.query_packet_height(request, *seq)? { + if let QueryHeight::Specific(query_height) = request.height.get() { + if response_height > query_height { + continue; + } + } + let events = self.query_events(response_height)?; + let mut packet_events = events + .into_iter() + .filter(|e| { + let packet = match &e.event { + IbcEvent::SendPacket(send_event) => &send_event.packet, + IbcEvent::WriteAcknowledgement(write_ack_event) => { + &write_ack_event.packet + } + _ => return false, + }; + !block_events.contains(e) + && packet.source_port == request.source_port_id + && packet.source_channel == request.source_channel_id + && packet.destination_port == request.destination_port_id + && packet.destination_channel == request.destination_channel_id + && packet.sequence == *seq + }) + .collect(); + block_events.append(&mut packet_events); + } + } + Ok(block_events) + } + + /// Get the height at which the packet event has been emitted + fn query_packet_height( + &self, + request: &QueryPacketEventDataRequest, + sequence: Sequence, + ) -> Result, Error> { + match self + .rt + .block_on( + RPC.shell().ibc_packet( + &self.rpc_client, + &request + .event_id + .as_str() + .parse() + .expect("invalid event type"), + &request.source_port_id.as_str().parse().unwrap(), + &request.source_channel_id.as_str().parse().unwrap(), + &request.destination_port_id.as_str().parse().unwrap(), + &request.destination_channel_id.as_str().parse().unwrap(), + &namada::ibc::core::ics04_channel::packet::Sequence::from(u64::from(sequence)), + ), + ) + .map_err(Error::namada_query)? + { + Some(event) => { + let h = event + .get("height") + .expect("No height in the Namada Applied event") + .parse() + .map_err(|_| Error::invalid_height_no_source())?; + let height = ICSHeight::new(self.config.id.version(), h) + .map_err(|_| Error::invalid_height_no_source())?; + Ok(Some(height)) + } + None => Ok(None), + } + } + + /// Get IBC events at the given height + fn query_events(&self, height: ICSHeight) -> Result, Error> { + crate::time!( + "query_blocks: query block packet events", + { + "src_chain": self.config().id.to_string(), + } + ); + crate::telemetry!(query, self.id(), "query_block"); + + let tm_height = TmHeight::try_from(height.revision_height()) + .map_err(|_| Error::invalid_height_no_source())?; + let response = self + .rt + .block_on(SdkClient::block_results(&self.rpc_client, tm_height)) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + + let events = response + .end_block_events + .ok_or_else(|| Error::query("No transaction result was found".to_string()))?; + let mut ibc_events = vec![]; + for event in &events { + if let Ok(ibc_event) = ibc_event_try_from_abci_event(event) { + ibc_events.push(IbcEventWithHeight::new(ibc_event, height)) + } + } + Ok(ibc_events) + } + + /// Get IBC denom + pub fn query_denom(&self, raw_addr: String) -> Result { + let token = Address::decode(&raw_addr) + .map_err(|_| Error::namada_address_not_found(raw_addr.to_string()))?; + let hash = match &token { + Address::Internal(InternalAddress::IbcToken(hash)) => hash, + _ => return Err(Error::namada_address_not_found(token.to_string())), + }; + + let prefix = ibc_denom_key_prefix(None); + let pairs = self.query_prefix(prefix)?; + let pair = pairs + .iter() + .find(|PrefixValue { key, value: _ }| { + if let Some((_, token_hash)) = is_ibc_denom_key(key) { + token_hash == *hash + } else { + false + } + }) + .ok_or(Error::namada_address_not_found(token.to_string()))?; + + String::try_from_slice(&pair.value).map_err(Error::borsh_decode) + } +} diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs new file mode 100644 index 0000000000..6c8eef27d5 --- /dev/null +++ b/crates/relayer/src/chain/namada/tx.rs @@ -0,0 +1,186 @@ +use core::str::FromStr; +use core::time::Duration; +use std::path::PathBuf; +use std::thread; +use std::time::Instant; + +use ibc_proto::google::protobuf::Any; +use namada::ledger::parameters::storage as parameter_storage; +use namada::types::address::{Address, ImplicitAddress}; +use namada::types::chain::ChainId; +use namada::types::key::RefTo; +use namada::types::transaction::GasLimit; +use namada_sdk::args::{Tx as TxArgs, TxCustom}; +use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::{tx, Namada}; +use tendermint_rpc::endpoint::broadcast::tx_sync::Response; + +use crate::chain::cosmos; +use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; +use crate::chain::endpoint::ChainEndpoint; +use crate::chain::requests::{IncludeProof, QueryHeight, QueryTxHash, QueryTxRequest}; +use crate::error::Error; + +use super::NamadaChain; + +const WAIT_BACKOFF: Duration = Duration::from_millis(300); + +impl NamadaChain { + pub fn send_tx(&mut self, proto_msg: &Any) -> Result { + let mut tx_data = vec![]; + prost::Message::encode(proto_msg, &mut tx_data) + .map_err(|e| Error::protobuf_encode(String::from("Message"), e))?; + + let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); + + let fee_token = self.config.gas_price.denom.clone(); + let fee_token = self + .wallet + .find_address(&fee_token) + .ok_or_else(|| Error::namada_address_not_found(fee_token))? + .clone(); + + // fee + let gas_limit_key = parameter_storage::get_fee_unshielding_gas_limit_key(); + let (value, _) = self.query(gas_limit_key, QueryHeight::Latest, IncludeProof::No)?; + let gas_limit = GasLimit::try_from_slice(&value).map_err(Error::borsh_decode)?; + + // the wallet should exist because it's confirmed when the bootstrap + let relayer_key_pair = self + .wallet + .find_key(&self.config.key_name, None) + .expect("The relayer key should exist in the wallet"); + + let relayer_addr = self + .wallet + .find_address(&self.config.key_name) + .expect("The relayer doesn't exist in the wallet") + .clone(); + + let tx_args = TxArgs { + dry_run: false, + dry_run_wrapper: false, + dump_tx: false, + force: false, + output_folder: None, + broadcast_only: true, + ledger_address: (), + initialized_account_alias: None, + wallet_alias_force: false, + wrapper_fee_payer: Some(relayer_key_pair.clone()), + fee_amount: None, + fee_token, + fee_unshield: None, + gas_limit, + expiration: None, + disposable_signing_key: false, + chain_id: Some(chain_id), + signing_keys: vec![relayer_key_pair], + signatures: vec![], + tx_reveal_code_path: PathBuf::from(tx::TX_REVEAL_PK), + verification_key: None, + password: None, + }; + let rt = self.rt.clone(); + rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; + + let namada_ctx = self.namada_ctx(); + let args = TxCustom { + tx: tx_args.clone(), + code_path: Some(PathBuf::from(tx::TX_IBC_WASM)), + data_path: Some(tx_data), + serialized_tx: None, + owner: relayer_addr.clone(), + }; + let (mut tx, signing_data, _epoch) = rt + .block_on(args.build(&namada_ctx)) + .map_err(Error::namada_sdk)?; + rt.block_on(namada_ctx.sign(&mut tx, &args.tx, signing_data)) + .map_err(Error::namada_sdk)?; + let decrypted_hash = tx.raw_header_hash().to_string(); + let response = rt + .block_on(namada_ctx.submit(tx, &args.tx)) + .map_err(Error::namada_sdk)?; + + match response { + tx::ProcessTxResponse::Broadcast(mut response) => { + // overwrite the tx decrypted hash for the tx query + response.hash = decrypted_hash.parse().expect("invalid hash"); + Ok(response) + } + _ => unreachable!("The response type was unexpected"), + } + } + + pub fn wait_for_block_commits( + &self, + tx_sync_results: &mut [TxSyncResult], + ) -> Result<(), Error> { + let start_time = Instant::now(); + loop { + if cosmos::wait::all_tx_results_found(tx_sync_results) { + return Ok(()); + } + + let elapsed = start_time.elapsed(); + if elapsed > self.config.rpc_timeout { + return Err(Error::tx_no_confirmation()); + } + + thread::sleep(WAIT_BACKOFF); + + for TxSyncResult { + response, + events, + status, + } in tx_sync_results.iter_mut() + { + if let TxStatus::Pending { message_count: _ } = status { + // If the transaction failed, query_txs returns the IbcEvent::ChainError, + // so that we don't attempt to resolve the transaction later on. + if let Ok(events_per_tx) = + self.query_txs(QueryTxRequest::Transaction(QueryTxHash(response.hash))) + { + // If we get events back, progress was made, so we replace the events + // with the new ones. in both cases we will check in the next iteration + // whether or not the transaction was fully committed. + if !events_per_tx.is_empty() { + *events = events_per_tx; + *status = TxStatus::ReceivedResponse; + } + } + } + } + } + } + + async fn submit_reveal_aux(&mut self, args: &TxArgs, address: &Address) -> Result<(), Error> { + if let Address::Implicit(ImplicitAddress(pkh)) = address { + let key = self + .wallet + .find_key_by_pkh(pkh, args.clone().password) + .map_err(Error::namada_key_pair_not_found)?; + let public_key = key.ref_to(); + + if tx::is_reveal_pk_needed(&self.rpc_client, address, args.force) + .await + .map_err(Error::namada_sdk)? + { + let namada_ctx = self.namada_ctx(); + let (mut tx, signing_data, _epoch) = + tx::build_reveal_pk(&namada_ctx, args, &public_key) + .await + .map_err(Error::namada_sdk)?; + namada_ctx + .sign(&mut tx, args, signing_data) + .await + .map_err(Error::namada_sdk)?; + namada_ctx + .submit(tx, args) + .await + .map_err(Error::namada_sdk)?; + } + } + Ok(()) + } +} diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index 38a629f135..a5d997cc0e 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -283,7 +283,7 @@ impl Config { } match chain_config { - ChainConfig::CosmosSdk(cosmos_config) => { + ChainConfig::CosmosSdk(cosmos_config) | ChainConfig::Namada(cosmos_config) => { cosmos_config .validate() .map_err(Into::>::into)?; @@ -593,36 +593,43 @@ pub enum EventSourceMode { #[serde(tag = "type")] pub enum ChainConfig { CosmosSdk(CosmosSdkConfig), + // Reuse CosmosSdkConfig for tendermint light clients + Namada(CosmosSdkConfig), } impl ChainConfig { pub fn id(&self) -> &ChainId { match self { Self::CosmosSdk(config) => &config.id, + Self::Namada(config) => &config.id, } } pub fn packet_filter(&self) -> &PacketFilter { match self { Self::CosmosSdk(config) => &config.packet_filter, + Self::Namada(config) => &config.packet_filter, } } pub fn max_block_time(&self) -> Duration { match self { Self::CosmosSdk(config) => config.max_block_time, + Self::Namada(config) => config.max_block_time, } } pub fn key_name(&self) -> &String { match self { Self::CosmosSdk(config) => &config.key_name, + Self::Namada(config) => &config.key_name, } } pub fn set_key_name(&mut self, key_name: String) { match self { Self::CosmosSdk(config) => config.key_name = key_name, + Self::Namada(config) => config.key_name = key_name, } } @@ -641,6 +648,8 @@ impl ChainConfig { .map(|(key_name, keys)| (key_name, keys.into())) .collect() } + // TODO Namada should use the wallet + ChainConfig::Namada(_) => return Err(keyring::errors::Error::key_not_found()), }; Ok(keys) } diff --git a/crates/relayer/src/error.rs b/crates/relayer/src/error.rs index 1b47280661..67a30859f0 100644 --- a/crates/relayer/src/error.rs +++ b/crates/relayer/src/error.rs @@ -586,6 +586,29 @@ define_error! { InvalidCompatMode [ TendermintRpcError ] |_| { "Invalid CompatMode queried from chain and no `compat_mode` configured in Hermes. This can be fixed by specifying a `compat_mode` in Hermes config.toml" }, + + NamadaWalletNotInitialized + |_| { "Namada wallet has not been initialized yet" }, + + NamadaKeyPairNotFound + [ TraceError ] + |_| { "The keypair was not found" }, + + NamadaAddressNotFound + { alias: String } + |e| { format!("The address was not found for {}", e.alias) }, + + NamadaSdk + [ TraceError ] + |e| { format!("Namada error {}", e) }, + + NamadaQuery + [ TraceError ] + |e| { format!("Namada error {}", e) }, + + BorshDecode + [ TraceError ] + |_| { "error decoding borsh" }, } } diff --git a/crates/relayer/src/event.rs b/crates/relayer/src/event.rs index b07ef50a84..54c8daff1c 100644 --- a/crates/relayer/src/event.rs +++ b/crates/relayer/src/event.rs @@ -29,7 +29,7 @@ pub mod bus; pub mod error; pub mod source; -#[derive(Clone, Debug, Serialize)] +#[derive(Clone, Debug, Serialize, PartialEq)] pub struct IbcEventWithHeight { pub event: IbcEvent, pub height: Height, diff --git a/crates/relayer/src/foreign_client.rs b/crates/relayer/src/foreign_client.rs index 957590f116..f2430ed505 100644 --- a/crates/relayer/src/foreign_client.rs +++ b/crates/relayer/src/foreign_client.rs @@ -1729,7 +1729,9 @@ impl ForeignClient config.ccv_consumer_chain, + ChainConfig::CosmosSdk(config) | ChainConfig::Namada(config) => { + config.ccv_consumer_chain + } }; let mut msgs = vec![]; diff --git a/crates/relayer/src/keyring.rs b/crates/relayer/src/keyring.rs index 1260de235e..0ec609f6e7 100644 --- a/crates/relayer/src/keyring.rs +++ b/crates/relayer/src/keyring.rs @@ -286,8 +286,6 @@ impl KeyRing { } } -// Why is this not a method on `ChainConfig`? - fn disk_store_path(folder_name: &str, keystore_folder: &Option) -> Result { let ks_folder = match keystore_folder { Some(folder) => folder.to_owned(), diff --git a/crates/relayer/src/spawn.rs b/crates/relayer/src/spawn.rs index 113ac1f6a7..f791fddabc 100644 --- a/crates/relayer/src/spawn.rs +++ b/crates/relayer/src/spawn.rs @@ -6,7 +6,9 @@ use tokio::runtime::Runtime as TokioRuntime; use ibc_relayer_types::core::ics24_host::identifier::ChainId; use crate::{ - chain::{cosmos::CosmosSdkChain, handle::ChainHandle, runtime::ChainRuntime}, + chain::{ + cosmos::CosmosSdkChain, handle::ChainHandle, namada::NamadaChain, runtime::ChainRuntime, + }, config::{ChainConfig, Config}, error::Error as RelayerError, }; @@ -82,6 +84,7 @@ pub fn spawn_chain_runtime_with_config( ) -> Result { let handle = match config { ChainConfig::CosmosSdk(_) => ChainRuntime::::spawn(config, rt), + ChainConfig::Namada(_) => ChainRuntime::::spawn(config, rt), } .map_err(SpawnError::relayer)?; diff --git a/tools/test-framework/src/chain/chain_type.rs b/tools/test-framework/src/chain/chain_type.rs index 2d39f8f811..bc488d11d8 100644 --- a/tools/test-framework/src/chain/chain_type.rs +++ b/tools/test-framework/src/chain/chain_type.rs @@ -7,11 +7,13 @@ use crate::util::random::{random_u32, random_unused_tcp_port}; const COSMOS_HD_PATH: &str = "m/44'/118'/0'/0/0"; const EVMOS_HD_PATH: &str = "m/44'/60'/0'/0/0"; +const NAMADA_HD_PATH: &str = "m/44'/60'/0'/0/0"; #[derive(Clone, Debug)] pub enum ChainType { Cosmos, Evmos, + Namada, } impl ChainType { @@ -19,6 +21,7 @@ impl ChainType { match self { Self::Cosmos => COSMOS_HD_PATH, Self::Evmos => EVMOS_HD_PATH, + Self::Namada => NAMADA_HD_PATH, } } @@ -32,6 +35,7 @@ impl ChainType { } } Self::Evmos => ChainId::from_string(&format!("evmos_9000-{prefix}")), + Self::Namada => ChainId::from_string(&prefix.to_string()), } } @@ -45,6 +49,7 @@ impl ChainType { res.push("--json-rpc.address".to_owned()); res.push(format!("localhost:{json_rpc_port}")); } + Self::Namada => {} } res } @@ -55,6 +60,7 @@ impl ChainType { Self::Evmos => AddressType::Ethermint { pk_type: "/ethermint.crypto.v1.ethsecp256k1.PubKey".to_string(), }, + Self::Namada => AddressType::default(), } } } @@ -69,6 +75,7 @@ impl FromStr for ChainType { name if name.contains("wasmd") => Ok(ChainType::Cosmos), name if name.contains("icad") => Ok(ChainType::Cosmos), name if name.contains("evmosd") => Ok(ChainType::Evmos), + name if name.contains("namada") => Ok(ChainType::Namada), _ => Ok(ChainType::Cosmos), } } From 8153fb68c93f8e2e3358913cb8d5e32300b6b0da Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 3 Nov 2023 22:27:52 +0100 Subject: [PATCH 002/103] fix wallet and PosParams --- crates/relayer/src/chain/namada.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 7650e345a7..9ca3fcad24 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -38,7 +38,7 @@ use namada::ledger::parameters::storage as param_storage; use namada::ledger::parameters::EpochDuration; use namada::ledger::storage::ics23_specs::ibc_proof_specs; use namada::ledger::storage::Sha256Hasher; -use namada::proof_of_stake::parameters::PosParams; +use namada::proof_of_stake::parameters::OwnedPosParams; use namada::proof_of_stake::storage as pos_storage; use namada::types::address::{Address, InternalAddress}; use namada::types::storage::{Key, KeySeg, PrefixValue}; @@ -154,7 +154,7 @@ impl NamadaChain { fn get_unbonding_time(&self) -> Result { let key = pos_storage::params_key(); let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; - let pos_params = PosParams::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let pos_params = OwnedPosParams::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; let key = param_storage::get_epoch_duration_storage_key(); let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; @@ -220,6 +220,7 @@ impl ChainEndpoint for NamadaChain { // check if the wallet has been set up for this relayer let wallet_path = Path::new(BASE_WALLET_DIR).join(config.id.to_string()); let mut wallet = FsWalletUtils::new(wallet_path); + wallet.load().expect("Loading a wallet failed"); wallet .find_key(&config.key_name, None) .map_err(Error::namada_key_pair_not_found)?; From 83211e7a08c9479cfac73bbc04873b107cea367d Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 3 Nov 2023 22:29:24 +0100 Subject: [PATCH 003/103] add test scripts --- e2e/namada-simple-transfers | 153 +++++++++++++++++++++++++ scripts/setup-namada | 187 +++++++++++++++++++++++++++++++ scripts/setup-namada-single-node | 154 +++++++++++++++++++++++++ 3 files changed, 494 insertions(+) create mode 100755 e2e/namada-simple-transfers create mode 100755 scripts/setup-namada create mode 100755 scripts/setup-namada-single-node diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers new file mode 100755 index 0000000000..43f1685c60 --- /dev/null +++ b/e2e/namada-simple-transfers @@ -0,0 +1,153 @@ +#!/bin/bash + +# This script executes simple transfers between Namada instances locally +# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# Run with `namada-simple-transfers ${namada_dir}` + +set -e + +NAMADA_DIR=$1 +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi +cd $(dirname $0) +HERMES_DIR=${PWD%/e2e*} + +NAMADAC="${NAMADA_DIR}/target/release/namadac" +NAMADAW="${NAMADA_DIR}/target/release/namadaw" +DATA_DIR="${HERMES_DIR}/data" +# IbcToken from `transfer/channel-0/#apfel` +IBC_TOKEN="atest1d93xxw36xqckvdn9vgcxyv3jvyurqdrr89jrwvmxxcexxdnpx5cnyv3ex93kvepnxdjnqvrzucsc73" + +LEDGER_ADDR_A="127.0.0.1:27657" +LEDGER_ADDR_B="127.0.0.1:28657" +INITIAL_BALANCE=5000 + +function init_relayer_balance() { + local suffix=$1 + local ledger_addr=$2 + + local base_dir=${DATA_DIR}/namada-${suffix}/.namada + + ${NAMADAC} --base-dir ${base_dir} \ + transfer \ + --source albert \ + --target relayer \ + --token nam \ + --amount ${INITIAL_BALANCE} \ + --node ${ledger_addr} +} + +# ==== main ==== + +# Run 2 Namada chains +${HERMES_DIR}/scripts/setup-namada ${NAMADA_DIR} + +cd ${HERMES_DIR} +ids=$(grep "id" config_for_namada.toml | awk -F"'" '/^id/ {print $2}') +chain_a=$(echo ${ids} | awk '{print $1}') +chain_b=$(echo ${ids} | awk '{print $2}') + +# Initialize the balances +init_relayer_balance "a" ${LEDGER_ADDR_A} +init_relayer_balance "b" ${LEDGER_ADDR_B} + +# Create a channel +cargo run --bin hermes -- --config config_for_namada.toml \ + create channel \ + --a-chain ${chain_a} \ + --b-chain ${chain_b} \ + --a-port transfer \ + --b-port transfer \ + --new-client-connection --yes + +# faucet apfel on chain_a +base_dir_a=${DATA_DIR}/namada-a/.namada +${NAMADAC} --base-dir ${base_dir_a} transfer \ + --source albert \ + --target relayer \ + --token apfel \ + --amount 1000 \ + --signing-keys albert-key \ + --node ${LEDGER_ADDR_A} + +# Get the receiver addresses +receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} address find --alias relayer | awk '{print $4}') +base_dir_b=${DATA_DIR}/namada-b/.namada +receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} address find --alias relayer | awk '{print $4}') + +# transfer 100 apfel from chain_a to chain_b +${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ + --source relayer \ + --receiver ${receiver_b} \ + --token apfel \ + --amount 100 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_A} + +# packet-recv +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-recv \ + --dst-chain ${chain_b} \ + --src-chain ${chain_a} \ + --src-port transfer \ + --src-channel channel-0 + +# packet-ack +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-ack \ + --dst-chain ${chain_a} \ + --src-chain ${chain_b} \ + --src-port transfer \ + --src-channel channel-0 + +echo "Balances on chain A" +${NAMADAC} --base-dir ${base_dir_a} balance \ + --owner relayer \ + --node ${LEDGER_ADDR_A} + +echo "Balances on chain B" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner relayer \ + --node ${LEDGER_ADDR_B} + +# transfer back 50 apfel from chain_b to chain_a +${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ + --source relayer \ + --receiver ${receiver_a} \ + --token ${IBC_TOKEN} \ + --amount 50 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_B} + +# packet-recv +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-recv \ + --dst-chain ${chain_a} \ + --src-chain ${chain_b} \ + --src-port transfer \ + --src-channel channel-0 + +# packet-ack +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-ack \ + --dst-chain ${chain_b} \ + --src-chain ${chain_a} \ + --src-port transfer \ + --src-channel channel-0 + +echo "Balances on chain A" +${NAMADAC} --base-dir ${base_dir_a} balance \ + --owner relayer \ + --node ${LEDGER_ADDR_A} + +echo "Balances on chain B" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner relayer \ + --node ${LEDGER_ADDR_B} + +killall namadan diff --git a/scripts/setup-namada b/scripts/setup-namada new file mode 100755 index 0000000000..5e50f6eaef --- /dev/null +++ b/scripts/setup-namada @@ -0,0 +1,187 @@ +#!/bin/bash + +# This script sets up 2 Namada chains locally +# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# Run with `setup-namada.sh ${namada_dir}` + +set -e + + +# Get absolute path to Namada directory +SCRIPT_DIR=$(cd $(dirname $0) && pwd) +NAMADA_DIR=$(cd $1 && pwd) +cd $SCRIPT_DIR +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi + +HERMES_DIR=${PWD%/scripts*} + +# edit for your environment +NAMADAC="${NAMADA_DIR}/target/release/namadac" +NAMADAN="${NAMADA_DIR}/target/release/namadan" +NAMADAW="${NAMADA_DIR}/target/release/namadaw" +BASE_GENESIS_PATH="${NAMADA_DIR}/genesis/e2e-tests-single-node.toml" +CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" +DATA_DIR="${HERMES_DIR}/data" +GENESIS_PATH_A="${DATA_DIR}/e2e-tests-single-node-a.toml" +GENESIS_PATH_B="${DATA_DIR}/e2e-tests-single-node-b.toml" + +NET_ADDR_A="127.0.0.1:27656" +NET_ADDR_B="127.0.0.1:28656" +LEDGER_ADDR_A="127.0.0.1:27657" +LEDGER_ADDR_B="127.0.0.1:28657" + +HERMES_CONFIG_TEMPLATE=" +[global] +log_level = 'info' + +[mode] + +[mode.clients] +enabled = true +refresh = true +misbehaviour = true + +[mode.connections] +enabled = false + +[mode.channels] +enabled = false + +[mode.packets] +enabled = true +clear_interval = 10 +clear_on_start = false +tx_confirmation = true + +[telemetry] +enabled = false +host = '127.0.0.1' +port = 3001 + +[[chains]] +id = '_CHAIN_ID_A_' +type = 'namada' +rpc_addr = 'http://127.0.0.1:27657' +grpc_addr = 'http://127.0.0.1:9090' +event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } +account_prefix = '' +key_name = 'relayer' +store_prefix = 'ibc' +gas_price = { price = 0.001, denom = 'nam' } + +[[chains]] +id = '_CHAIN_ID_B_' +type = 'namada' +rpc_addr = 'http://127.0.0.1:28657' +grpc_addr = 'http://127.0.0.1:9090' +event_source = { mode = 'push', url = 'ws://127.0.0.1:28657/websocket', batch_delay = '500ms' } +account_prefix = '' +key_name = 'relayer' +store_prefix = 'ibc' +gas_price = { price = 0.001, denom = 'nam' } +" + +function make_genesis() { + local suffix=$1 + + if [ "${suffix}" == "a" ] + then + sed "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ + ${BASE_GENESIS_PATH} > ${GENESIS_PATH_A} + else + sed -e "s/${NET_ADDR_A}/${NET_ADDR_B}/g" \ + -e "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ + ${BASE_GENESIS_PATH} > ${GENESIS_PATH_B} + fi +} + +function init_network() { + local suffix=$1 + local genesis_path=$2 + + mkdir -p ${DATA_DIR}/namada-${suffix} + NAMADA_BASE_DIR=${DATA_DIR}/namada-${suffix}/.namada \ + ${NAMADAC} utils init-network \ + --unsafe-dont-encrypt \ + --genesis-path ${genesis_path} \ + --chain-prefix namada-test \ + --localhost \ + --dont-archive \ + --wasm-checksums-path ${CHECKSUM_PATH} \ + | awk '$1 == "Derived" {print $4}' +} + +function copy_wasm() { + local suffix=$1 + local chain_id=$2 + + local base_dir=${DATA_DIR}/namada-${suffix}/.namada + + cp ${NAMADA_DIR}/wasm/checksums.json ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ + cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ +} + +function init_relayer_acc() { + local suffix=$1 + local chain_id=$2 + local ledger_addr=$3 + + local base_dir=${DATA_DIR}/namada-${suffix}/.namada + local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} + + cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml + + ${NAMADAW} --base-dir ${base_dir} \ + key gen --alias relayer --unsafe-dont-encrypt + + mkdir -p ${wallet_dir} + cp ${base_dir}/${chain_id}/wallet.toml ${wallet_dir} +} + +# ==== main ==== + +mkdir -p ${DATA_DIR} + +# for chain A +make_genesis "a" +chain_id_a=$(init_network "a" ${GENESIS_PATH_A}) + +copy_wasm "a" ${chain_id_a} + +${NAMADAN} --base-dir ${DATA_DIR}/namada-a/.namada/${chain_id_a}/setup/validator-0/.namada/ \ + ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & +echo "Namada chain A's PID = $!" +sleep 5 + +init_relayer_acc "a" ${chain_id_a} ${LEDGER_ADDR_A} + +# for chain B +make_genesis "b" +chain_id_b=$(init_network "b" ${GENESIS_PATH_B}) + +copy_wasm "b" ${chain_id_b} + + +${NAMADAN} --base-dir ${DATA_DIR}/namada-b/.namada/${chain_id_b}/setup/validator-0/.namada/ \ + ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & +echo "Namada chain B's PID = $!" +sleep 5 + +init_relayer_acc "b" ${chain_id_b} ${LEDGER_ADDR_B} + +# for the relayer +cd ${HERMES_DIR} +echo "${HERMES_CONFIG_TEMPLATE}" \ + | sed -e "s/_CHAIN_ID_A_/${chain_id_a}/g" -e "s/_CHAIN_ID_B_/${chain_id_b}/g" \ + > ${HERMES_DIR}/config_for_namada.toml + +echo "2 Namada chains are running" +echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" + +echo "You also want to run the following lines:" +echo "export CHAIN_A_ID=${chain_id_a}" +echo "export CHAIN_B_ID=${chain_id_b}" diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node new file mode 100755 index 0000000000..e6b1442e0b --- /dev/null +++ b/scripts/setup-namada-single-node @@ -0,0 +1,154 @@ +#!/bin/bash + +# This script sets up 1 Namada chain locally +# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# Run with `setup-namada-single-node ${namada_dir}` + +set -e + +NAMADA_DIR=$1 +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi +cd $(dirname $0) +HERMES_DIR=${PWD%/scripts*} + +# edit for your environment +NAMADAC="${NAMADA_DIR}/target/release/namadac" +NAMADAN="${NAMADA_DIR}/target/release/namadan" +NAMADAW="${NAMADA_DIR}/target/release/namadaw" +BASE_GENESIS_PATH="${NAMADA_DIR}/genesis/e2e-tests-single-node.toml" +CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" +DATA_DIR="${HERMES_DIR}/data" +GENESIS_PATH="${DATA_DIR}/e2e-tests-single-node.toml" + +NET_ADDR="127.0.0.1:27656" +LEDGER_ADDR="tcp://127.0.0.1:27657" + +HERMES_CONFIG_TEMPLATE=" +[global] +log_level = 'info' + +[mode] + +[mode.clients] +enabled = true +refresh = true +misbehaviour = true + +[mode.connections] +enabled = false + +[mode.channels] +enabled = false + +[mode.packets] +enabled = true +clear_interval = 10 +clear_on_start = false +tx_confirmation = true + +[telemetry] +enabled = false +host = '127.0.0.1' +port = 3001 + +[[chains]] +id = '_CHAIN_ID_' +type = 'namada' +rpc_addr = 'http://127.0.0.1:27657' +grpc_addr = 'http://127.0.0.1:9090' +event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } +account_prefix = '' +key_name = 'relayer' +store_prefix = 'ibc' +gas_price = { price = 0.001, denom = 'nam' } +" + +function make_genesis() { + sed "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ + ${BASE_GENESIS_PATH} > ${GENESIS_PATH} +} + +function init_network() { + local genesis_path=$1 + + mkdir -p ${DATA_DIR}/namada + NAMADA_BASE_DIR=${DATA_DIR}/namada/.namada \ + ${NAMADAC} utils init-network \ + --unsafe-dont-encrypt \ + --genesis-path ${genesis_path} \ + --chain-prefix namada-test \ + --localhost \ + --dont-archive \ + --wasm-checksums-path ${CHECKSUM_PATH} \ + | awk '$1 == "Derived" {print $4}' +} + +function copy_wasm() { + local chain_id=$1 + + local base_dir=${DATA_DIR}/namada/.namada + + cp ${NAMADA_DIR}/wasm/checksums.json ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ + cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ +} + + +function init_relayer_acc() { + local chain_id=$1 + + local base_dir=${DATA_DIR}/namada/.namada + local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} + + cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml + + ${NAMADAW} --base-dir ${base_dir} \ + key gen --alias relayer --unsafe-dont-encrypt + + mkdir -p ${wallet_dir} + cp ${base_dir}/${chain_id}/wallet.toml ${wallet_dir} +} + +function fund_relayer_acc() { + local account=$1 + local ledger_addr=$2 + local base_dir=${DATA_DIR}/namada/.namada + + ${NAMADAC} --base-dir ${base_dir} \ + transfer --node ${ledger_addr} \ + --source ${account} --target relayer --amount 10000 --token NAM +} + +# ==== main ==== + +mkdir -p ${DATA_DIR} + +make_genesis +chain_id=$(init_network ${GENESIS_PATH}) + +copy_wasm ${chain_id} + +${NAMADAN} --base-dir ${DATA_DIR}/namada/.namada/${chain_id}/setup/validator-0/.namada/ \ + ledger run > ${DATA_DIR}/namada/namada.log 2>&1 & +echo "Namada chain's PID = $!" +sleep 5 + +init_relayer_acc ${chain_id} +sleep 10 + +fund_relayer_acc "albert" ${LEDGER_ADDR} + +# for the relayer +cd ${HERMES_DIR} +echo "${HERMES_CONFIG_TEMPLATE}" \ + | sed -e "s/_CHAIN_ID_/${chain_id}/g" \ + > ${HERMES_DIR}/config_for_namada.toml + +echo "A Namada chain is running" +echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" + +echo "You also want to run the following lines:" +echo "export CHAIN_ID=${chain_id}" From ba2c88a0f50aadcb078ec1c7bc901108f67ccdde Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 3 Nov 2023 23:28:05 +0100 Subject: [PATCH 004/103] fix compat_mode --- crates/relayer/src/chain/namada.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 9ca3fcad24..2568a428fa 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -125,21 +125,23 @@ impl NamadaChain { } ); - use crate::config::EventSourceMode as Mode; - let rpc_client = HttpClient::new(self.config.rpc_addr.clone()) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + let node_info = self + .rt + .block_on(fetch_node_info(&self.rpc_client, &self.config))?; + let compat_mode = CompatMode::from_version(node_info.version).unwrap_or(CompatMode::V0_37); + use crate::config::EventSourceMode as Mode; let (event_source, monitor_tx) = match &self.config.event_source { Mode::Push { url, batch_delay } => EventSource::websocket( self.config.id.clone(), url.clone(), - CompatMode::V0_37, + compat_mode, *batch_delay, self.rt.clone(), ), Mode::Pull { interval } => EventSource::rpc( self.config.id.clone(), - rpc_client, + self.rpc_client.clone(), *interval, self.rt.clone(), ), @@ -208,7 +210,7 @@ impl ChainEndpoint for NamadaChain { let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_info.id)?; - // not used in Anoma, but the trait requires KeyRing + // not used in Namada, but the trait requires KeyRing let keybase = KeyRing::new( config.key_store_type, "", @@ -1233,7 +1235,7 @@ impl ChainEndpoint for NamadaChain { } } -/// Initialize the light client +/// Fetch the node info async fn fetch_node_info( rpc_client: &HttpClient, config: &CosmosSdkConfig, From 2ea4cdb53c98029b6d6b40c292316b8c9d026d6d Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 7 Nov 2023 17:09:54 +0100 Subject: [PATCH 005/103] fix scripts for Namada v0.25.0 --- Cargo.lock | 24 +++--- crates/relayer/Cargo.toml | 4 +- crates/relayer/src/chain/namada.rs | 6 +- crates/relayer/src/chain/namada/tx.rs | 4 +- e2e/namada-simple-transfers | 20 +++-- scripts/setup-namada | 116 +++++++++++++++++--------- scripts/setup-namada-single-node | 78 ++++++++++------- 7 files changed, 155 insertions(+), 97 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8fbf5dfbc4..309a9feb60 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3874,8 +3874,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "async-trait", "bimap", @@ -3934,8 +3934,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "ark-bls12-381", "ark-ec", @@ -3989,8 +3989,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "borsh 1.0.0-alpha.4", "borsh-ext", @@ -4011,8 +4011,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "proc-macro2", "quote", @@ -4021,8 +4021,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "borsh 1.0.0-alpha.4", "data-encoding", @@ -4035,8 +4035,8 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.24.0" -source = "git+https://github.com/anoma/namada?rev=63f2e4be022ded03ce0639f4a2a20945c3719080#63f2e4be022ded03ce0639f4a2a20945c3719080" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ "async-trait", "bimap", diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 3e30aac2f6..4c2a61611e 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -24,8 +24,8 @@ ibc-proto = { version = "0.39.0", features = ["serde"] } ibc-telemetry = { version = "0.26.1", path = "../telemetry", optional = true } ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } -namada = { git = "https://github.com/anoma/namada", rev = "63f2e4be022ded03ce0639f4a2a20945c3719080" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "63f2e4be022ded03ce0639f4a2a20945c3719080", features = ["std", "async-client"] } +namada = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2", features = ["std", "async-client"] } subtle-encoding = "0.5" humantime-serde = "1.1.1" diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 2568a428fa..42a76d566e 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -422,7 +422,7 @@ impl ChainEndpoint for NamadaChain { let key_name = key_name.unwrap_or(&self.config.key_name); let denom = denom.unwrap_or("NAM"); let token = match self.wallet.find_address(denom) { - Some(addr) => addr.clone(), + Some(addr) => addr.into_owned(), None => Address::decode(denom) .map_err(|_| Error::namada_address_not_found(denom.to_string()))?, }; @@ -432,7 +432,7 @@ impl ChainEndpoint for NamadaChain { .find_address(key_name) .ok_or_else(|| Error::namada_address_not_found(key_name.to_string()))?; - let balance_key = token::balance_key(&token, owner); + let balance_key = token::balance_key(&token, &owner); let (value, _) = self.query(balance_key, QueryHeight::Latest, IncludeProof::No)?; if value.is_empty() { return Ok(Balance { @@ -474,7 +474,7 @@ impl ChainEndpoint for NamadaChain { let prefix = Key::from(Address::Internal(InternalAddress::Multitoken).to_db_key()); for PrefixValue { key, value } in self.query_prefix(prefix)? { if let Some([token, owner]) = token::is_any_token_balance_key(&key) { - if key_owner == owner { + if key_owner.as_ref() == owner { let amount = token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; let denom_key = token::denom_key(token); diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 6c8eef27d5..62c8291014 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -38,7 +38,7 @@ impl NamadaChain { .wallet .find_address(&fee_token) .ok_or_else(|| Error::namada_address_not_found(fee_token))? - .clone(); + .into_owned(); // fee let gas_limit_key = parameter_storage::get_fee_unshielding_gas_limit_key(); @@ -55,7 +55,7 @@ impl NamadaChain { .wallet .find_address(&self.config.key_name) .expect("The relayer doesn't exist in the wallet") - .clone(); + .into_owned(); let tx_args = TxArgs { dry_run: false, diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 43f1685c60..afe19783ff 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -15,11 +15,9 @@ fi cd $(dirname $0) HERMES_DIR=${PWD%/e2e*} -NAMADAC="${NAMADA_DIR}/target/release/namadac" -NAMADAW="${NAMADA_DIR}/target/release/namadaw" +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" DATA_DIR="${HERMES_DIR}/data" -# IbcToken from `transfer/channel-0/#apfel` -IBC_TOKEN="atest1d93xxw36xqckvdn9vgcxyv3jvyurqdrr89jrwvmxxcexxdnpx5cnyv3ex93kvepnxdjnqvrzucsc73" LEDGER_ADDR_A="127.0.0.1:27657" LEDGER_ADDR_B="127.0.0.1:28657" @@ -29,7 +27,7 @@ function init_relayer_balance() { local suffix=$1 local ledger_addr=$2 - local base_dir=${DATA_DIR}/namada-${suffix}/.namada + local base_dir=${DATA_DIR}/namada-${suffix} ${NAMADAC} --base-dir ${base_dir} \ transfer \ @@ -64,7 +62,7 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --new-client-connection --yes # faucet apfel on chain_a -base_dir_a=${DATA_DIR}/namada-a/.namada +base_dir_a=${DATA_DIR}/namada-a ${NAMADAC} --base-dir ${base_dir_a} transfer \ --source albert \ --target relayer \ @@ -75,7 +73,7 @@ ${NAMADAC} --base-dir ${base_dir_a} transfer \ # Get the receiver addresses receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} address find --alias relayer | awk '{print $4}') -base_dir_b=${DATA_DIR}/namada-b/.namada +base_dir_b=${DATA_DIR}/namada-b receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} address find --alias relayer | awk '{print $4}') # transfer 100 apfel from chain_a to chain_b @@ -113,12 +111,18 @@ echo "Balances on chain B" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B} +# get token address +received_token=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner relayer \ + --node ${LEDGER_ADDR_B} \ + | sed -e s/://g \ + | awk '$1 ~ /transfer\/channel-0/ {print $1}') # transfer back 50 apfel from chain_b to chain_a ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ - --token ${IBC_TOKEN} \ + --token ${received_token} \ --amount 50 \ --signing-keys relayer \ --channel-id channel-0 \ diff --git a/scripts/setup-namada b/scripts/setup-namada index 5e50f6eaef..bf2a56914b 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -20,17 +20,13 @@ fi HERMES_DIR=${PWD%/scripts*} # edit for your environment -NAMADAC="${NAMADA_DIR}/target/release/namadac" -NAMADAN="${NAMADA_DIR}/target/release/namadan" -NAMADAW="${NAMADA_DIR}/target/release/namadaw" -BASE_GENESIS_PATH="${NAMADA_DIR}/genesis/e2e-tests-single-node.toml" +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAN="${NAMADA_DIR}/target/debug/namadan" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" +BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" DATA_DIR="${HERMES_DIR}/data" -GENESIS_PATH_A="${DATA_DIR}/e2e-tests-single-node-a.toml" -GENESIS_PATH_B="${DATA_DIR}/e2e-tests-single-node-b.toml" -NET_ADDR_A="127.0.0.1:27656" -NET_ADDR_B="127.0.0.1:28656" LEDGER_ADDR_A="127.0.0.1:27657" LEDGER_ADDR_B="127.0.0.1:28657" @@ -87,42 +83,56 @@ gas_price = { price = 0.001, denom = 'nam' } function make_genesis() { local suffix=$1 + local base_dir=${DATA_DIR}/namada-${suffix} - if [ "${suffix}" == "a" ] - then - sed "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ - ${BASE_GENESIS_PATH} > ${GENESIS_PATH_A} - else - sed -e "s/${NET_ADDR_A}/${NET_ADDR_B}/g" \ - -e "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ - ${BASE_GENESIS_PATH} > ${GENESIS_PATH_B} - fi + mkdir -p ${base_dir}/templates + cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates + sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml + + mkdir ${base_dir}/pre-genesis + cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis } function init_network() { local suffix=$1 - local genesis_path=$2 - - mkdir -p ${DATA_DIR}/namada-${suffix} - NAMADA_BASE_DIR=${DATA_DIR}/namada-${suffix}/.namada \ - ${NAMADAC} utils init-network \ - --unsafe-dont-encrypt \ - --genesis-path ${genesis_path} \ - --chain-prefix namada-test \ - --localhost \ - --dont-archive \ + local base_dir=${DATA_DIR}/namada-${suffix} + local validator_base_dir=${base_dir}/setup/validator-0 + + mkdir -p ${base_dir}/genesis + local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ + ${NAMADAC} utils init-network \ + --chain-prefix namada-${suffix} \ + --genesis-time "2023-01-01T00:00:00Z" \ + --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ - | awk '$1 == "Derived" {print $4}' + --archive-dir ${base_dir}/genesis \ + | awk '$1 == "Derived" {print $4}') + + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ + ${NAMADAC} --base-dir ${validator_base_dir} \ + utils join-network \ + --chain-id ${chain_id} \ + --genesis-validator validator-0 \ + --pre-genesis-path \ + ${base_dir}/pre-genesis/validator-0 \ + --dont-prefetch-wasm + + rm -rf ${base_dir}/${chain_id} + # for non-validator + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ + ${NAMADAC} --base-dir ${base_dir} \ + utils join-network \ + --chain-id ${chain_id} \ + --dont-prefetch-wasm } function copy_wasm() { local suffix=$1 local chain_id=$2 - local base_dir=${DATA_DIR}/namada-${suffix}/.namada + local base_dir=${DATA_DIR}/namada-${suffix} - cp ${NAMADA_DIR}/wasm/checksums.json ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ - cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ + cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/setup/validator-0/${chain_id}/wasm/ } function init_relayer_acc() { @@ -130,10 +140,10 @@ function init_relayer_acc() { local chain_id=$2 local ledger_addr=$3 - local base_dir=${DATA_DIR}/namada-${suffix}/.namada + local base_dir=${DATA_DIR}/namada-${suffix} local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} - cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml + #cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml ${NAMADAW} --base-dir ${base_dir} \ key gen --alias relayer --unsafe-dont-encrypt @@ -148,29 +158,57 @@ mkdir -p ${DATA_DIR} # for chain A make_genesis "a" -chain_id_a=$(init_network "a" ${GENESIS_PATH_A}) +result=$(init_network "a") +chain_id_a=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') copy_wasm "a" ${chain_id_a} -${NAMADAN} --base-dir ${DATA_DIR}/namada-a/.namada/${chain_id_a}/setup/validator-0/.namada/ \ +${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & -echo "Namada chain A's PID = $!" sleep 5 -init_relayer_acc "a" ${chain_id_a} ${LEDGER_ADDR_A} +# shutdown temporarily to bootstrap chain-b +killall namadan # for chain B make_genesis "b" -chain_id_b=$(init_network "b" ${GENESIS_PATH_B}) +result=$(init_network "b") +chain_id_b=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') copy_wasm "b" ${chain_id_b} +${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ + ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & +sleep 5 + +# shutdown temporarily to bootstrap chain-b +killall namadan + +# Edit chain-b addresses +sed -i .bak \ + -e "s/:27656/:28656/" \ + -e "s/:27657/:28657/" \ + -e "s/:27658/:28658/" \ + ${DATA_DIR}/namada-b/setup/validator-0/${chain_id_b}/config.toml +sed -i .bak \ + -e "s/:27656/:28656/" \ + -e "s/:27657/:28657/" \ + -e "s/:27658/:28658/" \ + ${DATA_DIR}/namada-b/setup/validator-0/${chain_id_b}/cometbft/config/config.toml + +# Restart each chain +${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ + ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & +echo "Namada chain A's PID = $!" -${NAMADAN} --base-dir ${DATA_DIR}/namada-b/.namada/${chain_id_b}/setup/validator-0/.namada/ \ +${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & echo "Namada chain B's PID = $!" + sleep 5 +# create "relayer" account on each chain +init_relayer_acc "a" ${chain_id_a} ${LEDGER_ADDR_A} init_relayer_acc "b" ${chain_id_b} ${LEDGER_ADDR_B} # for the relayer diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index e6b1442e0b..5145f9332b 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -16,16 +16,14 @@ cd $(dirname $0) HERMES_DIR=${PWD%/scripts*} # edit for your environment -NAMADAC="${NAMADA_DIR}/target/release/namadac" -NAMADAN="${NAMADA_DIR}/target/release/namadan" -NAMADAW="${NAMADA_DIR}/target/release/namadaw" -BASE_GENESIS_PATH="${NAMADA_DIR}/genesis/e2e-tests-single-node.toml" +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAN="${NAMADA_DIR}/target/debug/namadan" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" +BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" DATA_DIR="${HERMES_DIR}/data" -GENESIS_PATH="${DATA_DIR}/e2e-tests-single-node.toml" -NET_ADDR="127.0.0.1:27656" -LEDGER_ADDR="tcp://127.0.0.1:27657" +LEDGER_ADDR="127.0.0.1:27657" HERMES_CONFIG_TEMPLATE=" [global] @@ -68,43 +66,61 @@ gas_price = { price = 0.001, denom = 'nam' } " function make_genesis() { - sed "s/epochs_per_year = .*/epochs_per_year = 31536/g" \ - ${BASE_GENESIS_PATH} > ${GENESIS_PATH} + local base_dir=${DATA_DIR}/namada + + mkdir -p ${base_dir}/templates + cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates + sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml + + mkdir ${base_dir}/pre-genesis + cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis } function init_network() { - local genesis_path=$1 + local base_dir=${DATA_DIR}/namada + local validator_base_dir=${base_dir}/setup/validator-0 - mkdir -p ${DATA_DIR}/namada - NAMADA_BASE_DIR=${DATA_DIR}/namada/.namada \ - ${NAMADAC} utils init-network \ - --unsafe-dont-encrypt \ - --genesis-path ${genesis_path} \ + mkdir -p ${base_dir}/genesis + local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ + ${NAMADAC} utils init-network \ --chain-prefix namada-test \ - --localhost \ - --dont-archive \ + --genesis-time "2023-01-01T00:00:00Z" \ + --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ - | awk '$1 == "Derived" {print $4}' + --archive-dir ${base_dir}/genesis \ + | awk '$1 == "Derived" {print $4}') + + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ + ${NAMADAC} --base-dir ${validator_base_dir} \ + utils join-network \ + --chain-id ${chain_id} \ + --genesis-validator validator-0 \ + --pre-genesis-path \ + ${base_dir}/pre-genesis/validator-0 \ + --dont-prefetch-wasm + + rm -rf ${base_dir}/${chain_id} + # for non-validator + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ + ${NAMADAC} --base-dir ${base_dir} \ + utils join-network \ + --chain-id ${chain_id} \ + --dont-prefetch-wasm } function copy_wasm() { local chain_id=$1 + local base_dir=${DATA_DIR}/namada - local base_dir=${DATA_DIR}/namada/.namada - - cp ${NAMADA_DIR}/wasm/checksums.json ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ - cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/${chain_id}/setup/validator-0/.namada/${chain_id}/wasm/ + cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/setup/validator-0/${chain_id}/wasm/ } - function init_relayer_acc() { local chain_id=$1 - local base_dir=${DATA_DIR}/namada/.namada + local base_dir=${DATA_DIR}/namada local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} - cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml - ${NAMADAW} --base-dir ${base_dir} \ key gen --alias relayer --unsafe-dont-encrypt @@ -114,11 +130,10 @@ function init_relayer_acc() { function fund_relayer_acc() { local account=$1 - local ledger_addr=$2 - local base_dir=${DATA_DIR}/namada/.namada + local base_dir=${DATA_DIR}/namada ${NAMADAC} --base-dir ${base_dir} \ - transfer --node ${ledger_addr} \ + transfer --node ${LEDGER_ADDR} \ --source ${account} --target relayer --amount 10000 --token NAM } @@ -127,11 +142,12 @@ function fund_relayer_acc() { mkdir -p ${DATA_DIR} make_genesis -chain_id=$(init_network ${GENESIS_PATH}) +result=$(init_network) +chain_id=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') copy_wasm ${chain_id} -${NAMADAN} --base-dir ${DATA_DIR}/namada/.namada/${chain_id}/setup/validator-0/.namada/ \ +${NAMADAN} --base-dir ${DATA_DIR}/namada/setup/validator-0 \ ledger run > ${DATA_DIR}/namada/namada.log 2>&1 & echo "Namada chain's PID = $!" sleep 5 From a0f26d14bf71059fa09f185c2f6c833d027db04b Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 09:36:46 +0100 Subject: [PATCH 006/103] add relaying tests --- e2e/namada-simple-transfers | 43 ++++++++++++++++++++++++++++++++ scripts/setup-namada-single-node | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index afe19783ff..31a268a7d2 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -104,6 +104,7 @@ cargo run --bin hermes -- --config config_for_namada.toml \ echo "Balances on chain A" ${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ --owner relayer \ --node ${LEDGER_ADDR_A} @@ -146,12 +147,54 @@ cargo run --bin hermes -- --config config_for_namada.toml \ echo "Balances on chain A" ${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ + --owner relayer \ + --node ${LEDGER_ADDR_A} + +echo "Balances on chain B" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${received_token} \ + --owner relayer \ + --node ${LEDGER_ADDR_B} + +# Start Hermes +cargo run --bin hermes -- --config config_for_namada.toml \ + start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & + +# transfer 300 apfel from chain_a to chain_b +${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ + --source relayer \ + --receiver ${receiver_b} \ + --token apfel \ + --amount 200 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_A} + +# transfer 300 apfel from chain_a to chain_b twice +${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ + --source relayer \ + --receiver ${receiver_b} \ + --token apfel \ + --amount 300 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_A} + +# wait for relaying +sleep 10 + +echo "Balances on chain A" +${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ --owner relayer \ --node ${LEDGER_ADDR_A} echo "Balances on chain B" ${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${received_token} \ --owner relayer \ --node ${LEDGER_ADDR_B} +killall hermes killall namadan diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 5145f9332b..3f71ebb1a4 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -99,8 +99,8 @@ function init_network() { ${base_dir}/pre-genesis/validator-0 \ --dont-prefetch-wasm - rm -rf ${base_dir}/${chain_id} # for non-validator + rm -rf ${base_dir}/${chain_id} NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ ${NAMADAC} --base-dir ${base_dir} \ utils join-network \ From 0a4bc26ee06a237de76cdbe46decf28381d01729 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 15:04:32 +0100 Subject: [PATCH 007/103] fix config type and scripts --- crates/relayer/src/chain/namada.rs | 2 +- e2e/namada-gaia-simple-transfers | 190 +++++++++++++++++++++++++++++ e2e/namada-simple-transfers | 26 ++-- scripts/setup-namada | 4 +- scripts/setup-namada-single-node | 2 +- 5 files changed, 210 insertions(+), 14 deletions(-) create mode 100755 e2e/namada-gaia-simple-transfers diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 42a76d566e..1fba2a5c5b 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -198,7 +198,7 @@ impl ChainEndpoint for NamadaChain { fn bootstrap(config: ChainConfig, rt: Arc) -> Result { #[allow(irrefutable_let_patterns)] - let ChainConfig::CosmosSdk(config) = config + let ChainConfig::Namada(config) = config else { return Err(Error::config(ConfigError::wrong_type())); }; diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers new file mode 100755 index 0000000000..f556cf9333 --- /dev/null +++ b/e2e/namada-gaia-simple-transfers @@ -0,0 +1,190 @@ +#!/bin/bash + +# This script sets up Namada and Gaia locally +# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# Run with `namada-gaia-simple-transfers ${namada_dir}` + +set -e + +NAMADA_DIR=$1 +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi +cd $(dirname $0) +HERMES_DIR=${PWD%/e2e*} + +# edit for your environment +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAN="${NAMADA_DIR}/target/debug/namadan" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" +DATA_DIR="${HERMES_DIR}/data" +IBC_TOKEN="transfer/channel-0/samoleans" + +NAMADA_LEDGER_ADDR="127.0.0.1:27657" + +GAIA_CHAIN_CONFIG=" +[[chains]] +id = 'gaia-0' +type = 'CosmosSdk' +rpc_addr = 'http://127.0.0.1:26657' +grpc_addr = 'http://127.0.0.1:9090' +event_source = { mode = 'push', url = 'ws://127.0.0.1:26657/websocket', batch_delay = '500ms' } +account_prefix = 'cosmos' +key_name = 'testkey' +store_prefix = 'ibc' +gas_price = { price = 0.001, denom = 'stake' } +" + +#### main #### +mkdir -p ${DATA_DIR} + +# Gaia +rm -rf ${DATA_DIR}/gaia-0 + +${HERMES_DIR}/scripts/one-chain gaiad gaia-0 ${DATA_DIR} \ + 26657 26656 6060 9090 10000 + +# Namada +${HERMES_DIR}/scripts/setup-namada-single-node ${NAMADA_DIR} +base_dir=${DATA_DIR}/namada + +cd ${HERMES_DIR} +chain_id=$(grep id config_for_namada.toml | sed -e s/\'//g | awk '{print $3}') + +# Add Gaia chain config +echo "${GAIA_CHAIN_CONFIG}" >> config_for_namada.toml + +# add Gaia key +cargo run -q --bin hermes -- --config config_for_namada.toml \ + keys add --chain gaia-0 --key-file ${DATA_DIR}/gaia-0/user_seed.json --overwrite + +# Initialize Relayer's balance on Namada +${NAMADAC} --base-dir ${base_dir} \ + transfer \ + --source albert \ + --target relayer \ + --token nam \ + --amount 10000 \ + --node ${NAMADA_LEDGER_ADDR} + +${NAMADAC} --base-dir ${base_dir} \ + transfer \ + --source albert \ + --target relayer \ + --token apfel \ + --amount 1000 \ + --node ${NAMADA_LEDGER_ADDR} + +# create a channel +cargo run --bin hermes -- --config config_for_namada.toml \ + create channel --a-chain ${chain_id} \ + --b-chain gaia-0 \ + --a-port transfer \ + --b-port transfer \ + --new-client-connection --yes + +# Transfer 100 samoleans from Gaia to Namada +namada_receiver=$(${NAMADAW} --base-dir ${base_dir} address find --alias relayer | awk '{print $4}') +cargo run --bin hermes -- --config config_for_namada.toml \ + tx ft-transfer \ + --dst-chain ${chain_id} \ + --src-chain gaia-0 \ + --src-port transfer \ + --src-channel channel-0 \ + --amount 100 \ + --receiver ${namada_receiver} \ + --denom samoleans \ + --timeout-height-offset 1000 + +# packet-recv +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-recv \ + --dst-chain ${chain_id} \ + --src-chain gaia-0 \ + --src-port transfer \ + --src-channel channel-0 + +# packet-ack +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-ack \ + --dst-chain gaia-0 \ + --src-chain ${chain_id} \ + --src-port transfer \ + --src-channel channel-0 + +echo "Balances on Namada" +${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ + --owner relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "Balances on Gaia" +gaia_user=$(gaiad --home ${DATA_DIR}/gaia-0 \ + keys --keyring-backend="test" show user -a) +gaiad query bank balances ${gaia_user} + +# transfer back 50 samoleans from Namada to Gaia +${NAMADAC} --base-dir ${base_dir} ibc-transfer \ + --source relayer \ + --receiver ${gaia_user} \ + --token ${IBC_TOKEN} \ + --amount 50 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${NAMADA_LEDGER_ADDR} + +# packet-recv +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-recv \ + --dst-chain gaia-0 \ + --src-chain ${chain_id} \ + --src-port transfer \ + --src-channel channel-0 + +# packet-ack +cargo run --bin hermes -- --config config_for_namada.toml \ + tx packet-ack \ + --dst-chain ${chain_id} \ + --src-chain gaia-0 \ + --src-port transfer \ + --src-channel channel-0 + +echo "Balances on Namada" +${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ + --owner relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "Balances on Gaia" +gaiad query bank balances ${gaia_user} + +echo "==== Start Hermes ====" +cargo run --bin hermes -- --config config_for_namada.toml \ + start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & + +# transfer 200 apfel from Namada to Gaia +${NAMADAC} --base-dir ${base_dir} ibc-transfer \ + --source relayer \ + --receiver ${gaia_user} \ + --token apfel \ + --amount 200 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${NAMADA_LEDGER_ADDR} + +# wait for relaying +sleep 10 + +echo "Balances on Namada" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "Balances on Gaia" +gaiad query bank balances ${gaia_user} + +killall hermes +killall gaiad +killall namadan diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 31a268a7d2..534867424c 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -61,8 +61,9 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --b-port transfer \ --new-client-connection --yes -# faucet apfel on chain_a +# faucet apfel on chain_a and chain_b base_dir_a=${DATA_DIR}/namada-a +base_dir_b=${DATA_DIR}/namada-b ${NAMADAC} --base-dir ${base_dir_a} transfer \ --source albert \ --target relayer \ @@ -71,9 +72,16 @@ ${NAMADAC} --base-dir ${base_dir_a} transfer \ --signing-keys albert-key \ --node ${LEDGER_ADDR_A} +${NAMADAC} --base-dir ${base_dir_b} transfer \ + --source albert \ + --target relayer \ + --token apfel \ + --amount 1000 \ + --signing-keys albert-key \ + --node ${LEDGER_ADDR_B} + # Get the receiver addresses receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} address find --alias relayer | awk '{print $4}') -base_dir_b=${DATA_DIR}/namada-b receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} address find --alias relayer | awk '{print $4}') # transfer 100 apfel from chain_a to chain_b @@ -157,11 +165,11 @@ ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B} -# Start Hermes +echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & -# transfer 300 apfel from chain_a to chain_b +# transfer 200 apfel from chain_a to chain_b ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source relayer \ --receiver ${receiver_b} \ @@ -171,28 +179,26 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_A} -# transfer 300 apfel from chain_a to chain_b twice -${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ +# transfer 300 apfel from chain_b to chain_a +${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ - --receiver ${receiver_b} \ + --receiver ${receiver_a} \ --token apfel \ --amount 300 \ --signing-keys relayer \ --channel-id channel-0 \ - --node ${LEDGER_ADDR_A} + --node ${LEDGER_ADDR_B} # wait for relaying sleep 10 echo "Balances on chain A" ${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ --owner relayer \ --node ${LEDGER_ADDR_A} echo "Balances on chain B" ${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${received_token} \ --owner relayer \ --node ${LEDGER_ADDR_B} diff --git a/scripts/setup-namada b/scripts/setup-namada index bf2a56914b..04b778b56e 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -60,7 +60,7 @@ port = 3001 [[chains]] id = '_CHAIN_ID_A_' -type = 'namada' +type = 'Namada' rpc_addr = 'http://127.0.0.1:27657' grpc_addr = 'http://127.0.0.1:9090' event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } @@ -71,7 +71,7 @@ gas_price = { price = 0.001, denom = 'nam' } [[chains]] id = '_CHAIN_ID_B_' -type = 'namada' +type = 'Namada' rpc_addr = 'http://127.0.0.1:28657' grpc_addr = 'http://127.0.0.1:9090' event_source = { mode = 'push', url = 'ws://127.0.0.1:28657/websocket', batch_delay = '500ms' } diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 3f71ebb1a4..efa8e68fbe 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -55,7 +55,7 @@ port = 3001 [[chains]] id = '_CHAIN_ID_' -type = 'namada' +type = 'Namada' rpc_addr = 'http://127.0.0.1:27657' grpc_addr = 'http://127.0.0.1:9090' event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } From d0e75e8076267dbe9bca9df74bf864d8225fa677 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 15:11:15 +0100 Subject: [PATCH 008/103] minor fix for scripts --- e2e/namada-gaia-simple-transfers | 2 +- e2e/namada-simple-transfers | 2 +- scripts/setup-namada | 4 ++-- scripts/setup-namada-single-node | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index f556cf9333..9f1950386b 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -1,7 +1,7 @@ #!/bin/bash # This script sets up Namada and Gaia locally -# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# `make build` and `make build-wasm-scripts` on Namada directory in advance # Run with `namada-gaia-simple-transfers ${namada_dir}` set -e diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 534867424c..91ca496231 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -1,7 +1,7 @@ #!/bin/bash # This script executes simple transfers between Namada instances locally -# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# `make build` and `make build-wasm-scripts` on Namada directory in advance # Run with `namada-simple-transfers ${namada_dir}` set -e diff --git a/scripts/setup-namada b/scripts/setup-namada index 04b778b56e..2df3708fc7 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -1,8 +1,8 @@ #!/bin/bash # This script sets up 2 Namada chains locally -# `make build-release` and `make build-wasm-scripts` on Namada directory in advance -# Run with `setup-namada.sh ${namada_dir}` +# `make build` and `make build-wasm-scripts` on Namada directory in advance +# Run with `setup-namada ${namada_dir}` set -e diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index efa8e68fbe..9d3f160f2c 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -1,7 +1,7 @@ #!/bin/bash # This script sets up 1 Namada chain locally -# `make build-release` and `make build-wasm-scripts` on Namada directory in advance +# `make build` and `make build-wasm-scripts` on Namada directory in advance # Run with `setup-namada-single-node ${namada_dir}` set -e From c17e1122b0eeccc62c11b74833c16d3a1d7227c5 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 18:55:35 +0100 Subject: [PATCH 009/103] install protoc for CI --- .github/workflows/cargo-doc.yaml | 6 ++- .github/workflows/guide-templates.yaml | 5 ++ .github/workflows/integration.yaml | 65 ++++++++++++++++++++++++++ .github/workflows/misbehaviour.yml | 20 ++++++++ .github/workflows/multi-chains.yaml | 5 ++ .github/workflows/publish.yml | 5 ++ .github/workflows/rust.yml | 15 ++++++ 7 files changed, 120 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cargo-doc.yaml b/.github/workflows/cargo-doc.yaml index cfe2f2468f..fc42a84cd1 100644 --- a/.github/workflows/cargo-doc.yaml +++ b/.github/workflows/cargo-doc.yaml @@ -20,7 +20,11 @@ jobs: with: toolchain: nightly-2023-07-13 override: true - + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Build API documentation uses: actions-rs/cargo@v1 env: diff --git a/.github/workflows/guide-templates.yaml b/.github/workflows/guide-templates.yaml index 1d558a86cc..bcfa6e8082 100644 --- a/.github/workflows/guide-templates.yaml +++ b/.github/workflows/guide-templates.yaml @@ -32,6 +32,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Check templates run: bash scripts/auto_gen_templates.sh --mode "check" - uses: actions-rs/cargo@v1 diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 80ced67502..e95887e999 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -97,6 +97,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -134,6 +139,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -181,6 +191,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -236,6 +251,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -285,6 +305,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -331,6 +356,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -377,6 +407,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -422,6 +457,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -468,6 +508,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -514,6 +559,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -560,6 +610,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -607,6 +662,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -649,6 +709,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: diff --git a/.github/workflows/misbehaviour.yml b/.github/workflows/misbehaviour.yml index edba7b3824..721bb8a1db 100644 --- a/.github/workflows/misbehaviour.yml +++ b/.github/workflows/misbehaviour.yml @@ -80,6 +80,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Use Rust cache uses: Swatinem/rust-cache@v2 - name: Build Hermes @@ -134,6 +139,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Use Rust cache uses: Swatinem/rust-cache@v2 - name: Build Hermes @@ -188,6 +198,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Use Rust cache uses: Swatinem/rust-cache@v2 - name: Build Hermes @@ -243,6 +258,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Use Rust cache uses: Swatinem/rust-cache@v2 - name: Build Hermes diff --git a/.github/workflows/multi-chains.yaml b/.github/workflows/multi-chains.yaml index cecbd156ad..b62c56bbbf 100644 --- a/.github/workflows/multi-chains.yaml +++ b/.github/workflows/multi-chains.yaml @@ -102,6 +102,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cbcbc6f39a..fe22c39541 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,6 +15,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: katyo/publish-crates@v2 with: dry-run: true diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 49acf5017c..f79e21edc5 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -56,6 +56,11 @@ jobs: toolchain: stable components: clippy override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/clippy-check@v1 with: @@ -72,6 +77,11 @@ jobs: toolchain: stable components: clippy override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/clippy-check@v1 with: @@ -88,6 +98,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - name: Install cargo-nextest run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin From b6cc2fa9441ece1b475dba00825da2f1b4bdecb1 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 20:22:31 +0100 Subject: [PATCH 010/103] fix tests --- .../src/bin/test_setup_with_binary_channel.rs | 2 +- ...test_setup_with_fee_enabled_binary_channel.rs | 2 +- .../src/bin/test_setup_with_ternary_channel.rs | 2 +- .../src/tests/client_expiration.rs | 2 +- .../integration-test/src/tests/client_refresh.rs | 16 ++++++++++++---- .../src/tests/client_settings.rs | 2 ++ .../src/tests/fee/filter_fees.rs | 4 ++-- tools/integration-test/src/tests/memo.rs | 2 +- tools/integration-test/src/tests/python.rs | 2 +- .../src/tests/tendermint/sequential.rs | 4 ++-- .../src/util/interchain_security.rs | 2 +- 11 files changed, 25 insertions(+), 15 deletions(-) diff --git a/tools/integration-test/src/bin/test_setup_with_binary_channel.rs b/tools/integration-test/src/bin/test_setup_with_binary_channel.rs index 336b0c1b23..799157f00c 100644 --- a/tools/integration-test/src/bin/test_setup_with_binary_channel.rs +++ b/tools/integration-test/src/bin/test_setup_with_binary_channel.rs @@ -43,7 +43,7 @@ impl TestOverrides for Test { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { // Modify the key store type to `Store::Test` so that the wallet // keys are stored to ~/.hermes/keys so that we can use them // with external relayer commands. diff --git a/tools/integration-test/src/bin/test_setup_with_fee_enabled_binary_channel.rs b/tools/integration-test/src/bin/test_setup_with_fee_enabled_binary_channel.rs index d7e7c5456f..4355967af8 100644 --- a/tools/integration-test/src/bin/test_setup_with_fee_enabled_binary_channel.rs +++ b/tools/integration-test/src/bin/test_setup_with_fee_enabled_binary_channel.rs @@ -44,7 +44,7 @@ impl TestOverrides for Test { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { // Modify the key store type to `Store::Test` so that the wallet // keys are stored to ~/.hermes/keys so that we can use them // with external relayer commands. diff --git a/tools/integration-test/src/bin/test_setup_with_ternary_channel.rs b/tools/integration-test/src/bin/test_setup_with_ternary_channel.rs index 050c81cdcd..beb8e0ba4b 100644 --- a/tools/integration-test/src/bin/test_setup_with_ternary_channel.rs +++ b/tools/integration-test/src/bin/test_setup_with_ternary_channel.rs @@ -43,7 +43,7 @@ impl TestOverrides for Test { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { // Modify the key store type to `Store::Test` so that the wallet // keys are stored to ~/.hermes/keys so that we can use them // with external relayer commands. diff --git a/tools/integration-test/src/tests/client_expiration.rs b/tools/integration-test/src/tests/client_expiration.rs index 007ac0b459..483913237f 100644 --- a/tools/integration-test/src/tests/client_expiration.rs +++ b/tools/integration-test/src/tests/client_expiration.rs @@ -117,7 +117,7 @@ impl TestOverrides for ExpirationTestOverrides { for chain_config in config.chains.iter_mut() { match chain_config { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.trusting_period = Some(CLIENT_EXPIRY); } } diff --git a/tools/integration-test/src/tests/client_refresh.rs b/tools/integration-test/src/tests/client_refresh.rs index 24df985574..48a585ab59 100644 --- a/tools/integration-test/src/tests/client_refresh.rs +++ b/tools/integration-test/src/tests/client_refresh.rs @@ -129,12 +129,20 @@ impl BinaryChainTest for ClientFailsTest { chains, |config| { { - let ChainConfig::CosmosSdk(config_chain_a) = &mut config.chains[0]; - config_chain_a.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + match &mut config.chains[0] { + ChainConfig::CosmosSdk(config_chain_a) => { + config_chain_a.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + } + ChainConfig::Namada(_) => {} + } } - let ChainConfig::CosmosSdk(config_chain_b) = &mut config.chains[1]; - config_chain_b.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + match &mut config.chains[1] { + ChainConfig::CosmosSdk(config_chain_b) => { + config_chain_b.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + } + ChainConfig::Namada(_) => {} + } }, config, )?; diff --git a/tools/integration-test/src/tests/client_settings.rs b/tools/integration-test/src/tests/client_settings.rs index 2bc7ee02a3..175ffcae89 100644 --- a/tools/integration-test/src/tests/client_settings.rs +++ b/tools/integration-test/src/tests/client_settings.rs @@ -36,6 +36,7 @@ impl TestOverrides for ClientDefaultsTest { chain_config_a.trust_threshold = TrustThreshold::new(13, 23).unwrap().try_into().unwrap(); } + ChainConfig::Namada(_) => {} } match &mut config.chains[1] { @@ -45,6 +46,7 @@ impl TestOverrides for ClientDefaultsTest { chain_config_b.trusting_period = Some(Duration::from_secs(340_000)); chain_config_b.trust_threshold = TrustThreshold::TWO_THIRDS.try_into().unwrap(); } + ChainConfig::Namada(_) => {} } } } diff --git a/tools/integration-test/src/tests/fee/filter_fees.rs b/tools/integration-test/src/tests/fee/filter_fees.rs index a6cd76b37d..591a9f1d5a 100644 --- a/tools/integration-test/src/tests/fee/filter_fees.rs +++ b/tools/integration-test/src/tests/fee/filter_fees.rs @@ -28,7 +28,7 @@ impl TestOverrides for FilterIncentivizedFeesRelayerTest { let packet_filter = PacketFilter::new(ChannelPolicy::default(), min_fees); for chain_config in config.chains.iter_mut() { match chain_config { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.packet_filter = packet_filter.clone(); } } @@ -180,7 +180,7 @@ impl TestOverrides for FilterByChannelIncentivizedFeesRelayerTest { let packet_filter = PacketFilter::new(ChannelPolicy::default(), min_fees); for chain_config in config.chains.iter_mut() { match chain_config { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.packet_filter = packet_filter.clone(); } } diff --git a/tools/integration-test/src/tests/memo.rs b/tools/integration-test/src/tests/memo.rs index 2b44b90d48..c9c5911e7f 100644 --- a/tools/integration-test/src/tests/memo.rs +++ b/tools/integration-test/src/tests/memo.rs @@ -27,7 +27,7 @@ impl TestOverrides for MemoTest { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.memo_prefix = self.memo.clone(); } } diff --git a/tools/integration-test/src/tests/python.rs b/tools/integration-test/src/tests/python.rs index 29d6457885..96c77e8ba1 100644 --- a/tools/integration-test/src/tests/python.rs +++ b/tools/integration-test/src/tests/python.rs @@ -10,7 +10,7 @@ impl TestOverrides for PythonTest { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { // Modify the key store type to `Store::Test` so that the wallet // keys are stored to ~/.hermes/keys so that we can use them // with external relayer commands. diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index be9d254873..c6e954e89e 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -34,14 +34,14 @@ impl TestOverrides for SequentialCommitTest { fn modify_relayer_config(&self, config: &mut Config) { // Use sequential batching for chain A, and default parallel batching for chain B match &mut config.chains[0] { - ChainConfig::CosmosSdk(chain_config_a) => { + ChainConfig::CosmosSdk(chain_config_a) | ChainConfig::Namada(chain_config_a) => { chain_config_a.max_msg_num = MaxMsgNum::new(MESSAGES_PER_BATCH).unwrap(); chain_config_a.sequential_batch_tx = true; } }; match &mut config.chains[1] { - ChainConfig::CosmosSdk(chain_config_b) => { + ChainConfig::CosmosSdk(chain_config_b) | ChainConfig::Namada(chain_config_b) => { chain_config_b.max_msg_num = MaxMsgNum::new(MESSAGES_PER_BATCH).unwrap(); chain_config_b.sequential_batch_tx = false; } diff --git a/tools/test-framework/src/util/interchain_security.rs b/tools/test-framework/src/util/interchain_security.rs index 035efb3c84..bb28374708 100644 --- a/tools/test-framework/src/util/interchain_security.rs +++ b/tools/test-framework/src/util/interchain_security.rs @@ -28,7 +28,7 @@ pub fn update_relayer_config_for_consumer_chain(config: &mut Config) { chain_config.ccv_consumer_chain = true; chain_config.trusting_period = Some(Duration::from_secs(99)); } - ChainConfig::CosmosSdk(_) => {} + ChainConfig::CosmosSdk(_) | ChainConfig::Namada(_) => {} } } } From 3cf5d17a353c152cb84685f73a17527c8940bac2 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 20:56:00 +0100 Subject: [PATCH 011/103] fix tests --- crates/relayer/src/config.rs | 2 +- tools/check-guide/Cargo.lock | 4561 +++++++++++++++-- tools/integration-test/src/mbt/transfer.rs | 2 +- tools/integration-test/src/tests/fee_grant.rs | 2 +- tools/integration-test/src/tests/ica.rs | 4 +- .../src/tests/ordered_channel_clear.rs | 8 +- tools/test-framework/src/chain/chain_type.rs | 2 +- 7 files changed, 4103 insertions(+), 478 deletions(-) diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index a5d997cc0e..043d7287a9 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -656,7 +656,7 @@ impl ChainConfig { pub fn clear_interval(&self) -> Option { match self { - Self::CosmosSdk(config) => config.clear_interval, + Self::CosmosSdk(config) | Self::Namada(config) => config.clear_interval, } } } diff --git a/tools/check-guide/Cargo.lock b/tools/check-guide/Cargo.lock index 735f88c9a3..e7718d6db3 100644 --- a/tools/check-guide/Cargo.lock +++ b/tools/check-guide/Cargo.lock @@ -2,6 +2,16 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "abscissa_core" version = "0.6.0" @@ -18,12 +28,12 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver", + "semver 1.0.20", "serde", "termcolor", "toml 0.5.11", "tracing", - "tracing-log", + "tracing-log 0.1.4", "tracing-subscriber", "wait-timeout", ] @@ -47,7 +57,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli", + "gimli 0.28.0", ] [[package]] @@ -56,11 +66,43 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom 0.2.11", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -153,6 +195,140 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +[[package]] +name = "ark-bls12-381" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65be532f9dd1e98ad0150b037276cde464c6f371059e6dd02c0222395761f6aa" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dea978406c4b1ca13c2db2373b05cc55429c3575b8b21f1b9ee859aa5b03dd42" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ed-on-bls12-381" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b7ada17db3854f5994e74e60b18e10e818594935ee7e1d329800c117b32970" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0f78f47537c2f15706db7e98fe64cc1711dbf9def81218194e17239e53e5aa" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.11.2", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd4e5f0bf8285d5ed538d27fab7411f3e297908fd93c62195de8bee3f199e82" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "async-stream" version = "0.3.5" @@ -172,18 +348,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -202,6 +378,17 @@ dependencies = [ "tungstenite", ] +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.0", +] + [[package]] name = "atty" version = "0.2.14" @@ -213,6 +400,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "auto_impl" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -279,7 +478,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object", + "object 0.32.1", "rustc-demangle", ] @@ -289,6 +488,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base58" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" + [[package]] name = "base64" version = "0.13.1" @@ -297,15 +502,21 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" + +[[package]] +name = "bech32" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" [[package]] name = "bech32" @@ -313,6 +524,54 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bellman" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afceed28bac7f9f5a508bca8aeeff51cdfa4770c0b967ac55c621e2ddfd6171" +dependencies = [ + "bitvec", + "blake2s_simd", + "byteorder", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" +dependencies = [ + "serde", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bip0039" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef0f0152ec5cf17f49a5866afaa3439816207fd4f0a224c0211ffaf5e278426" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.10.1", + "rand 0.8.5", + "sha2 0.10.8", + "unicode-normalization", + "zeroize", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -330,11 +589,11 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitcoin" -version = "0.30.1" +version = "0.30.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75" +checksum = "1945a5048598e4189e239d3f809b19bdad4845c4b2ba400d304d2dcf26d2c462" dependencies = [ - "bech32", + "bech32 0.9.1", "bitcoin-private", "bitcoin_hashes", "hex_lit", @@ -366,133 +625,358 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] -name = "block-buffer" -version = "0.9.0" +name = "bitvec" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "generic-array", + "funty", + "radium", + "tap", + "wyz", ] [[package]] -name = "block-buffer" -version = "0.10.4" +name = "blake2" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "generic-array", + "digest 0.10.7", ] [[package]] -name = "bs58" -version = "0.5.0" +name = "blake2b_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ - "tinyvec", + "arrayref", + "arrayvec", + "constant_time_eq", ] [[package]] -name = "bstr" -version = "1.6.2" +name = "blake2s_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ - "memchr", - "regex-automata 0.3.9", - "serde", + "arrayref", + "arrayvec", + "constant_time_eq", ] [[package]] -name = "bumpalo" -version = "3.14.0" +name = "blake3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if 1.0.0", + "constant_time_eq", +] [[package]] -name = "byte-unit" -version = "4.0.19" +name = "block-buffer" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "serde", - "utf8-width", + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.4", ] [[package]] -name = "bytecount" -version = "0.6.4" +name = "block-buffer" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "byteorder" -version = "1.4.3" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "bytes" -version = "1.5.0" +name = "block-padding" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "serde", + "byte-tools", ] [[package]] -name = "camino" -version = "1.1.6" +name = "bls12_381" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" dependencies = [ - "serde", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", ] [[package]] -name = "canonical-path" -version = "2.0.2" +name = "borsh" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" +checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +dependencies = [ + "borsh-derive 0.9.3", + "hashbrown 0.11.2", +] [[package]] -name = "cargo-platform" -version = "0.1.3" +name = "borsh" +version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +checksum = "41898277107b0d3f027593697912977397eba6ac39a55bdd2eb02c1d5d5013b5" dependencies = [ - "serde", + "borsh-derive 1.0.0-alpha.4", + "cfg_aliases", ] [[package]] -name = "cargo_metadata" -version = "0.14.2" +name = "borsh-derive" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", ] [[package]] -name = "cc" -version = "1.0.83" +name = "borsh-derive" +version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "413cb435569fe499e89235f758304e0e7198016baa351d8f5827ea0f40526ce0" dependencies = [ - "libc", + "once_cell", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.39", + "syn_derive", ] [[package]] -name = "cfg-if" +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-ext" +version = "1.0.0-alpha.4" +source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.0.0-alpha.4#6bebf357002f96574ac37a28f547b6c88e91b799" +dependencies = [ + "borsh 1.0.0-alpha.4", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bs58" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "sha2 0.10.8", + "tinyvec", +] + +[[package]] +name = "bstr" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +dependencies = [ + "memchr", + "regex-automata 0.4.3", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + +[[package]] +name = "byte-unit" +version = "4.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +dependencies = [ + "serde", + "utf8-width", +] + +[[package]] +name = "bytecheck" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytecount" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +dependencies = [ + "serde", +] + +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "canonical-path" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" + +[[package]] +name = "cargo-platform" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff" +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.20", + "serde", + "serde_json", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher 0.4.4", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" @@ -503,6 +987,47 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "chacha20" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.3.0", + "cpufeatures", +] + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if 1.0.0", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20 0.9.1", + "cipher 0.4.4", + "poly1305", + "zeroize", +] + [[package]] name = "check-guide" version = "0.1.0" @@ -527,6 +1052,35 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "circular-queue" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d34327ead1c743a10db339de35fb58957564b99d248a67985c55638b22c59b5" +dependencies = [ + "version_check", +] + [[package]] name = "clap" version = "3.2.25" @@ -546,22 +1100,22 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.6" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.1", + "clap_lex 0.6.0", "strsim", "terminal_size", ] @@ -577,11 +1131,11 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.4.3" +version = "4.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ae8ba90b9d8b007efe66e55e48fb936272f5ca00349b5b0e89877520d35ea7" +checksum = "bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae" dependencies = [ - "clap 4.4.6", + "clap 4.4.8", ] [[package]] @@ -608,9 +1162,66 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" + +[[package]] +name = "clru" +version = "0.5.0" +source = "git+https://github.com/marmeladema/clru-rs.git?rev=71ca566#71ca566915f21f3c308091ca7756a91b0f8b5afc" + +[[package]] +name = "coins-bip32" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" +dependencies = [ + "bs58", + "coins-core", + "digest 0.10.7", + "hmac 0.12.1", + "k256", + "serde", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-bip39" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" +dependencies = [ + "bitvec", + "coins-bip32", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.12.2", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-core" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" +dependencies = [ + "base64 0.21.5", + "bech32 0.9.1", + "bs58", + "digest 0.10.7", + "generic-array 0.14.7", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2 0.10.8", + "sha3", + "thiserror", +] [[package]] name = "color-eyre" @@ -629,9 +1240,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" dependencies = [ "once_cell", "owo-colors", @@ -658,12 +1269,31 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "const-hex" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "hex", + "proptest", + "serde", +] + [[package]] name = "const-oid" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + [[package]] name = "contracts" version = "0.6.3" @@ -691,15 +1321,96 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +[[package]] +name = "corosensei" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" +dependencies = [ + "autocfg", + "cfg-if 1.0.0", + "libc", + "scopeguard", + "windows-sys 0.33.0", +] + [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] +[[package]] +name = "cranelift-bforest" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38faa2a16616c8e78a18d37b4726b98bfd2de192f2fdc8a39ddf568a408a0f75" +dependencies = [ + "cranelift-entity", +] + +[[package]] +name = "cranelift-codegen" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26f192472a3ba23860afd07d2b0217dc628f21fcc72617aa1336d98e1671f33b" +dependencies = [ + "cranelift-bforest", + "cranelift-codegen-meta", + "cranelift-codegen-shared", + "cranelift-entity", + "gimli 0.26.2", + "log", + "regalloc", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cranelift-codegen-meta" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f32ddb89e9b89d3d9b36a5b7d7ea3261c98235a76ac95ba46826b8ec40b1a24" +dependencies = [ + "cranelift-codegen-shared", +] + +[[package]] +name = "cranelift-codegen-shared" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fd0d9f288cc1b42d9333b7a776b17e278fc888c28e6a0f09b5573d45a150bc" + +[[package]] +name = "cranelift-entity" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf" + +[[package]] +name = "cranelift-frontend" +version = "0.82.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a006e3e32d80ce0e4ba7f1f9ddf66066d052a8c884a110b91d05404d6ce26dce" +dependencies = [ + "cranelift-codegen", + "log", + "smallvec", + "target-lexicon", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "crossbeam-channel" version = "0.4.4" @@ -720,6 +1431,17 @@ dependencies = [ "crossbeam-utils 0.8.16", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if 1.0.0", + "crossbeam-epoch", + "crossbeam-utils 0.8.16", +] + [[package]] name = "crossbeam-epoch" version = "0.9.15" @@ -729,7 +1451,7 @@ dependencies = [ "autocfg", "cfg-if 1.0.0", "crossbeam-utils 0.8.16", - "memoffset", + "memoffset 0.9.0", "scopeguard", ] @@ -761,13 +1483,13 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "generic-array", - "rand_core", - "subtle", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle 2.4.1", "zeroize", ] @@ -777,10 +1499,58 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array", + "generic-array 0.14.7", "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" +dependencies = [ + "generic-array 0.12.4", + "subtle 1.0.0", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.7", + "subtle 2.4.1", +] + +[[package]] +name = "ct-codecs" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher 0.4.4", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle 2.4.1", + "zeroize", +] + [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -793,20 +1563,20 @@ dependencies = [ "digest 0.10.7", "fiat-crypto", "platforms", - "rustc_version", - "subtle", + "rustc_version 0.4.0", + "subtle 2.4.1", "zeroize", ] [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -817,11 +1587,46 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core", + "rand_core 0.6.4", "subtle-ng", "zeroize", ] +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.39", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.39", +] + [[package]] name = "dashmap" version = "5.5.3" @@ -829,7 +1634,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.1", + "hashbrown 0.14.2", "lock_api", "once_cell", "parking_lot_core", @@ -853,9 +1658,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivation-path" @@ -863,6 +1671,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -886,13 +1705,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array 0.12.4", +] + [[package]] name = "digest" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -904,7 +1732,16 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle", + "subtle 2.4.1", +] + +[[package]] +name = "directories" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" +dependencies = [ + "dirs-sys", ] [[package]] @@ -917,6 +1754,17 @@ dependencies = [ "dirs-sys-next", ] +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -928,29 +1776,98 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "dynasm" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dynasmrt" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" +dependencies = [ + "byteorder", + "dynasm", + "memmap2", +] + [[package]] name = "ecdsa" -version = "0.16.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", "digest 0.10.7", "elliptic-curve", "rfc6979", - "signature", + "serdect", + "signature 2.2.0", "spki", ] [[package]] name = "ed25519" -version = "2.2.2" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" +dependencies = [ + "serde", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", "serde", - "signature", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-consensus" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758e2a0cd8a6cdf483e1d369e7d081647e00b88d8953e34d8f2cbba05ae28368" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", + "serde", + "sha2 0.9.9", + "thiserror", + "zeroize", ] [[package]] @@ -961,22 +1878,39 @@ checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ "curve25519-dalek-ng", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.9.9", "zeroize", ] [[package]] name = "ed25519-dalek" -version = "2.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core", + "curve25519-dalek 3.2.0", + "ed25519 1.5.3", + "merlin", + "rand 0.7.3", + "serde", + "serde_bytes", + "sha2 0.9.9", + "zeroize", +] + +[[package]] +name = "ed25519-dalek" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +dependencies = [ + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", + "rand_core 0.6.4", "serde", "sha2 0.10.8", + "subtle 2.4.1", "zeroize", ] @@ -987,8 +1921,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" dependencies = [ "derivation-path", - "ed25519-dalek", - "hmac", + "ed25519-dalek 2.1.0", + "hmac 0.12.1", "sha2 0.10.8", ] @@ -1012,20 +1946,21 @@ dependencies = [ [[package]] name = "elliptic-curve" -version = "0.13.6" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", "digest 0.10.7", "ff", - "generic-array", + "generic-array 0.14.7", "group", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", - "subtle", + "serdect", + "subtle 2.4.1", "zeroize", ] @@ -1044,6 +1979,65 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "enr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +dependencies = [ + "base64 0.21.5", + "bytes", + "hex", + "k256", + "log", + "rand 0.8.5", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "enum-iterator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "enumset" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +dependencies = [ + "enumset_derive", +] + +[[package]] +name = "enumset_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "env_logger" version = "0.9.3" @@ -1059,9 +2053,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" dependencies = [ "humantime", "is-terminal", @@ -1078,44 +2072,358 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.4" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ - "errno-dragonfly", "libc", "windows-sys 0.48.0", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "error-chain" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" dependencies = [ - "cc", - "libc", + "version_check", ] [[package]] -name = "error-chain" -version = "0.12.4" +name = "eth-keystore" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ - "version_check", + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "rand 0.8.5", + "scrypt", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "thiserror", + "uuid 0.8.2", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethbridge-bridge-contract" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethbridge-bridge-events", + "ethbridge-structs", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethbridge-bridge-events" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethabi", + "ethbridge-structs", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethbridge-structs" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" +dependencies = [ + "ethabi", + "ethers", + "ethers-contract", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c405f24ea3a517899ba7985385c43dc4a7eb1209af3b1e0a1a32d7dcc7f8d09" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0111ead599d17a7bff6985fd5756f39ca7033edc79a31b23026a8d5d64fa95cd" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51258120c6b47ea9d9bec0d90f9e8af71c977fbefbef8213c91bfed385fe45eb" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "eyre", + "prettyplease 0.2.15", + "proc-macro2", + "quote", + "regex", + "serde", + "serde_json", + "syn 2.0.39", + "toml 0.8.8", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936e7a0f1197cee2b62dc89f63eff3201dbf87c283ff7e18d86d38f83b845483" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.39", +] + +[[package]] +name = "ethers-core" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f03e0bdc216eeb9e355b90cf610ef6c5bb8aca631f97b5ae9980ce34ea7878d" +dependencies = [ + "arrayvec", + "bytes", + "cargo_metadata 0.18.1", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array 0.14.7", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand 0.8.5", + "rlp", + "serde", + "serde_json", + "strum", + "syn 2.0.39", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abbac2c890bdbe0f1b8e549a53b00e2c4c1de86bb077c1094d1f38cdf9381a56" +dependencies = [ + "chrono", + "ethers-core", + "reqwest", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681ece6eb1d10f7cf4f873059a77c04ff1de4f35c63dd7bccde8f438374fcb93" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25d6c0c9455d93d4990c06e049abf9b30daf148cf461ee939c11d88907c60816" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.5", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cb1b714e227bbd2d8c53528adb580b203009728b17d0d0e4119353aa9bc5532" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "tracing", ] [[package]] name = "eyre" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd" dependencies = [ "indenter", "once_cell", ] +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fancy-regex" version = "0.10.0" @@ -1132,21 +2440,83 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[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", + "windows-sys 0.48.0", +] + +[[package]] +name = "ferveo" +version = "0.1.1" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "bincode", + "blake2", + "blake2b_simd", + "borsh 0.9.3", + "digest 0.10.7", + "ed25519-dalek 1.0.1", + "either", + "ferveo-common", + "group-threshold-cryptography", + "hex", + "itertools 0.10.5", + "measure_time", + "miracl_core", + "num 0.4.1", + "rand 0.7.3", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_json", + "subproductdomain", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "ferveo-common" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-ec", + "ark-serialize", + "ark-std", + "serde", + "serde_bytes", +] + [[package]] name = "ff" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core", - "subtle", + "bitvec", + "rand_core 0.6.4", + "subtle 2.4.1", ] [[package]] name = "fiat-crypto" -version = "0.2.1" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" [[package]] name = "filetime" @@ -1166,9 +2536,18 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", "static_assertions", ] +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "flex-error" version = "0.4.4" @@ -1195,11 +2574,28 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fpe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c4b37de5ae15812a764c958297cfc50f5c010438f60c6ce75d11b802abd404" +dependencies = [ + "cbc", + "cipher 0.4.4", + "libm", + "num-bigint 0.4.4", + "num-integer", + "num-traits", +] + [[package]] name = "fs-err" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] [[package]] name = "fsevent-sys" @@ -1210,6 +2606,12 @@ dependencies = [ "libc", ] +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futf" version = "0.1.5" @@ -1222,9 +2624,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1237,9 +2639,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1247,15 +2649,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1264,38 +2666,58 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" + +[[package]] +name = "futures-locks" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" + +[[package]] +name = "futures-timer" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1309,6 +2731,24 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -1322,17 +2762,41 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if 1.0.0", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "indexmap 1.9.3", + "stable_deref_trait", +] + [[package]] name = "gimli" version = "0.28.0" @@ -1358,6 +2822,18 @@ dependencies = [ "regex", ] +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + [[package]] name = "group" version = "0.13.0" @@ -1365,8 +2841,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", - "subtle", + "memuse", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "group-threshold-cryptography" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "blake2b_simd", + "chacha20 0.8.2", + "hex", + "itertools 0.10.5", + "miracl_core", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "subproductdomain", + "thiserror", ] [[package]] @@ -1391,9 +2892,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes", "fnv", @@ -1401,7 +2902,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.1.0", "slab", "tokio", "tokio-util", @@ -1416,9 +2917,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "handlebars" -version = "4.4.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39b3bc2a8f715298032cf5087e58573809374b08160aa7d750582bdb82d2683" +checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" dependencies = [ "log", "pest", @@ -1428,17 +2929,38 @@ dependencies = [ "thiserror", ] +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" + +[[package]] +name = "hashers" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] [[package]] name = "hdpath" @@ -1455,7 +2977,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "bytes", "headers-core", "http", @@ -1506,6 +3028,26 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + [[package]] name = "hmac" version = "0.12.1" @@ -1515,6 +3057,32 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + +[[package]] +name = "hmac-sha512" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "html5ever" version = "0.26.0" @@ -1531,9 +3099,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -1596,7 +3164,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -1605,9 +3173,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", @@ -1631,16 +3199,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -1652,6 +3220,34 @@ dependencies = [ "cc", ] +[[package]] +name = "ibc" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "184eb22140cb4143bbcf7ddc8fdfeb9cc058ef73a6066f8ea78162e69d3565d1" +dependencies = [ + "bytes", + "derive_more", + "displaydoc", + "ibc-derive", + "ibc-proto 0.37.1", + "ics23", + "num-traits", + "primitive-types", + "prost 0.12.2", + "serde", + "serde-json-wasm", + "serde_derive", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", + "time", + "tracing", + "uint", +] + [[package]] name = "ibc-chain-registry" version = "0.26.1" @@ -1660,7 +3256,7 @@ dependencies = [ "flex-error", "futures", "http", - "ibc-proto", + "ibc-proto 0.39.0", "ibc-relayer-types", "itertools 0.10.5", "reqwest", @@ -1671,17 +3267,45 @@ dependencies = [ "tracing", ] +[[package]] +name = "ibc-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92f1528535e9ca495badb76c143bdd4763c1c9d987f59d1f8b47963ba0c11674" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "ibc-proto" +version = "0.37.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63042806bb2f662ca1c68026231900cfe13361136ddfd0dd09bcb315056a22b8" +dependencies = [ + "base64 0.21.5", + "bytes", + "flex-error", + "ics23", + "prost 0.12.2", + "serde", + "subtle-encoding", + "tendermint-proto", +] + [[package]] name = "ibc-proto" version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b5aca9ca863246a2b358e0a1845759780860673e54c0a76335faccc504981c" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "bytes", "flex-error", "ics23", - "prost", + "prost 0.12.2", "serde", "subtle-encoding", "tendermint-proto", @@ -1694,7 +3318,7 @@ version = "0.26.1" dependencies = [ "anyhow", "async-stream", - "bech32", + "bech32 0.9.1", "bitcoin", "bs58", "byte-unit", @@ -1702,36 +3326,38 @@ dependencies = [ "crossbeam-channel 0.5.8", "digest 0.10.7", "dirs-next", - "ed25519", - "ed25519-dalek", + "ed25519 2.2.3", + "ed25519-dalek 2.1.0", "ed25519-dalek-bip32", "flex-error", "futures", - "generic-array", + "generic-array 0.14.7", "hdpath", "hex", "http", "humantime", "humantime-serde", - "ibc-proto", + "ibc-proto 0.39.0", "ibc-relayer-types", "ibc-telemetry", "itertools 0.10.5", "moka", - "num-bigint", - "num-rational", + "namada", + "namada_sdk", + "num-bigint 0.4.4", + "num-rational 0.4.1", "once_cell", - "prost", + "prost 0.12.2", "regex", "retry", "ripemd", "secp256k1", - "semver", + "semver 1.0.20", "serde", "serde_derive", "serde_json", "sha2 0.10.8", - "signature", + "signature 2.2.0", "strum", "subtle-encoding", "tendermint", @@ -1741,7 +3367,7 @@ dependencies = [ "tendermint-proto", "tendermint-rpc", "thiserror", - "tiny-bip39", + "tiny-bip39 1.0.0", "tiny-keccak", "tokio", "tokio-stream", @@ -1749,7 +3375,7 @@ dependencies = [ "tonic", "tracing", "tracing-subscriber", - "uuid 1.4.1", + "uuid 1.6.1", ] [[package]] @@ -1811,12 +3437,12 @@ dependencies = [ "bytes", "derive_more", "flex-error", - "ibc-proto", + "ibc-proto 0.39.0", "ics23", "itertools 0.10.5", - "num-rational", + "num-rational 0.4.1", "primitive-types", - "prost", + "prost 0.12.2", "regex", "serde", "serde_derive", @@ -1859,7 +3485,7 @@ dependencies = [ "bytes", "hex", "informalsystems-pbjson", - "prost", + "prost 0.12.2", "ripemd", "serde", "sha2 0.10.8", @@ -1899,6 +3525,35 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + [[package]] name = "impl-serde" version = "0.4.0" @@ -1908,12 +3563,41 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "incrementalmerkletree" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5ad43a3f5795945459d577f6589cf62a476e92c79b75e70cd954364e14ce17b" +dependencies = [ + "serde", +] + [[package]] name = "indenter" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +[[package]] +name = "index-set" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.0#0c218cc300c1bb7a1acf34f21b6e9d489df5fda8" +dependencies = [ + "borsh 1.0.0-alpha.4", + "serde", +] + [[package]] name = "indexmap" version = "1.9.3" @@ -1922,16 +3606,17 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", + "serde", ] [[package]] name = "indexmap" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.2", ] [[package]] @@ -1945,30 +3630,60 @@ dependencies = [ ] [[package]] -name = "inotify" -version = "0.9.6" +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "inotify-sys" +name = "integer-sqrt" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "libc", + "num-traits", ] [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" @@ -2007,23 +3722,54 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.5", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "jubjub" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8499f7a74008aafbecb2a2e608a3e13e4dd3e84df198b604451efe93f2de6e61" +dependencies = [ + "bitvec", + "bls12_381", + "ff", + "group", + "rand_core 0.6.4", + "subtle 2.4.1", +] + [[package]] name = "k256" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" dependencies = [ "cfg-if 1.0.0", "ecdsa", "elliptic-curve", + "once_cell", + "serdect", "sha2 0.10.8", + "signature 2.2.0", ] [[package]] @@ -2061,23 +3807,72 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + [[package]] name = "libc" -version = "0.2.148" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if 1.0.0", + "winapi", +] + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.1", + "typenum", +] [[package]] name = "linux-raw-sys" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -2089,12 +3884,42 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "loupe" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b6a72dfa44fe15b5e76b94307eeb2ff995a8c5b283b55008940c02e0c5b634d" +dependencies = [ + "indexmap 1.9.3", + "loupe-derive", + "rustversion", +] + +[[package]] +name = "loupe-derive" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fbfc88337168279f2e9ae06e157cfed4efd3316e14dc96ed074d4f2e6c5952" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "mac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "mach2" version = "0.4.1" @@ -2124,6 +3949,71 @@ dependencies = [ "tendril", ] +[[package]] +name = "masp_note_encryption" +version = "0.2.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "borsh 1.0.0-alpha.4", + "chacha20 0.9.1", + "chacha20poly1305", + "cipher 0.4.4", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "masp_primitives" +version = "0.9.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "aes", + "bip0039", + "bitvec", + "blake2b_simd", + "blake2s_simd", + "bls12_381", + "borsh 1.0.0-alpha.4", + "byteorder", + "ff", + "fpe", + "group", + "hex", + "incrementalmerkletree", + "jubjub", + "lazy_static", + "masp_note_encryption", + "memuse", + "nonempty", + "num-traits", + "rand 0.8.5", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle 2.4.1", + "zcash_encoding", +] + +[[package]] +name = "masp_proofs" +version = "0.9.0" +source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +dependencies = [ + "bellman", + "blake2b_simd", + "bls12_381", + "directories", + "getrandom 0.2.11", + "group", + "itertools 0.11.0", + "jubjub", + "lazy_static", + "masp_primitives", + "minreq", + "rand_core 0.6.4", + "redjubjub", + "tracing", +] + [[package]] name = "matchers" version = "0.1.0" @@ -2154,10 +4044,10 @@ dependencies = [ "ammonia", "anyhow", "chrono", - "clap 4.4.6", - "clap_complete 4.4.3", + "clap 4.4.8", + "clap_complete 4.4.4", "elasticlunr-rs", - "env_logger 0.10.0", + "env_logger 0.10.1", "futures-util", "handlebars", "ignore", @@ -2192,16 +4082,44 @@ dependencies = [ "lazy_static", "log", "mdbook", - "semver", + "semver 1.0.20", "serde_json", ] +[[package]] +name = "measure_time" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56220900f1a0923789ecd6bf25fbae8af3b2f1ff3e9e297fc9b6b8674dd4d852" +dependencies = [ + "instant", + "log", +] + [[package]] name = "memchr" version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "memoffset" version = "0.9.0" @@ -2211,6 +4129,30 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memuse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" + +[[package]] +name = "memzero" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db" + +[[package]] +name = "merlin" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" +dependencies = [ + "byteorder", + "keccak", + "rand_core 0.5.1", + "zeroize", +] + [[package]] name = "mime" version = "0.3.17" @@ -2236,37 +4178,275 @@ dependencies = [ "adler", ] +[[package]] +name = "minreq" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" +dependencies = [ + "log", + "once_cell", + "rustls", + "rustls-webpki", + "webpki-roots", +] + [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.48.0", ] [[package]] -name = "moka" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" +name = "miracl_core" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" + +[[package]] +name = "moka" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" +dependencies = [ + "crossbeam-channel 0.5.8", + "crossbeam-epoch", + "crossbeam-utils 0.8.16", + "once_cell", + "parking_lot", + "quanta", + "rustc_version 0.4.0", + "skeptic", + "smallvec", + "tagptr", + "thiserror", + "triomphe", + "uuid 1.6.1", +] + +[[package]] +name = "more-asserts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "namada" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +dependencies = [ + "async-trait", + "bimap", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "circular-queue", + "clru", + "data-encoding", + "derivation-path", + "derivative", + "ethbridge-bridge-contract", + "ethers", + "eyre", + "futures", + "itertools 0.10.5", + "loupe", + "masp_primitives", + "masp_proofs", + "namada_core", + "namada_ethereum_bridge", + "namada_proof_of_stake", + "namada_sdk", + "num256", + "orion", + "owo-colors", + "parity-wasm", + "parse_duration", + "paste", + "prost 0.12.2", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "ripemd", + "serde", + "serde_json", + "sha2 0.9.9", + "slip10_ed25519", + "tendermint-rpc", + "thiserror", + "tiny-bip39 0.8.2", + "tiny-hderive", + "tokio", + "toml 0.5.11", + "tracing", + "wasm-instrument", + "wasmer", + "wasmer-cache", + "wasmer-compiler-singlepass", + "wasmer-engine-dylib", + "wasmer-engine-universal", + "wasmer-vm", + "wasmparser 0.107.0", + "wasmtimer", + "zeroize", +] + +[[package]] +name = "namada_core" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-serialize", + "bech32 0.8.1", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "chrono", + "data-encoding", + "derivative", + "ed25519-consensus 1.2.1", + "ethabi", + "ethbridge-structs", + "eyre", + "ferveo", + "ferveo-common", + "group-threshold-cryptography", + "ibc", + "ibc-derive", + "ibc-proto 0.37.1", + "ics23", + "impl-num-traits", + "index-set", + "itertools 0.10.5", + "k256", + "masp_primitives", + "namada_macros", + "num-integer", + "num-rational 0.4.1", + "num-traits", + "num256", + "primitive-types", + "prost 0.12.2", + "prost-types 0.12.2", + "rand 0.8.5", + "rand_core 0.6.4", + "rayon", + "serde", + "serde_json", + "sha2 0.9.9", + "sparse-merkle-tree", + "tendermint", + "tendermint-proto", + "thiserror", + "tiny-keccak", + "tonic-build", + "tracing", + "uint", + "zeroize", +] + +[[package]] +name = "namada_ethereum_bridge" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +dependencies = [ + "borsh 1.0.0-alpha.4", + "borsh-ext", + "ethers", + "eyre", + "itertools 0.10.5", + "namada_core", + "namada_macros", + "namada_proof_of_stake", + "rand 0.8.5", + "serde", + "serde_json", + "tendermint", + "tendermint-proto", + "tendermint-rpc", + "tracing", +] + +[[package]] +name = "namada_macros" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "namada_proof_of_stake" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +dependencies = [ + "borsh 1.0.0-alpha.4", + "data-encoding", + "derivative", + "namada_core", + "once_cell", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_sdk" +version = "0.25.0" +source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-epoch", - "crossbeam-utils 0.8.16", - "once_cell", - "parking_lot", - "quanta", - "rustc_version", - "skeptic", - "smallvec", - "tagptr", + "async-trait", + "bimap", + "borsh 1.0.0-alpha.4", + "borsh-ext", + "circular-queue", + "data-encoding", + "derivation-path", + "ethbridge-bridge-contract", + "ethers", + "fd-lock", + "futures", + "itertools 0.10.5", + "masp_primitives", + "masp_proofs", + "namada_core", + "namada_ethereum_bridge", + "namada_proof_of_stake", + "num256", + "orion", + "owo-colors", + "parse_duration", + "paste", + "prost 0.12.2", + "rand 0.8.5", + "rand_core 0.6.4", + "ripemd", + "serde", + "serde_json", + "sha2 0.9.9", + "slip10_ed25519", + "tendermint-rpc", "thiserror", - "triomphe", - "uuid 1.4.1", + "tiny-bip39 0.8.2", + "tiny-hderive", + "tokio", + "toml 0.5.11", + "tracing", + "wasmtimer", + "zeroize", ] [[package]] @@ -2275,6 +4455,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + [[package]] name = "normpath" version = "1.1.1" @@ -2290,7 +4476,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "crossbeam-channel 0.5.8", "filetime", "fsevent-sys", @@ -2323,6 +4509,45 @@ dependencies = [ "winapi", ] +[[package]] +name = "num" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +dependencies = [ + "num-bigint 0.2.6", + "num-complex 0.2.4", + "num-integer", + "num-iter", + "num-rational 0.2.4", + "num-traits", +] + +[[package]] +name = "num" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +dependencies = [ + "num-bigint 0.4.4", + "num-complex 0.4.4", + "num-integer", + "num-iter", + "num-rational 0.4.1", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.4" @@ -2335,6 +4560,25 @@ dependencies = [ "serde", ] +[[package]] +name = "num-complex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +dependencies = [ + "num-traits", +] + [[package]] name = "num-derive" version = "0.3.3" @@ -2356,6 +4600,29 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +dependencies = [ + "autocfg", + "num-bigint 0.2.6", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.1" @@ -2363,7 +4630,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.4.4", "num-integer", "num-traits", "serde", @@ -2371,11 +4638,26 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", + "libm", +] + +[[package]] +name = "num256" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9b5179e82f0867b23e0b9b822493821f9345561f271364f409c8e4a058367d" +dependencies = [ + "lazy_static", + "num 0.4.1", + "num-derive", + "num-traits", + "serde", + "serde_derive", ] [[package]] @@ -2388,6 +4670,39 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +dependencies = [ + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "object" +version = "0.28.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" +dependencies = [ + "crc32fast", + "hashbrown 0.11.2", + "indexmap 1.9.3", + "memchr", +] + [[package]] name = "object" version = "0.32.1" @@ -2412,12 +4727,43 @@ dependencies = [ "eyre", ] +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + [[package]] name = "opaque-debug" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "opener" version = "0.6.1" @@ -2488,15 +4834,27 @@ dependencies = [ "once_cell", "opentelemetry_api", "percent-encoding", - "rand", + "rand 0.8.5", "thiserror", ] +[[package]] +name = "orion" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" +dependencies = [ + "ct-codecs", + "getrandom 0.2.11", + "subtle 2.4.1", + "zeroize", +] + [[package]] name = "os_str_bytes" -version = "6.5.1" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "overload" @@ -2510,6 +4868,47 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parity-wasm" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" + [[package]] name = "parking_lot" version = "0.12.1" @@ -2522,23 +4921,77 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] +[[package]] +name = "parse_duration" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7037e5e93e0172a5a96874380bf73bc6ecef022e26fa25f2be26864d6b3ba95d" +dependencies = [ + "lazy_static", + "num 0.2.1", + "regex", +] + +[[package]] +name = "password-hash" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "pasta_curves" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "ff", + "group", + "rand 0.8.5", + "static_assertions", + "subtle 2.4.1", +] + [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pbkdf2" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" +dependencies = [ + "digest 0.10.7", + "password-hash", +] + [[package]] name = "pbkdf2" version = "0.11.0" @@ -2548,6 +5001,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] + [[package]] name = "peg" version = "0.7.0" @@ -2575,6 +5038,15 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + [[package]] name = "percent-encoding" version = "2.3.0" @@ -2583,9 +5055,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c022f1e7b65d6a24c0dbbd5fb344c66881bc01f3e5ae74a1c8100f2f985d98a4" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -2594,9 +5066,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35513f630d46400a977c4cb58f78e1bfbe01434316e60c37d27b9ad6139c66d8" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" dependencies = [ "pest", "pest_generator", @@ -2604,26 +5076,46 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9fc1b9e7057baba189b5c626e2d6f40681ae5b6eb064dc7c7834101ec8123a" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", +] + +[[package]] +name = "pest_meta" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.8", +] + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.1.0", ] [[package]] -name = "pest_meta" -version = "2.7.4" +name = "pharos" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df74e9e7ec4053ceb980e7c0c8bd3594e977fde1af91daba9c928e8e8c6708d" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ - "once_cell", - "pest", - "sha2 0.10.8", + "futures", + "rustc_version 0.4.0", ] [[package]] @@ -2652,7 +5144,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" dependencies = [ "phf_shared", - "rand", + "rand 0.8.5", ] [[package]] @@ -2681,7 +5173,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -2708,9 +5200,26 @@ dependencies = [ [[package]] name = "platforms" -version = "3.1.2" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" + +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -2724,17 +5233,68 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.39", +] + [[package]] name = "primitive-types" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", + "impl-codec", + "impl-rlp", "impl-serde", + "scale-info", "uint", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2761,9 +5321,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -2783,36 +5343,106 @@ dependencies = [ "thiserror", ] +[[package]] +name = "proptest" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bitflags 2.4.1", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.2", + "unarray", +] + [[package]] name = "prost" -version = "0.12.1" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5a410fc7882af66deb8d01d01737353cf3ad6204c408177ba494291a626312" +dependencies = [ + "bytes", + "prost-derive 0.12.2", +] + +[[package]] +name = "prost-build" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", - "prost-derive", + "heck", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease 0.1.25", + "prost 0.11.9", + "prost-types 0.11.9", + "regex", + "syn 1.0.109", + "tempfile", + "which", ] [[package]] name = "prost-derive" -version = "0.12.1" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-derive" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" +checksum = "065717a5dfaca4a83d2fe57db3487b311365200000551d7a364e715dbf4346bc" dependencies = [ "anyhow", "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "prost-types" -version = "0.12.1" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost 0.11.9", +] + +[[package]] +name = "prost-types" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +checksum = "8339f32236f590281e2f6368276441394fcd1b2133b549cc895d0ae80f2f9a52" dependencies = [ - "prost", + "prost 0.12.2", ] [[package]] @@ -2821,6 +5451,26 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "pulldown-cmark" version = "0.9.3" @@ -2843,7 +5493,7 @@ dependencies = [ "mach2", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -2857,6 +5507,25 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -2864,8 +5533,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -2875,7 +5554,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", ] [[package]] @@ -2884,7 +5572,25 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.11", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", ] [[package]] @@ -2897,12 +5603,56 @@ dependencies = [ ] [[package]] -name = "redox_syscall" -version = "0.2.16" +name = "rayon" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ - "bitflags 1.3.2", + "autocfg", + "crossbeam-deque", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils 0.8.16", +] + +[[package]] +name = "reddsa" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78a5191930e84973293aa5f532b513404460cd2216c1cfb76d08748c15b40b02" +dependencies = [ + "blake2b_simd", + "byteorder", + "group", + "hex", + "jubjub", + "pasta_curves", + "rand_core 0.6.4", + "serde", + "thiserror", + "zeroize", +] + +[[package]] +name = "redjubjub" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a60db2c3bc9c6fd1e8631fee75abc008841d27144be744951d6b9b75f9b569c" +dependencies = [ + "rand_core 0.6.4", + "reddsa", + "serde", + "thiserror", + "zeroize", ] [[package]] @@ -2914,27 +5664,47 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom", - "redox_syscall 0.2.16", + "getrandom 0.2.11", + "libredox", "thiserror", ] +[[package]] +name = "regalloc" +version = "0.0.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62446b1d3ebf980bdc68837700af1d77b37bc430e524bf95319c6eada2a4cc02" +dependencies = [ + "log", + "rustc-hash", + "smallvec", +] + [[package]] name = "regex" -version = "1.9.6" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.9", - "regex-syntax 0.7.5", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -2948,13 +5718,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.9" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.5", + "regex-syntax 0.8.2", ] [[package]] @@ -2965,9 +5735,30 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.5" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "region" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" +dependencies = [ + "bitflags 1.3.2", + "libc", + "mach", + "winapi", +] + +[[package]] +name = "rend" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +dependencies = [ + "bytecheck", +] [[package]] name = "reqwest" @@ -2975,7 +5766,7 @@ version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -3022,8 +5813,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac", - "subtle", + "hmac 0.12.1", + "subtle 2.4.1", ] [[package]] @@ -3035,19 +5826,83 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", - "untrusted", + "spin 0.5.2", + "untrusted 0.7.1", "web-sys", "winapi", ] [[package]] -name = "ripemd" -version = "0.1.3" +name = "ring" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +dependencies = [ + "cc", + "getrandom 0.2.11", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rkyv" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +dependencies = [ + "bitvec", + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid 1.6.1", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "digest 0.10.7", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -3062,22 +5917,37 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.20", ] [[package]] name = "rustix" -version = "0.38.17" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", @@ -3086,12 +5956,12 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", - "ring", + "ring 0.17.5", "rustls-webpki", "sct", ] @@ -3110,21 +5980,21 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", ] [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", - "untrusted", + "ring 0.17.5", + "untrusted 0.9.0", ] [[package]] @@ -3139,6 +6009,15 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher 0.4.4", +] + [[package]] name = "same-file" version = "1.0.6" @@ -3148,6 +6027,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scale-info" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if 1.0.0", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "schannel" version = "0.1.22" @@ -3169,16 +6072,34 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", +] + [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring", - "untrusted", + "ring 0.17.5", + "untrusted 0.9.0", ] +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + [[package]] name = "sec1" version = "0.7.3" @@ -3187,9 +6108,10 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array", + "generic-array 0.14.7", "pkcs8", - "subtle", + "serdect", + "subtle 2.4.1", "zeroize", ] @@ -3200,7 +6122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ "bitcoin_hashes", - "rand", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -3249,22 +6171,61 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.19" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.188" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-json-wasm" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c37d03f3b0f6b5f77c11af1e7c772de1c9af83e50bef7bb6069601900ba67b" +dependencies = [ + "serde", +] + [[package]] name = "serde_bytes" version = "0.11.12" @@ -3286,20 +6247,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -3318,20 +6279,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" dependencies = [ "serde", ] @@ -3348,6 +6309,16 @@ dependencies = [ "serde", ] +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -3359,6 +6330,18 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + [[package]] name = "sha2" version = "0.9.9" @@ -3369,7 +6352,7 @@ dependencies = [ "cfg-if 1.0.0", "cpufeatures", "digest 0.9.0", - "opaque-debug", + "opaque-debug 0.3.0", ] [[package]] @@ -3435,20 +6418,44 @@ dependencies = [ [[package]] name = "signature" -version = "2.1.0" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "thiserror", + "time", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -3462,7 +6469,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" dependencies = [ "bytecount", - "cargo_metadata", + "cargo_metadata 0.14.2", "error-chain", "glob", "pulldown-cmark", @@ -3479,17 +6486,26 @@ dependencies = [ "autocfg", ] +[[package]] +name = "slip10_ed25519" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be0ff28bf14f9610a342169084e87a4f435ad798ec528dc7579a3678fa9dc9a" +dependencies = [ + "hmac-sha512", +] + [[package]] name = "smallvec" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -3497,20 +6513,37 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", ] +[[package]] +name = "sparse-merkle-tree" +version = "0.3.1-pre" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=aed81070ce2c83a41e1c6bada757347f33ef8eb6#aed81070ce2c83a41e1c6bada757347f33ef8eb6" +dependencies = [ + "borsh 1.0.0-alpha.4", + "cfg-if 1.0.0", + "ics23", + "sha2 0.9.9", +] + [[package]] name = "spin" 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" @@ -3521,6 +6554,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -3570,22 +6609,41 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.25.2" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.37", + "syn 2.0.39", +] + +[[package]] +name = "subproductdomain" +version = "0.1.0" +source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" +dependencies = [ + "anyhow", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", ] [[package]] name = "subtle" -version = "2.5.0" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subtle-encoding" @@ -3615,15 +6673,27 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "sync_wrapper" version = "0.1.2" @@ -3669,15 +6739,27 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" + [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix", "windows-sys 0.48.0", ] @@ -3690,23 +6772,23 @@ checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" dependencies = [ "bytes", "digest 0.10.7", - "ed25519", - "ed25519-consensus", + "ed25519 2.2.3", + "ed25519-consensus 2.1.0", "flex-error", "futures", "k256", "num-traits", "once_cell", - "prost", - "prost-types", + "prost 0.12.2", + "prost-types 0.12.2", "ripemd", "serde", "serde_bytes", "serde_json", "serde_repr", "sha2 0.10.8", - "signature", - "subtle", + "signature 2.2.0", + "subtle 2.4.1", "subtle-encoding", "tendermint-proto", "time", @@ -3799,8 +6881,8 @@ dependencies = [ "flex-error", "num-derive", "num-traits", - "prost", - "prost-types", + "prost 0.12.2", + "prost-types 0.12.2", "serde", "serde_bytes", "subtle-encoding", @@ -3818,15 +6900,15 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom", + "getrandom 0.2.11", "peg", "pin-project", "reqwest", - "semver", + "semver 1.0.20", "serde", "serde_bytes", "serde_json", - "subtle", + "subtle 2.4.1", "subtle-encoding", "tendermint", "tendermint-config", @@ -3846,7 +6928,7 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a19d4f02b7e38ce790da973fdc9edc71a0e35340ac57737bf278c8379037c1f5" dependencies = [ - "ed25519-consensus", + "ed25519-consensus 2.1.0", "gumdrop", "serde", "serde_json", @@ -3869,9 +6951,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" dependencies = [ "winapi-util", ] @@ -3894,22 +6976,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -3924,11 +7006,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", + "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -3949,6 +7033,24 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "git+https://github.com/anoma/tiny-bip39.git?rev=bf0f6d8713589b83af7a917366ec31f5275c0e57#bf0f6d8713589b83af7a917366ec31f5275c0e57" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tiny-bip39" version = "1.0.0" @@ -3956,10 +7058,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac", + "hmac 0.12.1", "once_cell", - "pbkdf2", - "rand", + "pbkdf2 0.11.0", + "rand 0.8.5", "rustc-hash", "sha2 0.10.8", "thiserror", @@ -3968,6 +7070,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-hderive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" +dependencies = [ + "base58", + "hmac 0.7.1", + "libsecp256k1", + "memzero", + "sha2 0.8.2", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3994,9 +7109,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -4006,7 +7121,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.4", + "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", ] @@ -4023,13 +7138,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -4067,9 +7182,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -4097,14 +7212,26 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.21.0", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -4115,7 +7242,31 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.1.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -4131,7 +7282,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.4", + "base64 0.21.5", "bytes", "h2", "http", @@ -4140,7 +7291,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost", + "prost 0.12.2", "rustls", "rustls-native-certs", "rustls-pemfile", @@ -4153,6 +7304,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "tonic-build" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +dependencies = [ + "prettyplease 0.1.25", + "proc-macro2", + "prost-build", + "quote", + "syn 1.0.109", +] + [[package]] name = "topological-sort" version = "0.2.2" @@ -4170,7 +7334,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -4193,11 +7357,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if 1.0.0", "log", "pin-project-lite", "tracing-attributes", @@ -4206,20 +7369,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -4235,14 +7398,35 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -4258,9 +7442,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -4273,7 +7457,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", "tracing-serde", ] @@ -4301,7 +7485,7 @@ dependencies = [ "http", "httparse", "log", - "rand", + "rand 0.8.5", "rustls", "sha1", "thiserror", @@ -4333,6 +7517,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + [[package]] name = "unicase" version = "2.7.0" @@ -4375,12 +7565,28 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle 2.4.1", +] + [[package]] name = "untrusted" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.4.1" @@ -4406,9 +7612,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" [[package]] name = "utf8parse" @@ -4421,14 +7627,18 @@ name = "uuid" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.11", + "serde", +] [[package]] name = "uuid" -version = "1.4.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" dependencies = [ - "getrandom", + "getrandom 0.2.11", ] [[package]] @@ -4501,6 +7711,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -4509,9 +7725,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -4519,24 +7735,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -4546,9 +7762,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4556,28 +7772,345 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" + +[[package]] +name = "wasm-encoder" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b09bc5df933a3dabbdb72ae4b6b71be8ae07f58774d5aa41bd20adcd41a235a" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-instrument" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" +dependencies = [ + "parity-wasm", +] + +[[package]] +name = "wasmer" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "indexmap 1.9.3", + "js-sys", + "loupe", + "more-asserts", + "target-lexicon", + "thiserror", + "wasm-bindgen", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-compiler-cranelift", + "wasmer-derive", + "wasmer-engine", + "wasmer-engine-dylib", + "wasmer-engine-universal", + "wasmer-types", + "wasmer-vm", + "wat", + "winapi", +] + +[[package]] +name = "wasmer-artifact" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enumset", + "loupe", + "thiserror", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-cache" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "blake3", + "hex", + "thiserror", + "wasmer", +] + +[[package]] +name = "wasmer-compiler" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enumset", + "loupe", + "rkyv", + "serde", + "serde_bytes", + "smallvec", + "target-lexicon", + "thiserror", + "wasmer-types", + "wasmparser 0.83.0", +] + +[[package]] +name = "wasmer-compiler-cranelift" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cranelift-codegen", + "cranelift-entity", + "cranelift-frontend", + "gimli 0.26.2", + "loupe", + "more-asserts", + "rayon", + "smallvec", + "target-lexicon", + "tracing", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-compiler-singlepass" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "byteorder", + "dynasm", + "dynasmrt", + "gimli 0.26.2", + "lazy_static", + "loupe", + "more-asserts", + "rayon", + "smallvec", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-derive" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "wasmer-engine" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "enumset", + "lazy_static", + "loupe", + "memmap2", + "more-asserts", + "rustc-demangle", + "serde", + "serde_bytes", + "target-lexicon", + "thiserror", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-types", + "wasmer-vm", +] + +[[package]] +name = "wasmer-engine-dylib" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "enum-iterator", + "enumset", + "leb128", + "libloading", + "loupe", + "object 0.28.4", + "rkyv", + "serde", + "tempfile", + "tracing", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-engine", + "wasmer-object", + "wasmer-types", + "wasmer-vm", + "which", +] + +[[package]] +name = "wasmer-engine-universal" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "cfg-if 1.0.0", + "enumset", + "leb128", + "loupe", + "region", + "rkyv", + "wasmer-compiler", + "wasmer-engine", + "wasmer-engine-universal-artifact", + "wasmer-types", + "wasmer-vm", + "winapi", +] + +[[package]] +name = "wasmer-engine-universal-artifact" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "enum-iterator", + "enumset", + "loupe", + "rkyv", + "thiserror", + "wasmer-artifact", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-object" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "object 0.28.4", + "thiserror", + "wasmer-compiler", + "wasmer-types", +] + +[[package]] +name = "wasmer-types" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "enum-iterator", + "indexmap 1.9.3", + "loupe", + "more-asserts", + "rkyv", + "serde", + "thiserror", +] + +[[package]] +name = "wasmer-vm" +version = "2.3.0" +source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" +dependencies = [ + "backtrace", + "cc", + "cfg-if 1.0.0", + "corosensei", + "enum-iterator", + "indexmap 1.9.3", + "lazy_static", + "libc", + "loupe", + "mach", + "memoffset 0.6.5", + "more-asserts", + "region", + "rkyv", + "scopeguard", + "serde", + "thiserror", + "wasmer-artifact", + "wasmer-types", + "winapi", +] + +[[package]] +name = "wasmparser" +version = "0.83.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a" + +[[package]] +name = "wasmparser" +version = "0.107.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" +dependencies = [ + "indexmap 1.9.3", + "semver 1.0.20", +] + +[[package]] +name = "wasmtimer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f656cd8858a5164932d8a90f936700860976ec21eb00e0fe2aa8cab13f6b4cf" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + +[[package]] +name = "wast" +version = "69.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa51b5ad1391943d1bfad537e50f28fe938199ee76b115be6bae83802cd5185" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder", +] + +[[package]] +name = "wat" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "74a4c2488d058326466e086a43f5d4ea448241a8d0975e3eb0642c0828be1eb3" +dependencies = [ + "wast", +] [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -4589,6 +8122,18 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + [[package]] name = "winapi" version = "0.3.9" @@ -4621,14 +8166,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" +dependencies = [ + "windows_aarch64_msvc 0.33.0", + "windows_i686_gnu 0.33.0", + "windows_i686_msvc 0.33.0", + "windows_x86_64_gnu 0.33.0", + "windows_x86_64_msvc 0.33.0", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -4689,6 +8247,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -4701,6 +8265,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_i686_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -4713,6 +8283,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -4725,6 +8301,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_x86_64_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -4749,6 +8331,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -4763,9 +8351,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.15" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] @@ -4780,11 +8368,48 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.0", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zcash_encoding" +version = "0.2.0" +source = "git+https://github.com/zcash/librustzcash?rev=bd7f9d7#bd7f9d7c3ce5cfd14af169ffe0e1c5c903162f46" +dependencies = [ + "byteorder", + "nonempty", +] + [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -4797,5 +8422,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] diff --git a/tools/integration-test/src/mbt/transfer.rs b/tools/integration-test/src/mbt/transfer.rs index 846edc822f..69c773d5a6 100644 --- a/tools/integration-test/src/mbt/transfer.rs +++ b/tools/integration-test/src/mbt/transfer.rs @@ -159,7 +159,7 @@ impl TestOverrides for IbcTransferMBT { for chain_config in config.chains.iter_mut() { match chain_config { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.trusting_period = Some(CLIENT_EXPIRY); } } diff --git a/tools/integration-test/src/tests/fee_grant.rs b/tools/integration-test/src/tests/fee_grant.rs index dd4ef2a399..8b85862c32 100644 --- a/tools/integration-test/src/tests/fee_grant.rs +++ b/tools/integration-test/src/tests/fee_grant.rs @@ -93,7 +93,7 @@ impl BinaryChannelTest for FeeGrantTest { .for_each(|chain_config| { if chain_config.id() == chains.node_a.chain_id().0 { match chain_config { - ChainConfig::CosmosSdk(c) => { + ChainConfig::CosmosSdk(c) | ChainConfig::Namada(c) => { c.fee_granter = Some("user2".to_owned()); } } diff --git a/tools/integration-test/src/tests/ica.rs b/tools/integration-test/src/tests/ica.rs index 8a7169ab0c..e1c92464b9 100644 --- a/tools/integration-test/src/tests/ica.rs +++ b/tools/integration-test/src/tests/ica.rs @@ -60,7 +60,7 @@ impl TestOverrides for IcaFilterTestAllow { for chain in &mut config.chains { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.packet_filter = self.packet_filter.clone(); } } @@ -215,7 +215,7 @@ impl TestOverrides for IcaFilterTestDeny { for chain in &mut config.chains { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.packet_filter.channel_policy = ChannelPolicy::Deny(ChannelFilters::new(vec![( FilterPattern::Wildcard("ica*".parse().unwrap()), diff --git a/tools/integration-test/src/tests/ordered_channel_clear.rs b/tools/integration-test/src/tests/ordered_channel_clear.rs index 696a536a27..82c2b02ad7 100644 --- a/tools/integration-test/src/tests/ordered_channel_clear.rs +++ b/tools/integration-test/src/tests/ordered_channel_clear.rs @@ -51,7 +51,7 @@ impl TestOverrides for OrderedChannelClearTest { { let chain_a = &mut config.chains[0]; match chain_a { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.sequential_batch_tx = self.sequential_batch_tx; } } @@ -59,7 +59,7 @@ impl TestOverrides for OrderedChannelClearTest { let chain_b = &mut config.chains[1]; match chain_b { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.sequential_batch_tx = self.sequential_batch_tx; } } @@ -187,7 +187,7 @@ impl TestOverrides for OrderedChannelClearEqualCLITest { { let chain_a = &mut config.chains[0]; match chain_a { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.sequential_batch_tx = true; chain_config.max_msg_num = MaxMsgNum::new(3).unwrap(); } @@ -196,7 +196,7 @@ impl TestOverrides for OrderedChannelClearEqualCLITest { let chain_b = &mut config.chains[1]; match chain_b { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.sequential_batch_tx = true; chain_config.max_msg_num = MaxMsgNum::new(3).unwrap(); } diff --git a/tools/test-framework/src/chain/chain_type.rs b/tools/test-framework/src/chain/chain_type.rs index bc488d11d8..0f43a7310c 100644 --- a/tools/test-framework/src/chain/chain_type.rs +++ b/tools/test-framework/src/chain/chain_type.rs @@ -35,7 +35,7 @@ impl ChainType { } } Self::Evmos => ChainId::from_string(&format!("evmos_9000-{prefix}")), - Self::Namada => ChainId::from_string(&prefix.to_string()), + Self::Namada => ChainId::from_string(prefix), } } From f01effc7e812f7ba24099434a7525c45f29975cb Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 8 Nov 2023 22:08:24 +0100 Subject: [PATCH 012/103] fix sim test --- .github/workflows/guide-templates.yaml | 5 ----- tools/integration-test/src/tests/manual/simulation.rs | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/guide-templates.yaml b/.github/workflows/guide-templates.yaml index bcfa6e8082..5fb602eeec 100644 --- a/.github/workflows/guide-templates.yaml +++ b/.github/workflows/guide-templates.yaml @@ -39,11 +39,6 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Check templates run: bash scripts/auto_gen_templates.sh --mode "check" - - uses: actions-rs/cargo@v1 - name: Update lockfile - with: - command: generate-lockfile - args: --manifest-path tools/check-guide/Cargo.toml - uses: actions-rs/cargo@v1 name: Check guide with: diff --git a/tools/integration-test/src/tests/manual/simulation.rs b/tools/integration-test/src/tests/manual/simulation.rs index 71feb2ad6d..b7dbd5b476 100644 --- a/tools/integration-test/src/tests/manual/simulation.rs +++ b/tools/integration-test/src/tests/manual/simulation.rs @@ -30,7 +30,7 @@ impl TestOverrides for SimulationTest { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.max_msg_num = MaxMsgNum::new(MAX_MSGS).unwrap(); } } From d7b6c7a92df28e5324c8207e315820a7e95e1931 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 9 Nov 2023 14:28:55 +0100 Subject: [PATCH 013/103] fix test-framework doc --- tools/test-framework/src/docs/walkthroughs/memo.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/test-framework/src/docs/walkthroughs/memo.rs b/tools/test-framework/src/docs/walkthroughs/memo.rs index c13a667df1..e3593da0cb 100644 --- a/tools/test-framework/src/docs/walkthroughs/memo.rs +++ b/tools/test-framework/src/docs/walkthroughs/memo.rs @@ -10,7 +10,7 @@ //! //! ```no_run //! # use serde_json as json; -//! # use ibc_relayer::config::{types::Memo, Config}; +//! # use ibc_relayer::config::{types::Memo, Config, ChainConfig}; //! # use ibc_test_framework::ibc::denom::derive_ibc_denom; //! # use ibc_test_framework::prelude::*; //! # use ibc_test_framework::util::random::{random_string, random_u128_range}; @@ -29,7 +29,11 @@ //! impl TestOverrides for MemoTest { //! fn modify_relayer_config(&self, config: &mut Config) { //! for mut chain in config.chains.iter_mut() { -//! chain.memo_prefix = self.memo.clone(); +//! match chain { +//! ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { +//! chain_config.memo_prefix = self.memo.clone(); +//! } +//! } //! } //! } //! } From 446787f49ba28288794b3fa0b5a670645ddda074 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 9 Nov 2023 17:45:20 +0100 Subject: [PATCH 014/103] change Namada key handling --- Cargo.lock | 1 + crates/relayer-cli/Cargo.toml | 1 + crates/relayer-cli/src/commands/keys/add.rs | 41 +++++- .../relayer-cli/src/commands/keys/delete.rs | 15 ++- crates/relayer/src/chain/namada.rs | 119 ++++++++---------- crates/relayer/src/chain/namada/tx.rs | 23 +--- crates/relayer/src/keyring.rs | 12 ++ .../src/keyring/any_signing_key_pair.rs | 12 +- 8 files changed, 134 insertions(+), 90 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 309a9feb60..9430b15319 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3146,6 +3146,7 @@ dependencies = [ "ibc-relayer-types", "ibc-telemetry", "itertools 0.10.5", + "namada_sdk", "once_cell", "oneline-eyre", "regex", diff --git a/crates/relayer-cli/Cargo.toml b/crates/relayer-cli/Cargo.toml index 33ddd20262..fa36836f51 100644 --- a/crates/relayer-cli/Cargo.toml +++ b/crates/relayer-cli/Cargo.toml @@ -45,6 +45,7 @@ hdpath = "0.6.3" http = "0.2" humantime = "2.1" itertools = "0.10.5" +namada_sdk = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2", features = ["std"] } oneline-eyre = "0.1" regex = "1.9.5" serde = { version = "1.0", features = ["serde_derive"] } diff --git a/crates/relayer-cli/src/commands/keys/add.rs b/crates/relayer-cli/src/commands/keys/add.rs index c63559834f..b4a0397add 100644 --- a/crates/relayer-cli/src/commands/keys/add.rs +++ b/crates/relayer-cli/src/commands/keys/add.rs @@ -12,7 +12,8 @@ use hdpath::StandardHDPath; use ibc_relayer::{ config::{ChainConfig, Config}, keyring::{ - AnySigningKeyPair, KeyRing, Secp256k1KeyPair, SigningKeyPair, SigningKeyPairSized, Store, + AnySigningKeyPair, KeyRing, NamadaKeyPair, Secp256k1KeyPair, + SigningKeyPair, SigningKeyPairSized, Store, }, }; use ibc_relayer_types::core::ics24_host::identifier::ChainId; @@ -220,8 +221,42 @@ pub fn add_key( keyring.add_key(key_name, key_pair.clone())?; key_pair.into() } - ChainConfig::Namada(_) => { - return Err(eyre!("Namada key cannot be added")); + ChainConfig::Namada(config) => { + let mut keyring = + KeyRing::new_namada(Store::Test, &config.id, &config.key_store_folder)?; + + check_key_exists(&keyring, key_name, overwrite); + + use namada_sdk::wallet::fs::FsWalletUtils; + let path = if file.is_file() { + file.parent().ok_or(eyre!("error invalid path"))? + } else { + file + }; + let mut wallet = FsWalletUtils::new(path.to_path_buf()); + wallet + .load() + .map_err(|_| eyre!("error loading Namada wallet"))?; + + let keys = wallet.get_keys(); + let (secret_key, pkh) = keys + .get(key_name) + .ok_or_else(|| eyre!("error loading the key from Namada wallet"))?; + let secret_key = secret_key + .get::(true, None) + .map_err(|_| eyre!("error loading the key from Namada wallet"))?; + let pkh = pkh.ok_or_else(|| eyre!("error loading the public key hash from Namada wallet"))?; + let address = wallet + .find_address(key_name) + .ok_or_else(|| eyre!("error loading the address from Namada wallet"))?; + let namada_key = NamadaKeyPair { + alias: key_name.to_string(), + address: address.into_owned(), + pkh: pkh.clone(), + secret_key: secret_key.clone(), + }; + keyring.add_key(key_name, namada_key.clone())?; + namada_key.into() } }; diff --git a/crates/relayer-cli/src/commands/keys/delete.rs b/crates/relayer-cli/src/commands/keys/delete.rs index b7be2e6258..aef00748d0 100644 --- a/crates/relayer-cli/src/commands/keys/delete.rs +++ b/crates/relayer-cli/src/commands/keys/delete.rs @@ -123,8 +123,10 @@ pub fn delete_key(config: &ChainConfig, key_name: &str) -> eyre::Result<()> { )?; keyring.remove_key(key_name)?; } - ChainConfig::Namada(_) => { - return Err(eyre!("Namada key cannot be deleted")); + ChainConfig::Namada(config) => { + let mut keyring = + KeyRing::new_namada(Store::Test, &config.id, &config.key_store_folder)?; + keyring.remove_key(key_name)?; } } Ok(()) @@ -144,8 +146,13 @@ pub fn delete_all_keys(config: &ChainConfig) -> eyre::Result<()> { keyring.remove_key(&key_name)?; } } - ChainConfig::Namada(_) => { - return Err(eyre!("Namada key cannot be deleted")); + ChainConfig::Namada(config) => { + let mut keyring = + KeyRing::new_namada(Store::Test, &config.id, &config.key_store_folder)?; + let keys = keyring.keys()?; + for (key_name, _) in keys { + keyring.remove_key(&key_name)?; + } } } Ok(()) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 1fba2a5c5b..2a158e5ddd 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -3,7 +3,6 @@ use core::str::FromStr; use std::thread; use core::time::Duration; -use std::path::Path; use ibc_proto::ibc::applications::fee::v1::{ QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse, @@ -44,13 +43,9 @@ use namada::types::address::{Address, InternalAddress}; use namada::types::storage::{Key, KeySeg, PrefixValue}; use namada::types::token; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::io::StdIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::masp::ShieldedContext; use namada_sdk::queries::Client as SdkClient; -use namada_sdk::wallet::fs::FsWalletUtils; -use namada_sdk::wallet::Wallet; -use namada_sdk::{rpc, NamadaImpl}; use tendermint::block::Height as TmHeight; use tendermint::node; use tendermint::Time; @@ -76,39 +71,45 @@ use crate::denom::DenomTrace; use crate::error::Error; use crate::event::source::{EventSource, TxEventSourceCmd}; use crate::event::IbcEventWithHeight; -use crate::keyring::{KeyRing, Secp256k1KeyPair}; +use crate::keyring::{KeyRing, NamadaKeyPair, SigningKeyPair}; use crate::light_client::tendermint::LightClient as TmLightClient; use crate::light_client::LightClient; use crate::light_client::Verified; use crate::misbehaviour::MisbehaviourEvidence; +use namada_sdk::io::NullIo; +use namada_sdk::wallet::Store; +use namada_sdk::wallet::{StoredKeypair, Wallet}; +use namada_sdk::{rpc, NamadaImpl}; use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; -const BASE_WALLET_DIR: &str = "namada_wallet"; - +pub mod key; pub mod query; pub mod tx; +mod wallet; pub struct NamadaChain { // Reuse CosmosSdkConfig for tendermint's light clients config: CosmosSdkConfig, rpc_client: HttpClient, - wallet: Wallet, + wallet: Wallet, shielded_ctx: ShieldedContext, native_token: Address, light_client: TmLightClient, rt: Arc, - keybase: KeyRing, + keybase: KeyRing, tx_monitor_cmd: Option, } impl NamadaChain { - fn namada_ctx(&mut self) -> NamadaImpl<'_, HttpClient, FsWalletUtils, FsShieldedUtils, StdIo> { + fn namada_ctx( + &mut self, + ) -> NamadaImpl<'_, HttpClient, wallet::NullWalletUtils, FsShieldedUtils, NullIo> { NamadaImpl::native_new( &self.rpc_client, &mut self.wallet, &mut self.shielded_ctx, - &StdIo, + &NullIo, self.native_token.clone(), ) } @@ -186,7 +187,7 @@ impl ChainEndpoint for NamadaChain { type ConsensusState = TmConsensusState; type ClientState = TmClientState; type Time = Time; - type SigningKeyPair = Secp256k1KeyPair; + type SigningKeyPair = NamadaKeyPair; fn id(&self) -> &ChainId { &self.config.id @@ -210,25 +211,25 @@ impl ChainEndpoint for NamadaChain { let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_info.id)?; - // not used in Namada, but the trait requires KeyRing - let keybase = KeyRing::new( - config.key_store_type, - "", - &config.id, - &config.key_store_folder, - ) - .map_err(Error::key_base)?; - - // check if the wallet has been set up for this relayer - let wallet_path = Path::new(BASE_WALLET_DIR).join(config.id.to_string()); - let mut wallet = FsWalletUtils::new(wallet_path); - wallet.load().expect("Loading a wallet failed"); - wallet - .find_key(&config.key_name, None) - .map_err(Error::namada_key_pair_not_found)?; + let keybase = + KeyRing::new_namada(config.key_store_type, &config.id, &config.key_store_folder) + .map_err(Error::key_base)?; let shielded_ctx = ShieldedContext::::default(); + let mut store = Store::default(); + let key = keybase + .get_key(&config.key_name) + .map_err(|e| Error::key_not_found(config.key_name.clone(), e))?; + store.insert_address::(key.alias.into(), key.address, true); + store.insert_keypair::( + config.key_name.clone().into(), + StoredKeypair::Raw(key.secret_key), + key.pkh, + true, + ); + let wallet = Wallet::new(wallet::NullWalletUtils, store); + let native_token = rt .block_on(rpc::query_native_token(&rpc_client)) .map_err(Error::namada_sdk)?; @@ -298,21 +299,17 @@ impl ChainEndpoint for NamadaChain { } fn get_key(&mut self) -> Result { - // TODO add Namada key - use crate::keyring::errors::Error as KeyringError; - Err(Error::key_not_found( - self.config().key_name.clone(), - KeyringError::key_not_found(), - )) + self.keybase + .get_key(&self.config.key_name) + .map_err(|e| Error::key_not_found(self.config.key_name.clone(), e)) } fn get_signer(&self) -> Result { - let address = self - .wallet - .find_address(&self.config.key_name) - .ok_or_else(|| Error::namada_address_not_found(self.config.key_name.clone()))?; - - Ok(Signer::from_str(&address.to_string()).unwrap()) + let key = self + .keybase + .get_key(&self.config.key_name) + .map_err(|e| Error::key_not_found(self.config.key_name.clone(), e))?; + Ok(Signer::from_str(&key.account()).expect("The key name shouldn't be empty")) } fn version_specs(&self) -> Result { @@ -419,18 +416,16 @@ impl ChainEndpoint for NamadaChain { } fn query_balance(&self, key_name: Option<&str>, denom: Option<&str>) -> Result { - let key_name = key_name.unwrap_or(&self.config.key_name); - let denom = denom.unwrap_or("NAM"); - let token = match self.wallet.find_address(denom) { - Some(addr) => addr.into_owned(), - None => Address::decode(denom) - .map_err(|_| Error::namada_address_not_found(denom.to_string()))?, - }; + // Given key_name and denom should be raw Namada addresses + let default_owner = self.get_signer()?; + let owner = key_name.unwrap_or(default_owner.as_ref()); + let owner = Address::decode(owner) + .map_err(|_| Error::namada_address_not_found(owner.to_string()))?; - let owner = self - .wallet - .find_address(key_name) - .ok_or_else(|| Error::namada_address_not_found(key_name.to_string()))?; + let default_token = self.native_token.to_string(); + let denom = denom.unwrap_or(&default_token); + let token = Address::decode(denom) + .map_err(|_| Error::namada_address_not_found(denom.to_string()))?; let balance_key = token::balance_key(&token, &owner); let (value, _) = self.query(balance_key, QueryHeight::Latest, IncludeProof::No)?; @@ -464,17 +459,16 @@ impl ChainEndpoint for NamadaChain { } fn query_all_balances(&self, key_name: Option<&str>) -> Result, Error> { - let key_name = key_name.unwrap_or(&self.config.key_name); - let key_owner = self - .wallet - .find_address(key_name) - .ok_or_else(|| Error::namada_address_not_found(key_name.to_string()))?; + let default_owner = self.get_signer()?; + let owner = key_name.unwrap_or(default_owner.as_ref()); + let owner = Address::decode(owner) + .map_err(|_| Error::namada_address_not_found(owner.to_string()))?; let mut balances = vec![]; let prefix = Key::from(Address::Internal(InternalAddress::Multitoken).to_db_key()); for PrefixValue { key, value } in self.query_prefix(prefix)? { - if let Some([token, owner]) = token::is_any_token_balance_key(&key) { - if key_owner.as_ref() == owner { + if let Some([token, bal_owner]) = token::is_any_token_balance_key(&key) { + if owner == *bal_owner { let amount = token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; let denom_key = token::denom_key(token); @@ -493,14 +487,9 @@ impl ChainEndpoint for NamadaChain { denom: namada_denom, } }; - let alias = self - .wallet - .find_alias(token) - .map(|a| a.to_string()) - .unwrap_or(token.to_string()); let balance = Balance { amount: denominated_amount.to_string(), - denom: alias, + denom: token.to_string(), }; balances.push(balance); } diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 62c8291014..7b569e4f62 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -33,29 +33,18 @@ impl NamadaChain { let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); - let fee_token = self.config.gas_price.denom.clone(); - let fee_token = self - .wallet - .find_address(&fee_token) - .ok_or_else(|| Error::namada_address_not_found(fee_token))? - .into_owned(); + let fee_token = &self.config.gas_price.denom; + let fee_token = Address::decode(fee_token) + .map_err(|_| Error::namada_address_not_found(fee_token.to_string()))?; // fee let gas_limit_key = parameter_storage::get_fee_unshielding_gas_limit_key(); let (value, _) = self.query(gas_limit_key, QueryHeight::Latest, IncludeProof::No)?; let gas_limit = GasLimit::try_from_slice(&value).map_err(Error::borsh_decode)?; - // the wallet should exist because it's confirmed when the bootstrap - let relayer_key_pair = self - .wallet - .find_key(&self.config.key_name, None) - .expect("The relayer key should exist in the wallet"); - - let relayer_addr = self - .wallet - .find_address(&self.config.key_name) - .expect("The relayer doesn't exist in the wallet") - .into_owned(); + let namada_key = self.get_key()?; + let relayer_key_pair = namada_key.secret_key; + let relayer_addr = namada_key.address; let tx_args = TxArgs { dry_run: false, diff --git a/crates/relayer/src/keyring.rs b/crates/relayer/src/keyring.rs index 0ec609f6e7..446ba7b039 100644 --- a/crates/relayer/src/keyring.rs +++ b/crates/relayer/src/keyring.rs @@ -5,6 +5,8 @@ pub use key_type::KeyType; pub use secp256k1_key_pair::Secp256k1KeyPair; pub use signing_key_pair::{SigningKeyPair, SigningKeyPairSized}; +pub use crate::chain::namada::key::NamadaKeyPair; + mod any_signing_key_pair; mod ed25519_key_pair; mod key_type; @@ -286,6 +288,16 @@ impl KeyRing { } } +impl KeyRing { + pub fn new_namada( + store: Store, + chain_id: &ChainId, + ks_folder: &Option, + ) -> Result { + Self::new(store, "", chain_id, ks_folder) + } +} + fn disk_store_path(folder_name: &str, keystore_folder: &Option) -> Result { let ks_folder = match keystore_folder { Some(folder) => folder.to_owned(), diff --git a/crates/relayer/src/keyring/any_signing_key_pair.rs b/crates/relayer/src/keyring/any_signing_key_pair.rs index b9dd880c10..0a96eb99dc 100644 --- a/crates/relayer/src/keyring/any_signing_key_pair.rs +++ b/crates/relayer/src/keyring/any_signing_key_pair.rs @@ -1,12 +1,13 @@ use serde::Serialize; -use super::{Ed25519KeyPair, KeyType, Secp256k1KeyPair, SigningKeyPair}; +use super::{Ed25519KeyPair, KeyType, NamadaKeyPair, Secp256k1KeyPair, SigningKeyPair}; #[derive(Clone, Debug, Serialize)] #[serde(untagged)] pub enum AnySigningKeyPair { Secp256k1(Secp256k1KeyPair), Ed25519(Ed25519KeyPair), + Namada(NamadaKeyPair), } impl AnySigningKeyPair { @@ -14,6 +15,7 @@ impl AnySigningKeyPair { match self { Self::Secp256k1(key_pair) => key_pair.account(), Self::Ed25519(key_pair) => key_pair.account(), + Self::Namada(key_pair) => key_pair.account(), } } @@ -21,6 +23,7 @@ impl AnySigningKeyPair { match self { Self::Secp256k1(_) => Secp256k1KeyPair::KEY_TYPE, Self::Ed25519(_) => Ed25519KeyPair::KEY_TYPE, + Self::Namada(_) => NamadaKeyPair::KEY_TYPE, } } @@ -28,6 +31,7 @@ impl AnySigningKeyPair { match self { Self::Secp256k1(key_pair) => key_pair.as_any(), Self::Ed25519(key_pair) => key_pair.as_any(), + Self::Namada(key_pair) => key_pair.as_any(), } .downcast_ref::() .map(T::clone) @@ -45,3 +49,9 @@ impl From for AnySigningKeyPair { Self::Ed25519(key_pair) } } + +impl From for AnySigningKeyPair { + fn from(key_pair: NamadaKeyPair) -> Self { + Self::Namada(key_pair) + } +} From 7fa06a26f6e122824ec0648941185d5d8e049872 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 9 Nov 2023 18:32:04 +0100 Subject: [PATCH 015/103] fix scripts for adding namada keys --- crates/relayer-cli/src/commands/keys/add.rs | 9 ++-- crates/relayer/src/chain/namada/key.rs | 49 +++++++++++++++++++++ crates/relayer/src/chain/namada/wallet.rs | 19 ++++++++ e2e/namada-gaia-simple-transfers | 18 ++++---- e2e/namada-simple-transfers | 20 ++++----- scripts/setup-namada | 39 +++++++++++----- scripts/setup-namada-single-node | 24 +++++++--- 7 files changed, 137 insertions(+), 41 deletions(-) create mode 100644 crates/relayer/src/chain/namada/key.rs create mode 100644 crates/relayer/src/chain/namada/wallet.rs diff --git a/crates/relayer-cli/src/commands/keys/add.rs b/crates/relayer-cli/src/commands/keys/add.rs index b4a0397add..9e32f65ad7 100644 --- a/crates/relayer-cli/src/commands/keys/add.rs +++ b/crates/relayer-cli/src/commands/keys/add.rs @@ -12,8 +12,8 @@ use hdpath::StandardHDPath; use ibc_relayer::{ config::{ChainConfig, Config}, keyring::{ - AnySigningKeyPair, KeyRing, NamadaKeyPair, Secp256k1KeyPair, - SigningKeyPair, SigningKeyPairSized, Store, + AnySigningKeyPair, KeyRing, NamadaKeyPair, Secp256k1KeyPair, SigningKeyPair, + SigningKeyPairSized, Store, }, }; use ibc_relayer_types::core::ics24_host::identifier::ChainId; @@ -229,7 +229,7 @@ pub fn add_key( use namada_sdk::wallet::fs::FsWalletUtils; let path = if file.is_file() { - file.parent().ok_or(eyre!("error invalid path"))? + file.parent().ok_or(eyre!("invalid Namada wallet path"))? } else { file }; @@ -245,7 +245,8 @@ pub fn add_key( let secret_key = secret_key .get::(true, None) .map_err(|_| eyre!("error loading the key from Namada wallet"))?; - let pkh = pkh.ok_or_else(|| eyre!("error loading the public key hash from Namada wallet"))?; + let pkh = + pkh.ok_or_else(|| eyre!("error loading the public key hash from Namada wallet"))?; let address = wallet .find_address(key_name) .ok_or_else(|| eyre!("error loading the address from Namada wallet"))?; diff --git a/crates/relayer/src/chain/namada/key.rs b/crates/relayer/src/chain/namada/key.rs new file mode 100644 index 0000000000..558cb6a468 --- /dev/null +++ b/crates/relayer/src/chain/namada/key.rs @@ -0,0 +1,49 @@ +use core::any::Any; + +use namada_sdk::core::types::address::Address; +use namada_sdk::core::types::key::common::SecretKey; +use namada_sdk::core::types::key::PublicKeyHash; + +use crate::config::AddressType; +use crate::keyring::errors::Error; +use crate::keyring::{KeyFile, KeyType, SigningKeyPair}; +use hdpath::StandardHDPath; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct NamadaKeyPair { + pub alias: String, + pub address: Address, + pub pkh: PublicKeyHash, + pub secret_key: SecretKey, +} + +impl SigningKeyPair for NamadaKeyPair { + const KEY_TYPE: KeyType = KeyType::Secp256k1; + type KeyFile = KeyFile; + + fn from_key_file(_key_file: Self::KeyFile, _hd_path: &StandardHDPath) -> Result { + unimplemented!("Namada key can't be restored from a KeyFile") + } + + fn from_mnemonic( + _mnemonic: &str, + _hd_path: &StandardHDPath, + _address_type: &AddressType, + _account_prefix: &str, + ) -> Result { + unimplemented!("Namada key can't be restored from a KeyFile") + } + + fn account(&self) -> String { + self.address.to_string() + } + + fn sign(&self, _message: &[u8]) -> Result, Error> { + unimplemented!("don't use this to sign a Namada transaction") + } + + fn as_any(&self) -> &dyn Any { + self + } +} diff --git a/crates/relayer/src/chain/namada/wallet.rs b/crates/relayer/src/chain/namada/wallet.rs new file mode 100644 index 0000000000..ae14256f84 --- /dev/null +++ b/crates/relayer/src/chain/namada/wallet.rs @@ -0,0 +1,19 @@ +use namada_sdk::wallet::{LoadStoreError, Wallet, WalletIo, WalletStorage}; +use signature::rand_core::OsRng; + +#[derive(Debug, Clone)] +pub(super) struct NullWalletUtils; + +impl WalletIo for NullWalletUtils { + type Rng = OsRng; +} + +impl WalletStorage for NullWalletUtils { + fn save(&self, _wallet: &Wallet) -> Result<(), LoadStoreError> { + Ok(()) + } + + fn load(&self, _wallet: &mut Wallet) -> Result<(), LoadStoreError> { + Ok(()) + } +} diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 9f1950386b..b31c8af4af 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -85,7 +85,7 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --b-port transfer \ --new-client-connection --yes -# Transfer 100 samoleans from Gaia to Namada +echo "~~ Transfer 100 samoleans from Gaia to Namada ~~" namada_receiver=$(${NAMADAW} --base-dir ${base_dir} address find --alias relayer | awk '{print $4}') cargo run --bin hermes -- --config config_for_namada.toml \ tx ft-transfer \ @@ -114,18 +114,18 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-port transfer \ --src-channel channel-0 -echo "Balances on Namada" +echo "==== Balances on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --token ${IBC_TOKEN} \ --owner relayer \ --node ${NAMADA_LEDGER_ADDR} -echo "Balances on Gaia" +echo "==== Balances on Gaia ====" gaia_user=$(gaiad --home ${DATA_DIR}/gaia-0 \ keys --keyring-backend="test" show user -a) gaiad query bank balances ${gaia_user} -# transfer back 50 samoleans from Namada to Gaia +echo "~~ Transfer back 50 samoleans from Namada to Gaia ~~" ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --source relayer \ --receiver ${gaia_user} \ @@ -151,20 +151,20 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-port transfer \ --src-channel channel-0 -echo "Balances on Namada" +echo "==== Balances on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --token ${IBC_TOKEN} \ --owner relayer \ --node ${NAMADA_LEDGER_ADDR} -echo "Balances on Gaia" +echo "==== Balances on Gaia ====" gaiad query bank balances ${gaia_user} echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & -# transfer 200 apfel from Namada to Gaia +echo "~~ Transfer 200 apfel from Namada to Gaia ~~" ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --source relayer \ --receiver ${gaia_user} \ @@ -177,12 +177,12 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ # wait for relaying sleep 10 -echo "Balances on Namada" +echo "==== Balances on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --owner relayer \ --node ${NAMADA_LEDGER_ADDR} -echo "Balances on Gaia" +echo "==== Balances on Gaia ====" gaiad query bank balances ${gaia_user} killall hermes diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 91ca496231..1ca51610c7 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -84,7 +84,7 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} address find --alias relayer | awk '{print $4}') receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} address find --alias relayer | awk '{print $4}') -# transfer 100 apfel from chain_a to chain_b +echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source relayer \ --receiver ${receiver_b} \ @@ -110,13 +110,13 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-port transfer \ --src-channel channel-0 -echo "Balances on chain A" +echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ --node ${LEDGER_ADDR_A} -echo "Balances on chain B" +echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B} @@ -127,7 +127,7 @@ received_token=$(${NAMADAC} --base-dir ${base_dir_b} balance \ | sed -e s/://g \ | awk '$1 ~ /transfer\/channel-0/ {print $1}') -# transfer back 50 apfel from chain_b to chain_a +echo "~~ Transfer back 50 apfel from chain_b to chain_a ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ @@ -153,13 +153,13 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-port transfer \ --src-channel channel-0 -echo "Balances on chain A" +echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ --node ${LEDGER_ADDR_A} -echo "Balances on chain B" +echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --token ${received_token} \ --owner relayer \ @@ -169,7 +169,7 @@ echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & -# transfer 200 apfel from chain_a to chain_b +echo "~~ Transfer 200 apfel from chain_a to chain_b ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source relayer \ --receiver ${receiver_b} \ @@ -179,7 +179,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_A} -# transfer 300 apfel from chain_b to chain_a +echo "~~ Transfer 300 apfel from chain_b to chain_a ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ @@ -192,12 +192,12 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ # wait for relaying sleep 10 -echo "Balances on chain A" +echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --owner relayer \ --node ${LEDGER_ADDR_A} -echo "Balances on chain B" +echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B} diff --git a/scripts/setup-namada b/scripts/setup-namada index 2df3708fc7..2d441b665d 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -67,7 +67,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = 'nam' } +gas_price = { price = 0.001, denom = '_FEE_TOKEN_A_' } [[chains]] id = '_CHAIN_ID_B_' @@ -78,7 +78,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:28657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = 'nam' } +gas_price = { price = 0.001, denom = '_FEE_TOKEN_B_' } " function make_genesis() { @@ -138,18 +138,24 @@ function copy_wasm() { function init_relayer_acc() { local suffix=$1 local chain_id=$2 - local ledger_addr=$3 local base_dir=${DATA_DIR}/namada-${suffix} - local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} - - #cp ${base_dir}/${chain_id}/setup/other/wallet.toml ${base_dir}/${chain_id}/wallet.toml ${NAMADAW} --base-dir ${base_dir} \ key gen --alias relayer --unsafe-dont-encrypt +} + +function add_relayer_key() { + local suffix=$1 + local chain_id=$2 - mkdir -p ${wallet_dir} - cp ${base_dir}/${chain_id}/wallet.toml ${wallet_dir} + local base_dir=${DATA_DIR}/namada-${suffix} + + cargo run --bin hermes -- --config ${HERMES_DIR}/config_for_namada.toml \ + keys add \ + --chain ${chain_id} \ + --key-file ${base_dir}/${chain_id}/wallet.toml \ + --overwrite } # ==== main ==== @@ -207,16 +213,25 @@ echo "Namada chain B's PID = $!" sleep 5 -# create "relayer" account on each chain -init_relayer_acc "a" ${chain_id_a} ${LEDGER_ADDR_A} -init_relayer_acc "b" ${chain_id_b} ${LEDGER_ADDR_B} +# Create "relayer" account on each chain +init_relayer_acc "a" ${chain_id_a} +init_relayer_acc "b" ${chain_id_b} -# for the relayer +# Get token addresses +nam_addr_a=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-a address find --alias nam | awk '{print $4}') +nam_addr_b=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-b address find --alias nam | awk '{print $4}') + +# Make Hermes config cd ${HERMES_DIR} echo "${HERMES_CONFIG_TEMPLATE}" \ | sed -e "s/_CHAIN_ID_A_/${chain_id_a}/g" -e "s/_CHAIN_ID_B_/${chain_id_b}/g" \ + | sed -e "s/_FEE_TOKEN_A_/${nam_addr_a}/g" -e "s/_FEE_TOKEN_B_/${nam_addr_b}/g" \ > ${HERMES_DIR}/config_for_namada.toml +# Add namada keys to Hermes +add_relayer_key "a" ${chain_id_a} +add_relayer_key "b" ${chain_id_b} + echo "2 Namada chains are running" echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 9d3f160f2c..b981bc6582 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -62,7 +62,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = 'nam' } +gas_price = { price = 0.001, denom = '_FEE_TOKEN_' } " function make_genesis() { @@ -119,13 +119,9 @@ function init_relayer_acc() { local chain_id=$1 local base_dir=${DATA_DIR}/namada - local wallet_dir=${HERMES_DIR}/namada_wallet/${chain_id} ${NAMADAW} --base-dir ${base_dir} \ key gen --alias relayer --unsafe-dont-encrypt - - mkdir -p ${wallet_dir} - cp ${base_dir}/${chain_id}/wallet.toml ${wallet_dir} } function fund_relayer_acc() { @@ -137,6 +133,18 @@ function fund_relayer_acc() { --source ${account} --target relayer --amount 10000 --token NAM } +function add_relayer_key() { + local chain_id=$1 + + local base_dir=${DATA_DIR}/namada + + cargo run --bin hermes -- --config ${HERMES_DIR}/config_for_namada.toml \ + keys add \ + --chain ${chain_id} \ + --key-file ${base_dir}/${chain_id}/wallet.toml \ + --overwrite +} + # ==== main ==== mkdir -p ${DATA_DIR} @@ -157,12 +165,16 @@ sleep 10 fund_relayer_acc "albert" ${LEDGER_ADDR} +nam_addr=$(${NAMADAW} --base-dir ${DATA_DIR}/namada address find --alias nam | awk '{print $4}') + # for the relayer cd ${HERMES_DIR} echo "${HERMES_CONFIG_TEMPLATE}" \ - | sed -e "s/_CHAIN_ID_/${chain_id}/g" \ + | sed -e "s/_CHAIN_ID_/${chain_id}/g" -e "s/_FEE_TOKEN_/${nam_addr}/g" \ > ${HERMES_DIR}/config_for_namada.toml +add_relayer_key ${chain_id} + echo "A Namada chain is running" echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" From bb519c42ba059690d9fae0e4faccc6462da23dd5 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 10 Nov 2023 12:27:19 +0100 Subject: [PATCH 016/103] support encrypted key --- Cargo.lock | 12 +++++ crates/relayer-cli/src/commands/keys/add.rs | 10 +++-- crates/relayer-rest/Cargo.toml | 1 + crates/relayer/Cargo.toml | 13 ++++-- crates/relayer/src/chain/namada.rs | 31 +++++++------ crates/relayer/src/chain/namada/query.rs | 10 ++--- crates/relayer/src/chain/namada/wallet.rs | 50 ++++++++++++++++++++- 7 files changed, 97 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9430b15319..935fb7ebef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3092,6 +3092,7 @@ dependencies = [ "regex", "retry", "ripemd", + "rpassword", "secp256k1", "semver 1.0.20", "serde", @@ -3174,6 +3175,7 @@ dependencies = [ "ibc-relayer-types", "reqwest", "serde", + "serde_json", "tokio", "toml 0.7.8", "tracing", @@ -5404,6 +5406,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "rpassword" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "rustc-demangle" version = "0.1.23" diff --git a/crates/relayer-cli/src/commands/keys/add.rs b/crates/relayer-cli/src/commands/keys/add.rs index 9e32f65ad7..2c26f51afc 100644 --- a/crates/relayer-cli/src/commands/keys/add.rs +++ b/crates/relayer-cli/src/commands/keys/add.rs @@ -10,6 +10,7 @@ use abscissa_core::{Command, Runnable}; use eyre::eyre; use hdpath::StandardHDPath; use ibc_relayer::{ + chain::namada::wallet::CliWalletUtils, config::{ChainConfig, Config}, keyring::{ AnySigningKeyPair, KeyRing, NamadaKeyPair, Secp256k1KeyPair, SigningKeyPair, @@ -227,13 +228,12 @@ pub fn add_key( check_key_exists(&keyring, key_name, overwrite); - use namada_sdk::wallet::fs::FsWalletUtils; let path = if file.is_file() { file.parent().ok_or(eyre!("invalid Namada wallet path"))? } else { file }; - let mut wallet = FsWalletUtils::new(path.to_path_buf()); + let mut wallet = CliWalletUtils::new(path.to_path_buf()); wallet .load() .map_err(|_| eyre!("error loading Namada wallet"))?; @@ -243,7 +243,7 @@ pub fn add_key( .get(key_name) .ok_or_else(|| eyre!("error loading the key from Namada wallet"))?; let secret_key = secret_key - .get::(true, None) + .get::(true, None) .map_err(|_| eyre!("error loading the key from Namada wallet"))?; let pkh = pkh.ok_or_else(|| eyre!("error loading the public key hash from Namada wallet"))?; @@ -296,7 +296,9 @@ pub fn restore_key( key_pair.into() } ChainConfig::Namada(_) => { - return Err(eyre!("Namada key cannot be restored")); + return Err(eyre!( + "Namada key can't be restored here. Use Namada wallet." + )); } }; diff --git a/crates/relayer-rest/Cargo.toml b/crates/relayer-rest/Cargo.toml index a03ff7d79d..e8fdc25794 100644 --- a/crates/relayer-rest/Cargo.toml +++ b/crates/relayer-rest/Cargo.toml @@ -26,3 +26,4 @@ tokio = "1.26" [dev-dependencies] reqwest = { version = "0.11.16", features = ["json"], default-features = false } toml = "0.7.3" +serde_json = "1" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 4c2a61611e..1a358b81ff 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -24,9 +24,6 @@ ibc-proto = { version = "0.39.0", features = ["serde"] } ibc-telemetry = { version = "0.26.1", path = "../telemetry", optional = true } ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } -namada = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2", features = ["std", "async-client"] } - subtle-encoding = "0.5" humantime-serde = "1.1.1" serde = "1.0" @@ -73,6 +70,7 @@ strum = { version = "0.25", features = ["derive"] } tokio-stream = "0.1.14" once_cell = "1.17.1" tracing-subscriber = { version = "0.3.14", features = ["fmt", "env-filter", "json"] } +rpassword = "5.0.1" [dependencies.byte-unit] version = "4.0.19" @@ -111,6 +109,15 @@ default-features = false version = "0.34.0" default-features = false +[dependencies.namada] +git = "https://github.com/anoma/namada" +rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" + +[dependencies.namada_sdk] +git = "https://github.com/anoma/namada" +rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" +features = ["std", "async-client"] + [dev-dependencies] ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } serial_test = "2.0.0" diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 2a158e5ddd..6f8e305fa5 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -33,8 +33,7 @@ use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; use namada::ledger::ibc::storage; -use namada::ledger::parameters::storage as param_storage; -use namada::ledger::parameters::EpochDuration; +use namada::ledger::parameters::{storage as param_storage, EpochDuration}; use namada::ledger::storage::ics23_specs::ibc_proof_specs; use namada::ledger::storage::Sha256Hasher; use namada::proof_of_stake::parameters::OwnedPosParams; @@ -43,12 +42,15 @@ use namada::types::address::{Address, InternalAddress}; use namada::types::storage::{Key, KeySeg, PrefixValue}; use namada::types::token; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::masp::ShieldedContext; use namada_sdk::queries::Client as SdkClient; +use namada_sdk::wallet::Store; +use namada_sdk::wallet::{StoredKeypair, Wallet}; +use namada_sdk::{rpc, NamadaImpl}; use tendermint::block::Height as TmHeight; -use tendermint::node; -use tendermint::Time; +use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; use tendermint_rpc::client::CompatMode; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; @@ -60,6 +62,7 @@ use crate::chain::client::ClientSettings; use crate::chain::cosmos::config::CosmosSdkConfig; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::version::Specs; +use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; use crate::chain::handle::Subscription; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; @@ -73,27 +76,23 @@ use crate::event::source::{EventSource, TxEventSourceCmd}; use crate::event::IbcEventWithHeight; use crate::keyring::{KeyRing, NamadaKeyPair, SigningKeyPair}; use crate::light_client::tendermint::LightClient as TmLightClient; -use crate::light_client::LightClient; -use crate::light_client::Verified; +use crate::light_client::{LightClient, Verified}; use crate::misbehaviour::MisbehaviourEvidence; -use namada_sdk::io::NullIo; -use namada_sdk::wallet::Store; -use namada_sdk::wallet::{StoredKeypair, Wallet}; -use namada_sdk::{rpc, NamadaImpl}; - -use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; pub mod key; -pub mod query; -pub mod tx; -mod wallet; +mod query; +mod tx; +pub mod wallet; pub struct NamadaChain { - // Reuse CosmosSdkConfig for tendermint's light clients + /// Reuse CosmosSdkConfig for tendermint's light clients config: CosmosSdkConfig, rpc_client: HttpClient, + /// Wallet for Namada context just reading the added keys wallet: Wallet, + /// Shielded context for Namada context shielded_ctx: ShieldedContext, + /// Namada native token native_token: Address, light_client: TmLightClient, rt: Arc, diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 7a0c6ea21d..44d534abb1 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -7,18 +7,18 @@ use namada::ledger::ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; use namada::types::address::{Address, InternalAddress}; use namada::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::queries::Client as SdkClient; -use namada_sdk::queries::RPC; +use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use tendermint::block::Height as TmHeight; -use crate::chain::requests::{QueryClientEventRequest, QueryHeight, QueryPacketEventDataRequest}; +use crate::chain::endpoint::ChainEndpoint; +use crate::chain::requests::{ + IncludeProof, QueryClientEventRequest, QueryHeight, QueryPacketEventDataRequest, +}; use crate::error::Error; use crate::event::{ibc_event_try_from_abci_event, IbcEventWithHeight}; use super::NamadaChain; -use crate::chain::endpoint::ChainEndpoint; -use crate::chain::requests::IncludeProof; impl NamadaChain { pub fn query( diff --git a/crates/relayer/src/chain/namada/wallet.rs b/crates/relayer/src/chain/namada/wallet.rs index ae14256f84..00f59b4e45 100644 --- a/crates/relayer/src/chain/namada/wallet.rs +++ b/crates/relayer/src/chain/namada/wallet.rs @@ -1,13 +1,20 @@ -use namada_sdk::wallet::{LoadStoreError, Wallet, WalletIo, WalletStorage}; +use std::path::PathBuf; +use std::{env, fs}; + +use namada_sdk::wallet::fs::FsWalletStorage; +use namada_sdk::wallet::{LoadStoreError, Store, Wallet, WalletIo, WalletStorage}; +use namada_sdk::zeroize::Zeroizing; use signature::rand_core::OsRng; -#[derive(Debug, Clone)] +/// Wallet utils for Namada context +#[derive(Clone)] pub(super) struct NullWalletUtils; impl WalletIo for NullWalletUtils { type Rng = OsRng; } +// Namada wallet never accesses the storage. It reads the keys added in the bootstrap from the store. impl WalletStorage for NullWalletUtils { fn save(&self, _wallet: &Wallet) -> Result<(), LoadStoreError> { Ok(()) @@ -17,3 +24,42 @@ impl WalletStorage for NullWalletUtils { Ok(()) } } + +/// For Namada wallet for adding a key with a password +#[derive(Clone)] +pub struct CliWalletUtils { + store_dir: PathBuf, +} + +impl CliWalletUtils { + pub fn new(store_dir: PathBuf) -> Wallet { + Wallet::new(Self { store_dir }, Store::default()) + } +} + +impl FsWalletStorage for CliWalletUtils { + fn store_dir(&self) -> &PathBuf { + &self.store_dir + } +} + +impl WalletIo for CliWalletUtils { + type Rng = OsRng; + + fn read_password(_confirm: bool) -> Zeroizing { + match env::var("NAMADA_WALLET_PASSWORD_FILE") { + Ok(path) => Zeroizing::new( + fs::read_to_string(path).expect("Something went wrong reading the file"), + ), + Err(_) => match env::var("NAMADA_WALLET_PASSWORD") { + Ok(password) => Zeroizing::new(password), + Err(_) => { + let prompt = "Enter your decryption password: "; + rpassword::read_password_from_tty(Some(prompt)) + .map(Zeroizing::new) + .expect("Failed reading password from tty.") + } + }, + } + } +} From 6a96579740c47c8b00fded380fc11aa7c4d1046b Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 10 Nov 2023 17:59:05 +0100 Subject: [PATCH 017/103] workaround for serde_json deserialization of ChainConfig --- Cargo.lock | 5 ++--- crates/relayer-cli/Cargo.toml | 2 +- crates/relayer-rest/Cargo.toml | 2 +- crates/relayer-rest/tests/mock.rs | 5 ++++- crates/relayer/src/chain/namada.rs | 4 ---- crates/relayer/src/config.rs | 11 +++++++++-- e2e/namada-gaia-simple-transfers | 2 +- e2e/namada-simple-transfers | 2 +- tools/test-framework/src/chain/chain_type.rs | 7 ------- 9 files changed, 19 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 935fb7ebef..4b55c8bbb6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3147,7 +3147,6 @@ dependencies = [ "ibc-relayer-types", "ibc-telemetry", "itertools 0.10.5", - "namada_sdk", "once_cell", "oneline-eyre", "regex", @@ -5763,9 +5762,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", diff --git a/crates/relayer-cli/Cargo.toml b/crates/relayer-cli/Cargo.toml index fa36836f51..eae2dfca10 100644 --- a/crates/relayer-cli/Cargo.toml +++ b/crates/relayer-cli/Cargo.toml @@ -45,7 +45,6 @@ hdpath = "0.6.3" http = "0.2" humantime = "2.1" itertools = "0.10.5" -namada_sdk = { git = "https://github.com/anoma/namada", rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2", features = ["std"] } oneline-eyre = "0.1" regex = "1.9.5" serde = { version = "1.0", features = ["serde_derive"] } @@ -56,6 +55,7 @@ tokio = { version = "1.0", features = ["full"] } tracing = "0.1.36" tracing-subscriber = { version = "0.3.14", features = ["fmt", "env-filter", "json"]} time = "0.3" + [dependencies.tendermint] version = "0.34.0" features = ["secp256k1"] diff --git a/crates/relayer-rest/Cargo.toml b/crates/relayer-rest/Cargo.toml index e8fdc25794..8759c5595d 100644 --- a/crates/relayer-rest/Cargo.toml +++ b/crates/relayer-rest/Cargo.toml @@ -25,5 +25,5 @@ tokio = "1.26" [dev-dependencies] reqwest = { version = "0.11.16", features = ["json"], default-features = false } -toml = "0.7.3" serde_json = "1" +toml = "0.7.3" diff --git a/crates/relayer-rest/tests/mock.rs b/crates/relayer-rest/tests/mock.rs index 3fb86d4dbe..799e3a10c9 100644 --- a/crates/relayer-rest/tests/mock.rs +++ b/crates/relayer-rest/tests/mock.rs @@ -46,9 +46,12 @@ where let response = reqwest::get(&format!("http://127.0.0.1:{port}{path}")) .await .unwrap() - .json::() + .json() .await .unwrap(); + // Workaround for serde_json deserialization failure + // from_str/from_slice() failed for ChainConfig + let response = serde_json::from_value::(response).unwrap(); assert_eq!(response, expected); diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 6f8e305fa5..39954a28cd 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -268,10 +268,6 @@ impl ChainEndpoint for NamadaChain { ) })?; - // TODO Namada health check - - // TODO version check - Ok(HealthCheck::Healthy) } diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index 043d7287a9..16cc9604c7 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -648,8 +648,15 @@ impl ChainConfig { .map(|(key_name, keys)| (key_name, keys.into())) .collect() } - // TODO Namada should use the wallet - ChainConfig::Namada(_) => return Err(keyring::errors::Error::key_not_found()), + ChainConfig::Namada(config) => { + let keyring = + KeyRing::new_namada(Store::Test, &config.id, &config.key_store_folder)?; + keyring + .keys()? + .into_iter() + .map(|(key_name, keys)| (key_name, keys.into())) + .collect() + } }; Ok(keys) } diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index b31c8af4af..1cca1451e1 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -175,7 +175,7 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --node ${NAMADA_LEDGER_ADDR} # wait for relaying -sleep 10 +sleep 15 echo "==== Balances on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 1ca51610c7..1737d406d1 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -190,7 +190,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --node ${LEDGER_ADDR_B} # wait for relaying -sleep 10 +sleep 15 echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ diff --git a/tools/test-framework/src/chain/chain_type.rs b/tools/test-framework/src/chain/chain_type.rs index 0f43a7310c..2d39f8f811 100644 --- a/tools/test-framework/src/chain/chain_type.rs +++ b/tools/test-framework/src/chain/chain_type.rs @@ -7,13 +7,11 @@ use crate::util::random::{random_u32, random_unused_tcp_port}; const COSMOS_HD_PATH: &str = "m/44'/118'/0'/0/0"; const EVMOS_HD_PATH: &str = "m/44'/60'/0'/0/0"; -const NAMADA_HD_PATH: &str = "m/44'/60'/0'/0/0"; #[derive(Clone, Debug)] pub enum ChainType { Cosmos, Evmos, - Namada, } impl ChainType { @@ -21,7 +19,6 @@ impl ChainType { match self { Self::Cosmos => COSMOS_HD_PATH, Self::Evmos => EVMOS_HD_PATH, - Self::Namada => NAMADA_HD_PATH, } } @@ -35,7 +32,6 @@ impl ChainType { } } Self::Evmos => ChainId::from_string(&format!("evmos_9000-{prefix}")), - Self::Namada => ChainId::from_string(prefix), } } @@ -49,7 +45,6 @@ impl ChainType { res.push("--json-rpc.address".to_owned()); res.push(format!("localhost:{json_rpc_port}")); } - Self::Namada => {} } res } @@ -60,7 +55,6 @@ impl ChainType { Self::Evmos => AddressType::Ethermint { pk_type: "/ethermint.crypto.v1.ethsecp256k1.PubKey".to_string(), }, - Self::Namada => AddressType::default(), } } } @@ -75,7 +69,6 @@ impl FromStr for ChainType { name if name.contains("wasmd") => Ok(ChainType::Cosmos), name if name.contains("icad") => Ok(ChainType::Cosmos), name if name.contains("evmosd") => Ok(ChainType::Evmos), - name if name.contains("namada") => Ok(ChainType::Namada), _ => Ok(ChainType::Cosmos), } } From d87f2724957f7077cc341116d1fec6a1127ef488 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 10 Nov 2023 20:18:10 +0100 Subject: [PATCH 018/103] fix after merge upstream --- tools/integration-test/src/tests/clear_packet.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/integration-test/src/tests/clear_packet.rs b/tools/integration-test/src/tests/clear_packet.rs index 71b33bfb94..6c436cfd85 100644 --- a/tools/integration-test/src/tests/clear_packet.rs +++ b/tools/integration-test/src/tests/clear_packet.rs @@ -318,7 +318,9 @@ impl TestOverrides for ClearPacketOverrideTest { for chain_config in config.chains.iter_mut() { match chain_config { // Use a small clear interval in the chain configurations to override the global high interval - ChainConfig::CosmosSdk(chain_config) => chain_config.clear_interval = Some(10), + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.clear_interval = Some(10) + } } } } From 5e279ce8832962531e047bdfda37ff0ddb5189c4 Mon Sep 17 00:00:00 2001 From: yito88 Date: Sat, 11 Nov 2023 14:07:49 +0100 Subject: [PATCH 019/103] clean up Namada error --- crates/relayer/src/chain/namada.rs | 35 +++++++++++-------- crates/relayer/src/chain/namada/error.rs | 31 ++++++++++++++++ crates/relayer/src/chain/namada/query.rs | 21 +++++------ crates/relayer/src/chain/namada/tx.rs | 21 +++++------ crates/relayer/src/error.rs | 26 +++----------- crates/relayer/src/light_client/tendermint.rs | 8 ++--- 6 files changed, 81 insertions(+), 61 deletions(-) create mode 100644 crates/relayer/src/chain/namada/error.rs diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 39954a28cd..446e760708 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -79,6 +79,9 @@ use crate::light_client::tendermint::LightClient as TmLightClient; use crate::light_client::{LightClient, Verified}; use crate::misbehaviour::MisbehaviourEvidence; +use self::error::Error as NamadaError; + +pub mod error; pub mod key; mod query; mod tx; @@ -156,12 +159,13 @@ impl NamadaChain { fn get_unbonding_time(&self) -> Result { let key = pos_storage::params_key(); let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; - let pos_params = OwnedPosParams::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let pos_params = + OwnedPosParams::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; let key = param_storage::get_epoch_duration_storage_key(); let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; let epoch_duration = - EpochDuration::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + EpochDuration::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; let unbonding_period = pos_params.pipeline_len * epoch_duration.min_duration.0; Ok(Duration::from_secs(unbonding_period)) } @@ -231,7 +235,7 @@ impl ChainEndpoint for NamadaChain { let native_token = rt .block_on(rpc::query_native_token(&rpc_client)) - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; // overwrite the proof spec let config = CosmosSdkConfig { @@ -414,13 +418,13 @@ impl ChainEndpoint for NamadaChain { // Given key_name and denom should be raw Namada addresses let default_owner = self.get_signer()?; let owner = key_name.unwrap_or(default_owner.as_ref()); - let owner = Address::decode(owner) - .map_err(|_| Error::namada_address_not_found(owner.to_string()))?; + let owner = + Address::decode(owner).map_err(|_| NamadaError::address_decode(owner.to_string()))?; let default_token = self.native_token.to_string(); let denom = denom.unwrap_or(&default_token); - let token = Address::decode(denom) - .map_err(|_| Error::namada_address_not_found(denom.to_string()))?; + let token = + Address::decode(denom).map_err(|_| NamadaError::address_decode(denom.to_string()))?; let balance_key = token::balance_key(&token, &owner); let (value, _) = self.query(balance_key, QueryHeight::Latest, IncludeProof::No)?; @@ -430,7 +434,8 @@ impl ChainEndpoint for NamadaChain { denom: denom.to_string(), }); } - let amount = token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let amount = + token::Amount::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; let denom_key = token::denom_key(&token); let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; let denominated_amount = if value.is_empty() { @@ -439,8 +444,8 @@ impl ChainEndpoint for NamadaChain { denom: 0.into(), } } else { - let token_denom = - token::Denomination::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let token_denom = token::Denomination::try_from_slice(&value[..]) + .map_err(NamadaError::borsh_decode)?; token::DenominatedAmount { amount, denom: token_denom, @@ -456,16 +461,16 @@ impl ChainEndpoint for NamadaChain { fn query_all_balances(&self, key_name: Option<&str>) -> Result, Error> { let default_owner = self.get_signer()?; let owner = key_name.unwrap_or(default_owner.as_ref()); - let owner = Address::decode(owner) - .map_err(|_| Error::namada_address_not_found(owner.to_string()))?; + let owner = + Address::decode(owner).map_err(|_| NamadaError::address_decode(owner.to_string()))?; let mut balances = vec![]; let prefix = Key::from(Address::Internal(InternalAddress::Multitoken).to_db_key()); for PrefixValue { key, value } in self.query_prefix(prefix)? { if let Some([token, bal_owner]) = token::is_any_token_balance_key(&key) { if owner == *bal_owner { - let amount = - token::Amount::try_from_slice(&value[..]).map_err(Error::borsh_decode)?; + let amount = token::Amount::try_from_slice(&value[..]) + .map_err(NamadaError::borsh_decode)?; let denom_key = token::denom_key(token); let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; @@ -476,7 +481,7 @@ impl ChainEndpoint for NamadaChain { } } else { let namada_denom = token::Denomination::try_from_slice(&value[..]) - .map_err(Error::borsh_decode)?; + .map_err(NamadaError::borsh_decode)?; token::DenominatedAmount { amount, denom: namada_denom, diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs new file mode 100644 index 0000000000..85f5d46527 --- /dev/null +++ b/crates/relayer/src/chain/namada/error.rs @@ -0,0 +1,31 @@ +use flex_error::{define_error, TraceError}; + +define_error! { + Error { + AddressDecode + { raw: String } + |e| { format!("Namada address decoding failed for {}", e.raw) }, + + DenomNotFound + { denom: String } + |e| { format!("No denom for {}", e.denom) }, + + Namada + [ TraceError ] + |_| { "Namada error" }, + + Query + [ TraceError ] + |_| { "Query error" }, + + BorshDecode + [ TraceError ] + |_| { "borsh decoding failed" }, + } +} + +impl From for crate::error::Error { + fn from(error: Error) -> Self { + Self::namada(error) + } +} diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 44d534abb1..7a229bc69c 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -18,6 +18,7 @@ use crate::chain::requests::{ use crate::error::Error; use crate::event::{ibc_event_try_from_abci_event, IbcEventWithHeight}; +use super::error::Error as NamadaError; use super::NamadaChain; impl NamadaChain { @@ -40,7 +41,7 @@ impl NamadaChain { height, is_proven, )) - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; let proof = if is_proven { let proof_ops = proof.ok_or_else(Error::empty_response_proof)?; @@ -61,14 +62,14 @@ impl NamadaChain { RPC.shell() .storage_prefix(&self.rpc_client, None, None, false, &prefix), ) - .map_err(Error::namada_query)?; + .map_err(NamadaError::query)?; Ok(response.data) } pub fn query_epoch(&self) -> Result { self.rt .block_on(rpc::query_epoch(&self.rpc_client)) - .map_err(Error::namada_sdk) + .map_err(|e| Error::namada(NamadaError::namada(e))) } pub fn query_update_event( @@ -83,7 +84,7 @@ impl NamadaChain { &request.client_id.as_str().parse().unwrap(), &height, )) - .map_err(Error::namada_query)?; + .map_err(NamadaError::query)?; match event { Some(event) => { let h = event @@ -115,7 +116,7 @@ impl NamadaChain { &self.rpc_client, &tx_hash.try_into().expect("Invalid tx hash"), )) - .map_err(Error::namada_query)? + .map_err(NamadaError::query)? { Some(applied) => { let h = applied @@ -203,7 +204,7 @@ impl NamadaChain { &namada::ibc::core::ics04_channel::packet::Sequence::from(u64::from(sequence)), ), ) - .map_err(Error::namada_query)? + .map_err(NamadaError::query)? { Some(event) => { let h = event @@ -251,10 +252,10 @@ impl NamadaChain { /// Get IBC denom pub fn query_denom(&self, raw_addr: String) -> Result { let token = Address::decode(&raw_addr) - .map_err(|_| Error::namada_address_not_found(raw_addr.to_string()))?; + .map_err(|_| NamadaError::address_decode(raw_addr.to_string()))?; let hash = match &token { Address::Internal(InternalAddress::IbcToken(hash)) => hash, - _ => return Err(Error::namada_address_not_found(token.to_string())), + _ => return Err(NamadaError::denom_not_found(raw_addr).into()), }; let prefix = ibc_denom_key_prefix(None); @@ -268,8 +269,8 @@ impl NamadaChain { false } }) - .ok_or(Error::namada_address_not_found(token.to_string()))?; + .ok_or(NamadaError::denom_not_found(raw_addr))?; - String::try_from_slice(&pair.value).map_err(Error::borsh_decode) + String::try_from_slice(&pair.value).map_err(|e| Error::namada(NamadaError::borsh_decode(e))) } } diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 7b569e4f62..d05ffdd920 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -21,6 +21,7 @@ use crate::chain::endpoint::ChainEndpoint; use crate::chain::requests::{IncludeProof, QueryHeight, QueryTxHash, QueryTxRequest}; use crate::error::Error; +use super::error::Error as NamadaError; use super::NamadaChain; const WAIT_BACKOFF: Duration = Duration::from_millis(300); @@ -35,12 +36,12 @@ impl NamadaChain { let fee_token = &self.config.gas_price.denom; let fee_token = Address::decode(fee_token) - .map_err(|_| Error::namada_address_not_found(fee_token.to_string()))?; + .map_err(|_| NamadaError::address_decode(fee_token.to_string()))?; // fee let gas_limit_key = parameter_storage::get_fee_unshielding_gas_limit_key(); let (value, _) = self.query(gas_limit_key, QueryHeight::Latest, IncludeProof::No)?; - let gas_limit = GasLimit::try_from_slice(&value).map_err(Error::borsh_decode)?; + let gas_limit = GasLimit::try_from_slice(&value).map_err(NamadaError::borsh_decode)?; let namada_key = self.get_key()?; let relayer_key_pair = namada_key.secret_key; @@ -83,13 +84,13 @@ impl NamadaChain { }; let (mut tx, signing_data, _epoch) = rt .block_on(args.build(&namada_ctx)) - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; rt.block_on(namada_ctx.sign(&mut tx, &args.tx, signing_data)) - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; let decrypted_hash = tx.raw_header_hash().to_string(); let response = rt .block_on(namada_ctx.submit(tx, &args.tx)) - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; match response { tx::ProcessTxResponse::Broadcast(mut response) => { @@ -148,26 +149,26 @@ impl NamadaChain { let key = self .wallet .find_key_by_pkh(pkh, args.clone().password) - .map_err(Error::namada_key_pair_not_found)?; + .map_err(|e| NamadaError::namada(namada_sdk::error::Error::Other(e.to_string())))?; let public_key = key.ref_to(); if tx::is_reveal_pk_needed(&self.rpc_client, address, args.force) .await - .map_err(Error::namada_sdk)? + .map_err(NamadaError::namada)? { let namada_ctx = self.namada_ctx(); let (mut tx, signing_data, _epoch) = tx::build_reveal_pk(&namada_ctx, args, &public_key) .await - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; namada_ctx .sign(&mut tx, args, signing_data) .await - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; namada_ctx .submit(tx, args) .await - .map_err(Error::namada_sdk)?; + .map_err(NamadaError::namada)?; } } Ok(()) diff --git a/crates/relayer/src/error.rs b/crates/relayer/src/error.rs index 67a30859f0..6a563e6f95 100644 --- a/crates/relayer/src/error.rs +++ b/crates/relayer/src/error.rs @@ -35,6 +35,7 @@ use ibc_relayer_types::proofs::ProofError; use crate::chain::cosmos::version; use crate::chain::cosmos::BLOCK_MAX_BYTES_MAX_FRACTION; +use crate::chain::namada::error::Error as NamadaError; use crate::config::Error as ConfigError; use crate::event::source; use crate::keyring::{errors::Error as KeyringError, KeyType}; @@ -587,28 +588,9 @@ define_error! { [ TendermintRpcError ] |_| { "Invalid CompatMode queried from chain and no `compat_mode` configured in Hermes. This can be fixed by specifying a `compat_mode` in Hermes config.toml" }, - NamadaWalletNotInitialized - |_| { "Namada wallet has not been initialized yet" }, - - NamadaKeyPairNotFound - [ TraceError ] - |_| { "The keypair was not found" }, - - NamadaAddressNotFound - { alias: String } - |e| { format!("The address was not found for {}", e.alias) }, - - NamadaSdk - [ TraceError ] - |e| { format!("Namada error {}", e) }, - - NamadaQuery - [ TraceError ] - |e| { format!("Namada error {}", e) }, - - BorshDecode - [ TraceError ] - |_| { "error decoding borsh" }, + Namada + [ NamadaError ] + |_| { "Namada error" }, } } diff --git a/crates/relayer/src/light_client/tendermint.rs b/crates/relayer/src/light_client/tendermint.rs index a0f1a111e6..4b1b4dbf68 100644 --- a/crates/relayer/src/light_client/tendermint.rs +++ b/crates/relayer/src/light_client/tendermint.rs @@ -144,12 +144,12 @@ impl super::LightClient for LightClient { )) })?; - let update_header: &TmHeader = match any_header { - AnyHeader::Tendermint(header) => Ok(header), + let update_header = match any_header { + AnyHeader::Tendermint(header) => Ok::<_, Error>(header), }?; let client_state = match client_state { - AnyClientState::Tendermint(client_state) => Ok(client_state), + AnyClientState::Tendermint(client_state) => Ok::<_, Error>(client_state), #[cfg(test)] _ => Err(Error::misbehaviour(format!( @@ -315,7 +315,7 @@ impl LightClient { let scheduler = components::scheduler::basic_bisecting_schedule; let client_state = match client_state { - AnyClientState::Tendermint(client_state) => Ok(client_state), + AnyClientState::Tendermint(client_state) => Ok::<_, Error>(client_state), #[cfg(test)] _ => Err(Error::client_type_mismatch( From 2d6272b8311e3b12b4427f5a68ed7e616a3648a0 Mon Sep 17 00:00:00 2001 From: yito88 Date: Sat, 11 Nov 2023 19:14:50 +0100 Subject: [PATCH 020/103] use only namada_sdk --- .github/workflows/release.yml | 5 + Cargo.lock | 815 +---------------------- crates/relayer/Cargo.toml | 6 +- crates/relayer/src/chain/namada.rs | 18 +- crates/relayer/src/chain/namada/query.rs | 32 +- crates/relayer/src/chain/namada/tx.rs | 10 +- 6 files changed, 47 insertions(+), 839 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b1f7b3a39c..20dd2d8ab2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,6 +31,11 @@ jobs: runs-on: ${{ matrix.config.os }} steps: - uses: actions/checkout@v4 + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: taiki-e/upload-rust-binary-action@v1 with: # (required) diff --git a/Cargo.lock b/Cargo.lock index 4b55c8bbb6..99781db3be 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,7 +57,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.28.0", + "gimli", ] [[package]] @@ -417,7 +417,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.32.1", + "object", "rustc-demangle", ] @@ -596,19 +596,6 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "blake3" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if 1.0.0", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -776,28 +763,6 @@ dependencies = [ "utf8-width", ] -[[package]] -name = "bytecheck" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bytecount" version = "0.6.4" @@ -1030,11 +995,6 @@ dependencies = [ "os_str_bytes", ] -[[package]] -name = "clru" -version = "0.5.0" -source = "git+https://github.com/marmeladema/clru-rs.git?rev=71ca566#71ca566915f21f3c308091ca7756a91b0f8b5afc" - [[package]] name = "coins-bip32" version = "0.8.7" @@ -1179,19 +1139,6 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" -[[package]] -name = "corosensei" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" -dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "libc", - "scopeguard", - "windows-sys 0.33.0", -] - [[package]] name = "cpufeatures" version = "0.2.9" @@ -1201,74 +1148,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cranelift-bforest" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38faa2a16616c8e78a18d37b4726b98bfd2de192f2fdc8a39ddf568a408a0f75" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f192472a3ba23860afd07d2b0217dc628f21fcc72617aa1336d98e1671f33b" -dependencies = [ - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-entity", - "gimli 0.26.2", - "log", - "regalloc", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32ddb89e9b89d3d9b36a5b7d7ea3261c98235a76ac95ba46826b8ec40b1a24" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fd0d9f288cc1b42d9333b7a776b17e278fc888c28e6a0f09b5573d45a150bc" - -[[package]] -name = "cranelift-entity" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3bfe172b83167604601faf9dc60453e0d0a93415b57a9c4d1a7ae6849185cf" - -[[package]] -name = "cranelift-frontend" -version = "0.82.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a006e3e32d80ce0e4ba7f1f9ddf66066d052a8c884a110b91d05404d6ce26dce" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "crossbeam-channel" version = "0.4.4" @@ -1309,7 +1188,7 @@ dependencies = [ "autocfg", "cfg-if 1.0.0", "crossbeam-utils 0.8.16", - "memoffset 0.9.0", + "memoffset", "scopeguard", ] @@ -1651,32 +1530,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" -[[package]] -name = "dynasm" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add9a102807b524ec050363f09e06f1504214b0e1c7797f64261c891022dce8b" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "lazy_static", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "dynasmrt" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fba5a42bd76a17cad4bfa00de168ee1cbfa06a5e8ce992ae880218c05641a9" -dependencies = [ - "byteorder", - "dynasm", - "memmap2", -] - [[package]] name = "ecdsa" version = "0.16.8" @@ -1842,47 +1695,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "enum-iterator" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "enumset" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" -dependencies = [ - "enumset_derive", -] - -[[package]] -name = "enumset_derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.38", -] - [[package]] name = "env_logger" version = "0.10.0" @@ -2250,12 +2062,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fastrand" version = "2.0.1" @@ -2574,17 +2380,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" -dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.28.0" @@ -2704,9 +2499,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] [[package]] name = "hashbrown" @@ -3083,7 +2875,6 @@ dependencies = [ "ibc-telemetry", "itertools 0.10.5", "moka", - "namada", "namada_sdk", "num-bigint 0.4.4", "num-rational 0.4.1", @@ -3377,7 +3168,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde", ] [[package]] @@ -3538,28 +3328,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" - [[package]] name = "libc" version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] - [[package]] name = "libm" version = "0.2.8" @@ -3604,36 +3378,6 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" -[[package]] -name = "loupe" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6a72dfa44fe15b5e76b94307eeb2ff995a8c5b283b55008940c02e0c5b634d" -dependencies = [ - "indexmap 1.9.3", - "loupe-derive", - "rustversion", -] - -[[package]] -name = "loupe-derive" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fbfc88337168279f2e9ae06e157cfed4efd3316e14dc96ed074d4f2e6c5952" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - [[package]] name = "mach2" version = "0.4.1" @@ -3745,24 +3489,6 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -3862,78 +3588,12 @@ dependencies = [ "uuid 1.5.0", ] -[[package]] -name = "more-asserts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" - [[package]] name = "multimap" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" -[[package]] -name = "namada" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" -dependencies = [ - "async-trait", - "bimap", - "borsh 1.0.0-alpha.4", - "borsh-ext", - "circular-queue", - "clru", - "data-encoding", - "derivation-path", - "derivative", - "ethbridge-bridge-contract", - "ethers", - "eyre", - "futures", - "itertools 0.10.5", - "loupe", - "masp_primitives", - "masp_proofs", - "namada_core", - "namada_ethereum_bridge", - "namada_proof_of_stake", - "namada_sdk", - "num256", - "orion", - "owo-colors", - "parity-wasm", - "parse_duration", - "paste", - "prost 0.12.1", - "rand 0.8.5", - "rand_core 0.6.4", - "rayon", - "ripemd", - "serde", - "serde_json", - "sha2 0.9.9", - "slip10_ed25519", - "tendermint-rpc", - "thiserror", - "tiny-bip39 0.8.2", - "tiny-hderive", - "tokio", - "toml 0.5.11", - "tracing", - "wasm-instrument", - "wasmer", - "wasmer-cache", - "wasmer-compiler-singlepass", - "wasmer-engine-dylib", - "wasmer-engine-universal", - "wasmer-vm", - "wasmparser 0.107.0", - "wasmtimer", - "zeroize", -] - [[package]] name = "namada_core" version = "0.25.0" @@ -3974,7 +3634,6 @@ dependencies = [ "prost-types 0.12.1", "rand 0.8.5", "rand_core 0.6.4", - "rayon", "serde", "serde_json", "sha2 0.9.9", @@ -4279,18 +3938,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "object" -version = "0.28.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" -dependencies = [ - "crc32fast", - "hashbrown 0.11.2", - "indexmap 1.9.3", - "memchr", -] - [[package]] name = "object" version = "0.32.1" @@ -4480,12 +4127,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "parity-wasm" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" - [[package]] name = "parking_lot" version = "0.12.1" @@ -4950,26 +4591,6 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "pulldown-cmark" version = "0.9.3" @@ -5192,17 +4813,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "regalloc" -version = "0.0.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62446b1d3ebf980bdc68837700af1d77b37bc430e524bf95319c6eada2a4cc02" -dependencies = [ - "log", - "rustc-hash", - "smallvec", -] - [[package]] name = "regex" version = "1.10.2" @@ -5253,27 +4863,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "region" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e" -dependencies = [ - "bitflags 1.3.2", - "libc", - "mach", - "winapi", -] - -[[package]] -name = "rend" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.11.22" @@ -5355,34 +4944,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "rkyv" -version = "0.7.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" -dependencies = [ - "bitvec", - "bytecheck", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid 1.5.0", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rlp" version = "0.5.2" @@ -5598,12 +5159,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.7.3" @@ -5968,12 +5523,6 @@ dependencies = [ "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" @@ -6078,12 +5627,6 @@ dependencies = [ "der", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" @@ -6243,12 +5786,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "target-lexicon" -version = "0.12.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" - [[package]] name = "tempfile" version = "3.8.0" @@ -7187,288 +6724,6 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" -[[package]] -name = "wasm-encoder" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53ae0be20bf87918df4fa831bfbbd0b491d24aee407ed86360eae4c2c5608d38" -dependencies = [ - "leb128", -] - -[[package]] -name = "wasm-instrument" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "wasmer" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "cfg-if 1.0.0", - "indexmap 1.9.3", - "js-sys", - "loupe", - "more-asserts", - "target-lexicon", - "thiserror", - "wasm-bindgen", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-compiler-cranelift", - "wasmer-derive", - "wasmer-engine", - "wasmer-engine-dylib", - "wasmer-engine-universal", - "wasmer-types", - "wasmer-vm", - "wat", - "winapi", -] - -[[package]] -name = "wasmer-artifact" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "enumset", - "loupe", - "thiserror", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-cache" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "blake3", - "hex", - "thiserror", - "wasmer", -] - -[[package]] -name = "wasmer-compiler" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "enumset", - "loupe", - "rkyv", - "serde", - "serde_bytes", - "smallvec", - "target-lexicon", - "thiserror", - "wasmer-types", - "wasmparser 0.83.0", -] - -[[package]] -name = "wasmer-compiler-cranelift" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "gimli 0.26.2", - "loupe", - "more-asserts", - "rayon", - "smallvec", - "target-lexicon", - "tracing", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-compiler-singlepass" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "byteorder", - "dynasm", - "dynasmrt", - "gimli 0.26.2", - "lazy_static", - "loupe", - "more-asserts", - "rayon", - "smallvec", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-derive" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "wasmer-engine" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "backtrace", - "enumset", - "lazy_static", - "loupe", - "memmap2", - "more-asserts", - "rustc-demangle", - "serde", - "serde_bytes", - "target-lexicon", - "thiserror", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-types", - "wasmer-vm", -] - -[[package]] -name = "wasmer-engine-dylib" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "cfg-if 1.0.0", - "enum-iterator", - "enumset", - "leb128", - "libloading", - "loupe", - "object 0.28.4", - "rkyv", - "serde", - "tempfile", - "tracing", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-engine", - "wasmer-object", - "wasmer-types", - "wasmer-vm", - "which", -] - -[[package]] -name = "wasmer-engine-universal" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "cfg-if 1.0.0", - "enumset", - "leb128", - "loupe", - "region", - "rkyv", - "wasmer-compiler", - "wasmer-engine", - "wasmer-engine-universal-artifact", - "wasmer-types", - "wasmer-vm", - "winapi", -] - -[[package]] -name = "wasmer-engine-universal-artifact" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "enum-iterator", - "enumset", - "loupe", - "rkyv", - "thiserror", - "wasmer-artifact", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-object" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "object 0.28.4", - "thiserror", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-types" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "backtrace", - "enum-iterator", - "indexmap 1.9.3", - "loupe", - "more-asserts", - "rkyv", - "serde", - "thiserror", -] - -[[package]] -name = "wasmer-vm" -version = "2.3.0" -source = "git+https://github.com/heliaxdev/wasmer?rev=833721a1b21cd192e7f044abe2139d03ba291149#833721a1b21cd192e7f044abe2139d03ba291149" -dependencies = [ - "backtrace", - "cc", - "cfg-if 1.0.0", - "corosensei", - "enum-iterator", - "indexmap 1.9.3", - "lazy_static", - "libc", - "loupe", - "mach", - "memoffset 0.6.5", - "more-asserts", - "region", - "rkyv", - "scopeguard", - "serde", - "thiserror", - "wasmer-artifact", - "wasmer-types", - "winapi", -] - -[[package]] -name = "wasmparser" -version = "0.83.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a" - -[[package]] -name = "wasmparser" -version = "0.107.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" -dependencies = [ - "indexmap 1.9.3", - "semver 1.0.20", -] - [[package]] name = "wasmtimer" version = "0.2.0" @@ -7483,27 +6738,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "wast" -version = "67.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c2933efd77ff2398b83817a98984ffe4b67aefd9aa1d2c8e68e19b553f1c38" -dependencies = [ - "leb128", - "memchr", - "unicode-width", - "wasm-encoder", -] - -[[package]] -name = "wat" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02905d13751dcb18f4e19f489d37a1bf139f519feaeef28d072a41a78e69a74" -dependencies = [ - "wast", -] - [[package]] name = "web-sys" version = "0.3.64" @@ -7572,19 +6806,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows-sys" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" -dependencies = [ - "windows_aarch64_msvc 0.33.0", - "windows_i686_gnu 0.33.0", - "windows_i686_msvc 0.33.0", - "windows_x86_64_gnu 0.33.0", - "windows_x86_64_msvc 0.33.0", -] - [[package]] name = "windows-sys" version = "0.45.0" @@ -7645,12 +6866,6 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" -[[package]] -name = "windows_aarch64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" - [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -7663,12 +6878,6 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" -[[package]] -name = "windows_i686_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" - [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -7681,12 +6890,6 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" -[[package]] -name = "windows_i686_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" - [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -7699,12 +6902,6 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" -[[package]] -name = "windows_x86_64_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" - [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -7729,12 +6926,6 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" -[[package]] -name = "windows_x86_64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" - [[package]] name = "windows_x86_64_msvc" version = "0.42.2" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 1a358b81ff..46c191a182 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -109,14 +109,10 @@ default-features = false version = "0.34.0" default-features = false -[dependencies.namada] -git = "https://github.com/anoma/namada" -rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" - [dependencies.namada_sdk] git = "https://github.com/anoma/namada" rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" -features = ["std", "async-client"] +features = ["std", "abciplus", "async-client", "masp-tx-gen", "tendermint-rpc"] [dev-dependencies] ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 446e760708..c437400095 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -32,19 +32,19 @@ use ibc_relayer_types::core::ics24_host::path::{ use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; -use namada::ledger::ibc::storage; -use namada::ledger::parameters::{storage as param_storage, EpochDuration}; -use namada::ledger::storage::ics23_specs::ibc_proof_specs; -use namada::ledger::storage::Sha256Hasher; -use namada::proof_of_stake::parameters::OwnedPosParams; -use namada::proof_of_stake::storage as pos_storage; -use namada::types::address::{Address, InternalAddress}; -use namada::types::storage::{Key, KeySeg, PrefixValue}; -use namada::types::token; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::core::ledger::ibc::storage; +use namada_sdk::core::ledger::parameters::{storage as param_storage, EpochDuration}; +use namada_sdk::core::ledger::storage::ics23_specs::ibc_proof_specs; +use namada_sdk::core::ledger::storage::Sha256Hasher; +use namada_sdk::core::types::address::{Address, InternalAddress}; +use namada_sdk::core::types::storage::{Key, KeySeg, PrefixValue}; +use namada_sdk::core::types::token; use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::masp::ShieldedContext; +use namada_sdk::proof_of_stake::storage as pos_storage; +use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; use namada_sdk::wallet::Store; use namada_sdk::wallet::{StoredKeypair, Wallet}; diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 7a229bc69c..e5bf475c49 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -3,10 +3,10 @@ use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_ use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::Height as ICSHeight; -use namada::ledger::ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; -use namada::types::address::{Address, InternalAddress}; -use namada::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::core::ledger::ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; +use namada_sdk::core::types::address::{Address, InternalAddress}; +use namada_sdk::core::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use tendermint::block::Height as TmHeight; @@ -197,11 +197,27 @@ impl NamadaChain { .as_str() .parse() .expect("invalid event type"), - &request.source_port_id.as_str().parse().unwrap(), - &request.source_channel_id.as_str().parse().unwrap(), - &request.destination_port_id.as_str().parse().unwrap(), - &request.destination_channel_id.as_str().parse().unwrap(), - &namada::ibc::core::ics04_channel::packet::Sequence::from(u64::from(sequence)), + &request + .source_port_id + .as_str() + .parse() + .expect("PortId should be parsable"), + &request + .source_channel_id + .as_str() + .parse() + .expect("ChannelId should be parsable"), + &request + .destination_port_id + .as_str() + .parse() + .expect("PortId should be parsable"), + &request + .destination_channel_id + .as_str() + .parse() + .expect("ChannelId should be parsable"), + &u64::from(sequence).into(), ), ) .map_err(NamadaError::query)? diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index d05ffdd920..84e47b0417 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -5,13 +5,13 @@ use std::thread; use std::time::Instant; use ibc_proto::google::protobuf::Any; -use namada::ledger::parameters::storage as parameter_storage; -use namada::types::address::{Address, ImplicitAddress}; -use namada::types::chain::ChainId; -use namada::types::key::RefTo; -use namada::types::transaction::GasLimit; use namada_sdk::args::{Tx as TxArgs, TxCustom}; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::core::ledger::parameters::storage as parameter_storage; +use namada_sdk::core::types::address::{Address, ImplicitAddress}; +use namada_sdk::core::types::chain::ChainId; +use namada_sdk::core::types::key::RefTo; +use namada_sdk::core::types::transaction::GasLimit; use namada_sdk::{tx, Namada}; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; From c939c7b1b4c9c7acaec2b9180f708a0f166a8e88 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 21 Nov 2023 10:57:53 +0100 Subject: [PATCH 021/103] Namada 0.27.0 --- Cargo.lock | 432 ++------------------ crates/relayer-cli/src/commands/keys/add.rs | 11 +- crates/relayer/Cargo.toml | 4 +- crates/relayer/src/chain/namada.rs | 9 +- crates/relayer/src/chain/namada/key.rs | 2 - crates/relayer/src/chain/namada/query.rs | 2 +- crates/relayer/src/chain/namada/tx.rs | 7 +- 7 files changed, 56 insertions(+), 411 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99781db3be..e94dab4de2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -83,21 +83,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] -[[package]] -name = "ahash" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" -dependencies = [ - "getrandom 0.2.10", - "once_cell", - "version_check", -] - [[package]] name = "aho-corasick" version = "1.1.2" @@ -159,18 +148,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ed-on-bls12-381" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b7ada17db3854f5994e74e60b18e10e818594935ee7e1d329800c117b32970" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", -] - [[package]] name = "ark-ff" version = "0.3.0" @@ -211,41 +188,16 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ark-poly" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0f78f47537c2f15706db7e98fe64cc1711dbf9def81218194e17239e53e5aa" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.11.2", -] - [[package]] name = "ark-serialize" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" dependencies = [ - "ark-serialize-derive", "ark-std", "digest 0.9.0", ] -[[package]] -name = "ark-serialize-derive" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd4e5f0bf8285d5ed538d27fab7411f3e297908fd93c62195de8bee3f199e82" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-std" version = "0.3.0" @@ -488,15 +440,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bip0039" version = "0.10.1" @@ -565,15 +508,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "blake2b_simd" version = "1.0.2" @@ -648,39 +582,16 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "borsh" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" -dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", -] - [[package]] name = "borsh" version = "1.0.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41898277107b0d3f027593697912977397eba6ac39a55bdd2eb02c1d5d5013b5" dependencies = [ - "borsh-derive 1.0.0-alpha.4", + "borsh-derive", "cfg_aliases", ] -[[package]] -name = "borsh-derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" -dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - [[package]] name = "borsh-derive" version = "1.0.0-alpha.4" @@ -695,34 +606,12 @@ dependencies = [ "syn_derive", ] -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "borsh-ext" version = "1.0.0-alpha.4" source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.0.0-alpha.4#6bebf357002f96574ac37a28f547b6c88e91b799" dependencies = [ - "borsh 1.0.0-alpha.4", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "borsh", ] [[package]] @@ -841,7 +730,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] @@ -871,17 +760,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" -[[package]] -name = "chacha20" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" -dependencies = [ - "cfg-if 1.0.0", - "cipher 0.3.0", - "cpufeatures", -] - [[package]] name = "chacha20" version = "0.9.1" @@ -889,7 +767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if 1.0.0", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -900,8 +778,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20 0.9.1", - "cipher 0.4.4", + "chacha20", + "cipher", "poly1305", "zeroize", ] @@ -918,15 +796,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array 0.14.7", -] - [[package]] name = "cipher" version = "0.4.4" @@ -1168,17 +1037,6 @@ dependencies = [ "crossbeam-utils 0.8.16", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch", - "crossbeam-utils 0.8.16", -] - [[package]] name = "crossbeam-epoch" version = "0.9.15" @@ -1272,20 +1130,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle 2.4.1", - "zeroize", + "cipher", ] [[package]] @@ -1541,20 +1386,10 @@ dependencies = [ "elliptic-curve", "rfc6979", "serdect", - "signature 2.1.0", + "signature", "spki", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "serde", - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -1563,7 +1398,7 @@ checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", "serde", - "signature 2.1.0", + "signature", ] [[package]] @@ -1594,30 +1429,14 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "merlin", - "rand 0.7.3", - "serde", - "serde_bytes", - "sha2 0.9.9", - "zeroize", -] - [[package]] name = "ed25519-dalek" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ - "curve25519-dalek 4.1.1", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", @@ -1631,7 +1450,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" dependencies = [ "derivation-path", - "ed25519-dalek 2.0.0", + "ed25519-dalek", "hmac 0.12.1", "sha2 0.10.8", ] @@ -2079,56 +1898,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ferveo" -version = "0.1.1" -source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" -dependencies = [ - "anyhow", - "ark-bls12-381", - "ark-ec", - "ark-ed-on-bls12-381", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "bincode", - "blake2", - "blake2b_simd", - "borsh 0.9.3", - "digest 0.10.7", - "ed25519-dalek 1.0.1", - "either", - "ferveo-common", - "group-threshold-cryptography", - "hex", - "itertools 0.10.5", - "measure_time", - "miracl_core", - "num 0.4.1", - "rand 0.7.3", - "rand 0.8.5", - "serde", - "serde_bytes", - "serde_json", - "subproductdomain", - "subtle 2.4.1", - "zeroize", -] - -[[package]] -name = "ferveo-common" -version = "0.1.0" -source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" -dependencies = [ - "anyhow", - "ark-ec", - "ark-serialize", - "ark-std", - "serde", - "serde_bytes", -] - [[package]] name = "ff" version = "0.13.0" @@ -2197,7 +1966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26c4b37de5ae15812a764c958297cfc50f5c010438f60c6ce75d11b802abd404" dependencies = [ "cbc", - "cipher 0.4.4", + "cipher", "libm", "num-bigint 0.4.4", "num-integer", @@ -2416,30 +2185,6 @@ dependencies = [ "subtle 2.4.1", ] -[[package]] -name = "group-threshold-cryptography" -version = "0.1.0" -source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" -dependencies = [ - "anyhow", - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "blake2b_simd", - "chacha20 0.8.2", - "hex", - "itertools 0.10.5", - "miracl_core", - "rand 0.8.5", - "rand_core 0.6.4", - "rayon", - "subproductdomain", - "thiserror", -] - [[package]] name = "gumdrop" version = "0.8.1" @@ -2485,15 +2230,6 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -2858,8 +2594,8 @@ dependencies = [ "crossbeam-channel 0.5.8", "digest 0.10.7", "dirs-next", - "ed25519 2.2.3", - "ed25519-dalek 2.0.0", + "ed25519", + "ed25519-dalek", "ed25519-dalek-bip32", "env_logger", "flex-error", @@ -2891,7 +2627,7 @@ dependencies = [ "serde_json", "serial_test", "sha2 0.10.8", - "signature 2.1.0", + "signature", "strum", "subtle-encoding", "tendermint", @@ -3156,7 +2892,7 @@ name = "index-set" version = "0.8.0" source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.0#0c218cc300c1bb7a1acf34f21b6e9d489df5fda8" dependencies = [ - "borsh 1.0.0-alpha.4", + "borsh", "serde", ] @@ -3206,9 +2942,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", ] [[package]] @@ -3310,7 +3043,7 @@ dependencies = [ "once_cell", "serdect", "sha2 0.10.8", - "signature 2.1.0", + "signature", ] [[package]] @@ -3392,10 +3125,10 @@ name = "masp_note_encryption" version = "0.2.0" source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" dependencies = [ - "borsh 1.0.0-alpha.4", - "chacha20 0.9.1", + "borsh", + "chacha20", "chacha20poly1305", - "cipher 0.4.4", + "cipher", "rand_core 0.6.4", "subtle 2.4.1", ] @@ -3411,7 +3144,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh 1.0.0-alpha.4", + "borsh", "byteorder", "ff", "fpe", @@ -3473,16 +3206,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" -[[package]] -name = "measure_time" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56220900f1a0923789ecd6bf25fbae8af3b2f1ff3e9e297fc9b6b8674dd4d852" -dependencies = [ - "instant", - "log", -] - [[package]] name = "memchr" version = "2.6.4" @@ -3510,18 +3233,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db" -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "mime" version = "0.3.17" @@ -3561,12 +3272,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "miracl_core" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c7128ba23c81f6471141b90f17654f89ef44a56e14b8a4dd0fddfccd655277" - [[package]] name = "moka" version = "0.12.1" @@ -3596,14 +3301,13 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_core" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +version = "0.27.0" +source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" dependencies = [ "ark-bls12-381", - "ark-ec", "ark-serialize", "bech32 0.8.1", - "borsh 1.0.0-alpha.4", + "borsh", "borsh-ext", "chrono", "data-encoding", @@ -3612,9 +3316,6 @@ dependencies = [ "ethabi", "ethbridge-structs", "eyre", - "ferveo", - "ferveo-common", - "group-threshold-cryptography", "ibc", "ibc-derive", "ibc-proto 0.37.1", @@ -3629,6 +3330,7 @@ dependencies = [ "num-rational 0.4.1", "num-traits", "num256", + "num_enum", "primitive-types", "prost 0.12.1", "prost-types 0.12.1", @@ -3650,10 +3352,10 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +version = "0.27.0" +source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" dependencies = [ - "borsh 1.0.0-alpha.4", + "borsh", "borsh-ext", "ethers", "eyre", @@ -3672,8 +3374,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +version = "0.27.0" +source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" dependencies = [ "proc-macro2", "quote", @@ -3682,10 +3384,10 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +version = "0.27.0" +source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" dependencies = [ - "borsh 1.0.0-alpha.4", + "borsh", "data-encoding", "derivative", "namada_core", @@ -3696,12 +3398,12 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.25.0" -source = "git+https://github.com/anoma/namada?rev=7116b6aa916026e97f3f871f291c6ba1c7b427d2#7116b6aa916026e97f3f871f291c6ba1c7b427d2" +version = "0.27.0" +source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" dependencies = [ "async-trait", "bimap", - "borsh 1.0.0-alpha.4", + "borsh", "borsh-ext", "circular-queue", "data-encoding", @@ -4407,15 +4109,6 @@ dependencies = [ "uint", ] -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml 0.5.11", -] - [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -4722,28 +4415,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "rayon" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" -dependencies = [ - "autocfg", - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils 0.8.16", -] - [[package]] name = "reddsa" version = "0.5.1" @@ -5086,7 +4757,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] @@ -5507,12 +5178,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.1.0" @@ -5605,7 +5270,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=aed81070ce2c83a41e1c6bada757347f33ef8eb6#aed81070ce2c83a41e1c6bada757347f33ef8eb6" dependencies = [ - "borsh 1.0.0-alpha.4", + "borsh", "cfg-if 1.0.0", "ics23", "sha2 0.9.9", @@ -5661,19 +5326,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "subproductdomain" -version = "0.1.0" -source = "git+https://github.com/anoma/ferveo?rev=e5abd0acc938da90140351a65a26472eb495ce4d#e5abd0acc938da90140351a65a26472eb495ce4d" -dependencies = [ - "anyhow", - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", -] - [[package]] name = "subtle" version = "1.0.0" @@ -5807,7 +5459,7 @@ checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" dependencies = [ "bytes", "digest 0.10.7", - "ed25519 2.2.3", + "ed25519", "ed25519-consensus 2.1.0", "flex-error", "futures", @@ -5822,7 +5474,7 @@ dependencies = [ "serde_json", "serde_repr", "sha2 0.10.8", - "signature 2.1.0", + "signature", "subtle 2.4.1", "subtle-encoding", "tendermint-proto", diff --git a/crates/relayer-cli/src/commands/keys/add.rs b/crates/relayer-cli/src/commands/keys/add.rs index 2c26f51afc..61ff01f416 100644 --- a/crates/relayer-cli/src/commands/keys/add.rs +++ b/crates/relayer-cli/src/commands/keys/add.rs @@ -238,22 +238,15 @@ pub fn add_key( .load() .map_err(|_| eyre!("error loading Namada wallet"))?; - let keys = wallet.get_keys(); - let (secret_key, pkh) = keys - .get(key_name) - .ok_or_else(|| eyre!("error loading the key from Namada wallet"))?; - let secret_key = secret_key - .get::(true, None) + let secret_key = wallet + .find_secret_key(key_name, None) .map_err(|_| eyre!("error loading the key from Namada wallet"))?; - let pkh = - pkh.ok_or_else(|| eyre!("error loading the public key hash from Namada wallet"))?; let address = wallet .find_address(key_name) .ok_or_else(|| eyre!("error loading the address from Namada wallet"))?; let namada_key = NamadaKeyPair { alias: key_name.to_string(), address: address.into_owned(), - pkh: pkh.clone(), secret_key: secret_key.clone(), }; keyring.add_key(key_name, namada_key.clone())?; diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 46c191a182..80696c12c9 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -111,8 +111,8 @@ default-features = false [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -rev = "7116b6aa916026e97f3f871f291c6ba1c7b427d2" -features = ["std", "abciplus", "async-client", "masp-tx-gen", "tendermint-rpc"] +tag = "v0.27.0" +features = ["std"] [dev-dependencies] ibc-relayer-types = { version = "0.26.1", path = "../relayer-types", features = ["mocks"] } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index c437400095..1e5a7d4dac 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -47,7 +47,7 @@ use namada_sdk::proof_of_stake::storage as pos_storage; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; use namada_sdk::wallet::Store; -use namada_sdk::wallet::{StoredKeypair, Wallet}; +use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, NamadaImpl}; use tendermint::block::Height as TmHeight; use tendermint::{node, Time}; @@ -224,11 +224,12 @@ impl ChainEndpoint for NamadaChain { let key = keybase .get_key(&config.key_name) .map_err(|e| Error::key_not_found(config.key_name.clone(), e))?; - store.insert_address::(key.alias.into(), key.address, true); store.insert_keypair::( config.key_name.clone().into(), - StoredKeypair::Raw(key.secret_key), - key.pkh, + key.secret_key, + None, + Some(key.address), + None, true, ); let wallet = Wallet::new(wallet::NullWalletUtils, store); diff --git a/crates/relayer/src/chain/namada/key.rs b/crates/relayer/src/chain/namada/key.rs index 558cb6a468..6322cb6439 100644 --- a/crates/relayer/src/chain/namada/key.rs +++ b/crates/relayer/src/chain/namada/key.rs @@ -2,7 +2,6 @@ use core::any::Any; use namada_sdk::core::types::address::Address; use namada_sdk::core::types::key::common::SecretKey; -use namada_sdk::core::types::key::PublicKeyHash; use crate::config::AddressType; use crate::keyring::errors::Error; @@ -14,7 +13,6 @@ use serde::{Deserialize, Serialize}; pub struct NamadaKeyPair { pub alias: String, pub address: Address, - pub pkh: PublicKeyHash, pub secret_key: SecretKey, } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index e5bf475c49..5901387ebb 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -270,7 +270,7 @@ impl NamadaChain { let token = Address::decode(&raw_addr) .map_err(|_| NamadaError::address_decode(raw_addr.to_string()))?; let hash = match &token { - Address::Internal(InternalAddress::IbcToken(hash)) => hash, + Address::Internal(InternalAddress::IbcToken(hash)) => hash.to_string(), _ => return Err(NamadaError::denom_not_found(raw_addr).into()), }; diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 84e47b0417..fd132bfe48 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -12,7 +12,7 @@ use namada_sdk::core::types::address::{Address, ImplicitAddress}; use namada_sdk::core::types::chain::ChainId; use namada_sdk::core::types::key::RefTo; use namada_sdk::core::types::transaction::GasLimit; -use namada_sdk::{tx, Namada}; +use namada_sdk::{signing, tx, Namada}; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use crate::chain::cosmos; @@ -70,6 +70,7 @@ impl NamadaChain { tx_reveal_code_path: PathBuf::from(tx::TX_REVEAL_PK), verification_key: None, password: None, + use_device: false, }; let rt = self.rt.clone(); rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; @@ -85,7 +86,7 @@ impl NamadaChain { let (mut tx, signing_data, _epoch) = rt .block_on(args.build(&namada_ctx)) .map_err(NamadaError::namada)?; - rt.block_on(namada_ctx.sign(&mut tx, &args.tx, signing_data)) + rt.block_on(namada_ctx.sign(&mut tx, &args.tx, signing_data, signing::default_sign)) .map_err(NamadaError::namada)?; let decrypted_hash = tx.raw_header_hash().to_string(); let response = rt @@ -162,7 +163,7 @@ impl NamadaChain { .await .map_err(NamadaError::namada)?; namada_ctx - .sign(&mut tx, args, signing_data) + .sign(&mut tx, args, signing_data, signing::default_sign) .await .map_err(NamadaError::namada)?; namada_ctx From 764973dd79233e7a709b9e709763a327ebaddfdc Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 23 Nov 2023 15:53:03 +0100 Subject: [PATCH 022/103] check Namada WriteAck event in NewBlock --- crates/relayer/src/event/source/websocket/extract.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/relayer/src/event/source/websocket/extract.rs b/crates/relayer/src/event/source/websocket/extract.rs index ad8db55b6a..a79eb9eb50 100644 --- a/crates/relayer/src/event/source/websocket/extract.rs +++ b/crates/relayer/src/event/source/websocket/extract.rs @@ -319,6 +319,11 @@ fn extract_block_events( extract_events(height, block_events, "send_packet", "packet_data"), height, ); + append_events::( + &mut events, + extract_events(height, block_events, "write_acknowledgement", "packet_ack"), + height, + ); append_events::( &mut events, extract_events(height, block_events, "channel_close_init", "channel_id"), From 8cd572dde6cef0596379211cf402c168a3ab9e07 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 8 Dec 2023 23:29:40 +0100 Subject: [PATCH 023/103] Namada 0.28.0 --- Cargo.lock | 461 ++++++++++++++++++++--- crates/relayer/Cargo.toml | 2 +- crates/relayer/src/chain/namada.rs | 46 +-- crates/relayer/src/chain/namada/query.rs | 15 +- crates/relayer/src/chain/namada/tx.rs | 40 +- 5 files changed, 457 insertions(+), 107 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e94dab4de2..bbf0ad84ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -584,9 +584,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.0.0-alpha.4" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41898277107b0d3f027593697912977397eba6ac39a55bdd2eb02c1d5d5013b5" +checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" dependencies = [ "borsh-derive", "cfg_aliases", @@ -594,12 +594,12 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.0.0-alpha.4" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413cb435569fe499e89235f758304e0e7198016baa351d8f5827ea0f40526ce0" +checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" dependencies = [ "once_cell", - "proc-macro-crate 1.3.1", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 2.0.38", @@ -608,8 +608,8 @@ dependencies = [ [[package]] name = "borsh-ext" -version = "1.0.0-alpha.4" -source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.0.0-alpha.4#6bebf357002f96574ac37a28f547b6c88e91b799" +version = "1.2.0" +source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ "borsh", ] @@ -2473,32 +2473,53 @@ dependencies = [ [[package]] name = "ibc" -version = "0.47.0" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "184eb22140cb4143bbcf7ddc8fdfeb9cc058ef73a6066f8ea78162e69d3565d1" +checksum = "429b6aca6624a9364878e28c90311438c2621a8270942d80732b2651ac38ac74" +dependencies = [ + "ibc-apps", + "ibc-clients", + "ibc-core", + "ibc-core-host-cosmos", + "ibc-derive", + "ibc-primitives", +] + +[[package]] +name = "ibc-app-transfer" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b177b343385d9654d99be4709b5ed1574d41f91dfa4044b2d26d688be4179d7c" +dependencies = [ + "ibc-app-transfer-types", + "ibc-core", + "serde-json-wasm", +] + +[[package]] +name = "ibc-app-transfer-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95f92a3eda225e5c86e7bb6501c95986583ac541c4369d3c528349d81390f947" dependencies = [ - "bytes", "derive_more", "displaydoc", - "ibc-derive", - "ibc-proto 0.37.1", - "ics23", - "num-traits", + "ibc-core", + "ibc-proto 0.38.0", "primitive-types", - "prost 0.12.1", "serde", - "serde-json-wasm", - "serde_derive", - "sha2 0.10.8", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "time", - "tracing", "uint", ] +[[package]] +name = "ibc-apps" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4be40d55ed2dea9f2d05b902a3586f20850c723e4bdbfc4fb0ebe7a66ca5e40" +dependencies = [ + "ibc-app-transfer", +] + [[package]] name = "ibc-chain-registry" version = "0.26.1" @@ -2518,11 +2539,342 @@ dependencies = [ "tracing", ] +[[package]] +name = "ibc-client-tendermint" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119aa5873214228bf69bded3f20022b9ae1bc35b6841d295afcd73e53db05ccf" +dependencies = [ + "ibc-client-tendermint-types", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", + "prost 0.12.1", + "serde", + "tendermint", + "tendermint-light-client-verifier", +] + +[[package]] +name = "ibc-client-tendermint-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f21679016931b332b295a761e65cc122dc6fbfb98444148b681ad3aaa474665" +dependencies = [ + "bytes", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", +] + +[[package]] +name = "ibc-clients" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c660323e93107a136aa3dbc412b7fa2eafd315c2fe71184096a43800f8ca5" +dependencies = [ + "ibc-client-tendermint", +] + +[[package]] +name = "ibc-core" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "100d9d0aa67432c5078a8a1c818e3fc990a193be6d35ed0abeda5b340d16c1da" +dependencies = [ + "ibc-core-channel", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler", + "ibc-core-host", + "ibc-core-router", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-channel" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebaa37629ac029f914dfe552ab5dad01ddb240ec885ed0ae68221cbea4e9bfc" +dependencies = [ + "ibc-core-channel-types", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-core-router", + "ibc-primitives", + "prost 0.12.1", +] + +[[package]] +name = "ibc-core-channel-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2ba72c56c411b1e0ce6dc3f5e1fa1de9e6c84891f425b7be8a9e1705964378" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-client" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06c4fac8e05201795073dee8c93d5afe9dfeac9aec2412b4a2b0c5f0d1e1d725" +dependencies = [ + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", + "prost 0.12.1", +] + +[[package]] +name = "ibc-core-client-context" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b82abd9489021730d59ab2d00e9438d3711e8e78ecba4d083b64f833301682b" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-derive", + "ibc-primitives", + "prost 0.12.1", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-client-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bafdbf6db5dab4c8ad610b6940e23b4f8abd0a6ac5e8e2801415a95defd4a583" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-commitment-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4256b0216fc49024bac7e01c61b9bb055e31914ffe9ce6f468d7ce496a9357" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-primitives", + "ibc-proto 0.38.0", + "ics23", + "prost 0.12.1", + "serde", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-connection" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e237b70b9ba0177a4e59ac9048fffac2ac44c334703cc0ae403ad221450850" +dependencies = [ + "ibc-core-client", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", + "prost 0.12.1", +] + +[[package]] +name = "ibc-core-connection-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca841416fa29626423917099092f3698ae2735074cb3fe42936ddf6b2ccbf2f7" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-handler" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47e5e5a006aa0fc87ec3f5fb1e0ef6dd5aeea5079fa927d799d526c44329987" +dependencies = [ + "ibc-core-channel", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-core-router", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-handler-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3d59a8a5eb2069530c42783b4fef63472a89e0e9242334351df1bb58aaf542" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-host-types", + "ibc-core-router-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-host" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aa63c895c0e5a75e42fe859b8fd4250c12bfa8b9c6b114f94c927ecfad38a03" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-primitives", + "prost 0.12.1", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-host-cosmos" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a325862af6c20b0df3d27c072a2d802a7232dc1666214d738cdfbd9a9c99720" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-app-transfer-types", + "ibc-client-tendermint", + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-host-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616955da310febbe93c0569a2feebd9f57cafed3eee5a56b0c3bb953a75f6089" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-primitives", + "serde", +] + +[[package]] +name = "ibc-core-router" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31fe115da73e0616bdb44400fa6b11ca251648d070c4ff419d58e27804d30243" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-host-types", + "ibc-core-router-types", + "ibc-primitives", + "prost 0.12.1", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-router-types" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d1fbb0bbbdeafa7ac989ba1693ed46d22e0e3eb0bdae478544e31157a4fdba6" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.38.0", + "ics23", + "prost 0.12.1", + "serde", + "subtle-encoding", + "tendermint", +] + [[package]] name = "ibc-derive" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92f1528535e9ca495badb76c143bdd4763c1c9d987f59d1f8b47963ba0c11674" +checksum = "df07bf5bc1e65e291506b7497633e07967e49b36a8db10cda77a8fd686eb4548" dependencies = [ "darling", "proc-macro2", @@ -2547,11 +2899,26 @@ dependencies = [ "tonic", ] +[[package]] +name = "ibc-primitives" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5edea4685267fd68514c87e7aa3a62712340c4cff6903f088a9ab571428a08a" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-proto 0.38.0", + "prost 0.12.1", + "serde", + "tendermint", + "time", +] + [[package]] name = "ibc-proto" -version = "0.37.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63042806bb2f662ca1c68026231900cfe13361136ddfd0dd09bcb315056a22b8" +checksum = "93cbf4cbe9e5113cc7c70f3208a7029b2205c629502cbb2ae7ea0a09a97d3005" dependencies = [ "base64 0.21.4", "bytes", @@ -2890,7 +3257,7 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "index-set" version = "0.8.0" -source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.0#0c218cc300c1bb7a1acf34f21b6e9d489df5fda8" +source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" dependencies = [ "borsh", "serde", @@ -3122,8 +3489,8 @@ dependencies = [ [[package]] name = "masp_note_encryption" -version = "0.2.0" -source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" dependencies = [ "borsh", "chacha20", @@ -3135,8 +3502,8 @@ dependencies = [ [[package]] name = "masp_primitives" -version = "0.9.0" -source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" dependencies = [ "aes", "bip0039", @@ -3166,8 +3533,8 @@ dependencies = [ [[package]] name = "masp_proofs" -version = "0.9.0" -source = "git+https://github.com/anoma/masp?rev=77e009626f3f52fe83c81ec6ee38fc2547d38da3#77e009626f3f52fe83c81ec6ee38fc2547d38da3" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" dependencies = [ "bellman", "blake2b_simd", @@ -3301,8 +3668,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_core" -version = "0.27.0" -source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" +version = "0.28.0" +source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" dependencies = [ "ark-bls12-381", "ark-serialize", @@ -3318,7 +3685,6 @@ dependencies = [ "eyre", "ibc", "ibc-derive", - "ibc-proto 0.37.1", "ics23", "impl-num-traits", "index-set", @@ -3352,8 +3718,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.27.0" -source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" +version = "0.28.0" +source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" dependencies = [ "borsh", "borsh-ext", @@ -3374,8 +3740,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.27.0" -source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" +version = "0.28.0" +source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" dependencies = [ "proc-macro2", "quote", @@ -3384,22 +3750,23 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.27.0" -source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" +version = "0.28.0" +source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" dependencies = [ "borsh", "data-encoding", "derivative", "namada_core", "once_cell", + "serde", "thiserror", "tracing", ] [[package]] name = "namada_sdk" -version = "0.27.0" -source = "git+https://github.com/anoma/namada?tag=v0.27.0#47c887c501c47f15929221c3858220d51731962b" +version = "0.28.0" +source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" dependencies = [ "async-trait", "bimap", @@ -5268,7 +5635,7 @@ dependencies = [ [[package]] name = "sparse-merkle-tree" version = "0.3.1-pre" -source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=aed81070ce2c83a41e1c6bada757347f33ef8eb6#aed81070ce2c83a41e1c6bada757347f33ef8eb6" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=515687fe7884cb365067ac86c66ac3613de176bb#515687fe7884cb365067ac86c66ac3613de176bb" dependencies = [ "borsh", "cfg-if 1.0.0", diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 80696c12c9..f7857d9276 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -111,7 +111,7 @@ default-features = false [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.27.0" +tag = "v0.28.0" features = ["std"] [dev-dependencies] diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 1e5a7d4dac..b9853ac069 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -48,7 +48,7 @@ use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; -use namada_sdk::{rpc, NamadaImpl}; +use namada_sdk::{rpc, Namada, NamadaImpl}; use tendermint::block::Height as TmHeight; use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; @@ -90,13 +90,8 @@ pub mod wallet; pub struct NamadaChain { /// Reuse CosmosSdkConfig for tendermint's light clients config: CosmosSdkConfig, - rpc_client: HttpClient, - /// Wallet for Namada context just reading the added keys - wallet: Wallet, - /// Shielded context for Namada context - shielded_ctx: ShieldedContext, - /// Namada native token - native_token: Address, + /// Namada context + ctx: NamadaImpl, light_client: TmLightClient, rt: Arc, keybase: KeyRing, @@ -104,18 +99,6 @@ pub struct NamadaChain { } impl NamadaChain { - fn namada_ctx( - &mut self, - ) -> NamadaImpl<'_, HttpClient, wallet::NullWalletUtils, FsShieldedUtils, NullIo> { - NamadaImpl::native_new( - &self.rpc_client, - &mut self.wallet, - &mut self.shielded_ctx, - &NullIo, - self.native_token.clone(), - ) - } - fn config(&self) -> &CosmosSdkConfig { &self.config } @@ -130,7 +113,7 @@ impl NamadaChain { let node_info = self .rt - .block_on(fetch_node_info(&self.rpc_client, &self.config))?; + .block_on(fetch_node_info(self.ctx.client(), &self.config))?; let compat_mode = CompatMode::from_version(node_info.version).unwrap_or(CompatMode::V0_37); use crate::config::EventSourceMode as Mode; @@ -144,7 +127,7 @@ impl NamadaChain { ), Mode::Pull { interval } => EventSource::rpc( self.config.id.clone(), - self.rpc_client.clone(), + self.ctx.client().clone(), *interval, self.rt.clone(), ), @@ -173,7 +156,7 @@ impl NamadaChain { fn get_latest_block_time(&self) -> Result { let status = self .rt - .block_on(SdkClient::status(&self.rpc_client)) + .block_on(SdkClient::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; Ok(status .sync_info @@ -244,12 +227,11 @@ impl ChainEndpoint for NamadaChain { ..config }; + let ctx = NamadaImpl::native_new(rpc_client, wallet, shielded_ctx, NullIo, native_token); + Ok(Self { config, - rpc_client, - wallet, - shielded_ctx, - native_token, + ctx, light_client, rt, keybase, @@ -263,7 +245,7 @@ impl ChainEndpoint for NamadaChain { fn health_check(&mut self) -> Result { self.rt - .block_on(SdkClient::health(&self.rpc_client)) + .block_on(SdkClient::health(self.ctx.client())) .map_err(|e| { Error::health_check_json_rpc( self.config.id.clone(), @@ -422,7 +404,7 @@ impl ChainEndpoint for NamadaChain { let owner = Address::decode(owner).map_err(|_| NamadaError::address_decode(owner.to_string()))?; - let default_token = self.native_token.to_string(); + let default_token = self.ctx.native_token().to_string(); let denom = denom.unwrap_or(&default_token); let token = Address::decode(denom).map_err(|_| NamadaError::address_decode(denom.to_string()))?; @@ -537,7 +519,7 @@ impl ChainEndpoint for NamadaChain { let status = self .rt - .block_on(SdkClient::status(&self.rpc_client)) + .block_on(SdkClient::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; if status.sync_info.catching_up { @@ -1115,8 +1097,8 @@ impl ChainEndpoint for NamadaChain { }; let rpc_call = match height.value() { - 0 => SdkClient::latest_block(&self.rpc_client), - _ => SdkClient::block(&self.rpc_client, height), + 0 => SdkClient::latest_block(self.ctx.client()), + _ => SdkClient::block(self.ctx.client(), height), }; let response = self .rt diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 5901387ebb..fed38a75c3 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -9,6 +9,7 @@ use namada_sdk::core::types::address::{Address, InternalAddress}; use namada_sdk::core::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; +use namada_sdk::Namada; use tendermint::block::Height as TmHeight; use crate::chain::endpoint::ChainEndpoint; @@ -36,7 +37,7 @@ impl NamadaChain { let (value, proof) = self .rt .block_on(rpc::query_storage_value_bytes( - &self.rpc_client, + self.ctx.client(), &key, height, is_proven, @@ -60,7 +61,7 @@ impl NamadaChain { .block_on( // We can't use rpc::query_storage_prefix` because we need byte data RPC.shell() - .storage_prefix(&self.rpc_client, None, None, false, &prefix), + .storage_prefix(self.ctx.client(), None, None, false, &prefix), ) .map_err(NamadaError::query)?; Ok(response.data) @@ -68,7 +69,7 @@ impl NamadaChain { pub fn query_epoch(&self) -> Result { self.rt - .block_on(rpc::query_epoch(&self.rpc_client)) + .block_on(rpc::query_epoch(self.ctx.client())) .map_err(|e| Error::namada(NamadaError::namada(e))) } @@ -80,7 +81,7 @@ impl NamadaChain { let event = self .rt .block_on(RPC.shell().ibc_client_update( - &self.rpc_client, + self.ctx.client(), &request.client_id.as_str().parse().unwrap(), &height, )) @@ -113,7 +114,7 @@ impl NamadaChain { match self .rt .block_on(RPC.shell().applied( - &self.rpc_client, + self.ctx.client(), &tx_hash.try_into().expect("Invalid tx hash"), )) .map_err(NamadaError::query)? @@ -191,7 +192,7 @@ impl NamadaChain { .rt .block_on( RPC.shell().ibc_packet( - &self.rpc_client, + self.ctx.client(), &request .event_id .as_str() @@ -250,7 +251,7 @@ impl NamadaChain { .map_err(|_| Error::invalid_height_no_source())?; let response = self .rt - .block_on(SdkClient::block_results(&self.rpc_client, tm_height)) + .block_on(SdkClient::block_results(self.ctx.client(), tm_height)) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; let events = response diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index fd132bfe48..4acf1dda18 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -10,7 +10,6 @@ use namada_sdk::borsh::BorshDeserialize; use namada_sdk::core::ledger::parameters::storage as parameter_storage; use namada_sdk::core::types::address::{Address, ImplicitAddress}; use namada_sdk::core::types::chain::ChainId; -use namada_sdk::core::types::key::RefTo; use namada_sdk::core::types::transaction::GasLimit; use namada_sdk::{signing, tx, Namada}; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; @@ -44,7 +43,7 @@ impl NamadaChain { let gas_limit = GasLimit::try_from_slice(&value).map_err(NamadaError::borsh_decode)?; let namada_key = self.get_key()?; - let relayer_key_pair = namada_key.secret_key; + let relayer_public_key = namada_key.secret_key.to_public(); let relayer_addr = namada_key.address; let tx_args = TxArgs { @@ -57,7 +56,7 @@ impl NamadaChain { ledger_address: (), initialized_account_alias: None, wallet_alias_force: false, - wrapper_fee_payer: Some(relayer_key_pair.clone()), + wrapper_fee_payer: Some(relayer_public_key.clone()), fee_amount: None, fee_token, fee_unshield: None, @@ -65,17 +64,15 @@ impl NamadaChain { expiration: None, disposable_signing_key: false, chain_id: Some(chain_id), - signing_keys: vec![relayer_key_pair], + signing_keys: vec![relayer_public_key], signatures: vec![], tx_reveal_code_path: PathBuf::from(tx::TX_REVEAL_PK), - verification_key: None, password: None, use_device: false, }; let rt = self.rt.clone(); rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; - let namada_ctx = self.namada_ctx(); let args = TxCustom { tx: tx_args.clone(), code_path: Some(PathBuf::from(tx::TX_IBC_WASM)), @@ -84,13 +81,16 @@ impl NamadaChain { owner: relayer_addr.clone(), }; let (mut tx, signing_data, _epoch) = rt - .block_on(args.build(&namada_ctx)) - .map_err(NamadaError::namada)?; - rt.block_on(namada_ctx.sign(&mut tx, &args.tx, signing_data, signing::default_sign)) + .block_on(args.build(&self.ctx)) .map_err(NamadaError::namada)?; + rt.block_on( + self.ctx + .sign(&mut tx, &args.tx, signing_data, signing::default_sign, ()), + ) + .map_err(NamadaError::namada)?; let decrypted_hash = tx.raw_header_hash().to_string(); let response = rt - .block_on(namada_ctx.submit(tx, &args.tx)) + .block_on(self.ctx.submit(tx, &args.tx)) .map_err(NamadaError::namada)?; match response { @@ -147,26 +147,26 @@ impl NamadaChain { async fn submit_reveal_aux(&mut self, args: &TxArgs, address: &Address) -> Result<(), Error> { if let Address::Implicit(ImplicitAddress(pkh)) = address { - let key = self - .wallet - .find_key_by_pkh(pkh, args.clone().password) + let public_key = self + .ctx + .wallet() + .await + .find_public_key(pkh.to_string()) .map_err(|e| NamadaError::namada(namada_sdk::error::Error::Other(e.to_string())))?; - let public_key = key.ref_to(); - if tx::is_reveal_pk_needed(&self.rpc_client, address, args.force) + if tx::is_reveal_pk_needed(self.ctx.client(), address, args.force) .await .map_err(NamadaError::namada)? { - let namada_ctx = self.namada_ctx(); let (mut tx, signing_data, _epoch) = - tx::build_reveal_pk(&namada_ctx, args, &public_key) + tx::build_reveal_pk(&self.ctx, args, &public_key) .await .map_err(NamadaError::namada)?; - namada_ctx - .sign(&mut tx, args, signing_data, signing::default_sign) + self.ctx + .sign(&mut tx, args, signing_data, signing::default_sign, ()) .await .map_err(NamadaError::namada)?; - namada_ctx + self.ctx .submit(tx, args) .await .map_err(NamadaError::namada)?; From e22c2d5c007476044f487a31f23e27e3f3e32624 Mon Sep 17 00:00:00 2001 From: yito88 Date: Sat, 30 Dec 2023 16:27:52 +0100 Subject: [PATCH 024/103] Namada 0.29.0 --- Cargo.lock | 22 ++++++++++++---------- crates/relayer/Cargo.toml | 2 +- crates/relayer/src/chain/namada.rs | 24 ++++++------------------ crates/relayer/src/chain/namada/tx.rs | 9 ++++----- e2e/namada-gaia-simple-transfers | 2 +- e2e/namada-simple-transfers | 4 ++-- scripts/setup-namada | 8 ++++---- scripts/setup-namada-single-node | 4 ++-- 8 files changed, 32 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bbf0ad84ad..208bd32ae3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3668,8 +3668,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_core" -version = "0.28.0" -source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" +version = "0.29.0" +source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" dependencies = [ "ark-bls12-381", "ark-serialize", @@ -3692,6 +3692,7 @@ dependencies = [ "k256", "masp_primitives", "namada_macros", + "num-derive", "num-integer", "num-rational 0.4.1", "num-traits", @@ -3718,8 +3719,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.28.0" -source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" +version = "0.29.0" +source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" dependencies = [ "borsh", "borsh-ext", @@ -3740,8 +3741,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.28.0" -source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" +version = "0.29.0" +source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" dependencies = [ "proc-macro2", "quote", @@ -3750,8 +3751,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.28.0" -source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" +version = "0.29.0" +source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" dependencies = [ "borsh", "data-encoding", @@ -3765,8 +3766,8 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.28.0" -source = "git+https://github.com/anoma/namada?tag=v0.28.0#9562c1602be0c7a9e40cc486cc673203b6737a98" +version = "0.29.0" +source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" dependencies = [ "async-trait", "bimap", @@ -3780,6 +3781,7 @@ dependencies = [ "fd-lock", "futures", "itertools 0.10.5", + "lazy_static", "masp_primitives", "masp_proofs", "namada_core", diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index f7857d9276..af016a4fe9 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -111,7 +111,7 @@ default-features = false [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.28.0" +tag = "v0.29.0" features = ["std"] [dev-dependencies] diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index b9853ac069..28035af716 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -43,7 +43,7 @@ use namada_sdk::core::types::token; use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::masp::ShieldedContext; -use namada_sdk::proof_of_stake::storage as pos_storage; +use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; use namada_sdk::wallet::Store; @@ -140,7 +140,7 @@ impl NamadaChain { } fn get_unbonding_time(&self) -> Result { - let key = pos_storage::params_key(); + let key = pos_storage_key::params_key(); let (value, _) = self.query(key, QueryHeight::Latest, IncludeProof::No)?; let pos_params = OwnedPosParams::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; @@ -422,17 +422,11 @@ impl ChainEndpoint for NamadaChain { let denom_key = token::denom_key(&token); let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; let denominated_amount = if value.is_empty() { - token::DenominatedAmount { - amount, - denom: 0.into(), - } + token::DenominatedAmount::new(amount, 0.into()) } else { let token_denom = token::Denomination::try_from_slice(&value[..]) .map_err(NamadaError::borsh_decode)?; - token::DenominatedAmount { - amount, - denom: token_denom, - } + token::DenominatedAmount::new(amount, token_denom) }; Ok(Balance { @@ -458,17 +452,11 @@ impl ChainEndpoint for NamadaChain { let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; let denominated_amount = if value.is_empty() { - token::DenominatedAmount { - amount, - denom: 0.into(), - } + token::DenominatedAmount::new(amount, 0.into()) } else { let namada_denom = token::Denomination::try_from_slice(&value[..]) .map_err(NamadaError::borsh_decode)?; - token::DenominatedAmount { - amount, - denom: namada_denom, - } + token::DenominatedAmount::new(amount, namada_denom) }; let balance = Balance { amount: denominated_amount.to_string(), diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 4acf1dda18..59546d4d9a 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -80,7 +80,7 @@ impl NamadaChain { serialized_tx: None, owner: relayer_addr.clone(), }; - let (mut tx, signing_data, _epoch) = rt + let (mut tx, signing_data) = rt .block_on(args.build(&self.ctx)) .map_err(NamadaError::namada)?; rt.block_on( @@ -158,10 +158,9 @@ impl NamadaChain { .await .map_err(NamadaError::namada)? { - let (mut tx, signing_data, _epoch) = - tx::build_reveal_pk(&self.ctx, args, &public_key) - .await - .map_err(NamadaError::namada)?; + let (mut tx, signing_data) = tx::build_reveal_pk(&self.ctx, args, &public_key) + .await + .map_err(NamadaError::namada)?; self.ctx .sign(&mut tx, args, signing_data, signing::default_sign, ()) .await diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 1cca1451e1..405d210922 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -86,7 +86,7 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --new-client-connection --yes echo "~~ Transfer 100 samoleans from Gaia to Namada ~~" -namada_receiver=$(${NAMADAW} --base-dir ${base_dir} address find --alias relayer | awk '{print $4}') +namada_receiver=$(${NAMADAW} --base-dir ${base_dir} find --alias relayer | awk '/"relayer":/{print $3}') cargo run --bin hermes -- --config config_for_namada.toml \ tx ft-transfer \ --dst-chain ${chain_id} \ diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 1737d406d1..c8098d6702 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -81,8 +81,8 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ --node ${LEDGER_ADDR_B} # Get the receiver addresses -receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} address find --alias relayer | awk '{print $4}') -receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} address find --alias relayer | awk '{print $4}') +receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias relayer | awk '/"relayer":/{print $3}') +receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias relayer | awk '/"relayer":/{print $3}') echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ diff --git a/scripts/setup-namada b/scripts/setup-namada index 2d441b665d..bed96d11ad 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -142,7 +142,7 @@ function init_relayer_acc() { local base_dir=${DATA_DIR}/namada-${suffix} ${NAMADAW} --base-dir ${base_dir} \ - key gen --alias relayer --unsafe-dont-encrypt + gen --alias relayer --unsafe-dont-encrypt } function add_relayer_key() { @@ -206,11 +206,11 @@ sed -i .bak \ ${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & echo "Namada chain A's PID = $!" +sleep 5 ${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & echo "Namada chain B's PID = $!" - sleep 5 # Create "relayer" account on each chain @@ -218,8 +218,8 @@ init_relayer_acc "a" ${chain_id_a} init_relayer_acc "b" ${chain_id_b} # Get token addresses -nam_addr_a=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-a address find --alias nam | awk '{print $4}') -nam_addr_b=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-b address find --alias nam | awk '{print $4}') +nam_addr_a=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-a find --alias nam | awk '/"nam":/{print $3}') +nam_addr_b=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-b find --alias nam | awk '/"nam":/{print $3}') # Make Hermes config cd ${HERMES_DIR} diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index b981bc6582..2a1e3e2ab3 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -121,7 +121,7 @@ function init_relayer_acc() { local base_dir=${DATA_DIR}/namada ${NAMADAW} --base-dir ${base_dir} \ - key gen --alias relayer --unsafe-dont-encrypt + gen --alias relayer --unsafe-dont-encrypt } function fund_relayer_acc() { @@ -165,7 +165,7 @@ sleep 10 fund_relayer_acc "albert" ${LEDGER_ADDR} -nam_addr=$(${NAMADAW} --base-dir ${DATA_DIR}/namada address find --alias nam | awk '{print $4}') +nam_addr=$(${NAMADAW} --base-dir ${DATA_DIR}/namada find --alias nam | awk '/"nam":/{print $3}') # for the relayer cd ${HERMES_DIR} From d0522c6037db43f4cd1c67c509be6a59c3fc6c08 Mon Sep 17 00:00:00 2001 From: Luca Joss Date: Wed, 21 Feb 2024 16:34:43 +0100 Subject: [PATCH 025/103] Fix issues post-merge --- .github/codespell/words.txt | 3 +++ .github/workflows/integration.yaml | 35 ++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/.github/codespell/words.txt b/.github/codespell/words.txt index d15ff15549..eed2287f50 100644 --- a/.github/codespell/words.txt +++ b/.github/codespell/words.txt @@ -2,3 +2,6 @@ crate shs ser numer +nam +inout +wast diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 188878792b..352d0703d5 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -108,6 +108,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -144,6 +149,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -185,6 +195,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -228,6 +243,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -271,6 +291,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -315,6 +340,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: @@ -354,6 +384,11 @@ jobs: with: toolchain: stable override: true + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: Swatinem/rust-cache@v2 - uses: actions-rs/cargo@v1 with: From 4eee0e6ac9077b00eaaf4463beeea186c65879d5 Mon Sep 17 00:00:00 2001 From: yito88 Date: Sun, 14 Jan 2024 21:28:35 +0100 Subject: [PATCH 026/103] Namada 0.30.0 --- Cargo.lock | 21 +++++++++++---------- crates/relayer/Cargo.toml | 2 +- crates/relayer/src/chain/namada/tx.rs | 13 +++++++++++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e25b6c1c7..60cedb643f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3987,8 +3987,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_core" -version = "0.29.0" -source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" +version = "0.30.0" +source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" dependencies = [ "ark-bls12-381", "ark-serialize", @@ -4038,8 +4038,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.29.0" -source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" +version = "0.30.0" +source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" dependencies = [ "borsh", "borsh-ext", @@ -4055,13 +4055,14 @@ dependencies = [ "tendermint", "tendermint-proto", "tendermint-rpc", + "thiserror", "tracing", ] [[package]] name = "namada_macros" -version = "0.29.0" -source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" +version = "0.30.0" +source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" dependencies = [ "proc-macro2", "quote", @@ -4070,8 +4071,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.29.0" -source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" +version = "0.30.0" +source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" dependencies = [ "borsh", "data-encoding", @@ -4085,8 +4086,8 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.29.0" -source = "git+https://github.com/anoma/namada?tag=v0.29.0#76840b5dbe1a335f45fd468ff3636825dce9df89" +version = "0.30.0" +source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" dependencies = [ "async-trait", "bimap", diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index c50dddd7aa..014b03fa78 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -112,7 +112,7 @@ default-features = false [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.29.0" +tag = "v0.30.0" features = ["std"] [dev-dependencies] diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 59546d4d9a..88a9b799e9 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -46,6 +46,18 @@ impl NamadaChain { let relayer_public_key = namada_key.secret_key.to_public(); let relayer_addr = namada_key.address; + let memo = if !self.config().memo_prefix.as_str().is_empty() { + Some( + self.config() + .memo_prefix + .as_str() + .to_string() + .as_bytes() + .to_vec(), + ) + } else { + None + }; let tx_args = TxArgs { dry_run: false, dry_run_wrapper: false, @@ -68,6 +80,7 @@ impl NamadaChain { signatures: vec![], tx_reveal_code_path: PathBuf::from(tx::TX_REVEAL_PK), password: None, + memo, use_device: false, }; let rt = self.rt.clone(); From bca710b08b2a4e1ba39aa8050ac4820a467c673e Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 26 Jan 2024 17:22:20 +0100 Subject: [PATCH 027/103] Namada 0.30.2 --- Cargo.lock | 2107 ++++++++++------------ crates/relayer/Cargo.toml | 14 +- crates/relayer/src/chain/namada.rs | 44 +- crates/relayer/src/chain/namada/key.rs | 4 +- crates/relayer/src/chain/namada/query.rs | 6 +- crates/relayer/src/chain/namada/tx.rs | 8 +- 6 files changed, 974 insertions(+), 1209 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 60cedb643f..e0781a16c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,12 +28,12 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver 1.0.21", + "semver 1.0.22", "serde", "termcolor", "toml 0.5.11", "tracing", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "wait-timeout", ] @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if 1.0.0", "cipher", @@ -113,9 +113,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.11" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", @@ -127,9 +127,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" @@ -161,9 +161,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arc-swap" @@ -268,15 +268,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "async-stream" version = "0.3.5" @@ -296,18 +287,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -350,13 +341,14 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.1.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" dependencies = [ + "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 1.0.109", ] [[package]] @@ -449,9 +441,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.7" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" @@ -516,30 +508,15 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bitcoin" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd00f3c09b5f21fb357abe32d29946eb8bb7a0862bae62c0b5e4a692acbbe73c" +checksum = "6c85783c2fe40083ea54a33aa2f0ba58831d90fcd190f5bdc47e74e84d2a96ae" dependencies = [ "bech32 0.10.0-beta", "bitcoin-internals", - "bitcoin_hashes", + "bitcoin_hashes 0.13.0", "hex-conservative", "hex_lit", "secp256k1", @@ -555,6 +532,21 @@ dependencies = [ "serde", ] +[[package]] +name = "bitcoin-private" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" + +[[package]] +name = "bitcoin_hashes" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" +dependencies = [ + "bitcoin-private", +] + [[package]] name = "bitcoin_hashes" version = "0.13.0" @@ -574,9 +566,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "bitvec" @@ -607,7 +599,7 @@ checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -618,20 +610,20 @@ checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] name = "blake3" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if 1.0.0", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -688,9 +680,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.3.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667" +checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" dependencies = [ "borsh-derive", "cfg_aliases", @@ -698,15 +690,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.3.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd" +checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", "syn_derive", ] @@ -756,12 +748,6 @@ dependencies = [ "utf8-width", ] -[[package]] -name = "bytecount" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" - [[package]] name = "byteorder" version = "1.5.0" @@ -777,27 +763,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "camino" version = "1.1.6" @@ -815,35 +780,22 @@ checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] name = "cargo-platform" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.21", "serde", - "serde_json", ] [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ "camino", "cargo-platform", - "semver 1.0.21", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -864,7 +816,6 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", ] @@ -912,14 +863,14 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", - "windows-targets 0.52.0", + "windows-targets 0.48.5", ] [[package]] @@ -1028,7 +979,7 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "bech32 0.9.1", "bs58", "digest 0.10.7", @@ -1059,9 +1010,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" dependencies = [ "once_cell", "owo-colors", @@ -1077,22 +1028,22 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "console" -version = "0.15.8" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.45.0", ] [[package]] name = "const-hex" -version = "1.11.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d59688ad0945eaf6b84cb44fedbe93484c81b48970e98f09db8a22832d7961" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -1103,15 +1054,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "constant_time_eq" @@ -1132,9 +1077,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -1142,28 +1087,19 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "crossbeam-channel" version = "0.4.4" @@ -1176,30 +1112,24 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" -dependencies = [ - "crossbeam-utils 0.8.19", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ - "crossbeam-epoch", "crossbeam-utils 0.8.19", ] [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ + "autocfg", + "cfg-if 1.0.0", "crossbeam-utils 0.8.19", + "memoffset", + "scopeguard", ] [[package]] @@ -1227,9 +1157,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", @@ -1284,9 +1214,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -1301,13 +1231,13 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -1325,9 +1255,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.6" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -1335,27 +1265,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.6" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "darling_macro" -version = "0.20.6" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -1365,7 +1295,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.3", + "hashbrown 0.14.1", "lock_api", "once_cell", "parking_lot_core", @@ -1373,9 +1303,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "der" @@ -1389,9 +1319,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ "powerfmt", ] @@ -1437,12 +1367,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - [[package]] name = "digest" version = "0.8.1" @@ -1479,16 +1403,7 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1512,18 +1427,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1543,7 +1446,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -1554,9 +1457,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "ecdsa" -version = "0.16.9" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ "der", "digest 0.10.7", @@ -1608,16 +1511,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle 2.4.1", "zeroize", ] @@ -1641,9 +1543,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -1659,15 +1561,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ena" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" -dependencies = [ - "log", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -1689,7 +1582,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "bytes", "hex", "k256", @@ -1713,18 +1606,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "log", -] - -[[package]] -name = "env_logger" -version = "0.11.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" dependencies = [ "anstream", "anstyle", @@ -1741,21 +1625,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", + "windows-sys 0.48.0", ] [[package]] @@ -1862,9 +1737,9 @@ dependencies = [ [[package]] name = "ethers" -version = "2.0.13" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c7cd562832e2ff584fa844cd2f6e5d4f35bbe11b28c7c9b8df957b2e1d0c701" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" dependencies = [ "ethers-addressbook", "ethers-contract", @@ -1873,14 +1748,13 @@ dependencies = [ "ethers-middleware", "ethers-providers", "ethers-signers", - "ethers-solc", ] [[package]] name = "ethers-addressbook" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35dc9a249c066d17e8947ff52a4116406163cf92c7f0763cb8c001760b26403f" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" dependencies = [ "ethers-core", "once_cell", @@ -1890,9 +1764,9 @@ dependencies = [ [[package]] name = "ethers-contract" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43304317c7f776876e47f2f637859f6d0701c1ec7930a150f169d5fbe7d76f5a" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" dependencies = [ "const-hex", "ethers-contract-abigen", @@ -1909,33 +1783,31 @@ dependencies = [ [[package]] name = "ethers-contract-abigen" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f96502317bf34f6d71a3e3d270defaa9485d754d789e15a8e04a84161c95eb" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" dependencies = [ "Inflector", "const-hex", "dunce", "ethers-core", - "ethers-etherscan", "eyre", - "prettyplease 0.2.16", + "prettyplease 0.2.15", "proc-macro2", "quote", "regex", - "reqwest", "serde", "serde_json", - "syn 2.0.48", - "toml 0.8.8", + "syn 2.0.58", + "toml 0.7.8", "walkdir", ] [[package]] name = "ethers-contract-derive" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "452ff6b0a64507ce8d67ffd48b1da3b42f03680dcf5382244e9c93822cbbf5de" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" dependencies = [ "Inflector", "const-hex", @@ -1944,18 +1816,18 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "ethers-core" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aab3cef6cc1c9fd7f787043c81ad3052eff2b96a3878ef1526aa446311bdbfc9" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" dependencies = [ "arrayvec", "bytes", - "cargo_metadata 0.18.1", + "cargo_metadata", "chrono", "const-hex", "elliptic-curve", @@ -1970,7 +1842,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.48", + "syn 2.0.58", "tempfile", "thiserror", "tiny-keccak", @@ -1979,14 +1851,13 @@ dependencies = [ [[package]] name = "ethers-etherscan" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d45b981f5fa769e1d0343ebc2a44cfa88c9bc312eb681b676318b40cef6fb1" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" dependencies = [ - "chrono", "ethers-core", "reqwest", - "semver 1.0.21", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -1995,9 +1866,9 @@ dependencies = [ [[package]] name = "ethers-middleware" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145211f34342487ef83a597c1e69f0d3e01512217a7c72cc8a25931854c7dca0" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" dependencies = [ "async-trait", "auto_impl", @@ -2022,13 +1893,13 @@ dependencies = [ [[package]] name = "ethers-providers" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb6b15393996e3b8a78ef1332d6483c11d839042c17be58decc92fa8b1c3508a" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" dependencies = [ "async-trait", "auto_impl", - "base64 0.21.7", + "base64 0.21.4", "bytes", "const-hex", "enr", @@ -2047,7 +1918,6 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tokio-tungstenite", "tracing", "tracing-futures", "url", @@ -2059,9 +1929,9 @@ dependencies = [ [[package]] name = "ethers-signers" -version = "2.0.13" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b125a103b56aef008af5d5fb48191984aa326b50bfd2557d231dc499833de3" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" dependencies = [ "async-trait", "coins-bip32", @@ -2076,38 +1946,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ethers-solc" -version = "2.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d21df08582e0a43005018a858cc9b465c5fff9cf4056651be64f844e57d1f55f" -dependencies = [ - "cfg-if 1.0.0", - "const-hex", - "dirs", - "dunce", - "ethers-core", - "glob", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver 1.0.21", - "serde", - "serde_json", - "solang-parser", - "svm-rs", - "thiserror", - "tiny-keccak", - "tokio", - "tracing", - "walkdir", - "yansi", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2154,9 +1992,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.5" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" [[package]] name = "fixed-hash" @@ -2176,16 +2014,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flex-error" version = "0.4.4" @@ -2205,9 +2033,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2228,22 +2056,9 @@ dependencies = [ [[package]] name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - -[[package]] -name = "fs2" -version = "0.4.3" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" [[package]] name = "funty" @@ -2253,9 +2068,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -2268,9 +2083,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -2278,15 +2093,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -2295,9 +2110,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-locks" @@ -2311,26 +2126,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" @@ -2344,9 +2159,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -2404,9 +2219,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -2417,15 +2232,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "glob" -version = "0.3.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gloo-timers" @@ -2473,9 +2282,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.24" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" dependencies = [ "bytes", "fnv", @@ -2483,7 +2292,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.1", + "indexmap 1.9.3", "slab", "tokio", "tokio-util", @@ -2504,9 +2313,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" [[package]] name = "hashers" @@ -2543,9 +2352,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2613,18 +2422,18 @@ checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" [[package]] name = "home" -version = "0.5.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "http" -version = "0.2.11" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2633,9 +2442,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", @@ -2672,9 +2481,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -2687,7 +2496,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2696,9 +2505,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", "http", @@ -2722,9 +2531,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2745,9 +2554,9 @@ dependencies = [ [[package]] name = "ibc" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d46a7df929d362b12b55295d93d82b6020aec3d33aac82ef29f610f041b41bf9" +checksum = "429b6aca6624a9364878e28c90311438c2621a8270942d80732b2651ac38ac74" dependencies = [ "ibc-apps", "ibc-clients", @@ -2759,9 +2568,9 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ecf163fac8d3974c475b1b584da5bf15b90d145b3a18c586f93728f0f882f2b" +checksum = "b177b343385d9654d99be4709b5ed1574d41f91dfa4044b2d26d688be4179d7c" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2770,9 +2579,9 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcb51de33dab86406d22f03785fb95da4911cc1ae4e5d2230d4e783e75546332" +checksum = "95f92a3eda225e5c86e7bb6501c95986583ac541c4369d3c528349d81390f947" dependencies = [ "derive_more", "displaydoc", @@ -2785,9 +2594,9 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136fb36803010d0cac4ee30308a0077e2eafb5ab5e1dd3a45e544e3a914618eb" +checksum = "f4be40d55ed2dea9f2d05b902a3586f20850c723e4bdbfc4fb0ebe7a66ca5e40" dependencies = [ "ibc-app-transfer", ] @@ -2800,7 +2609,7 @@ dependencies = [ "flex-error", "futures", "http", - "ibc-proto 0.42.0", + "ibc-proto 0.42.2", "ibc-relayer-types", "itertools 0.10.5", "reqwest", @@ -2813,9 +2622,9 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10adf0ced226f7022000227adf3533857cd816858519c268d8999ad6f30ca724" +checksum = "119aa5873214228bf69bded3f20022b9ae1bc35b6841d295afcd73e53db05ccf" dependencies = [ "ibc-client-tendermint-types", "ibc-core-client", @@ -2823,7 +2632,7 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", "serde", "tendermint", "tendermint-light-client-verifier", @@ -2831,9 +2640,9 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ee8fcd2e2590ff74e04766f479adfffdab81afdca9b3c0a6d867769ac1b79" +checksum = "6f21679016931b332b295a761e65cc122dc6fbfb98444148b681ad3aaa474665" dependencies = [ "bytes", "displaydoc", @@ -2842,7 +2651,7 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "tendermint", "tendermint-light-client-verifier", @@ -2851,18 +2660,18 @@ dependencies = [ [[package]] name = "ibc-clients" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce4d31e2b2d71c8dd15f8e13833343ca35548a4d2959844381fd7cd0f94a19e" +checksum = "685c660323e93107a136aa3dbc412b7fa2eafd315c2fe71184096a43800f8ca5" dependencies = [ "ibc-client-tendermint", ] [[package]] name = "ibc-core" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e10ca0f8b8b024ba8fad230612d1eae14abd4753a3db5f63b28e9e8668e8ced" +checksum = "100d9d0aa67432c5078a8a1c818e3fc990a193be6d35ed0abeda5b340d16c1da" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2876,9 +2685,9 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceeb7051be02e2ba8a65be889bc6e6fa9e8f93cca4409ddd76053d4d2dfe9d14" +checksum = "7ebaa37629ac029f914dfe552ab5dad01ddb240ec885ed0ae68221cbea4e9bfc" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2888,14 +2697,14 @@ dependencies = [ "ibc-core-host", "ibc-core-router", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", ] [[package]] name = "ibc-core-channel-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcd6389c8d9d09aba4cf13d522292bf2d123f9e0bc10e088235d1d250131ffa6" +checksum = "aa2ba72c56c411b1e0ce6dc3f5e1fa1de9e6c84891f425b7be8a9e1705964378" dependencies = [ "derive_more", "displaydoc", @@ -2905,7 +2714,7 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "sha2 0.10.8", "subtle-encoding", @@ -2914,9 +2723,9 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0131dbc2196aece10f6f5082a663a2c7593f5cef3ba08f0bb51a57124ee70bc" +checksum = "06c4fac8e05201795073dee8c93d5afe9dfeac9aec2412b4a2b0c5f0d1e1d725" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2924,14 +2733,14 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", ] [[package]] name = "ibc-core-client-context" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4489b4cda24cdcd7434acb518482a44b44a8f85807ed555282eb15445ccf872" +checksum = "6b82abd9489021730d59ab2d00e9438d3711e8e78ecba4d083b64f833301682b" dependencies = [ "derive_more", "displaydoc", @@ -2941,16 +2750,16 @@ dependencies = [ "ibc-core-host-types", "ibc-derive", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", "subtle-encoding", "tendermint", ] [[package]] name = "ibc-core-client-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401ae816127d08df53633ac0fb5ae918e78b82264335f574e33816229828c75b" +checksum = "bafdbf6db5dab4c8ad610b6940e23b4f8abd0a6ac5e8e2801415a95defd4a583" dependencies = [ "derive_more", "displaydoc", @@ -2958,7 +2767,7 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint", @@ -2966,39 +2775,39 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a32b64ba189cf01092ae2075507c206455f8fd8f12c734d2a1c74990c97ee254" +checksum = "ed4256b0216fc49024bac7e01c61b9bb055e31914ffe9ce6f468d7ce496a9357" dependencies = [ "derive_more", "displaydoc", "ibc-primitives", "ibc-proto 0.38.0", "ics23", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", ] [[package]] name = "ibc-core-connection" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2856017b454fd9439ab45f35ccf04f30d27cff88b3fca229b576aeca96d50593" +checksum = "48e237b70b9ba0177a4e59ac9048fffac2ac44c334703cc0ae403ad221450850" dependencies = [ "ibc-core-client", "ibc-core-connection-types", "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", ] [[package]] name = "ibc-core-connection-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68095216adb4feb9951f8a10ee67108b7446e7559981167d85f4f784a8e27b8c" +checksum = "ca841416fa29626423917099092f3698ae2735074cb3fe42936ddf6b2ccbf2f7" dependencies = [ "derive_more", "displaydoc", @@ -3007,7 +2816,7 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint", @@ -3015,9 +2824,9 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a26b4dc18a712d150aa07d59520d62f251635ce87de4f15b5365b03d66cea03" +checksum = "a47e5e5a006aa0fc87ec3f5fb1e0ef6dd5aeea5079fa927d799d526c44329987" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3031,9 +2840,9 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caef56331075eebc4d0ae65e3ef0a0ed05e31a3e1943e30a3499253e0aef0742" +checksum = "9e3d59a8a5eb2069530c42783b4fef63472a89e0e9242334351df1bb58aaf542" dependencies = [ "derive_more", "displaydoc", @@ -3045,7 +2854,7 @@ dependencies = [ "ibc-core-router-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint", @@ -3053,9 +2862,9 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1a2bad0576abc716e3ab5c132dea5bd3b579dbeb761a0d3da82e9573a01eb0" +checksum = "7aa63c895c0e5a75e42fe859b8fd4250c12bfa8b9c6b114f94c927ecfad38a03" dependencies = [ "derive_more", "displaydoc", @@ -3067,15 +2876,15 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host-types", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", "subtle-encoding", ] [[package]] name = "ibc-core-host-cosmos" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0baa17eb955fbb494861d12959b924ee3d3dae75c8bb8fc7ec2ac3d56689eb9" +checksum = "1a325862af6c20b0df3d27c072a2d802a7232dc1666214d738cdfbd9a9c99720" dependencies = [ "derive_more", "displaydoc", @@ -3089,7 +2898,7 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "sha2 0.10.8", "subtle-encoding", @@ -3098,9 +2907,9 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f5d39a83330c6c781b33ec64d5086ab3d6868605a4dea00042668dcb4e71aa" +checksum = "616955da310febbe93c0569a2feebd9f57cafed3eee5a56b0c3bb953a75f6089" dependencies = [ "derive_more", "displaydoc", @@ -3110,9 +2919,9 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3c271e2b1efb17e84d54b782020359defc837c104b6ca98a0883c2d05e5d45" +checksum = "31fe115da73e0616bdb44400fa6b11ca251648d070c4ff419d58e27804d30243" dependencies = [ "derive_more", "displaydoc", @@ -3120,15 +2929,15 @@ dependencies = [ "ibc-core-host-types", "ibc-core-router-types", "ibc-primitives", - "prost 0.12.3", + "prost 0.12.4", "subtle-encoding", ] [[package]] name = "ibc-core-router-types" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fb9e88af6cf5c673045f18b5a3e5a3b0fde1fb88d9cbcbd63320a3e4878df2c" +checksum = "4d1fbb0bbbdeafa7ac989ba1693ed46d22e0e3eb0bdae478544e31157a4fdba6" dependencies = [ "derive_more", "displaydoc", @@ -3136,7 +2945,7 @@ dependencies = [ "ibc-primitives", "ibc-proto 0.38.0", "ics23", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint", @@ -3151,7 +2960,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -3163,27 +2972,27 @@ dependencies = [ "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", - "prost 0.12.3", + "prost 0.12.4", "serde", "serde_json", "tempfile", "tendermint", "tendermint-rpc", "time", - "toml 0.8.8", + "toml 0.8.12", "tonic", ] [[package]] name = "ibc-primitives" -version = "0.48.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3049b6f6665ca9b3cdd4e3dcbcee5843f928846b4b13927de1d530c623b11ed8" +checksum = "d5edea4685267fd68514c87e7aa3a62712340c4cff6903f088a9ab571428a08a" dependencies = [ "derive_more", "displaydoc", "ibc-proto 0.38.0", - "prost 0.12.3", + "prost 0.12.4", "serde", "tendermint", "time", @@ -3195,11 +3004,11 @@ version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93cbf4cbe9e5113cc7c70f3208a7029b2205c629502cbb2ae7ea0a09a97d3005" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "bytes", "flex-error", "ics23", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint-proto", @@ -3207,16 +3016,16 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.42.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80701a1b0e0ade6f28071d7d2d6412e01869f22bb7039f52722161ecdeb083e0" +checksum = "c1a6f2bbf7e1d12f98d8d54d9114231b865418d0f8b619c0873180eafdee07fd" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "bytes", "flex-error", "ics23", "informalsystems-pbjson", - "prost 0.12.3", + "prost 0.12.4", "serde", "subtle-encoding", "tendermint-proto", @@ -3234,13 +3043,13 @@ dependencies = [ "bs58", "byte-unit", "bytes", - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "digest 0.10.7", "dirs-next", "ed25519", "ed25519-dalek", "ed25519-dalek-bip32", - "env_logger 0.11.1", + "env_logger", "flex-error", "futures", "generic-array 0.14.7", @@ -3249,23 +3058,26 @@ dependencies = [ "http", "humantime", "humantime-serde", - "ibc-proto 0.42.0", + "ibc-proto 0.42.2", "ibc-relayer-types", "ibc-telemetry", "itertools 0.10.5", "moka", + "namada_ibc", + "namada_parameters", "namada_sdk", + "namada_trans_token", "num-bigint 0.4.4", "num-rational 0.4.1", "once_cell", - "prost 0.12.3", + "prost 0.12.4", "regex", "reqwest", "retry", "ripemd", "rpassword", "secp256k1", - "semver 1.0.21", + "semver 1.0.22", "serde", "serde_derive", "serde_json", @@ -3287,11 +3099,11 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.8.8", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", - "uuid 1.7.0", + "uuid 1.8.0", ] [[package]] @@ -3303,7 +3115,7 @@ dependencies = [ "clap_complete", "color-eyre", "console", - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "dialoguer", "dirs-next", "eyre", @@ -3340,14 +3152,14 @@ name = "ibc-relayer-rest" version = "0.27.0" dependencies = [ "axum", - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "ibc-relayer", "ibc-relayer-types", "reqwest", "serde", "serde_json", "tokio", - "toml 0.8.8", + "toml 0.8.12", "tracing", ] @@ -3357,14 +3169,14 @@ version = "0.27.0" dependencies = [ "bytes", "derive_more", - "env_logger 0.11.1", + "env_logger", "flex-error", - "ibc-proto 0.42.0", + "ibc-proto 0.42.2", "ics23", "itertools 0.10.5", "num-rational 0.4.1", "primitive-types", - "prost 0.12.3", + "prost 0.12.4", "regex", "serde", "serde_derive", @@ -3406,21 +3218,21 @@ name = "ibc-test-framework" version = "0.27.0" dependencies = [ "color-eyre", - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "eyre", "flex-error", "hdpath", "hex", "http", - "ibc-proto 0.42.0", + "ibc-proto 0.42.2", "ibc-relayer", "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.10.5", "once_cell", - "prost 0.12.3", + "prost 0.12.4", "rand 0.8.5", - "semver 1.0.21", + "semver 1.0.22", "serde", "serde_json", "serde_yaml", @@ -3428,7 +3240,7 @@ dependencies = [ "subtle-encoding", "tendermint-rpc", "tokio", - "toml 0.8.8", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", @@ -3446,7 +3258,7 @@ dependencies = [ "bytes", "hex", "informalsystems-pbjson", - "prost 0.12.3", + "prost 0.12.4", "ripemd", "serde", "sha2 0.10.8", @@ -3461,9 +3273,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3554,12 +3366,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.1" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.1", ] [[package]] @@ -3568,7 +3380,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aa4a0980c8379295100d70854354e78df2ee1c6ca0f96ffe89afeb3140e3a3d" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "serde", ] @@ -3601,20 +3413,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is-terminal" -version = "0.4.12" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.4", - "libc", - "windows-sys 0.52.0", -] +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "itertools" @@ -3636,24 +3437,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "jobserver" -version = "0.1.28" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" -dependencies = [ - "libc", -] +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -3664,9 +3456,9 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "pem", - "ring 0.16.20", + "ring", "serde", "serde_json", "simple_asn1", @@ -3688,9 +3480,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if 1.0.0", "ecdsa", @@ -3703,52 +3495,24 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] [[package]] -name = "lalrpop" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" -dependencies = [ - "ascii-canvas", - "bit-set", - "diff", - "ena", - "is-terminal", - "itertools 0.10.5", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.7.5", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" - -[[package]] -name = "lazy_static" -version = "1.4.0" +name = "lazy_static" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "libm" @@ -3756,17 +3520,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" -dependencies = [ - "bitflags 2.4.2", - "libc", - "redox_syscall", -] - [[package]] name = "libsecp256k1" version = "0.3.5" @@ -3785,9 +3538,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" @@ -3801,9 +3554,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" @@ -3858,7 +3611,7 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.12", + "getrandom 0.2.10", "group", "itertools 0.11.0", "jubjub", @@ -3892,20 +3645,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] -name = "md-5" -version = "0.10.6" +name = "memchr" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if 1.0.0", - "digest 0.10.7", -] +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] -name = "memchr" -version = "2.7.1" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] [[package]] name = "memuse" @@ -3949,9 +3701,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3960,23 +3712,22 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1911e88d5831f748a4097a43862d129e3c6fca831eecac9b8db6d01d93c9de2" +checksum = "87bfd249f570638bfb0b4f9d258e6b8cddd2a5a7d0ed47e8bb8b176bfc0e7a17" dependencies = [ - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "crossbeam-epoch", "crossbeam-utils 0.8.19", "once_cell", "parking_lot", "quanta", "rustc_version 0.4.0", - "skeptic", "smallvec", "tagptr", "thiserror", "triomphe", - "uuid 1.7.0", + "uuid 1.8.0", ] [[package]] @@ -3985,29 +3736,36 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "namada_account" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "namada_core", + "namada_macros", + "namada_storage", + "serde", +] + [[package]] name = "namada_core" -version = "0.30.0" -source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" dependencies = [ - "ark-bls12-381", - "ark-serialize", "bech32 0.8.1", "borsh", "borsh-ext", "chrono", "data-encoding", - "derivative", "ed25519-consensus 1.2.1", "ethabi", "ethbridge-structs", "eyre", "ibc", - "ibc-derive", "ics23", "impl-num-traits", "index-set", - "itertools 0.10.5", "k256", "masp_primitives", "namada_macros", @@ -4018,8 +3776,8 @@ dependencies = [ "num256", "num_enum", "primitive-types", - "prost 0.12.3", - "prost-types 0.12.3", + "prost 0.12.4", + "prost-types 0.12.1", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -4030,7 +3788,6 @@ dependencies = [ "tendermint-proto", "thiserror", "tiny-keccak", - "tonic-build", "tracing", "uint", "zeroize", @@ -4038,17 +3795,23 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.30.0" -source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" dependencies = [ "borsh", - "borsh-ext", + "ethabi", "ethers", "eyre", "itertools 0.10.5", "namada_core", "namada_macros", + "namada_parameters", "namada_proof_of_stake", + "namada_state", + "namada_storage", + "namada_trans_token", + "namada_tx", + "namada_vote_ext", "rand 0.8.5", "serde", "serde_json", @@ -4059,25 +3822,108 @@ dependencies = [ "tracing", ] +[[package]] +name = "namada_gas" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "namada_core", + "serde", + "thiserror", +] + +[[package]] +name = "namada_governance" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "namada_core", + "namada_macros", + "namada_parameters", + "namada_state", + "namada_trans_token", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_ibc" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "ibc", + "ibc-derive", + "ics23", + "masp_primitives", + "namada_core", + "namada_governance", + "namada_parameters", + "namada_state", + "namada_storage", + "namada_trans_token", + "primitive-types", + "prost 0.12.4", + "sha2 0.9.9", + "thiserror", + "tracing", +] + [[package]] name = "namada_macros" -version = "0.30.0" -source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" dependencies = [ "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "namada_merkle_tree" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "eyre", + "ics23", + "namada_core", + "prost 0.12.4", + "sparse-merkle-tree", + "thiserror", +] + +[[package]] +name = "namada_parameters" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "namada_core", + "namada_macros", + "namada_storage", + "thiserror", +] + [[package]] name = "namada_proof_of_stake" -version = "0.30.0" -source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" dependencies = [ "borsh", "data-encoding", "derivative", + "namada_account", "namada_core", + "namada_governance", + "namada_parameters", + "namada_storage", + "namada_trans_token", + "num-traits", "once_cell", "serde", "thiserror", @@ -4086,8 +3932,8 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.30.0" -source = "git+https://github.com/anoma/namada?tag=v0.30.0#ec58c897e265ecdb56c5d5506c8ac8e4beaaf9d7" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" dependencies = [ "async-trait", "bimap", @@ -4104,15 +3950,25 @@ dependencies = [ "lazy_static", "masp_primitives", "masp_proofs", + "namada_account", "namada_core", "namada_ethereum_bridge", + "namada_governance", + "namada_ibc", + "namada_parameters", "namada_proof_of_stake", + "namada_state", + "namada_storage", + "namada_token", + "namada_tx", + "namada_vote_ext", + "num-traits", "num256", "orion", "owo-colors", "parse_duration", "paste", - "prost 0.12.3", + "prost 0.12.4", "rand 0.8.5", "rand_core 0.6.4", "ripemd", @@ -4132,10 +3988,108 @@ dependencies = [ ] [[package]] -name = "new_debug_unreachable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" +name = "namada_shielded_token" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "masp_primitives", + "namada_core", + "namada_parameters", + "namada_state", + "namada_storage", + "namada_trans_token", + "tracing", +] + +[[package]] +name = "namada_state" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "ics23", + "itertools 0.10.5", + "namada_core", + "namada_gas", + "namada_merkle_tree", + "namada_parameters", + "namada_storage", + "namada_trans_token", + "namada_tx", + "sha2 0.9.9", + "sparse-merkle-tree", + "thiserror", + "tiny-keccak", + "tracing", +] + +[[package]] +name = "namada_storage" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "itertools 0.10.5", + "namada_core", + "namada_gas", + "namada_merkle_tree", + "namada_tx", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_token" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "namada_core", + "namada_shielded_token", + "namada_storage", + "namada_trans_token", +] + +[[package]] +name = "namada_trans_token" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "namada_core", + "namada_storage", +] + +[[package]] +name = "namada_tx" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "ark-bls12-381", + "borsh", + "data-encoding", + "masp_primitives", + "namada_core", + "namada_gas", + "num-derive", + "num-traits", + "prost 0.12.4", + "prost-types 0.12.1", + "serde", + "serde_json", + "sha2 0.9.9", + "thiserror", + "tonic-build", +] + +[[package]] +name = "namada_vote_ext" +version = "0.30.2" +source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +dependencies = [ + "borsh", + "namada_core", + "namada_tx", + "serde", +] [[package]] name = "nonempty" @@ -4174,7 +4128,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint 0.4.4", - "num-complex 0.4.5", + "num-complex 0.4.4", "num-integer", "num-iter", "num-rational 0.4.1", @@ -4216,9 +4170,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -4246,9 +4200,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", @@ -4310,36 +4264,36 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.4", + "hermit-abi 0.3.3", "libc", ] [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "object" -version = "0.32.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -4446,7 +4400,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1" dependencies = [ "async-trait", - "crossbeam-channel 0.5.11", + "crossbeam-channel 0.5.12", "dashmap", "fnv", "futures-channel", @@ -4459,12 +4413,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "orion" version = "0.16.1" @@ -4472,7 +4420,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.12", + "getrandom 0.2.10", "subtle 2.4.1", "zeroize", ] @@ -4506,9 +4454,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ "arrayvec", "bitvec", @@ -4520,11 +4468,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -4548,7 +4496,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] @@ -4575,17 +4523,6 @@ 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 = "pasta_curves" version = "0.5.1" @@ -4605,12 +4542,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - [[package]] name = "pbkdf2" version = "0.4.0" @@ -4627,7 +4558,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" dependencies = [ "digest 0.10.7", - "password-hash 0.3.2", + "password-hash", ] [[package]] @@ -4637,9 +4568,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", - "password-hash 0.4.2", - "sha2 0.10.8", ] [[package]] @@ -4690,15 +4618,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.7" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -4712,7 +4640,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.1", + "indexmap 2.2.6", ] [[package]] @@ -4725,57 +4653,6 @@ dependencies = [ "rustc_version 0.4.0", ] -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared 0.11.2", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - [[package]] name = "pin-project" version = "1.1.3" @@ -4793,7 +4670,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -4818,17 +4695,11 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - [[package]] name = "platforms" -version = "3.3.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" [[package]] name = "poly1305" @@ -4853,12 +4724,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "prettyplease" version = "0.1.25" @@ -4871,12 +4736,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -4909,16 +4774,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_edit 0.20.7", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.0", + "toml_edit 0.20.2", ] [[package]] @@ -4947,9 +4803,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -4971,17 +4827,17 @@ dependencies = [ [[package]] name = "proptest" -version = "1.4.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "lazy_static", "num-traits", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.2", + "regex-syntax 0.7.5", "unarray", ] @@ -4997,12 +4853,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" dependencies = [ "bytes", - "prost-derive 0.12.3", + "prost-derive 0.12.4", ] [[package]] @@ -5042,15 +4898,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" dependencies = [ "anyhow", "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -5064,11 +4920,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.12.3", + "prost 0.12.4", ] [[package]] @@ -5077,22 +4933,11 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" -[[package]] -name = "pulldown-cmark" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - [[package]] name = "quanta" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca0b7bac0b97248c40bb77288fc52029cf1459c0461ea1b05ee32ccf011de2c" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" dependencies = [ "crossbeam-utils 0.8.19", "libc", @@ -5105,9 +4950,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -5177,7 +5022,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.10", ] [[package]] @@ -5204,27 +5049,7 @@ version = "11.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" dependencies = [ - "bitflags 2.4.2", -] - -[[package]] -name = "rayon" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils 0.8.19", + "bitflags 2.4.1", ] [[package]] @@ -5258,6 +5083,24 @@ dependencies = [ "zeroize", ] +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -5269,24 +5112,24 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.12", - "libredox", + "getrandom 0.2.10", + "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "regex" -version = "1.10.3" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.4", + "regex-automata 0.4.3", "regex-syntax 0.8.2", ] @@ -5301,9 +5144,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -5330,11 +5173,11 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.23" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -5365,7 +5208,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", "winreg", ] @@ -5394,26 +5236,12 @@ dependencies = [ "cc", "libc", "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", + "spin", + "untrusted", "web-sys", "winapi", ] -[[package]] -name = "ring" -version = "0.17.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" -dependencies = [ - "cc", - "getrandom 0.2.12", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.48.0", -] - [[package]] name = "ripemd" version = "0.1.3" @@ -5488,30 +5316,30 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.21", + "semver 1.0.22", ] [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", - "ring 0.17.7", + "ring", "rustls-webpki", "sct", ] @@ -5530,21 +5358,21 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.7", + "base64 0.21.4", ] [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", + "ring", + "untrusted", ] [[package]] @@ -5555,9 +5383,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "salsa20" @@ -5603,11 +5431,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -5630,12 +5458,12 @@ dependencies = [ [[package]] name = "sct" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", + "ring", + "untrusted", ] [[package]] @@ -5655,11 +5483,11 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.28.1" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f622567e3b4b38154fb8190bcf6b160d7a4301d70595a49195b48c116007a27" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ - "bitcoin_hashes", + "bitcoin_hashes 0.12.0", "rand 0.8.5", "secp256k1-sys", "serde", @@ -5718,9 +5546,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -5748,27 +5576,27 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde-json-wasm" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05da0d153dd4595bdffd5099dc0e9ce425b205ee648eb93437ff7302af8c9a5" +checksum = "83c37d03f3b0f6b5f77c11af1e7c772de1c9af83e50bef7bb6069601900ba67b" dependencies = [ "serde", ] [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] @@ -5785,20 +5613,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -5807,9 +5635,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.15" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ "itoa", "serde", @@ -5817,13 +5645,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.18" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -5849,11 +5677,11 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.31" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf8a49373e98a4c5f0ceb5d05aa7c648d75f63774981ed95b7c7443bbd50c6e" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.1", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -5892,7 +5720,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -5988,9 +5816,9 @@ dependencies = [ [[package]] name = "signature" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ "digest 0.10.7", "rand_core 0.6.4", @@ -6014,27 +5842,6 @@ dependencies = [ "time", ] -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[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.9" @@ -6055,32 +5862,28 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" -version = "0.5.5" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", - "windows-sys 0.48.0", + "winapi", ] [[package]] -name = "solang-parser" -version = "0.3.3" +name = "socket2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", + "libc", + "windows-sys 0.48.0", ] [[package]] @@ -6100,17 +5903,11 @@ 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.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -6122,19 +5919,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", -] - [[package]] name = "strsim" version = "0.10.0" @@ -6160,7 +5944,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6190,26 +5974,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" -[[package]] -name = "svm-rs" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" -dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest", - "semver 1.0.21", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "url", - "zip", -] - [[package]] name = "syn" version = "1.0.109" @@ -6223,9 +5987,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -6241,7 +6005,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6297,15 +6061,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.9.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall", + "redox_syscall 0.3.5", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -6323,8 +6087,8 @@ dependencies = [ "k256", "num-traits", "once_cell", - "prost 0.12.3", - "prost-types 0.12.3", + "prost 0.12.4", + "prost-types 0.12.1", "ripemd", "serde", "serde_bytes", @@ -6425,8 +6189,8 @@ dependencies = [ "flex-error", "num-derive", "num-traits", - "prost 0.12.3", - "prost-types 0.12.3", + "prost 0.12.4", + "prost-types 0.12.1", "serde", "serde_bytes", "subtle-encoding", @@ -6444,11 +6208,11 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.12", + "getrandom 0.2.10", "peg", "pin-project", "reqwest", - "semver 1.0.21", + "semver 1.0.22", "serde", "serde_bytes", "serde_json", @@ -6482,46 +6246,35 @@ dependencies = [ "time", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "termcolor" -version = "1.4.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] [[package]] name = "test-log" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6159ab4116165c99fc88cce31f99fa2c9dbe08d3691cb38da02fc3b45f357d2b" +checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6" dependencies = [ - "env_logger 0.10.2", + "env_logger", "test-log-macros", "tracing-subscriber", ] [[package]] name = "test-log-macros" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" +checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6532,22 +6285,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6665,9 +6418,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -6677,7 +6430,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -6694,13 +6447,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6724,26 +6477,11 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls", - "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots", -] - [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -6764,14 +6502,26 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.9", ] [[package]] @@ -6789,33 +6539,35 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.1", + "indexmap 2.2.6", + "serde", + "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.17", ] [[package]] name = "toml_edit" -version = "0.20.7" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.2.1", + "indexmap 2.2.6", "toml_datetime", - "winnow", + "winnow 0.5.17", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" dependencies = [ - "indexmap 2.2.1", + "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.6", ] [[package]] @@ -6827,7 +6579,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.7", + "base64 0.21.4", "bytes", "h2", "http", @@ -6836,7 +6588,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.3", + "prost 0.12.4", "rustls", "rustls-native-certs", "rustls-pemfile", @@ -6914,7 +6666,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -6949,23 +6701,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ + "lazy_static", "log", - "once_cell", "tracing-core", ] @@ -6981,9 +6722,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -6996,21 +6737,21 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" @@ -7062,20 +6803,11 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" @@ -7116,9 +6848,9 @@ dependencies = [ [[package]] name = "unsafe-libyaml" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "untrusted" @@ -7126,17 +6858,11 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "url" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -7157,9 +6883,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" [[package]] name = "utf8parse" @@ -7173,17 +6899,17 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.10", "serde", ] [[package]] name = "uuid" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.10", ] [[package]] @@ -7240,9 +6966,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7250,24 +6976,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7277,9 +7003,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7287,22 +7013,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasmtimer" @@ -7320,9 +7046,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -7330,9 +7056,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" @@ -7379,11 +7105,20 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.42.2", ] [[package]] @@ -7401,7 +7136,22 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -7421,19 +7171,26 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7442,9 +7199,15 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -7454,9 +7217,15 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -7466,9 +7235,21 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -7478,9 +7259,15 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -7490,9 +7277,15 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -7502,9 +7295,15 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -7514,15 +7313,24 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" +dependencies = [ + "memchr", +] [[package]] name = "winnow" -version = "0.5.34" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" dependencies = [ "memchr", ] @@ -7565,12 +7373,6 @@ dependencies = [ "tap", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "zcash_encoding" version = "0.2.0" @@ -7582,9 +7384,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.7.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -7597,54 +7399,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq 0.1.5", - "crc32fast", - "crossbeam-utils 0.8.19", - "flate2", - "hmac 0.12.1", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" -dependencies = [ - "cc", - "pkg-config", + "syn 2.0.58", ] diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 014b03fa78..ef15ace9dd 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -110,11 +110,23 @@ default-features = false version = "0.34.0" default-features = false +[dependencies.namada_ibc] +git = "https://github.com/anoma/namada" +tag = "v0.30.2" + +[dependencies.namada_parameters] +git = "https://github.com/anoma/namada" +tag = "v0.30.2" + [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.30.0" +tag = "v0.30.2" features = ["std"] +[dependencies.namada_trans_token] +git = "https://github.com/anoma/namada" +tag = "v0.30.2" + [dev-dependencies] ibc-relayer-types = { version = "0.27.0", path = "../relayer-types", features = ["mocks"] } serial_test = "3.0.0" diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 32ae8ad384..a847b5cdf1 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -32,23 +32,24 @@ use ibc_relayer_types::core::ics24_host::path::{ use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; +use namada_ibc::storage; +use namada_parameters::{storage as param_storage, EpochDuration}; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::core::ledger::ibc::storage; -use namada_sdk::core::ledger::parameters::{storage as param_storage, EpochDuration}; -use namada_sdk::core::ledger::storage::ics23_specs::ibc_proof_specs; -use namada_sdk::core::ledger::storage::Sha256Hasher; -use namada_sdk::core::types::address::{Address, InternalAddress}; -use namada_sdk::core::types::storage::{Key, KeySeg, PrefixValue}; -use namada_sdk::core::types::token; use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::masp::ShieldedContext; use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; +use namada_sdk::state::ics23_specs::ibc_proof_specs; +use namada_sdk::state::Sha256Hasher; +use namada_sdk::types::address::{Address, InternalAddress}; +use namada_sdk::types::storage::{Key, KeySeg, PrefixValue}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; +use namada_trans_token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; +use namada_trans_token::{Amount, DenominatedAmount, Denomination}; use tendermint::block::Height as TmHeight; use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; @@ -409,7 +410,7 @@ impl ChainEndpoint for NamadaChain { let token = Address::decode(denom).map_err(|_| NamadaError::address_decode(denom.to_string()))?; - let balance_key = token::balance_key(&token, &owner); + let balance_key = balance_key(&token, &owner); let (value, _) = self.query(balance_key, QueryHeight::Latest, IncludeProof::No)?; if value.is_empty() { return Ok(Balance { @@ -417,16 +418,15 @@ impl ChainEndpoint for NamadaChain { denom: denom.to_string(), }); } - let amount = - token::Amount::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; - let denom_key = token::denom_key(&token); + let amount = Amount::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; + let denom_key = denom_key(&token); let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; let denominated_amount = if value.is_empty() { - token::DenominatedAmount::new(amount, 0.into()) + DenominatedAmount::new(amount, 0.into()) } else { - let token_denom = token::Denomination::try_from_slice(&value[..]) - .map_err(NamadaError::borsh_decode)?; - token::DenominatedAmount::new(amount, token_denom) + let token_denom = + Denomination::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; + DenominatedAmount::new(amount, token_denom) }; Ok(Balance { @@ -444,19 +444,19 @@ impl ChainEndpoint for NamadaChain { let mut balances = vec![]; let prefix = Key::from(Address::Internal(InternalAddress::Multitoken).to_db_key()); for PrefixValue { key, value } in self.query_prefix(prefix)? { - if let Some([token, bal_owner]) = token::is_any_token_balance_key(&key) { + if let Some([token, bal_owner]) = is_any_token_balance_key(&key) { if owner == *bal_owner { - let amount = token::Amount::try_from_slice(&value[..]) - .map_err(NamadaError::borsh_decode)?; - let denom_key = token::denom_key(token); + let amount = + Amount::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; + let denom_key = denom_key(token); let (value, _) = self.query(denom_key, QueryHeight::Latest, IncludeProof::No)?; let denominated_amount = if value.is_empty() { - token::DenominatedAmount::new(amount, 0.into()) + DenominatedAmount::new(amount, 0.into()) } else { - let namada_denom = token::Denomination::try_from_slice(&value[..]) + let namada_denom = Denomination::try_from_slice(&value[..]) .map_err(NamadaError::borsh_decode)?; - token::DenominatedAmount::new(amount, namada_denom) + DenominatedAmount::new(amount, namada_denom) }; let balance = Balance { amount: denominated_amount.to_string(), diff --git a/crates/relayer/src/chain/namada/key.rs b/crates/relayer/src/chain/namada/key.rs index 6322cb6439..83fe4efea0 100644 --- a/crates/relayer/src/chain/namada/key.rs +++ b/crates/relayer/src/chain/namada/key.rs @@ -1,7 +1,7 @@ use core::any::Any; -use namada_sdk::core::types::address::Address; -use namada_sdk::core::types::key::common::SecretKey; +use namada_sdk::types::address::Address; +use namada_sdk::types::key::common::SecretKey; use crate::config::AddressType; use crate::keyring::errors::Error; diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index fed38a75c3..a0fbc490d4 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -3,12 +3,12 @@ use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_ use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::Height as ICSHeight; +use namada_ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::core::ledger::ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; -use namada_sdk::core::types::address::{Address, InternalAddress}; -use namada_sdk::core::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; +use namada_sdk::types::address::{Address, InternalAddress}; +use namada_sdk::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 88a9b799e9..e946e4dfce 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -5,12 +5,12 @@ use std::thread; use std::time::Instant; use ibc_proto::google::protobuf::Any; +use namada_parameters::storage as parameter_storage; use namada_sdk::args::{Tx as TxArgs, TxCustom}; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::core::ledger::parameters::storage as parameter_storage; -use namada_sdk::core::types::address::{Address, ImplicitAddress}; -use namada_sdk::core::types::chain::ChainId; -use namada_sdk::core::types::transaction::GasLimit; +use namada_sdk::tx::data::GasLimit; +use namada_sdk::types::address::{Address, ImplicitAddress}; +use namada_sdk::types::chain::ChainId; use namada_sdk::{signing, tx, Namada}; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; From 3d9de304bdb29f49027b139f6ef921ff2c999243 Mon Sep 17 00:00:00 2001 From: yito88 Date: Sat, 3 Feb 2024 22:26:58 +0100 Subject: [PATCH 028/103] Namada 0.31.0 --- Cargo.lock | 80 ++++++++++++++------------- crates/relayer/Cargo.toml | 11 ++-- crates/relayer/src/chain/namada/tx.rs | 7 ++- 3 files changed, 54 insertions(+), 44 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e0781a16c9..b0b0f9b270 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3087,6 +3087,7 @@ dependencies = [ "strum", "subtle-encoding", "tendermint", + "tendermint-config", "tendermint-light-client", "tendermint-light-client-detector", "tendermint-light-client-verifier", @@ -3561,7 +3562,7 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" +source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" dependencies = [ "borsh", "chacha20", @@ -3574,7 +3575,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" +source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" dependencies = [ "aes", "bip0039", @@ -3605,7 +3606,7 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.0.0#c3c6047a9c9da54058afc71219b913ac9f79e48b" +source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" dependencies = [ "bellman", "blake2b_simd", @@ -3738,8 +3739,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "namada_core", @@ -3750,8 +3751,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "bech32 0.8.1", "borsh", @@ -3795,8 +3796,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "ethabi", @@ -3824,8 +3825,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "namada_core", @@ -3835,8 +3836,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "namada_core", @@ -3852,8 +3853,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "ibc", @@ -3875,8 +3876,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "proc-macro2", "quote", @@ -3885,8 +3886,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "eyre", @@ -3899,8 +3900,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "namada_core", @@ -3911,8 +3912,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "data-encoding", @@ -3932,8 +3933,8 @@ dependencies = [ [[package]] name = "namada_sdk" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "async-trait", "bimap", @@ -3976,6 +3977,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "slip10_ed25519", + "tendermint-config", "tendermint-rpc", "thiserror", "tiny-bip39 0.8.2", @@ -3989,8 +3991,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "masp_primitives", "namada_core", @@ -4003,8 +4005,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "ics23", @@ -4025,8 +4027,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "itertools 0.10.5", @@ -4040,8 +4042,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "namada_core", "namada_shielded_token", @@ -4051,8 +4053,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "namada_core", "namada_storage", @@ -4060,8 +4062,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "ark-bls12-381", "borsh", @@ -4082,8 +4084,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.30.2" -source = "git+https://github.com/anoma/namada?tag=v0.30.2#aa1f5e5516867e56d268826aa39e789110fdebe9" +version = "0.31.0" +source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" dependencies = [ "borsh", "namada_core", diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index ef15ace9dd..96fdf8c7b2 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -90,6 +90,9 @@ features = ["num-bigint", "serde"] version = "0.34.0" features = ["secp256k1"] +[dependencies.tendermint-config] +version = "0.34.0" + [dependencies.tendermint-proto] version = "0.34.0" @@ -112,20 +115,20 @@ default-features = false [dependencies.namada_ibc] git = "https://github.com/anoma/namada" -tag = "v0.30.2" +tag = "v0.31.0" [dependencies.namada_parameters] git = "https://github.com/anoma/namada" -tag = "v0.30.2" +tag = "v0.31.0" [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.30.2" +tag = "v0.31.0" features = ["std"] [dependencies.namada_trans_token] git = "https://github.com/anoma/namada" -tag = "v0.30.2" +tag = "v0.31.0" [dev-dependencies] ibc-relayer-types = { version = "0.27.0", path = "../relayer-types", features = ["mocks"] } diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index e946e4dfce..0d7ca48171 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -33,6 +33,11 @@ impl NamadaChain { let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); + let url = &self.config().rpc_addr; + let rpc_addr = format!("{}:{}{}", url.host(), url.port(), url.path()); + let ledger_address = + tendermint_config::net::Address::from_str(&rpc_addr).expect("invalid rpc address"); + let fee_token = &self.config.gas_price.denom; let fee_token = Address::decode(fee_token) .map_err(|_| NamadaError::address_decode(fee_token.to_string()))?; @@ -65,7 +70,7 @@ impl NamadaChain { force: false, output_folder: None, broadcast_only: true, - ledger_address: (), + ledger_address, initialized_account_alias: None, wallet_alias_force: false, wrapper_fee_payer: Some(relayer_public_key.clone()), From 3e6b7a10c73fb995e24c998de02cd2f951a6d07c Mon Sep 17 00:00:00 2001 From: Yuji Ito Date: Thu, 15 Feb 2024 22:57:16 +0100 Subject: [PATCH 029/103] shielded transfer test (#24) * add a test script * add shielded transfer tests * fix comment --- e2e/namada-gaia-simple-transfers | 94 +++++++++++++++ e2e/namada-shielded-transfers | 195 +++++++++++++++++++++++++++++++ 2 files changed, 289 insertions(+) create mode 100755 e2e/namada-shielded-transfers diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 405d210922..64b06cd8f4 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -22,6 +22,10 @@ NAMADAW="${NAMADA_DIR}/target/debug/namadaw" DATA_DIR="${HERMES_DIR}/data" IBC_TOKEN="transfer/channel-0/samoleans" +SHIELDED_ALIAS_A="shielded_a" +SHIELDED_ALIAS_B="shielded_b" +PAYMENT_ALIAS_A="payment_a" +PAYMENT_ALIAS_B="payment_b" NAMADA_LEDGER_ADDR="127.0.0.1:27657" GAIA_CHAIN_CONFIG=" @@ -60,6 +64,15 @@ echo "${GAIA_CHAIN_CONFIG}" >> config_for_namada.toml cargo run -q --bin hermes -- --config config_for_namada.toml \ keys add --chain gaia-0 --key-file ${DATA_DIR}/gaia-0/user_seed.json --overwrite +# setup Namada shielded keys +${NAMADAW} --base-dir ${base_dir} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} +payment_addr_a=$(${NAMADAW} --base-dir ${base_dir} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') + +${NAMADAW} --base-dir ${base_dir} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} +payment_addr_b=$(${NAMADAW} --base-dir ${base_dir} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') + # Initialize Relayer's balance on Namada ${NAMADAC} --base-dir ${base_dir} \ transfer \ @@ -185,6 +198,87 @@ ${NAMADAC} --base-dir ${base_dir} balance \ echo "==== Balances on Gaia ====" gaiad query bank balances ${gaia_user} + +echo "~~ Generate the proof from Namada for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir} ibc-gen-shielded \ + --output-folder-path ${base_dir} \ + --target ${payment_addr_a} \ + --token "samoleans" \ + --amount 10 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${NAMADA_LEDGER_ADDR}) +memo_path=$(echo $resp | awk '{print $8}') + +echo "~~ Shielding transfer 10 samoleans from Gaia to Namada ~~" +cargo run --bin hermes -- --config config_for_namada.toml \ + tx ft-transfer \ + --dst-chain ${chain_id} \ + --src-chain gaia-0 \ + --src-port transfer \ + --src-channel channel-0 \ + --amount 10 \ + --receiver ${payment_addr_a} \ + --denom samoleans \ + --timeout-height-offset 1000 \ + --memo $(cat ${memo_path}) + +# wait for relaying +sleep 15 + +echo "==== Balance of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Balances on Gaia ====" +gaiad query bank balances ${gaia_user} + +echo "~~ Shielded transfer 5 apfel from shielded_a to shielded_b ~~" +${NAMADAC} --base-dir ${base_dir} transfer \ + --source ${SHIELDED_ALIAS_A} \ + --target ${payment_addr_b} \ + --token ${IBC_TOKEN} \ + --amount 5 \ + --signing-keys relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Balance of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Balance of shielded_b on Namada ====" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "~~ Transfer back 5 samoleans from Namada to Gaia ~~" +${NAMADAC} --base-dir ${base_dir} ibc-transfer \ + --source ${SHIELDED_ALIAS_B} \ + --receiver ${gaia_user} \ + --token ${IBC_TOKEN} \ + --amount 5 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${NAMADA_LEDGER_ADDR} + +# wait for relaying +sleep 15 + +echo "==== Balances of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Balances of shielded_b on Namada ====" +${NAMADAC} --base-dir ${base_dir} balance \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Balances on Gaia ====" +gaiad query bank balances ${gaia_user} + killall hermes killall gaiad killall namadan diff --git a/e2e/namada-shielded-transfers b/e2e/namada-shielded-transfers new file mode 100755 index 0000000000..80a047f80a --- /dev/null +++ b/e2e/namada-shielded-transfers @@ -0,0 +1,195 @@ +#!/bin/bash + +# This script executes shielded transfers between Namada instances locally +# `make build` and `make build-wasm-scripts` on Namada directory in advance +# Run with `namada-shielded-transfers ${namada_dir}` + +set -e + +NAMADA_DIR=$1 +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi +cd $(dirname $0) +HERMES_DIR=${PWD%/e2e*} + +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" +DATA_DIR="${HERMES_DIR}/data" + +SHIELDED_ALIAS_A="shielded_a" +SHIELDED_ALIAS_B="shielded_b" +SHIELDED_ALIAS_B_2="shielded_b_2" +PAYMENT_ALIAS_A="payment_a" +PAYMENT_ALIAS_B="payment_b" +PAYMENT_ALIAS_B_2="payment_b_2" +LEDGER_ADDR_A="127.0.0.1:27657" +LEDGER_ADDR_B="127.0.0.1:28657" +INITIAL_BALANCE=5000 + +function init_relayer_balance() { + local suffix=$1 + local ledger_addr=$2 + + local base_dir=${DATA_DIR}/namada-${suffix} + + ${NAMADAC} --base-dir ${base_dir} \ + transfer \ + --source albert \ + --target relayer \ + --token nam \ + --amount ${INITIAL_BALANCE} \ + --node ${ledger_addr} +} + +# ==== main ==== + +# Run 2 Namada chains +${HERMES_DIR}/scripts/setup-namada ${NAMADA_DIR} + +cd ${HERMES_DIR} +ids=$(grep "id" config_for_namada.toml | awk -F"'" '/^id/ {print $2}') +chain_a=$(echo ${ids} | awk '{print $1}') +chain_b=$(echo ${ids} | awk '{print $2}') + +# Initialize the balances +init_relayer_balance "a" ${LEDGER_ADDR_A} +init_relayer_balance "b" ${LEDGER_ADDR_B} + +# Create a channel +cargo run --bin hermes -- --config config_for_namada.toml \ + create channel \ + --a-chain ${chain_a} \ + --b-chain ${chain_b} \ + --a-port transfer \ + --b-port transfer \ + --new-client-connection --yes + +base_dir_a=${DATA_DIR}/namada-a +base_dir_b=${DATA_DIR}/namada-b + +# setup shielded keys +${NAMADAW} --base-dir ${base_dir_a} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_a} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} +payment_addr_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') + +${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} +payment_addr_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') + +${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B_2} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B_2} --key ${SHIELDED_ALIAS_B_2} +payment_addr_b_2=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B_2} | awk -v paymentAlias="${PAYMENT_ALIAS_B_2}" '{if($1 ~ paymentAlias) {print $2}}') + +# faucet apfel on chain_a and chain_b +${NAMADAC} --base-dir ${base_dir_a} transfer \ + --source albert \ + --target ${payment_addr_a} \ + --token apfel \ + --amount 1000 \ + --signing-keys albert-key \ + --node ${LEDGER_ADDR_A} + +echo "==== Start Hermes ====" +cargo run --bin hermes -- --config config_for_namada.toml \ + start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & + +echo "~~ Generate the proof from chain_b for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir_b} ibc-gen-shielded \ + --output-folder-path ${base_dir_b} \ + --target ${payment_addr_b} \ + --token "tnam1qyvfwdkz8zgs9n3qn9xhp8scyf8crrxwuq26r6gy" \ + --amount 100 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_B}) +memo_path=$(echo $resp | awk '{print $8}') + +echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" +${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ + --source ${SHIELDED_ALIAS_A} \ + --receiver ${payment_addr_b} \ + --token apfel \ + --amount 100 \ + --channel-id channel-0 \ + --gas-payer relayer \ + --memo-path ${memo_path} \ + --node ${LEDGER_ADDR_A} + +# wait for relaying +sleep 15 + +echo "==== Balances on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} + +echo "==== Balances on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} + +echo "~~ Shielded transfer 50 apfel from shielded_b to shielded_b_2 ~~" +${NAMADAC} --base-dir ${base_dir_b} transfer \ + --source ${SHIELDED_ALIAS_B} \ + --target ${payment_addr_b_2} \ + --token "transfer/channel-0/apfel" \ + --amount 50 \ + --signing-keys relayer \ + --node ${LEDGER_ADDR_B} + +echo "==== Balance of shielded_b on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} + +echo "==== Balance of shielded_b_2 on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B} + +echo "~~ Generate the proof from chain A for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir_a} ibc-gen-shielded \ + --output-folder-path ${base_dir_a} \ + --target ${payment_addr_a} \ + --token "transfer/channel-0/tnam1qyvfwdkz8zgs9n3qn9xhp8scyf8crrxwuq26r6gy" \ + --amount 50 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_A}) +memo_path=$(echo $resp | awk '{print $8}') + +echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" +${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ + --source ${SHIELDED_ALIAS_B_2} \ + --receiver ${payment_addr_a} \ + --token "transfer/channel-0/apfel" \ + --amount 50 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --memo-path ${memo_path} \ + --node ${LEDGER_ADDR_B} + +# wait for relaying +sleep 15 + +echo "==== Balances of shielded_a on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} balance \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} + +echo "==== Balances of shielded_b on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} + +echo "==== Balance of shielded_b_2 on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} balance \ + --owner ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B} + +killall hermes +killall namadan From 31e4612b00b287d6358d7d2bd76b3cea2279cdef Mon Sep 17 00:00:00 2001 From: Yuji Ito Date: Fri, 12 Apr 2024 22:36:17 +0200 Subject: [PATCH 030/103] Support shielding transfers (#28) * gen-ibc-shielded * MsgTimeout and MsgAcknowledgement * add refund flag * add shielded_sync * scripts for IBC rate limit * not to use memo for shielded transfers * add namada-stargaze-transfer test script * remove duplicated masp tx * for Namada query change * update Namada rev * Namada 0.33.0 --- Cargo.lock | 787 +++++++++++++++-------- crates/relayer/Cargo.toml | 9 +- crates/relayer/src/chain/namada.rs | 33 +- crates/relayer/src/chain/namada/key.rs | 4 +- crates/relayer/src/chain/namada/query.rs | 10 +- crates/relayer/src/chain/namada/tx.rs | 262 ++++++-- e2e/namada-gaia-simple-transfers | 34 +- e2e/namada-shielded-transfers | 58 +- e2e/namada-simple-transfers | 11 +- e2e/namada-stargaze-transfer | 253 ++++++++ scripts/setup-namada | 6 +- scripts/setup-namada-single-node | 4 +- 12 files changed, 1100 insertions(+), 371 deletions(-) create mode 100755 e2e/namada-stargaze-transfer diff --git a/Cargo.lock b/Cargo.lock index b0b0f9b270..9a4c89a20e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,6 +87,17 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "1.1.2" @@ -287,7 +298,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -298,7 +309,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -368,7 +379,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http", + "http 0.2.9", "http-body", "hyper", "itoa", @@ -398,7 +409,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http", + "http 0.2.9", "http-body", "mime", "rustversion", @@ -441,9 +452,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.4" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -566,9 +577,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +dependencies = [ + "serde", +] [[package]] name = "bitvec" @@ -678,16 +692,39 @@ dependencies = [ "subtle 2.4.1", ] +[[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.12.3", +] + [[package]] name = "borsh" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" dependencies = [ - "borsh-derive", + "borsh-derive 1.2.1", "cfg_aliases", ] +[[package]] +name = "borsh-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + [[package]] name = "borsh-derive" version = "1.2.1" @@ -698,16 +735,38 @@ dependencies = [ "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", "syn_derive", ] +[[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-ext" version = "1.2.0" source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ - "borsh", + "borsh 1.2.1", +] + +[[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]] @@ -979,7 +1038,7 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "bech32 0.9.1", "bs58", "digest 0.10.7", @@ -1237,7 +1296,7 @@ checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -1253,41 +1312,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.58", -] - -[[package]] -name = "darling_macro" -version = "0.20.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.58", -] - [[package]] name = "dashmap" version = "5.5.3" @@ -1446,7 +1470,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -1455,6 +1479,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + [[package]] name = "ecdsa" version = "0.16.8" @@ -1582,7 +1612,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "bytes", "hex", "k256", @@ -1798,7 +1828,7 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.58", + "syn 2.0.53", "toml 0.7.8", "walkdir", ] @@ -1816,7 +1846,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -1842,7 +1872,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.58", + "syn 2.0.53", "tempfile", "thiserror", "tiny-keccak", @@ -1899,7 +1929,7 @@ checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" dependencies = [ "async-trait", "auto_impl", - "base64 0.21.4", + "base64 0.21.7", "bytes", "const-hex", "enr", @@ -1908,7 +1938,7 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http", + "http 0.2.9", "instant", "jsonwebtoken", "once_cell", @@ -2132,7 +2162,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -2291,7 +2321,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", + "http 0.2.9", "indexmap 1.9.3", "slab", "tokio", @@ -2310,6 +2340,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] [[package]] name = "hashbrown" @@ -2440,6 +2473,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.5" @@ -2447,7 +2491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http", + "http 0.2.9", "pin-project-lite", ] @@ -2490,7 +2534,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http", + "http 0.2.9", "http-body", "httparse", "httpdate", @@ -2510,7 +2554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", - "http", + "http 0.2.9", "hyper", "rustls", "tokio", @@ -2554,9 +2598,9 @@ dependencies = [ [[package]] name = "ibc" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429b6aca6624a9364878e28c90311438c2621a8270942d80732b2651ac38ac74" +checksum = "8057203ab04368297a31ecd5d059bec7108c069d636bcfc9ab20e82d89b480b8" dependencies = [ "ibc-apps", "ibc-clients", @@ -2566,11 +2610,43 @@ dependencies = [ "ibc-primitives", ] +[[package]] +name = "ibc-app-nft-transfer" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e931737b69129ae417598fe29eace3e41a9ce32b8649abe3937495973e5843f" +dependencies = [ + "ibc-app-nft-transfer-types", + "ibc-core", + "serde-json-wasm", +] + +[[package]] +name = "ibc-app-nft-transfer-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2019d3a6adf6b333c55630f52ca71ad8f61702ca1cf291aaf5ee40b7c6c27ba2" +dependencies = [ + "base64 0.21.7", + "borsh 0.10.3", + "derive_more", + "displaydoc", + "http 1.1.0", + "ibc-core", + "ibc-proto 0.41.0", + "mime", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "serde-json-wasm", +] + [[package]] name = "ibc-app-transfer" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b177b343385d9654d99be4709b5ed1574d41f91dfa4044b2d26d688be4179d7c" +checksum = "2595e4cc14828a4141a28b86777040d8bfbabea43838a425137202cff0ee6329" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2579,14 +2655,14 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95f92a3eda225e5c86e7bb6501c95986583ac541c4369d3c528349d81390f947" +checksum = "0106c87ddcc619a6a5eac05da2b77287e3958f89dddf951daf9a2dfc470cb5f4" dependencies = [ "derive_more", "displaydoc", "ibc-core", - "ibc-proto 0.38.0", + "ibc-proto 0.41.0", "primitive-types", "serde", "uint", @@ -2594,10 +2670,11 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4be40d55ed2dea9f2d05b902a3586f20850c723e4bdbfc4fb0ebe7a66ca5e40" +checksum = "b5738d8c842abce233f41d3be825d01e6ee075251b509c6947d05c75477eaeec" dependencies = [ + "ibc-app-nft-transfer", "ibc-app-transfer", ] @@ -2608,7 +2685,7 @@ dependencies = [ "async-trait", "flex-error", "futures", - "http", + "http 0.2.9", "ibc-proto 0.42.2", "ibc-relayer-types", "itertools 0.10.5", @@ -2622,9 +2699,9 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119aa5873214228bf69bded3f20022b9ae1bc35b6841d295afcd73e53db05ccf" +checksum = "81ef4eefb4fd88167335fee4d212b1ff2fa4dd4e4ce87a58bda1798be1d128ac" dependencies = [ "ibc-client-tendermint-types", "ibc-core-client", @@ -2632,7 +2709,6 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.4", "serde", "tendermint", "tendermint-light-client-verifier", @@ -2640,38 +2716,52 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f21679016931b332b295a761e65cc122dc6fbfb98444148b681ad3aaa474665" +checksum = "91a224a98b193810e1ef86316e9a08e677eeff6f98b22b9eb9806bd993d3753a" dependencies = [ - "bytes", "displaydoc", "ibc-core-client-types", "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", "serde", "tendermint", "tendermint-light-client-verifier", "tendermint-proto", ] +[[package]] +name = "ibc-client-wasm-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e1ea3be7ae201c99b6589c112a253f2fb3c9ae7322d8937a7303d1fbfe76d27" +dependencies = [ + "base64 0.21.7", + "displaydoc", + "ibc-core-client", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "serde", +] + [[package]] name = "ibc-clients" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c660323e93107a136aa3dbc412b7fa2eafd315c2fe71184096a43800f8ca5" +checksum = "84fef481dd1ebe5ef69ee8e095c225cb3e51cd3895096ba2884b3f5b827a6ed6" dependencies = [ "ibc-client-tendermint", + "ibc-client-wasm-types", ] [[package]] name = "ibc-core" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "100d9d0aa67432c5078a8a1c818e3fc990a193be6d35ed0abeda5b340d16c1da" +checksum = "5aedd421bae80115f44b198bec9af45f234e1c8ff81ee9d5e7f60444d526d2b6" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2680,14 +2770,15 @@ dependencies = [ "ibc-core-handler", "ibc-core-host", "ibc-core-router", + "ibc-derive", "ibc-primitives", ] [[package]] name = "ibc-core-channel" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebaa37629ac029f914dfe552ab5dad01ddb240ec885ed0ae68221cbea4e9bfc" +checksum = "535048a8fe64101263e35a6a4503474811e379a115db72ee449df882b0f11b45" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2697,15 +2788,15 @@ dependencies = [ "ibc-core-host", "ibc-core-router", "ibc-primitives", - "prost 0.12.4", ] [[package]] name = "ibc-core-channel-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2ba72c56c411b1e0ce6dc3f5e1fa1de9e6c84891f425b7be8a9e1705964378" +checksum = "8d97396ccb1840f4ea6021bbf049a4a7e30a8f5b126f00023ec44b2a48d4dabc" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-client-types", @@ -2713,8 +2804,10 @@ dependencies = [ "ibc-core-connection-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "sha2 0.10.8", "subtle-encoding", @@ -2723,9 +2816,9 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c4fac8e05201795073dee8c93d5afe9dfeac9aec2412b4a2b0c5f0d1e1d725" +checksum = "15bcf0c59eaa935fa410497a56862f28c4df68317ea556724f0d0764b6c0307e" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2733,14 +2826,13 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.4", ] [[package]] name = "ibc-core-client-context" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b82abd9489021730d59ab2d00e9438d3711e8e78ecba4d083b64f833301682b" +checksum = "2d37d88be3dc7fd82d45418c257d826244a6b29b7902c76cf9e68fd61f1e9173" dependencies = [ "derive_more", "displaydoc", @@ -2748,26 +2840,27 @@ dependencies = [ "ibc-core-commitment-types", "ibc-core-handler-types", "ibc-core-host-types", - "ibc-derive", "ibc-primitives", - "prost 0.12.4", "subtle-encoding", "tendermint", ] [[package]] name = "ibc-core-client-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafdbf6db5dab4c8ad610b6940e23b4f8abd0a6ac5e8e2801415a95defd4a583" +checksum = "cb717b1296e6cda0990346ba5203fadd043d5159d7d7173b3765f72f263c29db" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "subtle-encoding", "tendermint", @@ -2775,48 +2868,53 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4256b0216fc49024bac7e01c61b9bb055e31914ffe9ce6f468d7ce496a9357" +checksum = "a10ff34bf57bf4bc668b55208dbfdf312d7907adc6a0e39da2377883f12efada" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-primitives", - "ibc-proto 0.38.0", + "ibc-proto 0.41.0", "ics23", - "prost 0.12.4", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "subtle-encoding", ] [[package]] name = "ibc-core-connection" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e237b70b9ba0177a4e59ac9048fffac2ac44c334703cc0ae403ad221450850" +checksum = "de7f4f1e78e9ed5a63b09b1405f42713f3d076ba5e7889ec31a520cad4970344" dependencies = [ "ibc-core-client", "ibc-core-connection-types", "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.4", ] [[package]] name = "ibc-core-connection-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca841416fa29626423917099092f3698ae2735074cb3fe42936ddf6b2ccbf2f7" +checksum = "230d7f547e121147d136c563ae71707a9e3477a9bc1bc6c1dc29051e1408a381" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-client-types", "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "subtle-encoding", "tendermint", @@ -2824,9 +2922,9 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47e5e5a006aa0fc87ec3f5fb1e0ef6dd5aeea5079fa927d799d526c44329987" +checksum = "c60a2d072d8f7d8d64503bbf3fb69ffcd973b92667af053617a36682fadddea5" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2840,10 +2938,11 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3d59a8a5eb2069530c42783b4fef63472a89e0e9242334351df1bb58aaf542" +checksum = "7fae38340bffa42a74563a12703c994515cca4bab755a0c83089c18c3c1e481a" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-channel-types", @@ -2853,8 +2952,10 @@ dependencies = [ "ibc-core-host-types", "ibc-core-router-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "subtle-encoding", "tendermint", @@ -2862,9 +2963,9 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aa63c895c0e5a75e42fe859b8fd4250c12bfa8b9c6b114f94c927ecfad38a03" +checksum = "abaa0e2143855d12c19e814dab72a5e28daf5e31780afb1302e983614b248668" dependencies = [ "derive_more", "displaydoc", @@ -2876,15 +2977,14 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host-types", "ibc-primitives", - "prost 0.12.4", "subtle-encoding", ] [[package]] name = "ibc-core-host-cosmos" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a325862af6c20b0df3d27c072a2d802a7232dc1666214d738cdfbd9a9c99720" +checksum = "7e3c792be21a340e42344e5bede1695c2d21d62abcc21bbfc7662b5950ffe8d4" dependencies = [ "derive_more", "displaydoc", @@ -2897,8 +2997,7 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", "serde", "sha2 0.10.8", "subtle-encoding", @@ -2907,21 +3006,25 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616955da310febbe93c0569a2feebd9f57cafed3eee5a56b0c3bb953a75f6089" +checksum = "1c25ce3082e036836d60aea3cc24f46dfb248d7718516a9a48e1feb466ce10c1" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-primitives", + "parity-scale-codec", + "scale-info", + "schemars", "serde", ] [[package]] name = "ibc-core-router" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31fe115da73e0616bdb44400fa6b11ca251648d070c4ff419d58e27804d30243" +checksum = "6c261fb7e9a7de7daafb6a38cb9abdce6e912230e30246eb2ef1bb5db32ba10f" dependencies = [ "derive_more", "displaydoc", @@ -2929,23 +3032,24 @@ dependencies = [ "ibc-core-host-types", "ibc-core-router-types", "ibc-primitives", - "prost 0.12.4", "subtle-encoding", ] [[package]] name = "ibc-core-router-types" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d1fbb0bbbdeafa7ac989ba1693ed46d22e0e3eb0bdae478544e31157a4fdba6" +checksum = "6f3b37bc4c11fdc60a328488f4be205106666edda20a4080484d599a8b0978d2" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.38.0", - "ics23", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", "serde", "subtle-encoding", "tendermint", @@ -2953,14 +3057,13 @@ dependencies = [ [[package]] name = "ibc-derive" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df07bf5bc1e65e291506b7497633e07967e49b36a8db10cda77a8fd686eb4548" +checksum = "3de1e69ff9d7d6094b720a36bb26fc8078b5e1b0e216e2d0a92f602e6dc8016e" dependencies = [ - "darling", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -2968,11 +3071,11 @@ name = "ibc-integration-test" version = "0.27.0" dependencies = [ "byte-unit", - "http", + "http 0.2.9", "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", - "prost 0.12.4", + "prost 0.12.3", "serde", "serde_json", "tempfile", @@ -2985,14 +3088,18 @@ dependencies = [ [[package]] name = "ibc-primitives" -version = "0.48.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5edea4685267fd68514c87e7aa3a62712340c4cff6903f088a9ab571428a08a" +checksum = "af5524046e645bdfbd96ef932c8ceab6bb2391dc31dee626e274d13e7ac25ec2" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", - "ibc-proto 0.38.0", - "prost 0.12.4", + "ibc-proto 0.41.0", + "parity-scale-codec", + "prost 0.12.3", + "scale-info", + "schemars", "serde", "tendermint", "time", @@ -3000,15 +3107,20 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.38.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93cbf4cbe9e5113cc7c70f3208a7029b2205c629502cbb2ae7ea0a09a97d3005" +checksum = "dd4ee32b22d3b06f31529b956f4928e5c9a068d71e46cf6abfa19c31ca550553" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", + "borsh 0.10.3", "bytes", "flex-error", "ics23", - "prost 0.12.4", + "informalsystems-pbjson", + "parity-scale-codec", + "prost 0.12.3", + "scale-info", + "schemars", "serde", "subtle-encoding", "tendermint-proto", @@ -3020,12 +3132,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1a6f2bbf7e1d12f98d8d54d9114231b865418d0f8b619c0873180eafdee07fd" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "bytes", "flex-error", "ics23", "informalsystems-pbjson", - "prost 0.12.4", + "prost 0.12.3", "serde", "subtle-encoding", "tendermint-proto", @@ -3055,7 +3167,7 @@ dependencies = [ "generic-array 0.14.7", "hdpath", "hex", - "http", + "http 0.2.9", "humantime", "humantime-serde", "ibc-proto 0.42.2", @@ -3070,7 +3182,7 @@ dependencies = [ "num-bigint 0.4.4", "num-rational 0.4.1", "once_cell", - "prost 0.12.4", + "prost 0.12.3", "regex", "reqwest", "retry", @@ -3123,7 +3235,7 @@ dependencies = [ "flex-error", "futures", "hdpath", - "http", + "http 0.2.9", "humantime", "ibc-chain-registry", "ibc-relayer", @@ -3177,7 +3289,7 @@ dependencies = [ "itertools 0.10.5", "num-rational 0.4.1", "primitive-types", - "prost 0.12.4", + "prost 0.12.3", "regex", "serde", "serde_derive", @@ -3224,14 +3336,14 @@ dependencies = [ "flex-error", "hdpath", "hex", - "http", + "http 0.2.9", "ibc-proto 0.42.2", "ibc-relayer", "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.10.5", "once_cell", - "prost 0.12.4", + "prost 0.12.3", "rand 0.8.5", "semver 1.0.22", "serde", @@ -3259,7 +3371,7 @@ dependencies = [ "bytes", "hex", "informalsystems-pbjson", - "prost 0.12.4", + "prost 0.12.3", "ripemd", "serde", "sha2 0.10.8", @@ -3351,7 +3463,7 @@ name = "index-set" version = "0.8.0" source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" dependencies = [ - "borsh", + "borsh 1.2.1", "serde", ] @@ -3365,6 +3477,17 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "indexmap" +version = "2.2.4" +source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547bd6ab04bbb16e060326a50ddaeb6c909" +dependencies = [ + "borsh 1.2.1", + "equivalent", + "hashbrown 0.14.1", + "serde", +] + [[package]] name = "indexmap" version = "2.2.6" @@ -3381,7 +3504,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aa4a0980c8379295100d70854354e78df2ee1c6ca0f96ffe89afeb3140e3a3d" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "serde", ] @@ -3457,7 +3580,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "pem", "ring", "serde", @@ -3537,6 +3660,26 @@ dependencies = [ "typenum", ] +[[package]] +name = "linkme" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" +dependencies = [ + "linkme-impl", +] + +[[package]] +name = "linkme-impl" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + [[package]] name = "linux-raw-sys" version = "0.4.10" @@ -3562,9 +3705,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" dependencies = [ - "borsh", + "borsh 1.2.1", "chacha20", "chacha20poly1305", "cipher", @@ -3575,7 +3718,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" dependencies = [ "aes", "bip0039", @@ -3583,7 +3726,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh", + "borsh 1.2.1", "byteorder", "ff", "fpe", @@ -3606,7 +3749,7 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?tag=v1.1.0#f24691c0eb76909e3c15ae03aef294dccebd2df3" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" dependencies = [ "bellman", "blake2b_simd", @@ -3739,23 +3882,33 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", + "linkme", "namada_core", "namada_macros", + "namada_migrations", "namada_storage", "serde", ] +[[package]] +name = "namada_controller" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" +dependencies = [ + "namada_core", +] + [[package]] name = "namada_core" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ "bech32 0.8.1", - "borsh", + "borsh 1.2.1", "borsh-ext", "chrono", "data-encoding", @@ -3767,17 +3920,18 @@ dependencies = [ "ics23", "impl-num-traits", "index-set", + "indexmap 2.2.4", "k256", + "linkme", "masp_primitives", "namada_macros", - "num-derive", + "namada_migrations", "num-integer", "num-rational 0.4.1", "num-traits", "num256", "num_enum", "primitive-types", - "prost 0.12.4", "prost-types 0.12.1", "rand 0.8.5", "rand_core 0.6.4", @@ -3796,16 +3950,18 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "ethabi", "ethers", "eyre", "itertools 0.10.5", + "linkme", "namada_core", "namada_macros", + "namada_migrations", "namada_parameters", "namada_proof_of_stake", "namada_state", @@ -3825,25 +3981,29 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "namada_core", + "namada_macros", "serde", "thiserror", ] [[package]] name = "namada_governance" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", + "itertools 0.10.5", + "linkme", "namada_core", "namada_macros", + "namada_migrations", "namada_parameters", - "namada_state", + "namada_storage", "namada_trans_token", "serde", "serde_json", @@ -3853,22 +4013,24 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "ibc", "ibc-derive", "ics23", "masp_primitives", "namada_core", + "namada_gas", "namada_governance", "namada_parameters", "namada_state", "namada_storage", - "namada_trans_token", + "namada_token", "primitive-types", - "prost 0.12.4", + "prost 0.12.3", + "serde_json", "sha2 0.9.9", "thiserror", "tracing", @@ -3876,34 +4038,52 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ + "data-encoding", + "lazy_static", + "paste", "proc-macro2", "quote", + "sha2 0.9.9", "syn 1.0.109", ] [[package]] name = "namada_merkle_tree" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "eyre", "ics23", "namada_core", - "prost 0.12.4", + "namada_macros", + "prost 0.12.3", "sparse-merkle-tree", "thiserror", ] +[[package]] +name = "namada_migrations" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" +dependencies = [ + "borsh 1.2.1", + "data-encoding", + "lazy_static", + "linkme", + "namada_macros", + "serde", +] + [[package]] name = "namada_parameters" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -3912,15 +4092,19 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "data-encoding", "derivative", + "linkme", "namada_account", + "namada_controller", "namada_core", "namada_governance", + "namada_macros", + "namada_migrations", "namada_parameters", "namada_storage", "namada_trans_token", @@ -3931,31 +4115,44 @@ dependencies = [ "tracing", ] +[[package]] +name = "namada_replay_protection" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" +dependencies = [ + "namada_core", +] + [[package]] name = "namada_sdk" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ "async-trait", "bimap", - "borsh", + "borsh 1.2.1", "borsh-ext", "circular-queue", "data-encoding", "derivation-path", "ethbridge-bridge-contract", "ethers", + "eyre", "fd-lock", "futures", "itertools 0.10.5", "lazy_static", + "linkme", "masp_primitives", "masp_proofs", "namada_account", "namada_core", "namada_ethereum_bridge", + "namada_gas", "namada_governance", "namada_ibc", + "namada_macros", + "namada_migrations", "namada_parameters", "namada_proof_of_stake", "namada_state", @@ -3969,9 +4166,10 @@ dependencies = [ "owo-colors", "parse_duration", "paste", - "prost 0.12.4", + "prost 0.12.3", "rand 0.8.5", "rand_core 0.6.4", + "regex", "ripemd", "serde", "serde_json", @@ -3991,30 +4189,36 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ + "borsh 1.2.1", "masp_primitives", + "namada_controller", "namada_core", "namada_parameters", - "namada_state", "namada_storage", "namada_trans_token", + "serde", "tracing", ] [[package]] name = "namada_state" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "ics23", "itertools 0.10.5", + "linkme", "namada_core", "namada_gas", + "namada_macros", "namada_merkle_tree", + "namada_migrations", "namada_parameters", + "namada_replay_protection", "namada_storage", "namada_trans_token", "namada_tx", @@ -4027,23 +4231,29 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", "itertools 0.10.5", + "linkme", "namada_core", "namada_gas", + "namada_macros", "namada_merkle_tree", + "namada_migrations", + "namada_replay_protection", "namada_tx", + "regex", + "serde", "thiserror", "tracing", ] [[package]] name = "namada_token" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ "namada_core", "namada_shielded_token", @@ -4053,8 +4263,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ "namada_core", "namada_storage", @@ -4062,18 +4272,22 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ "ark-bls12-381", - "borsh", + "bitflags 2.5.0", + "borsh 1.2.1", "data-encoding", + "linkme", "masp_primitives", "namada_core", "namada_gas", + "namada_macros", + "namada_migrations", "num-derive", "num-traits", - "prost 0.12.4", + "prost 0.12.3", "prost-types 0.12.1", "serde", "serde_json", @@ -4084,11 +4298,14 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.31.0" -source = "git+https://github.com/anoma/namada?tag=v0.31.0#720304bc49aec3390f9bf127b69cd1e875612fc4" +version = "0.33.0" +source = "git+https://github.com/anoma/namada#621cce94399e3ce5088e07dfff842f438b216103" dependencies = [ - "borsh", + "borsh 1.2.1", + "linkme", "namada_core", + "namada_macros", + "namada_migrations", "namada_tx", "serde", ] @@ -4288,7 +4505,7 @@ dependencies = [ "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -4672,7 +4889,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -4743,7 +4960,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -4760,6 +4977,15 @@ dependencies = [ "uint", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -4833,7 +5059,7 @@ version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "lazy_static", "num-traits", "rand 0.8.5", @@ -4855,12 +5081,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.4" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", - "prost-derive 0.12.4", + "prost-derive 0.12.3", ] [[package]] @@ -4900,15 +5126,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -4926,7 +5152,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.12.4", + "prost 0.12.3", ] [[package]] @@ -4952,9 +5178,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -5051,7 +5277,7 @@ version = "11.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", ] [[package]] @@ -5179,13 +5405,13 @@ version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", "h2", - "http", + "http 0.2.9", "http-body", "hyper", "hyper-rustls", @@ -5327,7 +5553,7 @@ version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", @@ -5364,7 +5590,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.4", + "base64 0.21.7", ] [[package]] @@ -5440,6 +5666,30 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "schemars" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -5621,7 +5871,18 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", +] + +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -5653,7 +5914,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -5722,7 +5983,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -5893,7 +6154,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=515687fe7884cb365067ac86c66ac3613de176bb#515687fe7884cb365067ac86c66ac3613de176bb" dependencies = [ - "borsh", + "borsh 1.2.1", "cfg-if 1.0.0", "ics23", "sha2 0.9.9", @@ -5946,7 +6207,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -5989,9 +6250,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.58" +version = "2.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" dependencies = [ "proc-macro2", "quote", @@ -6007,7 +6268,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -6089,7 +6350,7 @@ dependencies = [ "k256", "num-traits", "once_cell", - "prost 0.12.4", + "prost 0.12.3", "prost-types 0.12.1", "ripemd", "serde", @@ -6191,7 +6452,7 @@ dependencies = [ "flex-error", "num-derive", "num-traits", - "prost 0.12.4", + "prost 0.12.3", "prost-types 0.12.1", "serde", "serde_bytes", @@ -6276,7 +6537,7 @@ checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -6302,7 +6563,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -6455,7 +6716,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -6581,16 +6842,16 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.4", + "base64 0.21.7", "bytes", "h2", - "http", + "http 0.2.9", "http-body", "hyper", "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.4", + "prost 0.12.3", "rustls", "rustls-native-certs", "rustls-pemfile", @@ -6668,7 +6929,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] [[package]] @@ -6764,7 +7025,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 0.2.9", "httparse", "log", "rand 0.8.5", @@ -6987,7 +7248,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", "wasm-bindgen-shared", ] @@ -7021,7 +7282,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7401,5 +7662,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.53", ] diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 96fdf8c7b2..816eab8fd7 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -115,20 +115,19 @@ default-features = false [dependencies.namada_ibc] git = "https://github.com/anoma/namada" -tag = "v0.31.0" +version = "0.33.0" [dependencies.namada_parameters] git = "https://github.com/anoma/namada" -tag = "v0.31.0" +version = "0.33.0" [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -tag = "v0.31.0" -features = ["std"] +version = "0.33.0" [dependencies.namada_trans_token] git = "https://github.com/anoma/namada" -tag = "v0.31.0" +version = "0.33.0" [dev-dependencies] ibc-relayer-types = { version = "0.27.0", path = "../relayer-types", features = ["mocks"] } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index a847b5cdf1..d8d5b35871 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -34,17 +34,17 @@ use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; use namada_ibc::storage; use namada_parameters::{storage as param_storage, EpochDuration}; +use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; -use namada_sdk::masp::ShieldedContext; +use namada_sdk::masp::DefaultLogger; use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; use namada_sdk::state::ics23_specs::ibc_proof_specs; use namada_sdk::state::Sha256Hasher; -use namada_sdk::types::address::{Address, InternalAddress}; -use namada_sdk::types::storage::{Key, KeySeg, PrefixValue}; +use namada_sdk::storage::{Key, KeySeg, PrefixValue}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; @@ -166,6 +166,24 @@ impl NamadaChain { .parse() .unwrap()) } + + async fn shielded_sync(&self) -> Result<(), Error> { + let mut shielded = self.ctx.shielded_mut().await; + let _ = shielded.load().await; + shielded + .fetch( + self.ctx.client(), + &DefaultLogger::new(self.ctx.io()), + None, + None, + 1, + &[], + &[], + ) + .await + .map_err(NamadaError::namada)?; + shielded.save().await.map_err(Error::io) + } } impl ChainEndpoint for NamadaChain { @@ -181,7 +199,7 @@ impl ChainEndpoint for NamadaChain { } fn config(&self) -> ChainConfig { - ChainConfig::CosmosSdk(self.config.clone()) + ChainConfig::Namada(self.config.clone()) } fn bootstrap(config: ChainConfig, rt: Arc) -> Result { @@ -202,7 +220,12 @@ impl ChainEndpoint for NamadaChain { KeyRing::new_namada(config.key_store_type, &config.id, &config.key_store_folder) .map_err(Error::key_base)?; - let shielded_ctx = ShieldedContext::::default(); + let shielded_dir = dirs_next::home_dir() + .expect("No home directory") + .join(".hermes/shielded") + .join(config.id.to_string()); + std::fs::create_dir_all(&shielded_dir).map_err(Error::io)?; + let shielded_ctx = FsShieldedUtils::new(shielded_dir); let mut store = Store::default(); let key = keybase diff --git a/crates/relayer/src/chain/namada/key.rs b/crates/relayer/src/chain/namada/key.rs index 83fe4efea0..9f8486dc52 100644 --- a/crates/relayer/src/chain/namada/key.rs +++ b/crates/relayer/src/chain/namada/key.rs @@ -1,7 +1,7 @@ use core::any::Any; -use namada_sdk::types::address::Address; -use namada_sdk::types::key::common::SecretKey; +use namada_sdk::address::Address; +use namada_sdk::key::common::SecretKey; use crate::config::AddressType; use crate::keyring::errors::Error; diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index a0fbc490d4..2d2021ee3f 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -3,12 +3,12 @@ use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_ use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::Height as ICSHeight; -use namada_ibc::storage::{ibc_denom_key_prefix, is_ibc_denom_key}; +use namada_ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; +use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; -use namada_sdk::types::address::{Address, InternalAddress}; -use namada_sdk::types::storage::{BlockHeight, Epoch, Key, PrefixValue}; +use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; @@ -275,12 +275,12 @@ impl NamadaChain { _ => return Err(NamadaError::denom_not_found(raw_addr).into()), }; - let prefix = ibc_denom_key_prefix(None); + let prefix = ibc_trace_key_prefix(None); let pairs = self.query_prefix(prefix)?; let pair = pairs .iter() .find(|PrefixValue { key, value: _ }| { - if let Some((_, token_hash)) = is_ibc_denom_key(key) { + if let Some((_, token_hash)) = is_ibc_trace_key(key) { token_hash == *hash } else { false diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 0d7ca48171..97fab61edd 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -6,12 +6,27 @@ use std::time::Instant; use ibc_proto::google::protobuf::Any; use namada_parameters::storage as parameter_storage; -use namada_sdk::args::{Tx as TxArgs, TxCustom}; +use namada_sdk::address::{Address, ImplicitAddress}; +use namada_sdk::args; +use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom}; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::borsh::BorshSerializeExt; +use namada_sdk::chain::ChainId; +use namada_sdk::ibc::apps::nft_transfer::types::packet::PacketData as NftPacketData; +use namada_sdk::ibc::apps::transfer::types::packet::PacketData; +use namada_sdk::ibc::core::channel::types::acknowledgement::AcknowledgementStatus; +use namada_sdk::ibc::core::channel::types::msgs::{ + MsgAcknowledgement as IbcMsgAcknowledgement, MsgRecvPacket as IbcMsgRecvPacket, + MsgTimeout as IbcMsgTimeout, ACKNOWLEDGEMENT_TYPE_URL, RECV_PACKET_TYPE_URL, TIMEOUT_TYPE_URL, +}; +use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; +use namada_sdk::ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; +use namada_sdk::masp::{PaymentAddress, TransferTarget}; +use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; use namada_sdk::tx::data::GasLimit; -use namada_sdk::types::address::{Address, ImplicitAddress}; -use namada_sdk::types::chain::ChainId; use namada_sdk::{signing, tx, Namada}; +use namada_trans_token::Transfer; +use tendermint_proto::Protobuf; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use crate::chain::cosmos; @@ -27,16 +42,45 @@ const WAIT_BACKOFF: Duration = Duration::from_millis(300); impl NamadaChain { pub fn send_tx(&mut self, proto_msg: &Any) -> Result { - let mut tx_data = vec![]; - prost::Message::encode(proto_msg, &mut tx_data) - .map_err(|e| Error::protobuf_encode(String::from("Message"), e))?; + let tx_args = self.make_tx_args()?; - let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); + let relayer_addr = self.get_key()?.address; + let rt = self.rt.clone(); + rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; + + let args = TxCustom { + tx: tx_args.clone(), + code_path: Some(PathBuf::from(tx::TX_IBC_WASM)), + data_path: None, + serialized_tx: None, + owner: relayer_addr.clone(), + }; + let (mut tx, signing_data) = rt + .block_on(args.build(&self.ctx)) + .map_err(NamadaError::namada)?; + self.set_tx_data(&mut tx, proto_msg)?; + rt.block_on( + self.ctx + .sign(&mut tx, &args.tx, signing_data, signing::default_sign, ()), + ) + .map_err(NamadaError::namada)?; + let tx_header_hash = tx.header_hash().to_string(); + let response = rt + .block_on(self.ctx.submit(tx, &args.tx)) + .map_err(NamadaError::namada)?; + + match response { + tx::ProcessTxResponse::Broadcast(mut response) => { + // overwrite the tx decrypted hash for the tx query + response.hash = tx_header_hash.parse().expect("invalid hash"); + Ok(response) + } + _ => unreachable!("The response type was unexpected"), + } + } - let url = &self.config().rpc_addr; - let rpc_addr = format!("{}:{}{}", url.host(), url.port(), url.path()); - let ledger_address = - tendermint_config::net::Address::from_str(&rpc_addr).expect("invalid rpc address"); + fn make_tx_args(&mut self) -> Result { + let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); let fee_token = &self.config.gas_price.denom; let fee_token = Address::decode(fee_token) @@ -49,7 +93,6 @@ impl NamadaChain { let namada_key = self.get_key()?; let relayer_public_key = namada_key.secret_key.to_public(); - let relayer_addr = namada_key.address; let memo = if !self.config().memo_prefix.as_str().is_empty() { Some( @@ -63,14 +106,15 @@ impl NamadaChain { } else { None }; - let tx_args = TxArgs { + + Ok(TxArgs { dry_run: false, dry_run_wrapper: false, dump_tx: false, force: false, output_folder: None, broadcast_only: true, - ledger_address, + ledger_address: self.config().rpc_addr.clone(), initialized_account_alias: None, wallet_alias_force: false, wrapper_fee_payer: Some(relayer_public_key.clone()), @@ -87,37 +131,171 @@ impl NamadaChain { password: None, memo, use_device: false, - }; - let rt = self.rt.clone(); - rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; + }) + } - let args = TxCustom { - tx: tx_args.clone(), - code_path: Some(PathBuf::from(tx::TX_IBC_WASM)), - data_path: Some(tx_data), - serialized_tx: None, - owner: relayer_addr.clone(), + fn set_tx_data(&self, tx: &mut tx::Tx, proto_msg: &Any) -> Result<(), Error> { + // Make a new message with Namada shielded transfer + // if receiving or refunding to a shielded address + let data = match proto_msg.type_url.as_ref() { + RECV_PACKET_TYPE_URL => { + let message: IbcMsgRecvPacket = + Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; + self.get_shielded_transfer( + &message.packet.port_id_on_b, + &message.packet.chan_id_on_b, + &message.packet.data, + false, + )? + .map(|(transfer, masp_tx)| { + ( + MsgRecvPacket { + message, + transfer: Some(transfer), + } + .serialize_to_vec(), + masp_tx, + ) + }) + } + ACKNOWLEDGEMENT_TYPE_URL => { + let message: IbcMsgAcknowledgement = + Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; + let acknowledgement: AcknowledgementStatus = + serde_json::from_slice(message.acknowledgement.as_ref()).map_err(|e| { + Error::send_tx(format!("Decoding acknowledment failed: {e}")) + })?; + if acknowledgement.is_successful() { + None + } else { + // Need to refund + self.get_shielded_transfer( + &message.packet.port_id_on_b, + &message.packet.chan_id_on_a, + &message.packet.data, + true, + )? + .map(|(transfer, masp_tx)| { + ( + MsgAcknowledgement { + message, + transfer: Some(transfer), + } + .serialize_to_vec(), + masp_tx, + ) + }) + } + } + TIMEOUT_TYPE_URL => { + let message: IbcMsgTimeout = + Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; + self.get_shielded_transfer( + &message.packet.port_id_on_b, + &message.packet.chan_id_on_a, + &message.packet.data, + true, + )? + .map(|(transfer, masp_tx)| { + ( + MsgTimeout { + message, + transfer: Some(transfer), + } + .serialize_to_vec(), + masp_tx, + ) + }) + } + _ => None, }; - let (mut tx, signing_data) = rt - .block_on(args.build(&self.ctx)) - .map_err(NamadaError::namada)?; - rt.block_on( - self.ctx - .sign(&mut tx, &args.tx, signing_data, signing::default_sign, ()), - ) - .map_err(NamadaError::namada)?; - let decrypted_hash = tx.raw_header_hash().to_string(); - let response = rt - .block_on(self.ctx.submit(tx, &args.tx)) - .map_err(NamadaError::namada)?; - match response { - tx::ProcessTxResponse::Broadcast(mut response) => { - // overwrite the tx decrypted hash for the tx query - response.hash = decrypted_hash.parse().expect("invalid hash"); - Ok(response) - } - _ => unreachable!("The response type was unexpected"), + if let Some((tx_data, masp_tx)) = data { + tx.add_serialized_data(tx_data); + tx.add_masp_tx_section(masp_tx); + } else { + let mut tx_data = vec![]; + prost::Message::encode(proto_msg, &mut tx_data).map_err(|e| { + Error::protobuf_encode(String::from("Encoding the message failed"), e) + })?; + tx.add_serialized_data(tx_data); + } + Ok(()) + } + + fn get_shielded_transfer( + &self, + port_id: &PortId, + channel_id: &ChannelId, + packet_data: &[u8], + is_refund: bool, + ) -> Result, Error> { + let transfer = serde_json::from_slice::(packet_data) + .ok() + .and_then(|data| { + let target = if is_refund { + data.sender.as_ref() + } else { + data.receiver.as_ref() + }; + PaymentAddress::from_str(target) + .map(|payment_addr| { + ( + payment_addr, + data.token.denom.to_string(), + data.token.amount.to_string(), + ) + }) + .ok() + }) + .or(serde_json::from_slice::(packet_data) + .ok() + .and_then(|data| { + let target = if is_refund { + data.sender.as_ref() + } else { + data.receiver.as_ref() + }; + PaymentAddress::from_str(target) + .map(|payment_addr| { + let ibc_token = format!( + "{}/{}", + data.class_id, + data.token_ids + .0 + .first() + .expect("at least 1 token ID should exist") + ); + (payment_addr, ibc_token, "1".to_string()) + }) + .ok() + })); + + if let Some((receiver, token, amount)) = transfer { + self.rt.block_on(self.shielded_sync())?; + let amount = InputAmount::Unvalidated( + amount + .parse() + .map_err(|e| Error::send_tx(format!("invalid amount: {e}")))?, + ); + let args = args::GenIbcShieldedTransfer { + query: args::Query { + ledger_address: self.config().rpc_addr.clone(), + }, + output_folder: None, + target: TransferTarget::PaymentAddress(receiver), + token: token.clone(), + amount, + port_id: port_id.clone(), + channel_id: channel_id.clone(), + refund: is_refund, + }; + Ok(self + .rt + .block_on(tx::gen_ibc_shielded_transfer(&self.ctx, args)) + .map_err(NamadaError::namada)?) + } else { + Ok(None) } } diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 64b06cd8f4..4db3655223 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -26,7 +26,7 @@ SHIELDED_ALIAS_A="shielded_a" SHIELDED_ALIAS_B="shielded_b" PAYMENT_ALIAS_A="payment_a" PAYMENT_ALIAS_B="payment_b" -NAMADA_LEDGER_ADDR="127.0.0.1:27657" +NAMADA_LEDGER_ADDR="http://127.0.0.1:27657" GAIA_CHAIN_CONFIG=" [[chains]] @@ -193,23 +193,12 @@ sleep 15 echo "==== Balances on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --owner relayer \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balances on Gaia ====" gaiad query bank balances ${gaia_user} - -echo "~~ Generate the proof from Namada for the following transfer ~~" -resp=$(${NAMADAC} --base-dir ${base_dir} ibc-gen-shielded \ - --output-folder-path ${base_dir} \ - --target ${payment_addr_a} \ - --token "samoleans" \ - --amount 10 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${NAMADA_LEDGER_ADDR}) -memo_path=$(echo $resp | awk '{print $8}') - echo "~~ Shielding transfer 10 samoleans from Gaia to Namada ~~" cargo run --bin hermes -- --config config_for_namada.toml \ tx ft-transfer \ @@ -221,14 +210,17 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --receiver ${payment_addr_a} \ --denom samoleans \ --timeout-height-offset 1000 \ - --memo $(cat ${memo_path}) # wait for relaying -sleep 15 +sleep 40 echo "==== Balance of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${NAMADA_LEDGER_ADDR} ${NAMADAC} --base-dir ${base_dir} balance \ --owner ${SHIELDED_ALIAS_A} \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balances on Gaia ====" @@ -244,13 +236,18 @@ ${NAMADAC} --base-dir ${base_dir} transfer \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balance of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ + --node ${NAMADA_LEDGER_ADDR} ${NAMADAC} --base-dir ${base_dir} balance \ --owner ${SHIELDED_ALIAS_A} \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balance of shielded_b on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --owner ${SHIELDED_ALIAS_B} \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "~~ Transfer back 5 samoleans from Namada to Gaia ~~" @@ -264,16 +261,21 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --node ${NAMADA_LEDGER_ADDR} # wait for relaying -sleep 15 +sleep 40 echo "==== Balances of shielded_a on Namada ====" +${NAMADAC} --base-dir ${base_dir} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ + --node ${NAMADA_LEDGER_ADDR} ${NAMADAC} --base-dir ${base_dir} balance \ --owner ${SHIELDED_ALIAS_A} \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balances of shielded_b on Namada ====" ${NAMADAC} --base-dir ${base_dir} balance \ --owner ${SHIELDED_ALIAS_B} \ + --show-ibc-tokens \ --node ${NAMADA_LEDGER_ADDR} echo "==== Balances on Gaia ====" diff --git a/e2e/namada-shielded-transfers b/e2e/namada-shielded-transfers index 80a047f80a..c33cddbdb1 100755 --- a/e2e/namada-shielded-transfers +++ b/e2e/namada-shielded-transfers @@ -25,8 +25,8 @@ SHIELDED_ALIAS_B_2="shielded_b_2" PAYMENT_ALIAS_A="payment_a" PAYMENT_ALIAS_B="payment_b" PAYMENT_ALIAS_B_2="payment_b_2" -LEDGER_ADDR_A="127.0.0.1:27657" -LEDGER_ADDR_B="127.0.0.1:28657" +LEDGER_ADDR_A="http://127.0.0.1:27657" +LEDGER_ADDR_B="http://127.0.0.1:28657" INITIAL_BALANCE=5000 function init_relayer_balance() { @@ -92,21 +92,14 @@ ${NAMADAC} --base-dir ${base_dir_a} transfer \ --signing-keys albert-key \ --node ${LEDGER_ADDR_A} +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} + echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & -echo "~~ Generate the proof from chain_b for the following transfer ~~" -resp=$(${NAMADAC} --base-dir ${base_dir_b} ibc-gen-shielded \ - --output-folder-path ${base_dir_b} \ - --target ${payment_addr_b} \ - --token "tnam1qyvfwdkz8zgs9n3qn9xhp8scyf8crrxwuq26r6gy" \ - --amount 100 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${LEDGER_ADDR_B}) -memo_path=$(echo $resp | awk '{print $8}') - echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source ${SHIELDED_ALIAS_A} \ @@ -115,21 +108,28 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --amount 100 \ --channel-id channel-0 \ --gas-payer relayer \ - --memo-path ${memo_path} \ --node ${LEDGER_ADDR_A} # wait for relaying -sleep 15 +sleep 40 echo "==== Balances on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} ${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner ${SHIELDED_ALIAS_A} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_A} echo "==== Balances on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} echo "~~ Shielded transfer 50 apfel from shielded_b to shielded_b_2 ~~" @@ -142,26 +142,23 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ --node ${LEDGER_ADDR_B} echo "==== Balance of shielded_b on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} echo "==== Balance of shielded_b_2 on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B} ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B_2} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} -echo "~~ Generate the proof from chain A for the following transfer ~~" -resp=$(${NAMADAC} --base-dir ${base_dir_a} ibc-gen-shielded \ - --output-folder-path ${base_dir_a} \ - --target ${payment_addr_a} \ - --token "transfer/channel-0/tnam1qyvfwdkz8zgs9n3qn9xhp8scyf8crrxwuq26r6gy" \ - --amount 50 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${LEDGER_ADDR_A}) -memo_path=$(echo $resp | awk '{print $8}') - echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source ${SHIELDED_ALIAS_B_2} \ @@ -170,25 +167,30 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 50 \ --signing-keys relayer \ --channel-id channel-0 \ - --memo-path ${memo_path} \ --node ${LEDGER_ADDR_B} # wait for relaying -sleep 15 +sleep 40 echo "==== Balances of shielded_a on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} ${NAMADAC} --base-dir ${base_dir_a} balance \ --owner ${SHIELDED_ALIAS_A} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_A} echo "==== Balances of shielded_b on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} echo "==== Balance of shielded_b_2 on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B_2} \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} killall hermes diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index c8098d6702..93777093e0 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -19,8 +19,8 @@ NAMADAC="${NAMADA_DIR}/target/debug/namadac" NAMADAW="${NAMADA_DIR}/target/debug/namadaw" DATA_DIR="${HERMES_DIR}/data" -LEDGER_ADDR_A="127.0.0.1:27657" -LEDGER_ADDR_B="127.0.0.1:28657" +LEDGER_ADDR_A="http://127.0.0.1:27657" +LEDGER_ADDR_B="http://127.0.0.1:28657" INITIAL_BALANCE=5000 function init_relayer_balance() { @@ -114,15 +114,18 @@ echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_A} echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} # get token address received_token=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} \ | sed -e s/://g \ | awk '$1 ~ /transfer\/channel-0/ {print $1}') @@ -157,12 +160,14 @@ echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_A} echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --token ${received_token} \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} echo "==== Start Hermes ====" @@ -195,11 +200,13 @@ sleep 15 echo "==== Balances on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} balance \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_A} echo "==== Balances on chain B ====" ${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ + --show-ibc-tokens \ --node ${LEDGER_ADDR_B} killall hermes diff --git a/e2e/namada-stargaze-transfer b/e2e/namada-stargaze-transfer new file mode 100755 index 0000000000..ce96af7b3d --- /dev/null +++ b/e2e/namada-stargaze-transfer @@ -0,0 +1,253 @@ +#!/bin/bash + +# This script tests NFT transfers between a local Namada and Stargaze testnet +# Need to create an account and an NFT on Stargaze testnet. +# `make build` and `make build-wasm-scripts` on Namada directory, +# set up a local Namada with `scripts/setup-namada-single-node`, +# edit `config_namada_stargaze.toml` +# Then Run with `namada-stargaze-transfers ${namada_dir}` +# +# Set a key as "relayer" +# starsd keys add relayer --recover +# +# Add Stargaze key as a relayer +#cargo run -q --bin hermes -- --config config_namada_stargaze.toml \ +# keys add --chain ${STARGAZE_CHAIN_ID} --mnemonic-file /dev/stdin + +set -ex + + +NAMADA_DIR=$1 +if [ -z "${NAMADA_DIR}" ] +then + echo "ERROR: Namada directory should be given" + exit 1 +fi + +cd $(dirname $0) +HERMES_DIR=${PWD%/e2e*} + +# edit for your environment +NAMADA_CHAIN_ID="namada-test.eb0199f3257a844df8" +NAMADAC="${NAMADA_DIR}/target/debug/namadac" +NAMADAN="${NAMADA_DIR}/target/debug/namadan" +NAMADAW="${NAMADA_DIR}/target/debug/namadaw" +DATA_DIR="${HERMES_DIR}/data" +NAMADA_LEDGER_ADDR="http://127.0.0.1:27657" + +TOKEN_ID="5" + +CONFIG_FILE="${HERMES_DIR}/config_namada_stargaze.toml" + +STARGAZE_CHAIN_ID="elgafar-1" +ICS721_CONTRACT="stars1ve46fjrhcrum94c7d8yc2wsdz8cpuw73503e8qn9r44spr6dw0lsvmvtqh" +SG721_CONTRACT="stars1exh83tyv29g374yhs6cktwsd2sen50gjpuq2jhfn6p7e6nqsejfq2p0v7z" +STARGAZE_NODE="https://rpc.elgafar-1.stargaze-apis.com:443" +STARGAZE_PORT="wasm.${ICS721_CONTRACT}" + +TX_ARGS="--from relayer --node ${STARGAZE_NODE} --chain-id ${STARGAZE_CHAIN_ID} --gas auto --gas-prices 0.01ustars --gas-adjustment 1.1 -y" + +NAMADA_BASE="${DATA_DIR}/namada" +SHIELDED_ALIAS="shielded-1" +PAYMENT_ALIAS="payment-1" + +SHIELDED_ALIAS_2="shielded-2" +PAYMENT_ALIAS_2="payment-2" + +#### main #### +echo "==== Check the minted NFT on Stargaze ====" +starsd query wasm contract-state smart ${SG721_CONTRACT} \ + "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ + --node ${STARGAZE_NODE} + +# Create a channel +resp=$(cargo run --bin hermes -- --config ${CONFIG_FILE} \ + create channel \ + --a-chain ${NAMADA_CHAIN_ID} \ + --b-chain ${STARGAZE_CHAIN_ID} \ + --a-port nft-transfer \ + --b-port ${STARGAZE_PORT} \ + --channel-version ics721-1 \ + --new-client-connection --yes) + +namada_channel=$(echo "$resp" | grep "a_side" -A 19 | grep "channel-" | sed 's/"//g' | awk -F',' '{print $1}' | sed 's/ //g') +stargaze_channel=$(echo "$resp" | grep "b_side" -A 19 | grep "channel-" | sed 's/"//g' | awk -F',' '{print $1}' | sed 's/ //g') + +echo "==== Send the NFT from Stargaze to Namada ====" +current_height=$(starsd status --node ${STARGAZE_NODE} | jq .SyncInfo.latest_block_height | sed 's/"//g') +timeout_height=$((${current_height} + 100)) +namada_receiver=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias relayer | awk '/"relayer":/{print $3}') +msg="{\"receiver\": \"${namada_receiver}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}}" +encoded_msg=$(echo ${msg} | base64) +starsd tx wasm execute ${SG721_CONTRACT} \ + "{\"send_nft\": {\"contract\":\"${ICS721_CONTRACT}\", \"token_id\": \"${TOKEN_ID}\", \"msg\": \"${encoded_msg}\"}}" \ + ${TX_ARGS} + +sleep 5 + +echo "==== Packet relaying ====" +cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ + --chain ${STARGAZE_CHAIN_ID} \ + --port wasm.${ICS721_CONTRACT} \ + --channel ${stargaze_channel} + +echo "==== Check the escrowed NFT on Stargaze ====" +starsd query wasm contract-state smart ${SG721_CONTRACT} \ + "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ + --node ${STARGAZE_NODE} + +echo "==== Check the NFT on Namada ====" +token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Send back the NFT from Namada to Stargaze ====" +stargaze_receiver=$(starsd keys show relayer -a) +${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ + --source relayer \ + --receiver ${stargaze_receiver} \ + --token ${token}\ + --amount 1 \ + --signing-keys relayer \ + --channel-id ${namada_channel} \ + --port-id nft-transfer \ + --node ${NAMADA_LEDGER_ADDR} + +sleep 5 + +echo "==== Packet relaying ====" +cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ + --chain ${STARGAZE_CHAIN_ID} \ + --port wasm.${ICS721_CONTRACT} \ + --channel ${stargaze_channel} + +echo "==== Check the NFT on Stargaze ====" +starsd query wasm contract-state smart ${SG721_CONTRACT} \ + "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ + --node ${STARGAZE_NODE} + +echo "==== Check the NFT on Namada ====" +token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner relayer \ + --node ${NAMADA_LEDGER_ADDR} + + +echo "======== Try shielded transfer ========" + +# setup shielded keys for Namada +${NAMADAW} --base-dir ${NAMADA_BASE} gen --shielded --alias ${SHIELDED_ALIAS} \ + --unsafe-dont-encrypt --alias-force +${NAMADAW} --base-dir ${NAMADA_BASE} gen-payment-addr --alias ${PAYMENT_ALIAS} \ + --key ${SHIELDED_ALIAS} +payment_addr=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias ${PAYMENT_ALIAS} \ + | awk -v paymentAlias="${PAYMENT_ALIAS}" '{if($1 ~ paymentAlias) {print $2}}') + +# another one +${NAMADAW} --base-dir ${NAMADA_BASE} gen --shielded --alias ${SHIELDED_ALIAS_2} \ + --unsafe-dont-encrypt --alias-force +${NAMADAW} --base-dir ${NAMADA_BASE} gen-payment-addr --alias ${PAYMENT_ALIAS_2} \ + --key ${SHIELDED_ALIAS_2} +payment_addr_2=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias ${PAYMENT_ALIAS_2} \ + | awk -v paymentAlias="${PAYMENT_ALIAS_2}" '{if($1 ~ paymentAlias) {print $2}}') + +echo "==== Shielding transfer from Stargaze to Namada ====" +current_height=$(starsd status --node ${STARGAZE_NODE} | jq .SyncInfo.latest_block_height | sed 's/"//g') +timeout_height=$((${current_height} + 100)) +msg="{\"receiver\": \"${payment_addr}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}}" +encoded_msg=$(echo ${msg} | base64) +starsd tx wasm execute ${SG721_CONTRACT} \ + "{\"send_nft\": {\"contract\":\"${ICS721_CONTRACT}\", \"token_id\": \"${TOKEN_ID}\", \"msg\": \"${encoded_msg}\"}}" \ + ${TX_ARGS} + +sleep 5 + +echo "==== Packet relaying ====" +cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ + --chain ${STARGAZE_CHAIN_ID} \ + --port wasm.${ICS721_CONTRACT} \ + --channel ${stargaze_channel} + +echo "==== Check the escrowed NFT on Stargaze ====" +starsd query wasm contract-state smart ${SG721_CONTRACT} \ + "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ + --node ${STARGAZE_NODE} + +echo "==== Check the NFT on Namada ====" +${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS} \ + --node ${NAMADA_LEDGER_ADDR} +token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner ${SHIELDED_ALIAS} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Shielded transfer in Namada ====" +${NAMADAC} --base-dir ${NAMADA_BASE} transfer \ + --source ${SHIELDED_ALIAS} \ + --target ${PAYMENT_ALIAS_2} \ + --token ${token}\ + --amount 1 \ + --signing-keys relayer \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Check the shielded NFT on Namada ====" +echo "== shielded-1 balance ==" +${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS} ${SHIELDED_ALIAS_2}\ + --node ${NAMADA_LEDGER_ADDR} +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner ${SHIELDED_ALIAS} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "== shielded-2 balance ==" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner ${SHIELDED_ALIAS_2} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "==== Unshielding transfer from Namada to Stargaze ====" +${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ + --source ${SHIELDED_ALIAS_2} \ + --receiver ${stargaze_receiver} \ + --token ${token}\ + --amount 1 \ + --signing-keys relayer \ + --channel-id ${namada_channel} \ + --port-id nft-transfer \ + --node ${NAMADA_LEDGER_ADDR} + +sleep 5 + +echo "==== Packet relaying ====" +cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ + --chain ${STARGAZE_CHAIN_ID} \ + --port wasm.${ICS721_CONTRACT} \ + --channel ${stargaze_channel} + +echo "==== Check the shielded NFT on Stargaze ====" +starsd query wasm contract-state smart ${SG721_CONTRACT} \ + "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ + --node ${STARGAZE_NODE} + +echo "==== Check the NFT on Namada ====" +${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS} \ + --node ${NAMADA_LEDGER_ADDR} +token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" +echo "== shielded-1 balance ==" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner ${SHIELDED_ALIAS} \ + --node ${NAMADA_LEDGER_ADDR} + +echo "== shielded-2 balance ==" +${NAMADAC} --base-dir ${NAMADA_BASE} balance \ + --token ${token} \ + --owner ${SHIELDED_ALIAS_2} \ + --node ${NAMADA_LEDGER_ADDR} diff --git a/scripts/setup-namada b/scripts/setup-namada index bed96d11ad..313a568c72 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -27,8 +27,8 @@ BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" DATA_DIR="${HERMES_DIR}/data" -LEDGER_ADDR_A="127.0.0.1:27657" -LEDGER_ADDR_B="127.0.0.1:28657" +LEDGER_ADDR_A="http://127.0.0.1:27657" +LEDGER_ADDR_B="http://127.0.0.1:28657" HERMES_CONFIG_TEMPLATE=" [global] @@ -88,6 +88,8 @@ function make_genesis() { mkdir -p ${base_dir}/templates cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml + sed -i .bak "s/default_mint_limit = .*/default_mint_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml + sed -i .bak "s/default_per_epoch_throughput_limit = .*/default_per_epoch_throughput_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml mkdir ${base_dir}/pre-genesis cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 2a1e3e2ab3..50584771f2 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -23,7 +23,7 @@ BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" DATA_DIR="${HERMES_DIR}/data" -LEDGER_ADDR="127.0.0.1:27657" +LEDGER_ADDR="http://127.0.0.1:27657" HERMES_CONFIG_TEMPLATE=" [global] @@ -71,6 +71,8 @@ function make_genesis() { mkdir -p ${base_dir}/templates cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml + sed -i .bak "s/default_mint_limit = .*/default_mint_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml + sed -i .bak "s/default_per_epoch_throughput_limit = .*/default_per_epoch_throughput_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml mkdir ${base_dir}/pre-genesis cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis From 280a438e1c830d7e65d26bba8da58ecb819539da Mon Sep 17 00:00:00 2001 From: yito88 Date: Sat, 13 Apr 2024 01:02:28 +0200 Subject: [PATCH 031/103] fix config deserialization --- config.toml | 2 +- crates/relayer/src/config.rs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config.toml b/config.toml index f45e2289cf..71a276b073 100644 --- a/config.toml +++ b/config.toml @@ -154,7 +154,7 @@ port = 5555 # Specify the chain ID. Required id = 'ibc-0' -# Specify the chain type, currently only `CosmosSdk` is supported. +# Specify the chain type, currently `CosmosSdk` and `Namada` are supported. # Default: CosmosSdk type = "CosmosSdk" diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index 37099e73a7..8603b4a25d 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -743,6 +743,9 @@ impl<'de> Deserialize<'de> for ChainConfig { "CosmosSdk" => CosmosSdkConfig::deserialize(value) .map(Self::CosmosSdk) .map_err(|e| serde::de::Error::custom(format!("invalid CosmosSdk config: {e}"))), + "Namada" => CosmosSdkConfig::deserialize(value) + .map(Self::Namada) + .map_err(|e| serde::de::Error::custom(format!("invalid Namada config: {e}"))), // // <-- Add new chain types here --> From f8b755edad8f59e613948c1a33a580ec64e24215 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 17 Apr 2024 20:57:26 +0200 Subject: [PATCH 032/103] fix for Namada #3032 --- Cargo.lock | 6333 +++++++++++++++++----- crates/relayer/Cargo.toml | 12 +- crates/relayer/src/chain/namada/query.rs | 27 +- 3 files changed, 4861 insertions(+), 1511 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57fcfc6867..06e542ccd0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,16 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "abscissa_core" version = "0.6.0" @@ -18,12 +28,12 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver", + "semver 1.0.20", "serde", "termcolor", "toml 0.5.11", "tracing", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "wait-timeout", ] @@ -56,74 +66,158 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if 1.0.0", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] [[package]] -name = "anstream" -version = "0.6.13" +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "utf8parse", + "libc", ] [[package]] -name = "anstyle" -version = "1.0.6" +name = "anyhow" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] -name = "anstyle-parse" -version = "0.2.3" +name = "arc-swap" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "ark-bls12-381" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "65be532f9dd1e98ad0150b037276cde464c6f371059e6dd02c0222395761f6aa" dependencies = [ - "utf8parse", + "ark-ec", + "ark-ff", + "ark-std", ] [[package]] -name = "anstyle-query" -version = "1.0.2" +name = "ark-ec" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "dea978406c4b1ca13c2db2373b05cc55429c3575b8b21f1b9ee859aa5b03dd42" dependencies = [ - "windows-sys 0.52.0", + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "num-traits", + "zeroize", ] [[package]] -name = "anstyle-wincon" -version = "3.0.2" +name = "ark-ff" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" dependencies = [ - "anstyle", - "windows-sys 0.52.0", + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", ] [[package]] -name = "anyhow" -version = "1.0.82" +name = "ark-ff-asm" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] [[package]] -name = "arc-swap" -version = "1.7.1" +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std", + "digest 0.9.0", +] + +[[package]] +name = "ark-std" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] [[package]] name = "arrayref" @@ -156,37 +250,47 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "async-tungstenite" -version = "0.24.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3609af4bbf701ddaf1f6bb4e6257dff4ff8932327d0e685d3f653724c258b1ac" +checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc" dependencies = [ "futures-io", "futures-util", "log", "pin-project-lite", - "rustls-native-certs 0.7.0", - "rustls-pki-types", + "rustls-native-certs", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls", "tungstenite", ] +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.0", +] + [[package]] name = "atty" version = "0.2.14" @@ -198,11 +302,23 @@ dependencies = [ "winapi", ] +[[package]] +name = "auto_impl" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "autocfg" -version = "1.2.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" @@ -215,7 +331,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "itoa", @@ -245,7 +361,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "mime", "rustversion", @@ -255,13 +371,13 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", - "cfg-if", + "cfg-if 1.0.0", "libc", "miniz_oxide", "object", @@ -274,23 +390,35 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base58" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" + [[package]] name = "base64" -version = "0.21.7" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.22.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" + +[[package]] +name = "bech32" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "cf9ff0bbfd639f15c74af777d81383cf53efb7c93613f6cab67c6c11e05bbf8b" [[package]] name = "bech32" @@ -299,43 +427,71 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" [[package]] -name = "bech32" -version = "0.10.0-beta" +name = "bellman" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afceed28bac7f9f5a508bca8aeeff51cdfa4770c0b967ac55c621e2ddfd6171" +dependencies = [ + "bitvec", + "blake2s_simd", + "byteorder", + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" +dependencies = [ + "serde", +] + +[[package]] +name = "bip0039" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98f7eed2b2781a6f0b5c903471d48e15f56fb4e1165df8a9a2337fd1a59d45ea" +checksum = "bef0f0152ec5cf17f49a5866afaa3439816207fd4f0a224c0211ffaf5e278426" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.10.1", + "rand 0.8.5", + "sha2 0.10.8", + "unicode-normalization", + "zeroize", +] [[package]] name = "bitcoin" -version = "0.31.2" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c85783c2fe40083ea54a33aa2f0ba58831d90fcd190f5bdc47e74e84d2a96ae" +checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75" dependencies = [ - "bech32 0.10.0-beta", - "bitcoin-internals", + "bech32 0.9.1", + "bitcoin-private", "bitcoin_hashes", - "hex-conservative", "hex_lit", "secp256k1", "serde", ] [[package]] -name = "bitcoin-internals" -version = "0.2.0" +name = "bitcoin-private" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" -dependencies = [ - "serde", -] +checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" [[package]] name = "bitcoin_hashes" -version = "0.13.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" dependencies = [ - "bitcoin-internals", - "hex-conservative", + "bitcoin-private", "serde", ] @@ -350,1565 +506,3913 @@ name = "bitflags" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +dependencies = [ + "serde", +] [[package]] -name = "blake2" -version = "0.10.6" +name = "bitvec" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "digest 0.10.7", + "funty", + "radium", + "tap", + "wyz", ] [[package]] -name = "blake3" -version = "1.5.1" +name = "blake2b_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "cc", - "cfg-if", "constant_time_eq", ] [[package]] -name = "block-buffer" -version = "0.9.0" +name = "blake2s_simd" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ - "generic-array", + "arrayref", + "arrayvec", + "constant_time_eq", ] [[package]] name = "block-buffer" -version = "0.10.4" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "generic-array", + "block-padding", + "byte-tools", + "byteorder", + "generic-array 0.12.4", ] [[package]] -name = "bs58" -version = "0.5.1" +name = "block-buffer" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "tinyvec", + "generic-array 0.14.7", ] [[package]] -name = "bumpalo" -version = "3.16.0" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "byte-unit" -version = "4.0.19" +name = "block-padding" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" dependencies = [ - "serde", - "utf8-width", + "byte-tools", ] [[package]] -name = "byteorder" -version = "1.5.0" +name = "bls12_381" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" +dependencies = [ + "ff", + "group", + "pairing", + "rand_core 0.6.4", + "subtle 2.4.1", +] [[package]] -name = "bytes" -version = "1.6.0" +name = "borsh" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ - "serde", + "borsh-derive 0.10.3", + "hashbrown 0.12.3", ] [[package]] -name = "canonical-path" -version = "2.0.2" +name = "borsh" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" +checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" +dependencies = [ + "borsh-derive 1.2.1", + "cfg_aliases", +] [[package]] -name = "cc" -version = "1.0.95" +name = "borsh-derive" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal", + "borsh-schema-derive-internal", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] [[package]] -name = "cfg-if" -version = "1.0.0" +name = "borsh-derive" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" +dependencies = [ + "once_cell", + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.53", + "syn_derive", +] [[package]] -name = "clap" -version = "3.2.25" +name = "borsh-derive-internal" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive", - "clap_lex", - "indexmap 1.9.3", - "once_cell", - "strsim", - "termcolor", - "textwrap", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "clap_complete" -version = "3.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" +name = "borsh-ext" +version = "1.2.0" +source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ - "clap", + "borsh 1.2.1", ] [[package]] -name = "clap_derive" -version = "3.2.25" +name = "borsh-schema-derive-internal" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "heck", - "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "clap_lex" -version = "0.2.4" +name = "bs58" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" dependencies = [ - "os_str_bytes", + "sha2 0.10.8", + "tinyvec", ] [[package]] -name = "color-eyre" -version = "0.6.3" +name = "bumpalo" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] -name = "color-spantrace" -version = "0.2.1" +name = "byte-slice-cast" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] -name = "colorchoice" -version = "1.0.0" +name = "byte-tools" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] -name = "console" -version = "0.15.8" +name = "byte-unit" +version = "4.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.52.0", + "serde", + "utf8-width", ] [[package]] -name = "const-oid" -version = "0.9.6" +name = "bytecount" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7" [[package]] -name = "constant_time_eq" -version = "0.3.0" +name = "byteorder" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] -name = "contracts" -version = "0.6.3" +name = "bytes" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1d1429e3bd78171c65aa010eabcdf8f863ba3254728dbfb0ad4b1545beac15c" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "serde", ] [[package]] -name = "core-foundation" -version = "0.9.4" +name = "camino" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ - "core-foundation-sys", - "libc", + "serde", ] [[package]] -name = "core-foundation-sys" -version = "0.8.6" +name = "canonical-path" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] -name = "cpufeatures" -version = "0.2.12" +name = "cargo-platform" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ - "libc", + "serde", ] [[package]] -name = "crossbeam-channel" -version = "0.5.12" +name = "cargo_metadata" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ - "crossbeam-utils", + "camino", + "cargo-platform", + "semver 1.0.20", + "serde", + "serde_json", ] [[package]] -name = "crossbeam-epoch" -version = "0.9.18" +name = "cargo_metadata" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ - "crossbeam-utils", + "camino", + "cargo-platform", + "semver 1.0.20", + "serde", + "serde_json", + "thiserror", ] [[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[package]] -name = "crunchy" -version = "0.2.2" +name = "cbc" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] [[package]] -name = "crypto-bigint" -version = "0.5.5" +name = "cc" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", + "libc", ] [[package]] -name = "crypto-common" -version = "0.1.6" +name = "cfg-if" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" [[package]] -name = "curve25519-dalek" -version = "4.1.2" +name = "cfg-if" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", - "platforms", - "rustc_version", - "subtle", - "zeroize", -] +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "curve25519-dalek-derive" +name = "cfg_aliases" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", + "cfg-if 1.0.0", + "cipher", + "cpufeatures", ] [[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" +name = "chacha20poly1305" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core", - "subtle-ng", + "aead", + "chacha20", + "cipher", + "poly1305", "zeroize", ] [[package]] -name = "dashmap" -version = "5.5.3" +name = "chrono" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ - "cfg-if", - "hashbrown 0.14.3", - "lock_api", - "once_cell", - "parking_lot_core", + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets 0.48.5", ] [[package]] -name = "data-encoding" -version = "2.5.0" +name = "cipher" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] [[package]] -name = "der" -version = "0.7.9" +name = "circular-queue" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "1d34327ead1c743a10db339de35fb58957564b99d248a67985c55638b22c59b5" dependencies = [ - "const-oid", - "zeroize", + "version_check", ] [[package]] -name = "deranged" -version = "0.3.11" +name = "clap" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ - "powerfmt", + "atty", + "bitflags 1.3.2", + "clap_derive", + "clap_lex", + "indexmap 1.9.3", + "once_cell", + "strsim", + "termcolor", + "textwrap", ] [[package]] -name = "derivation-path" -version = "0.2.0" +name = "clap_complete" +version = "3.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" +dependencies = [ + "clap", +] [[package]] -name = "derive_more" -version = "0.99.17" +name = "clap_derive" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ + "heck", + "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", ] [[package]] -name = "dialoguer" -version = "0.11.0" +name = "clap_lex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ - "console", - "shell-words", - "tempfile", - "thiserror", - "zeroize", + "os_str_bytes", ] [[package]] -name = "digest" -version = "0.9.0" +name = "coins-bip32" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ - "generic-array", + "bs58", + "coins-core", + "digest 0.10.7", + "hmac 0.12.1", + "k256", + "serde", + "sha2 0.10.8", + "thiserror", ] [[package]] -name = "digest" -version = "0.10.7" +name = "coins-bip39" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" dependencies = [ - "block-buffer 0.10.4", - "const-oid", - "crypto-common", - "subtle", + "bitvec", + "coins-bip32", + "hmac 0.12.1", + "once_cell", + "pbkdf2 0.12.2", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", ] [[package]] -name = "dirs-next" -version = "2.0.0" +name = "coins-core" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ - "cfg-if", - "dirs-sys-next", + "base64 0.21.7", + "bech32 0.9.1", + "bs58", + "digest 0.10.7", + "generic-array 0.14.7", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2 0.10.8", + "sha3", + "thiserror", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "color-eyre" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" dependencies = [ - "libc", - "redox_users", - "winapi", + "backtrace", + "color-spantrace", + "eyre", + "indenter", + "once_cell", + "owo-colors", + "tracing-error", ] [[package]] -name = "ecdsa" -version = "0.16.9" +name = "color-spantrace" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", + "once_cell", + "owo-colors", + "tracing-core", + "tracing-error", ] [[package]] -name = "ed25519" -version = "2.2.3" +name = "console" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ - "pkcs8", - "serde", - "signature", + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", ] [[package]] -name = "ed25519-consensus" -version = "2.1.0" +name = "const-hex" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ - "curve25519-dalek-ng", + "cfg-if 1.0.0", + "cpufeatures", "hex", - "rand_core", - "sha2 0.9.9", - "zeroize", + "proptest", + "serde", ] [[package]] -name = "ed25519-dalek" -version = "2.1.1" +name = "const-oid" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core", - "serde", - "sha2 0.10.8", - "subtle", - "zeroize", -] +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] -name = "ed25519-dalek-bip32" +name = "const_panic" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" + +[[package]] +name = "constant_time_eq" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac", - "sha2 0.10.8", -] +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] -name = "either" -version = "1.11.0" +name = "contracts" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "f1d1429e3bd78171c65aa010eabcdf8f863ba3254728dbfb0ad4b1545beac15c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "elliptic-curve" -version = "0.13.8" +name = "core-foundation" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", + "core-foundation-sys", + "libc", ] [[package]] -name = "encode_unicode" -version = "0.3.6" +name = "core-foundation-sys" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] -name = "encoding_rs" -version = "0.8.34" +name = "cpufeatures" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ - "cfg-if", + "libc", ] [[package]] -name = "env_filter" -version = "0.1.0" +name = "crossbeam-channel" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" dependencies = [ - "log", - "regex", + "crossbeam-utils 0.7.2", + "maybe-uninit", ] [[package]] -name = "env_logger" -version = "0.11.3" +name = "crossbeam-channel" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "crossbeam-epoch" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", + "memoffset", + "scopeguard", +] [[package]] -name = "errno" -version = "0.3.8" +name = "crossbeam-utils" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ - "libc", - "windows-sys 0.52.0", + "autocfg", + "cfg-if 0.1.10", + "lazy_static", ] [[package]] -name = "eyre" -version = "0.6.12" +name = "crossbeam-utils" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ - "indenter", - "once_cell", + "cfg-if 1.0.0", ] [[package]] -name = "fastrand" -version = "2.0.2" +name = "crunchy" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] -name = "ff" -version = "0.13.0" +name = "crypto-bigint" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ - "rand_core", - "subtle", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "fiat-crypto" -version = "0.2.7" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array 0.14.7", + "typenum", +] [[package]] -name = "fixed-hash" -version = "0.8.0" +name = "crypto-mac" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "static_assertions", + "generic-array 0.12.4", + "subtle 1.0.0", ] [[package]] -name = "flex-error" -version = "0.4.4" +name = "crypto-mac" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "eyre", - "paste", + "generic-array 0.14.7", + "subtle 2.4.1", ] [[package]] -name = "fnv" -version = "1.0.7" +name = "ct-codecs" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" [[package]] -name = "form_urlencoded" -version = "1.2.1" +name = "ctr" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "percent-encoding", + "cipher", ] [[package]] -name = "fs-err" -version = "2.11.0" +name = "curve25519-dalek" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ - "autocfg", + "cfg-if 1.0.0", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "platforms", + "rustc_version 0.4.0", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "futures" -version = "0.3.30" +name = "curve25519-dalek-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "proc-macro2", + "quote", + "syn 2.0.53", ] [[package]] -name = "futures-channel" -version = "0.3.30" +name = "curve25519-dalek-ng" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ - "futures-core", - "futures-sink", + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle-ng", + "zeroize", ] [[package]] -name = "futures-core" -version = "0.3.30" +name = "dashmap" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if 1.0.0", + "hashbrown 0.14.1", + "lock_api", + "once_cell", + "parking_lot_core", +] [[package]] -name = "futures-executor" -version = "0.3.30" +name = "data-encoding" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] -name = "futures-io" -version = "0.3.30" +name = "der" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] [[package]] -name = "futures-macro" -version = "0.3.30" +name = "deranged" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", + "powerfmt", ] [[package]] -name = "futures-sink" -version = "0.3.30" +name = "derivation-path" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" [[package]] -name = "futures-task" -version = "0.3.30" +name = "derivative" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "futures-util" -version = "0.3.30" +name = "derive_more" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "dialoguer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" dependencies = [ - "typenum", - "version_check", + "console", + "shell-words", + "tempfile", "zeroize", ] [[package]] -name = "getrandom" -version = "0.2.14" +name = "digest" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", + "generic-array 0.12.4", ] [[package]] -name = "gimli" -version = "0.28.1" +name = "digest" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.7", +] [[package]] -name = "group" -version = "0.13.0" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "ff", - "rand_core", - "subtle", + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle 2.4.1", ] [[package]] -name = "gumdrop" -version = "0.8.1" +name = "directories" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" +checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "gumdrop_derive", + "dirs-sys", ] [[package]] -name = "gumdrop_derive" -version = "0.8.1" +name = "dirs-next" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "cfg-if 1.0.0", + "dirs-sys-next", ] [[package]] -name = "h2" -version = "0.3.26" +name = "dirs-sys" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", + "libc", + "redox_users", + "winapi", ] [[package]] -name = "half" -version = "1.8.3" +name = "dirs-sys-next" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "displaydoc" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] [[package]] -name = "hashbrown" -version = "0.14.3" +name = "dunce" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] -name = "hdpath" -version = "0.6.3" +name = "dyn-clone" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa5bc9db2c17d2660f53ce217b778d06d68de13d1cd01c0f4e5de4b7918935f" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "ecdsa" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ - "byteorder", + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "serdect", + "signature", + "spki", ] [[package]] -name = "heck" -version = "0.4.1" +name = "ed25519" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "serde", + "signature", +] [[package]] -name = "hermit-abi" -version = "0.1.19" +name = "ed25519-consensus" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +checksum = "758e2a0cd8a6cdf483e1d369e7d081647e00b88d8953e34d8f2cbba05ae28368" dependencies = [ - "libc", + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", + "serde", + "sha2 0.9.9", + "thiserror", + "zeroize", ] [[package]] -name = "hermit-abi" -version = "0.3.9" +name = "ed25519-consensus" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core 0.6.4", + "sha2 0.9.9", + "zeroize", +] [[package]] -name = "hex" -version = "0.4.3" +name = "ed25519-dalek" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2 0.10.8", + "zeroize", +] [[package]] -name = "hex-conservative" -version = "0.1.1" +name = "ed25519-dalek-bip32" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" +checksum = "6b49a684b133c4980d7ee783936af771516011c8cd15f429dbda77245e282f03" +dependencies = [ + "derivation-path", + "ed25519-dalek", + "hmac 0.12.1", + "sha2 0.10.8", +] [[package]] -name = "hex_lit" -version = "0.1.1" +name = "either" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] -name = "hmac" -version = "0.12.1" +name = "elliptic-curve" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ + "base16ct", + "crypto-bigint", "digest 0.10.7", + "ff", + "generic-array 0.14.7", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "serdect", + "subtle 2.4.1", + "zeroize", ] [[package]] -name = "http" -version = "0.2.12" +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ - "bytes", - "fnv", - "itoa", + "cfg-if 1.0.0", ] [[package]] -name = "http" -version = "1.1.0" +name = "enr" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" dependencies = [ + "base64 0.21.7", "bytes", - "fnv", - "itoa", + "hex", + "k256", + "log", + "rand 0.8.5", + "rlp", + "serde", + "sha3", + "zeroize", ] [[package]] -name = "http-body" -version = "0.4.6" +name = "env_logger" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", ] [[package]] -name = "httparse" -version = "1.8.0" +name = "equivalent" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "httpdate" -version = "1.0.3" +name = "errno" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] [[package]] -name = "humantime" -version = "2.1.0" +name = "error-chain" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] [[package]] -name = "humantime-serde" -version = "1.1.1" +name = "eth-keystore" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ - "humantime", + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "rand 0.8.5", + "scrypt", "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "thiserror", + "uuid 0.8.2", ] [[package]] -name = "hyper" -version = "0.14.28" +name = "ethabi" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", ] [[package]] -name = "hyper-rustls" -version = "0.24.2" +name = "ethbloom" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ - "futures-util", - "http 0.2.12", - "hyper", - "rustls 0.21.11", - "tokio", - "tokio-rustls 0.24.1", + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", ] [[package]] -name = "hyper-timeout" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +name = "ethbridge-bridge-contract" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" dependencies = [ - "hyper", - "pin-project-lite", - "tokio", - "tokio-io-timeout", + "ethbridge-bridge-events", + "ethbridge-structs", + "ethers", + "ethers-contract", ] [[package]] -name = "ibc-chain-registry" -version = "0.27.2" +name = "ethbridge-bridge-events" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" dependencies = [ - "async-trait", - "flex-error", - "futures", - "http 0.2.12", - "ibc-proto", - "ibc-relayer-types", - "itertools", - "reqwest", - "serde", - "serde_json", - "tendermint-rpc", - "tokio", - "tracing", + "ethabi", + "ethbridge-structs", + "ethers", + "ethers-contract", ] [[package]] -name = "ibc-integration-test" -version = "0.27.2" +name = "ethbridge-structs" +version = "0.24.0" +source = "git+https://github.com/heliaxdev/ethbridge-rs?tag=v0.24.0#d66708bb8a734111988b9eaf08c7473bd7020c00" dependencies = [ - "byte-unit", - "http 0.2.12", - "ibc-relayer", - "ibc-relayer-types", - "ibc-test-framework", - "prost", - "serde", - "serde_json", - "tempfile", - "tendermint", - "tendermint-rpc", - "time", - "toml 0.8.12", - "tonic", + "ethabi", + "ethers", + "ethers-contract", ] [[package]] -name = "ibc-proto" -version = "0.44.0" +name = "ethereum-types" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66080040d5a4800d52966d55b055400f86b79c34b854b935bef03c87aacda62a" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ - "base64 0.22.0", - "bytes", - "flex-error", - "ics23", - "informalsystems-pbjson", - "prost", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", ] [[package]] -name = "ibc-relayer" -version = "0.27.2" +name = "ethers" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" dependencies = [ - "anyhow", - "async-stream", - "bech32 0.9.1", - "bitcoin", - "bs58", - "byte-unit", - "bytes", - "crossbeam-channel", - "digest 0.10.7", - "dirs-next", - "ed25519", - "ed25519-dalek", - "ed25519-dalek-bip32", - "env_logger", - "flex-error", - "futures", - "generic-array", - "hdpath", - "hex", - "http 0.2.12", - "humantime", - "humantime-serde", - "ibc-proto", - "ibc-relayer-types", - "ibc-telemetry", - "itertools", - "moka", - "num-bigint", - "num-rational", + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" +dependencies = [ + "ethers-core", "once_cell", - "prost", - "regex", - "reqwest", - "retry", - "ripemd", - "secp256k1", - "semver", "serde", - "serde_derive", "serde_json", - "serial_test", - "sha2 0.10.8", - "signature", - "strum", - "subtle-encoding", - "tendermint", - "tendermint-light-client", - "tendermint-light-client-detector", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "test-log", +] + +[[package]] +name = "ethers-contract" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", "thiserror", - "tiny-bip39", - "tiny-keccak", - "tokio", - "tokio-stream", - "toml 0.8.12", - "tonic", - "tracing", - "tracing-subscriber", - "uuid", ] [[package]] -name = "ibc-relayer-cli" -version = "1.8.2" +name = "ethers-contract-abigen" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" dependencies = [ - "abscissa_core", - "clap", - "clap_complete", - "color-eyre", - "console", - "crossbeam-channel", - "dialoguer", - "dirs-next", + "Inflector", + "const-hex", + "dunce", + "ethers-core", "eyre", - "flex-error", - "futures", - "hdpath", - "http 0.2.12", - "humantime", - "ibc-chain-registry", - "ibc-relayer", - "ibc-relayer-rest", - "ibc-relayer-types", - "ibc-telemetry", - "itertools", - "once_cell", - "oneline-eyre", + "prettyplease 0.2.15", + "proc-macro2", + "quote", "regex", "serde", "serde_json", - "serial_test", - "signal-hook", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-rpc", - "time", - "tokio", - "tracing", - "tracing-subscriber", + "syn 2.0.53", + "toml 0.7.8", + "walkdir", ] [[package]] -name = "ibc-relayer-rest" -version = "0.27.2" +name = "ethers-contract-derive" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" dependencies = [ - "axum", - "crossbeam-channel", - "ibc-relayer", - "ibc-relayer-types", - "reqwest", - "serde", - "tokio", - "toml 0.8.12", - "tracing", + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.53", ] [[package]] -name = "ibc-relayer-types" -version = "0.27.2" +name = "ethers-core" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" dependencies = [ + "arrayvec", "bytes", - "derive_more", - "env_logger", - "flex-error", - "ibc-proto", - "ics23", - "itertools", - "num-rational", - "primitive-types", - "prost", - "regex", + "cargo_metadata 0.17.0", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array 0.14.7", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand 0.8.5", + "rlp", "serde", - "serde_derive", "serde_json", - "subtle-encoding", - "tendermint", - "tendermint-light-client-verifier", - "tendermint-proto", - "tendermint-rpc", - "tendermint-testgen", - "test-log", - "time", - "tracing", - "tracing-subscriber", - "uint", + "strum", + "syn 2.0.53", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", ] [[package]] -name = "ibc-telemetry" -version = "0.27.2" +name = "ethers-etherscan" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" dependencies = [ - "axum", - "dashmap", - "ibc-relayer-types", - "moka", - "once_cell", - "opentelemetry", - "opentelemetry-prometheus", - "prometheus", + "ethers-core", + "reqwest", + "semver 1.0.20", "serde", "serde_json", - "tendermint", - "tokio", + "thiserror", "tracing", ] [[package]] -name = "ibc-test-framework" -version = "0.27.2" +name = "ethers-middleware" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" dependencies = [ - "color-eyre", - "crossbeam-channel", - "eyre", - "flex-error", - "hdpath", - "hex", - "http 0.2.12", - "ibc-proto", - "ibc-relayer", - "ibc-relayer-cli", - "ibc-relayer-types", - "itertools", - "once_cell", - "prost", - "rand", - "semver", + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest", "serde", "serde_json", - "serde_yaml", - "sha2 0.10.8", - "subtle-encoding", - "tendermint-rpc", + "thiserror", "tokio", - "toml 0.8.12", - "tonic", "tracing", - "tracing-subscriber", + "tracing-futures", + "url", ] [[package]] -name = "ics23" -version = "0.11.1" +name = "ethers-providers" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc3b8be84e7285c73b88effdc3294b552277d6b0ec728ee016c861b7b9a2c19c" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" dependencies = [ - "anyhow", - "blake2", - "blake3", + "async-trait", + "auto_impl", + "base64 0.21.7", "bytes", - "hex", - "informalsystems-pbjson", - "prost", - "ripemd", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http 0.2.9", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest", "serde", - "sha2 0.10.8", - "sha3", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", ] [[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" +name = "ethers-signers" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror", + "tracing", ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "eyre" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" dependencies = [ - "serde", + "indenter", + "once_cell", ] [[package]] -name = "indenter" -version = "0.3.3" +name = "fake-simd" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" [[package]] -name = "indexmap" -version = "1.9.3" +name = "fastrand" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] -name = "indexmap" -version = "2.2.6" +name = "fd-lock" +version = "3.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ - "equivalent", - "hashbrown 0.14.3", + "cfg-if 1.0.0", + "rustix", + "windows-sys 0.48.0", ] [[package]] -name = "informalsystems-pbjson" -version = "0.7.0" +name = "ff" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa4a0980c8379295100d70854354e78df2ee1c6ca0f96ffe89afeb3140e3a3d" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "base64 0.21.7", - "serde", + "bitvec", + "rand_core 0.6.4", + "subtle 2.4.1", ] [[package]] -name = "ipnet" -version = "2.9.0" +name = "fiat-crypto" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" [[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "either", + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", ] [[package]] -name = "itoa" -version = "1.0.11" +name = "fixedbitset" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] -name = "js-sys" -version = "0.3.69" +name = "flex-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" +dependencies = [ + "anyhow", + "eyre", + "paste", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fpe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c4b37de5ae15812a764c958297cfc50f5c010438f60c6ce75d11b802abd404" +dependencies = [ + "cbc", + "cipher", + "libm", + "num-bigint 0.4.4", + "num-integer", + "num-traits", +] + +[[package]] +name = "fs-err" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +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" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] -name = "k256" -version = "0.13.3" +name = "getrandom" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "sha2 0.10.8", + "cfg-if 1.0.0", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "memuse", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "gumdrop" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bc700f989d2f6f0248546222d9b4258f5b02a171a431f8285a81c08142629e3" +dependencies = [ + "gumdrop_derive", +] + +[[package]] +name = "gumdrop_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729f9bd3449d77e7831a18abfb7ba2f99ee813dfd15b8c2167c9a54ba20aa99d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.9", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "hdpath" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa5bc9db2c17d2660f53ce217b778d06d68de13d1cd01c0f4e5de4b7918935f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hex_lit" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" + +[[package]] +name = "hmac" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" +dependencies = [ + "crypto-mac 0.7.0", + "digest 0.8.1", +] + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac 0.8.0", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + +[[package]] +name = "hmac-sha512" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" + +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http 0.2.9", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.9", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +dependencies = [ + "futures-util", + "http 0.2.9", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[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.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ibc" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8057203ab04368297a31ecd5d059bec7108c069d636bcfc9ab20e82d89b480b8" +dependencies = [ + "ibc-apps", + "ibc-clients", + "ibc-core", + "ibc-core-host-cosmos", + "ibc-derive", + "ibc-primitives", +] + +[[package]] +name = "ibc-app-nft-transfer" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e931737b69129ae417598fe29eace3e41a9ce32b8649abe3937495973e5843f" +dependencies = [ + "ibc-app-nft-transfer-types", + "ibc-core", + "serde-json-wasm", +] + +[[package]] +name = "ibc-app-nft-transfer-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2019d3a6adf6b333c55630f52ca71ad8f61702ca1cf291aaf5ee40b7c6c27ba2" +dependencies = [ + "base64 0.21.7", + "borsh 0.10.3", + "derive_more", + "displaydoc", + "http 1.1.0", + "ibc-core", + "ibc-proto 0.41.0", + "mime", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "serde-json-wasm", +] + +[[package]] +name = "ibc-app-transfer" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2595e4cc14828a4141a28b86777040d8bfbabea43838a425137202cff0ee6329" +dependencies = [ + "ibc-app-transfer-types", + "ibc-core", + "serde-json-wasm", +] + +[[package]] +name = "ibc-app-transfer-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0106c87ddcc619a6a5eac05da2b77287e3958f89dddf951daf9a2dfc470cb5f4" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core", + "ibc-proto 0.41.0", + "primitive-types", + "serde", + "uint", +] + +[[package]] +name = "ibc-apps" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5738d8c842abce233f41d3be825d01e6ee075251b509c6947d05c75477eaeec" +dependencies = [ + "ibc-app-nft-transfer", + "ibc-app-transfer", +] + +[[package]] +name = "ibc-chain-registry" +version = "0.26.4" +dependencies = [ + "async-trait", + "flex-error", + "futures", + "http 0.2.9", + "ibc-proto 0.39.0", + "ibc-relayer-types", + "itertools 0.10.5", + "reqwest", + "serde", + "serde_json", + "tendermint-rpc", + "tokio", + "tracing", +] + +[[package]] +name = "ibc-client-tendermint" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81ef4eefb4fd88167335fee4d212b1ff2fa4dd4e4ce87a58bda1798be1d128ac" +dependencies = [ + "ibc-client-tendermint-types", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", + "serde", + "tendermint", + "tendermint-light-client-verifier", +] + +[[package]] +name = "ibc-client-tendermint-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91a224a98b193810e1ef86316e9a08e677eeff6f98b22b9eb9806bd993d3753a" +dependencies = [ + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "serde", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", +] + +[[package]] +name = "ibc-client-wasm-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e1ea3be7ae201c99b6589c112a253f2fb3c9ae7322d8937a7303d1fbfe76d27" +dependencies = [ + "base64 0.21.7", + "displaydoc", + "ibc-core-client", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "serde", +] + +[[package]] +name = "ibc-clients" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84fef481dd1ebe5ef69ee8e095c225cb3e51cd3895096ba2884b3f5b827a6ed6" +dependencies = [ + "ibc-client-tendermint", + "ibc-client-wasm-types", +] + +[[package]] +name = "ibc-core" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aedd421bae80115f44b198bec9af45f234e1c8ff81ee9d5e7f60444d526d2b6" +dependencies = [ + "ibc-core-channel", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler", + "ibc-core-host", + "ibc-core-router", + "ibc-derive", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-channel" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "535048a8fe64101263e35a6a4503474811e379a115db72ee449df882b0f11b45" +dependencies = [ + "ibc-core-channel-types", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-core-router", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-channel-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d97396ccb1840f4ea6021bbf049a4a7e30a8f5b126f00023ec44b2a48d4dabc" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-client" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15bcf0c59eaa935fa410497a56862f28c4df68317ea556724f0d0764b6c0307e" +dependencies = [ + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-client-context" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d37d88be3dc7fd82d45418c257d826244a6b29b7902c76cf9e68fd61f1e9173" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-primitives", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-client-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb717b1296e6cda0990346ba5203fadd043d5159d7d7173b3765f72f263c29db" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-commitment-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a10ff34bf57bf4bc668b55208dbfdf312d7907adc6a0e39da2377883f12efada" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-primitives", + "ibc-proto 0.41.0", + "ics23", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-connection" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de7f4f1e78e9ed5a63b09b1405f42713f3d076ba5e7889ec31a520cad4970344" +dependencies = [ + "ibc-core-client", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-connection-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230d7f547e121147d136c563ae71707a9e3477a9bc1bc6c1dc29051e1408a381" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-handler" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c60a2d072d8f7d8d64503bbf3fb69ffcd973b92667af053617a36682fadddea5" +dependencies = [ + "ibc-core-channel", + "ibc-core-client", + "ibc-core-commitment-types", + "ibc-core-connection", + "ibc-core-handler-types", + "ibc-core-host", + "ibc-core-router", + "ibc-primitives", +] + +[[package]] +name = "ibc-core-handler-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fae38340bffa42a74563a12703c994515cca4bab755a0c83089c18c3c1e481a" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-host-types", + "ibc-core-router-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-host" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abaa0e2143855d12c19e814dab72a5e28daf5e31780afb1302e983614b248668" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-primitives", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-host-cosmos" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3c792be21a340e42344e5bede1695c2d21d62abcc21bbfc7662b5950ffe8d4" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-app-transfer-types", + "ibc-client-tendermint", + "ibc-core-client-context", + "ibc-core-client-types", + "ibc-core-commitment-types", + "ibc-core-connection-types", + "ibc-core-handler-types", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "serde", + "sha2 0.10.8", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-core-host-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c25ce3082e036836d60aea3cc24f46dfb248d7718516a9a48e1feb466ce10c1" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-primitives", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", +] + +[[package]] +name = "ibc-core-router" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c261fb7e9a7de7daafb6a38cb9abdce6e912230e30246eb2ef1bb5db32ba10f" +dependencies = [ + "derive_more", + "displaydoc", + "ibc-core-channel-types", + "ibc-core-host-types", + "ibc-core-router-types", + "ibc-primitives", + "subtle-encoding", +] + +[[package]] +name = "ibc-core-router-types" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f3b37bc4c11fdc60a328488f4be205106666edda20a4080484d599a8b0978d2" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-core-host-types", + "ibc-primitives", + "ibc-proto 0.41.0", + "parity-scale-codec", + "scale-info", + "schemars", + "serde", + "subtle-encoding", + "tendermint", +] + +[[package]] +name = "ibc-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3de1e69ff9d7d6094b720a36bb26fc8078b5e1b0e216e2d0a92f602e6dc8016e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + +[[package]] +name = "ibc-integration-test" +version = "0.26.4" +dependencies = [ + "http 0.2.9", + "ibc-relayer", + "ibc-relayer-types", + "ibc-test-framework", + "prost 0.12.3", + "serde", + "serde_json", + "tempfile", + "tendermint", + "tendermint-rpc", + "time", + "toml 0.7.8", + "tonic", +] + +[[package]] +name = "ibc-primitives" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af5524046e645bdfbd96ef932c8ceab6bb2391dc31dee626e274d13e7ac25ec2" +dependencies = [ + "borsh 0.10.3", + "derive_more", + "displaydoc", + "ibc-proto 0.41.0", + "parity-scale-codec", + "prost 0.12.3", + "scale-info", + "schemars", + "serde", + "tendermint", + "time", +] + +[[package]] +name = "ibc-proto" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b5aca9ca863246a2b358e0a1845759780860673e54c0a76335faccc504981c" +dependencies = [ + "base64 0.21.7", + "bytes", + "flex-error", + "ics23", + "prost 0.12.3", + "serde", + "subtle-encoding", + "tendermint-proto", + "tonic", +] + +[[package]] +name = "ibc-proto" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4ee32b22d3b06f31529b956f4928e5c9a068d71e46cf6abfa19c31ca550553" +dependencies = [ + "base64 0.21.7", + "borsh 0.10.3", + "bytes", + "flex-error", + "ics23", + "informalsystems-pbjson 0.7.0", + "parity-scale-codec", + "prost 0.12.3", + "scale-info", + "schemars", + "serde", + "subtle-encoding", + "tendermint-proto", +] + +[[package]] +name = "ibc-relayer" +version = "0.26.4" +dependencies = [ + "anyhow", + "async-stream", + "bech32 0.9.1", + "bitcoin", + "bs58", + "byte-unit", + "bytes", + "crossbeam-channel 0.5.8", + "digest 0.10.7", + "dirs-next", + "ed25519", + "ed25519-dalek", + "ed25519-dalek-bip32", + "env_logger", + "flex-error", + "futures", + "generic-array 0.14.7", + "hdpath", + "hex", + "http 0.2.9", + "humantime", + "humantime-serde", + "ibc-proto 0.39.0", + "ibc-relayer-types", + "ibc-telemetry", + "itertools 0.10.5", + "moka", + "namada_ibc", + "namada_parameters", + "namada_sdk", + "namada_trans_token", + "num-bigint 0.4.4", + "num-rational 0.4.1", + "once_cell", + "prost 0.12.3", + "regex", + "retry", + "ripemd", + "rpassword", + "secp256k1", + "semver 1.0.20", + "serde", + "serde_derive", + "serde_json", + "serial_test", + "sha2 0.10.8", + "signature", + "strum", + "subtle-encoding", + "tendermint", + "tendermint-config", + "tendermint-light-client", + "tendermint-light-client-detector", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", + "tendermint-testgen", + "test-log", + "thiserror", + "tiny-bip39 1.0.0", + "tiny-keccak", + "tokio", + "tokio-stream", + "toml 0.7.8", + "tonic", + "tracing", + "tracing-subscriber", + "uuid 1.5.0", +] + +[[package]] +name = "ibc-relayer-cli" +version = "1.7.4" +dependencies = [ + "abscissa_core", + "clap", + "clap_complete", + "color-eyre", + "console", + "crossbeam-channel 0.5.8", + "dialoguer", + "dirs-next", + "eyre", + "flex-error", + "futures", + "hdpath", + "http 0.2.9", + "humantime", + "ibc-chain-registry", + "ibc-relayer", + "ibc-relayer-rest", + "ibc-relayer-types", + "ibc-telemetry", + "itertools 0.10.5", + "once_cell", + "oneline-eyre", + "regex", + "serde", + "serde_json", + "serial_test", + "signal-hook", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-rpc", + "time", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ibc-relayer-rest" +version = "0.26.4" +dependencies = [ + "axum", + "crossbeam-channel 0.5.8", + "ibc-relayer", + "ibc-relayer-types", + "reqwest", + "serde", + "serde_json", + "tokio", + "toml 0.7.8", + "tracing", +] + +[[package]] +name = "ibc-relayer-types" +version = "0.26.4" +dependencies = [ + "bytes", + "derive_more", + "env_logger", + "flex-error", + "ibc-proto 0.39.0", + "ics23", + "itertools 0.10.5", + "num-rational 0.4.1", + "primitive-types", + "prost 0.12.3", + "regex", + "serde", + "serde_derive", + "serde_json", + "subtle-encoding", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", + "tendermint-testgen", + "test-log", + "time", + "tracing", + "tracing-subscriber", + "uint", +] + +[[package]] +name = "ibc-telemetry" +version = "0.26.4" +dependencies = [ + "axum", + "dashmap", + "ibc-relayer-types", + "moka", + "once_cell", + "opentelemetry", + "opentelemetry-prometheus", + "prometheus", + "serde", + "serde_json", + "tendermint", + "tokio", + "tracing", +] + +[[package]] +name = "ibc-test-framework" +version = "0.26.4" +dependencies = [ + "color-eyre", + "crossbeam-channel 0.5.8", + "eyre", + "flex-error", + "hdpath", + "hex", + "http 0.2.9", + "ibc-proto 0.39.0", + "ibc-relayer", + "ibc-relayer-cli", + "ibc-relayer-types", + "itertools 0.10.5", + "once_cell", + "prost 0.12.3", + "rand 0.8.5", + "semver 1.0.20", + "serde", + "serde_json", + "serde_yaml", + "sha2 0.10.8", + "subtle-encoding", + "tendermint-rpc", + "tokio", + "toml 0.7.8", + "tonic", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "ics23" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "661e2d6f79952a65bc92b1c81f639ebd37228dae6ff412a5aba7d474bdc4b957" +dependencies = [ + "anyhow", + "bytes", + "hex", + "informalsystems-pbjson 0.6.0", + "prost 0.12.3", + "ripemd", + "serde", + "sha2 0.10.8", + "sha3", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "incrementalmerkletree" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5ad43a3f5795945459d577f6589cf62a476e92c79b75e70cd954364e14ce17b" +dependencies = [ + "serde", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "index-set" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" +dependencies = [ + "borsh 1.2.1", + "serde", +] + +[[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", +] + +[[package]] +name = "indexmap" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" +dependencies = [ + "equivalent", + "hashbrown 0.14.1", +] + +[[package]] +name = "indexmap" +version = "2.2.4" +source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547bd6ab04bbb16e060326a50ddaeb6c909" +dependencies = [ + "borsh 1.2.1", + "equivalent", + "hashbrown 0.14.1", + "serde", +] + +[[package]] +name = "informalsystems-pbjson" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4eecd90f87bea412eac91c6ef94f6b1e390128290898cbe14f2b926787ae1fb" +dependencies = [ + "base64 0.13.1", + "serde", +] + +[[package]] +name = "informalsystems-pbjson" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa4a0980c8379295100d70854354e78df2ee1c6ca0f96ffe89afeb3140e3a3d" +dependencies = [ + "base64 0.21.7", + "serde", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.7", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if 1.0.0", +] + +[[package]] +name = "integer-sqrt" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi 0.3.3", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "jubjub" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8499f7a74008aafbecb2a2e608a3e13e4dd3e84df198b604451efe93f2de6e61" +dependencies = [ + "bitvec", + "bls12_381", + "ff", + "group", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[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", + "elliptic-curve", + "once_cell", + "serdect", + "sha2 0.10.8", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "konst" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d712a8c49d4274f8d8a5cf61368cb5f3c143d149882b1a2918129e53395fdb0" +dependencies = [ + "const_panic", + "konst_kernel", + "typewit", +] + +[[package]] +name = "konst_kernel" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac6ea8c376b6e208a81cf39b8e82bebf49652454d98a4829e907dac16ef1790" +dependencies = [ + "typewit", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.1", + "typenum", +] + +[[package]] +name = "linkme" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" +dependencies = [ + "linkme-impl", +] + +[[package]] +name = "linkme-impl" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "mach2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +dependencies = [ + "libc", +] + +[[package]] +name = "masp_note_encryption" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +dependencies = [ + "borsh 1.2.1", + "chacha20", + "chacha20poly1305", + "cipher", + "rand_core 0.6.4", + "subtle 2.4.1", +] + +[[package]] +name = "masp_primitives" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +dependencies = [ + "aes", + "bip0039", + "bitvec", + "blake2b_simd", + "blake2s_simd", + "bls12_381", + "borsh 1.2.1", + "byteorder", + "ff", + "fpe", + "group", + "hex", + "incrementalmerkletree", + "jubjub", + "lazy_static", + "masp_note_encryption", + "memuse", + "nonempty", + "num-traits", + "rand 0.8.5", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle 2.4.1", + "zcash_encoding", +] + +[[package]] +name = "masp_proofs" +version = "1.0.0" +source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +dependencies = [ + "bellman", + "blake2b_simd", + "bls12_381", + "directories", + "getrandom 0.2.10", + "group", + "itertools 0.11.0", + "jubjub", + "lazy_static", + "masp_primitives", + "minreq", + "rand_core 0.6.4", + "redjubjub", + "tracing", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memuse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" + +[[package]] +name = "memzero" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93c0d11ac30a033511ae414355d80f70d9f29a44a49140face477117a1ee90db" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "minreq" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" +dependencies = [ + "log", + "once_cell", + "rustls", + "rustls-webpki", + "webpki-roots", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "moka" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" +dependencies = [ + "crossbeam-channel 0.5.8", + "crossbeam-epoch", + "crossbeam-utils 0.8.16", + "once_cell", + "parking_lot", + "quanta", + "rustc_version 0.4.0", + "skeptic", + "smallvec", + "tagptr", + "thiserror", + "triomphe", + "uuid 1.5.0", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "namada_account" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "namada_storage", + "serde", +] + +[[package]] +name = "namada_controller" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "namada_core", +] + +[[package]] +name = "namada_core" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "bech32 0.8.1", + "borsh 1.2.1", + "borsh-ext", + "chrono", + "data-encoding", + "ed25519-consensus 1.2.1", + "ethabi", + "ethbridge-structs", + "eyre", + "ibc", + "ics23", + "impl-num-traits", + "index-set", + "indexmap 2.2.4", + "k256", + "konst", + "linkme", + "masp_primitives", + "namada_macros", + "namada_migrations", + "num-integer", + "num-rational 0.4.1", + "num-traits", + "num256", + "num_enum", + "primitive-types", + "prost-types 0.12.1", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "serde_json", + "sha2 0.9.9", + "sparse-merkle-tree", + "tendermint", + "tendermint-proto", + "thiserror", + "tiny-keccak", + "tracing", + "uint", + "zeroize", +] + +[[package]] +name = "namada_ethereum_bridge" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "ethabi", + "ethers", + "eyre", + "itertools 0.10.5", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "namada_parameters", + "namada_proof_of_stake", + "namada_state", + "namada_storage", + "namada_trans_token", + "namada_tx", + "namada_vote_ext", + "rand 0.8.5", + "serde", + "serde_json", + "tendermint", + "tendermint-proto", + "tendermint-rpc", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_gas" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "serde", + "thiserror", +] + +[[package]] +name = "namada_governance" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "itertools 0.10.5", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "namada_parameters", + "namada_storage", + "namada_trans_token", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_ibc" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "ibc", + "ibc-derive", + "ics23", + "masp_primitives", + "namada_core", + "namada_gas", + "namada_governance", + "namada_parameters", + "namada_state", + "namada_storage", + "namada_token", + "primitive-types", + "prost 0.12.3", + "serde_json", + "sha2 0.9.9", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_macros" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "data-encoding", + "lazy_static", + "paste", + "proc-macro2", + "quote", + "sha2 0.9.9", + "syn 1.0.109", +] + +[[package]] +name = "namada_merkle_tree" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "eyre", + "ics23", + "namada_core", + "namada_macros", + "prost 0.12.3", + "sparse-merkle-tree", + "thiserror", +] + +[[package]] +name = "namada_migrations" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "data-encoding", + "lazy_static", + "linkme", + "namada_macros", + "serde", +] + +[[package]] +name = "namada_parameters" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "namada_core", + "namada_macros", + "namada_storage", + "thiserror", +] + +[[package]] +name = "namada_proof_of_stake" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "data-encoding", + "derivative", + "linkme", + "namada_account", + "namada_controller", + "namada_core", + "namada_governance", + "namada_macros", + "namada_migrations", + "namada_parameters", + "namada_storage", + "namada_trans_token", + "num-traits", + "once_cell", + "serde", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_replay_protection" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "namada_core", +] + +[[package]] +name = "namada_sdk" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "async-trait", + "bimap", + "borsh 1.2.1", + "borsh-ext", + "circular-queue", + "data-encoding", + "derivation-path", + "ethbridge-bridge-contract", + "ethers", + "eyre", + "fd-lock", + "futures", + "itertools 0.10.5", + "lazy_static", + "linkme", + "masp_primitives", + "masp_proofs", + "namada_account", + "namada_core", + "namada_ethereum_bridge", + "namada_gas", + "namada_governance", + "namada_ibc", + "namada_macros", + "namada_migrations", + "namada_parameters", + "namada_proof_of_stake", + "namada_state", + "namada_storage", + "namada_token", + "namada_tx", + "namada_vote_ext", + "num-traits", + "num256", + "orion", + "owo-colors", + "parse_duration", + "paste", + "patricia_tree", + "prost 0.12.3", + "rand 0.8.5", + "rand_core 0.6.4", + "regex", + "ripemd", + "serde", + "serde_json", + "sha2 0.9.9", + "slip10_ed25519", + "tendermint-config", + "tendermint-rpc", + "thiserror", + "tiny-bip39 0.8.2", + "tiny-hderive", + "tokio", + "toml 0.5.11", + "tracing", + "wasmtimer", + "zeroize", +] + +[[package]] +name = "namada_shielded_token" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "masp_primitives", + "namada_controller", + "namada_core", + "namada_parameters", + "namada_storage", + "namada_trans_token", + "serde", + "tracing", +] + +[[package]] +name = "namada_state" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "borsh 1.2.1", + "ics23", + "itertools 0.10.5", + "linkme", + "namada_core", + "namada_gas", + "namada_macros", + "namada_merkle_tree", + "namada_migrations", + "namada_parameters", + "namada_replay_protection", + "namada_storage", + "namada_trans_token", + "namada_tx", + "sha2 0.9.9", + "sparse-merkle-tree", + "thiserror", + "tiny-keccak", + "tracing", ] [[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +name = "namada_storage" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" dependencies = [ - "cpufeatures", + "borsh 1.2.1", + "itertools 0.10.5", + "linkme", + "namada_core", + "namada_gas", + "namada_macros", + "namada_merkle_tree", + "namada_migrations", + "namada_replay_protection", + "namada_tx", + "regex", + "serde", + "thiserror", + "tracing", ] [[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +name = "namada_token" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "namada_core", + "namada_shielded_token", + "namada_storage", + "namada_trans_token", +] [[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +name = "namada_trans_token" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +dependencies = [ + "namada_core", + "namada_storage", +] [[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +name = "namada_tx" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" dependencies = [ + "ark-bls12-381", "bitflags 2.5.0", - "libc", + "borsh 1.2.1", + "data-encoding", + "konst", + "linkme", + "masp_primitives", + "namada_core", + "namada_gas", + "namada_macros", + "namada_migrations", + "num-derive", + "num-traits", + "prost 0.12.3", + "prost-types 0.12.1", + "serde", + "serde_json", + "sha2 0.9.9", + "thiserror", + "tonic-build", ] [[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +name = "namada_vote_ext" +version = "0.33.0" +source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" dependencies = [ - "autocfg", - "scopeguard", + "borsh 1.2.1", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "namada_tx", + "serde", ] [[package]] -name = "log" -version = "0.4.21" +name = "nonempty" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" [[package]] -name = "matchers" -version = "0.1.0" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "regex-automata 0.1.10", + "overload", + "winapi", ] [[package]] -name = "matchit" -version = "0.7.3" +name = "num" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +dependencies = [ + "num-bigint 0.2.6", + "num-complex 0.2.4", + "num-integer", + "num-iter", + "num-rational 0.2.4", + "num-traits", +] [[package]] -name = "memchr" -version = "2.7.2" +name = "num" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +dependencies = [ + "num-bigint 0.4.4", + "num-complex 0.4.4", + "num-integer", + "num-iter", + "num-rational 0.4.1", + "num-traits", +] [[package]] -name = "mime" -version = "0.3.17" +name = "num-bigint" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] [[package]] -name = "miniz_oxide" -version = "0.7.2" +name = "num-bigint" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ - "adler", + "autocfg", + "num-integer", + "num-traits", + "serde", ] [[package]] -name = "mio" -version = "0.8.11" +name = "num-complex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", + "autocfg", + "num-traits", ] [[package]] -name = "moka" -version = "0.12.7" +name = "num-complex" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ - "crossbeam-channel", - "crossbeam-epoch", - "crossbeam-utils", - "once_cell", - "parking_lot", - "quanta", - "rustc_version", - "smallvec", - "tagptr", - "thiserror", - "triomphe", - "uuid", + "num-traits", ] [[package]] -name = "nu-ansi-term" -version = "0.46.0" +name = "num-derive" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "overload", - "winapi", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "num-bigint" -version = "0.4.4" +name = "num-integer" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", - "num-integer", "num-traits", - "serde", ] [[package]] -name = "num-conv" -version = "0.1.0" +name = "num-iter" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] [[package]] -name = "num-integer" -version = "0.1.46" +name = "num-rational" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ + "autocfg", + "num-bigint 0.2.6", + "num-integer", "num-traits", ] @@ -1919,7 +4423,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint", + "num-bigint 0.4.4", "num-integer", "num-traits", "serde", @@ -1927,11 +4431,26 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", + "libm", +] + +[[package]] +name = "num256" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9b5179e82f0867b23e0b9b822493821f9345561f271364f409c8e4a058367d" +dependencies = [ + "lazy_static", + "num 0.4.1", + "num-derive", + "num-traits", + "serde", + "serde_derive", ] [[package]] @@ -1940,24 +4459,45 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.3.3", "libc", ] +[[package]] +name = "num_enum" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +dependencies = [ + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 2.0.53", +] + [[package]] name = "object" -version = "0.32.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "oneline-eyre" @@ -1970,9 +4510,40 @@ dependencies = [ [[package]] name = "opaque-debug" -version = "0.3.1" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "openssl-probe" @@ -2024,7 +4595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1" dependencies = [ "async-trait", - "crossbeam-channel", + "crossbeam-channel 0.5.8", "dashmap", "fnv", "futures-channel", @@ -2033,56 +4604,166 @@ dependencies = [ "once_cell", "opentelemetry_api", "percent-encoding", - "rand", + "rand 0.8.5", "thiserror", ] [[package]] -name = "os_str_bytes" -version = "6.6.1" +name = "orion" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" +dependencies = [ + "ct-codecs", + "getrandom 0.2.10", + "subtle 2.4.1", + "zeroize", +] + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "pairing" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" +dependencies = [ + "group", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall 0.4.1", + "smallvec", + "windows-targets 0.48.5", +] + +[[package]] +name = "parse_duration" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7037e5e93e0172a5a96874380bf73bc6ecef022e26fa25f2be26864d6b3ba95d" +dependencies = [ + "lazy_static", + "num 0.2.1", + "regex", +] + +[[package]] +name = "password-hash" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" +checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.4.1", +] [[package]] -name = "overload" -version = "0.1.1" +name = "pasta_curves" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" +dependencies = [ + "ff", + "group", + "rand 0.8.5", + "static_assertions", + "subtle 2.4.1", +] [[package]] -name = "owo-colors" -version = "3.5.0" +name = "paste" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] -name = "parking_lot" -version = "0.12.1" +name = "patricia_tree" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "31f2f4539bffe53fc4b4da301df49d114b845b077bd5727b7fe2bd9d8df2ae68" dependencies = [ - "lock_api", - "parking_lot_core", + "bitflags 2.5.0", ] [[package]] -name = "parking_lot_core" -version = "0.9.9" +name = "pbkdf2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", + "crypto-mac 0.8.0", ] [[package]] -name = "paste" -version = "1.0.14" +name = "pbkdf2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" +dependencies = [ + "digest 0.10.7", + "password-hash", +] [[package]] name = "pbkdf2" @@ -2093,11 +4774,21 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac 0.12.1", +] + [[package]] name = "peg" -version = "0.8.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61" +checksum = "07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166a" dependencies = [ "peg-macros", "peg-runtime", @@ -2105,9 +4796,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90" +checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" dependencies = [ "peg-runtime", "proc-macro2", @@ -2116,41 +4807,81 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" + +[[package]] +name = "pem" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap 2.0.2", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.0", +] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2170,9 +4901,20 @@ dependencies = [ [[package]] name = "platforms" -version = "3.4.0" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" + +[[package]] +name = "poly1305" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug 0.3.0", + "universal-hash", +] [[package]] name = "powerfmt" @@ -2186,6 +4928,26 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.53", +] + [[package]] name = "primitive-types" version = "0.12.2" @@ -2193,10 +4955,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", + "impl-codec", + "impl-rlp", "impl-serde", + "scale-info", "uint", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.2", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2223,9 +5016,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -2236,7 +5029,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "fnv", "lazy_static", "memchr", @@ -2245,36 +5038,106 @@ dependencies = [ "thiserror", ] +[[package]] +name = "proptest" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" +dependencies = [ + "bitflags 2.5.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.7.5", + "unarray", +] + [[package]] name = "prost" -version = "0.12.4" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] + +[[package]] +name = "prost" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +dependencies = [ + "bytes", + "prost-derive 0.12.3", +] + +[[package]] +name = "prost-build" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", - "prost-derive", + "heck", + "itertools 0.10.5", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease 0.1.25", + "prost 0.11.9", + "prost-types 0.11.9", + "regex", + "syn 1.0.109", + "tempfile", + "which", ] [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "prost-derive" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools", + "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "prost-types" -version = "0.12.4" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "prost", + "prost 0.11.9", +] + +[[package]] +name = "prost-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +dependencies = [ + "prost 0.12.3", ] [[package]] @@ -2283,30 +5146,61 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +[[package]] +name = "pulldown-cmark" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" +dependencies = [ + "bitflags 1.3.2", + "memchr", + "unicase", +] + [[package]] name = "quanta" -version = "0.12.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.16", "libc", + "mach2", "once_cell", "raw-cpuid", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + [[package]] name = "rand" version = "0.8.5" @@ -2314,36 +5208,122 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.10", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +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 = "reddsa" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78a5191930e84973293aa5f532b513404460cd2216c1cfb76d08748c15b40b02" +dependencies = [ + "blake2b_simd", + "byteorder", + "group", + "hex", + "jubjub", + "pasta_curves", + "rand_core 0.6.4", + "serde", + "thiserror", + "zeroize", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "redjubjub" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "7a60db2c3bc9c6fd1e8631fee75abc008841d27144be744951d6b9b75f9b569c" dependencies = [ - "ppv-lite86", - "rand_core", + "rand_core 0.6.4", + "reddsa", + "serde", + "thiserror", + "zeroize", ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "redox_syscall" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "getrandom", + "bitflags 1.3.2", ] [[package]] -name = "raw-cpuid" -version = "11.0.1" +name = "redox_syscall" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", ] [[package]] @@ -2357,25 +5337,25 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom", - "libredox", + "getrandom 0.2.10", + "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "regex" -version = "1.10.4" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -2389,13 +5369,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.2", ] [[package]] @@ -2406,15 +5386,21 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ "base64 0.21.7", "bytes", @@ -2422,7 +5408,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-rustls", @@ -2433,21 +5419,21 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.11", - "rustls-native-certs 0.6.3", - "rustls-pemfile 1.0.4", + "rustls", + "rustls-native-certs", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", "system-configuration", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots", "winreg", ] @@ -2463,23 +5449,23 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac", - "subtle", + "hmac 0.12.1", + "subtle 2.4.1", ] [[package]] name = "ring" -version = "0.17.8" +version = "0.16.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" dependencies = [ "cc", - "cfg-if", - "getrandom", "libc", + "once_cell", "spin", "untrusted", - "windows-sys 0.52.0", + "web-sys", + "winapi", ] [[package]] @@ -2491,6 +5477,38 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rpassword" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2503,54 +5521,55 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver", + "semver 1.0.20", ] [[package]] name = "rustix" -version = "0.38.33" +version = "0.38.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" +checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" dependencies = [ "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "rustls" -version = "0.21.11" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", - "rustls-webpki 0.101.7", + "rustls-webpki", "sct", ] -[[package]] -name = "rustls" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -dependencies = [ - "log", - "ring", - "rustls-pki-types", - "rustls-webpki 0.102.2", - "subtle", - "zeroize", -] - [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -2558,107 +5577,115 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "schannel", "security-framework", ] [[package]] -name = "rustls-native-certs" -version = "0.7.0" +name = "rustls-pemfile" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "openssl-probe", - "rustls-pemfile 2.1.2", - "rustls-pki-types", - "schannel", - "security-framework", + "base64 0.21.7", ] [[package]] -name = "rustls-pemfile" -version = "1.0.4" +name = "rustls-webpki" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "base64 0.21.7", + "ring", + "untrusted", ] [[package]] -name = "rustls-pemfile" -version = "2.1.2" +name = "rustversion" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64 0.22.0", - "rustls-pki-types", -] +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] -name = "rustls-pki-types" -version = "1.4.1" +name = "ryu" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] -name = "rustls-webpki" -version = "0.101.7" +name = "salsa20" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "ring", - "untrusted", + "cipher", ] [[package]] -name = "rustls-webpki" -version = "0.102.2" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", + "winapi-util", ] [[package]] -name = "rustversion" -version = "1.0.15" +name = "scale-info" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if 1.0.0", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] [[package]] -name = "ryu" -version = "1.0.17" +name = "scale-info-derive" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "same-file" -version = "1.0.6" +name = "schannel" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "winapi-util", + "windows-sys 0.48.0", ] [[package]] -name = "scc" -version = "2.1.0" +name = "schemars" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" dependencies = [ - "sdd", + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", ] [[package]] -name = "schannel" -version = "0.1.23" +name = "schemars_derive" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" dependencies = [ - "windows-sys 0.52.0", + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", ] [[package]] @@ -2668,20 +5695,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "sct" -version = "0.7.1" +name = "scrypt" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" dependencies = [ - "ring", - "untrusted", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", ] [[package]] -name = "sdd" -version = "0.2.0" +name = "sct" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] [[package]] name = "sec1" @@ -2691,29 +5724,30 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array", + "generic-array 0.14.7", "pkcs8", - "subtle", + "serdect", + "subtle 2.4.1", "zeroize", ] [[package]] name = "secp256k1" -version = "0.28.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ "bitcoin_hashes", - "rand", + "rand 0.8.5", "secp256k1-sys", "serde", ] [[package]] name = "secp256k1-sys" -version = "0.9.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" dependencies = [ "cc", ] @@ -2730,9 +5764,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -2743,9 +5777,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -2753,27 +5787,66 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" -version = "1.0.198" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-json-wasm" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83c37d03f3b0f6b5f77c11af1e7c772de1c9af83e50bef7bb6069601900ba67b" +dependencies = [ + "serde", +] + [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] @@ -2790,20 +5863,31 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", +] + +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -2812,9 +5896,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ "itoa", "serde", @@ -2822,20 +5906,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] @@ -2854,40 +5938,50 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.34+deprecated" +version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.0.2", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", +] + [[package]] name = "serial_test" -version = "3.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb86f9315df5df6a70eae0cc22395a44e544a0d8897586820770a35ede74449" +checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" dependencies = [ + "dashmap", "futures", + "lazy_static", "log", - "once_cell", "parking_lot", - "scc", "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "3.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9bb72430492e9549b0c4596725c0f82729bff861c45aa8099c0a8e67fc3b721" +checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -2896,11 +5990,23 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug 0.2.3", +] + [[package]] name = "sha2" version = "0.9.9" @@ -2908,10 +6014,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "digest 0.9.0", - "opaque-debug", + "opaque-debug 0.3.0", ] [[package]] @@ -2920,7 +6026,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "digest 0.10.7", ] @@ -2962,65 +6068,122 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "simple-error" -version = "0.3.0" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "skeptic" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8542b68b8800c3cda649d2c72d688b6907b30f1580043135d61669d4aad1c175" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata 0.14.2", + "error-chain", + "glob", + "pulldown-cmark", + "tempfile", + "walkdir", +] [[package]] name = "slab" version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slip10_ed25519" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be0ff28bf14f9610a342169084e87a4f435ad798ec528dc7579a3678fa9dc9a" +dependencies = [ + "hmac-sha512", +] + +[[package]] +name = "smallvec" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ - "autocfg", + "libc", + "winapi", ] -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "sparse-merkle-tree" +version = "0.3.1-pre" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=515687fe7884cb365067ac86c66ac3613de176bb#515687fe7884cb365067ac86c66ac3613de176bb" +dependencies = [ + "borsh 1.2.1", + "cfg-if 1.0.0", + "ics23", + "sha2 0.9.9", ] [[package]] name = "spin" -version = "0.9.8" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -3057,14 +6220,20 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "subtle" -version = "2.5.0" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" + +[[package]] +name = "subtle" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subtle-encoding" @@ -3094,15 +6263,27 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.53", +] + [[package]] name = "sync_wrapper" version = "0.1.2" @@ -3148,35 +6329,42 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "tempfile" -version = "3.10.1" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "fastrand", + "redox_syscall 0.3.5", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "tendermint" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b50aae6ec24c3429149ad59b5b8d3374d7804d4c7d6125ceb97cb53907fb68d" +checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" dependencies = [ "bytes", "digest 0.10.7", "ed25519", - "ed25519-consensus", + "ed25519-consensus 2.1.0", "flex-error", "futures", "k256", "num-traits", "once_cell", - "prost", - "prost-types", + "prost 0.12.3", + "prost-types 0.12.1", "ripemd", "serde", "serde_bytes", @@ -3184,7 +6372,7 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "signature", - "subtle", + "subtle 2.4.1", "subtle-encoding", "tendermint-proto", "time", @@ -3193,26 +6381,26 @@ dependencies = [ [[package]] name = "tendermint-config" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e07b383dc8780ebbec04cfb603f3fdaba6ea6663d8dd861425b1ffa7761fe90d" +checksum = "5a25dbe8b953e80f3d61789fbdb83bf9ad6c0ef16df5ca6546f49912542cc137" dependencies = [ "flex-error", "serde", "serde_json", "tendermint", - "toml 0.8.12", + "toml 0.5.11", "url", ] [[package]] name = "tendermint-light-client" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331544139bbcf353acb5f56e733093d8e4bf2522cda0491b4bba7039ef0b944e" +checksum = "94aecbdccbc4b557649b2d1b1a4bfc27ec85205e00fb8020fce044245a4c9e3f" dependencies = [ "contracts", - "crossbeam-channel", + "crossbeam-channel 0.4.4", "derive_more", "flex-error", "futures", @@ -3232,11 +6420,12 @@ dependencies = [ [[package]] name = "tendermint-light-client-detector" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73d0ffaf614bd2db605c4762e3a31a536b73cd45488fa5bace050135ca348f28" +checksum = "ea83654b03e3ddc6782c9704a3fefd4d0671bd6c5e3f09d29e31fcb45e75636c" dependencies = [ - "crossbeam-channel", + "contracts", + "crossbeam-channel 0.4.4", "derive_more", "flex-error", "futures", @@ -3255,9 +6444,9 @@ dependencies = [ [[package]] name = "tendermint-light-client-verifier" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4216e487165e5dbd7af79952eaa0d5f06c5bde861eb76c690acd7f2d2a19395c" +checksum = "74994da9de4b1144837a367ca2c60c650f5526a7c1a54760a3020959b522e474" dependencies = [ "derive_more", "flex-error", @@ -3268,14 +6457,16 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f193d04afde6592c20fd70788a10b8cb3823091c07456db70d8a93f5fb99c1" +checksum = "2cc728a4f9e891d71adf66af6ecaece146f9c7a11312288a3107b3e1d6979aaf" dependencies = [ "bytes", "flex-error", - "prost", - "prost-types", + "num-derive", + "num-traits", + "prost 0.12.3", + "prost-types 0.12.1", "serde", "serde_bytes", "subtle-encoding", @@ -3284,25 +6475,24 @@ dependencies = [ [[package]] name = "tendermint-rpc" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e3c231a3632cab53f92ad4161c730c468c08cfe4f0aa5a6735b53b390aecbd" +checksum = "dfbf0a4753b46a190f367337e0163d0b552a2674a6bac54e74f9f2cdcde2969b" dependencies = [ "async-trait", "async-tungstenite", "bytes", "flex-error", "futures", - "getrandom", + "getrandom 0.2.10", "peg", "pin-project", - "rand", "reqwest", - "semver", + "semver 1.0.20", "serde", "serde_bytes", "serde_json", - "subtle", + "subtle 2.4.1", "subtle-encoding", "tendermint", "tendermint-config", @@ -3312,17 +6502,17 @@ dependencies = [ "tokio", "tracing", "url", - "uuid", + "uuid 0.8.2", "walkdir", ] [[package]] name = "tendermint-testgen" -version = "0.36.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b233cec83c56c413ccc346af866cb9206a14d468fcecf0255080107bc9b103c0" +checksum = "a19d4f02b7e38ce790da973fdc9edc71a0e35340ac57737bf278c8379037c1f5" dependencies = [ - "ed25519-consensus", + "ed25519-consensus 2.1.0", "gumdrop", "serde", "serde_json", @@ -3334,79 +6524,68 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.4.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] [[package]] name = "test-log" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6" -dependencies = [ - "env_logger", - "test-log-macros", - "tracing-subscriber", -] - -[[package]] -name = "test-log-macros" -version = "0.2.15" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" +checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "textwrap" -version = "0.16.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "once_cell", ] [[package]] name = "time" -version = "0.3.36" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", - "num-conv", + "itoa", "powerfmt", "serde", "time-core", @@ -3421,14 +6600,31 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "git+https://github.com/anoma/tiny-bip39.git?rev=bf0f6d8713589b83af7a917366ec31f5275c0e57#bf0f6d8713589b83af7a917366ec31f5275c0e57" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + [[package]] name = "tiny-bip39" version = "1.0.0" @@ -3436,10 +6632,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac", + "hmac 0.12.1", "once_cell", - "pbkdf2", - "rand", + "pbkdf2 0.11.0", + "rand 0.8.5", "rustc-hash", "sha2 0.10.8", "thiserror", @@ -3448,6 +6644,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "tiny-hderive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" +dependencies = [ + "base58", + "hmac 0.7.1", + "libsecp256k1", + "memzero", + "sha2 0.8.2", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3474,9 +6683,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -3486,7 +6695,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -3503,13 +6712,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -3518,26 +6727,15 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.11", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", + "rustls", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", "pin-project-lite", @@ -3546,9 +6744,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -3569,43 +6767,54 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.0.2", "serde", "serde_spanned", "toml_datetime", "winnow", ] +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.0.2", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" -version = "0.11.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ "async-stream", "async-trait", @@ -3613,18 +6822,18 @@ dependencies = [ "base64 0.21.7", "bytes", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-timeout", "percent-encoding", "pin-project", - "prost", - "rustls-native-certs 0.7.0", - "rustls-pemfile 2.1.2", - "rustls-pki-types", + "prost 0.12.3", + "rustls", + "rustls-native-certs", + "rustls-pemfile", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls", "tokio-stream", "tower", "tower-layer", @@ -3632,6 +6841,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "tonic-build" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +dependencies = [ + "prettyplease 0.1.25", + "proc-macro2", + "prost-build", + "quote", + "syn 1.0.109", +] + [[package]] name = "tower" version = "0.4.13" @@ -3643,7 +6865,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -3684,7 +6906,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -3708,24 +6930,23 @@ dependencies = [ ] [[package]] -name = "tracing-log" -version = "0.1.4" +name = "tracing-futures" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "log", - "once_cell", - "tracing-core", + "pin-project", + "tracing", ] [[package]] name = "tracing-log" -version = "0.2.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ + "lazy_static", "log", - "once_cell", "tracing-core", ] @@ -3741,9 +6962,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -3756,37 +6977,36 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" -version = "0.21.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.1.0", + "http 0.2.9", "httparse", "log", - "rand", - "rustls 0.22.4", - "rustls-pki-types", + "rand 0.8.5", + "rustls", "sha1", "thiserror", "url", @@ -3799,6 +7019,27 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "typewit" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fb9ae6a3cafaf0a5d14c2302ca525f9ae8e07a0f0e6949de88d882c37a6e24" +dependencies = [ + "typewit_proc_macros", +] + +[[package]] +name = "typewit_proc_macros" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36a83ea2b3c704935a01b4642946aadd445cea40b10935e3f8bd8052b8193d6" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + [[package]] name = "uint" version = "0.9.5" @@ -3811,11 +7052,26 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" @@ -3825,9 +7081,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] @@ -3844,23 +7100,33 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle 2.4.1", +] + [[package]] name = "unsafe-libyaml" -version = "0.2.11" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" [[package]] name = "untrusted" -version = "0.9.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -3881,23 +7147,27 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" [[package]] -name = "utf8parse" -version = "0.2.1" +name = "uuid" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.10", + "serde", +] [[package]] name = "uuid" -version = "1.8.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ - "getrandom", + "getrandom 0.2.10", ] [[package]] @@ -3923,9 +7193,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -3940,6 +7210,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3948,36 +7224,36 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "js-sys", "wasm-bindgen", "web-sys", @@ -3985,9 +7261,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3995,33 +7271,65 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wasmtimer" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "5f656cd8858a5164932d8a90f936700860976ec21eb00e0fe2aa8cab13f6b4cf" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + [[package]] name = "winapi" version = "0.3.9" @@ -4053,6 +7361,24 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[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" @@ -4063,12 +7389,18 @@ dependencies = [ ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "windows-targets" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows-targets 0.52.5", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -4087,20 +7419,10 @@ dependencies = [ ] [[package]] -name = "windows-targets" -version = "0.52.5" +name = "windows_aarch64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" @@ -4109,10 +7431,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" +name = "windows_aarch64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -4121,10 +7443,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" +name = "windows_i686_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -4133,16 +7455,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" +name = "windows_i686_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -4151,10 +7467,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] -name = "windows_i686_msvc" -version = "0.52.5" +name = "windows_x86_64_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -4163,10 +7479,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" +name = "windows_x86_64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -4175,10 +7491,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" +name = "windows_x86_64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -4186,17 +7502,11 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - [[package]] name = "winnow" -version = "0.6.6" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] @@ -4207,15 +7517,52 @@ version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "windows-sys 0.48.0", ] +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.0", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zcash_encoding" +version = "0.2.0" +source = "git+https://github.com/zcash/librustzcash?rev=bd7f9d7#bd7f9d7c3ce5cfd14af169ffe0e1c5c903162f46" +dependencies = [ + "byteorder", + "nonempty", +] + [[package]] name = "zeroize" -version = "1.7.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -4228,5 +7575,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index b03dc4cbff..77d7549ff9 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -82,19 +82,23 @@ uuid = { workspace = true, features = ["v4"] } [dependencies.namada_ibc] git = "https://github.com/anoma/namada" -version = "0.33.0" +#version = "0.33.0" +branch = "tiago/generalize-events" [dependencies.namada_parameters] git = "https://github.com/anoma/namada" -version = "0.33.0" +#version = "0.33.0" +branch = "tiago/generalize-events" [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -version = "0.33.0" +#version = "0.33.0" +branch = "tiago/generalize-events" [dependencies.namada_trans_token] git = "https://github.com/anoma/namada" -version = "0.33.0" +#version = "0.33.0" +branch = "tiago/generalize-events" [dev-dependencies] ibc-relayer-types = { workspace = true } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 2d2021ee3f..ee88e21d3d 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -6,9 +6,12 @@ use ibc_relayer_types::Height as ICSHeight; use namada_ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::event::extend::Height as HeightAttr; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; +use namada_sdk::tx::data::ResultCode; +use namada_sdk::tx::event::Code as CodeAttr; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; @@ -89,11 +92,9 @@ impl NamadaChain { match event { Some(event) => { let h = event - .get("height") - .expect("No height in the Namada event") - .parse() + .read_attribute::() .map_err(|_| Error::invalid_height_no_source())?; - let height = ICSHeight::new(self.config.id.version(), h) + let height = ICSHeight::new(self.config.id.version(), h.0) .map_err(|_| Error::invalid_height_no_source())?; let pb_abci_event = tendermint_proto::v0_37::abci::Event::from(event); let abci_event = pb_abci_event.try_into().map_err(|_| { @@ -121,15 +122,15 @@ impl NamadaChain { { Some(applied) => { let h = applied - .get("height") - .expect("No height in the Namada Applied event") - .parse() + .read_attribute::() .map_err(|_| Error::invalid_height_no_source())?; - let height = ICSHeight::new(self.config.id.version(), h) + let height = ICSHeight::new(self.config.id.version(), h.0) .map_err(|_| Error::invalid_height_no_source())?; // Check if the tx is valid - let code = applied.get("code").expect("The code should exist"); - if code != "0" { + let code = applied + .read_attribute::() + .expect("The code should exist"); + if code != ResultCode::Ok { return Ok(vec![IbcEventWithHeight::new( IbcEvent::ChainError(format!( "The transaction was invalid: Event {:?}", @@ -225,11 +226,9 @@ impl NamadaChain { { Some(event) => { let h = event - .get("height") - .expect("No height in the Namada Applied event") - .parse() + .read_attribute::() .map_err(|_| Error::invalid_height_no_source())?; - let height = ICSHeight::new(self.config.id.version(), h) + let height = ICSHeight::new(self.config.id.version(), h.0) .map_err(|_| Error::invalid_height_no_source())?; Ok(Some(height)) } From 254ed4727c333a777018788b17a5a04ebd6d8585 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 30 Apr 2024 23:35:27 +0200 Subject: [PATCH 033/103] for Namada 0.35 draft --- Cargo.lock | 132 +++++++++++++++-------- crates/relayer/Cargo.toml | 12 +-- crates/relayer/src/chain/namada/query.rs | 2 +- crates/relayer/src/chain/namada/tx.rs | 4 +- 4 files changed, 92 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 06e542ccd0..45e97271f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3500,6 +3500,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -3675,7 +3684,7 @@ dependencies = [ [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" dependencies = [ "borsh 1.2.1", "chacha20", @@ -3688,7 +3697,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" dependencies = [ "aes", "bip0039", @@ -3719,7 +3728,7 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=6cbc8bd90a71cc280492c44bc3415162093daa76#6cbc8bd90a71cc280492c44bc3415162093daa76" +source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" dependencies = [ "bellman", "blake2b_simd", @@ -3853,8 +3862,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "linkme", @@ -3867,16 +3876,16 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "namada_core", ] [[package]] name = "namada_core" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", @@ -3893,7 +3902,6 @@ dependencies = [ "index-set", "indexmap 2.2.4", "k256", - "konst", "linkme", "masp_primitives", "namada_macros", @@ -3922,16 +3930,18 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "ethabi", "ethers", "eyre", "itertools 0.10.5", + "konst", "linkme", "namada_core", + "namada_events", "namada_macros", "namada_migrations", "namada_parameters", @@ -3951,14 +3961,29 @@ dependencies = [ "tracing", ] +[[package]] +name = "namada_events" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +dependencies = [ + "borsh 1.2.1", + "linkme", + "namada_core", + "namada_macros", + "namada_migrations", + "serde", + "thiserror", +] + [[package]] name = "namada_gas" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "linkme", "namada_core", + "namada_events", "namada_macros", "namada_migrations", "serde", @@ -3967,13 +3992,15 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "itertools 0.10.5", + "konst", "linkme", "namada_core", + "namada_events", "namada_macros", "namada_migrations", "namada_parameters", @@ -3987,23 +4014,27 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "ibc", "ibc-derive", "ics23", + "konst", "masp_primitives", "namada_core", + "namada_events", "namada_gas", "namada_governance", + "namada_macros", "namada_parameters", "namada_state", "namada_storage", "namada_token", "primitive-types", "prost 0.12.3", + "serde", "serde_json", "sha2 0.9.9", "thiserror", @@ -4012,8 +4043,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "data-encoding", "lazy_static", @@ -4026,8 +4057,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "eyre", @@ -4041,8 +4072,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4054,8 +4085,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4066,8 +4097,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4076,6 +4107,7 @@ dependencies = [ "namada_account", "namada_controller", "namada_core", + "namada_events", "namada_governance", "namada_macros", "namada_migrations", @@ -4091,16 +4123,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "async-trait", "bimap", @@ -4122,6 +4154,7 @@ dependencies = [ "namada_account", "namada_core", "namada_ethereum_bridge", + "namada_events", "namada_gas", "namada_governance", "namada_ibc", @@ -4164,8 +4197,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4180,14 +4213,15 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "ics23", "itertools 0.10.5", "linkme", "namada_core", + "namada_events", "namada_gas", "namada_macros", "namada_merkle_tree", @@ -4197,6 +4231,7 @@ dependencies = [ "namada_storage", "namada_trans_token", "namada_tx", + "patricia_tree", "sha2 0.9.9", "sparse-merkle-tree", "thiserror", @@ -4206,8 +4241,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "itertools 0.10.5", @@ -4227,10 +4262,11 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "namada_core", + "namada_events", "namada_shielded_token", "namada_storage", "namada_trans_token", @@ -4238,8 +4274,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "namada_core", "namada_storage", @@ -4247,8 +4283,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4258,6 +4294,7 @@ dependencies = [ "linkme", "masp_primitives", "namada_core", + "namada_events", "namada_gas", "namada_macros", "namada_migrations", @@ -4274,8 +4311,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.33.0" -source = "git+https://github.com/anoma/namada?branch=tiago/generalize-events#af6635b93056b238135afda915d7a56b45935063" +version = "0.34.0" +source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" dependencies = [ "borsh 1.2.1", "linkme", @@ -6165,11 +6202,12 @@ dependencies = [ [[package]] name = "sparse-merkle-tree" version = "0.3.1-pre" -source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=515687fe7884cb365067ac86c66ac3613de176bb#515687fe7884cb365067ac86c66ac3613de176bb" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" dependencies = [ "borsh 1.2.1", "cfg-if 1.0.0", "ics23", + "itertools 0.12.1", "sha2 0.9.9", ] diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 77d7549ff9..c900137455 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -82,23 +82,19 @@ uuid = { workspace = true, features = ["v4"] } [dependencies.namada_ibc] git = "https://github.com/anoma/namada" -#version = "0.33.0" -branch = "tiago/generalize-events" +rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" [dependencies.namada_parameters] git = "https://github.com/anoma/namada" -#version = "0.33.0" -branch = "tiago/generalize-events" +rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" [dependencies.namada_sdk] git = "https://github.com/anoma/namada" -#version = "0.33.0" -branch = "tiago/generalize-events" +rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" [dependencies.namada_trans_token] git = "https://github.com/anoma/namada" -#version = "0.33.0" -branch = "tiago/generalize-events" +rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" [dev-dependencies] ibc-relayer-types = { workspace = true } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index ee88e21d3d..ab991652c8 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -6,7 +6,7 @@ use ibc_relayer_types::Height as ICSHeight; use namada_ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; -use namada_sdk::event::extend::Height as HeightAttr; +use namada_sdk::events::extend::Height as HeightAttr; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 97fab61edd..7a2c71efa5 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -8,7 +8,7 @@ use ibc_proto::google::protobuf::Any; use namada_parameters::storage as parameter_storage; use namada_sdk::address::{Address, ImplicitAddress}; use namada_sdk::args; -use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom}; +use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom, TxExpiration}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::borsh::BorshSerializeExt; use namada_sdk::chain::ChainId; @@ -122,7 +122,7 @@ impl NamadaChain { fee_token, fee_unshield: None, gas_limit, - expiration: None, + expiration: TxExpiration::Default, disposable_signing_key: false, chain_id: Some(chain_id), signing_keys: vec![relayer_public_key], From 3d20ce38a155961cde406a8fe27673e0f0dfab07 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 14 May 2024 10:39:52 +0200 Subject: [PATCH 034/103] small fixes for latest Hermes and fixed test scripts --- Cargo.lock | 1368 ++++++++++------- Cargo.toml | 7 + crates/relayer/Cargo.toml | 21 +- crates/relayer/src/chain/namada.rs | 6 +- crates/relayer/src/config.rs | 2 +- crates/relayer/src/light_client/tendermint.rs | 4 +- e2e/namada-gaia-simple-transfers | 124 +- e2e/namada-shielded-transfers | 197 --- e2e/namada-simple-transfers | 266 +++- 9 files changed, 1126 insertions(+), 869 deletions(-) delete mode 100755 e2e/namada-shielded-transfers diff --git a/Cargo.lock b/Cargo.lock index 45e97271f3..a2868839f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver 1.0.20", + "semver 1.0.23", "serde", "termcolor", "toml 0.5.11", @@ -82,7 +82,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", ] @@ -122,6 +122,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + [[package]] name = "anyhow" version = "1.0.75" @@ -255,9 +304,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", @@ -266,17 +315,18 @@ dependencies = [ [[package]] name = "async-tungstenite" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc" +checksum = "3609af4bbf701ddaf1f6bb4e6257dff4ff8932327d0e685d3f653724c258b1ac" dependencies = [ "futures-io", "futures-util", "log", "pin-project-lite", - "rustls-native-certs", + "rustls-native-certs 0.7.0", + "rustls-pki-types", "tokio", - "tokio-rustls", + "tokio-rustls 0.25.0", "tungstenite", ] @@ -377,7 +427,7 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -408,6 +458,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.0.1" @@ -426,6 +482,12 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "bech32" +version = "0.10.0-beta" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98f7eed2b2781a6f0b5c903471d48e15f56fb4e1165df8a9a2337fd1a59d45ea" + [[package]] name = "bellman" version = "0.14.0" @@ -439,7 +501,7 @@ dependencies = [ "group", "pairing", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -453,12 +515,12 @@ dependencies = [ [[package]] name = "bip0039" -version = "0.10.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef0f0152ec5cf17f49a5866afaa3439816207fd4f0a224c0211ffaf5e278426" +checksum = "568b6890865156d9043af490d4c4081c385dd68ea10acd6ca15733d511e6b51c" dependencies = [ "hmac 0.12.1", - "pbkdf2 0.10.1", + "pbkdf2 0.12.2", "rand 0.8.5", "sha2 0.10.8", "unicode-normalization", @@ -467,31 +529,36 @@ dependencies = [ [[package]] name = "bitcoin" -version = "0.30.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e99ff7289b20a7385f66a0feda78af2fc119d28fb56aea8886a9cd0a4abdd75" +checksum = "6c85783c2fe40083ea54a33aa2f0ba58831d90fcd190f5bdc47e74e84d2a96ae" dependencies = [ - "bech32 0.9.1", - "bitcoin-private", + "bech32 0.10.0-beta", + "bitcoin-internals", "bitcoin_hashes", + "hex-conservative", "hex_lit", "secp256k1", "serde", ] [[package]] -name = "bitcoin-private" -version = "0.1.0" +name = "bitcoin-internals" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" +dependencies = [ + "serde", +] [[package]] name = "bitcoin_hashes" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" dependencies = [ - "bitcoin-private", + "bitcoin-internals", + "hex-conservative", "serde", ] @@ -522,6 +589,15 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "blake2b_simd" version = "1.0.2" @@ -544,6 +620,19 @@ dependencies = [ "constant_time_eq", ] +[[package]] +name = "blake3" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -593,7 +682,7 @@ dependencies = [ "group", "pairing", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -675,9 +764,9 @@ dependencies = [ [[package]] name = "bs58" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ "sha2 0.10.8", "tinyvec", @@ -711,12 +800,6 @@ dependencies = [ "utf8-width", ] -[[package]] -name = "bytecount" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad152d03a2c813c80bb94fedbf3a3f02b28f793e39e7c214c8a0bcc196343de7" - [[package]] name = "byteorder" version = "1.5.0" @@ -756,19 +839,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.20", - "serde", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.17.0" @@ -777,7 +847,7 @@ checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ "camino", "cargo-platform", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -801,12 +871,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.0" @@ -825,7 +889,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", ] @@ -1002,6 +1066,12 @@ dependencies = [ "tracing-error", ] +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + [[package]] name = "console" version = "0.15.7" @@ -1021,7 +1091,7 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "hex", "proptest", @@ -1084,22 +1154,11 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.4.4" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "crossbeam-utils", ] [[package]] @@ -1109,31 +1168,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "cfg-if", + "crossbeam-utils", "memoffset", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.7.2" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1149,7 +1194,7 @@ checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array 0.14.7", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -1180,7 +1225,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ "generic-array 0.14.7", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -1204,14 +1249,14 @@ version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", "platforms", "rustc_version 0.4.0", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -1245,7 +1290,7 @@ version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "hashbrown 0.14.1", "lock_api", "once_cell", @@ -1307,13 +1352,14 @@ dependencies = [ [[package]] name = "dialoguer" -version = "0.10.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" dependencies = [ "console", "shell-words", "tempfile", + "thiserror", "zeroize", ] @@ -1344,7 +1390,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -1362,7 +1408,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] @@ -1513,7 +1559,7 @@ dependencies = [ "rand_core 0.6.4", "sec1", "serdect", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -1529,7 +1575,7 @@ version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1550,17 +1596,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" dependencies = [ + "anstream", + "anstyle", + "env_filter", "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] @@ -1571,21 +1627,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.5" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", + "windows-sys 0.52.0", ] [[package]] @@ -1782,7 +1829,7 @@ checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" dependencies = [ "arrayvec", "bytes", - "cargo_metadata 0.17.0", + "cargo_metadata", "chrono", "const-hex", "elliptic-curve", @@ -1812,7 +1859,7 @@ checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" dependencies = [ "ethers-core", "reqwest", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -1903,9 +1950,9 @@ dependencies = [ [[package]] name = "eyre" -version = "0.6.8" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ "indenter", "once_cell", @@ -1929,7 +1976,7 @@ version = "3.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef033ed5e9bad94e55838ca0ca906db0e043f517adda0c8b79c7a8c66c93c1b5" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "rustix", "windows-sys 0.48.0", ] @@ -1942,7 +1989,7 @@ checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "bitvec", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -1975,7 +2022,6 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c606d892c9de11507fa0dcffc116434f94e105d0bbdc4e405b61519464c49d7b" dependencies = [ - "anyhow", "eyre", "paste", ] @@ -2165,7 +2211,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", @@ -2178,7 +2224,7 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -2191,12 +2237,6 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" -[[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" @@ -2218,7 +2258,7 @@ dependencies = [ "ff", "memuse", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -2243,9 +2283,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -2253,7 +2293,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.9", - "indexmap 1.9.3", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -2326,6 +2366,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" + [[package]] name = "hex_lit" version = "0.1.1" @@ -2481,9 +2527,9 @@ dependencies = [ "futures-util", "http 0.2.9", "hyper", - "rustls", + "rustls 0.21.7", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", ] [[package]] @@ -2523,9 +2569,8 @@ dependencies = [ [[package]] name = "ibc" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8057203ab04368297a31ecd5d059bec7108c069d636bcfc9ab20e82d89b480b8" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-apps", "ibc-clients", @@ -2537,9 +2582,8 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e931737b69129ae417598fe29eace3e41a9ce32b8649abe3937495973e5843f" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2548,17 +2592,17 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2019d3a6adf6b333c55630f52ca71ad8f61702ca1cf291aaf5ee40b7c6c27ba2" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "base64 0.21.7", "borsh 0.10.3", "derive_more", "displaydoc", "http 1.1.0", + "ibc-app-transfer-types", "ibc-core", - "ibc-proto 0.41.0", + "ibc-proto", "mime", "parity-scale-codec", "scale-info", @@ -2569,9 +2613,8 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2595e4cc14828a4141a28b86777040d8bfbabea43838a425137202cff0ee6329" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2580,24 +2623,26 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0106c87ddcc619a6a5eac05da2b77287e3958f89dddf951daf9a2dfc470cb5f4" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ + "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core", - "ibc-proto 0.41.0", + "ibc-proto", + "parity-scale-codec", "primitive-types", + "scale-info", + "schemars", "serde", "uint", ] [[package]] name = "ibc-apps" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5738d8c842abce233f41d3be825d01e6ee075251b509c6947d05c75477eaeec" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2605,15 +2650,15 @@ dependencies = [ [[package]] name = "ibc-chain-registry" -version = "0.26.4" +version = "0.27.2" dependencies = [ "async-trait", "flex-error", "futures", "http 0.2.9", - "ibc-proto 0.39.0", + "ibc-proto", "ibc-relayer-types", - "itertools 0.10.5", + "itertools 0.12.1", "reqwest", "serde", "serde_json", @@ -2624,10 +2669,10 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81ef4eefb4fd88167335fee4d212b1ff2fa4dd4e4ce87a58bda1798be1d128ac" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ + "derive_more", "ibc-client-tendermint-types", "ibc-core-client", "ibc-core-commitment-types", @@ -2641,16 +2686,15 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91a224a98b193810e1ef86316e9a08e677eeff6f98b22b9eb9806bd993d3753a" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "displaydoc", "ibc-core-client-types", "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "serde", "tendermint", "tendermint-light-client-verifier", @@ -2659,24 +2703,22 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e1ea3be7ae201c99b6589c112a253f2fb3c9ae7322d8937a7303d1fbfe76d27" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "base64 0.21.7", "displaydoc", "ibc-core-client", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "serde", ] [[package]] name = "ibc-clients" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84fef481dd1ebe5ef69ee8e095c225cb3e51cd3895096ba2884b3f5b827a6ed6" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2684,9 +2726,8 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aedd421bae80115f44b198bec9af45f234e1c8ff81ee9d5e7f60444d526d2b6" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2701,9 +2742,8 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535048a8fe64101263e35a6a4503474811e379a115db72ee449df882b0f11b45" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2717,9 +2757,8 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d97396ccb1840f4ea6021bbf049a4a7e30a8f5b126f00023ec44b2a48d4dabc" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2729,7 +2768,7 @@ dependencies = [ "ibc-core-connection-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", @@ -2741,9 +2780,8 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bcf0c59eaa935fa410497a56862f28c4df68317ea556724f0d0764b6c0307e" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2755,9 +2793,8 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d37d88be3dc7fd82d45418c257d826244a6b29b7902c76cf9e68fd61f1e9173" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "derive_more", "displaydoc", @@ -2772,9 +2809,8 @@ dependencies = [ [[package]] name = "ibc-core-client-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb717b1296e6cda0990346ba5203fadd043d5159d7d7173b3765f72f263c29db" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2782,7 +2818,7 @@ dependencies = [ "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", @@ -2793,15 +2829,14 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a10ff34bf57bf4bc668b55208dbfdf312d7907adc6a0e39da2377883f12efada" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", "displaydoc", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "ics23", "parity-scale-codec", "scale-info", @@ -2812,9 +2847,8 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de7f4f1e78e9ed5a63b09b1405f42713f3d076ba5e7889ec31a520cad4970344" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-core-client", "ibc-core-connection-types", @@ -2825,9 +2859,8 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230d7f547e121147d136c563ae71707a9e3477a9bc1bc6c1dc29051e1408a381" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2836,7 +2869,7 @@ dependencies = [ "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", @@ -2847,9 +2880,8 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c60a2d072d8f7d8d64503bbf3fb69ffcd973b92667af053617a36682fadddea5" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2863,9 +2895,8 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fae38340bffa42a74563a12703c994515cca4bab755a0c83089c18c3c1e481a" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2877,7 +2908,7 @@ dependencies = [ "ibc-core-host-types", "ibc-core-router-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", @@ -2888,9 +2919,8 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abaa0e2143855d12c19e814dab72a5e28daf5e31780afb1302e983614b248668" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "derive_more", "displaydoc", @@ -2907,9 +2937,8 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3c792be21a340e42344e5bede1695c2d21d62abcc21bbfc7662b5950ffe8d4" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "derive_more", "displaydoc", @@ -2922,7 +2951,7 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "serde", "sha2 0.10.8", "subtle-encoding", @@ -2931,9 +2960,8 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c25ce3082e036836d60aea3cc24f46dfb248d7718516a9a48e1feb466ce10c1" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2947,9 +2975,8 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c261fb7e9a7de7daafb6a38cb9abdce6e912230e30246eb2ef1bb5db32ba10f" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "derive_more", "displaydoc", @@ -2962,16 +2989,15 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3b37bc4c11fdc60a328488f4be205106666edda20a4080484d599a8b0978d2" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", "displaydoc", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", @@ -2982,9 +3008,8 @@ dependencies = [ [[package]] name = "ibc-derive" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de1e69ff9d7d6094b720a36bb26fc8078b5e1b0e216e2d0a92f602e6dc8016e" +version = "0.7.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "proc-macro2", "quote", @@ -2993,8 +3018,9 @@ dependencies = [ [[package]] name = "ibc-integration-test" -version = "0.26.4" +version = "0.27.2" dependencies = [ + "byte-unit", "http 0.2.9", "ibc-relayer", "ibc-relayer-types", @@ -3006,20 +3032,19 @@ dependencies = [ "tendermint", "tendermint-rpc", "time", - "toml 0.7.8", + "toml 0.8.12", "tonic", ] [[package]] name = "ibc-primitives" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af5524046e645bdfbd96ef932c8ceab6bb2391dc31dee626e274d13e7ac25ec2" +version = "0.52.0" +source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" dependencies = [ "borsh 0.10.3", "derive_more", "displaydoc", - "ibc-proto 0.41.0", + "ibc-proto", "parity-scale-codec", "prost 0.12.3", "scale-info", @@ -3031,33 +3056,16 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b5aca9ca863246a2b358e0a1845759780860673e54c0a76335faccc504981c" -dependencies = [ - "base64 0.21.7", - "bytes", - "flex-error", - "ics23", - "prost 0.12.3", - "serde", - "subtle-encoding", - "tendermint-proto", - "tonic", -] - -[[package]] -name = "ibc-proto" -version = "0.41.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4ee32b22d3b06f31529b956f4928e5c9a068d71e46cf6abfa19c31ca550553" +checksum = "66080040d5a4800d52966d55b055400f86b79c34b854b935bef03c87aacda62a" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "borsh 0.10.3", "bytes", "flex-error", "ics23", - "informalsystems-pbjson 0.7.0", + "informalsystems-pbjson", "parity-scale-codec", "prost 0.12.3", "scale-info", @@ -3065,11 +3073,12 @@ dependencies = [ "serde", "subtle-encoding", "tendermint-proto", + "tonic", ] [[package]] name = "ibc-relayer" -version = "0.26.4" +version = "0.27.2" dependencies = [ "anyhow", "async-stream", @@ -3078,7 +3087,7 @@ dependencies = [ "bs58", "byte-unit", "bytes", - "crossbeam-channel 0.5.8", + "crossbeam-channel", "digest 0.10.7", "dirs-next", "ed25519", @@ -3093,10 +3102,10 @@ dependencies = [ "http 0.2.9", "humantime", "humantime-serde", - "ibc-proto 0.39.0", + "ibc-proto", "ibc-relayer-types", "ibc-telemetry", - "itertools 0.10.5", + "itertools 0.12.1", "moka", "namada_ibc", "namada_parameters", @@ -3107,11 +3116,12 @@ dependencies = [ "once_cell", "prost 0.12.3", "regex", + "reqwest", "retry", "ripemd", "rpassword", "secp256k1", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_derive", "serde_json", @@ -3121,7 +3131,6 @@ dependencies = [ "strum", "subtle-encoding", "tendermint", - "tendermint-config", "tendermint-light-client", "tendermint-light-client-detector", "tendermint-light-client-verifier", @@ -3134,23 +3143,23 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.7.8", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", - "uuid 1.5.0", + "uuid 1.8.0", ] [[package]] name = "ibc-relayer-cli" -version = "1.7.4" +version = "1.8.2" dependencies = [ "abscissa_core", "clap", "clap_complete", "color-eyre", "console", - "crossbeam-channel 0.5.8", + "crossbeam-channel", "dialoguer", "dirs-next", "eyre", @@ -3164,7 +3173,7 @@ dependencies = [ "ibc-relayer-rest", "ibc-relayer-types", "ibc-telemetry", - "itertools 0.10.5", + "itertools 0.12.1", "once_cell", "oneline-eyre", "regex", @@ -3184,31 +3193,31 @@ dependencies = [ [[package]] name = "ibc-relayer-rest" -version = "0.26.4" +version = "0.27.2" dependencies = [ "axum", - "crossbeam-channel 0.5.8", + "crossbeam-channel", "ibc-relayer", "ibc-relayer-types", "reqwest", "serde", "serde_json", "tokio", - "toml 0.7.8", + "toml 0.8.12", "tracing", ] [[package]] name = "ibc-relayer-types" -version = "0.26.4" +version = "0.27.2" dependencies = [ "bytes", "derive_more", "env_logger", "flex-error", - "ibc-proto 0.39.0", + "ibc-proto", "ics23", - "itertools 0.10.5", + "itertools 0.12.1", "num-rational 0.4.1", "primitive-types", "prost 0.12.3", @@ -3231,7 +3240,7 @@ dependencies = [ [[package]] name = "ibc-telemetry" -version = "0.26.4" +version = "0.27.2" dependencies = [ "axum", "dashmap", @@ -3250,24 +3259,24 @@ dependencies = [ [[package]] name = "ibc-test-framework" -version = "0.26.4" +version = "0.27.2" dependencies = [ "color-eyre", - "crossbeam-channel 0.5.8", + "crossbeam-channel", "eyre", "flex-error", "hdpath", "hex", "http 0.2.9", - "ibc-proto 0.39.0", + "ibc-proto", "ibc-relayer", "ibc-relayer-cli", "ibc-relayer-types", - "itertools 0.10.5", + "itertools 0.12.1", "once_cell", "prost 0.12.3", "rand 0.8.5", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_json", "serde_yaml", @@ -3275,7 +3284,7 @@ dependencies = [ "subtle-encoding", "tendermint-rpc", "tokio", - "toml 0.7.8", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", @@ -3283,14 +3292,16 @@ dependencies = [ [[package]] name = "ics23" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "661e2d6f79952a65bc92b1c81f639ebd37228dae6ff412a5aba7d474bdc4b957" +checksum = "dc3b8be84e7285c73b88effdc3294b552277d6b0ec728ee016c861b7b9a2c19c" dependencies = [ "anyhow", + "blake2", + "blake3", "bytes", "hex", - "informalsystems-pbjson 0.6.0", + "informalsystems-pbjson", "prost 0.12.3", "ripemd", "serde", @@ -3397,16 +3408,6 @@ dependencies = [ "hashbrown 0.12.3", ] -[[package]] -name = "indexmap" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" -dependencies = [ - "equivalent", - "hashbrown 0.14.1", -] - [[package]] name = "indexmap" version = "2.2.4" @@ -3419,13 +3420,13 @@ dependencies = [ ] [[package]] -name = "informalsystems-pbjson" -version = "0.6.0" +name = "indexmap" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eecd90f87bea412eac91c6ef94f6b1e390128290898cbe14f2b926787ae1fb" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ - "base64 0.13.1", - "serde", + "equivalent", + "hashbrown 0.14.1", ] [[package]] @@ -3453,7 +3454,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -3472,15 +3473,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] -name = "is-terminal" -version = "0.4.9" +name = "is_terminal_polyfill" +version = "1.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi 0.3.3", - "rustix", - "windows-sys 0.48.0", -] +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" [[package]] name = "itertools" @@ -3532,7 +3528,7 @@ checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ "base64 0.21.7", "pem", - "ring", + "ring 0.16.20", "serde", "serde_json", "simple_asn1", @@ -3549,7 +3545,7 @@ dependencies = [ "ff", "group", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -3558,7 +3554,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa", "elliptic-curve", "once_cell", @@ -3604,9 +3600,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libm" @@ -3626,7 +3622,7 @@ dependencies = [ "hmac-drbg", "rand 0.7.3", "sha2 0.8.2", - "subtle 2.4.1", + "subtle 2.5.0", "typenum", ] @@ -3652,9 +3648,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -3668,36 +3664,27 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "mach2" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" -dependencies = [ - "libc", -] +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" +source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" dependencies = [ "borsh 1.2.1", "chacha20", "chacha20poly1305", "cipher", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" +source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" dependencies = [ "aes", "bip0039", @@ -3721,14 +3708,14 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", - "subtle 2.4.1", + "subtle 2.5.0", "zcash_encoding", ] [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=d1e0876b304968edfa36707ffe4fb8fbbee131d2#d1e0876b304968edfa36707ffe4fb8fbbee131d2" +source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" dependencies = [ "bellman", "blake2b_simd", @@ -3759,13 +3746,7 @@ dependencies = [ name = "matchit" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" @@ -3817,8 +3798,8 @@ checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" dependencies = [ "log", "once_cell", - "rustls", - "rustls-webpki", + "rustls 0.21.7", + "rustls-webpki 0.101.6", "webpki-roots", ] @@ -3835,23 +3816,22 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.1" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8017ec3548ffe7d4cef7ac0e12b044c01164a74c0f3119420faeaf13490ad8b" +checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08" dependencies = [ - "crossbeam-channel 0.5.8", + "crossbeam-channel", "crossbeam-epoch", - "crossbeam-utils 0.8.16", + "crossbeam-utils", "once_cell", "parking_lot", "quanta", "rustc_version 0.4.0", - "skeptic", "smallvec", "tagptr", "thiserror", "triomphe", - "uuid 1.5.0", + "uuid 1.8.0", ] [[package]] @@ -3862,8 +3842,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "linkme", @@ -3876,16 +3856,18 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "namada_core", + "smooth-operator", + "thiserror", ] [[package]] name = "namada_core" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", @@ -3918,6 +3900,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.9.9", + "smooth-operator", "sparse-merkle-tree", "tendermint", "tendermint-proto", @@ -3930,8 +3913,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "ethabi", @@ -3963,8 +3946,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "linkme", @@ -3977,8 +3960,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "linkme", @@ -3992,8 +3975,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "itertools 0.10.5", @@ -4008,14 +3991,15 @@ dependencies = [ "namada_trans_token", "serde", "serde_json", + "smooth-operator", "thiserror", "tracing", ] [[package]] name = "namada_ibc" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "ibc", @@ -4043,8 +4027,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "data-encoding", "lazy_static", @@ -4057,8 +4041,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "eyre", @@ -4072,8 +4056,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4085,8 +4069,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4097,12 +4081,13 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "data-encoding", "derivative", + "konst", "linkme", "namada_account", "namada_controller", @@ -4117,22 +4102,23 @@ dependencies = [ "num-traits", "once_cell", "serde", + "smooth-operator", "thiserror", "tracing", ] [[package]] name = "namada_replay_protection" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "async-trait", "bimap", @@ -4183,6 +4169,7 @@ dependencies = [ "serde_json", "sha2 0.9.9", "slip10_ed25519", + "smooth-operator", "tendermint-config", "tendermint-rpc", "thiserror", @@ -4197,8 +4184,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4213,8 +4200,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "ics23", @@ -4241,8 +4228,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "itertools 0.10.5", @@ -4262,8 +4249,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "namada_core", "namada_events", @@ -4274,17 +4261,19 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ + "konst", "namada_core", + "namada_events", "namada_storage", ] [[package]] name = "namada_tx" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4311,8 +4300,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.34.0" -source = "git+https://github.com/anoma/namada?rev=d785578fd68dbecf62084c8cbd8f6ea516c3fa50#d785578fd68dbecf62084c8cbd8f6ea516c3fa50" +version = "0.35.1" +source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" dependencies = [ "borsh 1.2.1", "linkme", @@ -4532,9 +4521,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oneline-eyre" @@ -4632,7 +4621,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1" dependencies = [ "async-trait", - "crossbeam-channel 0.5.8", + "crossbeam-channel", "dashmap", "fnv", "futures-channel", @@ -4653,7 +4642,7 @@ checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", "getrandom 0.2.10", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] @@ -4726,7 +4715,7 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall 0.4.1", "smallvec", @@ -4746,13 +4735,13 @@ dependencies = [ [[package]] name = "password-hash" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", "rand_core 0.6.4", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -4765,7 +4754,7 @@ dependencies = [ "group", "rand 0.8.5", "static_assertions", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -4792,16 +4781,6 @@ dependencies = [ "crypto-mac 0.8.0", ] -[[package]] -name = "pbkdf2" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" -dependencies = [ - "digest 0.10.7", - "password-hash", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -4819,13 +4798,14 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac 0.12.1", + "password-hash", ] [[package]] name = "peg" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c0b841ea54f523f7aa556956fbd293bcbe06f2e67d2eb732b7278aaf1d166a" +checksum = "8a625d12ad770914cbf7eff6f9314c3ef803bfe364a1b20bc36ddf56673e71e5" dependencies = [ "peg-macros", "peg-runtime", @@ -4833,9 +4813,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" +checksum = "f241d42067ed3ab6a4fece1db720838e1418f36d868585a27931f95d6bc03582" dependencies = [ "peg-runtime", "proc-macro2", @@ -4844,9 +4824,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.7.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c719dcf55f09a3a7e764c6649ab594c18a177e3599c467983cdf644bfc0a4088" +checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" [[package]] name = "pem" @@ -4881,7 +4861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.2", + "indexmap 2.2.6", ] [[package]] @@ -5066,7 +5046,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fnv", "lazy_static", "memchr", @@ -5183,26 +5163,14 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" -[[package]] -name = "pulldown-cmark" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - [[package]] name = "quanta" -version = "0.11.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" dependencies = [ - "crossbeam-utils 0.8.16", + "crossbeam-utils", "libc", - "mach2", "once_cell", "raw-cpuid", "wasi 0.11.0+wasi-snapshot-preview1", @@ -5307,11 +5275,11 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "10.7.0" +version = "11.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" +checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -5354,15 +5322,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -5385,13 +5344,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] @@ -5406,9 +5365,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -5435,9 +5394,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.7", "bytes", @@ -5456,21 +5415,21 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls", - "rustls-native-certs", - "rustls-pemfile", + "rustls 0.21.7", + "rustls-native-certs 0.6.3", + "rustls-pemfile 1.0.3", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", "winreg", ] @@ -5487,7 +5446,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] @@ -5499,12 +5458,27 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", - "untrusted", + "spin 0.5.2", + "untrusted 0.7.1", "web-sys", "winapi", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.10", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -5579,20 +5553,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.20", + "semver 1.0.23", ] [[package]] name = "rustix" -version = "0.38.19" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -5602,11 +5576,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", - "ring", - "rustls-webpki", + "ring 0.16.20", + "rustls-webpki 0.101.6", "sct", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.3", + "subtle 2.5.0", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -5614,7 +5602,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.3", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.1.2", + "rustls-pki-types", "schannel", "security-framework", ] @@ -5628,14 +5629,41 @@ dependencies = [ "base64 0.21.7", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + [[package]] name = "rustls-webpki" version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] @@ -5674,7 +5702,7 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "derive_more", "parity-scale-codec", "scale-info-derive", @@ -5692,6 +5720,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "scc" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" version = "0.1.22" @@ -5749,10 +5786,16 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + [[package]] name = "sec1" version = "0.7.3" @@ -5764,15 +5807,15 @@ dependencies = [ "generic-array 0.14.7", "pkcs8", "serdect", - "subtle 2.4.1", + "subtle 2.5.0", "zeroize", ] [[package]] name = "secp256k1" -version = "0.27.0" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "bitcoin_hashes", "rand 0.8.5", @@ -5782,9 +5825,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.8.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +checksum = "e5d1746aae42c19d583c3c1a8c646bfad910498e2051c551a7f2e3c0c9fbb7eb" dependencies = [ "cc", ] @@ -5833,9 +5876,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -5863,18 +5906,18 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.189" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] [[package]] name = "serde-json-wasm" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c37d03f3b0f6b5f77c11af1e7c772de1c9af83e50bef7bb6069601900ba67b" +checksum = "f05da0d153dd4595bdffd5099dc0e9ce425b205ee648eb93437ff7302af8c9a5" dependencies = [ "serde", ] @@ -5900,9 +5943,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", @@ -5922,9 +5965,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -5954,9 +5997,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -5975,11 +6018,11 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.25" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -5998,23 +6041,23 @@ dependencies = [ [[package]] name = "serial_test" -version = "2.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" dependencies = [ - "dashmap", "futures", - "lazy_static", "log", + "once_cell", "parking_lot", + "scc", "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "2.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", @@ -6027,7 +6070,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.7", ] @@ -6051,7 +6094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.9.0", "opaque-debug 0.3.0", @@ -6063,7 +6106,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "digest 0.10.7", ] @@ -6124,9 +6167,9 @@ dependencies = [ [[package]] name = "simple-error" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc47a29ce97772ca5c927f75bac34866b16d64e07f330c3248e2d7226623901b" +checksum = "8542b68b8800c3cda649d2c72d688b6907b30f1580043135d61669d4aad1c175" [[package]] name = "simple_asn1" @@ -6140,21 +6183,6 @@ dependencies = [ "time", ] -[[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.9" @@ -6179,6 +6207,24 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +[[package]] +name = "smooth-operator" +version = "0.6.0" +source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd6c053f54418db836f7f03143fcd2f3" +dependencies = [ + "smooth-operator-impl", +] + +[[package]] +name = "smooth-operator-impl" +version = "0.6.0" +source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd6c053f54418db836f7f03143fcd2f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + [[package]] name = "socket2" version = "0.4.9" @@ -6205,7 +6251,7 @@ version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" dependencies = [ "borsh 1.2.1", - "cfg-if 1.0.0", + "cfg-if", "ics23", "itertools 0.12.1", "sha2 0.9.9", @@ -6217,6 +6263,12 @@ 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" @@ -6269,9 +6321,9 @@ checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subtle-encoding" @@ -6375,22 +6427,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", - "redox_syscall 0.3.5", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tendermint" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc2294fa667c8b548ee27a9ba59115472d0a09c2ba255771092a7f1dcf03a789" +checksum = "8b50aae6ec24c3429149ad59b5b8d3374d7804d4c7d6125ceb97cb53907fb68d" dependencies = [ "bytes", "digest 0.10.7", @@ -6410,7 +6461,7 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "signature", - "subtle 2.4.1", + "subtle 2.5.0", "subtle-encoding", "tendermint-proto", "time", @@ -6419,26 +6470,26 @@ dependencies = [ [[package]] name = "tendermint-config" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a25dbe8b953e80f3d61789fbdb83bf9ad6c0ef16df5ca6546f49912542cc137" +checksum = "e07b383dc8780ebbec04cfb603f3fdaba6ea6663d8dd861425b1ffa7761fe90d" dependencies = [ "flex-error", "serde", "serde_json", "tendermint", - "toml 0.5.11", + "toml 0.8.12", "url", ] [[package]] name = "tendermint-light-client" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94aecbdccbc4b557649b2d1b1a4bfc27ec85205e00fb8020fce044245a4c9e3f" +checksum = "331544139bbcf353acb5f56e733093d8e4bf2522cda0491b4bba7039ef0b944e" dependencies = [ "contracts", - "crossbeam-channel 0.4.4", + "crossbeam-channel", "derive_more", "flex-error", "futures", @@ -6458,12 +6509,11 @@ dependencies = [ [[package]] name = "tendermint-light-client-detector" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea83654b03e3ddc6782c9704a3fefd4d0671bd6c5e3f09d29e31fcb45e75636c" +checksum = "73d0ffaf614bd2db605c4762e3a31a536b73cd45488fa5bace050135ca348f28" dependencies = [ - "contracts", - "crossbeam-channel 0.4.4", + "crossbeam-channel", "derive_more", "flex-error", "futures", @@ -6482,9 +6532,9 @@ dependencies = [ [[package]] name = "tendermint-light-client-verifier" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74994da9de4b1144837a367ca2c60c650f5526a7c1a54760a3020959b522e474" +checksum = "4216e487165e5dbd7af79952eaa0d5f06c5bde861eb76c690acd7f2d2a19395c" dependencies = [ "derive_more", "flex-error", @@ -6495,14 +6545,12 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc728a4f9e891d71adf66af6ecaece146f9c7a11312288a3107b3e1d6979aaf" +checksum = "46f193d04afde6592c20fd70788a10b8cb3823091c07456db70d8a93f5fb99c1" dependencies = [ "bytes", "flex-error", - "num-derive", - "num-traits", "prost 0.12.3", "prost-types 0.12.1", "serde", @@ -6513,9 +6561,9 @@ dependencies = [ [[package]] name = "tendermint-rpc" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbf0a4753b46a190f367337e0163d0b552a2674a6bac54e74f9f2cdcde2969b" +checksum = "21e3c231a3632cab53f92ad4161c730c468c08cfe4f0aa5a6735b53b390aecbd" dependencies = [ "async-trait", "async-tungstenite", @@ -6525,12 +6573,13 @@ dependencies = [ "getrandom 0.2.10", "peg", "pin-project", + "rand 0.8.5", "reqwest", - "semver 1.0.20", + "semver 1.0.23", "serde", "serde_bytes", "serde_json", - "subtle 2.4.1", + "subtle 2.5.0", "subtle-encoding", "tendermint", "tendermint-config", @@ -6540,15 +6589,15 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 0.8.2", + "uuid 1.8.0", "walkdir", ] [[package]] name = "tendermint-testgen" -version = "0.34.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19d4f02b7e38ce790da973fdc9edc71a0e35340ac57737bf278c8379037c1f5" +checksum = "b233cec83c56c413ccc346af866cb9206a14d468fcecf0255080107bc9b103c0" dependencies = [ "ed25519-consensus 2.1.0", "gumdrop", @@ -6571,9 +6620,20 @@ dependencies = [ [[package]] name = "test-log" -version = "0.2.13" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +dependencies = [ + "env_logger", + "test-log-macros", + "tracing-subscriber", +] + +[[package]] +name = "test-log-macros" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" +checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" dependencies = [ "proc-macro2", "quote", @@ -6588,18 +6648,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", @@ -6612,7 +6672,7 @@ version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "once_cell", ] @@ -6765,7 +6825,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.7", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", "tokio", ] @@ -6815,11 +6886,23 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "toml" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.12", +] + [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -6830,11 +6913,11 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.5.17", ] [[package]] @@ -6843,16 +6926,29 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.0.2", + "indexmap 2.2.6", + "toml_datetime", + "winnow 0.5.17", +] + +[[package]] +name = "toml_edit" +version = "0.22.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.8", ] [[package]] name = "tonic" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" dependencies = [ "async-stream", "async-trait", @@ -6867,11 +6963,11 @@ dependencies = [ "percent-encoding", "pin-project", "prost 0.12.3", - "rustls", - "rustls-native-certs", - "rustls-pemfile", + "rustls-native-certs 0.7.0", + "rustls-pemfile 2.1.2", + "rustls-pki-types", "tokio", - "tokio-rustls", + "tokio-rustls 0.25.0", "tokio-stream", "tower", "tower-layer", @@ -7033,18 +7129,19 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" dependencies = [ "byteorder", "bytes", "data-encoding", - "http 0.2.9", + "http 1.1.0", "httparse", "log", "rand 0.8.5", - "rustls", + "rustls 0.22.4", + "rustls-pki-types", "sha1", "thiserror", "url", @@ -7096,15 +7193,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.13" @@ -7145,14 +7233,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.4.1", + "subtle 2.5.0", ] [[package]] name = "unsafe-libyaml" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "untrusted" @@ -7160,6 +7248,12 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.4.1" @@ -7189,6 +7283,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.8.2" @@ -7201,9 +7301,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.5.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ "getrandom 0.2.10", ] @@ -7266,7 +7366,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -7291,7 +7391,7 @@ version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "wasm-bindgen", "web-sys", @@ -7426,6 +7526,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -7456,6 +7565,22 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -7468,6 +7593,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -7480,6 +7611,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -7492,6 +7629,18 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -7504,6 +7653,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -7516,6 +7671,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -7528,6 +7689,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -7540,6 +7707,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + [[package]] name = "winnow" version = "0.5.17" @@ -7549,13 +7722,22 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "windows-sys 0.48.0", ] diff --git a/Cargo.toml b/Cargo.toml index b093009c8b..e59c17d9e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,6 +38,12 @@ tendermint-proto = { version = "0.36.0" } tendermint-rpc = { version = "0.36.0" } tendermint-testgen = { version = "0.36.0" } +# Namada dependencies +namada_ibc = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } +namada_trans_token = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } + # Other dependencies abscissa_core = "=0.6.0" anyhow = "1.0" @@ -90,6 +96,7 @@ regex = "1.10.4" reqwest = { version = "0.11.27", default-features = false } retry = { version = "2.0.0", default-features = false } ripemd = "0.1.3" +rpassword = "5.0.1" secp256k1 = "0.28.2" semver = "1.0.21" serde = "1.0.197" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index c900137455..b2de526166 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -46,6 +46,10 @@ humantime = { workspace = true } humantime-serde = { workspace = true } itertools = { workspace = true } moka = { workspace = true, features = ["sync"] } +namada_ibc = { workspace = true } +namada_parameters = { workspace = true } +namada_sdk = { workspace = true } +namada_trans_token = { workspace = true } num-bigint = { workspace = true, features = ["serde"] } num-rational = { workspace = true, features = ["num-bigint", "serde"] } once_cell = { workspace = true } @@ -54,6 +58,7 @@ regex = { workspace = true } reqwest = { workspace = true, features = ["rustls-tls-native-roots", "json"] } retry = { workspace = true } ripemd = { workspace = true } +rpassword = { workspace = true } secp256k1 = { workspace = true, features = ["rand-std"] } semver = { workspace = true } serde = { workspace = true } @@ -80,22 +85,6 @@ tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ["fmt", "env-filter", "json"] } uuid = { workspace = true, features = ["v4"] } -[dependencies.namada_ibc] -git = "https://github.com/anoma/namada" -rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" - -[dependencies.namada_parameters] -git = "https://github.com/anoma/namada" -rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" - -[dependencies.namada_sdk] -git = "https://github.com/anoma/namada" -rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" - -[dependencies.namada_trans_token] -git = "https://github.com/anoma/namada" -rev = "d785578fd68dbecf62084c8cbd8f6ea516c3fa50" - [dev-dependencies] ibc-relayer-types = { workspace = true } serial_test = { workspace = true } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index d8d5b35871..3c31e8c409 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -126,10 +126,14 @@ impl NamadaChain { *batch_delay, self.rt.clone(), ), - Mode::Pull { interval } => EventSource::rpc( + Mode::Pull { + interval, + max_retries, + } => EventSource::rpc( self.config.id.clone(), self.ctx.client().clone(), *interval, + *max_retries, self.rt.clone(), ), } diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index 7928c20ee3..f6ceef5789 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -735,7 +735,7 @@ impl ChainConfig { pub fn excluded_sequences(&self, channel_id: &ChannelId) -> Cow<'_, [Sequence]> { match self { - Self::CosmosSdk(config) => config + Self::CosmosSdk(config) | Self::Namada(config) => config .excluded_sequences .get(channel_id) .map(|seqs| Cow::Borrowed(seqs.as_slice())) diff --git a/crates/relayer/src/light_client/tendermint.rs b/crates/relayer/src/light_client/tendermint.rs index 1133c9ea61..9fbc13224e 100644 --- a/crates/relayer/src/light_client/tendermint.rs +++ b/crates/relayer/src/light_client/tendermint.rs @@ -146,7 +146,7 @@ impl super::LightClient for LightClient { }?; let client_state = match client_state { - AnyClientState::Tendermint(client_state) => Ok(client_state), + AnyClientState::Tendermint(client_state) => Ok::<_, Error>(client_state), }?; let next_validators = self @@ -307,7 +307,7 @@ impl LightClient { let scheduler = components::scheduler::basic_bisecting_schedule; let client_state = match client_state { - AnyClientState::Tendermint(client_state) => Ok(client_state), + AnyClientState::Tendermint(client_state) => Ok::<_, Error>(client_state), }?; Ok(TmLightClient::new( diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 4db3655223..d559230e7e 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -128,15 +128,26 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-channel channel-0 echo "==== Balances on Namada ====" -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ --token ${IBC_TOKEN} \ --owner relayer \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [ "${balance}" != "${IBC_TOKEN}: 100" ]; then + echo "The balance on Namada is wrong" + exit 1 +fi echo "==== Balances on Gaia ====" gaia_user=$(gaiad --home ${DATA_DIR}/gaia-0 \ keys --keyring-backend="test" show user -a) -gaiad query bank balances ${gaia_user} +balance=$(gaiad query bank balances ${gaia_user}) +echo "${balance}" +balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') +if [ "${balance}" != "- amount: \"9900\" denom: samoleans" ]; then + echo "The balance on Gaia is wrong" + exit 1 +fi echo "~~ Transfer back 50 samoleans from Namada to Gaia ~~" ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ @@ -165,13 +176,24 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-channel channel-0 echo "==== Balances on Namada ====" -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ --token ${IBC_TOKEN} \ --owner relayer \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [ "${balance}" != "${IBC_TOKEN}: 50" ]; then + echo "The balance on Namada is wrong" + exit 1 +fi echo "==== Balances on Gaia ====" -gaiad query bank balances ${gaia_user} +balance=$(gaiad query bank balances ${gaia_user}) +echo "${balance}" +balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') +if [ "${balance}" != "- amount: \"9950\" denom: samoleans" ]; then + echo "The balance on Gaia is wrong" + exit 1 +fi echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ @@ -191,13 +213,24 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ sleep 15 echo "==== Balances on Namada ====" -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token apfel \ --owner relayer \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [ "${balance}" != "apfel: 800" ]; then + echo "The balance on Namada is wrong" + exit 1 +fi echo "==== Balances on Gaia ====" -gaiad query bank balances ${gaia_user} +balance=$(gaiad query bank balances ${gaia_user}) +echo "${balance}" +balance=$(echo "${balance}" | grep ibc -B 1 | tr -d '\n') +if [[ "${balance}" != *"- amount: \"200\" denom: ibc/"* ]]; then + echo "The balance on Gaia is wrong" + exit 1 +fi echo "~~ Shielding transfer 10 samoleans from Gaia to Namada ~~" cargo run --bin hermes -- --config config_for_namada.toml \ @@ -218,13 +251,24 @@ echo "==== Balance of shielded_a on Namada ====" ${NAMADAC} --base-dir ${base_dir} shielded-sync \ --viewing-keys ${SHIELDED_ALIAS_A} \ --node ${NAMADA_LEDGER_ADDR} -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ --owner ${SHIELDED_ALIAS_A} \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 10" ]]; then + echo "The balance of shielded_a on Namada is wrong" + exit 1 +fi echo "==== Balances on Gaia ====" -gaiad query bank balances ${gaia_user} +balance=$(gaiad query bank balances ${gaia_user}) +echo "${balance}" +balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') +if [ "${balance}" != "- amount: \"9940\" denom: samoleans" ]; then + echo "The balance on Gaia is wrong" + exit 1 +fi echo "~~ Shielded transfer 5 apfel from shielded_a to shielded_b ~~" ${NAMADAC} --base-dir ${base_dir} transfer \ @@ -239,16 +283,26 @@ echo "==== Balance of shielded_a on Namada ====" ${NAMADAC} --base-dir ${base_dir} shielded-sync \ --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ --node ${NAMADA_LEDGER_ADDR} -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ --owner ${SHIELDED_ALIAS_A} \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 5" ]]; then + echo "The balance of shielded_a on Namada is wrong" + exit 1 +fi echo "==== Balance of shielded_b on Namada ====" -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ --owner ${SHIELDED_ALIAS_B} \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 5"* ]]; then + echo "The balance of shielded_b on Namada is wrong" + exit 1 +fi echo "~~ Transfer back 5 samoleans from Namada to Gaia ~~" ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ @@ -267,19 +321,35 @@ echo "==== Balances of shielded_a on Namada ====" ${NAMADAC} --base-dir ${base_dir} shielded-sync \ --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ --node ${NAMADA_LEDGER_ADDR} -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ --owner ${SHIELDED_ALIAS_A} \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 5"* ]]; then + echo "The balance of shielded_a on Namada is wrong" + exit 1 +fi echo "==== Balances of shielded_b on Namada ====" -${NAMADAC} --base-dir ${base_dir} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir} balance \ + --token ${IBC_TOKEN} \ --owner ${SHIELDED_ALIAS_B} \ - --show-ibc-tokens \ - --node ${NAMADA_LEDGER_ADDR} + --node ${NAMADA_LEDGER_ADDR}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 0"* ]]; then + echo "The balance of shielded_b on Namada is wrong" + exit 1 +fi echo "==== Balances on Gaia ====" -gaiad query bank balances ${gaia_user} +balance=$(gaiad query bank balances ${gaia_user}) +echo "${balance}" +balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') +if [ "${balance}" != "- amount: \"9945\" denom: samoleans" ]; then + echo "The balance on Gaia is wrong" + exit 1 +fi killall hermes killall gaiad diff --git a/e2e/namada-shielded-transfers b/e2e/namada-shielded-transfers deleted file mode 100755 index c33cddbdb1..0000000000 --- a/e2e/namada-shielded-transfers +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/bash - -# This script executes shielded transfers between Namada instances locally -# `make build` and `make build-wasm-scripts` on Namada directory in advance -# Run with `namada-shielded-transfers ${namada_dir}` - -set -e - -NAMADA_DIR=$1 -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi -cd $(dirname $0) -HERMES_DIR=${PWD%/e2e*} - -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -DATA_DIR="${HERMES_DIR}/data" - -SHIELDED_ALIAS_A="shielded_a" -SHIELDED_ALIAS_B="shielded_b" -SHIELDED_ALIAS_B_2="shielded_b_2" -PAYMENT_ALIAS_A="payment_a" -PAYMENT_ALIAS_B="payment_b" -PAYMENT_ALIAS_B_2="payment_b_2" -LEDGER_ADDR_A="http://127.0.0.1:27657" -LEDGER_ADDR_B="http://127.0.0.1:28657" -INITIAL_BALANCE=5000 - -function init_relayer_balance() { - local suffix=$1 - local ledger_addr=$2 - - local base_dir=${DATA_DIR}/namada-${suffix} - - ${NAMADAC} --base-dir ${base_dir} \ - transfer \ - --source albert \ - --target relayer \ - --token nam \ - --amount ${INITIAL_BALANCE} \ - --node ${ledger_addr} -} - -# ==== main ==== - -# Run 2 Namada chains -${HERMES_DIR}/scripts/setup-namada ${NAMADA_DIR} - -cd ${HERMES_DIR} -ids=$(grep "id" config_for_namada.toml | awk -F"'" '/^id/ {print $2}') -chain_a=$(echo ${ids} | awk '{print $1}') -chain_b=$(echo ${ids} | awk '{print $2}') - -# Initialize the balances -init_relayer_balance "a" ${LEDGER_ADDR_A} -init_relayer_balance "b" ${LEDGER_ADDR_B} - -# Create a channel -cargo run --bin hermes -- --config config_for_namada.toml \ - create channel \ - --a-chain ${chain_a} \ - --b-chain ${chain_b} \ - --a-port transfer \ - --b-port transfer \ - --new-client-connection --yes - -base_dir_a=${DATA_DIR}/namada-a -base_dir_b=${DATA_DIR}/namada-b - -# setup shielded keys -${NAMADAW} --base-dir ${base_dir_a} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_a} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} -payment_addr_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') - -${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} -payment_addr_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') - -${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B_2} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B_2} --key ${SHIELDED_ALIAS_B_2} -payment_addr_b_2=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B_2} | awk -v paymentAlias="${PAYMENT_ALIAS_B_2}" '{if($1 ~ paymentAlias) {print $2}}') - -# faucet apfel on chain_a and chain_b -${NAMADAC} --base-dir ${base_dir_a} transfer \ - --source albert \ - --target ${payment_addr_a} \ - --token apfel \ - --amount 1000 \ - --signing-keys albert-key \ - --node ${LEDGER_ADDR_A} - -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} - -echo "==== Start Hermes ====" -cargo run --bin hermes -- --config config_for_namada.toml \ - start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & - -echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" -${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ - --source ${SHIELDED_ALIAS_A} \ - --receiver ${payment_addr_b} \ - --token apfel \ - --amount 100 \ - --channel-id channel-0 \ - --gas-payer relayer \ - --node ${LEDGER_ADDR_A} - -# wait for relaying -sleep 40 - -echo "==== Balances on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} -${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner ${SHIELDED_ALIAS_A} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_A} - -echo "==== Balances on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B} -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner ${SHIELDED_ALIAS_B} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} - -echo "~~ Shielded transfer 50 apfel from shielded_b to shielded_b_2 ~~" -${NAMADAC} --base-dir ${base_dir_b} transfer \ - --source ${SHIELDED_ALIAS_B} \ - --target ${payment_addr_b_2} \ - --token "transfer/channel-0/apfel" \ - --amount 50 \ - --signing-keys relayer \ - --node ${LEDGER_ADDR_B} - -echo "==== Balance of shielded_b on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B} -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner ${SHIELDED_ALIAS_B} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} - -echo "==== Balance of shielded_b_2 on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B_2} \ - --node ${LEDGER_ADDR_B} -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner ${SHIELDED_ALIAS_B_2} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} - -echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" -${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ - --source ${SHIELDED_ALIAS_B_2} \ - --receiver ${payment_addr_a} \ - --token "transfer/channel-0/apfel" \ - --amount 50 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --node ${LEDGER_ADDR_B} - -# wait for relaying -sleep 40 - -echo "==== Balances of shielded_a on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} -${NAMADAC} --base-dir ${base_dir_a} balance \ - --owner ${SHIELDED_ALIAS_A} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_A} - -echo "==== Balances of shielded_b on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner ${SHIELDED_ALIAS_B} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} - -echo "==== Balance of shielded_b_2 on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner ${SHIELDED_ALIAS_B_2} \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} - -killall hermes -killall namadan diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 93777093e0..f38c28c702 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -18,7 +18,14 @@ HERMES_DIR=${PWD%/e2e*} NAMADAC="${NAMADA_DIR}/target/debug/namadac" NAMADAW="${NAMADA_DIR}/target/debug/namadaw" DATA_DIR="${HERMES_DIR}/data" - +IBC_TOKEN="transfer/channel-0/apfel" + +SHIELDED_ALIAS_A="shielded_a" +SHIELDED_ALIAS_B="shielded_b" +SHIELDED_ALIAS_B_2="shielded_b_2" +PAYMENT_ALIAS_A="payment_a" +PAYMENT_ALIAS_B="payment_b" +PAYMENT_ALIAS_B_2="payment_b_2" LEDGER_ADDR_A="http://127.0.0.1:27657" LEDGER_ADDR_B="http://127.0.0.1:28657" INITIAL_BALANCE=5000 @@ -61,9 +68,23 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --b-port transfer \ --new-client-connection --yes -# faucet apfel on chain_a and chain_b base_dir_a=${DATA_DIR}/namada-a base_dir_b=${DATA_DIR}/namada-b + +# Setup shielded keys +${NAMADAW} --base-dir ${base_dir_a} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_a} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} +payment_addr_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') + +${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} +payment_addr_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') + +${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B_2} --unsafe-dont-encrypt +${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B_2} --key ${SHIELDED_ALIAS_B_2} +payment_addr_b_2=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B_2} | awk -v paymentAlias="${PAYMENT_ALIAS_B_2}" '{if($1 ~ paymentAlias) {print $2}}') + +# Faucet apfel on chain A and chain B ${NAMADAC} --base-dir ${base_dir_a} transfer \ --source albert \ --target relayer \ @@ -80,11 +101,23 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ --signing-keys albert-key \ --node ${LEDGER_ADDR_B} +# Faucet apfel for shielded_a +${NAMADAC} --base-dir ${base_dir_a} transfer \ + --source albert \ + --target ${payment_addr_a} \ + --token apfel \ + --amount 1000 \ + --signing-keys albert-key \ + --node ${LEDGER_ADDR_A} +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} + # Get the receiver addresses receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias relayer | awk '/"relayer":/{print $3}') receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias relayer | awk '/"relayer":/{print $3}') -echo "~~ Transfer 100 apfel from chain_a to chain_b ~~" +echo "~~ Transfer 100 apfel from chain A to chain B ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source relayer \ --receiver ${receiver_b} \ @@ -111,30 +144,32 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-channel channel-0 echo "==== Balances on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_A} + --node ${LEDGER_ADDR_A}) +echo ${balance} +if [ "${balance}" != "apfel: 900" ]; then + echo "The balance on chain A is wrong" + exit 1 +fi echo "==== Balances on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} balance \ - --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} -# get token address -received_token=$(${NAMADAC} --base-dir ${base_dir_b} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} \ - | sed -e s/://g \ - | awk '$1 ~ /transfer\/channel-0/ {print $1}') + --node ${LEDGER_ADDR_B}) +echo ${balance} +if [ "${balance}" != "${IBC_TOKEN}: 100" ]; then + echo "The balance on chain B is wrong" + exit 1 +fi -echo "~~ Transfer back 50 apfel from chain_b to chain_a ~~" +echo "~~ Transfer back 50 apfel from chain B to chain A ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ - --token ${received_token} \ + --token ${IBC_TOKEN} \ --amount 50 \ --signing-keys relayer \ --channel-id channel-0 \ @@ -157,24 +192,32 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --src-channel channel-0 echo "==== Balances on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ --token apfel \ --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_A} + --node ${LEDGER_ADDR_A}) +echo ${balance} +if [ "${balance}" != "apfel: 950" ]; then + echo "The balance on chain A is wrong" + exit 1 +fi echo "==== Balances on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${received_token} \ +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_B} + --node ${LEDGER_ADDR_B}) +echo ${balance} +if [ "${balance}" != "${IBC_TOKEN}: 50" ]; then + echo "The balance on chain B is wrong" + exit 1 +fi echo "==== Start Hermes ====" cargo run --bin hermes -- --config config_for_namada.toml \ start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & -echo "~~ Transfer 200 apfel from chain_a to chain_b ~~" +echo "~~ Transfer 200 apfel from chain A to chain B ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source relayer \ --receiver ${receiver_b} \ @@ -184,7 +227,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_A} -echo "~~ Transfer 300 apfel from chain_b to chain_a ~~" +echo "~~ Transfer 300 apfel from chain B to chain A ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ @@ -198,16 +241,175 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ sleep 15 echo "==== Balances on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ --owner relayer \ - --show-ibc-tokens \ - --node ${LEDGER_ADDR_A} + --node ${LEDGER_ADDR_A}) +echo ${balance} +if [ "${balance}" != "apfel: 750" ]; then + echo "The balance on chain A is wrong" + exit 1 +fi + +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ + --token ${IBC_TOKEN} \ + --owner relayer \ + --node ${LEDGER_ADDR_A}) +echo ${balance} +if [ "${balance}" != "${IBC_TOKEN}: 300" ]; then + echo "The balance on chain A is wrong" + exit 1 +fi echo "==== Balances on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} balance \ +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token apfel \ + --owner relayer \ + --node ${LEDGER_ADDR_B}) +echo ${balance} +if [ "${balance}" != "apfel: 700" ]; then + echo "The balance on chain B is wrong" + exit 1 +fi + +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ --owner relayer \ - --show-ibc-tokens \ + --node ${LEDGER_ADDR_B}) +echo ${balance} +if [ "${balance}" != "${IBC_TOKEN}: 250" ]; then + echo "The balance on chain B is wrong" + exit 1 +fi + +echo "==== Shielded transfer tests ====" + +echo "~~ Shielded transfer 100 apfel from chain A to chain B ~~" +${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ + --source ${SHIELDED_ALIAS_A} \ + --receiver ${payment_addr_b} \ + --token apfel \ + --amount 100 \ + --channel-id channel-0 \ + --gas-payer relayer \ + --node ${LEDGER_ADDR_A} + +# wait for relaying +sleep 40 + +echo "==== Balance of shielded_a on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A}) +echo "${balance}" +if [[ "${balance}" != *"apfel: 900" ]]; then + echo "The balance of shielded_a on chain A is wrong" + exit 1 +fi + +echo "==== Balance of shielded_b on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B} \ --node ${LEDGER_ADDR_B} +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 100" ]]; then + echo "The balance of shielded_b on chain B is wrong" + exit 1 +fi + +echo "~~ Shielded transfer 50 apfel from shielded_b to shielded_b_2 ~~" +${NAMADAC} --base-dir ${base_dir_b} transfer \ + --source ${SHIELDED_ALIAS_B} \ + --target ${payment_addr_b_2} \ + --token ${IBC_TOKEN} \ + --amount 50 \ + --signing-keys relayer \ + --node ${LEDGER_ADDR_B} + +echo "==== Balance of shielded_b on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B} +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then + echo "The balance of shielded_b on chain B is wrong" + exit 1 +fi + +echo "==== Balance of shielded_b_2 on chain B ====" +${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B} +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ + --owner ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then + echo "The balance of shielded_b_2 on chain B is wrong" + exit 1 +fi + +echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" +${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ + --source ${SHIELDED_ALIAS_B_2} \ + --receiver ${payment_addr_a} \ + --token ${IBC_TOKEN} \ + --amount 50 \ + --signing-keys relayer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_B} + +# wait for relaying +sleep 40 + +echo "==== Balances of shielded_a on chain A ====" +${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ + --viewing-keys ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A} +balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ + --token apfel \ + --owner ${SHIELDED_ALIAS_A} \ + --node ${LEDGER_ADDR_A}) +echo "${balance}" +if [[ "${balance}" != *"apfel: 950" ]]; then + echo "The balance of shielded_a on chain A is wrong" + exit 1 +fi + +echo "==== Balances of shielded_b on chain B ====" +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ + --owner ${SHIELDED_ALIAS_B} \ + --node ${LEDGER_ADDR_B}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then + echo "The balance of shielded_b on chain B is wrong" + exit 1 +fi + +echo "==== Balance of shielded_b_2 on chain B ====" +balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ + --token ${IBC_TOKEN} \ + --owner ${SHIELDED_ALIAS_B_2} \ + --node ${LEDGER_ADDR_B}) +echo "${balance}" +if [[ "${balance}" != *"${IBC_TOKEN}: 0" ]]; then + echo "The balance of shielded_b_2 on chain B is wrong" + exit 1 +fi killall hermes killall namadan From 025a69bdc16cc28b3973040a5e995bc605935ac7 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 17 May 2024 21:49:28 +0200 Subject: [PATCH 035/103] Namada 0.36 draft --- Cargo.lock | 667 ++++++++++---------------- Cargo.toml | 8 +- crates/relayer/src/chain/namada/tx.rs | 1 - 3 files changed, 245 insertions(+), 431 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a2868839f4..f4aac975a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -73,7 +73,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", - "generic-array 0.14.7", + "generic-array", ] [[package]] @@ -219,7 +219,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-bigint 0.4.4", + "num-bigint", "num-traits", "paste", "rustc_version 0.3.3", @@ -242,7 +242,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ - "num-bigint 0.4.4", + "num-bigint", "num-traits", "quote", "syn 1.0.109", @@ -442,9 +442,9 @@ checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base58" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" +checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" [[package]] name = "base64" @@ -501,7 +501,7 @@ dependencies = [ "group", "pairing", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -633,25 +633,13 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - [[package]] name = "block-buffer" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.7", + "generic-array", ] [[package]] @@ -660,16 +648,7 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", + "generic-array", ] [[package]] @@ -682,7 +661,7 @@ dependencies = [ "group", "pairing", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -784,12 +763,6 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - [[package]] name = "byte-unit" version = "4.0.19" @@ -915,7 +888,9 @@ checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", + "wasm-bindgen", "windows-targets 0.48.5", ] @@ -1029,7 +1004,7 @@ dependencies = [ "bech32 0.9.1", "bs58", "digest 0.10.7", - "generic-array 0.14.7", + "generic-array", "hex", "ripemd", "serde", @@ -1192,9 +1167,9 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ - "generic-array 0.14.7", + "generic-array", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -1204,28 +1179,18 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.7", + "generic-array", "typenum", ] -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" -dependencies = [ - "generic-array 0.12.4", - "subtle 1.0.0", -] - [[package]] name = "crypto-mac" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.14.7", - "subtle 2.5.0", + "generic-array", + "subtle", ] [[package]] @@ -1256,7 +1221,7 @@ dependencies = [ "fiat-crypto", "platforms", "rustc_version 0.4.0", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -1363,22 +1328,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" -dependencies = [ - "generic-array 0.12.4", -] - [[package]] name = "digest" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.7", + "generic-array", ] [[package]] @@ -1390,7 +1346,7 @@ dependencies = [ "block-buffer 0.10.4", "const-oid", "crypto-common", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -1451,6 +1407,20 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +[[package]] +name = "duration-str" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c1a2e028bbf7921549873b291ddc0cfe08b673d9489da81ac28898cd5a0e6e0" +dependencies = [ + "chrono", + "rust_decimal", + "serde", + "thiserror", + "time", + "winnow 0.6.8", +] + [[package]] name = "dyn-clone" version = "1.0.17" @@ -1483,21 +1453,6 @@ dependencies = [ "signature", ] -[[package]] -name = "ed25519-consensus" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758e2a0cd8a6cdf483e1d369e7d081647e00b88d8953e34d8f2cbba05ae28368" -dependencies = [ - "curve25519-dalek-ng", - "hex", - "rand_core 0.6.4", - "serde", - "sha2 0.9.9", - "thiserror", - "zeroize", -] - [[package]] name = "ed25519-consensus" version = "2.1.0" @@ -1507,7 +1462,9 @@ dependencies = [ "curve25519-dalek-ng", "hex", "rand_core 0.6.4", + "serde", "sha2 0.9.9", + "thiserror", "zeroize", ] @@ -1553,13 +1510,13 @@ dependencies = [ "crypto-bigint", "digest 0.10.7", "ff", - "generic-array 0.14.7", + "generic-array", "group", "pkcs8", "rand_core 0.6.4", "sec1", "serdect", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -1794,7 +1751,7 @@ dependencies = [ "dunce", "ethers-core", "eyre", - "prettyplease 0.2.15", + "prettyplease", "proc-macro2", "quote", "regex", @@ -1834,7 +1791,7 @@ dependencies = [ "const-hex", "elliptic-curve", "ethabi", - "generic-array 0.14.7", + "generic-array", "k256", "num_enum", "once_cell", @@ -1958,12 +1915,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fastrand" version = "2.0.1" @@ -1989,7 +1940,7 @@ checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ "bitvec", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -2050,7 +2001,7 @@ dependencies = [ "cbc", "cipher", "libm", - "num-bigint 0.4.4", + "num-bigint", "num-integer", "num-traits", ] @@ -2185,15 +2136,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2258,7 +2200,7 @@ dependencies = [ "ff", "memuse", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -2378,23 +2320,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" -[[package]] -name = "hmac" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" -dependencies = [ - "crypto-mac 0.7.0", - "digest 0.8.1", -] - [[package]] name = "hmac" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac", "digest 0.9.0", ] @@ -2407,17 +2339,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hmac-drbg" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" -dependencies = [ - "digest 0.8.1", - "generic-array 0.12.4", - "hmac 0.7.1", -] - [[package]] name = "hmac-sha512" version = "0.1.9" @@ -2569,8 +2490,9 @@ dependencies = [ [[package]] name = "ibc" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9298a8de81eea8d496672e47f13ab1ae5145b3b554ec3951222197697e1cf82" dependencies = [ "ibc-apps", "ibc-clients", @@ -2582,8 +2504,9 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4d7728ae132ecb49286f225d0ab6ad56b2a15af47e019da45ad23fd789d76f" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2592,8 +2515,9 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333b2fcc0226d150e996fddd3fd2041460c7ed7e7594b65077026c7e38587329" dependencies = [ "base64 0.21.7", "borsh 0.10.3", @@ -2613,8 +2537,9 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf138e322daa7b757b66a8c9a5bcac00773136f4b939b6cfb43bb95576ba59d" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2623,8 +2548,9 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e8777875777e43f3c18a340ac5ea2223dc87a67b60d99e451142eac3b7b7a46" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2641,8 +2567,9 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac849a9d4f6097cc81405b00428fd73b04ce5290d806ce7f5c8afd42fbfb9bd" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2669,8 +2596,9 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804dcd81f62608c453e72f669b2df986eb49d4b4381deac2a70bd33ee94cef7f" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2686,8 +2614,9 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b41444137be02cabc484079443f447d23e746fabd9ac6fd5d99faac0b30a5f" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -2703,8 +2632,9 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc05b707ee957b1272877606379647ae1e5897316a3406b6a93e1885ee99e68" dependencies = [ "base64 0.21.7", "displaydoc", @@ -2717,8 +2647,9 @@ dependencies = [ [[package]] name = "ibc-clients" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675754a0a5f2f70f71445338fa4d8b49d3c84ce1cf4748ca6c98bf6ede9c4bfc" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2726,8 +2657,9 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cb69c4ee05d367fa321acf67ec00d3e9f8ecfef013accdb05889db32ff2de3f" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2742,8 +2674,9 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5dcc1c14a92f01e556d72d834f842bb655043a7e122ebb8aabdb5e9df600aa8" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2757,8 +2690,9 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c2744ad32ae7360caefb80f495800f883f5e5687cfbd74ff82a444b59a47af7" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2780,8 +2714,9 @@ dependencies = [ [[package]] name = "ibc-core-client" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80071ac73dd4f3436bf1aef03c9b1715a4db0914f738904c281449dc05a0a9cf" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2793,8 +2728,9 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9f751b62cad4195be5347646151020fd27c2924f10d82d6301a675fac544dd" dependencies = [ "derive_more", "displaydoc", @@ -2809,8 +2745,9 @@ dependencies = [ [[package]] name = "ibc-core-client-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "423e9e9a70b78fabc94c51dae76800459e126f891ae0987e88ac5e12c36e24de" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2829,8 +2766,9 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b323c91e58ea7b573e01b8e76d13f146c97c245ada0aab3070576d54288f30" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2847,8 +2785,9 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31271364789ccfc12c25afa21b47274d7e07bf49b1f728fd66cfa6c29daaf4a" dependencies = [ "ibc-core-client", "ibc-core-connection-types", @@ -2859,8 +2798,9 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52d302a36925469589a911dab66654f390b87e98608d07515e47f5c7e51dffe7" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2880,8 +2820,9 @@ dependencies = [ [[package]] name = "ibc-core-handler" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4523b9f77d3a1a391a3d63737760be44b23bc9b09ed297883a34654383b9b0e2" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2895,8 +2836,9 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b229a92aa8b06ab9ccde6e1b3dad597deb97cb40e3bb6a631799b4cd2ad124" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2919,8 +2861,9 @@ dependencies = [ [[package]] name = "ibc-core-host" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ed7421f285225b78f3d020df6126b61f94b9eb370a83e42fbd4e9c8b04162fa" dependencies = [ "derive_more", "displaydoc", @@ -2937,8 +2880,9 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b25b5b45cf47b1e73211a83adf3a753f1acdba887cd3bc5357d6f547d4a3e8c" dependencies = [ "derive_more", "displaydoc", @@ -2960,8 +2904,9 @@ dependencies = [ [[package]] name = "ibc-core-host-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939178939d33e5af1aca19608b019233d753f3734b828d66f40152b382f3db53" dependencies = [ "borsh 0.10.3", "derive_more", @@ -2975,8 +2920,9 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328e6db6d3aa7126278c46c3dff779aa961952a63d031d3ddf4c202f4a3faad4" dependencies = [ "derive_more", "displaydoc", @@ -2989,8 +2935,9 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4175b57087b28759364572683b335ec4fe63a6f938f1a5d0c383a6297a032155" dependencies = [ "borsh 0.10.3", "derive_more", @@ -3009,7 +2956,8 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d961d2194fd5229961835d2eb78091906ef8afbaaa55bce7ad41bf3ead8aa9" dependencies = [ "proc-macro2", "quote", @@ -3025,7 +2973,7 @@ dependencies = [ "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", - "prost 0.12.3", + "prost", "serde", "serde_json", "tempfile", @@ -3038,15 +2986,16 @@ dependencies = [ [[package]] name = "ibc-primitives" -version = "0.52.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd#2367cb9b90fbfb4f848b83d5d2a421f81f37e7bd" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b3340c4908f1a1a36863270ac976e0295fbd1911cbc4609ab406967fd8ccc04" dependencies = [ "borsh 0.10.3", "derive_more", "displaydoc", "ibc-proto", "parity-scale-codec", - "prost 0.12.3", + "prost", "scale-info", "schemars", "serde", @@ -3067,7 +3016,7 @@ dependencies = [ "ics23", "informalsystems-pbjson", "parity-scale-codec", - "prost 0.12.3", + "prost", "scale-info", "schemars", "serde", @@ -3096,7 +3045,7 @@ dependencies = [ "env_logger", "flex-error", "futures", - "generic-array 0.14.7", + "generic-array", "hdpath", "hex", "http 0.2.9", @@ -3111,10 +3060,10 @@ dependencies = [ "namada_parameters", "namada_sdk", "namada_trans_token", - "num-bigint 0.4.4", - "num-rational 0.4.1", + "num-bigint", + "num-rational", "once_cell", - "prost 0.12.3", + "prost", "regex", "reqwest", "retry", @@ -3218,9 +3167,9 @@ dependencies = [ "ibc-proto", "ics23", "itertools 0.12.1", - "num-rational 0.4.1", + "num-rational", "primitive-types", - "prost 0.12.3", + "prost", "regex", "serde", "serde_derive", @@ -3274,7 +3223,7 @@ dependencies = [ "ibc-relayer-types", "itertools 0.12.1", "once_cell", - "prost 0.12.3", + "prost", "rand 0.8.5", "semver 1.0.23", "serde", @@ -3302,7 +3251,7 @@ dependencies = [ "bytes", "hex", "informalsystems-pbjson", - "prost 0.12.3", + "prost", "ripemd", "serde", "sha2 0.10.8", @@ -3445,7 +3394,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", ] [[package]] @@ -3545,7 +3494,7 @@ dependencies = [ "ff", "group", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -3610,22 +3559,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -[[package]] -name = "libsecp256k1" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" -dependencies = [ - "arrayref", - "crunchy", - "digest 0.8.1", - "hmac-drbg", - "rand 0.7.3", - "sha2 0.8.2", - "subtle 2.5.0", - "typenum", -] - [[package]] name = "linkme" version = "0.3.25" @@ -3671,20 +3604,20 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" +source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" dependencies = [ "borsh 1.2.1", "chacha20", "chacha20poly1305", "cipher", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" +source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" dependencies = [ "aes", "bip0039", @@ -3708,14 +3641,14 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", - "subtle 2.5.0", + "subtle", "zcash_encoding", ] [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=e223456e168d9f7d42efc83945e37533de6ab7c1#e223456e168d9f7d42efc83945e37533de6ab7c1" +source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" dependencies = [ "bellman", "blake2b_simd", @@ -3843,7 +3776,7 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "linkme", @@ -3857,7 +3790,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "namada_core", "smooth-operator", @@ -3867,14 +3800,14 @@ dependencies = [ [[package]] name = "namada_core" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", "borsh-ext", "chrono", "data-encoding", - "ed25519-consensus 1.2.1", + "ed25519-consensus", "ethabi", "ethbridge-structs", "eyre", @@ -3889,12 +3822,12 @@ dependencies = [ "namada_macros", "namada_migrations", "num-integer", - "num-rational 0.4.1", + "num-rational", "num-traits", "num256", "num_enum", "primitive-types", - "prost-types 0.12.1", + "prost-types", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -3914,13 +3847,13 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "ethabi", "ethers", "eyre", - "itertools 0.10.5", + "itertools 0.12.1", "konst", "linkme", "namada_core", @@ -3939,7 +3872,6 @@ dependencies = [ "serde_json", "tendermint", "tendermint-proto", - "tendermint-rpc", "thiserror", "tracing", ] @@ -3947,7 +3879,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "linkme", @@ -3955,13 +3887,15 @@ dependencies = [ "namada_macros", "namada_migrations", "serde", + "serde_json", "thiserror", + "tracing", ] [[package]] name = "namada_gas" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "linkme", @@ -3976,10 +3910,10 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", - "itertools 0.10.5", + "itertools 0.12.1", "konst", "linkme", "namada_core", @@ -3999,7 +3933,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "ibc", @@ -4016,8 +3950,9 @@ dependencies = [ "namada_state", "namada_storage", "namada_token", + "namada_tx", "primitive-types", - "prost 0.12.3", + "prost", "serde", "serde_json", "sha2 0.9.9", @@ -4028,11 +3963,9 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "data-encoding", - "lazy_static", - "paste", "proc-macro2", "quote", "sha2 0.9.9", @@ -4042,14 +3975,14 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "eyre", "ics23", "namada_core", "namada_macros", - "prost 0.12.3", + "prost", "sparse-merkle-tree", "thiserror", ] @@ -4057,20 +3990,17 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ - "borsh 1.2.1", - "data-encoding", "lazy_static", "linkme", "namada_macros", - "serde", ] [[package]] name = "namada_parameters" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4082,11 +4012,10 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "data-encoding", - "derivative", "konst", "linkme", "namada_account", @@ -4110,7 +4039,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "namada_core", ] @@ -4118,7 +4047,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "async-trait", "bimap", @@ -4127,12 +4056,13 @@ dependencies = [ "circular-queue", "data-encoding", "derivation-path", + "duration-str", "ethbridge-bridge-contract", "ethers", "eyre", "fd-lock", "futures", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", "linkme", "masp_primitives", @@ -4157,10 +4087,9 @@ dependencies = [ "num256", "orion", "owo-colors", - "parse_duration", "paste", "patricia_tree", - "prost 0.12.3", + "prost", "rand 0.8.5", "rand_core 0.6.4", "regex", @@ -4185,7 +4114,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4194,18 +4123,20 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", + "namada_tx", "serde", + "smooth-operator", "tracing", ] [[package]] name = "namada_state" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "ics23", - "itertools 0.10.5", + "itertools 0.12.1", "linkme", "namada_core", "namada_events", @@ -4216,10 +4147,10 @@ dependencies = [ "namada_parameters", "namada_replay_protection", "namada_storage", - "namada_trans_token", "namada_tx", "patricia_tree", "sha2 0.9.9", + "smooth-operator", "sparse-merkle-tree", "thiserror", "tiny-keccak", @@ -4229,20 +4160,19 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", - "itertools 0.10.5", + "itertools 0.12.1", "linkme", "namada_core", - "namada_gas", "namada_macros", "namada_merkle_tree", "namada_migrations", "namada_replay_protection", - "namada_tx", "regex", "serde", + "smooth-operator", "thiserror", "tracing", ] @@ -4250,7 +4180,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "namada_core", "namada_events", @@ -4262,7 +4192,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "konst", "namada_core", @@ -4273,7 +4203,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4289,8 +4219,8 @@ dependencies = [ "namada_migrations", "num-derive", "num-traits", - "prost 0.12.3", - "prost-types 0.12.1", + "prost", + "prost-types", "serde", "serde_json", "sha2 0.9.9", @@ -4301,7 +4231,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=6fccf89687cc23f28b80f0031bf50e2b2d731caa#6fccf89687cc23f28b80f0031bf50e2b2d731caa" +source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" dependencies = [ "borsh 1.2.1", "linkme", @@ -4328,42 +4258,17 @@ dependencies = [ "winapi", ] -[[package]] -name = "num" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" -dependencies = [ - "num-bigint 0.2.6", - "num-complex 0.2.4", - "num-integer", - "num-iter", - "num-rational 0.2.4", - "num-traits", -] - [[package]] name = "num" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ - "num-bigint 0.4.4", - "num-complex 0.4.4", + "num-bigint", + "num-complex", "num-integer", "num-iter", - "num-rational 0.4.1", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", + "num-rational", "num-traits", ] @@ -4379,16 +4284,6 @@ dependencies = [ "serde", ] -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "num-traits", -] - [[package]] name = "num-complex" version = "0.4.4" @@ -4430,18 +4325,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -4449,7 +4332,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.4", + "num-bigint", "num-integer", "num-traits", "serde", @@ -4472,7 +4355,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9b5179e82f0867b23e0b9b822493821f9345561f271364f409c8e4a058367d" dependencies = [ "lazy_static", - "num 0.4.1", + "num", "num-derive", "num-traits", "serde", @@ -4534,12 +4417,6 @@ dependencies = [ "eyre", ] -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - [[package]] name = "opaque-debug" version = "0.3.0" @@ -4642,7 +4519,7 @@ checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", "getrandom 0.2.10", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -4722,17 +4599,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "parse_duration" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7037e5e93e0172a5a96874380bf73bc6ecef022e26fa25f2be26864d6b3ba95d" -dependencies = [ - "lazy_static", - "num 0.2.1", - "regex", -] - [[package]] name = "password-hash" version = "0.5.0" @@ -4741,7 +4607,7 @@ checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", "rand_core 0.6.4", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -4754,7 +4620,7 @@ dependencies = [ "group", "rand 0.8.5", "static_assertions", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -4778,7 +4644,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" dependencies = [ - "crypto-mac 0.8.0", + "crypto-mac", ] [[package]] @@ -4929,7 +4795,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", + "opaque-debug", "universal-hash", ] @@ -4945,16 +4811,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2", - "syn 1.0.109", -] - [[package]] name = "prettyplease" version = "0.2.15" @@ -5071,16 +4927,6 @@ dependencies = [ "unarray", ] -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive 0.11.9", -] - [[package]] name = "prost" version = "0.12.3" @@ -5088,44 +4934,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", - "prost-derive 0.12.3", + "prost-derive", ] [[package]] name = "prost-build" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck", "itertools 0.10.5", - "lazy_static", "log", "multimap", + "once_cell", "petgraph", - "prettyplease 0.1.25", - "prost 0.11.9", - "prost-types 0.11.9", + "prettyplease", + "prost", + "prost-types", "regex", - "syn 1.0.109", + "syn 2.0.53", "tempfile", "which", ] -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "prost-derive" version = "0.12.3" @@ -5139,22 +4972,13 @@ dependencies = [ "syn 2.0.53", ] -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost 0.11.9", -] - [[package]] name = "prost-types" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.12.3", + "prost", ] [[package]] @@ -5446,7 +5270,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ "hmac 0.12.1", - "subtle 2.5.0", + "subtle", ] [[package]] @@ -5520,6 +5344,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "rust_decimal" +version = "1.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" +dependencies = [ + "arrayvec", + "num-traits", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -5591,7 +5425,7 @@ dependencies = [ "ring 0.17.8", "rustls-pki-types", "rustls-webpki 0.102.3", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -5804,10 +5638,10 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array 0.14.7", + "generic-array", "pkcs8", "serdect", - "subtle 2.5.0", + "subtle", "zeroize", ] @@ -6075,18 +5909,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - [[package]] name = "sha2" version = "0.9.9" @@ -6097,7 +5919,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug", ] [[package]] @@ -6177,7 +5999,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ - "num-bigint 0.4.4", + "num-bigint", "num-traits", "thiserror", "time", @@ -6313,12 +6135,6 @@ dependencies = [ "syn 2.0.53", ] -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" - [[package]] name = "subtle" version = "2.5.0" @@ -6446,14 +6262,14 @@ dependencies = [ "bytes", "digest 0.10.7", "ed25519", - "ed25519-consensus 2.1.0", + "ed25519-consensus", "flex-error", "futures", "k256", "num-traits", "once_cell", - "prost 0.12.3", - "prost-types 0.12.1", + "prost", + "prost-types", "ripemd", "serde", "serde_bytes", @@ -6461,7 +6277,7 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "signature", - "subtle 2.5.0", + "subtle", "subtle-encoding", "tendermint-proto", "time", @@ -6551,8 +6367,8 @@ checksum = "46f193d04afde6592c20fd70788a10b8cb3823091c07456db70d8a93f5fb99c1" dependencies = [ "bytes", "flex-error", - "prost 0.12.3", - "prost-types 0.12.1", + "prost", + "prost-types", "serde", "serde_bytes", "subtle-encoding", @@ -6579,7 +6395,7 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "subtle 2.5.0", + "subtle", "subtle-encoding", "tendermint", "tendermint-config", @@ -6599,7 +6415,7 @@ version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b233cec83c56c413ccc346af866cb9206a14d468fcecf0255080107bc9b103c0" dependencies = [ - "ed25519-consensus 2.1.0", + "ed25519-consensus", "gumdrop", "serde", "serde_json", @@ -6745,14 +6561,13 @@ dependencies = [ [[package]] name = "tiny-hderive" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b874a4992538d4b2f4fbbac11b9419d685f4b39bdc3fed95b04e07bfd76040" +source = "git+https://github.com/heliaxdev/tiny-hderive.git?rev=173ae03abed0cd25d88a5a13efac00af96b75b87#173ae03abed0cd25d88a5a13efac00af96b75b87" dependencies = [ "base58", - "hmac 0.7.1", - "libsecp256k1", + "hmac 0.12.1", + "k256", "memzero", - "sha2 0.8.2", + "sha2 0.10.8", ] [[package]] @@ -6962,7 +6777,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.3", + "prost", "rustls-native-certs 0.7.0", "rustls-pemfile 2.1.2", "rustls-pki-types", @@ -6977,15 +6792,15 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.8.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" dependencies = [ - "prettyplease 0.1.25", + "prettyplease", "proc-macro2", "prost-build", "quote", - "syn 1.0.109", + "syn 2.0.53", ] [[package]] @@ -7233,7 +7048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", - "subtle 2.5.0", + "subtle", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index e59c17d9e9..93c4ed7e96 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.36.0" } tendermint-testgen = { version = "0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } -namada_trans_token = { git = "https://github.com/anoma/namada", rev = "6fccf89687cc23f28b80f0031bf50e2b2d731caa" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } +namada_trans_token = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 7a2c71efa5..bda29cc1d7 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -120,7 +120,6 @@ impl NamadaChain { wrapper_fee_payer: Some(relayer_public_key.clone()), fee_amount: None, fee_token, - fee_unshield: None, gas_limit, expiration: TxExpiration::Default, disposable_signing_key: false, From 6b72c1cffd2df14503e1a432cb77b3c70e8b85e2 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 22 May 2024 03:09:48 +0200 Subject: [PATCH 036/103] Namada 0.36.1 --- Cargo.lock | 165 ++++++++++++++------------ Cargo.toml | 8 +- crates/relayer/src/chain/namada/tx.rs | 2 +- 3 files changed, 97 insertions(+), 78 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f4aac975a4..34a75ad1c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -204,7 +204,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits", + "num-traits 0.2.17", "zeroize", ] @@ -220,7 +220,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits", + "num-traits 0.2.17", "paste", "rustc_version 0.3.3", "zeroize", @@ -243,7 +243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits", + "num-traits 0.2.17", "quote", "syn 1.0.109", ] @@ -264,7 +264,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits", + "num-traits 0.2.17", "rand 0.8.5", ] @@ -889,7 +889,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits", + "num-traits 0.2.17", "wasm-bindgen", "windows-targets 0.48.5", ] @@ -2003,7 +2003,7 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -3290,7 +3290,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits", + "num-traits 0.2.17", "uint", ] @@ -3412,7 +3412,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -3604,7 +3604,7 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" +source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" dependencies = [ "borsh 1.2.1", "chacha20", @@ -3617,7 +3617,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" +source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" dependencies = [ "aes", "bip0039", @@ -3637,7 +3637,7 @@ dependencies = [ "masp_note_encryption", "memuse", "nonempty", - "num-traits", + "num-traits 0.2.19", "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", @@ -3648,7 +3648,7 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=b5e87a01c5928ce341f2d2a63a6fa6c4033be395#b5e87a01c5928ce341f2d2a63a6fa6c4033be395" +source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" dependencies = [ "bellman", "blake2b_simd", @@ -3775,8 +3775,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "linkme", @@ -3789,8 +3789,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "namada_core", "smooth-operator", @@ -3799,8 +3799,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", @@ -3823,7 +3823,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits", + "num-traits 0.2.17", "num256", "num_enum", "primitive-types", @@ -3846,8 +3846,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "ethabi", @@ -3878,8 +3878,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "linkme", @@ -3894,8 +3894,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "linkme", @@ -3909,8 +3909,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -3932,8 +3932,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "ibc", @@ -3962,8 +3962,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "data-encoding", "proc-macro2", @@ -3974,8 +3974,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "eyre", @@ -3989,8 +3989,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "lazy_static", "linkme", @@ -3999,8 +3999,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4011,8 +4011,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4028,7 +4028,7 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits", + "num-traits 0.2.17", "once_cell", "serde", "smooth-operator", @@ -4038,16 +4038,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "async-trait", "bimap", @@ -4083,7 +4083,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits", + "num-traits 0.2.17", "num256", "orion", "owo-colors", @@ -4113,8 +4113,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4131,8 +4131,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "ics23", @@ -4159,8 +4159,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -4179,8 +4179,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "namada_core", "namada_events", @@ -4191,8 +4191,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "konst", "namada_core", @@ -4202,8 +4202,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4217,8 +4217,8 @@ dependencies = [ "namada_gas", "namada_macros", "namada_migrations", - "num-derive", - "num-traits", + "num-derive 0.4.2", + "num-traits 0.2.17", "prost", "prost-types", "serde", @@ -4230,8 +4230,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.35.1" -source = "git+https://github.com/anoma/namada?rev=e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66#e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" +version = "0.36.1" +source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" dependencies = [ "borsh 1.2.1", "linkme", @@ -4269,7 +4269,7 @@ dependencies = [ "num-integer", "num-iter", "num-rational", - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -4280,7 +4280,7 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", - "num-traits", + "num-traits 0.2.17", "serde", ] @@ -4290,7 +4290,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -4304,6 +4304,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -4311,7 +4322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -4322,7 +4333,7 @@ checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -4334,7 +4345,7 @@ dependencies = [ "autocfg", "num-bigint", "num-integer", - "num-traits", + "num-traits 0.2.17", "serde", ] @@ -4348,6 +4359,14 @@ dependencies = [ "libm", ] +[[package]] +name = "num-traits" +version = "0.2.19" +source = "git+https://github.com/heliaxdev/num-traits?rev=3f3657caa34b8e116fdf3f8a3519c4ac29f012fe#3f3657caa34b8e116fdf3f8a3519c4ac29f012fe" +dependencies = [ + "autocfg", +] + [[package]] name = "num256" version = "0.3.5" @@ -4356,8 +4375,8 @@ checksum = "aa9b5179e82f0867b23e0b9b822493821f9345561f271364f409c8e4a058367d" dependencies = [ "lazy_static", "num", - "num-derive", - "num-traits", + "num-derive 0.3.3", + "num-traits 0.2.17", "serde", "serde_derive", ] @@ -4919,7 +4938,7 @@ checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits", + "num-traits 0.2.17", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", @@ -5351,7 +5370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits", + "num-traits 0.2.17", ] [[package]] @@ -6000,7 +6019,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits", + "num-traits 0.2.17", "thiserror", "time", ] @@ -6266,7 +6285,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits", + "num-traits 0.2.17", "once_cell", "prost", "prost-types", diff --git a/Cargo.toml b/Cargo.toml index 93c4ed7e96..a1978816c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.36.0" } tendermint-testgen = { version = "0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } -namada_trans_token = { git = "https://github.com/anoma/namada", rev = "e344f3aabbbfeb9c8ccb6d9750627fd34d4e8d66" } +namada_ibc = { git = "https://github.com/anoma/namada", version = "0.36.1" } +namada_parameters = { git = "https://github.com/anoma/namada", version = "0.36.1" } +namada_sdk = { git = "https://github.com/anoma/namada", version = "0.36.1" } +namada_trans_token = { git = "https://github.com/anoma/namada", version = "0.36.1" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index bda29cc1d7..a2e3aa7b31 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -349,7 +349,7 @@ impl NamadaChain { .find_public_key(pkh.to_string()) .map_err(|e| NamadaError::namada(namada_sdk::error::Error::Other(e.to_string())))?; - if tx::is_reveal_pk_needed(self.ctx.client(), address, args.force) + if tx::is_reveal_pk_needed(self.ctx.client(), address) .await .map_err(NamadaError::namada)? { From 25d76a4f7e013df00d4a23c38d22a79e4d855bc7 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 24 May 2024 22:18:09 +0200 Subject: [PATCH 037/103] fix test --- tools/integration-test/src/tests/memo.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/integration-test/src/tests/memo.rs b/tools/integration-test/src/tests/memo.rs index 9ea0c9c9f2..ae7ee535f4 100644 --- a/tools/integration-test/src/tests/memo.rs +++ b/tools/integration-test/src/tests/memo.rs @@ -98,7 +98,7 @@ impl TestOverrides for MemoOverwriteTest { fn modify_relayer_config(&self, config: &mut Config) { for chain in config.chains.iter_mut() { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.memo_prefix = self.memo.clone(); chain_config.memo_overwrite = Some(Memo::new(OVERWRITE_MEMO).unwrap()) } From f3acb3cb7406f900dbf5ed51f171d8cf8110d3aa Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 28 May 2024 10:02:15 +0200 Subject: [PATCH 038/103] Namada 0.37.0 --- Cargo.lock | 99 +++++++++++++++++++++++++----------------------------- Cargo.toml | 8 ++--- 2 files changed, 49 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 34a75ad1c5..42be4c3343 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3427,15 +3427,6 @@ version = "1.70.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.11.0" @@ -3775,8 +3766,8 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "linkme", @@ -3789,8 +3780,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", "smooth-operator", @@ -3799,8 +3790,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", @@ -3846,8 +3837,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "ethabi", @@ -3878,8 +3869,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "linkme", @@ -3894,8 +3885,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "linkme", @@ -3909,8 +3900,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -3932,8 +3923,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "ibc", @@ -3962,8 +3953,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "data-encoding", "proc-macro2", @@ -3974,8 +3965,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "eyre", @@ -3989,8 +3980,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "lazy_static", "linkme", @@ -3999,8 +3990,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4011,8 +4002,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4038,16 +4029,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "async-trait", "bimap", @@ -4113,8 +4104,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4131,8 +4122,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "ics23", @@ -4159,8 +4150,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -4179,8 +4170,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", "namada_events", @@ -4191,8 +4182,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "konst", "namada_core", @@ -4202,8 +4193,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4230,8 +4221,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.36.1" -source = "git+https://github.com/anoma/namada#0017f90838a9774fe19f0e905c33cecd86c36fa7" +version = "0.37.0" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "borsh 1.2.1", "linkme", @@ -4964,7 +4955,7 @@ checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck", - "itertools 0.10.5", + "itertools 0.11.0", "log", "multimap", "once_cell", diff --git a/Cargo.toml b/Cargo.toml index a1978816c4..03f421c377 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.36.0" } tendermint-testgen = { version = "0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", version = "0.36.1" } -namada_parameters = { git = "https://github.com/anoma/namada", version = "0.36.1" } -namada_sdk = { git = "https://github.com/anoma/namada", version = "0.36.1" } -namada_trans_token = { git = "https://github.com/anoma/namada", version = "0.36.1" } +namada_ibc = { git = "https://github.com/anoma/namada", version = "0.37.0" } +namada_parameters = { git = "https://github.com/anoma/namada", version = "0.37.0" } +namada_sdk = { git = "https://github.com/anoma/namada", version = "0.37.0" } +namada_trans_token = { git = "https://github.com/anoma/namada", version = "0.37.0" } # Other dependencies abscissa_core = "=0.6.0" From bb01bd814ba3375a9f8d35d385303a508b56ff50 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 28 May 2024 11:10:50 +0200 Subject: [PATCH 039/103] fix tests --- tools/integration-test/src/tests/sequence_filter.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/integration-test/src/tests/sequence_filter.rs b/tools/integration-test/src/tests/sequence_filter.rs index 177773bf4a..11d330d633 100644 --- a/tools/integration-test/src/tests/sequence_filter.rs +++ b/tools/integration-test/src/tests/sequence_filter.rs @@ -51,7 +51,7 @@ impl TestOverrides for FilterClearOnStartTest { excluded_sequences.insert(ChannelId::new(2), vec![2.into()]); let chain_a = &mut config.chains[0]; match chain_a { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.excluded_sequences = excluded_sequences; } } @@ -88,7 +88,7 @@ impl TestOverrides for FilterClearIntervalTest { excluded_sequences.insert(ChannelId::new(2), vec![2.into()]); let chain_a = &mut config.chains[0]; match chain_a { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.excluded_sequences = excluded_sequences; } } @@ -247,7 +247,7 @@ impl TestOverrides for StandardRelayingNoFilterTest { excluded_sequences.insert(ChannelId::new(2), vec![2.into()]); let chain_a = &mut config.chains[0]; match chain_a { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.excluded_sequences = excluded_sequences; } } From 5f083d1cd46723ff0fdef435605b51b3d760f9dc Mon Sep 17 00:00:00 2001 From: Luca Joss <43531661+ljoss17@users.noreply.github.com> Date: Fri, 7 Jun 2024 10:02:55 +0200 Subject: [PATCH 040/103] Run tests with Namada chain (#18) * Initial work to run tests with Namada chain * Add wait before spawning chain handles * Removed fixed chain name for Gaia * Handle namada denom derivation from ibc transfers * Remove 'get_denom_for_derive' calls * Add CI job for tests with Namada * Remove Namada to Gaia job due to yaml syntax error * Fix bugs when creating Denom in tests and Gaia to Namada CI job * Update nix flake and add NAMADA_REPO_PATH env variable to CI job * Fix NAMDA_REPO_PATH setup in CI job * Switch Nix install step to use DeterminateSystems * Moved DeterminateSystems nix installer to Namada CI job only * Add namada-src package to flake.nix * Add step to generate Namada files * Update Namada bootstrap in CI * Update Namada bootstrap for Namada v0.33.0 * Update nix flake and improve Namada CI * Update nix flake and replace Gaia v13 and v14 with Gaia v15 * Remove unwraps and update comment * Use rsync instead of cp in CI job * Fix rsync call to correctly copy in the namada-repo directory * Fix copying and changing Namada repo permissions in CI * Free disk space and correctly fix file permissions in Namada test CI * Run Namada tests only when all other tests are finished * Add job to run Namada test scripts * Fix Namada script CI job and skip memo filter with Namada * Separate CI job namada and namada-scripts to avoid error 137 * Use Gaia v14 for Namada test scripts * Split Namada scripts CI job * Remove Namada scripts job * Fix clippy error from v1.78.0 * Use Namada branch which exposes wasm files in CI * Use correct Namada repository path in CI * Fix permission on exposed Namada repository * Separate Namada to Namada and Gaia to Namada CI jobs from other jobs, and run them sequentially * Reduce RocksDB cache when running tests with Namada * Revert "Separate Namada to Namada and Gaia to Namada CI jobs from other jobs, and run them sequentially" This reverts commit 1d3f7eb403d5600cc9178bdb379f499ee23f8af8. * Update Namada in Nix flake and fix error from merge * Update nix flake * Split Namada integration test in separate workflow * Fix namada action * Use custom runner for Namada workflow * Remove free disk space CI step from Namada workflow * Fix and improve CometBFT installation for Namada workflow * Fix download MASP step from Namada workflow * Retrieve Namada without Nix for workflow * Fix step fetching Namada binaries * Only copy Namada binaries * Add debug output * Fix retrieving Namada repository * Add debug output for Namada repo * Add tree to Gaia to Namada CI job * Improve Namada Github workflow * Add debug ls and pwd in Namada workflow * Reorder checkout calls in Namada workflow * Add missing indentation which broke Namada workflow * Clean-up integration tests and Namada bootstrap * Use default Github action runner * Install libssl in Namada workflow * Update Ubuntu used for Namada workflow to include libssl3 * Clean-up Namada workflow * Fix Namada to Namada CI job --- .github/workflows/namada.yaml | 189 ++ Cargo.lock | 1731 +++++++---------- .../src/commands/create/channel.rs | 3 +- crates/relayer-cli/src/commands/tx/channel.rs | 1 - crates/relayer/src/config.rs | 1 - flake.lock | 20 +- tools/integration-test/Cargo.toml | 35 +- tools/integration-test/src/mbt/handlers.rs | 7 +- .../src/tests/async_icq/simple_query.rs | 8 +- .../src/tests/clear_packet.rs | 20 +- .../src/tests/client_expiration.rs | 1 + .../src/tests/client_filter.rs | 6 + .../src/tests/client_refresh.rs | 12 +- .../src/tests/client_upgrade.rs | 26 +- .../src/tests/connection_delay.rs | 1 + .../integration-test/src/tests/denom_trace.rs | 1 + .../src/tests/dynamic_gas_fee.rs | 28 +- .../src/tests/fee/auto_forward_relayer.rs | 1 + .../src/tests/fee/filter_fees.rs | 3 + .../src/tests/fee/forward_relayer.rs | 1 + .../src/tests/fee/no_forward_relayer.rs | 2 + .../src/tests/fee/non_fee_channel.rs | 1 + .../src/tests/fee/pay_fee_async.rs | 1 + .../src/tests/fee/register_payee.rs | 1 + tools/integration-test/src/tests/fee_grant.rs | 18 +- .../src/tests/forward/forward_hop_transfer.rs | 8 + .../src/tests/forward/forward_transfer.rs | 9 + .../src/tests/handshake_on_start.rs | 3 + tools/integration-test/src/tests/ica.rs | 15 +- .../src/tests/ics20_filter/memo.rs | 1 + .../src/tests/ics20_filter/mod.rs | 1 + tools/integration-test/src/tests/ics31.rs | 3 +- .../ica_ordered_channel.rs | 2 +- .../tests/interchain_security/ica_transfer.rs | 2 +- .../src/tests/interchain_security/icq.rs | 3 +- .../interchain_security/simple_transfer.rs | 1 + tools/integration-test/src/tests/memo.rs | 2 + tools/integration-test/src/tests/mod.rs | 17 +- .../src/tests/ordered_channel.rs | 1 + .../src/tests/ordered_channel_clear.rs | 1 + .../integration-test/src/tests/supervisor.rs | 13 +- .../src/tests/tendermint/sequential.rs | 6 +- .../src/tests/ternary_transfer.rs | 3 + tools/integration-test/src/tests/transfer.rs | 22 +- .../src/bootstrap/binary/chain.rs | 5 +- .../test-framework/src/bootstrap/consumer.rs | 38 +- tools/test-framework/src/bootstrap/mod.rs | 1 + tools/test-framework/src/bootstrap/namada.rs | 338 ++++ tools/test-framework/src/bootstrap/single.rs | 37 +- tools/test-framework/src/chain/chain_type.rs | 13 +- tools/test-framework/src/chain/cli/query.rs | 54 + .../src/chain/{config.rs => config/cosmos.rs} | 0 tools/test-framework/src/chain/config/mod.rs | 2 + .../test-framework/src/chain/config/namada.rs | 144 ++ tools/test-framework/src/chain/driver.rs | 32 +- tools/test-framework/src/chain/exec.rs | 51 + .../test-framework/src/chain/ext/bootstrap.rs | 12 +- .../test-framework/src/chain/ext/transfer.rs | 50 +- tools/test-framework/src/chain/tagged.rs | 11 +- .../src/framework/binary/chain.rs | 10 +- .../src/framework/binary/channel.rs | 8 +- .../src/framework/binary/connection.rs | 8 +- .../src/framework/binary/node.rs | 82 +- .../test-framework/src/framework/overrides.rs | 14 +- tools/test-framework/src/ibc/denom.rs | 89 +- tools/test-framework/src/ibc/token.rs | 8 +- tools/test-framework/src/relayer/fee.rs | 61 +- tools/test-framework/src/relayer/transfer.rs | 68 +- tools/test-framework/src/types/single/node.rs | 166 +- tools/test-framework/src/types/wallet.rs | 22 +- .../src/util/interchain_security.rs | 2 +- tools/test-framework/src/util/mod.rs | 1 + tools/test-framework/src/util/namada.rs | 33 + 73 files changed, 2245 insertions(+), 1346 deletions(-) create mode 100644 .github/workflows/namada.yaml create mode 100644 tools/test-framework/src/bootstrap/namada.rs rename tools/test-framework/src/chain/{config.rs => config/cosmos.rs} (100%) create mode 100644 tools/test-framework/src/chain/config/mod.rs create mode 100644 tools/test-framework/src/chain/config/namada.rs create mode 100644 tools/test-framework/src/util/namada.rs diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml new file mode 100644 index 0000000000..1099389089 --- /dev/null +++ b/.github/workflows/namada.yaml @@ -0,0 +1,189 @@ +name: Namada Integration + +on: + workflow_dispatch: + pull_request: + paths: + - .github/workflows/integration.yaml + - Cargo.toml + - Cargo.lock + - flake.nix + - flake.lock + - ci/** + - e2e/** + - crates/** + - tools/** + +env: + CARGO_INCREMENTAL: 0 + CARGO_PROFILE_DEV_DEBUG: 1 + CARGO_PROFILE_RELEASE_DEBUG: 1 + RUST_BACKTRACE: short + CARGO_NET_RETRY: 10 + RUSTUP_MAX_RETRIES: 10 + +# Cancel previous runs of this workflow when a new commit is added to the PR, branch or tag +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + gaia-namada: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + chain: + - package: .#gaia15 + command: gaiad,namada + account_prefix: cosmos,'' + native_token: stake,nam + steps: + - uses: actions/checkout@v4 + - name: Clone Namada + uses: actions/checkout@v4 + with: + repository: anoma/namada + ref: yuji/for-hermes-ci + path: namada + - name: Retrieve Namada repository path + id: namada-repo-path + run: | + echo "NAMADA_REPO_PATH=$(pwd)/namada" >> "$GITHUB_ENV" + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + with: + extra-conf: | + substituters = https://cache.nixos.org + trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= + - name: Install Cachix + uses: cachix/cachix-action@v14 + with: + name: cosmos-nix + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - name: Install libudev + run: sudo apt-get update && sudo apt-get -y install libudev-dev + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions-rs/cargo@v1 + with: + command: test + args: -p ibc-integration-test --features namada --no-fail-fast --no-run + - name: Install cargo-nextest + run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin + - name: Download CometBFT + run: | + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz + tar -xvzf cometbft.tar.gz + chmod +x cometbft + mkdir -p $HOME/local/bin + mv cometbft ~/local/bin + - name: Download Namada binaries + env: + OPERATING_SYSTEM: Linux + run: | + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/157259234" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + wget "$release_url" + tar -xzvf namada*.tar.gz + cp ./namada*/namadac ~/local/bin/namadac + cp ./namada*/namadan ~/local/bin/namadan + cp ./namada*/namadaw ~/local/bin/namadaw + cp ./namada*/namada ~/local/bin/namada + - name: Update environment path + run: | + echo "${HOME}/local/bin" >> $GITHUB_PATH + - name: Download MASP parameters + run: | + echo $HOME + mkdir -p $HOME/.masp-params + curl -o $HOME/.masp-params/masp-spend.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-spend.params\?raw\=true + curl -o $HOME/.masp-params/masp-output.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-output.params?raw=true + curl -o $HOME/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true + - env: + RUST_LOG: info + RUST_BACKTRACE: 1 + NO_COLOR_LOG: 1 + CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} + ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} + NATIVE_TOKENS: ${{ matrix.chain.native_token }} + run: | + nix shell ${{ matrix.chain.package }} -c \ + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=1 \ + --features namada + + namada: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v4 + - name: Clone Namada + uses: actions/checkout@v4 + with: + repository: anoma/namada + ref: yuji/for-hermes-ci + path: namada + - name: Retrieve Namada repository path + id: namada-repo-path + run: | + echo "NAMADA_REPO_PATH=$(pwd)/namada" >> "$GITHUB_ENV" + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + - name: Install libudev + run: sudo apt-get update && sudo apt-get -y install libudev-dev + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions-rs/cargo@v1 + with: + command: test + args: -p ibc-integration-test --features namada --no-fail-fast --no-run + - name: Install cargo-nextest + run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin + - name: Download CometBFT + run: | + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz + tar -xvzf cometbft.tar.gz + mkdir -p ~/local/bin + chmod +x cometbft + mv cometbft ~/local/bin + - name: Download Namada binaries + env: + OPERATING_SYSTEM: Linux + run: | + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/157259234" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + wget "$release_url" + tar -xzvf namada*.tar.gz + cp ./namada*/namadac ~/local/bin/namadac + cp ./namada*/namadan ~/local/bin/namadan + cp ./namada*/namadaw ~/local/bin/namadaw + cp ./namada*/namada ~/local/bin/namada + - name: Update environment path + run: | + echo "${HOME}/local/bin" >> $GITHUB_PATH + - name: Download MASP parameters + run: | + echo $HOME + mkdir -p $HOME/.masp-params + curl -o $HOME/.masp-params/masp-spend.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-spend.params\?raw\=true + curl -o $HOME/.masp-params/masp-output.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-output.params?raw=true + curl -o $HOME/.masp-params/masp-convert.params -L https://github.com/anoma/masp-mpc/releases/download/namada-trusted-setup/masp-convert.params?raw=true + - env: + RUST_LOG: info + RUST_BACKTRACE: 1 + NO_COLOR_LOG: 1 + CHAIN_COMMAND_PATHS: namada + ACCOUNT_PREFIXES: '' + NATIVE_TOKENS: nam + run: | + cargo nextest run -p ibc-integration-test --no-fail-fast --failure-output final --test-threads=1 \ + --features namada + diff --git a/Cargo.lock b/Cargo.lock index 89c5e90658..91ea6b9e3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,7 +33,7 @@ dependencies = [ "termcolor", "toml 0.5.11", "tracing", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "wait-timeout", ] @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if", "cipher", @@ -93,16 +93,16 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -172,15 +172,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" [[package]] name = "ark-bls12-381" @@ -203,7 +203,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits 0.2.18", + "num-traits 0.2.17", "zeroize", ] @@ -219,7 +219,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.17", "paste", "rustc_version 0.3.3", "zeroize", @@ -242,7 +242,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.17", "quote", "syn 1.0.109", ] @@ -263,7 +263,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.17", "rand 0.8.5", ] @@ -279,15 +279,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "async-stream" version = "0.3.5" @@ -307,7 +298,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -318,7 +309,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -335,7 +326,7 @@ dependencies = [ "rustls-pki-types", "tokio", "tokio-rustls 0.25.0", - "tungstenite 0.21.0", + "tungstenite", ] [[package]] @@ -362,20 +353,21 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" dependencies = [ + "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 1.0.109", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" @@ -388,7 +380,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "itoa", @@ -418,7 +410,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "mime", "rustversion", @@ -428,9 +420,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -467,15 +459,15 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" [[package]] name = "bech32" @@ -534,21 +526,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bitcoin" version = "0.31.2" @@ -628,7 +605,7 @@ checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -639,7 +616,7 @@ checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -652,7 +629,7 @@ dependencies = [ "arrayvec", "cc", "cfg-if", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -698,11 +675,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" +checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" dependencies = [ - "borsh-derive 1.5.0", + "borsh-derive 1.2.1", "cfg_aliases", ] @@ -721,15 +698,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" +checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", "syn_derive", ] @@ -749,7 +726,7 @@ name = "borsh-ext" version = "1.2.0" source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", ] [[package]] @@ -775,9 +752,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byte-slice-cast" @@ -803,39 +780,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" dependencies = [ "serde", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "camino" -version = "1.1.7" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -848,18 +804,18 @@ checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ "camino", "cargo-platform", @@ -880,13 +836,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.95" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", - "once_cell", ] [[package]] @@ -927,16 +881,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.18", + "num-traits 0.2.17", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.48.5", ] [[package]] @@ -1061,9 +1015,9 @@ dependencies = [ [[package]] name = "color-eyre" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" +checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" dependencies = [ "backtrace", "color-spantrace", @@ -1076,9 +1030,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" dependencies = [ "once_cell", "owo-colors", @@ -1094,22 +1048,22 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "console" -version = "0.15.8" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.45.0", ] [[package]] name = "const-hex" -version = "1.12.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ "cfg-if", "cpufeatures", @@ -1120,9 +1074,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.6" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "const_panic" @@ -1130,12 +1084,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "constant_time_eq" version = "0.3.0" @@ -1155,9 +1103,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -1165,28 +1113,19 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - [[package]] name = "crossbeam-channel" version = "0.5.12" @@ -1196,23 +1135,17 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ + "autocfg", + "cfg-if", "crossbeam-utils", + "memoffset", + "scopeguard", ] [[package]] @@ -1229,9 +1162,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1276,9 +1209,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if", "cpufeatures", @@ -1293,13 +1226,13 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -1322,7 +1255,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.1", "lock_api", "once_cell", "parking_lot_core", @@ -1330,15 +1263,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "der" -version = "0.7.9" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "zeroize", @@ -1346,9 +1279,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ "powerfmt", ] @@ -1421,16 +1354,7 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1454,18 +1378,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1485,7 +1397,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -1505,7 +1417,7 @@ dependencies = [ "serde", "thiserror", "time", - "winnow 0.6.8", + "winnow 0.6.9", ] [[package]] @@ -1516,9 +1428,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.16.9" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ "der", "digest 0.10.7", @@ -1557,16 +1469,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle", "zeroize", ] @@ -1584,15 +1495,15 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -1608,15 +1519,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ena" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" -dependencies = [ - "log", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -1625,18 +1527,18 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] [[package]] name = "enr" -version = "0.10.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" dependencies = [ "base64 0.21.7", "bytes", @@ -1681,9 +1583,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1793,9 +1695,9 @@ dependencies = [ [[package]] name = "ethers" -version = "2.0.14" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" dependencies = [ "ethers-addressbook", "ethers-contract", @@ -1804,14 +1706,13 @@ dependencies = [ "ethers-middleware", "ethers-providers", "ethers-signers", - "ethers-solc", ] [[package]] name = "ethers-addressbook" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" dependencies = [ "ethers-core", "once_cell", @@ -1821,9 +1722,9 @@ dependencies = [ [[package]] name = "ethers-contract" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" dependencies = [ "const-hex", "ethers-contract-abigen", @@ -1840,33 +1741,31 @@ dependencies = [ [[package]] name = "ethers-contract-abigen" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" dependencies = [ "Inflector", "const-hex", "dunce", "ethers-core", - "ethers-etherscan", "eyre", "prettyplease", "proc-macro2", "quote", "regex", - "reqwest", "serde", "serde_json", - "syn 2.0.60", - "toml 0.8.12", + "syn 2.0.53", + "toml 0.7.8", "walkdir", ] [[package]] name = "ethers-contract-derive" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" dependencies = [ "Inflector", "const-hex", @@ -1875,14 +1774,14 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "ethers-core" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" dependencies = [ "arrayvec", "bytes", @@ -1900,8 +1799,8 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum 0.26.2", - "syn 2.0.60", + "strum", + "syn 2.0.53", "tempfile", "thiserror", "tiny-keccak", @@ -1910,11 +1809,10 @@ dependencies = [ [[package]] name = "ethers-etherscan" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" dependencies = [ - "chrono", "ethers-core", "reqwest", "semver 1.0.22", @@ -1926,9 +1824,9 @@ dependencies = [ [[package]] name = "ethers-middleware" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" dependencies = [ "async-trait", "auto_impl", @@ -1953,9 +1851,9 @@ dependencies = [ [[package]] name = "ethers-providers" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" dependencies = [ "async-trait", "auto_impl", @@ -1968,7 +1866,7 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http 0.2.12", + "http 0.2.9", "instant", "jsonwebtoken", "once_cell", @@ -1978,7 +1876,6 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tokio-tungstenite", "tracing", "tracing-futures", "url", @@ -1990,9 +1887,9 @@ dependencies = [ [[package]] name = "ethers-signers" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" dependencies = [ "async-trait", "coins-bip32", @@ -2007,38 +1904,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ethers-solc" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" -dependencies = [ - "cfg-if", - "const-hex", - "dirs", - "dunce", - "ethers-core", - "glob", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver 1.0.22", - "serde", - "serde_json", - "solang-parser", - "svm-rs", - "thiserror", - "tiny-keccak", - "tokio", - "tracing", - "walkdir", - "yansi", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2051,9 +1916,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fd-lock" @@ -2079,9 +1944,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" [[package]] name = "fixed-hash" @@ -2101,16 +1966,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flex-error" version = "0.4.4" @@ -2129,9 +1984,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2147,27 +2002,14 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.17", ] [[package]] name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - -[[package]] -name = "fs2" -version = "0.4.3" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" [[package]] name = "funty" @@ -2177,9 +2019,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -2192,9 +2034,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -2202,15 +2044,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -2219,9 +2061,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-locks" @@ -2235,32 +2077,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" -version = "3.0.3" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" dependencies = [ "gloo-timers", "send_wrapper 0.4.0", @@ -2268,9 +2110,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -2319,9 +2161,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -2332,15 +2174,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gloo-timers" @@ -2397,7 +2233,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.12", + "http 0.2.9", "indexmap 2.2.6", "slab", "tokio", @@ -2407,9 +2243,9 @@ dependencies = [ [[package]] name = "half" -version = "1.8.3" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "hashbrown" @@ -2422,9 +2258,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" [[package]] name = "hashers" @@ -2461,9 +2297,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2510,18 +2346,18 @@ checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" [[package]] name = "home" -version = "0.5.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "http" -version = "0.2.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2541,12 +2377,12 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http 0.2.12", + "http 0.2.9", "pin-project-lite", ] @@ -2580,22 +2416,22 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2604,14 +2440,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", - "http 0.2.12", + "http 0.2.9", "hyper", - "rustls 0.21.11", + "rustls 0.21.7", "tokio", "tokio-rustls 0.24.1", ] @@ -2630,9 +2466,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2745,7 +2581,7 @@ dependencies = [ "async-trait", "flex-error", "futures", - "http 0.2.12", + "http 0.2.9", "ibc-proto", "ibc-relayer-types", "itertools 0.12.1", @@ -3124,7 +2960,7 @@ checksum = "23d961d2194fd5229961835d2eb78091906ef8afbaaa55bce7ad41bf3ead8aa9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -3132,7 +2968,7 @@ name = "ibc-integration-test" version = "0.27.2" dependencies = [ "byte-unit", - "http 0.2.12", + "http 0.2.9", "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", @@ -3172,7 +3008,7 @@ version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66080040d5a4800d52966d55b055400f86b79c34b854b935bef03c87aacda62a" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "borsh 0.10.3", "bytes", "flex-error", @@ -3211,7 +3047,7 @@ dependencies = [ "generic-array", "hdpath", "hex", - "http 0.2.12", + "http 0.2.9", "humantime", "humantime-serde", "ibc-proto", @@ -3240,7 +3076,7 @@ dependencies = [ "serial_test", "sha2 0.10.8", "signature", - "strum 0.25.0", + "strum", "subtle-encoding", "tendermint", "tendermint-light-client", @@ -3278,7 +3114,7 @@ dependencies = [ "flex-error", "futures", "hdpath", - "http 0.2.12", + "http 0.2.9", "humantime", "ibc-chain-registry", "ibc-relayer", @@ -3379,7 +3215,7 @@ dependencies = [ "flex-error", "hdpath", "hex", - "http 0.2.12", + "http 0.2.9", "ibc-proto", "ibc-relayer", "ibc-relayer-cli", @@ -3429,9 +3265,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3453,7 +3289,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits 0.2.18", + "num-traits 0.2.17", "uint", ] @@ -3506,7 +3342,7 @@ name = "index-set" version = "0.8.0" source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "serde", ] @@ -3525,9 +3361,9 @@ name = "indexmap" version = "2.2.4" source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547bd6ab04bbb16e060326a50ddaeb6c909" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.1", "serde", ] @@ -3538,7 +3374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.1", ] [[package]] @@ -3562,9 +3398,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.13" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", ] @@ -3575,14 +3411,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.17", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "itertools" @@ -3604,24 +3440,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.31" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" -dependencies = [ - "libc", -] +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -3656,9 +3483,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if", "ecdsa", @@ -3671,9 +3498,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -3698,36 +3525,6 @@ dependencies = [ "typewit", ] -[[package]] -name = "lalrpop" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" -dependencies = [ - "ascii-canvas", - "bit-set", - "ena", - "itertools 0.11.0", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.8.3", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", - "walkdir", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" -dependencies = [ - "regex-automata 0.4.6", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3736,9 +3533,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libm" @@ -3746,41 +3543,31 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.5.0", - "libc", -] - [[package]] name = "linkme" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" +checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.26" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" +checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" @@ -3803,7 +3590,7 @@ name = "masp_note_encryption" version = "1.0.0" source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "chacha20", "chacha20poly1305", "cipher", @@ -3822,7 +3609,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh 1.5.0", + "borsh 1.2.1", "byteorder", "ff", "fpe", @@ -3851,7 +3638,7 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.14", + "getrandom 0.2.10", "group", "itertools 0.11.0", "jubjub", @@ -3879,20 +3666,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "md-5" -version = "0.10.6" +name = "memchr" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest 0.10.7", -] +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] -name = "memchr" -version = "2.7.2" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] [[package]] name = "memuse" @@ -3914,31 +3700,31 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] [[package]] name = "minreq" -version = "2.11.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" dependencies = [ "log", "once_cell", - "rustls 0.21.11", - "rustls-webpki 0.101.7", + "rustls 0.21.7", + "rustls-webpki 0.101.6", "webpki-roots", ] [[package]] name = "mio" -version = "0.8.11" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3947,9 +3733,9 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.7" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0d88686dc561d743b40de8269b26eaf0dc58781bde087b0984646602021d08" +checksum = "87bfd249f570638bfb0b4f9d258e6b8cddd2a5a7d0ed47e8bb8b176bfc0e7a17" dependencies = [ "crossbeam-channel", "crossbeam-epoch", @@ -3967,16 +3753,16 @@ dependencies = [ [[package]] name = "multimap" -version = "0.10.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4001,7 +3787,7 @@ version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "bech32 0.8.1", - "borsh 1.5.0", + "borsh 1.2.1", "borsh-ext", "chrono", "data-encoding", @@ -4021,7 +3807,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits 0.2.18", + "num-traits 0.2.17", "num256", "num_enum", "primitive-types", @@ -4047,7 +3833,7 @@ name = "namada_ethereum_bridge" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "ethabi", "ethers", "eyre", @@ -4079,7 +3865,7 @@ name = "namada_events" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4095,7 +3881,7 @@ name = "namada_gas" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "linkme", "namada_core", "namada_events", @@ -4110,7 +3896,7 @@ name = "namada_governance" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "itertools 0.12.1", "konst", "linkme", @@ -4133,7 +3919,7 @@ name = "namada_ibc" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "ibc", "ibc-derive", "ics23", @@ -4175,7 +3961,7 @@ name = "namada_merkle_tree" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "eyre", "ics23", "namada_core", @@ -4200,7 +3986,7 @@ name = "namada_parameters" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -4212,7 +3998,7 @@ name = "namada_proof_of_stake" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "data-encoding", "konst", "linkme", @@ -4226,7 +4012,7 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits 0.2.18", + "num-traits 0.2.17", "once_cell", "serde", "smooth-operator", @@ -4249,7 +4035,7 @@ source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6 dependencies = [ "async-trait", "bimap", - "borsh 1.5.0", + "borsh 1.2.1", "borsh-ext", "circular-queue", "data-encoding", @@ -4281,7 +4067,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits 0.2.18", + "num-traits 0.2.17", "num256", "orion", "owo-colors", @@ -4314,7 +4100,7 @@ name = "namada_shielded_token" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "masp_primitives", "namada_controller", "namada_core", @@ -4332,7 +4118,7 @@ name = "namada_state" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "ics23", "itertools 0.12.1", "linkme", @@ -4360,7 +4146,7 @@ name = "namada_storage" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "itertools 0.12.1", "linkme", "namada_core", @@ -4405,7 +4191,7 @@ source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6 dependencies = [ "ark-bls12-381", "bitflags 2.5.0", - "borsh 1.5.0", + "borsh 1.2.1", "data-encoding", "konst", "linkme", @@ -4416,7 +4202,7 @@ dependencies = [ "namada_macros", "namada_migrations", "num-derive 0.4.2", - "num-traits 0.2.18", + "num-traits 0.2.17", "prost", "prost-types", "serde", @@ -4431,7 +4217,7 @@ name = "namada_vote_ext" version = "0.37.0" source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4440,12 +4226,6 @@ dependencies = [ "serde", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - [[package]] name = "nonempty" version = "0.7.0" @@ -4464,16 +4244,16 @@ dependencies = [ [[package]] name = "num" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.18", + "num-traits 0.2.17", ] [[package]] @@ -4484,25 +4264,19 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.17", "serde", ] [[package]] name = "num-complex" -version = "0.4.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.17", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-derive" version = "0.3.3" @@ -4522,27 +4296,28 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "num-integer" -version = "0.1.46" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ - "num-traits 0.2.18", + "autocfg", + "num-traits 0.2.17", ] [[package]] name = "num-iter" -version = "0.1.45" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.17", ] [[package]] @@ -4554,15 +4329,15 @@ dependencies = [ "autocfg", "num-bigint", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.17", "serde", ] [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", @@ -4585,7 +4360,7 @@ dependencies = [ "lazy_static", "num", "num-derive 0.3.3", - "num-traits 0.2.18", + "num-traits 0.2.17", "serde", "serde_derive", ] @@ -4596,36 +4371,36 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.3.3", "libc", ] [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "object" -version = "0.32.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -4647,9 +4422,9 @@ dependencies = [ [[package]] name = "opaque-debug" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "open-fastrlp" @@ -4739,12 +4514,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "orion" version = "0.16.1" @@ -4752,7 +4521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.14", + "getrandom 0.2.10", "subtle", "zeroize", ] @@ -4786,9 +4555,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ "arrayvec", "bitvec", @@ -4800,11 +4569,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -4828,22 +4597,11 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] -[[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", -] - [[package]] name = "password-hash" version = "0.5.0" @@ -4874,12 +4632,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - [[package]] name = "patricia_tree" version = "0.8.0" @@ -4905,9 +4657,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", - "password-hash 0.4.2", - "sha2 0.10.8", ] [[package]] @@ -4918,14 +4667,14 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac 0.12.1", - "password-hash 0.5.0", + "password-hash", ] [[package]] name = "peg" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61" +checksum = "8a625d12ad770914cbf7eff6f9314c3ef803bfe364a1b20bc36ddf56673e71e5" dependencies = [ "peg-macros", "peg-runtime", @@ -4933,9 +4682,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90" +checksum = "f241d42067ed3ab6a4fece1db720838e1418f36d868585a27931f95d6bc03582" dependencies = [ "peg-runtime", "proc-macro2", @@ -4944,9 +4693,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922" +checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" [[package]] name = "pem" @@ -4959,15 +4708,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -4976,9 +4725,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -4994,82 +4743,31 @@ dependencies = [ "rustc_version 0.4.0", ] -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared 0.11.2", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -5087,17 +4785,11 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - [[package]] name = "platforms" -version = "3.4.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" [[package]] name = "poly1305" @@ -5122,20 +4814,14 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -5163,11 +4849,21 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "toml_edit 0.21.1", + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.2", ] [[package]] @@ -5196,9 +4892,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -5220,25 +4916,25 @@ dependencies = [ [[package]] name = "proptest" -version = "1.4.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits 0.2.18", + "num-traits 0.2.17", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.3", + "regex-syntax 0.7.5", "unarray", ] [[package]] name = "prost" -version = "0.12.6" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", "prost-derive", @@ -5246,13 +4942,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck", - "itertools 0.12.1", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -5261,28 +4957,29 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.60", + "syn 2.0.53", "tempfile", + "which", ] [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ "prost", ] @@ -5310,9 +5007,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -5382,7 +5079,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.10", ] [[package]] @@ -5412,26 +5109,6 @@ dependencies = [ "bitflags 2.5.0", ] -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "reddsa" version = "0.5.1" @@ -5463,6 +5140,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -5474,12 +5160,12 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.14", - "libredox", + "getrandom 0.2.10", + "redox_syscall 0.2.16", "thiserror", ] @@ -5492,7 +5178,7 @@ dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-syntax 0.8.2", ] [[package]] @@ -5512,7 +5198,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.2", ] [[package]] @@ -5523,9 +5209,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" @@ -5539,7 +5231,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-rustls", @@ -5550,9 +5242,9 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.11", + "rustls 0.21.7", "rustls-native-certs 0.6.3", - "rustls-pemfile 1.0.4", + "rustls-pemfile 1.0.3", "serde", "serde_json", "serde_urlencoded", @@ -5565,7 +5257,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", "winreg", ] @@ -5608,7 +5299,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.10", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5663,7 +5354,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits 0.2.18", + "num-traits 0.2.17", ] [[package]] @@ -5704,9 +5395,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.33" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -5717,13 +5408,13 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.11" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", + "ring 0.16.20", + "rustls-webpki 0.101.6", "sct", ] @@ -5736,7 +5427,7 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.2", + "rustls-webpki 0.102.4", "subtle", "zeroize", ] @@ -5748,7 +5439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile 1.0.3", "schannel", "security-framework", ] @@ -5768,9 +5459,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ "base64 0.21.7", ] @@ -5781,31 +5472,31 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -5814,15 +5505,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "salsa20" @@ -5844,9 +5535,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ "cfg-if", "derive_more", @@ -5856,11 +5547,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -5868,27 +5559,27 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "schemars" -version = "0.8.21" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" dependencies = [ "dyn-clone", "schemars_derive", @@ -5898,14 +5589,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.21" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.60", + "syn 1.0.109", ] [[package]] @@ -5928,12 +5619,12 @@ dependencies = [ [[package]] name = "sct" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -5990,9 +5681,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -6003,9 +5694,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -6070,9 +5761,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] @@ -6095,18 +5786,18 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "serde_derive_internals" -version = "0.29.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 1.0.109", ] [[package]] @@ -6122,9 +5813,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ "itoa", "serde", @@ -6132,13 +5823,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -6207,7 +5898,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -6282,18 +5973,18 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ "digest 0.10.7", "rand_core 0.6.4", @@ -6312,17 +6003,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.17", "thiserror", "time", ] -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - [[package]] name = "slab" version = "0.4.9" @@ -6343,9 +6028,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "smooth-operator" @@ -6362,31 +6047,27 @@ source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "socket2" -version = "0.5.6" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", - "windows-sys 0.52.0", + "winapi", ] [[package]] -name = "solang-parser" -version = "0.3.3" +name = "socket2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", + "libc", + "windows-sys 0.48.0", ] [[package]] @@ -6394,7 +6075,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" dependencies = [ - "borsh 1.5.0", + "borsh 1.2.1", "cfg-if", "ics23", "itertools 0.12.1", @@ -6415,9 +6096,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "spki" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -6429,19 +6110,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", -] - [[package]] name = "strsim" version = "0.10.0" @@ -6454,16 +6122,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros 0.25.3", -] - -[[package]] -name = "strum" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" -dependencies = [ - "strum_macros 0.26.2", + "strum_macros", ] [[package]] @@ -6476,20 +6135,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.60", -] - -[[package]] -name = "strum_macros" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -6513,26 +6159,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" -[[package]] -name = "svm-rs" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" -dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest", - "semver 1.0.22", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "url", - "zip", -] - [[package]] name = "syn" version = "1.0.109" @@ -6546,9 +6172,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" dependencies = [ "proc-macro2", "quote", @@ -6564,7 +6190,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -6643,7 +6269,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits 0.2.18", + "num-traits 0.2.17", "once_cell", "prost", "prost-types", @@ -6763,7 +6389,7 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.14", + "getrandom 0.2.10", "peg", "pin-project", "rand 0.8.5", @@ -6802,22 +6428,11 @@ dependencies = [ "time", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "termcolor" -version = "1.4.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] @@ -6841,14 +6456,14 @@ checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "textwrap" -version = "0.16.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -6867,14 +6482,14 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ "cfg-if", "once_cell", @@ -6882,13 +6497,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", - "num-conv", "powerfmt", "serde", "time-core", @@ -6903,11 +6517,10 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] @@ -6986,9 +6599,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -6998,7 +6611,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -7015,13 +6628,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -7030,7 +6643,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.11", + "rustls 0.21.7", "tokio", ] @@ -7047,35 +6660,20 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls 0.21.11", - "tokio", - "tokio-rustls 0.24.1", - "tungstenite 0.20.1", - "webpki-roots", -] - [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -7094,6 +6692,18 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + [[package]] name = "toml" version = "0.8.12" @@ -7103,7 +6713,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit 0.22.9", ] [[package]] @@ -7117,26 +6727,39 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.5.17", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ "indexmap 2.2.6", "toml_datetime", - "winnow 0.5.40", + "winnow 0.5.17", ] [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.9", ] [[package]] @@ -7151,7 +6774,7 @@ dependencies = [ "base64 0.21.7", "bytes", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-timeout", @@ -7180,7 +6803,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -7235,7 +6858,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", ] [[package]] @@ -7270,23 +6893,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ + "lazy_static", "log", - "once_cell", "tracing-core", ] @@ -7302,9 +6914,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -7317,41 +6929,21 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 0.2.12", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.21.11", - "sha1", - "thiserror", - "url", - "utf-8", -] +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" @@ -7421,9 +7013,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" @@ -7433,9 +7025,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] @@ -7482,9 +7074,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -7505,9 +7097,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" [[package]] name = "utf8parse" @@ -7521,7 +7113,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.10", "serde", ] @@ -7531,7 +7123,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.10", ] [[package]] @@ -7557,9 +7149,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -7588,9 +7180,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7598,24 +7190,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -7625,9 +7217,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7635,22 +7227,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.53", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasmtimer" @@ -7668,9 +7260,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -7678,9 +7270,21 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] [[package]] name = "winapi" @@ -7715,11 +7319,20 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.48.5", +] + +[[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]] @@ -7740,6 +7353,21 @@ dependencies = [ "windows-targets 0.52.5", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -7771,6 +7399,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.5", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7783,6 +7417,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7795,6 +7435,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7813,6 +7459,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7825,6 +7477,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7837,6 +7495,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7849,6 +7513,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7863,18 +7533,18 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.5.40" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" dependencies = [ "memchr", ] @@ -7917,12 +7587,6 @@ dependencies = [ "tap", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "zcash_encoding" version = "0.2.0" @@ -7934,9 +7598,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.7.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -7949,54 +7613,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq 0.1.5", - "crc32fast", - "crossbeam-utils", - "flate2", - "hmac 0.12.1", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" -dependencies = [ - "cc", - "pkg-config", + "syn 2.0.53", ] diff --git a/crates/relayer-cli/src/commands/create/channel.rs b/crates/relayer-cli/src/commands/create/channel.rs index 2295d09e6c..197bb471c0 100644 --- a/crates/relayer-cli/src/commands/create/channel.rs +++ b/crates/relayer-cli/src/commands/create/channel.rs @@ -101,8 +101,7 @@ pub struct CreateChannelCommand { #[clap( long = "order", value_name = "ORDER", - help = "The channel ordering, valid options 'unordered' (default) and 'ordered'", - default_value_t + help = "The channel ordering, valid options 'unordered' (default) and 'ordered'" )] order: Ordering, diff --git a/crates/relayer-cli/src/commands/tx/channel.rs b/crates/relayer-cli/src/commands/tx/channel.rs index 84b93a2e49..7a84c45392 100644 --- a/crates/relayer-cli/src/commands/tx/channel.rs +++ b/crates/relayer-cli/src/commands/tx/channel.rs @@ -103,7 +103,6 @@ pub struct TxChanOpenInitCmd { #[clap( long = "order", - default_value_t, value_name = "ORDER", help = "The channel ordering, valid options 'unordered' (default) and 'ordered'" )] diff --git a/crates/relayer/src/config.rs b/crates/relayer/src/config.rs index f6ceef5789..ee23cf6e1a 100644 --- a/crates/relayer/src/config.rs +++ b/crates/relayer/src/config.rs @@ -771,7 +771,6 @@ impl<'de> Deserialize<'de> for ChainConfig { "Namada" => CosmosSdkConfig::deserialize(value) .map(Self::Namada) .map_err(|e| serde::de::Error::custom(format!("invalid Namada config: {e}"))), - // // <-- Add new chain types here --> // diff --git a/flake.lock b/flake.lock index 2d34b775ad..506208c59c 100644 --- a/flake.lock +++ b/flake.lock @@ -212,11 +212,11 @@ "wasmvm_1_beta7-src": "wasmvm_1_beta7-src" }, "locked": { - "lastModified": 1713771294, - "narHash": "sha256-vBfFaW06np8dtxq1lNmo2zA26/8kf82g2CMEhgyqxw4=", + "lastModified": 1717072229, + "narHash": "sha256-166ggriJPlTWZ/xR6YfbPd3kveJ6Hhj0BclEL0DzDYA=", "owner": "informalsystems", "repo": "cosmos.nix", - "rev": "e68f2d5e7121c10e956fda7f6c0a564becd3a7e0", + "rev": "9a18b54abb037e832a6854f053e274a7ba367074", "type": "github" }, "original": { @@ -930,16 +930,16 @@ "ibc-go-v8-src": { "flake": false, "locked": { - "lastModified": 1712305073, - "narHash": "sha256-J/tuv2U6cW+y51gUi4aXzR39lJD/8J/36lf7h2242sU=", + "lastModified": 1716359952, + "narHash": "sha256-KTjyHwmXA/jgppDKRe85XfRmh8O7AHFKhDyyOb9VROU=", "owner": "cosmos", "repo": "ibc-go", - "rev": "a2f3d7a78d21641178043341de96c3ecf06fa47b", + "rev": "9b6567bf818198ded336490d5f2d89c9d42fd87b", "type": "github" }, "original": { "owner": "cosmos", - "ref": "v8.2.0", + "ref": "v8.3.1", "repo": "ibc-go", "type": "github" } @@ -1338,11 +1338,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1713687659, - "narHash": "sha256-Yd8KuOBpZ0Slau/NxFhMPJI0gBxeax0vq/FD0rqKwuQ=", + "lastModified": 1717459389, + "narHash": "sha256-I8/plBsua4/NZ5bKgj+z7/ThiWuud1YFwLsn1QQ5PgE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c", + "rev": "3b01abcc24846ae49957b30f4345bab4b3f1d14b", "type": "github" }, "original": { diff --git a/tools/integration-test/Cargo.toml b/tools/integration-test/Cargo.toml index 2bf7cc2210..7f5e4fdbd1 100644 --- a/tools/integration-test/Cargo.toml +++ b/tools/integration-test/Cargo.toml @@ -29,27 +29,28 @@ toml = { workspace = true } tonic = { workspace = true, features = ["tls", "tls-roots"] } [features] -default = [] -example = [] -manual = [] -ordered = [] -ica = [] -ics29-fee = [] -experimental = [] -mbt = [] -forward-packet = [] -ics31 = [] -clean-workers = [] -fee-grant = [] +default = [] +example = [] +manual = [] +ordered = [] +ica = [] +ics29-fee = [] +experimental = [] +mbt = [] +forward-packet = [] +ics31 = [] +clean-workers = [] +fee-grant = [] interchain-security = [] -celestia = [] -async-icq = [] -juno = [] -dynamic-gas-fee = [] +celestia = [] +async-icq = [] +juno = [] +dynamic-gas-fee = [] +namada = [] [[bin]] name = "test_setup_with_binary_channel" -doc = true +doc = true [dev-dependencies] tempfile = { workspace = true } diff --git a/tools/integration-test/src/mbt/handlers.rs b/tools/integration-test/src/mbt/handlers.rs index 32c445984e..aae54e2c92 100644 --- a/tools/integration-test/src/mbt/handlers.rs +++ b/tools/integration-test/src/mbt/handlers.rs @@ -219,7 +219,12 @@ pub fn ibc_transfer_receive_packet( DualTagged::new(channels.channel_id_b.value()), ); - let denom_target = derive_ibc_denom(&port_target, &channel_id_target, &denom_source)?; + let denom_target = derive_ibc_denom( + &node_target.value().chain_driver.chain_type, + &port_target, + &channel_id_target, + &denom_source, + )?; info!( "Waiting for user on chain {} to receive IBC transferred amount of {} {} (chain {}/{})", diff --git a/tools/integration-test/src/tests/async_icq/simple_query.rs b/tools/integration-test/src/tests/async_icq/simple_query.rs index 0b7d6871bb..c2ed4294fc 100644 --- a/tools/integration-test/src/tests/async_icq/simple_query.rs +++ b/tools/integration-test/src/tests/async_icq/simple_query.rs @@ -1,6 +1,6 @@ use ibc_relayer::channel::version::Version; use ibc_relayer::config::ChainConfig; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::chain::ext::async_icq::AsyncIcqMethodsExt; use ibc_test_framework::chain::ext::bootstrap::ChainBootstrapMethodsExt; use ibc_test_framework::prelude::*; @@ -65,8 +65,10 @@ impl BinaryConnectionTest for AsyncIcqTest { chains: ConnectedChains, connection: ConnectedConnection, ) -> Result<(), Error> { - let fee_denom_a: MonoTagged = - MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a: MonoTagged = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let port_a = DualTagged::new(PortId::oracle()); let port_b = DualTagged::new(PortId::icqhost()); let (channel_id_b, channel_id_a) = init_channel_version( diff --git a/tools/integration-test/src/tests/clear_packet.rs b/tools/integration-test/src/tests/clear_packet.rs index 5a82ea156e..68d1fba0dc 100644 --- a/tools/integration-test/src/tests/clear_packet.rs +++ b/tools/integration-test/src/tests/clear_packet.rs @@ -127,8 +127,11 @@ impl BinaryChannelTest for ClearPacketTest { sleep(Duration::from_secs(1)); - let amount_b = - amount2.transfer(&channel.port_b.as_ref(), &channel.channel_id_b.as_ref())?; + let amount_b = amount2.transfer( + &chains.node_b.chain_driver().value().chain_type, + &channel.port_b.as_ref(), + &channel.channel_id_b.as_ref(), + )?; // Wallet on chain A should have both amount deducted. chains.node_a.chain_driver().assert_eventual_wallet_amount( @@ -181,6 +184,7 @@ impl BinaryChannelTest for ClearPacketRecoveryTest { )?; let denom_b2 = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -224,7 +228,10 @@ impl BinaryChannelTest for ClearPacketNoScanTest { channel: ConnectedChannel, ) -> Result<(), Error> { let denom_a = chains.node_a.denom(); - let fee_denom_a = MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let wallet_a = chains.node_a.wallets().user1().cloned(); let wallet_b = chains.node_b.wallets().user1().cloned(); @@ -245,6 +252,7 @@ impl BinaryChannelTest for ClearPacketNoScanTest { )?; let denom_b2 = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -346,7 +354,10 @@ impl BinaryChannelTest for ClearPacketOverrideTest { channel: ConnectedChannel, ) -> Result<(), Error> { let denom_a = chains.node_a.denom(); - let fee_denom_a = MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let wallet_a = chains.node_a.wallets().user1().cloned(); let wallet_b = chains.node_b.wallets().user1().cloned(); @@ -367,6 +378,7 @@ impl BinaryChannelTest for ClearPacketOverrideTest { )?; let denom_b2 = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/client_expiration.rs b/tools/integration-test/src/tests/client_expiration.rs index 6358377abc..80877b31ea 100644 --- a/tools/integration-test/src/tests/client_expiration.rs +++ b/tools/integration-test/src/tests/client_expiration.rs @@ -313,6 +313,7 @@ impl BinaryChainTest for PacketExpirationTest { let denom_a = chains.node_a.denom(); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/client_filter.rs b/tools/integration-test/src/tests/client_filter.rs index 0410a91ba4..16d28e4024 100644 --- a/tools/integration-test/src/tests/client_filter.rs +++ b/tools/integration-test/src/tests/client_filter.rs @@ -25,6 +25,7 @@ use ibc_relayer::foreign_client::CreateOptions; use ibc_relayer::object::ObjectType; use ibc_relayer_types::clients::ics07_tendermint::client_state::ClientState as TmClientState; +use ibc_test_framework::chain::config; use ibc_test_framework::prelude::*; struct ClientFilterBlocksConnectionTest; @@ -74,6 +75,11 @@ impl TestOverrides for ClientFilterAllowsConnectionTest { trust_threshold: Some(TrustThreshold::ONE_THIRD), } } + + fn namada_modify_parameter_file(&self, parameter: &mut toml::Value) -> Result<(), Error> { + config::namada::set_pipeline_len(parameter, 120001)?; + Ok(()) + } } impl BinaryChannelTest for ClientFilterBlocksConnectionTest { diff --git a/tools/integration-test/src/tests/client_refresh.rs b/tools/integration-test/src/tests/client_refresh.rs index 2effa49fb5..3a16b10e5a 100644 --- a/tools/integration-test/src/tests/client_refresh.rs +++ b/tools/integration-test/src/tests/client_refresh.rs @@ -15,10 +15,12 @@ fn test_client_default_refresh() -> Result<(), Error> { } #[test] +#[cfg(not(feature = "namada"))] fn test_client_fail_refresh() -> Result<(), Error> { run_binary_chain_test(&ClientFailsTest) } +#[allow(dead_code)] struct ClientFailsTest; struct ClientDefaultsTest; @@ -130,7 +132,9 @@ impl BinaryChainTest for ClientFailsTest { ChainConfig::CosmosSdk(config_chain_a) => { config_chain_a.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); } - ChainConfig::Namada(_) => {} + ChainConfig::Namada(config_chain_a) => { + config_chain_a.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + } } } @@ -138,7 +142,9 @@ impl BinaryChainTest for ClientFailsTest { ChainConfig::CosmosSdk(config_chain_b) => { config_chain_b.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); } - ChainConfig::Namada(_) => {} + ChainConfig::Namada(config_chain_b) => { + config_chain_b.gas_multiplier = Some(GasMultiplier::unsafe_new(0.8)); + } } }, config, @@ -168,6 +174,7 @@ impl BinaryChainTest for ClientFailsTest { } } +#[allow(dead_code)] fn override_connected_chains( chains: ConnectedChains, config_modifier: impl FnOnce(&mut Config), @@ -210,6 +217,7 @@ where Ok(chains) } +#[allow(dead_code)] fn restore_foreign_client_pair( chain_a: &ChainA, chain_b: &ChainB, diff --git a/tools/integration-test/src/tests/client_upgrade.rs b/tools/integration-test/src/tests/client_upgrade.rs index 9cf174abff..40522c4f39 100644 --- a/tools/integration-test/src/tests/client_upgrade.rs +++ b/tools/integration-test/src/tests/client_upgrade.rs @@ -21,7 +21,7 @@ use ibc_relayer::chain::requests::QueryHeight; use ibc_relayer::client_state::AnyClientState; use ibc_relayer::upgrade_chain::{build_and_send_ibc_upgrade_proposal, UpgradePlanOptions}; use ibc_relayer_types::core::ics02_client::height::Height; -use ibc_test_framework::chain::config::{ +use ibc_test_framework::chain::config::cosmos::{ set_max_deposit_period, set_min_deposit_amount, set_voting_period, }; use ibc_test_framework::chain::ext::bootstrap::ChainBootstrapMethodsExt; @@ -82,8 +82,10 @@ impl BinaryChainTest for ClientUpgradeTest { chains: ibc_test_framework::prelude::ConnectedChains, ) -> Result<(), ibc_test_framework::prelude::Error> { let upgraded_chain_id = ChainId::new("upgradedibc".to_owned(), 1); - let fee_denom_a: MonoTagged = - MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a: MonoTagged = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let foreign_clients = chains.clone().foreign_clients; // Create and send an chain upgrade proposal @@ -241,8 +243,10 @@ impl BinaryChainTest for HeightTooHighClientUpgradeTest { chains: ibc_test_framework::prelude::ConnectedChains, ) -> Result<(), ibc_test_framework::prelude::Error> { let upgraded_chain_id = ChainId::new("upgradedibc".to_owned(), 1); - let fee_denom_a: MonoTagged = - MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a: MonoTagged = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let foreign_clients = chains.clone().foreign_clients; // Create and send an chain upgrade proposal @@ -339,8 +343,10 @@ impl BinaryChainTest for HeightTooLowClientUpgradeTest { chains: ibc_test_framework::prelude::ConnectedChains, ) -> Result<(), ibc_test_framework::prelude::Error> { let upgraded_chain_id = ChainId::new("upgradedibc".to_owned(), 1); - let fee_denom_a: MonoTagged = - MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a: MonoTagged = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let foreign_clients = chains.clone().foreign_clients; let opts = create_upgrade_plan(config, &chains, &upgraded_chain_id)?; @@ -432,8 +438,10 @@ fn create_upgrade_plan( chains: &ibc_test_framework::prelude::ConnectedChains, upgraded_chain_id: &ChainId, ) -> Result { - let fee_denom_a: MonoTagged = - MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a: MonoTagged = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let foreign_clients = chains.clone().foreign_clients; let src_client_id = foreign_clients.client_id_b().0.clone(); diff --git a/tools/integration-test/src/tests/connection_delay.rs b/tools/integration-test/src/tests/connection_delay.rs index 0c8ca19e57..43f034f45e 100644 --- a/tools/integration-test/src/tests/connection_delay.rs +++ b/tools/integration-test/src/tests/connection_delay.rs @@ -58,6 +58,7 @@ impl BinaryChannelTest for ConnectionDelayTest { let time1 = OffsetDateTime::now_utc(); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/denom_trace.rs b/tools/integration-test/src/tests/denom_trace.rs index 3c56efbdcb..78b24dcd06 100644 --- a/tools/integration-test/src/tests/denom_trace.rs +++ b/tools/integration-test/src/tests/denom_trace.rs @@ -40,6 +40,7 @@ impl BinaryChannelTest for IbcDenomTraceTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/dynamic_gas_fee.rs b/tools/integration-test/src/tests/dynamic_gas_fee.rs index 34475d9aee..950e8b9617 100644 --- a/tools/integration-test/src/tests/dynamic_gas_fee.rs +++ b/tools/integration-test/src/tests/dynamic_gas_fee.rs @@ -86,15 +86,38 @@ impl BinaryChannelTest for DynamicGasTest { let a_to_b_amount = 12345u64; let denom_a_to_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, )?; + let gas_denom_str_a = match relayer + .config + .chains + .first() + .ok_or_else(|| eyre!("chain configuration is empty"))? + { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.gas_price.denom.clone() + } + }; + + let gas_denom_str_b: String = match relayer + .config + .chains + .get(1) + .ok_or_else(|| eyre!("chain configuration is empty"))? + { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.gas_price.denom.clone() + } + }; + let gas_denom_a: MonoTagged = - MonoTagged::new(Denom::Base("stake".to_owned())); + MonoTagged::new(Denom::base(&gas_denom_str_a, &gas_denom_str_a)); let gas_denom_b: MonoTagged = - MonoTagged::new(Denom::Base("stake".to_owned())); + MonoTagged::new(Denom::base(&gas_denom_str_b, &gas_denom_str_b)); let balance_relayer_b_before = chains.node_b.chain_driver().query_balance( &chains.node_b.wallets().relayer().address(), @@ -150,6 +173,7 @@ impl BinaryChannelTest for DynamicGasTest { let denom_b = chains.node_b.denom(); let denom_b_to_a = derive_ibc_denom( + &chains.node_a.chain_driver().value().chain_type, &channel.port_a.as_ref(), &channel.channel_id_a.as_ref(), &denom_b, diff --git a/tools/integration-test/src/tests/fee/auto_forward_relayer.rs b/tools/integration-test/src/tests/fee/auto_forward_relayer.rs index ca120394a5..e5aad208ce 100644 --- a/tools/integration-test/src/tests/fee/auto_forward_relayer.rs +++ b/tools/integration-test/src/tests/fee/auto_forward_relayer.rs @@ -76,6 +76,7 @@ impl BinaryChannelTest for AutoForwardRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/filter_fees.rs b/tools/integration-test/src/tests/fee/filter_fees.rs index c509ee0ccf..5c96cdaaf4 100644 --- a/tools/integration-test/src/tests/fee/filter_fees.rs +++ b/tools/integration-test/src/tests/fee/filter_fees.rs @@ -98,6 +98,7 @@ impl BinaryChannelTest for FilterIncentivizedFeesRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -159,6 +160,7 @@ impl BinaryChannelTest for FilterIncentivizedFeesRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -251,6 +253,7 @@ impl BinaryChannelTest for FilterByChannelIncentivizedFeesRelayerTest { let balance_a2 = balance_a1.clone() - send_amount - max(receive_fee + ack_fee, timeout_fee); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/forward_relayer.rs b/tools/integration-test/src/tests/fee/forward_relayer.rs index daa5bcf317..ca91aef498 100644 --- a/tools/integration-test/src/tests/fee/forward_relayer.rs +++ b/tools/integration-test/src/tests/fee/forward_relayer.rs @@ -115,6 +115,7 @@ impl BinaryChannelTest for ForwardRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/no_forward_relayer.rs b/tools/integration-test/src/tests/fee/no_forward_relayer.rs index 8b840640e8..13683f9cfe 100644 --- a/tools/integration-test/src/tests/fee/no_forward_relayer.rs +++ b/tools/integration-test/src/tests/fee/no_forward_relayer.rs @@ -93,6 +93,7 @@ impl BinaryChannelTest for NoForwardRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -179,6 +180,7 @@ impl BinaryChannelTest for InvalidForwardRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/non_fee_channel.rs b/tools/integration-test/src/tests/fee/non_fee_channel.rs index b7b026ae3a..e2c8c44c6a 100644 --- a/tools/integration-test/src/tests/fee/non_fee_channel.rs +++ b/tools/integration-test/src/tests/fee/non_fee_channel.rs @@ -93,6 +93,7 @@ impl BinaryChannelTest for NonFeeChannelTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/pay_fee_async.rs b/tools/integration-test/src/tests/fee/pay_fee_async.rs index 37c486c07d..4af93c556d 100644 --- a/tools/integration-test/src/tests/fee/pay_fee_async.rs +++ b/tools/integration-test/src/tests/fee/pay_fee_async.rs @@ -274,6 +274,7 @@ impl BinaryChannelTest for PayPacketFeeAsyncTest { } let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee/register_payee.rs b/tools/integration-test/src/tests/fee/register_payee.rs index 638800c846..9ddab19fe0 100644 --- a/tools/integration-test/src/tests/fee/register_payee.rs +++ b/tools/integration-test/src/tests/fee/register_payee.rs @@ -130,6 +130,7 @@ impl BinaryChannelTest for ForwardRelayerTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/fee_grant.rs b/tools/integration-test/src/tests/fee_grant.rs index cd9d833415..2a0a8aa272 100644 --- a/tools/integration-test/src/tests/fee_grant.rs +++ b/tools/integration-test/src/tests/fee_grant.rs @@ -42,7 +42,10 @@ impl BinaryChannelTest for FeeGrantTest { let denom_a = chains.node_a.denom(); let wallet_a = chains.node_a.wallets().user1().cloned(); let wallet_b = chains.node_b.wallets().user1().cloned(); - let fee_denom_a = MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let a_to_b_amount = 12345u64; let granter = chains @@ -70,6 +73,7 @@ impl BinaryChannelTest for FeeGrantTest { thread::sleep(Duration::from_secs(5)); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, @@ -86,7 +90,8 @@ impl BinaryChannelTest for FeeGrantTest { } }; - let gas_denom: MonoTagged = MonoTagged::new(Denom::Base(gas_denom_str)); + let gas_denom: MonoTagged = + MonoTagged::new(Denom::base(&gas_denom_str, &gas_denom_str)); let balance_user1_before = chains .node_a @@ -187,7 +192,10 @@ impl BinaryChannelTest for NoFeeGrantTest { let wallet_a = chains.node_a.wallets().user1().cloned(); let wallet_a2 = chains.node_a.wallets().user2().cloned(); let wallet_b = chains.node_b.wallets().user1().cloned(); - let fee_denom_a = MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let a_to_b_amount = 12345u64; let granter = chains @@ -215,6 +223,7 @@ impl BinaryChannelTest for NoFeeGrantTest { thread::sleep(Duration::from_secs(5)); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, @@ -231,7 +240,8 @@ impl BinaryChannelTest for NoFeeGrantTest { } }; - let gas_denom: MonoTagged = MonoTagged::new(Denom::Base(gas_denom_str)); + let gas_denom: MonoTagged = + MonoTagged::new(Denom::base(&gas_denom_str, &gas_denom_str)); let balance_user1_before = chains .node_a diff --git a/tools/integration-test/src/tests/forward/forward_hop_transfer.rs b/tools/integration-test/src/tests/forward/forward_hop_transfer.rs index 931ceddd23..aa82260b45 100644 --- a/tools/integration-test/src/tests/forward/forward_hop_transfer.rs +++ b/tools/integration-test/src/tests/forward/forward_hop_transfer.rs @@ -67,24 +67,28 @@ impl NaryChannelTest<4> for IbcForwardHopTransferTest { let denom_a = connected_chains.node_a.denom(); let denom_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_b.as_ref(), )?; let denom_a_to_d = derive_ibc_denom( + &node_d.chain_driver().value().chain_type, &channel_c_to_d.port_b.as_ref(), &channel_c_to_d.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), @@ -188,24 +192,28 @@ impl NaryChannelTest<4> for AtomicIbcForwardHopTransferTest { let denom_a = connected_chains.node_a.denom(); let denom_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_b.as_ref(), )?; let denom_a_to_d = derive_ibc_denom( + &node_d.chain_driver().value().chain_type, &channel_c_to_d.port_b.as_ref(), &channel_c_to_d.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), diff --git a/tools/integration-test/src/tests/forward/forward_transfer.rs b/tools/integration-test/src/tests/forward/forward_transfer.rs index 65827fc0d6..b63277e58a 100644 --- a/tools/integration-test/src/tests/forward/forward_transfer.rs +++ b/tools/integration-test/src/tests/forward/forward_transfer.rs @@ -85,18 +85,21 @@ impl NaryChannelTest<3> for IbcForwardTransferTest { let denom_a = connected_chains.node_a.denom(); let denom_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_b.as_ref(), @@ -188,18 +191,21 @@ impl NaryChannelTest<3> for MisspelledMemoFieldsIbcForwardTransferTest { let denom_a = connected_chains.node_a.denom(); let denom_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_b.as_ref(), @@ -434,18 +440,21 @@ impl NaryChannelTest<3> for MisspelledMemoContentIbcForwardTransferTest { let denom_a = connected_chains.node_a.denom(); let denom_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, )?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_b.as_ref(), diff --git a/tools/integration-test/src/tests/handshake_on_start.rs b/tools/integration-test/src/tests/handshake_on_start.rs index e5b744fc3d..8e22a4dcc2 100644 --- a/tools/integration-test/src/tests/handshake_on_start.rs +++ b/tools/integration-test/src/tests/handshake_on_start.rs @@ -12,6 +12,7 @@ use ibc_test_framework::{ }, }; +#[cfg(not(feature = "namada"))] #[test] fn test_connection_open_handshake() -> Result<(), Error> { run_binary_chain_test(&ConnectionOpenHandshake { @@ -26,6 +27,7 @@ fn test_connection_open_handshake_no_worker() -> Result<(), Error> { }) } +#[cfg(not(feature = "namada"))] #[test] fn test_connection_try_handshake() -> Result<(), Error> { run_binary_chain_test(&ConnectionTryHandshake { @@ -96,6 +98,7 @@ fn test_channel_ack_handshake_no_worker() -> Result<(), Error> { }) } +#[cfg(not(feature = "namada"))] #[test] fn test_channel_optimistic_handshake() -> Result<(), Error> { run_binary_chain_test(&OptimisticChannelOpenHandshake {}) diff --git a/tools/integration-test/src/tests/ica.rs b/tools/integration-test/src/tests/ica.rs index fa26781df1..96e750d3b0 100644 --- a/tools/integration-test/src/tests/ica.rs +++ b/tools/integration-test/src/tests/ica.rs @@ -121,7 +121,7 @@ impl BinaryConnectionTest for IcaFilterTestAllow { .chain_driver() .query_interchain_account(&wallet.address(), &connection.connection_id_a.as_ref())?; - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); chains.node_b.chain_driver().assert_eventual_wallet_amount( &ica_address.as_ref(), @@ -256,7 +256,18 @@ impl BinaryConnectionTest for ICACloseChannelTest { chains: ConnectedChains, connection: ConnectedConnection, ) -> Result<(), Error> { - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let gas_denom_str = match relayer + .config + .chains + .first() + .ok_or_else(|| eyre!("chain configuration is empty"))? + { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { + chain_config.gas_price.denom.clone() + } + }; + let stake_denom: MonoTagged = + MonoTagged::new(Denom::base(&gas_denom_str, &gas_denom_str)); let (wallet, ica_address, controller_channel_id, controller_port_id) = relayer .with_supervisor(|| { // Register an interchain account on behalf of diff --git a/tools/integration-test/src/tests/ics20_filter/memo.rs b/tools/integration-test/src/tests/ics20_filter/memo.rs index 0ec207af37..ca696ec150 100644 --- a/tools/integration-test/src/tests/ics20_filter/memo.rs +++ b/tools/integration-test/src/tests/ics20_filter/memo.rs @@ -71,6 +71,7 @@ impl BinaryChannelTest for IbcMemoFilterTest { info!("Assert that the IBC transfer was filtered"); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/ics20_filter/mod.rs b/tools/integration-test/src/tests/ics20_filter/mod.rs index 80d0261cba..98feac68fc 100644 --- a/tools/integration-test/src/tests/ics20_filter/mod.rs +++ b/tools/integration-test/src/tests/ics20_filter/mod.rs @@ -1 +1,2 @@ +#[cfg(not(feature = "namada"))] pub mod memo; diff --git a/tools/integration-test/src/tests/ics31.rs b/tools/integration-test/src/tests/ics31.rs index 33065dc091..54e7408e78 100644 --- a/tools/integration-test/src/tests/ics31.rs +++ b/tools/integration-test/src/tests/ics31.rs @@ -13,7 +13,7 @@ use ibc_relayer::config::{self, ModeConfig}; use ibc_test_framework::chain::{ cli::host_zone::register_host_zone, - config::{ + config::cosmos::{ set_crisis_denom, set_mint_mint_denom, set_staking_bond_denom, set_staking_max_entries, set_voting_period, }, @@ -101,6 +101,7 @@ impl BinaryChannelTest for ICS31Test { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs index 56a0075ff3..261523bb89 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs @@ -114,7 +114,7 @@ impl BinaryChannelTest for IcaOrderedChannelTest { &channel.connection.connection_id_b.as_ref(), )?; - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); chains.node_a.chain_driver().assert_eventual_wallet_amount( &ica_address.as_ref(), diff --git a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs index 5377f206da..e45e86fbfb 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs @@ -87,7 +87,7 @@ impl BinaryChannelTest for InterchainSecurityIcaTransferTest { &channel.connection.connection_id_b.as_ref(), )?; - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); chains.node_a.chain_driver().assert_eventual_wallet_amount( &ica_address.as_ref(), diff --git a/tools/integration-test/src/tests/interchain_security/icq.rs b/tools/integration-test/src/tests/interchain_security/icq.rs index 3c78fbac3e..82b336f722 100644 --- a/tools/integration-test/src/tests/interchain_security/icq.rs +++ b/tools/integration-test/src/tests/interchain_security/icq.rs @@ -10,7 +10,7 @@ //! then processed. use ibc_test_framework::chain::cli::host_zone::register_host_zone; -use ibc_test_framework::chain::config::{ +use ibc_test_framework::chain::config::cosmos::{ set_crisis_denom, set_mint_mint_denom, set_staking_bond_denom, set_staking_max_entries, set_voting_period, }; @@ -114,6 +114,7 @@ impl BinaryChannelTest for InterchainSecurityIcqTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/interchain_security/simple_transfer.rs b/tools/integration-test/src/tests/interchain_security/simple_transfer.rs index 05317917ed..1d6afed1e5 100644 --- a/tools/integration-test/src/tests/interchain_security/simple_transfer.rs +++ b/tools/integration-test/src/tests/interchain_security/simple_transfer.rs @@ -69,6 +69,7 @@ impl BinaryChannelTest for InterchainSecurityTransferTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/memo.rs b/tools/integration-test/src/tests/memo.rs index ae7ee535f4..b39b24636e 100644 --- a/tools/integration-test/src/tests/memo.rs +++ b/tools/integration-test/src/tests/memo.rs @@ -69,6 +69,7 @@ impl BinaryChannelTest for MemoTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, @@ -133,6 +134,7 @@ impl BinaryChannelTest for MemoOverwriteTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/mod.rs b/tools/integration-test/src/tests/mod.rs index bd1defd1bc..deede69809 100644 --- a/tools/integration-test/src/tests/mod.rs +++ b/tools/integration-test/src/tests/mod.rs @@ -5,28 +5,37 @@ will pick up the definition by default. */ +#[cfg(not(feature = "namada"))] pub mod clear_packet; +#[cfg(not(feature = "namada"))] pub mod client_expiration; +#[cfg(not(feature = "namada"))] pub mod client_filter; pub mod client_refresh; +#[cfg(not(feature = "namada"))] pub mod client_settings; -#[cfg(not(feature = "celestia"))] +#[cfg(not(any(feature = "celestia", feature = "namada")))] pub mod client_upgrade; pub mod connection_delay; +#[cfg(not(feature = "namada"))] pub mod consensus_states; +#[cfg(not(feature = "namada"))] pub mod denom_trace; +#[cfg(not(feature = "namada"))] pub mod error_events; pub mod execute_schedule; pub mod handshake_on_start; pub mod ics20_filter; +#[cfg(not(feature = "namada"))] pub mod memo; +#[cfg(not(feature = "namada"))] pub mod python; pub mod query_packet; -#[cfg(not(feature = "celestia"))] -pub mod sequence_filter; +#[cfg(not(feature = "namada"))] pub mod supervisor; +#[cfg(not(feature = "namada"))] pub mod tendermint; -#[cfg(not(feature = "celestia"))] +#[cfg(not(any(feature = "celestia", feature = "namada")))] pub mod ternary_transfer; pub mod transfer; diff --git a/tools/integration-test/src/tests/ordered_channel.rs b/tools/integration-test/src/tests/ordered_channel.rs index 8f36e516c8..c3c2069053 100644 --- a/tools/integration-test/src/tests/ordered_channel.rs +++ b/tools/integration-test/src/tests/ordered_channel.rs @@ -96,6 +96,7 @@ impl BinaryChannelTest for OrderedChannelTest { sleep(Duration::from_secs(1)); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/ordered_channel_clear.rs b/tools/integration-test/src/tests/ordered_channel_clear.rs index 2577af8eeb..5dc9fa2c2e 100644 --- a/tools/integration-test/src/tests/ordered_channel_clear.rs +++ b/tools/integration-test/src/tests/ordered_channel_clear.rs @@ -155,6 +155,7 @@ impl BinaryChannelTest for OrderedChannelClearTest { sleep(Duration::from_secs(10)); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/supervisor.rs b/tools/integration-test/src/tests/supervisor.rs index fd24c71551..45d05e35db 100644 --- a/tools/integration-test/src/tests/supervisor.rs +++ b/tools/integration-test/src/tests/supervisor.rs @@ -91,7 +91,12 @@ impl BinaryChainTest for SupervisorTest { let denom_a = chains.node_a.denom(); - let denom_b = derive_ibc_denom(&port_b.as_ref(), &channel_id_b.as_ref(), &denom_a)?; + let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, + &port_b.as_ref(), + &channel_id_b.as_ref(), + &denom_a, + )?; // Use the same wallet as the relayer to perform token transfer. // This will cause an account sequence mismatch error. @@ -193,9 +198,13 @@ impl BinaryChannelTest for SupervisorScanTest { channels: ConnectedChannel, ) -> Result<(), Error> { let denom_a = chains.node_a.denom(); - let fee_denom_a = MonoTagged::new(Denom::base(&config.native_tokens[0])); + let fee_denom_a = MonoTagged::new(Denom::base( + &config.native_tokens[0], + &config.native_tokens[0], + )); let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index c6e954e89e..00b5fe6e19 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -22,11 +22,11 @@ pub struct SequentialCommitTest; impl TestOverrides for SequentialCommitTest { fn modify_node_config(&self, config: &mut toml::Value) -> Result<(), Error> { - config::set_timeout_commit(config, BLOCK_TIME)?; - config::set_timeout_propose(config, BLOCK_TIME)?; + config::cosmos::set_timeout_commit(config, BLOCK_TIME)?; + config::cosmos::set_timeout_propose(config, BLOCK_TIME)?; // Enable priority mempool - config::set_mempool_version(config, "v1")?; + config::cosmos::set_mempool_version(config, "v1")?; Ok(()) } diff --git a/tools/integration-test/src/tests/ternary_transfer.rs b/tools/integration-test/src/tests/ternary_transfer.rs index 8302c9b8bd..b4e2ffb260 100644 --- a/tools/integration-test/src/tests/ternary_transfer.rs +++ b/tools/integration-test/src/tests/ternary_transfer.rs @@ -61,6 +61,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { )?; let denom_a_to_b = derive_ibc_denom( + &node_b.chain_driver().value().chain_type, &channel_a_to_b.port_b.as_ref(), &channel_a_to_b.channel_id_b.as_ref(), &denom_a, @@ -92,6 +93,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { let channel_b_to_c = channels.channel_at::<1, 2>()?; let denom_a_to_c = derive_ibc_denom( + &node_c.chain_driver().value().chain_type, &channel_b_to_c.port_b.as_ref(), &channel_b_to_c.channel_id_b.as_ref(), &denom_a_to_b.as_ref(), @@ -129,6 +131,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { let channel_c_to_a = channels.channel_at::<2, 0>()?; let denom_a_to_c_to_a = derive_ibc_denom( + &node_a.chain_driver().value().chain_type, &channel_c_to_a.port_b.as_ref(), &channel_c_to_a.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), diff --git a/tools/integration-test/src/tests/transfer.rs b/tools/integration-test/src/tests/transfer.rs index f117dc742f..7a0e4ae8ca 100644 --- a/tools/integration-test/src/tests/transfer.rs +++ b/tools/integration-test/src/tests/transfer.rs @@ -10,7 +10,7 @@ fn test_ibc_transfer() -> Result<(), Error> { Test that IBC token transfer can still work with a single chain that is connected to itself. */ -#[cfg(not(feature = "celestia"))] +#[cfg(not(any(feature = "celestia", feature = "namada")))] #[test] fn test_self_connected_ibc_transfer() -> Result<(), Error> { run_self_connected_binary_chain_test(&RunBinaryConnectionTest::new(&RunBinaryChannelTest::new( @@ -25,13 +25,13 @@ fn test_self_connected_ibc_transfer() -> Result<(), Error> { this behind the "experimental" feature flag so that normal developers are not obligated to understand how this test works yet. */ -#[cfg(not(feature = "celestia"))] +#[cfg(not(any(feature = "celestia", feature = "namada")))] #[test] fn test_nary_ibc_transfer() -> Result<(), Error> { run_binary_as_nary_channel_test(&IbcTransferTest) } -#[cfg(not(feature = "celestia"))] +#[cfg(not(any(feature = "celestia", feature = "namada")))] #[test] fn test_self_connected_nary_ibc_transfer() -> Result<(), Error> { run_self_connected_nary_chain_test(&RunNaryConnectionTest::new(&RunNaryChannelTest::new( @@ -69,7 +69,7 @@ impl BinaryChannelTest for IbcTransferTest { chains.chain_id_a(), chains.chain_id_b(), a_to_b_amount, - denom_a + denom_a, ); chains.node_a.chain_driver().ibc_transfer_token( @@ -81,14 +81,15 @@ impl BinaryChannelTest for IbcTransferTest { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, )?; info!( - "Waiting for user on chain B to receive IBC transferred amount of {}", - a_to_b_amount + "Waiting for user on chain B to receive IBC transferred amount of {} {}", + a_to_b_amount, denom_b, ); chains.node_a.chain_driver().assert_eventual_wallet_amount( @@ -115,10 +116,11 @@ impl BinaryChannelTest for IbcTransferTest { let b_to_a_amount = random_u128_range(500, a_to_b_amount); info!( - "Sending IBC transfer from chain {} to chain {} with amount of {}", + "Sending IBC transfer from chain {} to chain {} with amount of {} {}", chains.chain_id_b(), chains.chain_id_a(), b_to_a_amount, + denom_b, ); chains.node_b.chain_driver().ibc_transfer_token( @@ -129,6 +131,12 @@ impl BinaryChannelTest for IbcTransferTest { &denom_b.with_amount(b_to_a_amount).as_ref(), )?; + info!( + "Waiting for user on chain A to receive IBC transferred amount of {} {}", + b_to_a_amount, + balance_c.denom(), + ); + chains.node_b.chain_driver().assert_eventual_wallet_amount( &wallet_b.address(), &denom_b.with_amount(a_to_b_amount - b_to_a_amount).as_ref(), diff --git a/tools/test-framework/src/bootstrap/binary/chain.rs b/tools/test-framework/src/bootstrap/binary/chain.rs index 365c079e8c..750c56d794 100644 --- a/tools/test-framework/src/bootstrap/binary/chain.rs +++ b/tools/test-framework/src/bootstrap/binary/chain.rs @@ -67,6 +67,9 @@ pub fn bootstrap_chains_with_full_nodes( let registry = new_registry(config.clone()); + // Wait before spawning the chain handle + std::thread::sleep(Duration::from_secs(10)); + // Pass in unique closure expressions `||{}` as the first argument so that // the returned chains are considered different types by Rust. // See [`spawn_chain_handle`] for more details. @@ -211,7 +214,7 @@ pub fn add_key_to_chain_handle( chain: &Chain, wallet: &Wallet, ) -> Result<(), Error> { - let res = chain.add_key(wallet.id.0.clone(), wallet.key.clone().into()); + let res = chain.add_key(wallet.id.0.clone(), wallet.key.clone()); // Ignore error if chain handle already have the given key match res { diff --git a/tools/test-framework/src/bootstrap/consumer.rs b/tools/test-framework/src/bootstrap/consumer.rs index 6c85595331..230cdce0c2 100644 --- a/tools/test-framework/src/bootstrap/consumer.rs +++ b/tools/test-framework/src/bootstrap/consumer.rs @@ -5,6 +5,7 @@ use eyre::eyre; use std::sync::{Arc, RwLock}; use std::thread; use std::time::Duration; +use toml; use tracing::info; use crate::chain::builder::ChainBuilder; @@ -23,9 +24,9 @@ pub fn bootstrap_consumer_node( chain_number: usize, provider_chain_driver: &ChainDriver, ) -> Result { - let stake_denom = Denom::base("stake"); + let stake_denom = Denom::base("stake", "stake"); - let denom = Denom::base("samoleans"); + let denom = Denom::base("samoleans", "samoleans"); let initial_amount = random_u128_range(1_000_000_000_000_000_000, 2_000_000_000_000_000_000); @@ -71,34 +72,33 @@ pub fn bootstrap_consumer_node( } ]); chain_driver.update_genesis_file("genesis.json", |genesis| { - config::set_soft_opt_out_threshold(genesis, "0.05")?; - config::consensus_params_max_gas(genesis, "3000000")?; - config::globalfee_minimum_gas_prices(genesis, globalfee_minimum_gas)?; - config::set_retry_delay_period(genesis, "100s")?; + config::cosmos::set_soft_opt_out_threshold(genesis, "0.05")?; + config::cosmos::consensus_params_max_gas(genesis, "3000000")?; + config::cosmos::globalfee_minimum_gas_prices(genesis, globalfee_minimum_gas)?; Ok(()) })?; let log_level = std::env::var("CHAIN_LOG_LEVEL").unwrap_or_else(|_| "info".to_string()); - chain_driver.update_chain_config("config.toml", |config| { - config::set_log_level(config, &log_level)?; - config::set_rpc_port(config, chain_driver.rpc_port)?; - config::set_p2p_port(config, chain_driver.p2p_port)?; - config::set_pprof_port(config, chain_driver.pprof_port)?; - config::set_timeout_commit(config, Duration::from_secs(1))?; - config::set_timeout_propose(config, Duration::from_secs(1))?; - config::set_mode(config, "validator")?; + chain_driver.update_chain_config("config/config.toml", |config| { + config::cosmos::set_log_level(config, &log_level)?; + config::cosmos::set_rpc_port(config, chain_driver.rpc_port)?; + config::cosmos::set_p2p_port(config, chain_driver.p2p_port)?; + config::cosmos::set_pprof_port(config, chain_driver.pprof_port)?; + config::cosmos::set_timeout_commit(config, Duration::from_secs(1))?; + config::cosmos::set_timeout_propose(config, Duration::from_secs(1))?; + config::cosmos::set_mode(config, "validator")?; config_modifier(config)?; Ok(()) })?; - chain_driver.update_chain_config("app.toml", |config| { - config::set_grpc_port(config, chain_driver.grpc_port)?; - config::disable_grpc_web(config)?; - config::disable_api(config)?; - config::set_minimum_gas_price(config, "0stake")?; + chain_driver.update_chain_config("config/app.toml", |config| { + config::cosmos::set_grpc_port(config, chain_driver.grpc_port)?; + config::cosmos::disable_grpc_web(config)?; + config::cosmos::disable_api(config)?; + config::cosmos::set_minimum_gas_price(config, "0stake")?; Ok(()) })?; diff --git a/tools/test-framework/src/bootstrap/mod.rs b/tools/test-framework/src/bootstrap/mod.rs index 17216d9455..b31132f5b6 100644 --- a/tools/test-framework/src/bootstrap/mod.rs +++ b/tools/test-framework/src/bootstrap/mod.rs @@ -14,5 +14,6 @@ pub mod binary; pub mod consumer; pub mod init; +pub mod namada; pub mod nary; pub mod single; diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs new file mode 100644 index 0000000000..286a9f3574 --- /dev/null +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -0,0 +1,338 @@ +/*! + Helper functions for bootstrapping a single full node. +*/ +use core::time::Duration; +use eyre::eyre; +use std::env; +use std::path::PathBuf; +use std::sync::{Arc, RwLock}; +use toml; + +use ibc_relayer::chain::namada::wallet::CliWalletUtils; +use ibc_relayer::keyring::{KeyRing, NamadaKeyPair, Store}; +use ibc_relayer_types::core::ics24_host::identifier::ChainId; + +use crate::chain::builder::ChainBuilder; +use crate::chain::config; +use crate::chain::exec::{simple_exec, simple_exec_with_envs}; +use crate::chain::ext::bootstrap::ChainBootstrapMethodsExt; +use crate::error::Error; +use crate::ibc::denom::Denom; +use crate::prelude::{TestWallets, Wallet}; +use crate::types::single::node::FullNode; +use crate::util::namada::get_namada_denom_address; + +use std::fs; +use std::process::{Command, Stdio}; +use std::str; +use std::thread::sleep; + +use crate::types::process::ChildProcess; +use crate::util::file::pipe_to_file; + +/** + Bootstrap a single Namada full node with the provided [`ChainBuilder`] and + a prefix for the chain ID. + + The bootstrap function follows the commands and configurations done in the + the setup-namada-single-node script found in the scripts/ directory. +*/ +pub fn bootstrap_namada_node( + builder: &ChainBuilder, + prefix: &str, + use_random_id: bool, + config_modifier: impl FnOnce(&mut toml::Value) -> Result<(), Error>, + _genesis_modifier: impl FnOnce(&mut serde_json::Value) -> Result<(), Error>, + parameters_modifier: impl FnOnce(&mut toml::Value) -> Result<(), Error>, + chain_number: usize, +) -> Result { + let namada_repo_path = env::var("NAMADA_REPO_PATH") + .map_err(|_| Error::generic(eyre!("missing environment variable `NAMADA_REPO_PATH")))?; + let chain_driver = builder.new_chain(prefix, use_random_id, chain_number)?; + let home_path = &chain_driver.home_path; + let templates_path = &format!("{home_path}/templates"); + fs::create_dir_all(templates_path)?; + + // Copy templates + let copy_loop = format!("for file in {namada_repo_path}/genesis/localnet/*.toml; do cp \"$file\" {templates_path}; done"); + simple_exec("namada", "sh", &["-c", ©_loop])?; + + chain_driver.update_chain_config("templates/parameters.toml", |parameters| { + config::namada::set_default_mint_limit(parameters, 1000000000)?; + config::namada::set_epochs_per_year(parameters, 31536)?; + config::namada::set_default_per_epoch_throughput_limit(parameters, 10000000000)?; + + Ok(()) + })?; + + let pre_genesis_path = &format!("{home_path}/pre-genesis"); + fs::create_dir_all(pre_genesis_path)?; + + // Copy pre-genesis + let copy_loop = format!("for file in {namada_repo_path}/genesis/localnet/src/pre-genesis/*; do cp \"$file\" {pre_genesis_path}; done"); + simple_exec("namada", "sh", &["-c", ©_loop])?; + simple_exec( + "namada", + "cp", + &[ + "-r", + &format!("{namada_repo_path}/genesis/localnet/src/pre-genesis/validator-0"), + pre_genesis_path, + ], + )?; + + let genesis_path = &format!("{home_path}/genesis"); + fs::create_dir_all(genesis_path)?; + + let wasm_checksum = &format!("{namada_repo_path}/wasm/checksums.json"); + + // Init network + let output = simple_exec_with_envs( + "namada", + "namadac", + &[ + "utils", + "init-network", + "--chain-prefix", + &chain_driver.chain_id.to_string(), + "--genesis-time", + "2023-01-01T00:00:00Z", + "--templates-path", + templates_path, + "--wasm-checksums-path", + wasm_checksum, + "--archive-dir", + genesis_path, + ], + &[("NAMADA_BASE_DIR", home_path)], + )?; + + let chain_id = extract_chain_id(output.stdout)?; + + let validator_base_dir = &format!("{home_path}/setup/validator-0"); + let pre_genesis_path = &format!("{home_path}/pre-genesis/validator-0"); + + simple_exec_with_envs( + &chain_id, + "namadac", + &[ + "--base-dir", + validator_base_dir, + "utils", + "join-network", + "--chain-id", + &chain_id, + "--genesis-validator", + "validator-0", + "--pre-genesis-path", + pre_genesis_path, + "--dont-prefetch-wasm", + ], + &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], + )?; + + let chain_dir = &format!("{home_path}/{chain_id}"); + simple_exec("namada", "rm", &["-rf", chain_dir])?; + + simple_exec_with_envs( + &chain_id, + "namadac", + &[ + "--base-dir", + home_path, + "utils", + "join-network", + "--chain-id", + &chain_id, + "--dont-prefetch-wasm", + ], + &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], + )?; + + let dst_cp = &format!("{home_path}/setup/validator-0/{chain_id}/wasm/"); + + // Copy wasm + let copy_loop = + format!("for file in {namada_repo_path}/wasm/*.wasm; do cp \"$file\" {dst_cp}; done"); + simple_exec("namada", "sh", &["-c", ©_loop])?; + + let config_path = format!("{home_path}/setup/validator-0/{chain_id}/config.toml"); + + chain_driver.update_chain_config(&config_path, |config| { + config::namada::set_rpc_port(config, chain_driver.rpc_port)?; + config::namada::set_p2p_port(config, chain_driver.p2p_port)?; + config::namada::set_proxy_app_port(config, chain_driver.pprof_port)?; + config::namada::set_block_cache_bytes(config, 268435456)?; + + config_modifier(config)?; + + Ok(()) + })?; + + let parameters_path = format!("{home_path}/setup/validator-0/{chain_id}/parameters.toml"); + + chain_driver.update_chain_config(¶meters_path, |parameters| { + config::namada::set_pipeline_len(parameters, 2000)?; + + parameters_modifier(parameters)?; + + Ok(()) + })?; + + let base_args = ["--base-dir", validator_base_dir, "ledger", "run"]; + + let args: Vec<&str> = base_args.to_vec(); + + //let mut child = Command::new(&chain_driver.command_path) + let mut child = Command::new("namadan") + .args(&args) + .stdin(Stdio::null()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()) + .spawn()?; + + let stdout = child + .stdout + .take() + .ok_or_else(|| eyre!("expected stdout to be present in child process"))?; + + let stderr = child + .stderr + .take() + .ok_or_else(|| eyre!("expected stderr to be present in child process"))?; + + let stderr_path = format!("{home_path}/stdout.log"); + let stdout_path = format!("{home_path}/stderr.log"); + + pipe_to_file(stdout, &stdout_path)?; + pipe_to_file(stderr, &stderr_path)?; + + // Wait for a while and check if the child process exited immediately. + // If so, return error since we expect the full node to be running in the background. + + sleep(Duration::from_millis(1000)); + + let status = child + .try_wait() + .map_err(|e| eyre!("error try waiting for child status: {}", e))?; + + let process = match status { + None => ChildProcess::new(child), + Some(status) => { + let stdout_output = fs::read_to_string(stdout_path)?; + let stderr_output = fs::read_to_string(stderr_path)?; + + return Err(eyre!( + "expected full node process to be running, but it exited immediately with exit status {} and output: {}\n{}", + status, + stdout_output, + stderr_output, + ).into()); + } + }; + + let ks_folder = Some(format!("{}/hermes_keyring", builder.base_store_dir).into()); + + let albert_key = add_namada_key(home_path, &chain_id, "albert-key", "albert", &ks_folder)?; + let bertha_key = add_namada_key(home_path, &chain_id, "bertha-key", "bertha", &ks_folder)?; + let christel_key = + add_namada_key(home_path, &chain_id, "christel-key", "christel", &ks_folder)?; + let daewon_key = add_namada_key(home_path, &chain_id, "daewon", "daewon", &ks_folder)?; + + let albert = Wallet::new_namada( + "albert".to_string(), + albert_key.address.to_string(), + albert_key, + ); + let bertha = Wallet::new_namada( + "bertha".to_string(), + bertha_key.address.to_string(), + bertha_key, + ); + let christel = Wallet::new_namada( + "christel".to_string(), + christel_key.address.to_string(), + christel_key, + ); + let daewon = Wallet::new_namada( + "daewon".to_string(), + daewon_key.address.to_string(), + daewon_key, + ); + + let wallets = TestWallets { + validator: albert, + relayer: bertha, + user1: christel, + user2: daewon, + }; + + sleep(Duration::from_secs(10)); + + let mut updated_chain_driver = chain_driver.clone(); + updated_chain_driver.chain_id = ChainId::from_string(&chain_id); + + let denom_str = get_namada_denom_address(&chain_id, home_path, "nam")?; + let denom = Denom::base("nam", &denom_str); + + let node = FullNode { + chain_driver: updated_chain_driver, + denom, + wallets, + process: Arc::new(RwLock::new(process)), + }; + + Ok(node) +} + +fn extract_chain_id(output: String) -> Result { + let words: Vec<&str> = output.split_whitespace().collect(); + + if let Some(derived_index) = words.iter().position(|&w| w == "Derived") { + if let Some(&chain_id) = words.get(derived_index + 3) { + return Ok(chain_id.to_owned()); + } + return Err(Error::generic(eyre!( + "chain id is not 3 words after `Derived`: {output}" + ))); + } + Err(Error::generic(eyre!( + "could not find `Derived` in output: {output}" + ))) +} + +fn add_namada_key( + home_path: &str, + chain_id: &str, + key_name: &str, + address_name: &str, + ks_folder: &Option, +) -> Result { + let chain_id = ChainId::from_string(chain_id); + let mut keyring = KeyRing::new_namada(Store::Test, &chain_id, ks_folder) + .map_err(|e| Error::generic(eyre!("error creating keyring: {e}")))?; + + let key_file: PathBuf = format!("{home_path}/{chain_id}").into(); + + let mut wallet = CliWalletUtils::new(key_file.to_path_buf()); + wallet + .load() + .map_err(|e| eyre!("error loading Namada wallet: {e}"))?; + + let secret_key = wallet + .find_secret_key(key_name, None) + .map_err(|e| eyre!("error loading the key from Namada wallet: {e}"))?; + let address = wallet + .find_address(address_name) + .ok_or_else(|| eyre!("error loading the address from Namada wallet"))?; + let namada_key = NamadaKeyPair { + alias: key_name.to_string(), + address: address.into_owned(), + secret_key: secret_key.clone(), + }; + keyring + .add_key(address_name, namada_key.clone()) + .map_err(|e| Error::generic(eyre!("error adding Namada key: {e}")))?; + + Ok(namada_key) +} diff --git a/tools/test-framework/src/bootstrap/single.rs b/tools/test-framework/src/bootstrap/single.rs index 508d0b28ba..5f81d17cbe 100644 --- a/tools/test-framework/src/bootstrap/single.rs +++ b/tools/test-framework/src/bootstrap/single.rs @@ -46,12 +46,13 @@ pub fn bootstrap_single_node( ) -> Result { let native_token_number = chain_number % builder.native_tokens.len(); let native_token = &builder.native_tokens[native_token_number]; - let native_denom = Denom::base(native_token); + let native_denom = Denom::base(native_token, native_token); let denom = if use_random_id { - Denom::base(&format!("coin{:x}", random_u32())) + let random_coin = format!("coin{:x}", random_u32()); + Denom::base(&random_coin, &random_coin) } else { - Denom::base("samoleans") + Denom::base("samoleans", "samoleans") }; // Evmos requires of at least 1_000_000_000_000_000_000 or else there will be the @@ -95,15 +96,15 @@ pub fn bootstrap_single_node( let log_level = std::env::var("CHAIN_LOG_LEVEL").unwrap_or_else(|_| "info".to_string()); - chain_driver.update_chain_config("config.toml", |config| { - config::set_log_level(config, &log_level)?; - config::set_rpc_port(config, chain_driver.rpc_port)?; - config::set_p2p_port(config, chain_driver.p2p_port)?; - config::set_pprof_port(config, chain_driver.pprof_port)?; - config::set_timeout_commit(config, Duration::from_secs(1))?; - config::set_timeout_propose(config, Duration::from_secs(1))?; - config::set_mode(config, "validator")?; - config::set_indexer(config, "kv")?; + chain_driver.update_chain_config("config/config.toml", |config| { + config::cosmos::set_log_level(config, &log_level)?; + config::cosmos::set_rpc_port(config, chain_driver.rpc_port)?; + config::cosmos::set_p2p_port(config, chain_driver.p2p_port)?; + config::cosmos::set_pprof_port(config, chain_driver.pprof_port)?; + config::cosmos::set_timeout_commit(config, Duration::from_secs(1))?; + config::cosmos::set_timeout_propose(config, Duration::from_secs(1))?; + config::cosmos::set_mode(config, "validator")?; + config::cosmos::set_indexer(config, "kv")?; config_modifier(config)?; @@ -111,12 +112,12 @@ pub fn bootstrap_single_node( })?; let minimum_gas = format!("0{}", native_token); - chain_driver.update_chain_config("app.toml", |config| { - config::set_grpc_port(config, chain_driver.grpc_port)?; - config::enable_grpc(config)?; - config::disable_grpc_web(config)?; - config::disable_api(config)?; - config::set_minimum_gas_price(config, &minimum_gas)?; + chain_driver.update_chain_config("config/app.toml", |config| { + config::cosmos::set_grpc_port(config, chain_driver.grpc_port)?; + config::cosmos::enable_grpc(config)?; + config::cosmos::disable_grpc_web(config)?; + config::cosmos::disable_api(config)?; + config::cosmos::set_minimum_gas_price(config, &minimum_gas)?; Ok(()) })?; diff --git a/tools/test-framework/src/chain/chain_type.rs b/tools/test-framework/src/chain/chain_type.rs index 8d40fe17fc..c183a36a7c 100644 --- a/tools/test-framework/src/chain/chain_type.rs +++ b/tools/test-framework/src/chain/chain_type.rs @@ -8,6 +8,7 @@ use crate::util::random::{random_u32, random_unused_tcp_port}; const COSMOS_HD_PATH: &str = "m/44'/118'/0'/0/0"; const EVMOS_HD_PATH: &str = "m/44'/60'/0'/0/0"; const PROVENANCE_HD_PATH: &str = "m/44'/505'/0'/0/0"; +const NAMADA_HD_PATH: &str = "m/44'/877'/0'/0'/0'"; #[derive(Clone, Debug)] pub enum ChainType { @@ -16,6 +17,7 @@ pub enum ChainType { Evmos, Provenance, Injective, + Namada, } impl ChainType { @@ -24,6 +26,7 @@ impl ChainType { Self::Cosmos | Self::Osmosis => COSMOS_HD_PATH, Self::Evmos | Self::Injective => EVMOS_HD_PATH, Self::Provenance => PROVENANCE_HD_PATH, + Self::Namada => NAMADA_HD_PATH, } } @@ -39,6 +42,7 @@ impl ChainType { Self::Injective => ChainId::from_string(&format!("injective-{prefix}")), Self::Evmos => ChainId::from_string(&format!("evmos_9000-{prefix}")), Self::Provenance => ChainId::from_string(&format!("pio-mainnet-{prefix}")), + Self::Namada => ChainId::from_string(&format!("namada-{prefix}")), } } @@ -47,7 +51,7 @@ impl ChainType { let mut res = vec![]; let json_rpc_port = random_unused_tcp_port(); match self { - Self::Cosmos | Self::Injective | Self::Provenance => {} + Self::Cosmos | Self::Injective | Self::Provenance | Self::Namada => {} Self::Osmosis => { res.push("--reject-config-defaults".to_owned()); } @@ -63,7 +67,7 @@ impl ChainType { pub fn extra_add_genesis_account_args(&self, chain_id: &ChainId) -> Vec { let mut res = vec![]; match self { - Self::Cosmos | Self::Osmosis | Self::Evmos | Self::Provenance => {} + Self::Cosmos | Self::Osmosis | Self::Evmos | Self::Provenance | Self::Namada => {} Self::Injective => { res.push("--chain-id".to_owned()); res.push(format!("{chain_id}")); @@ -74,7 +78,9 @@ impl ChainType { pub fn address_type(&self) -> AddressType { match self { - Self::Cosmos | Self::Osmosis | Self::Provenance => AddressType::default(), + Self::Cosmos | Self::Osmosis | Self::Provenance | Self::Namada => { + AddressType::default() + } Self::Evmos => AddressType::Ethermint { pk_type: "/ethermint.crypto.v1.ethsecp256k1.PubKey".to_string(), }, @@ -94,6 +100,7 @@ impl FromStr for ChainType { name if name.contains("injectived") => Ok(ChainType::Injective), name if name.contains("provenanced") => Ok(ChainType::Provenance), name if name.contains("osmosisd") => Ok(ChainType::Osmosis), + name if name.contains("namada") => Ok(ChainType::Namada), _ => Ok(ChainType::Cosmos), } } diff --git a/tools/test-framework/src/chain/cli/query.rs b/tools/test-framework/src/chain/cli/query.rs index 5bfb0801b5..7ece864b50 100644 --- a/tools/test-framework/src/chain/cli/query.rs +++ b/tools/test-framework/src/chain/cli/query.rs @@ -8,6 +8,7 @@ use tracing::debug; use crate::chain::exec::simple_exec; use crate::error::{handle_generic_error, Error}; +use crate::prelude::*; pub fn query_balance( chain_id: &str, @@ -102,6 +103,59 @@ pub fn query_balance( } } +pub fn query_namada_balance( + chain_id: &str, + _command_path: &str, + home_path: &str, + denom: &Denom, + wallet_id: &str, + rpc_listen_address: &str, +) -> Result { + let output = simple_exec( + chain_id, + //command_path, + "namadac", + &[ + "--base-dir", + home_path, + "balance", + "--owner", + wallet_id, + "--token", + &denom.hash_only(), + "--node", + rpc_listen_address, + ], + )?; + + let words: Vec<&str> = output.stdout.split_whitespace().collect(); + let denom_hash = &format!("{}:", denom.hash_only()); + + if let Some(derived_index) = words.iter().position(|&w| w.contains(denom_hash)) { + if let Some(&amount_str) = words.get(derived_index + 1) { + return Amount::from_str(amount_str).map_err(handle_generic_error); + } + Err(Error::generic(eyre!( + "chain id is not 1 words after `{denom_hash}`: raw output `{}` split output `{words:#?}`", + output.stdout + ))) + } else { + let denom_display_name = &format!("{}:", denom.display_name()); + if let Some(derived_index) = words.iter().position(|&w| w.contains(denom_display_name)) { + if let Some(&amount_str) = words.get(derived_index + 1) { + return Amount::from_str(amount_str).map_err(handle_generic_error); + } + Err(Error::generic(eyre!( + "chain id is not 1 words after `{denom_display_name}`: raw output `{}` split output `{words:#?}`", + output.stdout + ))) + } else { + debug!("Denom `{denom_display_name}` not found when querying for balance, will return 0{denom}"); + Ok(Amount::from_str("0").map_err(handle_generic_error)?) + } + } +} + /** Query for the transactions related to a wallet on `Chain` receiving token transfer from others. diff --git a/tools/test-framework/src/chain/config.rs b/tools/test-framework/src/chain/config/cosmos.rs similarity index 100% rename from tools/test-framework/src/chain/config.rs rename to tools/test-framework/src/chain/config/cosmos.rs diff --git a/tools/test-framework/src/chain/config/mod.rs b/tools/test-framework/src/chain/config/mod.rs new file mode 100644 index 0000000000..5cffe3a80f --- /dev/null +++ b/tools/test-framework/src/chain/config/mod.rs @@ -0,0 +1,2 @@ +pub mod cosmos; +pub mod namada; diff --git a/tools/test-framework/src/chain/config/namada.rs b/tools/test-framework/src/chain/config/namada.rs new file mode 100644 index 0000000000..960e620a07 --- /dev/null +++ b/tools/test-framework/src/chain/config/namada.rs @@ -0,0 +1,144 @@ +use eyre::{eyre, Report as Error}; +use toml::Value; + +/// Set the `rpc` field in the full node config. +pub fn set_rpc_port(config: &mut Value, port: u16) -> Result<(), Error> { + config + .get_mut("ledger") + .ok_or_else(|| eyre!("expect ledger section"))? + .get_mut("cometbft") + .ok_or_else(|| eyre!("expect cometbft section"))? + .get_mut("rpc") + .ok_or_else(|| eyre!("expect cometbft rpc"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "laddr".to_string(), + format!("tcp://0.0.0.0:{}", port).into(), + ); + + Ok(()) +} + +/// Set the `p2p` field in the full node config. +pub fn set_p2p_port(config: &mut Value, port: u16) -> Result<(), Error> { + config + .get_mut("ledger") + .ok_or_else(|| eyre!("expect ledger section"))? + .get_mut("cometbft") + .ok_or_else(|| eyre!("expect cometbft section"))? + .get_mut("p2p") + .ok_or_else(|| eyre!("expect cometbft rpc"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "laddr".to_string(), + format!("tcp://0.0.0.0:{}", port).into(), + ); + + Ok(()) +} + +/// Set the `p2p` field in the full node config. +pub fn set_proxy_app_port(config: &mut Value, port: u16) -> Result<(), Error> { + config + .get_mut("ledger") + .ok_or_else(|| eyre!("expect ledger section"))? + .get_mut("cometbft") + .ok_or_else(|| eyre!("expect cometbft section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "proxy_app".to_string(), + format!("tcp://0.0.0.0:{}", port).into(), + ); + + Ok(()) +} + +/// Set the `p2p` field in the full node config. +pub fn set_block_cache_bytes(config: &mut Value, block_cache_bytes: i64) -> Result<(), Error> { + config + .get_mut("ledger") + .ok_or_else(|| eyre!("expect ledger section"))? + .get_mut("shell") + .ok_or_else(|| eyre!("expect shell section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "block_cache_bytes".to_string(), + Value::Integer(block_cache_bytes), + ); + + Ok(()) +} + +pub fn set_unbonding_len(parameters: &mut Value, unbonding_len: i64) -> Result<(), Error> { + parameters + .get_mut("pos_params") + .ok_or_else(|| eyre!("expect pos_params section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert("unbonding_len".to_string(), Value::Integer(unbonding_len)); + + Ok(()) +} + +pub fn set_pipeline_len(parameters: &mut Value, pipeline_len: i64) -> Result<(), Error> { + parameters + .get_mut("pos_params") + .ok_or_else(|| eyre!("expect pos_params section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert("pipeline_len".to_string(), Value::Integer(pipeline_len)); + + Ok(()) +} + +pub fn set_default_mint_limit( + parameters: &mut Value, + default_mint_limit: i64, +) -> Result<(), Error> { + parameters + .get_mut("ibc_params") + .ok_or_else(|| eyre!("expect ibc_params section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "default_mint_limit".to_string(), + Value::String(default_mint_limit.to_string()), + ); + + Ok(()) +} + +pub fn set_default_per_epoch_throughput_limit( + parameters: &mut Value, + default_per_epoch_throughput_limit: i64, +) -> Result<(), Error> { + parameters + .get_mut("ibc_params") + .ok_or_else(|| eyre!("expect ibc_params section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "default_per_epoch_throughput_limit".to_string(), + Value::String(default_per_epoch_throughput_limit.to_string()), + ); + + Ok(()) +} + +pub fn set_epochs_per_year(parameters: &mut Value, epochs_per_year: i64) -> Result<(), Error> { + parameters + .get_mut("parameters") + .ok_or_else(|| eyre!("expect parameters section"))? + .as_table_mut() + .ok_or_else(|| eyre!("expect object"))? + .insert( + "epochs_per_year".to_string(), + Value::Integer(epochs_per_year), + ); + + Ok(()) +} diff --git a/tools/test-framework/src/chain/driver.rs b/tools/test-framework/src/chain/driver.rs index 4b3414c554..1b4950d8a0 100644 --- a/tools/test-framework/src/chain/driver.rs +++ b/tools/test-framework/src/chain/driver.rs @@ -23,6 +23,8 @@ use crate::types::env::{EnvWriter, ExportEnv}; use crate::types::wallet::WalletAddress; use crate::util::retry::assert_eventually_succeed; +use super::cli::query::query_namada_balance; + /** Number of times (seconds) to try and query a wallet to reach the target amount, as used by [`assert_eventual_wallet_amount`]. @@ -174,7 +176,11 @@ impl ChainDriver { as it requires the `"tcp://"` scheme. */ pub fn rpc_listen_address(&self) -> String { - format!("tcp://localhost:{}", self.rpc_port) + if self.command_path == "namada" { + format!("http://localhost:{}", self.rpc_port) + } else { + format!("tcp://localhost:{}", self.rpc_port) + } } /** @@ -192,13 +198,23 @@ impl ChainDriver { Query for the balances for a given wallet address and denomination */ pub fn query_balance(&self, wallet_id: &WalletAddress, denom: &Denom) -> Result { - query_balance( - self.chain_id.as_str(), - &self.command_path, - &self.rpc_listen_address(), - &wallet_id.0, - &denom.to_string(), - ) + match self.chain_type { + ChainType::Namada => query_namada_balance( + self.chain_id.as_str(), + &self.command_path, + &self.home_path, + denom, + &wallet_id.0, + &self.rpc_listen_address(), + ), + _ => query_balance( + self.chain_id.as_str(), + &self.command_path, + &self.rpc_listen_address(), + &wallet_id.0, + &denom.to_string(), + ), + } } /** diff --git a/tools/test-framework/src/chain/exec.rs b/tools/test-framework/src/chain/exec.rs index c9b958de3f..1ca6134d8b 100644 --- a/tools/test-framework/src/chain/exec.rs +++ b/tools/test-framework/src/chain/exec.rs @@ -49,3 +49,54 @@ pub fn simple_exec(desc: &str, command_path: &str, args: &[&str]) -> Result Result { + debug!( + "Executing command for {}: {} {}", + desc, + command_path, + itertools::join(args, " ") + ); + + let mut cmd = Command::new(command_path); + + for (key, value) in envs { + cmd.env(key, value); + } + + let output = cmd + .args(args) + .output() + .map_err(handle_exec_error(command_path))?; + + if output.status.success() { + let stdout = str::from_utf8(&output.stdout) + .map_err(handle_generic_error)? + .to_string(); + + let stderr = str::from_utf8(&output.stderr) + .map_err(handle_generic_error)? + .to_string(); + + trace!( + "command executed successfully with stdout: {}, stderr: {}", + stdout, + stderr + ); + + Ok(ExecOutput { stdout, stderr }) + } else { + let message = str::from_utf8(&output.stderr).map_err(handle_generic_error)?; + + Err(Error::generic(eyre!( + "command exited with error status {:?} and message: {}", + output.status.code(), + message + ))) + } +} diff --git a/tools/test-framework/src/chain/ext/bootstrap.rs b/tools/test-framework/src/chain/ext/bootstrap.rs index 0c69c1d4ee..efee5596dc 100644 --- a/tools/test-framework/src/chain/ext/bootstrap.rs +++ b/tools/test-framework/src/chain/ext/bootstrap.rs @@ -162,9 +162,7 @@ impl ChainBootstrapMethodsExt for ChainDriver { file: &str, cont: impl FnOnce(&mut toml::Value) -> Result<(), Error>, ) -> Result<(), Error> { - let config_path = format!("config/{file}"); - - let config1 = self.read_file(&config_path)?; + let config1 = self.read_file(file)?; let mut config2 = toml::from_str(&config1).map_err(handle_generic_error)?; @@ -172,7 +170,7 @@ impl ChainBootstrapMethodsExt for ChainDriver { let config3 = toml::to_string_pretty(&config2).map_err(handle_generic_error)?; - self.write_file(&config_path, &config3)?; + self.write_file(file, &config3)?; Ok(()) } @@ -225,7 +223,11 @@ impl ChainBootstrapMethodsExt for ChainDriver { let key = Secp256k1KeyPair::from_seed_file(&seed_content, &hd_path) .map_err(handle_generic_error)?; - Ok(Wallet::new(wallet_id.to_string(), wallet_address, key)) + Ok(Wallet::new_secp256( + wallet_id.to_string(), + wallet_address, + key, + )) } fn add_genesis_account(&self, wallet: &WalletAddress, amounts: &[&Token]) -> Result<(), Error> { diff --git a/tools/test-framework/src/chain/ext/transfer.rs b/tools/test-framework/src/chain/ext/transfer.rs index 94707ff8da..89e799ed45 100644 --- a/tools/test-framework/src/chain/ext/transfer.rs +++ b/tools/test-framework/src/chain/ext/transfer.rs @@ -1,7 +1,6 @@ use core::time::Duration; use ibc_relayer_types::core::ics02_client::height::Height; -use ibc_relayer_types::core::ics04_channel::packet::Packet; use ibc_relayer_types::core::ics24_host::identifier::{ChannelId, PortId}; use crate::chain::cli::transfer::{local_transfer_token, transfer_from_chain}; @@ -9,7 +8,9 @@ use crate::chain::driver::ChainDriver; use crate::chain::tagged::TaggedChainDriverExt; use crate::error::Error; use crate::ibc::token::TaggedTokenRef; -use crate::relayer::transfer::{batched_ibc_token_transfer, ibc_token_transfer}; +use crate::relayer::transfer::{ + batched_ibc_token_transfer, ibc_namada_token_transfer, ibc_token_transfer, +}; use crate::types::id::{TaggedChannelIdRef, TaggedPortIdRef}; use crate::types::tagged::*; use crate::types::wallet::{Wallet, WalletAddress}; @@ -42,7 +43,7 @@ pub trait ChainTransferMethodsExt { sender: &MonoTagged, recipient: &MonoTagged, token: &TaggedTokenRef, - ) -> Result; + ) -> Result<(), Error>; fn ibc_transfer_token_with_memo_and_timeout( &self, @@ -53,7 +54,7 @@ pub trait ChainTransferMethodsExt { token: &TaggedTokenRef, memo: Option, timeout: Option, - ) -> Result; + ) -> Result<(), Error>; fn ibc_transfer_token_multiple( &self, @@ -93,19 +94,32 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, recipient: &MonoTagged, token: &TaggedTokenRef, - ) -> Result { - let rpc_client = self.rpc_client()?; - self.value().runtime.block_on(ibc_token_transfer( - rpc_client.as_ref(), - &self.tx_config(), - port_id, - channel_id, - sender, - recipient, - token, - None, - None, - )) + ) -> Result<(), Error> { + match self.value().chain_type { + crate::chain::chain_type::ChainType::Namada => ibc_namada_token_transfer( + &self.value().home_path, + &sender.value().id.to_string(), + recipient.value().as_str(), + token.value().denom.as_str(), + &token.value().amount.to_string(), + &channel_id.to_string(), + &self.value().rpc_port.to_string(), + ), + _ => { + let rpc_client = self.rpc_client()?; + self.value().runtime.block_on(ibc_token_transfer( + rpc_client.as_ref(), + &self.tx_config(), + port_id, + channel_id, + sender, + recipient, + token, + None, + None, + )) + } + } } fn ibc_transfer_token_with_memo_and_timeout( @@ -117,7 +131,7 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, memo: Option, timeout: Option, - ) -> Result { + ) -> Result<(), Error> { let rpc_client = self.rpc_client()?; self.value().runtime.block_on(ibc_token_transfer( rpc_client.as_ref(), diff --git a/tools/test-framework/src/chain/tagged.rs b/tools/test-framework/src/chain/tagged.rs index 64b73ef171..92e3a3b3b9 100644 --- a/tools/test-framework/src/chain/tagged.rs +++ b/tools/test-framework/src/chain/tagged.rs @@ -1,13 +1,14 @@ /*! Methods for tagged version of the chain driver. */ +use eyre::eyre; +use serde_json as json; use ibc_proto::google::protobuf::Any; use ibc_relayer::chain::cosmos::tx::simple_send_tx; use ibc_relayer::chain::cosmos::types::config::TxConfig; use ibc_relayer::event::IbcEventWithHeight; use ibc_relayer::util::compat_mode::compat_mode_from_version; -use serde_json as json; use tendermint_rpc::client::{Client, HttpClient}; use crate::chain::cli::query::query_auth_module; @@ -120,12 +121,18 @@ impl<'a, Chain: Send> TaggedChainDriverExt for MonoTagged Result, Error> { let rpc_client = self.rpc_client()?; + let key = &wallet + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; self.value() .runtime .block_on(simple_send_tx( rpc_client.as_ref().into_value(), &self.value().tx_config, - &wallet.value().key, + key, messages, )) .map_err(Error::relayer) diff --git a/tools/test-framework/src/framework/binary/chain.rs b/tools/test-framework/src/framework/binary/chain.rs index a1a3aae940..9cfd9e9532 100644 --- a/tools/test-framework/src/framework/binary/chain.rs +++ b/tools/test-framework/src/framework/binary/chain.rs @@ -13,8 +13,8 @@ use crate::error::Error; use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::ics::InterchainSecurityChainTest; use crate::framework::binary::node::{ - run_binary_node_test, run_single_node_test, BinaryNodeTest, NodeConfigOverride, - NodeGenesisOverride, + run_binary_node_test, run_single_node_test, BinaryNodeTest, NamadaParametersOverride, + NodeConfigOverride, NodeGenesisOverride, }; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; use crate::relayer::driver::RelayerDriver; @@ -38,7 +38,8 @@ where + RelayerConfigOverride + ClientOptionsOverride + SupervisorOverride - + TestConfigOverride, + + TestConfigOverride + + NamadaParametersOverride, { run_binary_chain_test(&RunTwoWayBinaryChainTest::new(test)) } @@ -55,7 +56,8 @@ where + RelayerConfigOverride + ClientOptionsOverride + SupervisorOverride - + TestConfigOverride, + + TestConfigOverride + + NamadaParametersOverride, { run_binary_node_test(&RunBinaryChainTest::new(&RunWithSupervisor::new(test))) } diff --git a/tools/test-framework/src/framework/binary/channel.rs b/tools/test-framework/src/framework/binary/channel.rs index 00ae9efd89..c53120b951 100644 --- a/tools/test-framework/src/framework/binary/channel.rs +++ b/tools/test-framework/src/framework/binary/channel.rs @@ -24,7 +24,7 @@ use crate::framework::binary::connection::{ }; use crate::framework::binary::ics::run_binary_interchain_security_node_test; use crate::framework::binary::node::{ - run_binary_node_test, NodeConfigOverride, NodeGenesisOverride, + run_binary_node_test, NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, }; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; use crate::relayer::driver::RelayerDriver; @@ -54,7 +54,8 @@ where + ConnectionDelayOverride + PortsOverride + ChannelOrderOverride - + ChannelVersionOverride, + + ChannelVersionOverride + + NamadaParametersOverride, { run_binary_channel_test(&RunTwoWayBinaryChannelTest::new(test)) } @@ -75,7 +76,8 @@ where + ConnectionDelayOverride + PortsOverride + ChannelOrderOverride - + ChannelVersionOverride, + + ChannelVersionOverride + + NamadaParametersOverride, { run_binary_node_test(&RunBinaryChainTest::new(&RunBinaryConnectionTest::new( &RunBinaryChannelTest::new(&RunWithSupervisor::new(test)), diff --git a/tools/test-framework/src/framework/binary/connection.rs b/tools/test-framework/src/framework/binary/connection.rs index 9e96a7665e..8b7c3ec56f 100644 --- a/tools/test-framework/src/framework/binary/connection.rs +++ b/tools/test-framework/src/framework/binary/connection.rs @@ -16,7 +16,7 @@ use crate::framework::binary::chain::{ BinaryChainTest, ClientOptionsOverride, RelayerConfigOverride, RunBinaryChainTest, }; use crate::framework::binary::node::{ - run_binary_node_test, NodeConfigOverride, NodeGenesisOverride, + run_binary_node_test, NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, }; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; use crate::relayer::driver::RelayerDriver; @@ -41,7 +41,8 @@ where + RelayerConfigOverride + ClientOptionsOverride + SupervisorOverride - + ConnectionDelayOverride, + + ConnectionDelayOverride + + NamadaParametersOverride, { run_binary_connection_test(&RunTwoWayBinaryConnectionTest::new(test)) } @@ -59,7 +60,8 @@ where + RelayerConfigOverride + ClientOptionsOverride + SupervisorOverride - + ConnectionDelayOverride, + + ConnectionDelayOverride + + NamadaParametersOverride, { run_binary_node_test(&RunBinaryChainTest::new(&RunBinaryConnectionTest::new( &RunWithSupervisor::new(test), diff --git a/tools/test-framework/src/framework/binary/node.rs b/tools/test-framework/src/framework/binary/node.rs index ff59b4a13e..779003d3a8 100644 --- a/tools/test-framework/src/framework/binary/node.rs +++ b/tools/test-framework/src/framework/binary/node.rs @@ -3,8 +3,14 @@ running without setting up the relayer. */ +use std::str::FromStr; + +use toml; + +use crate::bootstrap::namada::bootstrap_namada_node; use crate::bootstrap::single::bootstrap_single_node; use crate::chain::builder::ChainBuilder; +use crate::chain::chain_type::ChainType; use crate::error::Error; use crate::framework::base::HasOverrides; use crate::framework::base::{run_basic_test, BasicTest, TestConfigOverride}; @@ -18,7 +24,8 @@ pub fn run_binary_node_test(test: &Test) -> Result<(), Error> where Test: BinaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride + TestConfigOverride, + Overrides: + NodeConfigOverride + NodeGenesisOverride + TestConfigOverride + NamadaParametersOverride, { run_basic_test(&RunBinaryNodeTest { test }) } @@ -87,6 +94,10 @@ pub trait NodeGenesisOverride { fn modify_genesis_file(&self, genesis: &mut serde_json::Value) -> Result<(), Error>; } +pub trait NamadaParametersOverride { + fn namada_modify_parameter_file(&self, parameter: &mut toml::Value) -> Result<(), Error>; +} + /** A wrapper type that lifts a test case that implements [`BinaryNodeTest`] into a test case that implements [`BasicTest`]. @@ -105,26 +116,59 @@ impl<'a, Test, Overrides> BasicTest for RunBinaryNodeTest<'a, Test> where Test: BinaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride, + Overrides: NodeConfigOverride + NodeGenesisOverride + NamadaParametersOverride, { fn run(&self, config: &TestConfig, builder: &ChainBuilder) -> Result<(), Error> { - let node_a = bootstrap_single_node( - builder, - "1", - config.bootstrap_with_random_ids, - |config| self.test.get_overrides().modify_node_config(config), - |genesis| self.test.get_overrides().modify_genesis_file(genesis), - 0, - )?; - - let node_b = bootstrap_single_node( - builder, - "2", - config.bootstrap_with_random_ids, - |config| self.test.get_overrides().modify_node_config(config), - |genesis| self.test.get_overrides().modify_genesis_file(genesis), - 1, - )?; + let command_paths_len = builder.command_paths.len(); + let node_a_type = ChainType::from_str(&builder.command_paths[0 % command_paths_len])?; + let node_a = match node_a_type { + ChainType::Namada => bootstrap_namada_node( + builder, + "a", + false, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + |parameters| { + self.test + .get_overrides() + .namada_modify_parameter_file(parameters) + }, + 0, + ), + _ => bootstrap_single_node( + builder, + "1", + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + 0, + ), + }?; + let node_b_type = ChainType::from_str(&builder.command_paths[1 % command_paths_len])?; + + let node_b = match node_b_type { + ChainType::Namada => bootstrap_namada_node( + builder, + "b", + false, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + |parameters| { + self.test + .get_overrides() + .namada_modify_parameter_file(parameters) + }, + 1, + ), + _ => bootstrap_single_node( + builder, + "2", + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + 1, + ), + }?; let _node_process_a = node_a.process.clone(); let _node_process_b = node_b.process.clone(); diff --git a/tools/test-framework/src/framework/overrides.rs b/tools/test-framework/src/framework/overrides.rs index 0338224469..387759db09 100644 --- a/tools/test-framework/src/framework/overrides.rs +++ b/tools/test-framework/src/framework/overrides.rs @@ -18,7 +18,9 @@ use crate::framework::binary::channel::{ ChannelOrderOverride, ChannelVersionOverride, PortsOverride, }; use crate::framework::binary::connection::ConnectionDelayOverride; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::channel::PortsOverride as NaryPortsOverride; use crate::framework::supervisor::SupervisorOverride; use crate::types::config::TestConfig; @@ -78,6 +80,10 @@ pub trait TestOverrides { // No modification by default } + fn namada_modify_parameter_file(&self, _parameter: &mut toml::Value) -> Result<(), Error> { + Ok(()) + } + /// Returns the settings for the foreign client on the first chain for the /// second chain. The defaults are for a client connecting two Cosmos chains /// with no custom settings. @@ -173,6 +179,12 @@ impl NodeGenesisOverride for Test { } } +impl NamadaParametersOverride for Test { + fn namada_modify_parameter_file(&self, parameter: &mut toml::Value) -> Result<(), Error> { + TestOverrides::namada_modify_parameter_file(self, parameter) + } +} + impl RelayerConfigOverride for Test { fn modify_relayer_config(&self, config: &mut Config) { TestOverrides::modify_relayer_config(self, config) diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index 965a56b1b7..a1bbdbde08 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -8,6 +8,7 @@ use ibc_relayer_types::core::ics24_host::identifier::{ChannelId, PortId}; use sha2::{Digest, Sha256}; use subtle_encoding::hex; +use crate::chain::chain_type::ChainType; use crate::types::id::{TaggedChannelIdRef, TaggedPortIdRef}; use crate::types::tagged::*; @@ -16,7 +17,10 @@ use crate::types::tagged::*; */ #[derive(Debug, Clone)] pub enum Denom { - Base(String), + Base { + display_name: String, + raw_address: String, + }, Ibc { path: String, denom: String, @@ -51,6 +55,18 @@ pub type TaggedDenomRef<'a, Chain> = MonoTagged; Returns the derived denomination on `ChainB`. */ pub fn derive_ibc_denom( + chain_type: &ChainType, + port_id: &TaggedPortIdRef, + channel_id: &TaggedChannelIdRef, + denom: &TaggedDenomRef, +) -> Result, Error> { + match chain_type { + ChainType::Namada => derive_namada_ibc_denom(port_id, channel_id, denom), + _ => derive_cosmos_ibc_denom(port_id, channel_id, denom), + } +} + +fn derive_cosmos_ibc_denom( port_id: &TaggedPortIdRef, channel_id: &TaggedChannelIdRef, denom: &TaggedDenomRef, @@ -77,12 +93,15 @@ pub fn derive_ibc_denom( } match denom.value() { - Denom::Base(denom) => { - let hashed = derive_denom(port_id.value(), channel_id.value(), denom)?; + Denom::Base { + display_name, + raw_address, + } => { + let hashed = derive_denom(port_id.value(), channel_id.value(), raw_address)?; Ok(MonoTagged::new(Denom::Ibc { path: format!("{port_id}/{channel_id}"), - denom: denom.clone(), + denom: display_name.clone(), hashed, })) } @@ -99,14 +118,46 @@ pub fn derive_ibc_denom( } } +fn derive_namada_ibc_denom( + port_id: &TaggedPortIdRef, + channel_id: &TaggedChannelIdRef, + denom: &TaggedDenomRef, +) -> Result, Error> { + match denom.value() { + Denom::Base { + display_name, + raw_address, + } => { + let ibc_display_name = format!("{port_id}/{channel_id}/{display_name}"); + let ibc_raw_address = format!("{port_id}/{channel_id}/{raw_address}"); + + Ok(MonoTagged::new(Denom::Base { + display_name: ibc_display_name, + raw_address: ibc_raw_address, + })) + } + Denom::Ibc { hashed, .. } => { + let ibc_denom = format!("{port_id}/{channel_id}/{hashed}"); + + Ok(MonoTagged::new(Denom::Base { + display_name: ibc_denom.clone(), + raw_address: ibc_denom, + })) + } + } +} + impl Denom { - pub fn base(denom: &str) -> Self { - Denom::Base(denom.to_string()) + pub fn base(display_name: &str, raw_address: &str) -> Self { + Denom::Base { + display_name: display_name.to_owned(), + raw_address: raw_address.to_owned(), + } } pub fn hash_only(&self) -> String { match self { - Denom::Base(denom) => denom.to_string(), + Denom::Base { raw_address, .. } => raw_address.to_string(), Denom::Ibc { hashed, .. } => match hashed.find('/') { Some(index) => hashed[index + 1..].to_string(), None => hashed.to_string(), @@ -114,9 +165,16 @@ impl Denom { } } + pub fn display_name(&self) -> String { + match self { + Denom::Base { display_name, .. } => display_name.to_string(), + Denom::Ibc { hashed, .. } => hashed.to_string(), + } + } + pub fn as_str(&self) -> &str { match self { - Denom::Base(denom) => denom, + Denom::Base { display_name, .. } => display_name, Denom::Ibc { hashed, .. } => hashed, } } @@ -125,8 +183,8 @@ impl Denom { impl Display for Denom { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { match self { - Denom::Base(denom) => { - write!(f, "{denom}") + Denom::Base { display_name, .. } => { + write!(f, "{display_name}") } Denom::Ibc { hashed, .. } => { write!(f, "{hashed}") @@ -138,7 +196,16 @@ impl Display for Denom { impl PartialEq for Denom { fn eq(&self, other: &Self) -> bool { match (self, other) { - (Self::Base(d1), Self::Base(d2)) => d1 == d2, + ( + Self::Base { + display_name: d1, + raw_address: a1, + }, + Self::Base { + display_name: d2, + raw_address: a2, + }, + ) => (d1 == d2) && (a1 == a2), ( Self::Ibc { path: p1, diff --git a/tools/test-framework/src/ibc/token.rs b/tools/test-framework/src/ibc/token.rs index ac7b6785ad..4e6844e47c 100644 --- a/tools/test-framework/src/ibc/token.rs +++ b/tools/test-framework/src/ibc/token.rs @@ -2,6 +2,7 @@ use core::ops::{Add, Sub}; use ibc_relayer_types::applications::transfer::amount::Amount; use ibc_relayer_types::applications::transfer::coin::{Coin, RawCoin}; +use crate::chain::chain_type::ChainType; use crate::error::Error; use crate::ibc::denom::{derive_ibc_denom, Denom, TaggedDenom, TaggedDenomRef}; use crate::types::id::{TaggedChannelIdRef, TaggedPortIdRef}; @@ -21,6 +22,7 @@ pub trait TaggedTokenExt { fn transfer( &self, + chain_type: &ChainType, port_id: &TaggedPortIdRef, channel_id: &TaggedChannelIdRef, ) -> Result, Error>; @@ -45,10 +47,11 @@ impl TaggedTokenExt for TaggedToken { fn transfer( &self, + chain_type: &ChainType, port_id: &TaggedPortIdRef, channel_id: &TaggedChannelIdRef, ) -> Result, Error> { - let denom = derive_ibc_denom(port_id, channel_id, &self.denom())?; + let denom = derive_ibc_denom(chain_type, port_id, channel_id, &self.denom())?; Ok(denom.with_amount(self.value().amount)) } @@ -69,10 +72,11 @@ impl<'a, Chain> TaggedTokenExt for TaggedTokenRef<'a, Chain> { fn transfer( &self, + chain_type: &ChainType, port_id: &TaggedPortIdRef, channel_id: &TaggedChannelIdRef, ) -> Result, Error> { - let denom = derive_ibc_denom(port_id, channel_id, &self.denom())?; + let denom = derive_ibc_denom(chain_type, port_id, channel_id, &self.denom())?; Ok(denom.with_amount(self.value().amount)) } diff --git a/tools/test-framework/src/relayer/fee.rs b/tools/test-framework/src/relayer/fee.rs index 51b1ff6814..e4a2a92bd4 100644 --- a/tools/test-framework/src/relayer/fee.rs +++ b/tools/test-framework/src/relayer/fee.rs @@ -1,3 +1,5 @@ +use eyre::eyre; + use core::time::Duration; use http::uri::Uri; use ibc_relayer::chain::cosmos::query::fee::{ @@ -63,13 +65,13 @@ pub async fn ibc_token_transfer_with_fee( let messages = vec![pay_message, transfer_message]; - let events = simple_send_tx( - rpc_client.value(), - tx_config.value(), - &sender.value().key, - messages, - ) - .await?; + let key = &sender + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; + let events = simple_send_tx(rpc_client.value(), tx_config.value(), key, messages).await?; Ok(events) } @@ -101,14 +103,15 @@ pub async fn pay_packet_fee( ) .map_err(handle_generic_error)?; - let events = simple_send_tx( - rpc_client.value(), - tx_config.value(), - &payer.value().key, - vec![message], - ) - .await - .map_err(Error::relayer)?; + let key = &payer + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; + let events = simple_send_tx(rpc_client.value(), tx_config.value(), key, vec![message]) + .await + .map_err(Error::relayer)?; Ok(events) } @@ -140,13 +143,13 @@ pub async fn register_counterparty_payee( let messages = vec![message]; - simple_send_tx( - rpc_client.value(), - tx_config.value(), - &wallet.value().key, - messages, - ) - .await?; + let key = &wallet + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; + simple_send_tx(rpc_client.value(), tx_config.value(), key, messages).await?; Ok(()) } @@ -174,13 +177,13 @@ pub async fn register_payee( let messages = vec![message]; - simple_send_tx( - rpc_client.value(), - tx_config.value(), - &wallet.value().key, - messages, - ) - .await?; + let key = &wallet + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; + simple_send_tx(rpc_client.value(), tx_config.value(), key, messages).await?; Ok(()) } diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index 26595051a5..e8f796a82f 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -6,7 +6,6 @@ use core::ops::Add; use core::time::Duration; use eyre::eyre; -use ibc_relayer_types::core::ics04_channel::packet::Packet; use ibc_relayer_types::events::IbcEvent; use ibc_proto::google::protobuf::Any; @@ -20,6 +19,7 @@ use ibc_relayer_types::core::ics04_channel::timeout::TimeoutHeight; use ibc_relayer_types::timestamp::Timestamp; use tendermint_rpc::HttpClient; +use crate::chain::exec::simple_exec; use crate::error::{handle_generic_error, Error}; use crate::ibc::token::TaggedTokenRef; use crate::types::id::{TaggedChannelIdRef, TaggedPortIdRef}; @@ -92,7 +92,7 @@ pub async fn ibc_token_transfer( token: &TaggedTokenRef<'_, SrcChain>, memo: Option, timeout: Option, -) -> Result { +) -> Result<(), Error> { let message = build_transfer_message( port_id, channel_id, @@ -103,15 +103,21 @@ pub async fn ibc_token_transfer( memo.clone(), )?; + let key = &sender + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; let events = simple_send_tx( rpc_client.into_value(), tx_config.value(), - &sender.value().key, + key, vec![message], ) .await?; - let packet = events + let _packet = events .into_iter() .find_map(|event| match event.event { IbcEvent::SendPacket(ev) => Some(ev.packet), @@ -119,7 +125,45 @@ pub async fn ibc_token_transfer( }) .ok_or_else(|| eyre!("failed to find send packet event"))?; - Ok(packet) + //Ok(packet) + Ok(()) +} + +pub fn ibc_namada_token_transfer( + home_path: &str, + sender: &str, + receiver: &str, + denom: &str, + amount: &str, + channel_id: &str, + rpc_port: &str, +) -> Result<(), Error> { + simple_exec( + "namada transfer", + "namadac", + &[ + //"client", + "--base-dir", + home_path, + "ibc-transfer", + "--source", + sender, + "--receiver", + receiver, + "--token", + denom, + "--amount", + amount, + "--signing-keys", + &format!("{sender}-key"), + "--channel-id", + channel_id, + "--node", + &format!("http://127.0.0.1:{rpc_port}"), + ], + )?; + + Ok(()) } pub async fn batched_ibc_token_transfer( @@ -147,13 +191,13 @@ pub async fn batched_ibc_token_transfer( .take(num_msgs) .collect::, _>>()?; - batched_send_tx( - rpc_client.value(), - tx_config.value(), - &sender.value().key, - messages, - ) - .await?; + let key = &sender + .value() + .key + .downcast() + .ok_or_else(|| eyre!("unable to downcast key")) + .map_err(Error::generic)?; + batched_send_tx(rpc_client.value(), tx_config.value(), key, messages).await?; Ok(()) } diff --git a/tools/test-framework/src/types/single/node.rs b/tools/test-framework/src/types/single/node.rs index b6241c0ade..453373d8c8 100644 --- a/tools/test-framework/src/types/single/node.rs +++ b/tools/test-framework/src/types/single/node.rs @@ -20,6 +20,7 @@ use tendermint_rpc::WebSocketClientUrl; use crate::chain::chain_type::ChainType as TestedChainType; use crate::chain::driver::ChainDriver; +use crate::chain::exec::simple_exec; use crate::ibc::denom::Denom; use crate::prelude::TestConfig; use crate::types::env::{prefix_writer, EnvWriter, ExportEnv}; @@ -150,56 +151,112 @@ impl FullNode { 5000.0, test_config.native_tokens[native_token_number].clone(), ), + TestedChainType::Namada => { + let denom = get_denom(&self.chain_driver.home_path)?; + config::GasPrice::new(0.003, denom) + } _ => config::GasPrice::new( 0.003, test_config.native_tokens[native_token_number].clone(), ), }; - Ok(config::ChainConfig::CosmosSdk(CosmosSdkConfig { - id: self.chain_driver.chain_id.clone(), - rpc_addr: Url::from_str(&self.chain_driver.rpc_address())?, - grpc_addr: Url::from_str(&self.chain_driver.grpc_address())?, - event_source: config::EventSourceMode::Push { - url: WebSocketClientUrl::from_str(&self.chain_driver.websocket_address())?, - batch_delay: config::default::batch_delay(), - }, - rpc_timeout: config::default::rpc_timeout(), - trusted_node: false, - genesis_restart: None, - account_prefix: self.chain_driver.account_prefix.clone(), - key_name: self.wallets.relayer.id.0.clone(), - key_store_type: Store::Test, - key_store_folder: Some(hermes_keystore_dir.into()), - store_prefix: "ibc".to_string(), - default_gas: None, - max_gas: Some(3000000), - gas_adjustment: None, - gas_multiplier: Some(GasMultiplier::unsafe_new(1.5)), - dynamic_gas_price: DynamicGasPrice::default(), - fee_granter: None, - max_msg_num: Default::default(), - max_tx_size: Default::default(), - max_grpc_decoding_size: config::default::max_grpc_decoding_size(), - query_packets_chunk_size: config::default::query_packets_chunk_size(), - max_block_time: Duration::from_secs(30), - clock_drift: Duration::from_secs(5), - trusting_period: Some(Duration::from_secs(14 * 24 * 3600)), - client_refresh_rate: config::default::client_refresh_rate(), - ccv_consumer_chain: false, - trust_threshold: Default::default(), - gas_price, - packet_filter: Default::default(), - address_type: chain_type.address_type(), - memo_prefix: Default::default(), - memo_overwrite: None, - proof_specs: Default::default(), - extension_options: Default::default(), - sequential_batch_tx: false, - compat_mode, - clear_interval: None, - excluded_sequences: BTreeMap::new(), - })) + let chain_config = match chain_type { + TestedChainType::Cosmos + | TestedChainType::Provenance + | TestedChainType::Evmos + | TestedChainType::Osmosis + | TestedChainType::Injective => config::ChainConfig::CosmosSdk(CosmosSdkConfig { + id: self.chain_driver.chain_id.clone(), + rpc_addr: Url::from_str(&self.chain_driver.rpc_address())?, + grpc_addr: Url::from_str(&self.chain_driver.grpc_address())?, + event_source: config::EventSourceMode::Push { + url: WebSocketClientUrl::from_str(&self.chain_driver.websocket_address())?, + batch_delay: config::default::batch_delay(), + }, + rpc_timeout: config::default::rpc_timeout(), + trusted_node: false, + genesis_restart: None, + account_prefix: self.chain_driver.account_prefix.clone(), + key_name: self.wallets.relayer.id.0.clone(), + key_store_type: Store::Test, + key_store_folder: Some(hermes_keystore_dir.into()), + store_prefix: "ibc".to_string(), + default_gas: None, + max_gas: Some(3000000), + gas_adjustment: None, + gas_multiplier: Some(GasMultiplier::unsafe_new(1.5)), + dynamic_gas_price: DynamicGasPrice::default(), + fee_granter: None, + max_msg_num: Default::default(), + max_tx_size: Default::default(), + max_grpc_decoding_size: config::default::max_grpc_decoding_size(), + query_packets_chunk_size: config::default::query_packets_chunk_size(), + max_block_time: Duration::from_secs(30), + clock_drift: Duration::from_secs(5), + trusting_period: Some(Duration::from_secs(14 * 24 * 3600)), + client_refresh_rate: config::default::client_refresh_rate(), + ccv_consumer_chain: false, + trust_threshold: Default::default(), + gas_price, + packet_filter: Default::default(), + address_type: chain_type.address_type(), + memo_prefix: Default::default(), + memo_overwrite: None, + proof_specs: Default::default(), + extension_options: Default::default(), + sequential_batch_tx: false, + compat_mode, + clear_interval: None, + excluded_sequences: BTreeMap::new(), + }), + TestedChainType::Namada => config::ChainConfig::Namada(CosmosSdkConfig { + id: self.chain_driver.chain_id.clone(), + rpc_addr: Url::from_str(&self.chain_driver.rpc_address())?, + grpc_addr: Url::from_str(&self.chain_driver.grpc_address())?, + event_source: config::EventSourceMode::Push { + url: WebSocketClientUrl::from_str(&self.chain_driver.websocket_address())?, + batch_delay: config::default::batch_delay(), + }, + rpc_timeout: config::default::rpc_timeout(), + trusted_node: false, + genesis_restart: None, + account_prefix: "".to_owned(), + key_name: self.wallets.relayer.id.0.clone(), + key_store_type: Store::Test, + key_store_folder: Some(hermes_keystore_dir.into()), + store_prefix: "ibc".to_string(), + default_gas: None, + max_gas: Some(3000000), + gas_adjustment: None, + gas_multiplier: Some(GasMultiplier::unsafe_new(1.2)), + dynamic_gas_price: DynamicGasPrice::default(), + fee_granter: None, + max_msg_num: Default::default(), + max_tx_size: Default::default(), + max_grpc_decoding_size: config::default::max_grpc_decoding_size(), + query_packets_chunk_size: config::default::query_packets_chunk_size(), + max_block_time: Duration::from_secs(30), + clock_drift: Duration::from_secs(5), + trusting_period: Some(Duration::from_secs(1999)), + client_refresh_rate: config::default::client_refresh_rate(), + ccv_consumer_chain: false, + trust_threshold: Default::default(), + gas_price, + packet_filter: Default::default(), + address_type: chain_type.address_type(), + memo_prefix: Default::default(), + memo_overwrite: None, + proof_specs: Default::default(), + extension_options: Default::default(), + sequential_batch_tx: false, + compat_mode, + clear_interval: None, + excluded_sequences: BTreeMap::new(), + }), + }; + + Ok(chain_config) } /** @@ -217,6 +274,27 @@ impl FullNode { } } +fn get_denom(home_path: &str) -> Result { + let output = simple_exec( + "namada", + "namadaw", + &["--base-dir", home_path, "find", "--alias", "nam"], + )? + .stdout; + + let words: Vec<&str> = output.split_whitespace().collect(); + + if let Some(derived_index) = words.iter().position(|&w| w == "Established:") { + if let Some(&denom) = words.get(derived_index + 1) { + return Ok(denom.to_owned()); + } + return Err(eyre!( + "chain id is not 3 words after `Established:`: {output}" + )); + } + Err(eyre!("could not find `Derived` in output: {output}")) +} + impl ExportEnv for FullNode { fn export_env(&self, writer: &mut impl EnvWriter) { self.chain_driver.export_env(writer); diff --git a/tools/test-framework/src/types/wallet.rs b/tools/test-framework/src/types/wallet.rs index 9886c19cbe..7c22e7fac0 100644 --- a/tools/test-framework/src/types/wallet.rs +++ b/tools/test-framework/src/types/wallet.rs @@ -3,7 +3,7 @@ */ use core::fmt::{self, Display}; -use ibc_relayer::keyring::Secp256k1KeyPair; +use ibc_relayer::keyring::{AnySigningKeyPair, NamadaKeyPair, Secp256k1KeyPair}; use crate::types::env::{prefix_writer, EnvWriter, ExportEnv}; use crate::types::tagged::*; @@ -36,7 +36,7 @@ pub struct Wallet { // TODO: Parameterize this type on `SigningKeyPair` /// The wallet key information in the form of `SigningKeyPair` /// that is used by the relayer. - pub key: Secp256k1KeyPair, + pub key: AnySigningKeyPair, } /** @@ -82,7 +82,7 @@ pub trait TaggedWallet { fn address(&self) -> MonoTagged; /// Get the `SigningKeyPair` tagged with the given `Chain`. - fn key(&self) -> MonoTagged; + fn key(&self) -> MonoTagged; } /** @@ -107,11 +107,19 @@ pub trait TaggedTestWalletsExt { impl Wallet { /// Create a new [`Wallet`] - pub fn new(id: String, address: String, key: Secp256k1KeyPair) -> Self { + pub fn new_secp256(id: String, address: String, secp256_key: Secp256k1KeyPair) -> Self { Self { id: WalletId(id), address: WalletAddress(address), - key, + key: secp256_key.into(), + } + } + + pub fn new_namada(id: String, address: String, namada_key: NamadaKeyPair) -> Self { + Self { + id: WalletId(id), + address: WalletAddress(address), + key: namada_key.into(), } } } @@ -131,7 +139,7 @@ impl TaggedWallet for MonoTagged { self.map_ref(|w| &w.address) } - fn key(&self) -> MonoTagged { + fn key(&self) -> MonoTagged { self.map_ref(|w| &w.key) } } @@ -145,7 +153,7 @@ impl<'a, Chain> TaggedWallet for MonoTagged { self.map_ref(|w| &w.address) } - fn key(&self) -> MonoTagged { + fn key(&self) -> MonoTagged { self.map_ref(|w| &w.key) } } diff --git a/tools/test-framework/src/util/interchain_security.rs b/tools/test-framework/src/util/interchain_security.rs index 5c32d33722..70a0e5da39 100644 --- a/tools/test-framework/src/util/interchain_security.rs +++ b/tools/test-framework/src/util/interchain_security.rs @@ -1,4 +1,4 @@ -use crate::chain::config::set_voting_period; +use crate::chain::config::cosmos::set_voting_period; use crate::prelude::*; use ibc_relayer::chain::tracking::TrackedMsgs; diff --git a/tools/test-framework/src/util/mod.rs b/tools/test-framework/src/util/mod.rs index 8fcd82a5dc..f805d23198 100644 --- a/tools/test-framework/src/util/mod.rs +++ b/tools/test-framework/src/util/mod.rs @@ -6,6 +6,7 @@ pub mod array; pub mod assert; pub mod file; pub mod interchain_security; +pub mod namada; pub mod proposal_status; pub mod random; pub mod retry; diff --git a/tools/test-framework/src/util/namada.rs b/tools/test-framework/src/util/namada.rs new file mode 100644 index 0000000000..1dcd3da840 --- /dev/null +++ b/tools/test-framework/src/util/namada.rs @@ -0,0 +1,33 @@ +use std::fs::File; +use std::io::Read; +use toml::Value; + +use crate::prelude::*; + +pub fn get_namada_denom_address( + chain_id: &str, + home_path: &str, + denom: &str, +) -> Result { + let file_path = format!("{}/{}/wallet.toml", home_path, chain_id); + tracing::warn!("file path: {file_path}"); + let mut toml_content = String::new(); + let mut file = File::open(file_path).expect("Failed to open file"); + file.read_to_string(&mut toml_content) + .expect("Failed to read file"); + + // Parse the TOML content into a `toml::Value` object + let toml_value: Value = toml::from_str(&toml_content).expect("Failed to parse TOML"); + + // Extract a field from the TOML file + let denom_address = toml_value + .get("addresses") + .ok_or_else(|| eyre!("missing `addresses` field"))? + .get(denom) + .ok_or_else(|| eyre!("missing `{denom}` field"))? + .as_str() + .unwrap_or(denom) + .to_owned(); + + Ok(denom_address) +} From 1a13f8c0fa105734e9dfbf2d32b1a424bbf3d1bb Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 7 Jun 2024 12:00:00 +0200 Subject: [PATCH 041/103] fix for Hermes v1.9.0 --- crates/relayer/src/chain/namada.rs | 51 ++++++++++++++++++- .../src/tests/channel_upgrade/flushing.rs | 5 +- .../src/tests/channel_upgrade/ica.rs | 8 +-- .../src/tests/channel_upgrade/ics29.rs | 3 +- .../src/tests/channel_upgrade/timeout.rs | 3 +- .../channel_upgrade/upgrade_handshake.rs | 2 +- .../upgrade_handshake_steps.rs | 2 +- tools/integration-test/src/tests/ica.rs | 2 +- .../interchain_security/dynamic_gas_fee.rs | 12 ++--- .../ica_ordered_channel.rs | 2 +- .../tests/interchain_security/ica_transfer.rs | 2 +- 11 files changed, 72 insertions(+), 20 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 3c31e8c409..07349117cd 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -7,6 +7,7 @@ use core::time::Duration; use ibc_proto::ibc::applications::fee::v1::{ QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse, }; +use ibc_proto::ibc::core::channel::v1::{QueryUpgradeErrorRequest, QueryUpgradeRequest}; use ibc_proto::Protobuf; use ibc_relayer_types::applications::ics31_icq::response::CrossChainQueryResponse; use ibc_relayer_types::clients::ics07_tendermint::client_state::{ @@ -20,14 +21,16 @@ use ibc_relayer_types::core::ics03_connection::connection::{ }; use ibc_relayer_types::core::ics04_channel::channel::{ChannelEnd, IdentifiedChannelEnd}; use ibc_relayer_types::core::ics04_channel::packet::Sequence; +use ibc_relayer_types::core::ics04_channel::upgrade::{ErrorReceipt, Upgrade}; use ibc_relayer_types::core::ics23_commitment::commitment::CommitmentPrefix; use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; use ibc_relayer_types::core::ics24_host::identifier::{ ChainId, ChannelId, ClientId, ConnectionId, PortId, }; use ibc_relayer_types::core::ics24_host::path::{ - AcksPath, ChannelEndsPath, ClientConsensusStatePath, ClientStatePath, CommitmentsPath, - ConnectionsPath, ReceiptsPath, SeqRecvsPath, + AcksPath, ChannelEndsPath, ChannelUpgradeErrorPath, ChannelUpgradePath, + ClientConsensusStatePath, ClientStatePath, CommitmentsPath, ConnectionsPath, ReceiptsPath, + SeqRecvsPath, }; use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::signer::Signer; @@ -1220,6 +1223,50 @@ impl ChainEndpoint for NamadaChain { // not supported unimplemented!() } + + fn query_upgrade( + &self, + request: QueryUpgradeRequest, + height: ICSHeight, + include_proof: IncludeProof, + ) -> Result<(Upgrade, Option), Error> { + let port_id = PortId::from_str(&request.port_id) + .map_err(|_| Error::invalid_port_string(request.port_id))?; + let channel_id = ChannelId::from_str(&request.channel_id) + .map_err(|_| Error::invalid_channel_string(request.channel_id))?; + let path = ChannelUpgradePath { + port_id, + channel_id, + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, QueryHeight::Specific(height), include_proof)?; + + let upgrade = Upgrade::decode_vec(&value).map_err(Error::decode)?; + + Ok((upgrade, proof)) + } + + fn query_upgrade_error( + &self, + request: QueryUpgradeErrorRequest, + height: ICSHeight, + include_proof: IncludeProof, + ) -> Result<(ErrorReceipt, Option), Error> { + let port_id = PortId::from_str(&request.port_id) + .map_err(|_| Error::invalid_port_string(request.port_id))?; + let channel_id = ChannelId::from_str(&request.channel_id) + .map_err(|_| Error::invalid_channel_string(request.channel_id))?; + let path = ChannelUpgradeErrorPath { + port_id, + channel_id, + }; + let key = storage::ibc_key(path.to_string()).expect("the path should be parsable"); + let (value, proof) = self.query(key, QueryHeight::Specific(height), include_proof)?; + + let error_receipt = ErrorReceipt::decode_vec(&value).map_err(Error::decode)?; + + Ok((error_receipt, proof)) + } } /// Fetch the node info diff --git a/tools/integration-test/src/tests/channel_upgrade/flushing.rs b/tools/integration-test/src/tests/channel_upgrade/flushing.rs index 0e4bdf7143..3b2777f733 100644 --- a/tools/integration-test/src/tests/channel_upgrade/flushing.rs +++ b/tools/integration-test/src/tests/channel_upgrade/flushing.rs @@ -10,7 +10,7 @@ use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeigh use ibc_relayer_types::core::ics04_channel::channel::State as ChannelState; use ibc_relayer_types::core::ics04_channel::packet::Sequence; use ibc_relayer_types::core::ics04_channel::version::Version; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, assert_eventually_channel_upgrade_ack, @@ -166,6 +166,7 @@ impl BinaryChannelTest for ChannelUpgradeFlushing { relayer.with_supervisor(|| { let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, @@ -384,6 +385,7 @@ impl BinaryChannelTest for ChannelUpgradeHandshakeFlushPackets { // and move channel ends to `FLUSH_COMPLETE` relayer.with_supervisor(|| { let ibc_denom_a = derive_ibc_denom( + &chains.node_a.chain_driver().value().chain_type, &channels.port_a.as_ref(), &channels.channel_id_a.as_ref(), &denom_b, @@ -395,6 +397,7 @@ impl BinaryChannelTest for ChannelUpgradeHandshakeFlushPackets { )?; let ibc_denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/channel_upgrade/ica.rs b/tools/integration-test/src/tests/channel_upgrade/ica.rs index 4b26c9d37b..d86ab682f3 100644 --- a/tools/integration-test/src/tests/channel_upgrade/ica.rs +++ b/tools/integration-test/src/tests/channel_upgrade/ica.rs @@ -32,7 +32,7 @@ use ibc_relayer_types::signer::Signer; use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; -use ibc_test_framework::chain::config::{ +use ibc_test_framework::chain::config::cosmos::{ add_allow_message_interchainaccounts, set_max_deposit_period, set_voting_period, }; use ibc_test_framework::chain::ext::ica::register_ordered_interchain_account; @@ -90,7 +90,7 @@ impl BinaryConnectionTest for ChannelUpgradeICACloseChannel { chains: ConnectedChains, connection: ConnectedConnection, ) -> Result<(), Error> { - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); // Run the block with supervisor in order to open and then upgrade the ICA channel let (wallet, ica_address, controller_channel_id, controller_port_id) = relayer @@ -312,7 +312,7 @@ impl TestOverrides for ChannelUpgradeICAUnordered { for chain in &mut config.chains { match chain { - ChainConfig::CosmosSdk(chain_config) => { + ChainConfig::CosmosSdk(chain_config) | ChainConfig::Namada(chain_config) => { chain_config.packet_filter = self.packet_filter.clone(); } } @@ -340,7 +340,7 @@ impl BinaryConnectionTest for ChannelUpgradeICAUnordered { chains: ConnectedChains, connection: ConnectedConnection, ) -> Result<(), Error> { - let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake")); + let stake_denom: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); info!("Will register interchain account..."); diff --git a/tools/integration-test/src/tests/channel_upgrade/ics29.rs b/tools/integration-test/src/tests/channel_upgrade/ics29.rs index 02f90b2745..95db144604 100644 --- a/tools/integration-test/src/tests/channel_upgrade/ics29.rs +++ b/tools/integration-test/src/tests/channel_upgrade/ics29.rs @@ -7,7 +7,7 @@ use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeight}; use ibc_relayer_types::core::ics04_channel::packet::Sequence; use ibc_relayer_types::core::ics04_channel::version::Version; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, assert_eventually_channel_upgrade_open, @@ -202,6 +202,7 @@ impl BinaryChannelTest for ChannelUpgradeICS29 { )?; let denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/channel_upgrade/timeout.rs b/tools/integration-test/src/tests/channel_upgrade/timeout.rs index 42bdd288ed..ed391391f1 100644 --- a/tools/integration-test/src/tests/channel_upgrade/timeout.rs +++ b/tools/integration-test/src/tests/channel_upgrade/timeout.rs @@ -27,7 +27,7 @@ use ibc_relayer_types::core::ics04_channel::channel::State as ChannelState; use ibc_relayer_types::core::ics04_channel::packet::Sequence; use ibc_relayer_types::core::ics04_channel::version::Version; use ibc_relayer_types::events::IbcEventType; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, assert_eventually_channel_upgrade_ack, @@ -992,6 +992,7 @@ impl BinaryChannelTest for ChannelUpgradeHandshakeTimeoutOnPacketAck { // and move channel ends to `FLUSH_COMPLETE` relayer.with_supervisor(|| { let ibc_denom_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channels.port_b.as_ref(), &channels.channel_id_b.as_ref(), &denom_a, diff --git a/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake.rs b/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake.rs index 1a8dbe27ed..2929bf649a 100644 --- a/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake.rs +++ b/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake.rs @@ -11,7 +11,7 @@ use std::thread::sleep; use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeight}; use ibc_relayer_types::core::ics04_channel::packet::Sequence; use ibc_relayer_types::core::ics04_channel::version::Version; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, assert_eventually_channel_upgrade_open, diff --git a/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake_steps.rs b/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake_steps.rs index 31b665bc9a..c295ab55e4 100644 --- a/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake_steps.rs +++ b/tools/integration-test/src/tests/channel_upgrade/upgrade_handshake_steps.rs @@ -29,7 +29,7 @@ use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeigh use ibc_relayer_types::core::ics04_channel::channel::{State as ChannelState, UpgradeState}; use ibc_relayer_types::core::ics04_channel::packet::Sequence; use ibc_relayer_types::core::ics04_channel::version::Version; -use ibc_test_framework::chain::config::{set_max_deposit_period, set_voting_period}; +use ibc_test_framework::chain::config::cosmos::{set_max_deposit_period, set_voting_period}; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, assert_eventually_channel_upgrade_ack, diff --git a/tools/integration-test/src/tests/ica.rs b/tools/integration-test/src/tests/ica.rs index 639ebcf2ca..ee6d8a32f3 100644 --- a/tools/integration-test/src/tests/ica.rs +++ b/tools/integration-test/src/tests/ica.rs @@ -17,7 +17,7 @@ use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; use ibc_test_framework::chain::{ - config::add_allow_message_interchainaccounts, + config::cosmos::add_allow_message_interchainaccounts, ext::ica::{register_interchain_account, register_ordered_interchain_account}, }; use ibc_test_framework::prelude::*; diff --git a/tools/integration-test/src/tests/interchain_security/dynamic_gas_fee.rs b/tools/integration-test/src/tests/interchain_security/dynamic_gas_fee.rs index 3d2f217554..e45d3dfd78 100644 --- a/tools/integration-test/src/tests/interchain_security/dynamic_gas_fee.rs +++ b/tools/integration-test/src/tests/interchain_security/dynamic_gas_fee.rs @@ -80,7 +80,7 @@ impl TestOverrides for DynamicGasTest { update_relayer_config_for_consumer_chain(config); match &mut config.chains[0] { - ChainConfig::CosmosSdk(chain_config_a) => { + ChainConfig::CosmosSdk(chain_config_a) | ChainConfig::Namada(chain_config_a) => { chain_config_a.gas_price = GasPrice::new(0.3, chain_config_a.gas_price.denom.clone()); @@ -89,7 +89,7 @@ impl TestOverrides for DynamicGasTest { } match &mut config.chains[1] { - ChainConfig::CosmosSdk(chain_config_b) => { + ChainConfig::CosmosSdk(chain_config_b) | ChainConfig::Namada(chain_config_b) => { chain_config_b.gas_price = GasPrice::new(0.3, chain_config_b.gas_price.denom.clone()); @@ -121,15 +121,14 @@ impl BinaryChannelTest for DynamicGasTest { let a_to_b_amount = 12345u64; let denom_a_to_b = derive_ibc_denom( + &chains.node_b.chain_driver().value().chain_type, &channel.port_b.as_ref(), &channel.channel_id_b.as_ref(), &denom_a, )?; - let gas_denom_a: MonoTagged = - MonoTagged::new(Denom::Base("stake".to_owned())); - let gas_denom_b: MonoTagged = - MonoTagged::new(Denom::Base("stake".to_owned())); + let gas_denom_a: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); + let gas_denom_b: MonoTagged = MonoTagged::new(Denom::base("stake", "stake")); let balance_relayer_b_before = chains.node_b.chain_driver().query_balance( &chains.node_b.wallets().relayer().address(), @@ -185,6 +184,7 @@ impl BinaryChannelTest for DynamicGasTest { let denom_b = chains.node_b.denom(); let denom_b_to_a = derive_ibc_denom( + &chains.node_a.chain_driver().value().chain_type, &channel.port_a.as_ref(), &channel.channel_id_a.as_ref(), &denom_b, diff --git a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs index 903415e603..563e83dcb7 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs @@ -17,7 +17,7 @@ use ibc_relayer_types::bigint::U256; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; -use ibc_test_framework::chain::config::add_allow_message_interchainaccounts; +use ibc_test_framework::chain::config::cosmos::add_allow_message_interchainaccounts; use ibc_test_framework::chain::ext::ica::register_interchain_account; use ibc_test_framework::framework::binary::channel::run_binary_interchain_security_channel_test; use ibc_test_framework::prelude::*; diff --git a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs index 5547cb4c4c..046e6d56e0 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs @@ -11,7 +11,7 @@ use ibc_relayer_types::bigint::U256; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; -use ibc_test_framework::chain::config::add_allow_message_interchainaccounts; +use ibc_test_framework::chain::config::cosmos::add_allow_message_interchainaccounts; use ibc_test_framework::chain::ext::ica::register_interchain_account; use ibc_test_framework::framework::binary::channel::run_binary_interchain_security_channel_test; use ibc_test_framework::prelude::*; From 1a354b8cd59a49f5375900f3458e377fcb148f58 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 7 Jun 2024 18:55:56 +0200 Subject: [PATCH 042/103] fix command and tests --- Cargo.toml | 16 ++++++++-------- .../relayer-cli/src/commands/create/channel.rs | 3 ++- crates/relayer-cli/src/commands/tx/channel.rs | 1 + tools/test-framework/src/bootstrap/consumer.rs | 1 + .../test-framework/src/docs/walkthroughs/memo.rs | 1 + .../src/docs/walkthroughs/ordered_channel.rs | 1 + 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3b46c0002f..fbc0b363d1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,13 +30,13 @@ ibc-test-framework = { version = "0.28.0", path = "tools/test-framework" } ibc-integration-test = { version = "0.28.0", path = "tools/integration-test" } # Tendermint dependencies -tendermint = { version = "0.36.0", default-features = false } -tendermint-light-client = { version = "0.36.0", default-features = false } -tendermint-light-client-detector = { version = "0.36.0", default-features = false } -tendermint-light-client-verifier = { version = "0.36.0", default-features = false } -tendermint-proto = { version = "0.36.0" } -tendermint-rpc = { version = "0.36.0" } -tendermint-testgen = { version = "0.36.0" } +tendermint = { version = "=0.36.0", default-features = false } +tendermint-light-client = { version = "=0.36.0", default-features = false } +tendermint-light-client-detector = { version = "=0.36.0", default-features = false } +tendermint-light-client-verifier = { version = "=0.36.0", default-features = false } +tendermint-proto = { version = "=0.36.0" } +tendermint-rpc = { version = "=0.36.0" } +tendermint-testgen = { version = "=0.36.0" } # Namada dependencies namada_ibc = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } @@ -78,7 +78,7 @@ hex = "0.4.3" http = "0.2.9" humantime = "2.1.0" humantime-serde = "1.1.1" -ibc-proto = "0.44.0" +ibc-proto = "=0.44.0" ics23 = "0.11.1" itertools = "0.12.1" moka = "0.12.5" diff --git a/crates/relayer-cli/src/commands/create/channel.rs b/crates/relayer-cli/src/commands/create/channel.rs index 197bb471c0..2295d09e6c 100644 --- a/crates/relayer-cli/src/commands/create/channel.rs +++ b/crates/relayer-cli/src/commands/create/channel.rs @@ -101,7 +101,8 @@ pub struct CreateChannelCommand { #[clap( long = "order", value_name = "ORDER", - help = "The channel ordering, valid options 'unordered' (default) and 'ordered'" + help = "The channel ordering, valid options 'unordered' (default) and 'ordered'", + default_value_t )] order: Ordering, diff --git a/crates/relayer-cli/src/commands/tx/channel.rs b/crates/relayer-cli/src/commands/tx/channel.rs index 6244c730c0..de75a48aaf 100644 --- a/crates/relayer-cli/src/commands/tx/channel.rs +++ b/crates/relayer-cli/src/commands/tx/channel.rs @@ -117,6 +117,7 @@ pub struct TxChanOpenInitCmd { #[clap( long = "order", + default_value_t, value_name = "ORDER", help = "The channel ordering, valid options 'unordered' (default) and 'ordered'" )] diff --git a/tools/test-framework/src/bootstrap/consumer.rs b/tools/test-framework/src/bootstrap/consumer.rs index 230cdce0c2..830ea104de 100644 --- a/tools/test-framework/src/bootstrap/consumer.rs +++ b/tools/test-framework/src/bootstrap/consumer.rs @@ -75,6 +75,7 @@ pub fn bootstrap_consumer_node( config::cosmos::set_soft_opt_out_threshold(genesis, "0.05")?; config::cosmos::consensus_params_max_gas(genesis, "3000000")?; config::cosmos::globalfee_minimum_gas_prices(genesis, globalfee_minimum_gas)?; + config::cosmos::set_retry_delay_period(genesis, "100s")?; Ok(()) })?; diff --git a/tools/test-framework/src/docs/walkthroughs/memo.rs b/tools/test-framework/src/docs/walkthroughs/memo.rs index 5f85c63cb5..336bc5d874 100644 --- a/tools/test-framework/src/docs/walkthroughs/memo.rs +++ b/tools/test-framework/src/docs/walkthroughs/memo.rs @@ -60,6 +60,7 @@ //! )?; //! //! let denom_b = derive_ibc_denom( +//! &chains.node_b.chain_driver().value().chain_type, //! &channel.port_b.as_ref(), //! &channel.channel_id_b.as_ref(), //! &denom_a, diff --git a/tools/test-framework/src/docs/walkthroughs/ordered_channel.rs b/tools/test-framework/src/docs/walkthroughs/ordered_channel.rs index 36c04807a6..6f717d436e 100644 --- a/tools/test-framework/src/docs/walkthroughs/ordered_channel.rs +++ b/tools/test-framework/src/docs/walkthroughs/ordered_channel.rs @@ -95,6 +95,7 @@ //! sleep(Duration::from_secs(1)); //! //! let denom_b = derive_ibc_denom( +//! &chains.node_b.chain_driver().value().chain_type, //! &channel.port_b.as_ref(), //! &channel.channel_id_b.as_ref(), //! &denom_a, From 90113e886736deecef4a2c00dd77dfcd2679182b Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 7 Jun 2024 19:08:09 +0200 Subject: [PATCH 043/103] for CI From a3e7d131a1357dbc2e3b601cb0015702fa6ec03b Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 12 Jun 2024 21:07:46 +0200 Subject: [PATCH 044/103] WIP: fixing integration test with Namada --- Cargo.lock | 2 + .../src/tests/client_filter.rs | 6 - .../src/tests/client_refresh.rs | 3 +- .../src/tests/client_settings.rs | 6 +- .../src/tests/consensus_states.rs | 60 +++++---- .../integration-test/src/tests/denom_trace.rs | 3 +- .../src/tests/error_events.rs | 2 + .../src/tests/handshake_on_start.rs | 3 - .../src/tests/ics20_filter/mod.rs | 1 - tools/integration-test/src/tests/mod.rs | 13 +- tools/test-framework/Cargo.toml | 2 + tools/test-framework/src/bootstrap/namada.rs | 2 +- tools/test-framework/src/chain/cli/query.rs | 8 +- .../test-framework/src/chain/ext/transfer.rs | 123 +++++++++++++----- tools/test-framework/src/ibc/denom.rs | 46 ++++--- tools/test-framework/src/relayer/transfer.rs | 33 +++++ tools/test-framework/src/util/namada.rs | 41 ++++++ 17 files changed, 241 insertions(+), 113 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 872c54c1d2..fcb744674f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3392,6 +3392,8 @@ dependencies = [ "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.12.1", + "namada_ibc", + "namada_sdk", "once_cell", "prost", "rand 0.8.5", diff --git a/tools/integration-test/src/tests/client_filter.rs b/tools/integration-test/src/tests/client_filter.rs index 16d28e4024..0410a91ba4 100644 --- a/tools/integration-test/src/tests/client_filter.rs +++ b/tools/integration-test/src/tests/client_filter.rs @@ -25,7 +25,6 @@ use ibc_relayer::foreign_client::CreateOptions; use ibc_relayer::object::ObjectType; use ibc_relayer_types::clients::ics07_tendermint::client_state::ClientState as TmClientState; -use ibc_test_framework::chain::config; use ibc_test_framework::prelude::*; struct ClientFilterBlocksConnectionTest; @@ -75,11 +74,6 @@ impl TestOverrides for ClientFilterAllowsConnectionTest { trust_threshold: Some(TrustThreshold::ONE_THIRD), } } - - fn namada_modify_parameter_file(&self, parameter: &mut toml::Value) -> Result<(), Error> { - config::namada::set_pipeline_len(parameter, 120001)?; - Ok(()) - } } impl BinaryChannelTest for ClientFilterBlocksConnectionTest { diff --git a/tools/integration-test/src/tests/client_refresh.rs b/tools/integration-test/src/tests/client_refresh.rs index 3a16b10e5a..bac99acb09 100644 --- a/tools/integration-test/src/tests/client_refresh.rs +++ b/tools/integration-test/src/tests/client_refresh.rs @@ -14,8 +14,9 @@ fn test_client_default_refresh() -> Result<(), Error> { run_binary_chain_test(&ClientDefaultsTest) } -#[test] +// TODO: it should work after surrpoting gas estimation #[cfg(not(feature = "namada"))] +#[test] fn test_client_fail_refresh() -> Result<(), Error> { run_binary_chain_test(&ClientFailsTest) } diff --git a/tools/integration-test/src/tests/client_settings.rs b/tools/integration-test/src/tests/client_settings.rs index 137caa7806..ccaee68b41 100644 --- a/tools/integration-test/src/tests/client_settings.rs +++ b/tools/integration-test/src/tests/client_settings.rs @@ -26,23 +26,21 @@ struct ClientOptionsTest; impl TestOverrides for ClientDefaultsTest { fn modify_relayer_config(&self, config: &mut Config) { match &mut config.chains[0] { - ChainConfig::CosmosSdk(chain_config_a) => { + ChainConfig::CosmosSdk(chain_config_a) | ChainConfig::Namada(chain_config_a) => { chain_config_a.clock_drift = Duration::from_secs(3); chain_config_a.max_block_time = Duration::from_secs(5); chain_config_a.trusting_period = Some(Duration::from_secs(120_000)); chain_config_a.trust_threshold = TrustThreshold::new(13, 23).unwrap(); } - ChainConfig::Namada(_) => {} } match &mut config.chains[1] { - ChainConfig::CosmosSdk(chain_config_b) => { + ChainConfig::CosmosSdk(chain_config_b) | ChainConfig::Namada(chain_config_b) => { chain_config_b.clock_drift = Duration::from_secs(6); chain_config_b.max_block_time = Duration::from_secs(15); chain_config_b.trusting_period = Some(Duration::from_secs(340_000)); chain_config_b.trust_threshold = TrustThreshold::TWO_THIRDS; } - ChainConfig::Namada(_) => {} } } } diff --git a/tools/integration-test/src/tests/consensus_states.rs b/tools/integration-test/src/tests/consensus_states.rs index bfd0891679..e8145a466f 100644 --- a/tools/integration-test/src/tests/consensus_states.rs +++ b/tools/integration-test/src/tests/consensus_states.rs @@ -1,9 +1,13 @@ -use ibc_relayer::chain::{ - cosmos::query::consensus_state::query_consensus_states, - requests::{PageRequest, QueryConsensusStateHeightsRequest, QueryConsensusStatesRequest}, +use ibc_relayer::{ + chain::{ + cosmos::query::consensus_state::query_consensus_states, + requests::{PageRequest, QueryConsensusStateHeightsRequest, QueryConsensusStatesRequest}, + }, + config::ChainConfig, }; use ibc_test_framework::prelude::*; +use ibc_test_framework::util::namada; #[test] fn test_consensus_state_heights() -> Result<(), Error> { @@ -48,29 +52,35 @@ impl BinaryChainTest for ConsensusStateHeights { &CONSENSUS_STATES_COUNT, )?; - let grpc_address = chains - .node_b - .value() - .chain_driver - .grpc_address() - .as_str() - .parse() - .unwrap(); + let states = match chains.handle_b().config().expect("Config should exist") { + ChainConfig::Namada(config) => chains.node_b.value().chain_driver.runtime.block_on( + namada::query_consensus_states(config.rpc_addr, *chains.client_id_b().value()), + )?, + _ => { + let grpc_address = chains + .node_b + .value() + .chain_driver + .grpc_address() + .as_str() + .parse() + .unwrap(); - let states = - chains - .node_b - .value() - .chain_driver - .runtime - .block_on(query_consensus_states( - chains.node_b.chain_id().value(), - &grpc_address, - QueryConsensusStatesRequest { - client_id: (*chains.client_id_b().value()).clone(), - pagination: Some(PageRequest::all()), - }, - ))?; + chains + .node_b + .value() + .chain_driver + .runtime + .block_on(query_consensus_states( + chains.node_b.chain_id().value(), + &grpc_address, + QueryConsensusStatesRequest { + client_id: (*chains.client_id_b().value()).clone(), + pagination: Some(PageRequest::all()), + }, + ))? + } + }; assert_eq( "did not find the expected number of consensus states", diff --git a/tools/integration-test/src/tests/denom_trace.rs b/tools/integration-test/src/tests/denom_trace.rs index 78b24dcd06..50dbbd4aa8 100644 --- a/tools/integration-test/src/tests/denom_trace.rs +++ b/tools/integration-test/src/tests/denom_trace.rs @@ -84,7 +84,8 @@ impl BinaryChannelTest for IbcDenomTraceTest { assert_eq( "Denom returned by denom_trace query should be the same as denom_a", &denom_trace.base_denom, - &denom_a.value().as_str().to_string(), + // check the raw address + &denom_a.value().hash_only(), )?; Ok(()) diff --git a/tools/integration-test/src/tests/error_events.rs b/tools/integration-test/src/tests/error_events.rs index 24602d0122..7e5d7172d0 100644 --- a/tools/integration-test/src/tests/error_events.rs +++ b/tools/integration-test/src/tests/error_events.rs @@ -3,6 +3,8 @@ use ibc_relayer_types::events::IbcEvent; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::transfer::build_transfer_message; +// TODO: Need to fix Namada and Namada event checking +#[cfg(not(feature = "namada"))] #[test] fn test_error_events() -> Result<(), Error> { run_binary_channel_test(&ErrorEventsTest) diff --git a/tools/integration-test/src/tests/handshake_on_start.rs b/tools/integration-test/src/tests/handshake_on_start.rs index 8e22a4dcc2..e5b744fc3d 100644 --- a/tools/integration-test/src/tests/handshake_on_start.rs +++ b/tools/integration-test/src/tests/handshake_on_start.rs @@ -12,7 +12,6 @@ use ibc_test_framework::{ }, }; -#[cfg(not(feature = "namada"))] #[test] fn test_connection_open_handshake() -> Result<(), Error> { run_binary_chain_test(&ConnectionOpenHandshake { @@ -27,7 +26,6 @@ fn test_connection_open_handshake_no_worker() -> Result<(), Error> { }) } -#[cfg(not(feature = "namada"))] #[test] fn test_connection_try_handshake() -> Result<(), Error> { run_binary_chain_test(&ConnectionTryHandshake { @@ -98,7 +96,6 @@ fn test_channel_ack_handshake_no_worker() -> Result<(), Error> { }) } -#[cfg(not(feature = "namada"))] #[test] fn test_channel_optimistic_handshake() -> Result<(), Error> { run_binary_chain_test(&OptimisticChannelOpenHandshake {}) diff --git a/tools/integration-test/src/tests/ics20_filter/mod.rs b/tools/integration-test/src/tests/ics20_filter/mod.rs index 98feac68fc..80d0261cba 100644 --- a/tools/integration-test/src/tests/ics20_filter/mod.rs +++ b/tools/integration-test/src/tests/ics20_filter/mod.rs @@ -1,2 +1 @@ -#[cfg(not(feature = "namada"))] pub mod memo; diff --git a/tools/integration-test/src/tests/mod.rs b/tools/integration-test/src/tests/mod.rs index 5b3434c951..926f2911a9 100644 --- a/tools/integration-test/src/tests/mod.rs +++ b/tools/integration-test/src/tests/mod.rs @@ -5,37 +5,26 @@ will pick up the definition by default. */ -#[cfg(not(feature = "namada"))] pub mod clear_packet; -#[cfg(not(feature = "namada"))] pub mod client_expiration; -#[cfg(not(feature = "namada"))] pub mod client_filter; pub mod client_refresh; -#[cfg(not(feature = "namada"))] pub mod client_settings; #[cfg(not(any(feature = "celestia", feature = "namada")))] pub mod client_upgrade; pub mod connection_delay; -#[cfg(not(feature = "namada"))] pub mod consensus_states; -#[cfg(not(feature = "namada"))] pub mod denom_trace; -#[cfg(not(feature = "namada"))] pub mod error_events; pub mod execute_schedule; pub mod handshake_on_start; pub mod ics20_filter; -#[cfg(not(feature = "namada"))] pub mod memo; -#[cfg(not(feature = "namada"))] pub mod python; pub mod query_packet; -#[cfg(not(feature = "namada"))] pub mod supervisor; -#[cfg(not(feature = "namada"))] pub mod tendermint; -#[cfg(not(any(feature = "celestia", feature = "namada")))] +#[cfg(not(any(feature = "celestia")))] pub mod ternary_transfer; pub mod transfer; diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index 730d2d5892..f04af16889 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -18,6 +18,8 @@ ibc-relayer-types = { workspace = true } ibc-relayer = { workspace = true } ibc-relayer-cli = { workspace = true } ibc-proto = { workspace = true, features = ["serde"] } +namada_ibc = { workspace = true } +namada_sdk = { workspace = true } tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } color-eyre = { workspace = true } diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 286a9f3574..d2bfb61371 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -326,7 +326,7 @@ fn add_namada_key( .find_address(address_name) .ok_or_else(|| eyre!("error loading the address from Namada wallet"))?; let namada_key = NamadaKeyPair { - alias: key_name.to_string(), + alias: address_name.to_string(), address: address.into_owned(), secret_key: secret_key.clone(), }; diff --git a/tools/test-framework/src/chain/cli/query.rs b/tools/test-framework/src/chain/cli/query.rs index 7ece864b50..9eec5c51d0 100644 --- a/tools/test-framework/src/chain/cli/query.rs +++ b/tools/test-framework/src/chain/cli/query.rs @@ -129,18 +129,18 @@ pub fn query_namada_balance( )?; let words: Vec<&str> = output.stdout.split_whitespace().collect(); - let denom_hash = &format!("{}:", denom.hash_only()); + let raw_addr = &format!("{}:", denom.hash_only()); - if let Some(derived_index) = words.iter().position(|&w| w.contains(denom_hash)) { + if let Some(derived_index) = words.iter().position(|&w| w.contains(raw_addr)) { if let Some(&amount_str) = words.get(derived_index + 1) { return Amount::from_str(amount_str).map_err(handle_generic_error); } Err(Error::generic(eyre!( - "chain id is not 1 words after `{denom_hash}`: raw output `{}` split output `{words:#?}`", + "chain id is not 1 words after `{raw_addr}`: raw output `{}` split output `{words:#?}`", output.stdout ))) } else { - let denom_display_name = &format!("{}:", denom.display_name()); + let denom_display_name = &format!("{}:", denom.namada_display_name()); if let Some(derived_index) = words.iter().position(|&w| w.contains(denom_display_name)) { if let Some(&amount_str) = words.get(derived_index + 1) { return Amount::from_str(amount_str).map_err(handle_generic_error); diff --git a/tools/test-framework/src/chain/ext/transfer.rs b/tools/test-framework/src/chain/ext/transfer.rs index 89e799ed45..8d7c618e4e 100644 --- a/tools/test-framework/src/chain/ext/transfer.rs +++ b/tools/test-framework/src/chain/ext/transfer.rs @@ -3,6 +3,7 @@ use core::time::Duration; use ibc_relayer_types::core::ics02_client::height::Height; use ibc_relayer_types::core::ics24_host::identifier::{ChannelId, PortId}; +use crate::chain::chain_type::ChainType; use crate::chain::cli::transfer::{local_transfer_token, transfer_from_chain}; use crate::chain::driver::ChainDriver; use crate::chain::tagged::TaggedChainDriverExt; @@ -10,6 +11,7 @@ use crate::error::Error; use crate::ibc::token::TaggedTokenRef; use crate::relayer::transfer::{ batched_ibc_token_transfer, ibc_namada_token_transfer, ibc_token_transfer, + local_namada_token_transfer, }; use crate::types::id::{TaggedChannelIdRef, TaggedPortIdRef}; use crate::types::tagged::*; @@ -157,17 +159,37 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, ) -> Result<(), Error> { let rpc_client = self.rpc_client()?; - self.value().runtime.block_on(batched_ibc_token_transfer( - rpc_client.as_ref(), - &self.tx_config(), - port_id, - channel_id, - sender, - recipient, - token, - num_msgs, - memo, - )) + match self.value().chain_type { + ChainType::Namada => { + let denom = token.value().denom.to_string(); + let amount = token.value().amount.to_string(); + let rpc_port = self.value().rpc_port.to_string(); + // Namada CLI doesn't support batching transactions + for _ in 0..num_msgs { + ibc_namada_token_transfer( + &self.value().home_path, + &sender.value().id.to_string(), + recipient.value().as_str(), + &denom, + &amount, + &channel_id.to_string(), + &rpc_port, + )?; + } + Ok(()) + } + _ => self.value().runtime.block_on(batched_ibc_token_transfer( + rpc_client.as_ref(), + &self.tx_config(), + port_id, + channel_id, + sender, + recipient, + token, + num_msgs, + memo, + )), + } } fn local_transfer_token( @@ -177,15 +199,30 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, ) -> Result<(), Error> { let driver = *self.value(); - local_transfer_token( - driver.chain_id.as_str(), - &driver.command_path, - &driver.home_path, - &driver.rpc_listen_address(), - sender.value().address.as_str(), - recipient.value().as_str(), - &token.value().to_string(), - ) + match driver.chain_type { + ChainType::Namada => { + let denom = token.value().denom.to_string(); + let amount = token.value().amount.to_string(); + let rpc_port = self.value().rpc_port.to_string(); + local_namada_token_transfer( + &driver.home_path, + &sender.value().id.to_string(), + &recipient.value().as_str(), + &denom, + &amount, + &rpc_port, + ) + } + _ => local_transfer_token( + driver.chain_id.as_str(), + &driver.command_path, + &driver.home_path, + &driver.rpc_listen_address(), + sender.value().address.as_str(), + recipient.value().as_str(), + &token.value().to_string(), + ), + } } fn transfer_from_chain( @@ -199,19 +236,37 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged Result<(), Error> { let driver = *self.value(); - let timeout_height_str = timeout_height.revision_height() + 100; - transfer_from_chain( - driver.chain_id.as_str(), - &driver.command_path, - &driver.home_path, - &driver.rpc_listen_address(), - sender.value().address.as_str(), - port.as_ref(), - channel.as_ref(), - recipient.value().as_str(), - &token.value().to_string(), - &fees.value().to_string(), - &timeout_height_str.to_string(), - ) + match driver.chain_type { + ChainType::Namada => { + let denom = token.value().denom.to_string(); + let amount = token.value().amount.to_string(); + let rpc_port = self.value().rpc_port.to_string(); + ibc_namada_token_transfer( + &driver.home_path, + &sender.value().id.to_string(), + recipient.value().as_str(), + &denom, + &amount, + channel.as_ref(), + &rpc_port, + ) + } + _ => { + let timeout_height_str = timeout_height.revision_height() + 100; + transfer_from_chain( + driver.chain_id.as_str(), + &driver.command_path, + &driver.home_path, + &driver.rpc_listen_address(), + sender.value().address.as_str(), + port.as_ref(), + channel.as_ref(), + recipient.value().as_str(), + &token.value().to_string(), + &fees.value().to_string(), + &timeout_height_str.to_string(), + ) + } + } } } diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index a1bbdbde08..891f37d1d7 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -23,7 +23,7 @@ pub enum Denom { }, Ibc { path: String, - denom: String, + denom: Box, hashed: String, }, } @@ -93,15 +93,12 @@ fn derive_cosmos_ibc_denom( } match denom.value() { - Denom::Base { - display_name, - raw_address, - } => { + Denom::Base { raw_address, .. } => { let hashed = derive_denom(port_id.value(), channel_id.value(), raw_address)?; Ok(MonoTagged::new(Denom::Ibc { path: format!("{port_id}/{channel_id}"), - denom: display_name.clone(), + denom: Box::new((*denom.value()).clone()), hashed, })) } @@ -124,24 +121,24 @@ fn derive_namada_ibc_denom( denom: &TaggedDenomRef, ) -> Result, Error> { match denom.value() { - Denom::Base { - display_name, - raw_address, - } => { - let ibc_display_name = format!("{port_id}/{channel_id}/{display_name}"); - let ibc_raw_address = format!("{port_id}/{channel_id}/{raw_address}"); - - Ok(MonoTagged::new(Denom::Base { - display_name: ibc_display_name, - raw_address: ibc_raw_address, + Denom::Base { raw_address, .. } => { + let path = format!("{port_id}/{channel_id}"); + let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{path}/{raw_address}")); + + Ok(MonoTagged::new(Denom::Ibc { + path, + denom: Box::new((*denom.value()).clone()), + hashed: ibc_token_addr.to_string(), })) } - Denom::Ibc { hashed, .. } => { - let ibc_denom = format!("{port_id}/{channel_id}/{hashed}"); + Denom::Ibc { path, denom, .. } => { + let new_path = format!("{port_id}/{channel_id}/{path}"); + let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{new_path}/{denom}")); - Ok(MonoTagged::new(Denom::Base { - display_name: ibc_denom.clone(), - raw_address: ibc_denom, + Ok(MonoTagged::new(Denom::Ibc { + path: new_path, + denom: denom.clone(), + hashed: ibc_token_addr.to_string(), })) } } @@ -172,6 +169,13 @@ impl Denom { } } + pub fn namada_display_name(&self) -> String { + match self { + Denom::Base { display_name, .. } => display_name.to_string(), + Denom::Ibc { path, denom, .. } => format!("{path}/{}", denom.namada_display_name()), + } + } + pub fn as_str(&self) -> &str { match self { Denom::Base { display_name, .. } => display_name, diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index e8f796a82f..e027e6bd9a 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -129,6 +129,39 @@ pub async fn ibc_token_transfer( Ok(()) } +pub fn local_namada_token_transfer( + home_path: &str, + sender: &str, + recipient: &str, + denom: &str, + amount: &str, + rpc_port: &str, +) -> Result<(), Error> { + simple_exec( + "namada local transfer", + "namadac", + &[ + "--base-dir", + home_path, + "transfer", + "--source", + sender, + "--target", + recipient, + "--token", + denom, + "--amount", + amount, + "--signing-keys", + &format!("{sender}-key"), + "--node", + &format!("http://127.0.0.1:{rpc_port}"), + ], + )?; + + Ok(()) +} + pub fn ibc_namada_token_transfer( home_path: &str, sender: &str, diff --git a/tools/test-framework/src/util/namada.rs b/tools/test-framework/src/util/namada.rs index 1dcd3da840..4c9f4679e2 100644 --- a/tools/test-framework/src/util/namada.rs +++ b/tools/test-framework/src/util/namada.rs @@ -1,5 +1,13 @@ +use ibc_proto::Protobuf; +use ibc_relayer::consensus_state::{AnyConsensusState, AnyConsensusStateWithHeight}; +use ibc_relayer_types::core::ics24_host::identifier::ClientId; +use ibc_relayer_types::Height; +use namada_ibc::storage::{consensus_height, consensus_state_prefix}; +use namada_sdk::queries::RPC; +use namada_sdk::storage::{Key, PrefixValue}; use std::fs::File; use std::io::Read; +use tendermint_rpc::{HttpClient, Url}; use toml::Value; use crate::prelude::*; @@ -31,3 +39,36 @@ pub fn get_namada_denom_address( Ok(denom_address) } + +pub async fn query_consensus_states( + rpc_address: Url, + client_id: &ClientId, +) -> Result, Error> { + // convert to that of ibc-rs + let client_id = client_id + .to_string() + .parse() + .expect("Client ID conversion shouldn't fail"); + let prefix = consensus_state_prefix(&client_id); + let mut states = vec![]; + for PrefixValue { key, value } in query_ibc_prefix(rpc_address, &prefix).await? { + let height = consensus_height(&key).expect("Key should have the height"); + let state = AnyConsensusStateWithHeight { + height: Height::new(height.revision_number(), height.revision_height()).unwrap(), + consensus_state: AnyConsensusState::decode_vec(&value) + .map_err(|_| Error::query_client())?, + }; + states.push(state); + } + Ok(states) +} + +async fn query_ibc_prefix(rpc_address: Url, prefix: &Key) -> Result, Error> { + let client = HttpClient::new(rpc_address).expect("Failed to make a RPC client"); + let response = RPC + .shell() + .storage_prefix(&client, None, None, false, &prefix) + .await + .map_err(|e| eyre!("Namada query with prefix failed: {e}"))?; + Ok(response.data) +} From b20f474ecbb97fa4add7f97366a22ea39e8c43ee Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 14 Jun 2024 11:40:41 +0200 Subject: [PATCH 045/103] WIP: fixing integration test with Namada --- Cargo.lock | 1 + .../src/tests/consensus_states.rs | 2 +- tools/integration-test/src/tests/memo.rs | 52 ++++++--- tools/test-framework/Cargo.toml | 1 + tools/test-framework/src/bootstrap/namada.rs | 4 +- .../test-framework/src/chain/ext/transfer.rs | 78 +++++++++---- tools/test-framework/src/relayer/transfer.rs | 67 +++++++---- tools/test-framework/src/util/namada.rs | 110 +++++++++++++++++- 8 files changed, 244 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fcb744674f..e686301abe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3403,6 +3403,7 @@ dependencies = [ "serde_yaml", "sha2 0.10.8", "subtle-encoding", + "tendermint", "tendermint-rpc", "tokio", "toml 0.8.13", diff --git a/tools/integration-test/src/tests/consensus_states.rs b/tools/integration-test/src/tests/consensus_states.rs index e8145a466f..845a7e67fc 100644 --- a/tools/integration-test/src/tests/consensus_states.rs +++ b/tools/integration-test/src/tests/consensus_states.rs @@ -54,7 +54,7 @@ impl BinaryChainTest for ConsensusStateHeights { let states = match chains.handle_b().config().expect("Config should exist") { ChainConfig::Namada(config) => chains.node_b.value().chain_driver.runtime.block_on( - namada::query_consensus_states(config.rpc_addr, *chains.client_id_b().value()), + namada::query_consensus_states(config.rpc_addr, chains.client_id_b().value()), )?, _ => { let grpc_address = chains diff --git a/tools/integration-test/src/tests/memo.rs b/tools/integration-test/src/tests/memo.rs index b39b24636e..ad49db460b 100644 --- a/tools/integration-test/src/tests/memo.rs +++ b/tools/integration-test/src/tests/memo.rs @@ -6,6 +6,7 @@ use ibc_relayer::config::types::Memo; use ibc_relayer::config::ChainConfig; +use ibc_test_framework::util::namada::query_receive_tx_memo; use serde_json as json; use ibc_test_framework::prelude::*; @@ -80,12 +81,7 @@ impl BinaryChannelTest for MemoTest { &denom_b.with_amount(a_to_b_amount).as_ref(), )?; - let tx_info = chains - .node_b - .chain_driver() - .query_recipient_transactions(&chains.node_b.wallets().user1().address())?; - - assert_tx_memo_equals(&tx_info, self.memo.as_str())?; + assert_tx_memo_equals(&chains, &channel, self.memo.as_str())?; Ok(()) } @@ -145,18 +141,13 @@ impl BinaryChannelTest for MemoOverwriteTest { &denom_b.with_amount(a_to_b_amount).as_ref(), )?; - let tx_info = chains - .node_b - .chain_driver() - .query_recipient_transactions(&chains.node_b.wallets().user1().address())?; - - assert_tx_memo_equals(&tx_info, OVERWRITE_MEMO)?; + assert_tx_memo_equals(&chains, &channel, OVERWRITE_MEMO)?; Ok(()) } } -fn assert_tx_memo_equals(tx_info: &json::Value, expected_memo: &str) -> Result<(), Error> { +fn get_tx_memo(tx_info: &json::Value) -> Result { debug!("comparing memo field from json value {}", tx_info); let memo_field = &tx_info["txs"][0]["tx"]["body"]["memo"]; @@ -167,7 +158,40 @@ fn assert_tx_memo_equals(tx_info: &json::Value, expected_memo: &str) -> Result<( .as_str() .ok_or_else(|| eyre!("expect memo string field to be present in JSON"))?; - assert_eq!(memo_str, expected_memo); + Ok(memo_str.to_string()) +} + +fn assert_tx_memo_equals( + chains: &ConnectedChains, + channel: &ConnectedChannel, + expected_memo: &str, +) -> Result<(), Error> { + let memo = match chains.handle_b().config().expect("Config should exist") { + ChainConfig::Namada(config) => { + chains + .node_b + .chain_driver() + .value() + .runtime + .block_on(query_receive_tx_memo( + config.rpc_addr, + channel.port_a.value(), + channel.channel_id_a.value(), + channel.port_b.value(), + channel.channel_id_b.value(), + 1.into(), + ))? + } + _ => { + let tx_info = chains + .node_b + .chain_driver() + .query_recipient_transactions(&chains.node_b.wallets().user1().address())?; + + get_tx_memo(&tx_info)? + } + }; + assert_eq!(memo, expected_memo); Ok(()) } diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index f04af16889..a32b544e44 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -20,6 +20,7 @@ ibc-relayer-cli = { workspace = true } ibc-proto = { workspace = true, features = ["serde"] } namada_ibc = { workspace = true } namada_sdk = { workspace = true } +tendermint = { workspace = true } tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } color-eyre = { workspace = true } diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index d2bfb61371..91759881ad 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -58,9 +58,9 @@ pub fn bootstrap_namada_node( simple_exec("namada", "sh", &["-c", ©_loop])?; chain_driver.update_chain_config("templates/parameters.toml", |parameters| { - config::namada::set_default_mint_limit(parameters, 1000000000)?; + config::namada::set_default_mint_limit(parameters, i64::MAX)?; config::namada::set_epochs_per_year(parameters, 31536)?; - config::namada::set_default_per_epoch_throughput_limit(parameters, 10000000000)?; + config::namada::set_default_per_epoch_throughput_limit(parameters, i64::MAX)?; Ok(()) })?; diff --git a/tools/test-framework/src/chain/ext/transfer.rs b/tools/test-framework/src/chain/ext/transfer.rs index 8d7c618e4e..2bc0864e6c 100644 --- a/tools/test-framework/src/chain/ext/transfer.rs +++ b/tools/test-framework/src/chain/ext/transfer.rs @@ -106,6 +106,8 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged { let rpc_client = self.rpc_client()?; @@ -134,18 +136,38 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, timeout: Option, ) -> Result<(), Error> { - let rpc_client = self.rpc_client()?; - self.value().runtime.block_on(ibc_token_transfer( - rpc_client.as_ref(), - &self.tx_config(), - port_id, - channel_id, - sender, - recipient, - token, - memo, - timeout, - )) + match self.value().chain_type { + ChainType::Namada => { + let denom = token.value().denom.to_string(); + let amount = token.value().amount.to_string(); + let rpc_port = self.value().rpc_port.to_string(); + ibc_namada_token_transfer( + &self.value().home_path, + &sender.value().id.to_string(), + recipient.value().as_str(), + &denom, + &amount, + channel_id.value().as_ref(), + &rpc_port, + memo, + timeout, + ) + } + _ => { + let rpc_client = self.rpc_client()?; + self.value().runtime.block_on(ibc_token_transfer( + rpc_client.as_ref(), + &self.tx_config(), + port_id, + channel_id, + sender, + recipient, + token, + memo, + timeout, + )) + } + } } fn ibc_transfer_token_multiple( @@ -158,7 +180,6 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged, ) -> Result<(), Error> { - let rpc_client = self.rpc_client()?; match self.value().chain_type { ChainType::Namada => { let denom = token.value().denom.to_string(); @@ -174,21 +195,26 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged self.value().runtime.block_on(batched_ibc_token_transfer( - rpc_client.as_ref(), - &self.tx_config(), - port_id, - channel_id, - sender, - recipient, - token, - num_msgs, - memo, - )), + _ => { + let rpc_client = self.rpc_client()?; + self.value().runtime.block_on(batched_ibc_token_transfer( + rpc_client.as_ref(), + &self.tx_config(), + port_id, + channel_id, + sender, + recipient, + token, + num_msgs, + memo, + )) + } } } @@ -207,7 +233,7 @@ impl<'a, Chain: Send> ChainTransferMethodsExt for MonoTagged ChainTransferMethodsExt for MonoTagged { diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index e027e6bd9a..809bb056e8 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -7,6 +7,7 @@ use core::ops::Add; use core::time::Duration; use eyre::eyre; use ibc_relayer_types::events::IbcEvent; +use std::io::Write; use ibc_proto::google::protobuf::Any; use ibc_relayer::chain::cosmos::tx::batched_send_tx; @@ -170,31 +171,49 @@ pub fn ibc_namada_token_transfer( amount: &str, channel_id: &str, rpc_port: &str, + memo: Option, + timeout: Option, ) -> Result<(), Error> { - simple_exec( - "namada transfer", - "namadac", - &[ - //"client", - "--base-dir", - home_path, - "ibc-transfer", - "--source", - sender, - "--receiver", - receiver, - "--token", - denom, - "--amount", - amount, - "--signing-keys", - &format!("{sender}-key"), - "--channel-id", - channel_id, - "--node", - &format!("http://127.0.0.1:{rpc_port}"), - ], - )?; + let signing_key = format!("{sender}-key"); + let node = format!("http://127.0.0.1:{rpc_port}"); + let mut args = vec![ + "--base-dir", + home_path, + "ibc-transfer", + "--source", + sender, + "--receiver", + receiver, + "--token", + denom, + "--amount", + amount, + "--signing-keys", + &signing_key, + "--channel-id", + channel_id, + "--node", + &node, + ]; + + let path = format!("{home_path}/memo.txt"); + if let Some(memo) = memo { + let mut memo_file = std::fs::File::create(&path).expect("Creating a memo file failed"); + memo_file + .write_all(memo.as_bytes()) + .expect("Writing memo failed"); + args.push("--memo-path"); + args.push(&path); + } + + let timeout_str; + if let Some(timeout) = timeout { + args.push("--timeout-sec-offset"); + timeout_str = timeout.as_secs().to_string(); + args.push(&timeout_str); + } + + simple_exec("namada transfer", "namadac", &args)?; Ok(()) } diff --git a/tools/test-framework/src/util/namada.rs b/tools/test-framework/src/util/namada.rs index 4c9f4679e2..c8f8944c40 100644 --- a/tools/test-framework/src/util/namada.rs +++ b/tools/test-framework/src/util/namada.rs @@ -1,13 +1,18 @@ use ibc_proto::Protobuf; use ibc_relayer::consensus_state::{AnyConsensusState, AnyConsensusStateWithHeight}; -use ibc_relayer_types::core::ics24_host::identifier::ClientId; +use ibc_relayer_types::core::ics04_channel::packet::Sequence; +use ibc_relayer_types::core::ics24_host::identifier::{ChannelId, ClientId, PortId}; +use ibc_relayer_types::events::IbcEventType; use ibc_relayer_types::Height; +use itertools::Itertools; use namada_ibc::storage::{consensus_height, consensus_state_prefix}; +use namada_sdk::events::extend::Height as HeightAttr; use namada_sdk::queries::RPC; use namada_sdk::storage::{Key, PrefixValue}; +use namada_sdk::tx::Tx; use std::fs::File; use std::io::Read; -use tendermint_rpc::{HttpClient, Url}; +use tendermint_rpc::{Client, HttpClient, Url}; use toml::Value; use crate::prelude::*; @@ -51,7 +56,7 @@ pub async fn query_consensus_states( .expect("Client ID conversion shouldn't fail"); let prefix = consensus_state_prefix(&client_id); let mut states = vec![]; - for PrefixValue { key, value } in query_ibc_prefix(rpc_address, &prefix).await? { + for PrefixValue { key, value } in query_prefix(rpc_address, &prefix).await? { let height = consensus_height(&key).expect("Key should have the height"); let state = AnyConsensusStateWithHeight { height: Height::new(height.revision_number(), height.revision_height()).unwrap(), @@ -63,12 +68,107 @@ pub async fn query_consensus_states( Ok(states) } -async fn query_ibc_prefix(rpc_address: Url, prefix: &Key) -> Result, Error> { +async fn query_prefix(rpc_address: Url, prefix: &Key) -> Result, Error> { let client = HttpClient::new(rpc_address).expect("Failed to make a RPC client"); let response = RPC .shell() - .storage_prefix(&client, None, None, false, &prefix) + .storage_prefix(&client, None, None, false, prefix) .await .map_err(|e| eyre!("Namada query with prefix failed: {e}"))?; Ok(response.data) } + +pub async fn query_receive_tx_memo( + rpc_address: Url, + src_port_id: &PortId, + src_channel_id: &ChannelId, + dst_port_id: &PortId, + dst_channel_id: &ChannelId, + sequence: Sequence, +) -> Result { + let client = HttpClient::new(rpc_address).expect("Failed to make a RPC client"); + let height = query_write_ack_packet_height( + &client, + src_port_id, + src_channel_id, + dst_port_id, + dst_channel_id, + sequence, + ) + .await?; + + let response = client + .block(height) + .await + .map_err(|e| eyre!("Query a block failed: {e}"))?; + let memo: Vec = response + .block + .data + .iter() + .flat_map(|tx_bytes| { + let tx = Tx::try_from(&tx_bytes[..]) + .map_err(|e| e.to_string()) + .expect("Decoding tx failed"); + let memo: Vec = tx + .header() + .batch + .iter() + .filter_map(|cmt| { + tx.memo(cmt) + .map(|memo_bytes| String::from_utf8_lossy(&memo_bytes).to_string()) + }) + .collect(); + memo + }) + .collect(); + + // All memo should be the same for now + assert!(memo.iter().all_equal()); + + let memo = memo.first().ok_or_else(|| eyre!("No memo field"))?; + Ok(memo.to_string()) +} + +async fn query_write_ack_packet_height( + client: &HttpClient, + src_port_id: &PortId, + src_channel_id: &ChannelId, + dst_port_id: &PortId, + dst_channel_id: &ChannelId, + sequence: Sequence, +) -> Result { + let event = RPC + .shell() + .ibc_packet( + client, + &IbcEventType::WriteAck + .as_str() + .parse() + .expect("IbcEventType should be parsable"), + &src_port_id + .as_str() + .parse() + .expect("PortId should be parsable"), + &src_channel_id + .as_str() + .parse() + .expect("ChannelId should be parsable"), + &dst_port_id + .as_str() + .parse() + .expect("PortId should be parsable"), + &dst_channel_id + .as_str() + .parse() + .expect("ChannelId should be parsable"), + &u64::from(sequence).into(), + ) + .await + .map_err(|e| eyre!("Namada packet query failed: {e}"))? + .ok_or_else(|| eyre!("No write ack event"))?; + let height = event + .read_attribute::() + .expect("Height should exist"); + + Ok(Height::new(0, height.0).expect("Height conversion shouldn't fail")) +} From baa36f31e715e47de624b3a38421e7fdf7e09b4e Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 14 Jun 2024 14:07:19 +0200 Subject: [PATCH 046/103] fixed some integration tests with Namada --- tools/integration-test/src/tests/mod.rs | 3 ++ .../src/tests/tendermint/sequential.rs | 11 +++++ .../src/tests/ternary_transfer.rs | 2 +- .../src/framework/nary/chain.rs | 10 +++-- .../src/framework/nary/channel.rs | 10 +++-- .../src/framework/nary/connection.rs | 7 +++- .../test-framework/src/framework/nary/node.rs | 42 ++++++++++++++----- tools/test-framework/src/ibc/denom.rs | 3 +- 8 files changed, 67 insertions(+), 21 deletions(-) diff --git a/tools/integration-test/src/tests/mod.rs b/tools/integration-test/src/tests/mod.rs index 926f2911a9..524334af78 100644 --- a/tools/integration-test/src/tests/mod.rs +++ b/tools/integration-test/src/tests/mod.rs @@ -17,11 +17,14 @@ pub mod consensus_states; pub mod denom_trace; pub mod error_events; pub mod execute_schedule; +#[cfg(not(feature = "namada"))] pub mod handshake_on_start; pub mod ics20_filter; pub mod memo; +#[cfg(not(feature = "namada"))] pub mod python; pub mod query_packet; +#[cfg(not(feature = "namada"))] pub mod supervisor; pub mod tendermint; #[cfg(not(any(feature = "celestia")))] diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 00b5fe6e19..82569e09ec 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -13,6 +13,8 @@ const TOTAL_MESSAGES: usize = MESSAGES_PER_BATCH * TOTAL_TRANSACTIONS; const BLOCK_TIME_MILLIS: u64 = 1000; const BLOCK_TIME: Duration = Duration::from_millis(BLOCK_TIME_MILLIS); +// TODO: Need batching transactions +#[cfg(not(feature = "namada"))] #[test] fn test_sequential_commit() -> Result<(), Error> { run_binary_channel_test(&SequentialCommitTest) @@ -22,6 +24,15 @@ pub struct SequentialCommitTest; impl TestOverrides for SequentialCommitTest { fn modify_node_config(&self, config: &mut toml::Value) -> Result<(), Error> { + let config = if let Some(config) = config.get_mut("ledger") { + // Namada + config + .get_mut("cometbft") + .ok_or_else(|| eyre!("expect cometbft section"))? + } else { + config + }; + config::cosmos::set_timeout_commit(config, BLOCK_TIME)?; config::cosmos::set_timeout_propose(config, BLOCK_TIME)?; diff --git a/tools/integration-test/src/tests/ternary_transfer.rs b/tools/integration-test/src/tests/ternary_transfer.rs index b4e2ffb260..e3324d3242 100644 --- a/tools/integration-test/src/tests/ternary_transfer.rs +++ b/tools/integration-test/src/tests/ternary_transfer.rs @@ -131,7 +131,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { let channel_c_to_a = channels.channel_at::<2, 0>()?; let denom_a_to_c_to_a = derive_ibc_denom( - &node_a.chain_driver().value().chain_type, + &node_b.chain_driver().value().chain_type, &channel_c_to_a.port_b.as_ref(), &channel_c_to_a.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), diff --git a/tools/test-framework/src/framework/nary/chain.rs b/tools/test-framework/src/framework/nary/chain.rs index 392114cc5e..756d4f4745 100644 --- a/tools/test-framework/src/framework/nary/chain.rs +++ b/tools/test-framework/src/framework/nary/chain.rs @@ -12,7 +12,9 @@ use crate::bootstrap::nary::chain::{ use crate::error::Error; use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::node::{run_nary_node_test, NaryNodeTest}; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; use crate::relayer::driver::RelayerDriver; @@ -48,7 +50,8 @@ where + NodeConfigOverride + NodeGenesisOverride + RelayerConfigOverride - + SupervisorOverride, + + SupervisorOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunWithSupervisor::new(test))) } @@ -77,7 +80,8 @@ where + NodeConfigOverride + NodeGenesisOverride + RelayerConfigOverride - + SupervisorOverride, + + SupervisorOverride + + NamadaParametersOverride, { run_nary_node_test(&RunSelfConnectedNaryChainTest::new( &RunWithSupervisor::new(test), diff --git a/tools/test-framework/src/framework/nary/channel.rs b/tools/test-framework/src/framework/nary/channel.rs index cd7ccdfe78..219d507792 100644 --- a/tools/test-framework/src/framework/nary/channel.rs +++ b/tools/test-framework/src/framework/nary/channel.rs @@ -14,7 +14,9 @@ use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; use crate::framework::binary::channel::{BinaryChannelTest, ChannelOrderOverride}; use crate::framework::binary::connection::ConnectionDelayOverride; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::chain::RunNaryChainTest; use crate::framework::nary::connection::{NaryConnectionTest, RunNaryConnectionTest}; use crate::framework::nary::node::run_nary_node_test; @@ -38,7 +40,8 @@ where + SupervisorOverride + ConnectionDelayOverride + PortsOverride - + ChannelOrderOverride, + + ChannelOrderOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new( &RunNaryChannelTest::new(&RunWithSupervisor::new(test)), @@ -56,7 +59,8 @@ where + SupervisorOverride + ConnectionDelayOverride + PortsOverride<2> - + ChannelOrderOverride, + + ChannelOrderOverride + + NamadaParametersOverride, { run_nary_channel_test(&RunBinaryAsNaryChannelTest::new(test)) } diff --git a/tools/test-framework/src/framework/nary/connection.rs b/tools/test-framework/src/framework/nary/connection.rs index 485b2ecd1b..a58b3a0eec 100644 --- a/tools/test-framework/src/framework/nary/connection.rs +++ b/tools/test-framework/src/framework/nary/connection.rs @@ -12,7 +12,9 @@ use crate::error::Error; use crate::framework::base::{HasOverrides, TestConfigOverride}; use crate::framework::binary::chain::RelayerConfigOverride; use crate::framework::binary::connection::{BinaryConnectionTest, ConnectionDelayOverride}; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::framework::nary::chain::{NaryChainTest, RunNaryChainTest}; use crate::framework::nary::node::run_nary_node_test; use crate::framework::supervisor::{RunWithSupervisor, SupervisorOverride}; @@ -34,7 +36,8 @@ where + NodeGenesisOverride + RelayerConfigOverride + SupervisorOverride - + ConnectionDelayOverride, + + ConnectionDelayOverride + + NamadaParametersOverride, { run_nary_node_test(&RunNaryChainTest::new(&RunNaryConnectionTest::new( &RunWithSupervisor::new(test), diff --git a/tools/test-framework/src/framework/nary/node.rs b/tools/test-framework/src/framework/nary/node.rs index cea7c81ac4..664ac67328 100644 --- a/tools/test-framework/src/framework/nary/node.rs +++ b/tools/test-framework/src/framework/nary/node.rs @@ -3,12 +3,15 @@ running without setting up the relayer. */ +use crate::bootstrap::namada::bootstrap_namada_node; use crate::bootstrap::single::bootstrap_single_node; use crate::chain::builder::ChainBuilder; use crate::error::Error; use crate::framework::base::HasOverrides; use crate::framework::base::{run_basic_test, BasicTest, TestConfigOverride}; -use crate::framework::binary::node::{NodeConfigOverride, NodeGenesisOverride}; +use crate::framework::binary::node::{ + NamadaParametersOverride, NodeConfigOverride, NodeGenesisOverride, +}; use crate::types::config::TestConfig; use crate::types::single::node::FullNode; use crate::util::array::try_into_array; @@ -17,7 +20,8 @@ pub fn run_nary_node_test(test: &Test) -> Re where Test: NaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride + TestConfigOverride, + Overrides: + NodeConfigOverride + NodeGenesisOverride + TestConfigOverride + NamadaParametersOverride, { run_basic_test(&RunNaryNodeTest { test }) } @@ -49,21 +53,37 @@ impl<'a, Test, Overrides, const SIZE: usize> BasicTest for RunNaryNodeTest<'a, T where Test: NaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride, + Overrides: NodeConfigOverride + NodeGenesisOverride + NamadaParametersOverride, { fn run(&self, config: &TestConfig, builder: &ChainBuilder) -> Result<(), Error> { let mut nodes = Vec::new(); let mut node_processes = Vec::new(); for i in 0..SIZE { - let node = bootstrap_single_node( - builder, - &format!("{}", i + 1), - config.bootstrap_with_random_ids, - |config| self.test.get_overrides().modify_node_config(config), - |genesis| self.test.get_overrides().modify_genesis_file(genesis), - i, - )?; + let node = if builder.command_paths.contains(&"namada".to_string()) { + bootstrap_namada_node( + builder, + &format!("{}", i + 1), + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + |parameters| { + self.test + .get_overrides() + .namada_modify_parameter_file(parameters) + }, + i, + )? + } else { + bootstrap_single_node( + builder, + &format!("{}", i + 1), + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + i, + )? + }; node_processes.push(node.process.clone()); nodes.push(node); diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index 891f37d1d7..e22fa87994 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -133,7 +133,8 @@ fn derive_namada_ibc_denom( } Denom::Ibc { path, denom, .. } => { let new_path = format!("{port_id}/{channel_id}/{path}"); - let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{new_path}/{denom}")); + let ibc_token_addr = + namada_ibc::storage::ibc_token(format!("{new_path}/{}", denom.hash_only())); Ok(MonoTagged::new(Denom::Ibc { path: new_path, From 947856f195d2e3627c49e696493f0ef80a3f7b26 Mon Sep 17 00:00:00 2001 From: Yuji Ito Date: Fri, 31 May 2024 17:15:45 +0200 Subject: [PATCH 047/103] Batching Namada transactions (#31) * for tx batching * remove send_tx * refactoring * fix error handling --- Cargo.lock | 1807 +++++++++------------- crates/relayer/src/chain/cosmos/batch.rs | 2 +- crates/relayer/src/chain/namada.rs | 43 +- crates/relayer/src/chain/namada/query.rs | 22 +- crates/relayer/src/chain/namada/tx.rs | 164 +- 5 files changed, 833 insertions(+), 1205 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e686301abe..783f5a4326 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,7 +33,7 @@ dependencies = [ "termcolor", "toml 0.5.11", "tracing", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "wait-timeout", ] @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if", "cipher", @@ -93,16 +93,16 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -173,15 +173,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" [[package]] name = "ark-bls12-381" @@ -204,7 +204,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "zeroize", ] @@ -220,7 +220,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "paste", "rustc_version 0.3.3", "zeroize", @@ -243,7 +243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "quote", "syn 1.0.109", ] @@ -264,7 +264,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "rand 0.8.5", ] @@ -280,15 +280,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "async-stream" version = "0.3.5" @@ -308,7 +299,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -319,7 +310,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -336,7 +327,7 @@ dependencies = [ "rustls-pki-types", "tokio", "tokio-rustls 0.25.0", - "tungstenite 0.21.0", + "tungstenite", ] [[package]] @@ -363,20 +354,21 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" dependencies = [ + "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 1.0.109", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" @@ -389,7 +381,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "itoa", @@ -419,7 +411,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.12", + "http 0.2.9", "http-body", "mime", "rustversion", @@ -429,9 +421,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -474,9 +466,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" [[package]] name = "bech32" @@ -535,21 +527,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bitcoin" version = "0.31.2" @@ -629,7 +606,7 @@ checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -640,7 +617,7 @@ checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -653,7 +630,7 @@ dependencies = [ "arrayvec", "cc", "cfg-if", - "constant_time_eq 0.3.0", + "constant_time_eq", ] [[package]] @@ -699,11 +676,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" dependencies = [ - "borsh-derive 1.5.1", + "borsh-derive 1.2.1", "cfg_aliases", ] @@ -722,15 +699,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" dependencies = [ "once_cell", - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", "syn_derive", ] @@ -750,7 +727,7 @@ name = "borsh-ext" version = "1.2.0" source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", ] [[package]] @@ -776,9 +753,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byte-slice-cast" @@ -804,39 +781,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" dependencies = [ "serde", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "camino" -version = "1.1.7" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -849,18 +805,18 @@ checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.18.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" dependencies = [ "camino", "cargo-platform", @@ -881,13 +837,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.98" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", - "once_cell", ] [[package]] @@ -898,9 +852,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.2.1" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chacha20" @@ -928,16 +882,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.48.5", ] [[package]] @@ -992,7 +946,7 @@ version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro-error", "proc-macro2", "quote", @@ -1062,9 +1016,9 @@ dependencies = [ [[package]] name = "color-eyre" -version = "0.6.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" +checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" dependencies = [ "backtrace", "color-spantrace", @@ -1077,9 +1031,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" +checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" dependencies = [ "once_cell", "owo-colors", @@ -1095,22 +1049,22 @@ checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "console" -version = "0.15.8" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.52.0", + "windows-sys 0.45.0", ] [[package]] name = "const-hex" -version = "1.12.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" dependencies = [ "cfg-if", "cpufeatures", @@ -1121,9 +1075,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.6" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "const_panic" @@ -1131,12 +1085,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "constant_time_eq" version = "0.3.0" @@ -1156,9 +1104,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -1166,28 +1114,19 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -1197,23 +1136,17 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ + "autocfg", + "cfg-if", "crossbeam-utils", + "memoffset", + "scopeguard", ] [[package]] @@ -1230,9 +1163,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1277,9 +1210,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if", "cpufeatures", @@ -1294,13 +1227,13 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -1323,7 +1256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.5", + "hashbrown 0.14.1", "lock_api", "once_cell", "parking_lot_core", @@ -1331,15 +1264,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "der" -version = "0.7.9" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "zeroize", @@ -1347,9 +1280,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ "powerfmt", ] @@ -1422,16 +1355,7 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1455,18 +1379,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1486,7 +1398,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -1506,7 +1418,7 @@ dependencies = [ "serde", "thiserror", "time", - "winnow 0.6.9", + "winnow 0.6.8", ] [[package]] @@ -1517,9 +1429,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.16.9" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ "der", "digest 0.10.7", @@ -1558,16 +1470,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle", "zeroize", ] @@ -1585,15 +1496,15 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -1609,15 +1520,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ena" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" -dependencies = [ - "log", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -1626,18 +1528,18 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] [[package]] name = "enr" -version = "0.10.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" +checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" dependencies = [ "base64 0.21.7", "bytes", @@ -1794,9 +1696,9 @@ dependencies = [ [[package]] name = "ethers" -version = "2.0.14" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" dependencies = [ "ethers-addressbook", "ethers-contract", @@ -1805,14 +1707,13 @@ dependencies = [ "ethers-middleware", "ethers-providers", "ethers-signers", - "ethers-solc", ] [[package]] name = "ethers-addressbook" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" +checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" dependencies = [ "ethers-core", "once_cell", @@ -1822,9 +1723,9 @@ dependencies = [ [[package]] name = "ethers-contract" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" +checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" dependencies = [ "const-hex", "ethers-contract-abigen", @@ -1841,33 +1742,31 @@ dependencies = [ [[package]] name = "ethers-contract-abigen" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" +checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" dependencies = [ "Inflector", "const-hex", "dunce", "ethers-core", - "ethers-etherscan", "eyre", "prettyplease", "proc-macro2", "quote", "regex", - "reqwest", "serde", "serde_json", - "syn 2.0.66", - "toml 0.8.13", + "syn 2.0.53", + "toml 0.7.8", "walkdir", ] [[package]] name = "ethers-contract-derive" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" +checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" dependencies = [ "Inflector", "const-hex", @@ -1876,14 +1775,14 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "ethers-core" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" +checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" dependencies = [ "arrayvec", "bytes", @@ -1901,8 +1800,8 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum 0.26.2", - "syn 2.0.66", + "strum", + "syn 2.0.53", "tempfile", "thiserror", "tiny-keccak", @@ -1911,11 +1810,10 @@ dependencies = [ [[package]] name = "ethers-etherscan" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" +checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" dependencies = [ - "chrono", "ethers-core", "reqwest", "semver 1.0.23", @@ -1927,9 +1825,9 @@ dependencies = [ [[package]] name = "ethers-middleware" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" +checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" dependencies = [ "async-trait", "auto_impl", @@ -1954,9 +1852,9 @@ dependencies = [ [[package]] name = "ethers-providers" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" +checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" dependencies = [ "async-trait", "auto_impl", @@ -1969,7 +1867,7 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http 0.2.12", + "http 0.2.9", "instant", "jsonwebtoken", "once_cell", @@ -1979,7 +1877,6 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tokio-tungstenite", "tracing", "tracing-futures", "url", @@ -1991,9 +1888,9 @@ dependencies = [ [[package]] name = "ethers-signers" -version = "2.0.14" +version = "2.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" +checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" dependencies = [ "async-trait", "coins-bip32", @@ -2008,38 +1905,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "ethers-solc" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" -dependencies = [ - "cfg-if", - "const-hex", - "dirs", - "dunce", - "ethers-core", - "glob", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver 1.0.23", - "serde", - "serde_json", - "solang-parser", - "svm-rs", - "thiserror", - "tiny-keccak", - "tokio", - "tracing", - "walkdir", - "yansi", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2052,9 +1917,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fd-lock" @@ -2080,9 +1945,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.9" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" [[package]] name = "fixed-hash" @@ -2102,16 +1967,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flex-error" version = "0.4.4" @@ -2130,9 +1985,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2148,27 +2003,14 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] [[package]] name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - -[[package]] -name = "fs2" -version = "0.4.3" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" [[package]] name = "funty" @@ -2178,9 +2020,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -2193,9 +2035,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -2203,15 +2045,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -2220,9 +2062,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-locks" @@ -2236,32 +2078,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" -version = "3.0.3" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" dependencies = [ "gloo-timers", "send_wrapper 0.4.0", @@ -2269,9 +2111,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -2320,9 +2162,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -2333,15 +2175,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "glob" -version = "0.3.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gloo-timers" @@ -2398,7 +2234,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.12", + "http 0.2.9", "indexmap 2.2.6", "slab", "tokio", @@ -2408,9 +2244,9 @@ dependencies = [ [[package]] name = "half" -version = "1.8.3" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "hashbrown" @@ -2423,9 +2259,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" [[package]] name = "hashers" @@ -2451,12 +2287,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hermit-abi" version = "0.1.19" @@ -2468,9 +2298,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2517,18 +2347,18 @@ checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" [[package]] name = "home" -version = "0.5.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "http" -version = "0.2.12" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2548,12 +2378,12 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http 0.2.12", + "http 0.2.9", "pin-project-lite", ] @@ -2587,22 +2417,22 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2611,14 +2441,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", - "http 0.2.12", + "http 0.2.9", "hyper", - "rustls 0.21.12", + "rustls 0.21.7", "tokio", "tokio-rustls 0.24.1", ] @@ -2637,9 +2467,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2747,12 +2577,12 @@ dependencies = [ [[package]] name = "ibc-chain-registry" -version = "0.28.0" +version = "0.27.2" dependencies = [ "async-trait", "flex-error", "futures", - "http 0.2.12", + "http 0.2.9", "ibc-proto", "ibc-relayer-types", "itertools 0.12.1", @@ -3131,15 +2961,15 @@ checksum = "23d961d2194fd5229961835d2eb78091906ef8afbaaa55bce7ad41bf3ead8aa9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "ibc-integration-test" -version = "0.28.0" +version = "0.27.2" dependencies = [ "byte-unit", - "http 0.2.12", + "http 0.2.9", "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", @@ -3197,7 +3027,7 @@ dependencies = [ [[package]] name = "ibc-relayer" -version = "0.28.0" +version = "0.27.2" dependencies = [ "anyhow", "async-stream", @@ -3218,7 +3048,7 @@ dependencies = [ "generic-array", "hdpath", "hex", - "http 0.2.12", + "http 0.2.9", "humantime", "humantime-serde", "ibc-proto", @@ -3247,7 +3077,7 @@ dependencies = [ "serial_test", "sha2 0.10.8", "signature", - "strum 0.25.0", + "strum", "subtle-encoding", "tendermint", "tendermint-light-client", @@ -3271,7 +3101,7 @@ dependencies = [ [[package]] name = "ibc-relayer-cli" -version = "1.9.0" +version = "1.8.2" dependencies = [ "abscissa_core", "clap", @@ -3285,7 +3115,7 @@ dependencies = [ "flex-error", "futures", "hdpath", - "http 0.2.12", + "http 0.2.9", "humantime", "ibc-chain-registry", "ibc-relayer", @@ -3312,7 +3142,7 @@ dependencies = [ [[package]] name = "ibc-relayer-rest" -version = "0.28.0" +version = "0.27.2" dependencies = [ "axum", "crossbeam-channel", @@ -3328,7 +3158,7 @@ dependencies = [ [[package]] name = "ibc-relayer-types" -version = "0.28.0" +version = "0.27.2" dependencies = [ "bytes", "derive_more", @@ -3359,7 +3189,7 @@ dependencies = [ [[package]] name = "ibc-telemetry" -version = "0.28.0" +version = "0.27.2" dependencies = [ "axum", "dashmap", @@ -3378,7 +3208,7 @@ dependencies = [ [[package]] name = "ibc-test-framework" -version = "0.28.0" +version = "0.27.2" dependencies = [ "color-eyre", "crossbeam-channel", @@ -3386,14 +3216,12 @@ dependencies = [ "flex-error", "hdpath", "hex", - "http 0.2.12", + "http 0.2.9", "ibc-proto", "ibc-relayer", "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.12.1", - "namada_ibc", - "namada_sdk", "once_cell", "prost", "rand 0.8.5", @@ -3403,7 +3231,6 @@ dependencies = [ "serde_yaml", "sha2 0.10.8", "subtle-encoding", - "tendermint", "tendermint-rpc", "tokio", "toml 0.8.13", @@ -3439,9 +3266,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3463,7 +3290,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "uint", ] @@ -3516,7 +3343,7 @@ name = "index-set" version = "0.8.0" source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "serde", ] @@ -3535,9 +3362,9 @@ name = "indexmap" version = "2.2.4" source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547bd6ab04bbb16e060326a50ddaeb6c909" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.14.1", "serde", ] @@ -3548,7 +3375,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.14.1", ] [[package]] @@ -3572,9 +3399,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.13" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", ] @@ -3585,14 +3412,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is_terminal_polyfill" @@ -3620,24 +3447,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.31" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" -dependencies = [ - "libc", -] +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -3672,9 +3490,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ "cfg-if", "ecdsa", @@ -3687,9 +3505,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -3714,36 +3532,6 @@ dependencies = [ "typewit", ] -[[package]] -name = "lalrpop" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" -dependencies = [ - "ascii-canvas", - "bit-set", - "ena", - "itertools 0.11.0", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.8.3", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", - "walkdir", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" -dependencies = [ - "regex-automata 0.4.6", -] - [[package]] name = "lazy_static" version = "1.4.0" @@ -3763,33 +3551,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] -name = "libredox" -version = "0.1.3" +name = "linkme" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" dependencies = [ - "bitflags 2.5.0", - "libc", -] - -[[package]] -name = "linkme" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" -dependencies = [ - "linkme-impl", + "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.27" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" +checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -3800,9 +3578,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -3819,7 +3597,7 @@ name = "masp_note_encryption" version = "1.0.0" source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "chacha20", "chacha20poly1305", "cipher", @@ -3838,7 +3616,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh 1.5.1", + "borsh 1.2.1", "byteorder", "ff", "fpe", @@ -3850,7 +3628,7 @@ dependencies = [ "masp_note_encryption", "memuse", "nonempty", - "num-traits 0.2.19 (git+https://github.com/heliaxdev/num-traits?rev=3f3657caa34b8e116fdf3f8a3519c4ac29f012fe)", + "num-traits 0.2.19", "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", @@ -3867,7 +3645,7 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.15", + "getrandom 0.2.10", "group", "itertools 0.11.0", "jubjub", @@ -3895,20 +3673,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "md-5" -version = "0.10.6" +name = "memchr" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest 0.10.7", -] +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] -name = "memchr" -version = "2.7.2" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] [[package]] name = "memuse" @@ -3930,31 +3707,31 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] [[package]] name = "minreq" -version = "2.11.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" dependencies = [ "log", "once_cell", - "rustls 0.21.12", - "rustls-webpki 0.101.7", + "rustls 0.21.7", + "rustls-webpki 0.101.6", "webpki-roots", ] [[package]] name = "mio" -version = "0.8.11" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3983,16 +3760,16 @@ dependencies = [ [[package]] name = "multimap" -version = "0.10.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4004,7 +3781,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", "smooth-operator", @@ -4014,10 +3791,10 @@ dependencies = [ [[package]] name = "namada_core" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "bech32 0.8.1", - "borsh 1.5.1", + "borsh 1.2.1", "borsh-ext", "chrono", "data-encoding", @@ -4037,7 +3814,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "num256", "num_enum", "primitive-types", @@ -4061,9 +3838,9 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "ethabi", "ethers", "eyre", @@ -4093,9 +3870,9 @@ dependencies = [ [[package]] name = "namada_events" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4109,9 +3886,9 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "linkme", "namada_core", "namada_events", @@ -4124,9 +3901,9 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "itertools 0.12.1", "konst", "linkme", @@ -4147,9 +3924,9 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "ibc", "ibc-derive", "ics23", @@ -4177,7 +3954,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "data-encoding", "proc-macro2", @@ -4189,9 +3966,9 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "eyre", "ics23", "namada_core", @@ -4204,7 +3981,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "lazy_static", "linkme", @@ -4214,9 +3991,9 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -4226,9 +4003,9 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "data-encoding", "konst", "linkme", @@ -4242,7 +4019,7 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "once_cell", "serde", "smooth-operator", @@ -4253,7 +4030,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", ] @@ -4261,11 +4038,11 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "async-trait", "bimap", - "borsh 1.5.1", + "borsh 1.2.1", "borsh-ext", "circular-queue", "data-encoding", @@ -4297,7 +4074,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "num256", "orion", "owo-colors", @@ -4328,9 +4105,9 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "masp_primitives", "namada_controller", "namada_core", @@ -4346,9 +4123,9 @@ dependencies = [ [[package]] name = "namada_state" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "ics23", "itertools 0.12.1", "linkme", @@ -4374,9 +4151,9 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "itertools 0.12.1", "linkme", "namada_core", @@ -4394,7 +4171,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "namada_core", "namada_events", @@ -4406,7 +4183,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "konst", "namada_core", @@ -4417,11 +4194,11 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", - "borsh 1.5.1", + "borsh 1.2.1", "data-encoding", "konst", "linkme", @@ -4432,7 +4209,7 @@ dependencies = [ "namada_macros", "namada_migrations", "num-derive 0.4.2", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "prost", "prost-types", "serde", @@ -4445,9 +4222,9 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.37.0" -source = "git+https://github.com/anoma/namada?tag=v0.37.0#6dc16129eda690956c31a22dff3a23ed0428fa9e" +source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "linkme", "namada_core", "namada_macros", @@ -4456,12 +4233,6 @@ dependencies = [ "serde", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - [[package]] name = "nonempty" version = "0.7.0" @@ -4480,44 +4251,39 @@ dependencies = [ [[package]] name = "num" -version = "0.4.3" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ + "autocfg", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "serde", ] [[package]] name = "num-complex" -version = "0.4.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-derive" version = "0.3.3" @@ -4537,46 +4303,48 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "num-integer" -version = "0.1.46" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg", + "num-traits 0.2.17", ] [[package]] name = "num-iter" -version = "0.1.45" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] [[package]] name = "num-rational" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ + "autocfg", "num-bigint", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "serde", ] [[package]] name = "num-traits" -version = "0.2.19" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", @@ -4599,7 +4367,7 @@ dependencies = [ "lazy_static", "num", "num-derive 0.3.3", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "serde", "serde_derive", ] @@ -4610,36 +4378,36 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.3.3", "libc", ] [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "object" -version = "0.32.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -4661,9 +4429,9 @@ dependencies = [ [[package]] name = "opaque-debug" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "open-fastrlp" @@ -4753,12 +4521,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "orion" version = "0.16.1" @@ -4766,7 +4528,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.15", + "getrandom 0.2.10", "subtle", "zeroize", ] @@ -4800,9 +4562,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ "arrayvec", "bitvec", @@ -4814,11 +4576,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -4826,9 +4588,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", "parking_lot_core", @@ -4836,26 +4598,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", - "windows-targets 0.52.5", -] - -[[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", + "windows-targets 0.48.5", ] [[package]] @@ -4884,15 +4635,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.15" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "patricia_tree" @@ -4919,9 +4664,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", - "password-hash 0.4.2", - "sha2 0.10.8", ] [[package]] @@ -4932,7 +4674,7 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac 0.12.1", - "password-hash 0.5.0", + "password-hash", ] [[package]] @@ -4973,15 +4715,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -4990,9 +4732,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -5008,82 +4750,31 @@ dependencies = [ "rustc_version 0.4.0", ] -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared 0.11.2", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -5101,17 +4792,11 @@ dependencies = [ "spki", ] -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - [[package]] name = "platforms" -version = "3.4.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" [[package]] name = "poly1305" @@ -5136,20 +4821,14 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -5177,11 +4856,21 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_edit 0.21.1", + "toml_edit 0.20.2", ] [[package]] @@ -5210,9 +4899,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.84" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -5234,25 +4923,25 @@ dependencies = [ [[package]] name = "proptest" -version = "1.4.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.3", + "regex-syntax 0.7.5", "unarray", ] [[package]] name = "prost" -version = "0.12.6" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", "prost-derive", @@ -5260,13 +4949,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", - "heck 0.4.1", - "itertools 0.12.1", + "heck", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -5275,28 +4964,29 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.66", + "syn 2.0.53", "tempfile", + "which", ] [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ "prost", ] @@ -5324,9 +5014,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -5396,7 +5086,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.10", ] [[package]] @@ -5426,26 +5116,6 @@ dependencies = [ "bitflags 2.5.0", ] -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "reddsa" version = "0.5.1" @@ -5479,21 +5149,30 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.15", - "libredox", + "getrandom 0.2.10", + "redox_syscall 0.2.16", "thiserror", ] @@ -5506,7 +5185,7 @@ dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-syntax 0.8.2", ] [[package]] @@ -5526,7 +5205,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.2", ] [[package]] @@ -5537,9 +5216,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" @@ -5553,7 +5238,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-rustls", @@ -5564,9 +5249,9 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", + "rustls 0.21.7", "rustls-native-certs 0.6.3", - "rustls-pemfile 1.0.4", + "rustls-pemfile 1.0.3", "serde", "serde_json", "serde_urlencoded", @@ -5579,7 +5264,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", "winreg", ] @@ -5622,7 +5306,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.10", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5677,14 +5361,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -5731,13 +5415,13 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.12" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", + "ring 0.16.20", + "rustls-webpki 0.101.6", "sct", ] @@ -5762,7 +5446,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile 1.0.3", "schannel", "security-framework", ] @@ -5782,9 +5466,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ "base64 0.21.7", ] @@ -5807,12 +5491,12 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -5828,15 +5512,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "salsa20" @@ -5858,9 +5542,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ "cfg-if", "derive_more", @@ -5870,11 +5554,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -5891,18 +5575,18 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "schemars" -version = "0.8.21" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" dependencies = [ "dyn-clone", "schemars_derive", @@ -5912,14 +5596,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.21" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.66", + "syn 1.0.109", ] [[package]] @@ -5942,12 +5626,12 @@ dependencies = [ [[package]] name = "sct" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -6004,11 +5688,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -6017,9 +5701,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -6084,9 +5768,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] @@ -6109,18 +5793,18 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "serde_derive_internals" -version = "0.29.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 1.0.109", ] [[package]] @@ -6136,9 +5820,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.16" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ "itoa", "serde", @@ -6146,13 +5830,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -6221,7 +5905,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -6296,18 +5980,18 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "2.2.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ "digest 0.10.7", "rand_core 0.6.4", @@ -6326,17 +6010,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "thiserror", "time", ] -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - [[package]] name = "slab" version = "0.4.9" @@ -6357,9 +6035,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "smooth-operator" @@ -6376,31 +6054,27 @@ source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "socket2" -version = "0.5.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", - "windows-sys 0.52.0", + "winapi", ] [[package]] -name = "solang-parser" -version = "0.3.3" +name = "socket2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", + "libc", + "windows-sys 0.48.0", ] [[package]] @@ -6408,7 +6082,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" dependencies = [ - "borsh 1.5.1", + "borsh 1.2.1", "cfg-if", "ics23", "itertools 0.12.1", @@ -6429,9 +6103,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "spki" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -6443,19 +6117,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", -] - [[package]] name = "strsim" version = "0.10.0" @@ -6468,16 +6129,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros 0.25.3", -] - -[[package]] -name = "strum" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" -dependencies = [ - "strum_macros 0.26.4", + "strum_macros", ] [[package]] @@ -6486,24 +6138,11 @@ version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.66", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -6527,26 +6166,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" -[[package]] -name = "svm-rs" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" -dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest", - "semver 1.0.23", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "url", - "zip", -] - [[package]] name = "syn" version = "1.0.109" @@ -6560,9 +6179,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" dependencies = [ "proc-macro2", "quote", @@ -6578,7 +6197,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -6657,7 +6276,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.17", "once_cell", "prost", "prost-types", @@ -6777,7 +6396,7 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.15", + "getrandom 0.2.10", "peg", "pin-project", "rand 0.8.5", @@ -6816,22 +6435,11 @@ dependencies = [ "time", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "termcolor" -version = "1.4.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] @@ -6855,14 +6463,14 @@ checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "textwrap" -version = "0.16.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" @@ -6881,14 +6489,14 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" dependencies = [ "cfg-if", "once_cell", @@ -6896,13 +6504,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", - "num-conv", "powerfmt", "serde", "time-core", @@ -6917,11 +6524,10 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] @@ -7000,9 +6606,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -7012,7 +6618,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.4", "tokio-macros", "windows-sys 0.48.0", ] @@ -7029,13 +6635,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -7044,7 +6650,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.12", + "rustls 0.21.7", "tokio", ] @@ -7061,41 +6667,27 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls 0.21.12", - "tokio", - "tokio-rustls 0.24.1", - "tungstenite 0.20.1", - "webpki-roots", -] - [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -7107,6 +6699,18 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + [[package]] name = "toml" version = "0.8.13" @@ -7130,13 +6734,26 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.6", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.5.17", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ "indexmap 2.2.6", "toml_datetime", - "winnow 0.5.40", + "winnow 0.5.17", ] [[package]] @@ -7149,7 +6766,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.9", + "winnow 0.6.8", ] [[package]] @@ -7164,7 +6781,7 @@ dependencies = [ "base64 0.21.7", "bytes", "h2", - "http 0.2.12", + "http 0.2.9", "http-body", "hyper", "hyper-timeout", @@ -7193,7 +6810,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -7248,7 +6865,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", ] [[package]] @@ -7283,23 +6900,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ + "lazy_static", "log", - "once_cell", "tracing-core", ] @@ -7315,9 +6921,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -7330,41 +6936,21 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] [[package]] name = "triomphe" -version = "0.1.12" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2cb4fbb9995eeb36ac86fadf24031ccd58f99d6b4b2d7b911db70bddb80d90" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.20.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 0.2.12", - "httparse", - "log", - "rand 0.8.5", - "rustls 0.21.12", - "sha1", - "thiserror", - "url", - "utf-8", -] +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" @@ -7434,9 +7020,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" @@ -7446,18 +7032,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -7495,9 +7081,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -7518,9 +7104,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" +checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" [[package]] name = "utf8parse" @@ -7534,7 +7120,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.10", "serde", ] @@ -7544,7 +7130,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.10", ] [[package]] @@ -7570,9 +7156,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -7601,9 +7187,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7611,24 +7197,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -7638,9 +7224,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7648,22 +7234,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.53", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasmtimer" @@ -7681,9 +7267,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -7691,9 +7277,21 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + +[[package]] +name = "which" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] [[package]] name = "winapi" @@ -7713,11 +7311,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ - "windows-sys 0.52.0", + "winapi", ] [[package]] @@ -7728,11 +7326,20 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.48.5", +] + +[[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]] @@ -7753,6 +7360,21 @@ dependencies = [ "windows-targets 0.52.5", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -7784,6 +7406,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.5", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7796,6 +7424,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7808,6 +7442,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7826,6 +7466,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7838,6 +7484,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7850,6 +7502,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7862,6 +7520,12 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7876,18 +7540,18 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.5.40" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] [[package]] name = "winnow" -version = "0.6.9" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" dependencies = [ "memchr", ] @@ -7930,12 +7594,6 @@ dependencies = [ "tap", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "zcash_encoding" version = "0.2.0" @@ -7947,9 +7605,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.8.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -7962,54 +7620,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq 0.1.5", - "crc32fast", - "crossbeam-utils", - "flate2", - "hmac 0.12.1", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" -dependencies = [ - "cc", - "pkg-config", + "syn 2.0.53", ] diff --git a/crates/relayer/src/chain/cosmos/batch.rs b/crates/relayer/src/chain/cosmos/batch.rs index 3e52f52aec..bf55a4ec27 100644 --- a/crates/relayer/src/chain/cosmos/batch.rs +++ b/crates/relayer/src/chain/cosmos/batch.rs @@ -209,7 +209,7 @@ async fn sequential_send_messages_as_batches( Ok(tx_sync_results) } -fn response_to_tx_sync_result( +pub fn response_to_tx_sync_result( chain_id: &ChainId, message_count: usize, response: Response, diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 07349117cd..fcc17e85be 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -32,7 +32,6 @@ use ibc_relayer_types::core::ics24_host::path::{ ClientConsensusStatePath, ClientStatePath, CommitmentsPath, ConnectionsPath, ReceiptsPath, SeqRecvsPath, }; -use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; use namada_ibc::storage; @@ -63,8 +62,8 @@ use tokio::runtime::Runtime as TokioRuntime; use crate::account::Balance; use crate::chain::client::ClientSettings; +use crate::chain::cosmos::batch::response_to_tx_sync_result; use crate::chain::cosmos::config::CosmosSdkConfig; -use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::version::Specs; use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; use crate::chain::handle::Subscription; @@ -339,23 +338,20 @@ impl ChainEndpoint for NamadaChain { if proto_msgs.is_empty() { return Ok(vec![]); } + let max_msg_num = if self.config().sequential_batch_tx { + 1 + } else { + self.config().max_msg_num.to_usize() + }; + let msg_chunks = proto_msgs.chunks(max_msg_num); let mut tx_sync_results = vec![]; - for msg in proto_msgs.iter() { - let response = self.send_tx(msg)?; - - // Note: we don't have any height information in this case. This hack will fix itself - // once we remove the `ChainError` event (which is not actually an event) - let height = ICSHeight::new(self.config.id.version(), 1).unwrap(); - let events_per_tx = vec![IbcEventWithHeight::new(IbcEvent::ChainError(format!( - "check_tx (broadcast_tx_sync) on chain {} for Tx hash {} reports error: code={:?}, log={:?}", - self.config.id, response.hash, response.code, response.log - )), height)]; - - tx_sync_results.push(TxSyncResult { + for msg_chunk in msg_chunks { + let response = self.batch_txs(msg_chunk)?; + tx_sync_results.push(response_to_tx_sync_result( + &self.config().id, + msg_chunk.len(), response, - events: events_per_tx, - status: TxStatus::Pending { message_count: 1 }, - }); + )); } self.wait_for_block_commits(&mut tx_sync_results)?; @@ -384,9 +380,16 @@ impl ChainEndpoint for NamadaChain { if proto_msgs.is_empty() { return Ok(vec![]); } + + let max_msg_num = if self.config().sequential_batch_tx { + 1 + } else { + self.config().max_msg_num.to_usize() + }; + let msg_chunks = proto_msgs.chunks(max_msg_num); let mut responses = vec![]; - for msg in proto_msgs.iter() { - responses.push(self.send_tx(msg)?); + for msg_chunk in msg_chunks { + responses.push(self.batch_txs(msg_chunk)?); } Ok(responses) @@ -1085,7 +1088,7 @@ impl ChainEndpoint for NamadaChain { None => Ok(vec![]), } } - QueryTxRequest::Transaction(tx) => self.query_tx_events(&tx.0.to_string()), + QueryTxRequest::Transaction(tx) => self.query_tx_events(&tx.0), } } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index ab991652c8..222f6f3db3 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -7,6 +7,7 @@ use namada_ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::events::extend::Height as HeightAttr; +use namada_sdk::events::Event as NamadaEvent; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; @@ -14,6 +15,7 @@ use namada_sdk::tx::data::ResultCode; use namada_sdk::tx::event::Code as CodeAttr; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; +use tendermint::Hash as TmHash; use crate::chain::endpoint::ChainEndpoint; use crate::chain::requests::{ @@ -111,15 +113,8 @@ impl NamadaChain { } /// Get all IBC events when the tx has been applied - pub fn query_tx_events(&self, tx_hash: &str) -> Result, Error> { - match self - .rt - .block_on(RPC.shell().applied( - self.ctx.client(), - &tx_hash.try_into().expect("Invalid tx hash"), - )) - .map_err(NamadaError::query)? - { + pub fn query_tx_events(&self, tx_hash: &TmHash) -> Result, Error> { + match self.query_applied_event(tx_hash)? { Some(applied) => { let h = applied .read_attribute::() @@ -145,6 +140,15 @@ impl NamadaChain { } } + fn query_applied_event(&self, tx_hash: &TmHash) -> Result, Error> { + self.rt + .block_on(RPC.shell().applied( + self.ctx.client(), + &tx_hash.as_ref().try_into().expect("Invalid tx hash"), + )) + .map_err(|e| Error::namada(NamadaError::query(e))) + } + /// Get IBC packet events pub fn query_packet_events_from_block( &self, diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index a2e3aa7b31..c3ef28c2f7 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -5,11 +5,10 @@ use std::thread; use std::time::Instant; use ibc_proto::google::protobuf::Any; -use namada_parameters::storage as parameter_storage; +use itertools::Itertools; use namada_sdk::address::{Address, ImplicitAddress}; -use namada_sdk::args; -use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom, TxExpiration}; -use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::args::{self, TxBuilder}; +use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom}; use namada_sdk::borsh::BorshSerializeExt; use namada_sdk::chain::ChainId; use namada_sdk::ibc::apps::nft_transfer::types::packet::PacketData as NftPacketData; @@ -23,16 +22,15 @@ use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; use namada_sdk::ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; use namada_sdk::masp::{PaymentAddress, TransferTarget}; use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; -use namada_sdk::tx::data::GasLimit; use namada_sdk::{signing, tx, Namada}; use namada_trans_token::Transfer; use tendermint_proto::Protobuf; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; +use tracing::{debug, debug_span, trace}; -use crate::chain::cosmos; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; +use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; -use crate::chain::requests::{IncludeProof, QueryHeight, QueryTxHash, QueryTxRequest}; use crate::error::Error; use super::error::Error as NamadaError; @@ -41,7 +39,11 @@ use super::NamadaChain; const WAIT_BACKOFF: Duration = Duration::from_millis(300); impl NamadaChain { - pub fn send_tx(&mut self, proto_msg: &Any) -> Result { + pub fn batch_txs(&mut self, msgs: &[Any]) -> Result { + if msgs.is_empty() { + return Err(Error::send_tx("No message to be batched".to_string())); + } + let tx_args = self.make_tx_args()?; let relayer_addr = self.get_key()?.address; @@ -55,14 +57,23 @@ impl NamadaChain { serialized_tx: None, owner: relayer_addr.clone(), }; - let (mut tx, signing_data) = rt - .block_on(args.build(&self.ctx)) - .map_err(NamadaError::namada)?; - self.set_tx_data(&mut tx, proto_msg)?; - rt.block_on( - self.ctx - .sign(&mut tx, &args.tx, signing_data, signing::default_sign, ()), - ) + + let mut txs = Vec::new(); + for msg in msgs { + let (mut tx, signing_data) = rt + .block_on(args.build(&self.ctx)) + .map_err(NamadaError::namada)?; + self.set_tx_data(&mut tx, msg)?; + txs.push((tx, signing_data)); + } + let (mut tx, signing_data) = tx::build_batch(txs).map_err(NamadaError::namada)?; + rt.block_on(self.ctx.sign( + &mut tx, + &args.tx, + signing_data.first().unwrap().clone(), + signing::default_sign, + (), + )) .map_err(NamadaError::namada)?; let tx_header_hash = tx.header_hash().to_string(); let response = rt @@ -82,18 +93,15 @@ impl NamadaChain { fn make_tx_args(&mut self) -> Result { let chain_id = ChainId::from_str(self.config.id.as_str()).expect("invalid chain ID"); - let fee_token = &self.config.gas_price.denom; - let fee_token = Address::decode(fee_token) - .map_err(|_| NamadaError::address_decode(fee_token.to_string()))?; - - // fee - let gas_limit_key = parameter_storage::get_fee_unshielding_gas_limit_key(); - let (value, _) = self.query(gas_limit_key, QueryHeight::Latest, IncludeProof::No)?; - let gas_limit = GasLimit::try_from_slice(&value).map_err(NamadaError::borsh_decode)?; - let namada_key = self.get_key()?; let relayer_public_key = namada_key.secret_key.to_public(); + let tx_args = self.ctx.tx_builder(); + let tx_args = tx_args.chain_id(chain_id); + let tx_args = tx_args.signing_keys(vec![relayer_public_key]); + // Confirm the transaction later + let mut tx_args = tx_args.broadcast_only(true); + let memo = if !self.config().memo_prefix.as_str().is_empty() { Some( self.config() @@ -106,31 +114,9 @@ impl NamadaChain { } else { None }; + tx_args.memo = memo; - Ok(TxArgs { - dry_run: false, - dry_run_wrapper: false, - dump_tx: false, - force: false, - output_folder: None, - broadcast_only: true, - ledger_address: self.config().rpc_addr.clone(), - initialized_account_alias: None, - wallet_alias_force: false, - wrapper_fee_payer: Some(relayer_public_key.clone()), - fee_amount: None, - fee_token, - gas_limit, - expiration: TxExpiration::Default, - disposable_signing_key: false, - chain_id: Some(chain_id), - signing_keys: vec![relayer_public_key], - signatures: vec![], - tx_reveal_code_path: PathBuf::from(tx::TX_REVEAL_PK), - password: None, - memo, - use_device: false, - }) + Ok(tx_args) } fn set_tx_data(&self, tx: &mut tx::Tx, proto_msg: &Any) -> Result<(), Error> { @@ -302,44 +288,70 @@ impl NamadaChain { &self, tx_sync_results: &mut [TxSyncResult], ) -> Result<(), Error> { - let start_time = Instant::now(); - loop { - if cosmos::wait::all_tx_results_found(tx_sync_results) { - return Ok(()); + if all_tx_results_found(tx_sync_results) { + return Ok(()); + } + + let chain_id = &self.config().id; + crate::time!( + "wait_for_block_commits", + { + "src_chain": chain_id, } + ); + let _span = debug_span!("wait_for_block_commits", id = %chain_id).entered(); + + let start_time = Instant::now(); + let hashes = tx_sync_results + .iter() + .map(|res| res.response.hash.to_string()) + .join(", "); + + debug!("waiting for commit of tx hashes(s) {}", hashes); + + loop { let elapsed = start_time.elapsed(); - if elapsed > self.config.rpc_timeout { - return Err(Error::tx_no_confirmation()); - } - thread::sleep(WAIT_BACKOFF); + if all_tx_results_found(tx_sync_results) { + trace!( + "retrieved {} tx results after {} ms", + tx_sync_results.len(), + elapsed.as_millis(), + ); - for TxSyncResult { - response, - events, - status, - } in tx_sync_results.iter_mut() - { - if let TxStatus::Pending { message_count: _ } = status { - // If the transaction failed, query_txs returns the IbcEvent::ChainError, - // so that we don't attempt to resolve the transaction later on. - if let Ok(events_per_tx) = - self.query_txs(QueryTxRequest::Transaction(QueryTxHash(response.hash))) - { - // If we get events back, progress was made, so we replace the events - // with the new ones. in both cases we will check in the next iteration - // whether or not the transaction was fully committed. - if !events_per_tx.is_empty() { - *events = events_per_tx; - *status = TxStatus::ReceivedResponse; - } + return Ok(()); + } else if elapsed > self.config().rpc_timeout { + debug!("timed out after {} ms", elapsed.as_millis()); + return Err(Error::tx_no_confirmation()); + } else { + thread::sleep(WAIT_BACKOFF); + + for tx_sync_result in tx_sync_results.iter_mut() { + if let Err(e) = self.update_tx_sync_result(tx_sync_result) { + debug!("update_tx_sync_result failed. It will be retried: {e}"); } } } } } + fn update_tx_sync_result(&self, tx_sync_result: &mut TxSyncResult) -> Result<(), Error> { + if let TxStatus::Pending { .. } = tx_sync_result.status { + // If the transaction failed, query_txs returns the IbcEvent::ChainError, + // so that we don't attempt to resolve the transaction later on. + let events = self.query_tx_events(&tx_sync_result.response.hash)?; + // If we get events back, progress was made, so we replace the events + // with the new ones. in both cases we will check in the next iteration + // whether or not the transaction was fully committed. + if !events.is_empty() { + tx_sync_result.events = events; + tx_sync_result.status = TxStatus::ReceivedResponse; + } + } + Ok(()) + } + async fn submit_reveal_aux(&mut self, args: &TxArgs, address: &Address) -> Result<(), Error> { if let Address::Implicit(ImplicitAddress(pkh)) = address { let public_key = self From cc148b32e8b386cb7b8910140ff7346932168461 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 30 May 2024 23:34:08 +0200 Subject: [PATCH 048/103] for Namada/#3297 - split transfer tx --- Cargo.lock | 49 ++++++++++++++------------- Cargo.toml | 7 ++++ crates/relayer/Cargo.toml | 2 +- crates/relayer/src/chain/namada.rs | 4 +-- crates/relayer/src/chain/namada/tx.rs | 8 ++--- e2e/namada-gaia-simple-transfers | 4 +-- e2e/namada-simple-transfers | 11 +++--- scripts/setup-namada-single-node | 2 +- 8 files changed, 49 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 783f5a4326..3aeed342c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3059,7 +3059,7 @@ dependencies = [ "namada_ibc", "namada_parameters", "namada_sdk", - "namada_trans_token", + "namada_token", "num-bigint", "num-rational", "once_cell", @@ -3767,7 +3767,7 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "namada_account" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "linkme", @@ -3781,7 +3781,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "namada_core", "smooth-operator", @@ -3791,7 +3791,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "bech32 0.8.1", "borsh 1.2.1", @@ -3838,7 +3838,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "ethabi", @@ -3870,7 +3870,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "linkme", @@ -3886,7 +3886,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "linkme", @@ -3901,7 +3901,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -3924,7 +3924,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "ibc", @@ -3954,7 +3954,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "data-encoding", "proc-macro2", @@ -3966,7 +3966,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "eyre", @@ -3981,7 +3981,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "lazy_static", "linkme", @@ -3991,7 +3991,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "namada_core", @@ -4003,7 +4003,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "data-encoding", @@ -4030,7 +4030,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "namada_core", ] @@ -4038,7 +4038,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "async-trait", "bimap", @@ -4105,7 +4105,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "masp_primitives", @@ -4123,7 +4123,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "ics23", @@ -4151,7 +4151,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "itertools 0.12.1", @@ -4171,19 +4171,22 @@ dependencies = [ [[package]] name = "namada_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ + "borsh 1.2.1", "namada_core", "namada_events", + "namada_macros", "namada_shielded_token", "namada_storage", "namada_trans_token", + "serde", ] [[package]] name = "namada_trans_token" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "konst", "namada_core", @@ -4194,7 +4197,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4222,7 +4225,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.37.0" -source = "git+https://github.com/anoma/namada#5a5838a528ace84c03a1dfc818a50450f6d09459" +source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" dependencies = [ "borsh 1.2.1", "linkme", diff --git a/Cargo.toml b/Cargo.toml index fbc0b363d1..d1e7fe11f1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,17 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies +<<<<<<< HEAD namada_ibc = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } namada_parameters = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } namada_trans_token = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } +======= +namada_ibc = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } +namada_token = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } +>>>>>>> 1034b2d8 (for Namada/#3297 - split transfer tx) # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 28921695a3..8057a02298 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -49,7 +49,7 @@ moka = { workspace = true, features = ["sync"] } namada_ibc = { workspace = true } namada_parameters = { workspace = true } namada_sdk = { workspace = true } -namada_trans_token = { workspace = true } +namada_token = { workspace = true } num-bigint = { workspace = true, features = ["serde"] } num-rational = { workspace = true, features = ["num-bigint", "serde"] } once_cell = { workspace = true } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index fcc17e85be..85153c2386 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -50,8 +50,8 @@ use namada_sdk::storage::{Key, KeySeg, PrefixValue}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; -use namada_trans_token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; -use namada_trans_token::{Amount, DenominatedAmount, Denomination}; +use namada_token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; +use namada_token::{Amount, DenominatedAmount, Denomination}; use tendermint::block::Height as TmHeight; use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index c3ef28c2f7..defa6e6e78 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -19,11 +19,11 @@ use namada_sdk::ibc::core::channel::types::msgs::{ MsgTimeout as IbcMsgTimeout, ACKNOWLEDGEMENT_TYPE_URL, RECV_PACKET_TYPE_URL, TIMEOUT_TYPE_URL, }; use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; -use namada_sdk::ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; +use namada_ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; use namada_sdk::masp::{PaymentAddress, TransferTarget}; use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; use namada_sdk::{signing, tx, Namada}; -use namada_trans_token::Transfer; +use namada_token::ShieldingTransfer; use tendermint_proto::Protobuf; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace}; @@ -214,7 +214,7 @@ impl NamadaChain { channel_id: &ChannelId, packet_data: &[u8], is_refund: bool, - ) -> Result, Error> { + ) -> Result, Error> { let transfer = serde_json::from_slice::(packet_data) .ok() .and_then(|data| { @@ -277,7 +277,7 @@ impl NamadaChain { }; Ok(self .rt - .block_on(tx::gen_ibc_shielded_transfer(&self.ctx, args)) + .block_on(tx::gen_ibc_shielding_transfer(&self.ctx, args)) .map_err(NamadaError::namada)?) } else { Ok(None) diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index d559230e7e..65ec968279 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -75,7 +75,7 @@ payment_addr_b=$(${NAMADAW} --base-dir ${base_dir} find --alias ${PAYMENT_ALIAS_ # Initialize Relayer's balance on Namada ${NAMADAC} --base-dir ${base_dir} \ - transfer \ + transparent-transfer \ --source albert \ --target relayer \ --token nam \ @@ -83,7 +83,7 @@ ${NAMADAC} --base-dir ${base_dir} \ --node ${NAMADA_LEDGER_ADDR} ${NAMADAC} --base-dir ${base_dir} \ - transfer \ + transparent-transfer \ --source albert \ --target relayer \ --token apfel \ diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index f38c28c702..abba5f10da 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -4,7 +4,7 @@ # `make build` and `make build-wasm-scripts` on Namada directory in advance # Run with `namada-simple-transfers ${namada_dir}` -set -e +set -ex NAMADA_DIR=$1 if [ -z "${NAMADA_DIR}" ] @@ -37,7 +37,7 @@ function init_relayer_balance() { local base_dir=${DATA_DIR}/namada-${suffix} ${NAMADAC} --base-dir ${base_dir} \ - transfer \ + transparent-transfer \ --source albert \ --target relayer \ --token nam \ @@ -57,6 +57,7 @@ chain_b=$(echo ${ids} | awk '{print $2}') # Initialize the balances init_relayer_balance "a" ${LEDGER_ADDR_A} +sleep 5 init_relayer_balance "b" ${LEDGER_ADDR_B} # Create a channel @@ -85,7 +86,7 @@ ${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B_2 payment_addr_b_2=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B_2} | awk -v paymentAlias="${PAYMENT_ALIAS_B_2}" '{if($1 ~ paymentAlias) {print $2}}') # Faucet apfel on chain A and chain B -${NAMADAC} --base-dir ${base_dir_a} transfer \ +${NAMADAC} --base-dir ${base_dir_a} transparent-transfer \ --source albert \ --target relayer \ --token apfel \ @@ -93,7 +94,7 @@ ${NAMADAC} --base-dir ${base_dir_a} transfer \ --signing-keys albert-key \ --node ${LEDGER_ADDR_A} -${NAMADAC} --base-dir ${base_dir_b} transfer \ +${NAMADAC} --base-dir ${base_dir_b} transparent-transfer \ --source albert \ --target relayer \ --token apfel \ @@ -102,7 +103,7 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ --node ${LEDGER_ADDR_B} # Faucet apfel for shielded_a -${NAMADAC} --base-dir ${base_dir_a} transfer \ +${NAMADAC} --base-dir ${base_dir_a} shield \ --source albert \ --target ${payment_addr_a} \ --token apfel \ diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 50584771f2..9c33c15cd7 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -131,7 +131,7 @@ function fund_relayer_acc() { local base_dir=${DATA_DIR}/namada ${NAMADAC} --base-dir ${base_dir} \ - transfer --node ${LEDGER_ADDR} \ + transparent-transfer --node ${LEDGER_ADDR} \ --source ${account} --target relayer --amount 10000 --token NAM } From 20bd3f5978650462c0ac5705378f83bcdb989777 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 5 Jun 2024 10:26:27 +0200 Subject: [PATCH 049/103] Namada 0.39 draft --- Cargo.lock | 1930 +++++++++++++++++++++++++++++++--------------------- Cargo.toml | 15 +- 2 files changed, 1150 insertions(+), 795 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3aeed342c5..5dcd104503 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,12 +28,12 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver 1.0.23", + "semver 1.0.22", "serde", "termcolor", "toml 0.5.11", "tracing", - "tracing-log", + "tracing-log 0.1.4", "tracing-subscriber", "wait-timeout", ] @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", @@ -93,16 +93,16 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.14", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -124,48 +124,47 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -173,15 +172,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "ark-bls12-381" @@ -204,7 +203,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits 0.2.17", + "num-traits 0.2.18", "zeroize", ] @@ -220,7 +219,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits 0.2.17", + "num-traits 0.2.18", "paste", "rustc_version 0.3.3", "zeroize", @@ -243,7 +242,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits 0.2.17", + "num-traits 0.2.18", "quote", "syn 1.0.109", ] @@ -264,7 +263,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits 0.2.17", + "num-traits 0.2.18", "rand 0.8.5", ] @@ -280,6 +279,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + [[package]] name = "async-stream" version = "0.3.5" @@ -299,7 +307,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -310,7 +318,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -327,7 +335,7 @@ dependencies = [ "rustls-pki-types", "tokio", "tokio-rustls 0.25.0", - "tungstenite", + "tungstenite 0.21.0", ] [[package]] @@ -354,21 +362,20 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.60", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "axum" @@ -381,7 +388,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.9", + "http 0.2.12", "http-body", "hyper", "itoa", @@ -411,7 +418,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.9", + "http 0.2.12", "http-body", "mime", "rustversion", @@ -421,9 +428,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -460,15 +467,15 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" [[package]] name = "base64ct" -version = "1.0.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a32fd6af2b5827bce66c29053ba0e7c42b9dcab01835835058558c10851a46b" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bech32" @@ -527,6 +534,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bitcoin" version = "0.31.2" @@ -606,7 +628,7 @@ checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq", + "constant_time_eq 0.3.0", ] [[package]] @@ -617,7 +639,7 @@ checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq", + "constant_time_eq 0.3.0", ] [[package]] @@ -630,7 +652,7 @@ dependencies = [ "arrayvec", "cc", "cfg-if", - "constant_time_eq", + "constant_time_eq 0.3.0", ] [[package]] @@ -676,11 +698,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.2.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9897ef0f1bd2362169de6d7e436ea2237dc1085d7d1e4db75f4be34d86f309d1" +checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" dependencies = [ - "borsh-derive 1.2.1", + "borsh-derive 1.5.0", "cfg_aliases", ] @@ -699,15 +721,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.2.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478b41ff04256c5c8330f3dfdaaae2a5cc976a8e75088bafa4625b0d0208de8c" +checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" dependencies = [ "once_cell", - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", "syn_derive", ] @@ -727,7 +749,7 @@ name = "borsh-ext" version = "1.2.0" source = "git+https://github.com/heliaxdev/borsh-ext?tag=v1.2.0#a62fee3e847e512cad9ac0f1fd5a900e5db9ba37" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", ] [[package]] @@ -753,9 +775,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -781,18 +803,39 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" dependencies = [ "serde", ] +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -805,22 +848,22 @@ checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f" [[package]] name = "cargo-platform" -version = "0.1.4" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" dependencies = [ "serde", ] [[package]] name = "cargo_metadata" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -837,11 +880,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" dependencies = [ + "jobserver", "libc", + "once_cell", ] [[package]] @@ -882,16 +927,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.17", + "num-traits 0.2.18", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -1016,9 +1061,9 @@ dependencies = [ [[package]] name = "color-eyre" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" dependencies = [ "backtrace", "color-spantrace", @@ -1031,9 +1076,9 @@ dependencies = [ [[package]] name = "color-spantrace" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" +checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" dependencies = [ "once_cell", "owo-colors", @@ -1043,28 +1088,28 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" +checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" dependencies = [ "cfg-if", "cpufeatures", @@ -1075,9 +1120,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_panic" @@ -1085,6 +1130,12 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + [[package]] name = "constant_time_eq" version = "0.3.0" @@ -1104,9 +1155,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1114,46 +1165,61 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ + "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1163,9 +1229,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1210,9 +1276,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", @@ -1227,13 +1293,13 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -1256,7 +1322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.1", + "hashbrown 0.14.3", "lock_api", "once_cell", "parking_lot_core", @@ -1264,15 +1330,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -1280,9 +1346,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", ] @@ -1355,7 +1421,16 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ - "dirs-sys", + "dirs-sys 0.3.7", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys 0.4.1", ] [[package]] @@ -1379,6 +1454,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1398,7 +1485,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -1429,9 +1516,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" -version = "0.16.8" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der", "digest 0.10.7", @@ -1470,15 +1557,16 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", + "subtle", "zeroize", ] @@ -1496,15 +1584,15 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "elliptic-curve" -version = "0.13.6" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct", "crypto-bigint", @@ -1520,6 +1608,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + [[package]] name = "encode_unicode" version = "0.3.6" @@ -1528,18 +1625,18 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] [[package]] name = "enr" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" dependencies = [ "base64 0.21.7", "bytes", @@ -1584,9 +1681,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1696,9 +1793,9 @@ dependencies = [ [[package]] name = "ethers" -version = "2.0.0" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839a392641e746a1ff365ef7c901238410b5c6285d240cf2409ffaaa7df9a78a" +checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" dependencies = [ "ethers-addressbook", "ethers-contract", @@ -1707,13 +1804,14 @@ dependencies = [ "ethers-middleware", "ethers-providers", "ethers-signers", + "ethers-solc", ] [[package]] name = "ethers-addressbook" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6e9e8acd0ed348403cc73a670c24daba3226c40b98dc1a41903766b3ab6240a" +checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" dependencies = [ "ethers-core", "once_cell", @@ -1723,9 +1821,9 @@ dependencies = [ [[package]] name = "ethers-contract" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79269278125006bb0552349c03593ffa9702112ca88bc7046cc669f148fb47c" +checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" dependencies = [ "const-hex", "ethers-contract-abigen", @@ -1742,31 +1840,33 @@ dependencies = [ [[package]] name = "ethers-contract-abigen" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce95a43c939b2e4e2f3191c5ad4a1f279780b8a39139c9905b43a7433531e2ab" +checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" dependencies = [ "Inflector", "const-hex", "dunce", "ethers-core", + "ethers-etherscan", "eyre", "prettyplease", "proc-macro2", "quote", "regex", + "reqwest", "serde", "serde_json", - "syn 2.0.53", - "toml 0.7.8", + "syn 2.0.60", + "toml 0.8.12", "walkdir", ] [[package]] name = "ethers-contract-derive" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9ce44906fc871b3ee8c69a695ca7ec7f70e50cb379c9b9cb5e532269e492f6" +checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" dependencies = [ "Inflector", "const-hex", @@ -1775,14 +1875,14 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "ethers-core" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0a17f0708692024db9956b31d7a20163607d2745953f5ae8125ab368ba280ad" +checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" dependencies = [ "arrayvec", "bytes", @@ -1800,8 +1900,8 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum", - "syn 2.0.53", + "strum 0.26.2", + "syn 2.0.60", "tempfile", "thiserror", "tiny-keccak", @@ -1810,13 +1910,14 @@ dependencies = [ [[package]] name = "ethers-etherscan" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e53451ea4a8128fbce33966da71132cf9e1040dcfd2a2084fd7733ada7b2045" +checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" dependencies = [ + "chrono", "ethers-core", "reqwest", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -1825,9 +1926,9 @@ dependencies = [ [[package]] name = "ethers-middleware" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "473f1ccd0c793871bbc248729fa8df7e6d2981d6226e4343e3bbaa9281074d5d" +checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" dependencies = [ "async-trait", "auto_impl", @@ -1852,9 +1953,9 @@ dependencies = [ [[package]] name = "ethers-providers" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6838fa110e57d572336178b7c79e94ff88ef976306852d8cb87d9e5b1fc7c0b5" +checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" dependencies = [ "async-trait", "auto_impl", @@ -1867,7 +1968,7 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http 0.2.9", + "http 0.2.12", "instant", "jsonwebtoken", "once_cell", @@ -1877,6 +1978,7 @@ dependencies = [ "serde_json", "thiserror", "tokio", + "tokio-tungstenite", "tracing", "tracing-futures", "url", @@ -1888,9 +1990,9 @@ dependencies = [ [[package]] name = "ethers-signers" -version = "2.0.10" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea44bec930f12292866166f9ddbea6aa76304850e4d8dcd66dc492b43d00ff1" +checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" dependencies = [ "async-trait", "coins-bip32", @@ -1905,6 +2007,38 @@ dependencies = [ "tracing", ] +[[package]] +name = "ethers-solc" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver 1.0.22", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + [[package]] name = "eyre" version = "0.6.12" @@ -1917,9 +2051,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "fd-lock" @@ -1945,9 +2079,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.1" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" +checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" [[package]] name = "fixed-hash" @@ -1967,6 +2101,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + [[package]] name = "flex-error" version = "0.4.4" @@ -1985,9 +2129,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -2003,14 +2147,27 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] name = "fs-err" -version = "2.9.0" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + +[[package]] +name = "fs2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] [[package]] name = "funty" @@ -2020,9 +2177,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2035,9 +2192,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2045,15 +2202,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2062,9 +2219,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-locks" @@ -2078,32 +2235,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" dependencies = [ "gloo-timers", "send_wrapper 0.4.0", @@ -2111,9 +2268,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -2162,9 +2319,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "js-sys", @@ -2175,9 +2332,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "gloo-timers" @@ -2234,7 +2397,7 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.9", + "http 0.2.12", "indexmap 2.2.6", "slab", "tokio", @@ -2244,9 +2407,9 @@ dependencies = [ [[package]] name = "half" -version = "1.8.2" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" [[package]] name = "hashbrown" @@ -2259,9 +2422,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "hashers" @@ -2298,9 +2461,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -2310,9 +2473,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-conservative" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" +checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" [[package]] name = "hex_lit" @@ -2347,18 +2510,18 @@ checksum = "77e806677ce663d0a199541030c816847b36e8dc095f70dae4a4f4ad63da5383" [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "http" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2378,12 +2541,12 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http 0.2.9", + "http 0.2.12", "pin-project-lite", ] @@ -2417,22 +2580,22 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2", - "http 0.2.9", + "http 0.2.12", "http-body", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2", "tokio", "tower-service", "tracing", @@ -2441,14 +2604,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http 0.2.9", + "http 0.2.12", "hyper", - "rustls 0.21.7", + "rustls 0.21.11", "tokio", "tokio-rustls 0.24.1", ] @@ -2467,9 +2630,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2582,7 +2745,7 @@ dependencies = [ "async-trait", "flex-error", "futures", - "http 0.2.9", + "http 0.2.12", "ibc-proto", "ibc-relayer-types", "itertools 0.12.1", @@ -2961,7 +3124,7 @@ checksum = "23d961d2194fd5229961835d2eb78091906ef8afbaaa55bce7ad41bf3ead8aa9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -2969,7 +3132,7 @@ name = "ibc-integration-test" version = "0.27.2" dependencies = [ "byte-unit", - "http 0.2.9", + "http 0.2.12", "ibc-relayer", "ibc-relayer-types", "ibc-test-framework", @@ -2980,7 +3143,7 @@ dependencies = [ "tendermint", "tendermint-rpc", "time", - "toml 0.8.13", + "toml 0.8.12", "tonic", ] @@ -3009,7 +3172,7 @@ version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66080040d5a4800d52966d55b055400f86b79c34b854b935bef03c87aacda62a" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "borsh 0.10.3", "bytes", "flex-error", @@ -3048,7 +3211,7 @@ dependencies = [ "generic-array", "hdpath", "hex", - "http 0.2.9", + "http 0.2.12", "humantime", "humantime-serde", "ibc-proto", @@ -3070,14 +3233,14 @@ dependencies = [ "ripemd", "rpassword", "secp256k1", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_derive", "serde_json", "serial_test", "sha2 0.10.8", "signature", - "strum", + "strum 0.25.0", "subtle-encoding", "tendermint", "tendermint-light-client", @@ -3092,7 +3255,7 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.8.13", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", @@ -3115,7 +3278,7 @@ dependencies = [ "flex-error", "futures", "hdpath", - "http 0.2.9", + "http 0.2.12", "humantime", "ibc-chain-registry", "ibc-relayer", @@ -3152,7 +3315,7 @@ dependencies = [ "serde", "serde_json", "tokio", - "toml 0.8.13", + "toml 0.8.12", "tracing", ] @@ -3216,7 +3379,7 @@ dependencies = [ "flex-error", "hdpath", "hex", - "http 0.2.9", + "http 0.2.12", "ibc-proto", "ibc-relayer", "ibc-relayer-cli", @@ -3225,7 +3388,7 @@ dependencies = [ "once_cell", "prost", "rand 0.8.5", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "serde_yaml", @@ -3233,7 +3396,7 @@ dependencies = [ "subtle-encoding", "tendermint-rpc", "tokio", - "toml 0.8.13", + "toml 0.8.12", "tonic", "tracing", "tracing-subscriber", @@ -3266,9 +3429,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3290,7 +3453,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits 0.2.17", + "num-traits 0.2.18", "uint", ] @@ -3343,7 +3506,7 @@ name = "index-set" version = "0.8.0" source = "git+https://github.com/heliaxdev/index-set?tag=v0.8.1#b0d928f83cf0d465ccda299d131e8df2859b5184" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "serde", ] @@ -3362,9 +3525,9 @@ name = "indexmap" version = "2.2.4" source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547bd6ab04bbb16e060326a50ddaeb6c909" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.3", "serde", ] @@ -3375,7 +3538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.3", ] [[package]] @@ -3399,9 +3562,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -3412,20 +3575,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] name = "ipnet" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "itertools" @@ -3447,15 +3604,24 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -3490,9 +3656,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", @@ -3505,9 +3671,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -3532,6 +3698,36 @@ dependencies = [ "typewit", ] +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.8.3", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata 0.4.6", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -3540,9 +3736,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libm" @@ -3550,31 +3746,41 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + [[package]] name = "linkme" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cfee0de9bd869589fb9a015e155946d1be5ff415cb844c2caccc6cc4b5db9" +checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" +checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -3595,9 +3801,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" +source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "chacha20", "chacha20poly1305", "cipher", @@ -3608,7 +3814,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" +source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" dependencies = [ "aes", "bip0039", @@ -3616,7 +3822,7 @@ dependencies = [ "blake2b_simd", "blake2s_simd", "bls12_381", - "borsh 1.2.1", + "borsh 1.5.0", "byteorder", "ff", "fpe", @@ -3639,13 +3845,13 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=3aacc707c5948e7423589ac617305448bead9842#3aacc707c5948e7423589ac617305448bead9842" +source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" dependencies = [ "bellman", "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.10", + "getrandom 0.2.14", "group", "itertools 0.11.0", "jubjub", @@ -3673,19 +3879,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "memchr" -version = "2.6.4" +name = "md-5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] [[package]] -name = "memoffset" -version = "0.9.0" +name = "memchr" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memuse" @@ -3707,31 +3914,31 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "minreq" -version = "2.11.0" +version = "2.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" +checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" dependencies = [ "log", "once_cell", - "rustls 0.21.7", - "rustls-webpki 0.101.6", + "rustls 0.21.11", + "rustls-webpki 0.101.7", "webpki-roots", ] [[package]] name = "mio" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -3760,16 +3967,16 @@ dependencies = [ [[package]] name = "multimap" -version = "0.8.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "linkme", "namada_core", "namada_macros", @@ -3780,8 +3987,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "namada_core", "smooth-operator", @@ -3790,11 +3997,11 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "bech32 0.8.1", - "borsh 1.2.1", + "borsh 1.5.0", "borsh-ext", "chrono", "data-encoding", @@ -3814,7 +4021,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits 0.2.17", + "num-traits 0.2.18", "num256", "num_enum", "primitive-types", @@ -3837,11 +4044,10 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", - "ethabi", + "borsh 1.5.0", "ethers", "eyre", "itertools 0.12.1", @@ -3858,21 +4064,17 @@ dependencies = [ "namada_trans_token", "namada_tx", "namada_vote_ext", - "rand 0.8.5", "serde", - "serde_json", - "tendermint", - "tendermint-proto", "thiserror", "tracing", ] [[package]] name = "namada_events" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "linkme", "namada_core", "namada_macros", @@ -3885,10 +4087,10 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "linkme", "namada_core", "namada_events", @@ -3900,10 +4102,10 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "itertools 0.12.1", "konst", "linkme", @@ -3923,10 +4125,10 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "ibc", "ibc-derive", "ics23", @@ -3934,14 +4136,12 @@ dependencies = [ "masp_primitives", "namada_core", "namada_events", - "namada_gas", "namada_governance", "namada_macros", "namada_parameters", "namada_state", "namada_storage", "namada_token", - "namada_tx", "primitive-types", "prost", "serde", @@ -3953,8 +4153,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "data-encoding", "proc-macro2", @@ -3965,10 +4165,10 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "eyre", "ics23", "namada_core", @@ -3980,8 +4180,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "lazy_static", "linkme", @@ -3990,10 +4190,9 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -4002,11 +4201,10 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", - "data-encoding", + "borsh 1.5.0", "konst", "linkme", "namada_account", @@ -4019,7 +4217,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits 0.2.17", "once_cell", "serde", "smooth-operator", @@ -4029,20 +4226,20 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "async-trait", "bimap", - "borsh 1.2.1", + "borsh 1.5.0", "borsh-ext", "circular-queue", "data-encoding", @@ -4074,7 +4271,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits 0.2.17", + "num-traits 0.2.18", "num256", "orion", "owo-colors", @@ -4090,7 +4287,6 @@ dependencies = [ "sha2 0.9.9", "slip10_ed25519", "smooth-operator", - "tendermint-config", "tendermint-rpc", "thiserror", "tiny-bip39 0.8.2", @@ -4104,17 +4300,16 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "masp_primitives", "namada_controller", "namada_core", "namada_parameters", "namada_storage", "namada_trans_token", - "namada_tx", "serde", "smooth-operator", "tracing", @@ -4122,11 +4317,10 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", - "ics23", + "borsh 1.5.0", "itertools 0.12.1", "linkme", "namada_core", @@ -4140,20 +4334,17 @@ dependencies = [ "namada_storage", "namada_tx", "patricia_tree", - "sha2 0.9.9", "smooth-operator", - "sparse-merkle-tree", "thiserror", - "tiny-keccak", "tracing", ] [[package]] name = "namada_storage" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "itertools 0.12.1", "linkme", "namada_core", @@ -4170,10 +4361,10 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "namada_core", "namada_events", "namada_macros", @@ -4185,8 +4376,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "konst", "namada_core", @@ -4196,12 +4387,12 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", - "borsh 1.2.1", + "borsh 1.5.0", "data-encoding", "konst", "linkme", @@ -4212,7 +4403,7 @@ dependencies = [ "namada_macros", "namada_migrations", "num-derive 0.4.2", - "num-traits 0.2.17", + "num-traits 0.2.18", "prost", "prost-types", "serde", @@ -4224,10 +4415,10 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.37.0" -source = "git+https://github.com/anoma/namada?rev=a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6#a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" +version = "0.38.1" +source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "linkme", "namada_core", "namada_macros", @@ -4236,6 +4427,12 @@ dependencies = [ "serde", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nonempty" version = "0.7.0" @@ -4254,16 +4451,16 @@ dependencies = [ [[package]] name = "num" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" dependencies = [ "num-bigint", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] @@ -4274,19 +4471,25 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.17", + "num-traits 0.2.18", "serde", ] [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "num-traits 0.2.17", + "num-traits 0.2.18", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.3.3" @@ -4306,28 +4509,27 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] @@ -4339,15 +4541,15 @@ dependencies = [ "autocfg", "num-bigint", "num-integer", - "num-traits 0.2.17", + "num-traits 0.2.18", "serde", ] [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", "libm", @@ -4370,7 +4572,7 @@ dependencies = [ "lazy_static", "num", "num-derive 0.3.3", - "num-traits 0.2.17", + "num-traits 0.2.18", "serde", "serde_derive", ] @@ -4381,36 +4583,36 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.9", "libc", ] [[package]] name = "num_enum" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] @@ -4432,9 +4634,9 @@ dependencies = [ [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "open-fastrlp" @@ -4524,6 +4726,12 @@ dependencies = [ "thiserror", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "orion" version = "0.16.1" @@ -4531,7 +4739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.10", + "getrandom 0.2.14", "subtle", "zeroize", ] @@ -4565,9 +4773,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "bitvec", @@ -4579,11 +4787,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -4607,11 +4815,22 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", "windows-targets 0.48.5", ] +[[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", +] + [[package]] name = "password-hash" version = "0.5.0" @@ -4642,6 +4861,12 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + [[package]] name = "patricia_tree" version = "0.8.0" @@ -4667,6 +4892,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", + "hmac 0.12.1", + "password-hash 0.4.2", + "sha2 0.10.8", ] [[package]] @@ -4677,14 +4905,14 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac 0.12.1", - "password-hash", + "password-hash 0.5.0", ] [[package]] name = "peg" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a625d12ad770914cbf7eff6f9314c3ef803bfe364a1b20bc36ddf56673e71e5" +checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61" dependencies = [ "peg-macros", "peg-runtime", @@ -4692,9 +4920,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f241d42067ed3ab6a4fece1db720838e1418f36d868585a27931f95d6bc03582" +checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90" dependencies = [ "peg-runtime", "proc-macro2", @@ -4703,9 +4931,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" +checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922" [[package]] name = "pem" @@ -4718,15 +4946,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -4735,9 +4963,9 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -4753,31 +4981,82 @@ dependencies = [ "rustc_version 0.4.0", ] +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.60", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -4795,11 +5074,17 @@ dependencies = [ "spki", ] +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + [[package]] name = "platforms" -version = "3.1.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" [[package]] name = "poly1305" @@ -4824,14 +5109,20 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + [[package]] name = "prettyplease" -version = "0.2.15" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -4859,21 +5150,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.20.2", + "toml_edit 0.21.1", ] [[package]] @@ -4902,9 +5183,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] @@ -4926,25 +5207,25 @@ dependencies = [ [[package]] name = "proptest" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c003ac8c77cb07bb74f5f198bce836a689bcd5a42574612bf14d17bfd08c20e" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits 0.2.17", + "num-traits 0.2.18", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.7.5", + "regex-syntax 0.8.3", "unarray", ] [[package]] name = "prost" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -4952,13 +5233,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" +checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" dependencies = [ "bytes", "heck", - "itertools 0.11.0", + "itertools 0.12.1", "log", "multimap", "once_cell", @@ -4967,29 +5248,28 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.53", + "syn 2.0.60", "tempfile", - "which", ] [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "prost-types" -version = "0.12.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" dependencies = [ "prost", ] @@ -5017,9 +5297,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -5089,7 +5369,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.14", ] [[package]] @@ -5112,13 +5392,33 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.0.2" +version = "11.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" dependencies = [ "bitflags 2.5.0", ] +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "reddsa" version = "0.5.1" @@ -5150,15 +5450,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -5170,12 +5461,12 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom 0.2.14", + "libredox", "thiserror", ] @@ -5188,7 +5479,7 @@ dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -5208,7 +5499,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -5219,15 +5510,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" - -[[package]] -name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" @@ -5241,7 +5526,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.9", + "http 0.2.12", "http-body", "hyper", "hyper-rustls", @@ -5252,9 +5537,9 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.7", + "rustls 0.21.11", "rustls-native-certs 0.6.3", - "rustls-pemfile 1.0.3", + "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", @@ -5267,6 +5552,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots", "winreg", ] @@ -5309,7 +5595,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.10", + "getrandom 0.2.14", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5364,7 +5650,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits 0.2.17", + "num-traits 0.2.18", ] [[package]] @@ -5400,14 +5686,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.23", + "semver 1.0.22", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" dependencies = [ "bitflags 2.5.0", "errno", @@ -5418,13 +5704,13 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" dependencies = [ "log", - "ring 0.16.20", - "rustls-webpki 0.101.6", + "ring 0.17.8", + "rustls-webpki 0.101.7", "sct", ] @@ -5437,7 +5723,7 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki 0.102.2", "subtle", "zeroize", ] @@ -5449,7 +5735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.3", + "rustls-pemfile 1.0.4", "schannel", "security-framework", ] @@ -5469,9 +5755,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ "base64 0.21.7", ] @@ -5482,31 +5768,31 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -5515,15 +5801,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "salsa20" @@ -5545,9 +5831,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.10.0" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" dependencies = [ "cfg-if", "derive_more", @@ -5557,11 +5843,11 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.10.0" +version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -5569,27 +5855,27 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "schemars" -version = "0.8.16" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" dependencies = [ "dyn-clone", "schemars_derive", @@ -5599,14 +5885,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.16" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 1.0.109", + "syn 2.0.60", ] [[package]] @@ -5629,12 +5915,12 @@ dependencies = [ [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] @@ -5691,9 +5977,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -5704,9 +5990,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -5723,9 +6009,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -5771,9 +6057,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.12" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" dependencies = [ "serde", ] @@ -5796,18 +6082,18 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "serde_derive_internals" -version = "0.26.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.60", ] [[package]] @@ -5823,9 +6109,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.14" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ "itoa", "serde", @@ -5833,20 +6119,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -5908,7 +6194,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -5983,18 +6269,18 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] [[package]] name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", "rand_core 0.6.4", @@ -6013,11 +6299,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits 0.2.17", + "num-traits 0.2.18", "thiserror", "time", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "slab" version = "0.4.9" @@ -6038,46 +6330,50 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smooth-operator" -version = "0.6.0" -source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd6c053f54418db836f7f03143fcd2f3" +version = "0.7.0" +source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.7.0#0e182707f5e5bb9c6e0efa2d235dc9efd715d0a1" dependencies = [ "smooth-operator-impl", ] [[package]] name = "smooth-operator-impl" -version = "0.6.0" -source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.6.0#1e9e2382dd6c053f54418db836f7f03143fcd2f3" +version = "0.7.0" +source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.7.0#0e182707f5e5bb9c6e0efa2d235dc9efd715d0a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "socket2" -version = "0.4.9" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] -name = "socket2" -version = "0.5.4" +name = "solang-parser" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" dependencies = [ - "libc", - "windows-sys 0.48.0", + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror", + "unicode-xid", ] [[package]] @@ -6085,7 +6381,7 @@ name = "sparse-merkle-tree" version = "0.3.1-pre" source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" dependencies = [ - "borsh 1.2.1", + "borsh 1.5.0", "cfg-if", "ics23", "itertools 0.12.1", @@ -6106,9 +6402,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", @@ -6120,6 +6416,19 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", +] + [[package]] name = "strsim" version = "0.10.0" @@ -6132,7 +6441,16 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros", + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros 0.26.2", ] [[package]] @@ -6145,7 +6463,20 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.53", + "syn 2.0.60", +] + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.60", ] [[package]] @@ -6169,6 +6500,26 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +[[package]] +name = "svm-rs" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest", + "semver 1.0.22", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "url", + "zip", +] + [[package]] name = "syn" version = "1.0.109" @@ -6182,9 +6533,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.53" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", @@ -6200,7 +6551,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -6279,7 +6630,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits 0.2.17", + "num-traits 0.2.18", "once_cell", "prost", "prost-types", @@ -6307,7 +6658,7 @@ dependencies = [ "serde", "serde_json", "tendermint", - "toml 0.8.13", + "toml 0.8.12", "url", ] @@ -6399,12 +6750,12 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.10", + "getrandom 0.2.14", "peg", "pin-project", "rand 0.8.5", "reqwest", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_bytes", "serde_json", @@ -6438,20 +6789,31 @@ dependencies = [ "time", ] +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "test-log" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6" dependencies = [ "env_logger", "test-log-macros", @@ -6460,20 +6822,20 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "textwrap" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" @@ -6492,14 +6854,14 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -6507,12 +6869,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -6527,10 +6890,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -6609,9 +6973,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -6621,7 +6985,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.4", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] @@ -6638,13 +7002,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -6653,7 +7017,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.7", + "rustls 0.21.11", "tokio", ] @@ -6670,20 +7034,35 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", "tokio", ] +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.11", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite 0.20.1", + "webpki-roots", +] + [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -6704,66 +7083,41 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml" -version = "0.8.13" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.12", ] [[package]] name = "toml_datetime" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ - "indexmap 2.2.6", "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.5.17", ] [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.6", "toml_datetime", - "winnow 0.5.17", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" dependencies = [ "indexmap 2.2.6", "serde", @@ -6784,7 +7138,7 @@ dependencies = [ "base64 0.21.7", "bytes", "h2", - "http 0.2.9", + "http 0.2.12", "http-body", "hyper", "hyper-timeout", @@ -6813,7 +7167,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -6868,7 +7222,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", ] [[package]] @@ -6903,12 +7257,23 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -6924,9 +7289,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -6939,21 +7304,41 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", "tracing-serde", ] [[package]] name = "triomphe" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand 0.8.5", + "rustls 0.21.11", + "sha1", + "thiserror", + "url", + "utf-8", +] [[package]] name = "tungstenite" @@ -7023,9 +7408,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -7035,9 +7420,9 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] @@ -7084,9 +7469,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -7107,9 +7492,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8-width" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" [[package]] name = "utf8parse" @@ -7123,7 +7508,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.14", "serde", ] @@ -7133,7 +7518,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.14", ] [[package]] @@ -7159,9 +7544,9 @@ dependencies = [ [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -7190,9 +7575,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7200,24 +7585,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -7227,9 +7612,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7237,22 +7622,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasmtimer" @@ -7270,9 +7655,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -7280,21 +7665,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.2" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" - -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "winapi" @@ -7329,20 +7702,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.42.2", + "windows-targets 0.52.5", ] [[package]] @@ -7363,21 +7727,6 @@ dependencies = [ "windows-targets 0.52.5", ] -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-targets" version = "0.48.5" @@ -7409,12 +7758,6 @@ dependencies = [ "windows_x86_64_msvc 0.52.5", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7427,12 +7770,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7445,12 +7782,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7469,12 +7800,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7487,12 +7812,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7505,12 +7824,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7523,12 +7836,6 @@ version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7543,9 +7850,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.5.17" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] @@ -7597,6 +7904,12 @@ dependencies = [ "tap", ] +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + [[package]] name = "zcash_encoding" version = "0.2.0" @@ -7608,9 +7921,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -7623,5 +7936,54 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.60", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq 0.1.5", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac 0.12.1", + "pbkdf2 0.11.0", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.10+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +dependencies = [ + "cc", + "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index d1e7fe11f1..5e88a55459 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,17 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -<<<<<<< HEAD -namada_ibc = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } -namada_parameters = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } -namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } -namada_trans_token = { git = "https://github.com/anoma/namada", tag = "v0.37.0" } -======= -namada_ibc = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } -namada_token = { git = "https://github.com/anoma/namada", rev = "a0e2e6c09e4d7a2ee6b3114b6ba6560204d722a6" } ->>>>>>> 1034b2d8 (for Namada/#3297 - split transfer tx) +namada_ibc = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } +namada_token = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } # Other dependencies abscissa_core = "=0.6.0" From 2231cd172e188ce1d8feebd15999b560df1ca444 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 6 Jun 2024 11:56:21 +0200 Subject: [PATCH 050/103] Namada 0.39.0 --- Cargo.lock | 88 +++++++++++++++++++++++++++--------------------------- Cargo.toml | 8 ++--- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5dcd104503..b0569575b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3973,8 +3973,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "linkme", @@ -3987,8 +3987,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "namada_core", "smooth-operator", @@ -3997,8 +3997,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "bech32 0.8.1", "borsh 1.5.0", @@ -4044,8 +4044,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "ethers", @@ -4071,8 +4071,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "linkme", @@ -4087,8 +4087,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "linkme", @@ -4102,8 +4102,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4125,8 +4125,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "ibc", @@ -4153,8 +4153,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "data-encoding", "proc-macro2", @@ -4165,8 +4165,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "eyre", @@ -4180,8 +4180,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "lazy_static", "linkme", @@ -4190,8 +4190,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "namada_core", "namada_macros", @@ -4201,8 +4201,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "konst", @@ -4226,16 +4226,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "async-trait", "bimap", @@ -4300,8 +4300,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "masp_primitives", @@ -4317,8 +4317,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4341,8 +4341,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4361,8 +4361,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "namada_core", @@ -4376,8 +4376,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "konst", "namada_core", @@ -4387,8 +4387,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4415,8 +4415,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.38.1" -source = "git+https://github.com/anoma/namada?rev=eb8783d118c832923bd728144092de4e4231da72#eb8783d118c832923bd728144092de4e4231da72" +version = "0.39.0" +source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" dependencies = [ "borsh 1.5.0", "linkme", diff --git a/Cargo.toml b/Cargo.toml index 5e88a55459..271768cad9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } -namada_token = { git = "https://github.com/anoma/namada", rev = "eb8783d118c832923bd728144092de4e4231da72" } +namada_ibc = { git = "https://github.com/anoma/namada", version = "0.39.0" } +namada_parameters = { git = "https://github.com/anoma/namada", version = "0.39.0" } +namada_sdk = { git = "https://github.com/anoma/namada", version = "0.39.0" } +namada_token = { git = "https://github.com/anoma/namada", version = "0.39.0" } # Other dependencies abscissa_core = "=0.6.0" From edf6b2b9835b749d78e95af2cec8c5c6a038a31d Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 13 Jun 2024 14:16:04 +0200 Subject: [PATCH 051/103] fix tx event query --- crates/relayer/src/chain/namada/query.rs | 37 ++++++++++++++---------- crates/relayer/src/chain/namada/tx.rs | 2 +- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 222f6f3db3..e7dfc865bf 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -11,8 +11,7 @@ use namada_sdk::events::Event as NamadaEvent; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; -use namada_sdk::tx::data::ResultCode; -use namada_sdk::tx::event::Code as CodeAttr; +use namada_sdk::tx::event::Batch as BatchAttr; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; use tendermint::Hash as TmHash; @@ -122,19 +121,27 @@ impl NamadaChain { let height = ICSHeight::new(self.config.id.version(), h.0) .map_err(|_| Error::invalid_height_no_source())?; // Check if the tx is valid - let code = applied - .read_attribute::() - .expect("The code should exist"); - if code != ResultCode::Ok { - return Ok(vec![IbcEventWithHeight::new( - IbcEvent::ChainError(format!( - "The transaction was invalid: Event {:?}", - applied, - )), - height, - )]); - } - self.query_events(height) + let tx_result = applied + .read_attribute::>() + .expect("The batch attribute should exist"); + let events = tx_result.batch_results.0.into_iter().filter_map(|(_, r)| { + r.map(|batched_tx_result| { + // Get IBC events when the transaction was accepted + if batched_tx_result.is_accepted() { + batched_tx_result.events.into_iter().filter_map(|event| { + ibc_event_try_from_abci_event(&event.into()).ok() + }).map(|ibc_event| IbcEventWithHeight::new(ibc_event, height)).collect() + } else { + vec![IbcEventWithHeight::new( + IbcEvent::ChainError(format!( + "The transaction was invalid: BatchedTxResult {batched_tx_result}", + )), + height, + )] + } + }).ok() + }).flatten().collect(); + Ok(events) } None => Ok(vec![]), } diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index defa6e6e78..c1be1ac799 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -6,6 +6,7 @@ use std::time::Instant; use ibc_proto::google::protobuf::Any; use itertools::Itertools; +use namada_ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; use namada_sdk::address::{Address, ImplicitAddress}; use namada_sdk::args::{self, TxBuilder}; use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom}; @@ -19,7 +20,6 @@ use namada_sdk::ibc::core::channel::types::msgs::{ MsgTimeout as IbcMsgTimeout, ACKNOWLEDGEMENT_TYPE_URL, RECV_PACKET_TYPE_URL, TIMEOUT_TYPE_URL, }; use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; -use namada_ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; use namada_sdk::masp::{PaymentAddress, TransferTarget}; use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; use namada_sdk::{signing, tx, Namada}; From 2adb11830f114afed55d1e4a5e2fc4cdffaef6d2 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 14 Jun 2024 15:41:25 +0200 Subject: [PATCH 052/103] for Namada 0.39.0 CI --- .github/workflows/namada.yaml | 4 ++-- Cargo.lock | 19 +++++++++++-------- tools/test-framework/src/relayer/transfer.rs | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 1099389089..8198ab2674 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/157259234" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/159144175" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -159,7 +159,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/157259234" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/159144175" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac diff --git a/Cargo.lock b/Cargo.lock index b0569575b7..3718548df1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2740,7 +2740,7 @@ dependencies = [ [[package]] name = "ibc-chain-registry" -version = "0.27.2" +version = "0.28.0" dependencies = [ "async-trait", "flex-error", @@ -3129,7 +3129,7 @@ dependencies = [ [[package]] name = "ibc-integration-test" -version = "0.27.2" +version = "0.28.0" dependencies = [ "byte-unit", "http 0.2.12", @@ -3190,7 +3190,7 @@ dependencies = [ [[package]] name = "ibc-relayer" -version = "0.27.2" +version = "0.28.0" dependencies = [ "anyhow", "async-stream", @@ -3264,7 +3264,7 @@ dependencies = [ [[package]] name = "ibc-relayer-cli" -version = "1.8.2" +version = "1.9.0" dependencies = [ "abscissa_core", "clap", @@ -3305,7 +3305,7 @@ dependencies = [ [[package]] name = "ibc-relayer-rest" -version = "0.27.2" +version = "0.28.0" dependencies = [ "axum", "crossbeam-channel", @@ -3321,7 +3321,7 @@ dependencies = [ [[package]] name = "ibc-relayer-types" -version = "0.27.2" +version = "0.28.0" dependencies = [ "bytes", "derive_more", @@ -3352,7 +3352,7 @@ dependencies = [ [[package]] name = "ibc-telemetry" -version = "0.27.2" +version = "0.28.0" dependencies = [ "axum", "dashmap", @@ -3371,7 +3371,7 @@ dependencies = [ [[package]] name = "ibc-test-framework" -version = "0.27.2" +version = "0.28.0" dependencies = [ "color-eyre", "crossbeam-channel", @@ -3385,6 +3385,8 @@ dependencies = [ "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.12.1", + "namada_ibc", + "namada_sdk", "once_cell", "prost", "rand 0.8.5", @@ -3394,6 +3396,7 @@ dependencies = [ "serde_yaml", "sha2 0.10.8", "subtle-encoding", + "tendermint", "tendermint-rpc", "tokio", "toml 0.8.12", diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index 809bb056e8..91a0445043 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -144,7 +144,7 @@ pub fn local_namada_token_transfer( &[ "--base-dir", home_path, - "transfer", + "transparent-transfer", "--source", sender, "--target", From 19c54762b034d790ae53719a9513d53af115108e Mon Sep 17 00:00:00 2001 From: Yuji Ito Date: Fri, 21 Jun 2024 15:17:18 +0200 Subject: [PATCH 053/103] Namada gas estimation (#32) * gas estimation * add error * adjust gas * fix script * use the default gas setting when gas estimation failure --- crates/relayer/src/chain/cosmos/gas.rs | 10 +- crates/relayer/src/chain/namada/error.rs | 4 + crates/relayer/src/chain/namada/tx.rs | 128 +++++++++++++++++++++-- e2e/namada-simple-transfers | 35 +++++-- scripts/setup-namada | 6 +- scripts/setup-namada-single-node | 4 +- 6 files changed, 163 insertions(+), 24 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/gas.rs b/crates/relayer/src/chain/cosmos/gas.rs index 2106da3375..76ad0adcb3 100644 --- a/crates/relayer/src/chain/cosmos/gas.rs +++ b/crates/relayer/src/chain/cosmos/gas.rs @@ -117,16 +117,16 @@ pub fn mul_floor(a: u64, f: f64) -> BigInt { (f * a).floor().to_integer() } -struct AdjustGas { - gas_multiplier: f64, - max_gas: u64, - gas_amount: u64, +pub struct AdjustGas { + pub gas_multiplier: f64, + pub max_gas: u64, + pub gas_amount: u64, } /// Adjusts the fee based on the configured `gas_multiplier` to prevent out of gas errors. /// The actual gas cost, when a transaction is executed, may be slightly higher than the /// one returned by the simulation. -fn adjust_estimated_gas( +pub fn adjust_estimated_gas( AdjustGas { gas_multiplier, max_gas, diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs index 85f5d46527..5c3a76f941 100644 --- a/crates/relayer/src/chain/namada/error.rs +++ b/crates/relayer/src/chain/namada/error.rs @@ -21,6 +21,10 @@ define_error! { BorshDecode [ TraceError ] |_| { "borsh decoding failed" }, + + DryRun + { tx_result: namada_sdk::tx::data::TxResult } + |e| { format!("Dry run to simulate a transaction failed: {}", e.tx_result) }, } } diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index c1be1ac799..9cc8454d7c 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -22,12 +22,15 @@ use namada_sdk::ibc::core::channel::types::msgs::{ use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; use namada_sdk::masp::{PaymentAddress, TransferTarget}; use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; +use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; use namada_sdk::{signing, tx, Namada}; use namada_token::ShieldingTransfer; use tendermint_proto::Protobuf; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; -use tracing::{debug, debug_span, trace}; +use tracing::{debug, debug_span, trace, warn}; +use crate::chain::cosmos::gas::{adjust_estimated_gas, AdjustGas}; +use crate::chain::cosmos::types::gas::default_gas_from_config; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; @@ -44,9 +47,11 @@ impl NamadaChain { return Err(Error::send_tx("No message to be batched".to_string())); } - let tx_args = self.make_tx_args()?; + let mut tx_args = self.make_tx_args()?; + + let relayer_key = self.get_key()?; + let relayer_addr = relayer_key.address; - let relayer_addr = self.get_key()?.address; let rt = self.rt.clone(); rt.block_on(self.submit_reveal_aux(&tx_args, &relayer_addr))?; @@ -57,7 +62,6 @@ impl NamadaChain { serialized_tx: None, owner: relayer_addr.clone(), }; - let mut txs = Vec::new(); for msg in msgs { let (mut tx, signing_data) = rt @@ -67,17 +71,46 @@ impl NamadaChain { txs.push((tx, signing_data)); } let (mut tx, signing_data) = tx::build_batch(txs).map_err(NamadaError::namada)?; + let signing_data = signing_data.first().expect("SigningData should exist"); + + // Estimate the fee with dry-run + if let Some((fee_token, gas_limit, fee_amount)) = + self.estimate_fee(tx.clone(), &tx_args, signing_data)? + { + // Set the estimated fee + tx_args = tx_args + .fee_token(fee_token) + .gas_limit(gas_limit.into()) + .fee_amount( + fee_amount + .to_string() + .parse() + .expect("Fee should be parsable"), + ); + let fee_amount = rt + .block_on(signing::validate_fee(&self.ctx, &tx_args)) + .map_err(NamadaError::namada)?; + rt.block_on(prepare_tx( + &tx_args, + &mut tx, + fee_amount, + relayer_key.secret_key.to_public(), + )) + .map_err(NamadaError::namada)?; + } + rt.block_on(self.ctx.sign( &mut tx, - &args.tx, - signing_data.first().unwrap().clone(), + &tx_args, + signing_data.clone(), signing::default_sign, (), )) .map_err(NamadaError::namada)?; + let tx_header_hash = tx.header_hash().to_string(); let response = rt - .block_on(self.ctx.submit(tx, &args.tx)) + .block_on(self.ctx.submit(tx, &tx_args)) .map_err(NamadaError::namada)?; match response { @@ -284,6 +317,87 @@ impl NamadaChain { } } + fn estimate_fee( + &self, + mut tx: tx::Tx, + args: &TxArgs, + signing_data: &signing::SigningTxData, + ) -> Result, Error> { + let chain_id = self.config().id.clone(); + + let args = args.clone().dry_run_wrapper(true); + self.rt + .block_on(self.ctx.sign( + &mut tx, + &args, + signing_data.clone(), + signing::default_sign, + (), + )) + .map_err(NamadaError::namada)?; + + let response = match self.rt.block_on(self.ctx.submit(tx, &args)) { + Ok(resp) => resp, + Err(_) => { + warn!( + id = %chain_id, + "send_tx: gas estimation failed, using the default gas limit" + ); + return Ok(None); + } + }; + let estimated_gas = match response { + ProcessTxResponse::DryRun(result) => { + if result + .batch_results + .0 + .iter() + .all(|(_, r)| matches!(&r, Ok(result) if result.is_accepted())) + { + // Convert with the decimal scale of Gas units + u64::from_str(&result.gas_used.to_string()).expect("Gas should be parsable") + } else { + return Err(Error::namada(NamadaError::dry_run(result))); + } + } + _ => unreachable!("Unexpected response"), + }; + let max_gas = default_gas_from_config(self.config()); + if estimated_gas > max_gas { + debug!( + id = %chain_id, estimated = ?estimated_gas, max_gas, + "send_tx: estimated gas is higher than max gas" + ); + + return Err(Error::tx_simulate_gas_estimate_exceeded( + chain_id, + estimated_gas, + max_gas, + )); + } + + let fee_token_str = self.config().gas_price.denom.clone(); + let fee_token = Address::from_str(&fee_token_str) + .map_err(|_| NamadaError::address_decode(fee_token_str.clone()))?; + let gas_price = self.config().gas_price.price; + let gas_multiplier = self.config().gas_multiplier.unwrap_or_default().to_f64(); + + let adjusted_gas = adjust_estimated_gas(AdjustGas { + gas_multiplier, + max_gas, + gas_amount: estimated_gas, + }); + + debug!( + id = %chain_id, + "send_tx: using {} gas, gas_price {:?}", + estimated_gas, + gas_price, + ); + + Ok(Some((fee_token, adjusted_gas, gas_price))) + } + pub fn wait_for_block_commits( &self, tx_sync_results: &mut [TxSyncResult], diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index abba5f10da..935217127c 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -4,7 +4,7 @@ # `make build` and `make build-wasm-scripts` on Namada directory in advance # Run with `namada-simple-transfers ${namada_dir}` -set -ex +set -e NAMADA_DIR=$1 if [ -z "${NAMADA_DIR}" ] @@ -45,10 +45,34 @@ function init_relayer_balance() { --node ${ledger_addr} } +function wait_for_relaying() { + local chain_id=$1 + + for i in {1..20} + do + result=$(cargo run --bin hermes -- --config config_for_namada.toml \ + query packet pending \ + --chain ${chain_id} \ + --channel channel-0 \ + --port transfer) + + echo ${result} + if [[ "${result}" =~ "=" ]]; + then + echo "Waiting for packet relaying..." + sleep 5 + else + echo "All packets have been relayed!" + break + fi + done +} + # ==== main ==== # Run 2 Namada chains ${HERMES_DIR}/scripts/setup-namada ${NAMADA_DIR} +sleep 5 cd ${HERMES_DIR} ids=$(grep "id" config_for_namada.toml | awk -F"'" '/^id/ {print $2}') @@ -238,8 +262,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_B} -# wait for relaying -sleep 15 +wait_for_relaying ${chain_a} echo "==== Balances on chain A ====" balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ @@ -295,8 +318,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --gas-payer relayer \ --node ${LEDGER_ADDR_A} -# wait for relaying -sleep 40 +wait_for_relaying ${chain_a} echo "==== Balance of shielded_a on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ @@ -373,8 +395,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_B} -# wait for relaying -sleep 40 +wait_for_relaying ${chain_a} echo "==== Balances of shielded_a on chain A ====" ${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ diff --git a/scripts/setup-namada b/scripts/setup-namada index 313a568c72..024f706ae8 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -32,7 +32,7 @@ LEDGER_ADDR_B="http://127.0.0.1:28657" HERMES_CONFIG_TEMPLATE=" [global] -log_level = 'info' +log_level = 'debug' [mode] @@ -67,7 +67,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = '_FEE_TOKEN_A_' } +gas_price = { price = 0.000001, denom = '_FEE_TOKEN_A_' } [[chains]] id = '_CHAIN_ID_B_' @@ -78,7 +78,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:28657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = '_FEE_TOKEN_B_' } +gas_price = { price = 0.000001, denom = '_FEE_TOKEN_B_' } " function make_genesis() { diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index 9c33c15cd7..e21d662030 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -27,7 +27,7 @@ LEDGER_ADDR="http://127.0.0.1:27657" HERMES_CONFIG_TEMPLATE=" [global] -log_level = 'info' +log_level = 'debug' [mode] @@ -62,7 +62,7 @@ event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_de account_prefix = '' key_name = 'relayer' store_prefix = 'ibc' -gas_price = { price = 0.001, denom = '_FEE_TOKEN_' } +gas_price = { price = 0.000001, denom = '_FEE_TOKEN_' } " function make_genesis() { From d42fc2393a467a5993114592d60f985f8adb3a8c Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 24 Jun 2024 15:32:12 +0200 Subject: [PATCH 054/103] fix error_events test --- .../integration-test/src/tests/error_events.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/tools/integration-test/src/tests/error_events.rs b/tools/integration-test/src/tests/error_events.rs index 7e5d7172d0..7eaccb8719 100644 --- a/tools/integration-test/src/tests/error_events.rs +++ b/tools/integration-test/src/tests/error_events.rs @@ -1,10 +1,9 @@ use ibc_relayer::chain::tracking::TrackedMsgs; use ibc_relayer_types::events::IbcEvent; +use ibc_test_framework::chain::chain_type::ChainType; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::transfer::build_transfer_message; -// TODO: Need to fix Namada and Namada event checking -#[cfg(not(feature = "namada"))] #[test] fn test_error_events() -> Result<(), Error> { run_binary_channel_test(&ErrorEventsTest) @@ -52,10 +51,17 @@ impl BinaryChannelTest for ErrorEventsTest { let events = chains.handle_a().send_messages_and_wait_commit(messages)?; - // We expect 4 error events to be returned, corresponding to the - // 4 messages sent. - - assert_eq!(events.len(), 4); + if matches!( + chains.node_a.chain_driver().value().chain_type, + ChainType::Namada + ) { + // Requested the messages with a batched transaction + assert_eq!(events.len(), 1); + } else { + // We expect 4 error events to be returned, corresponding to the + // 4 messages sent. + assert_eq!(events.len(), 4); + } for event_with_height in events { match event_with_height.event { From 21ea6d735db7e8d8a1195bca7d9c9fadbacfe57b Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 24 Jun 2024 15:35:53 +0200 Subject: [PATCH 055/103] fix to return a dummy failure response when simulation failure --- crates/relayer/src/chain/namada/error.rs | 4 +- crates/relayer/src/chain/namada/query.rs | 14 ++- crates/relayer/src/chain/namada/tx.rs | 107 ++++++++++++++++------- 3 files changed, 90 insertions(+), 35 deletions(-) diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs index 5c3a76f941..252599309f 100644 --- a/crates/relayer/src/chain/namada/error.rs +++ b/crates/relayer/src/chain/namada/error.rs @@ -23,8 +23,8 @@ define_error! { |_| { "borsh decoding failed" }, DryRun - { tx_result: namada_sdk::tx::data::TxResult } - |e| { format!("Dry run to simulate a transaction failed: {}", e.tx_result) }, + { tx_results: namada_sdk::tx::data::BatchResults } + |e| { format!("Dry run to simulate a transaction failed: {:?}", e.tx_results) }, } } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index e7dfc865bf..e537598701 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -11,7 +11,8 @@ use namada_sdk::events::Event as NamadaEvent; use namada_sdk::queries::{Client as SdkClient, RPC}; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; -use namada_sdk::tx::event::Batch as BatchAttr; +use namada_sdk::tx::data::ResultCode; +use namada_sdk::tx::event::{Batch as BatchAttr, Code as CodeAttr}; use namada_sdk::Namada; use tendermint::block::Height as TmHeight; use tendermint::Hash as TmHash; @@ -124,6 +125,17 @@ impl NamadaChain { let tx_result = applied .read_attribute::>() .expect("The batch attribute should exist"); + let code = applied + .read_attribute::() + .expect("The code attribute should exist"); + if code != ResultCode::Ok { + return Ok(vec![IbcEventWithHeight::new( + IbcEvent::ChainError(format!( + "The transaction was invalid: TxResult {tx_result}", + )), + height, + )]); + } let events = tx_result.batch_results.0.into_iter().filter_map(|(_, r)| { r.map(|batched_tx_result| { // Get IBC events when the transaction was accepted diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 9cc8454d7c..ffb4103845 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -30,13 +30,13 @@ use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace, warn}; use crate::chain::cosmos::gas::{adjust_estimated_gas, AdjustGas}; -use crate::chain::cosmos::types::gas::default_gas_from_config; +use crate::chain::cosmos::types::gas::max_gas_from_config; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; -use crate::error::Error; +use crate::error::{Error, ErrorDetail}; -use super::error::Error as NamadaError; +use super::error::{Error as NamadaError, ErrorDetail as NamadaErrorDetail}; use super::NamadaChain; const WAIT_BACKOFF: Duration = Duration::from_millis(300); @@ -47,7 +47,7 @@ impl NamadaChain { return Err(Error::send_tx("No message to be batched".to_string())); } - let mut tx_args = self.make_tx_args()?; + let tx_args = self.make_tx_args()?; let relayer_key = self.get_key()?; let relayer_addr = relayer_key.address; @@ -74,29 +74,36 @@ impl NamadaChain { let signing_data = signing_data.first().expect("SigningData should exist"); // Estimate the fee with dry-run - if let Some((fee_token, gas_limit, fee_amount)) = - self.estimate_fee(tx.clone(), &tx_args, signing_data)? - { + match self.estimate_fee(tx.clone(), &tx_args, signing_data) { // Set the estimated fee - tx_args = tx_args - .fee_token(fee_token) - .gas_limit(gas_limit.into()) - .fee_amount( - fee_amount - .to_string() - .parse() - .expect("Fee should be parsable"), - ); - let fee_amount = rt - .block_on(signing::validate_fee(&self.ctx, &tx_args)) - .map_err(NamadaError::namada)?; - rt.block_on(prepare_tx( - &tx_args, - &mut tx, - fee_amount, - relayer_key.secret_key.to_public(), - )) - .map_err(NamadaError::namada)?; + Ok(Some((fee_token, gas_limit, fee_amount))) => { + self.prepare_tx_with_gas(&mut tx, &tx_args, &fee_token, gas_limit, fee_amount)? + } + Ok(None) => { + // the default gas limit will be used + } + Err(err) => match err.detail() { + ErrorDetail::Namada(namada_err) => { + match namada_err.source { + NamadaErrorDetail::DryRun(ref tx_results) => { + // Simulation failed. Return the failure response to avoid the actual request. + // The response will be converted to `TxSyncResult`. + let response = Response { + codespace: Default::default(), + // the code value isn't used, but it should be non-zero to + // recognize the transaction failed + code: 1.into(), + data: Default::default(), + log: format!("Simulation failed: Results {tx_results}"), + hash: Default::default(), + }; + return Ok(response); + } + _ => return Err(err), + } + } + _ => return Err(err), + }, } rt.block_on(self.ctx.sign( @@ -324,8 +331,16 @@ impl NamadaChain { signing_data: &signing::SigningTxData, ) -> Result, Error> { let chain_id = self.config().id.clone(); + let fee_token_str = self.config().gas_price.denom.clone(); + let fee_token = Address::from_str(&fee_token_str) + .map_err(|_| NamadaError::address_decode(fee_token_str.clone()))?; + let max_gas = max_gas_from_config(self.config()); + let gas_price = self.config().gas_price.price; let args = args.clone().dry_run_wrapper(true); + // Set the max gas to the gas limit for the simulation + self.prepare_tx_with_gas(&mut tx, &args, &fee_token, max_gas, gas_price)?; + self.rt .block_on(self.ctx.sign( &mut tx, @@ -357,12 +372,12 @@ impl NamadaChain { // Convert with the decimal scale of Gas units u64::from_str(&result.gas_used.to_string()).expect("Gas should be parsable") } else { - return Err(Error::namada(NamadaError::dry_run(result))); + // All or some of requests will fail + return Err(NamadaError::dry_run(result.batch_results).into()); } } _ => unreachable!("Unexpected response"), }; - let max_gas = default_gas_from_config(self.config()); if estimated_gas > max_gas { debug!( id = %chain_id, estimated = ?estimated_gas, max_gas, @@ -376,10 +391,6 @@ impl NamadaChain { )); } - let fee_token_str = self.config().gas_price.denom.clone(); - let fee_token = Address::from_str(&fee_token_str) - .map_err(|_| NamadaError::address_decode(fee_token_str.clone()))?; - let gas_price = self.config().gas_price.price; let gas_multiplier = self.config().gas_multiplier.unwrap_or_default().to_f64(); let adjusted_gas = adjust_estimated_gas(AdjustGas { @@ -398,6 +409,38 @@ impl NamadaChain { Ok(Some((fee_token, adjusted_gas, gas_price))) } + fn prepare_tx_with_gas( + &self, + tx: &mut tx::Tx, + args: &TxArgs, + fee_token: &Address, + gas_limit: u64, + fee_amount: f64, + ) -> Result<(), Error> { + let relayer_key = self.get_key()?; + let relayer_public_key = relayer_key.secret_key.to_public(); + + let args = args + .clone() + .fee_token(fee_token.clone()) + .gas_limit(gas_limit.into()) + .fee_amount( + fee_amount + .to_string() + .parse() + .expect("Fee should be parsable"), + ); + let fee_amount = self + .rt + .block_on(signing::validate_fee(&self.ctx, &args)) + .map_err(NamadaError::namada)?; + self.rt + .block_on(prepare_tx(&args, tx, fee_amount, relayer_public_key)) + .map_err(NamadaError::namada)?; + + Ok(()) + } + pub fn wait_for_block_commits( &self, tx_sync_results: &mut [TxSyncResult], From 1c5e07158f901c0b08fa7eb733194ac7db2f0b85 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 27 Jun 2024 14:31:27 +0200 Subject: [PATCH 056/103] return err when sim fails --- crates/relayer/src/chain/namada.rs | 6 +++++- crates/relayer/src/chain/namada/tx.rs | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 85153c2386..b0319433de 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -389,7 +389,11 @@ impl ChainEndpoint for NamadaChain { let msg_chunks = proto_msgs.chunks(max_msg_num); let mut responses = vec![]; for msg_chunk in msg_chunks { - responses.push(self.batch_txs(msg_chunk)?); + let response = self.batch_txs(msg_chunk)?; + if response.code.is_err() { + return Err(Error::send_tx(response.log)); + } + responses.push(response); } Ok(responses) diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index ffb4103845..69dc787932 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -86,7 +86,8 @@ impl NamadaChain { ErrorDetail::Namada(namada_err) => { match namada_err.source { NamadaErrorDetail::DryRun(ref tx_results) => { - // Simulation failed. Return the failure response to avoid the actual request. + warn!("Simulation failed: {tx_results}"); + // Return the failure response to avoid the actual request. // The response will be converted to `TxSyncResult`. let response = Response { codespace: Default::default(), From 5922e2068cdc42b941d315ebdd2676dbd9f69a42 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 27 Jun 2024 14:33:39 +0200 Subject: [PATCH 057/103] for connection events in NewBlock --- .../src/core/ics03_connection/events.rs | 25 +++++++ .../src/chain/cosmos/types/events/channel.rs | 44 ++---------- .../chain/cosmos/types/events/connection.rs | 69 +++++++++++++++++++ .../src/chain/cosmos/types/events/mod.rs | 2 + .../chain/cosmos/types/events/raw_object.rs | 42 +++++++++++ .../src/event/source/websocket/extract.rs | 23 ++++++- 6 files changed, 164 insertions(+), 41 deletions(-) create mode 100644 crates/relayer/src/chain/cosmos/types/events/connection.rs create mode 100644 crates/relayer/src/chain/cosmos/types/events/raw_object.rs diff --git a/crates/relayer-types/src/core/ics03_connection/events.rs b/crates/relayer-types/src/core/ics03_connection/events.rs index 5fddc6cfad..e91b7e7ed6 100644 --- a/crates/relayer-types/src/core/ics03_connection/events.rs +++ b/crates/relayer-types/src/core/ics03_connection/events.rs @@ -4,6 +4,7 @@ use serde_derive::{Deserialize, Serialize}; use std::fmt::{Display, Error as FmtError, Formatter}; use tendermint::abci; +use crate::core::ics04_channel::events::EventType; use crate::core::ics24_host::identifier::{ClientId, ConnectionId}; use crate::events::{IbcEvent, IbcEventType}; @@ -68,6 +69,12 @@ impl OpenInit { } } +impl EventType for OpenInit { + fn event_type() -> IbcEventType { + IbcEventType::OpenInitConnection + } +} + impl Display for OpenInit { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { write!(f, "OpenInit {{ {} }}", self.0) @@ -107,6 +114,12 @@ impl OpenTry { } } +impl EventType for OpenTry { + fn event_type() -> IbcEventType { + IbcEventType::OpenTryConnection + } +} + impl Display for OpenTry { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { write!(f, "OpenTry {{ {} }}", self.0) @@ -146,6 +159,12 @@ impl OpenAck { } } +impl EventType for OpenAck { + fn event_type() -> IbcEventType { + IbcEventType::OpenAckConnection + } +} + impl Display for OpenAck { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { write!(f, "OpenAck {{ {} }}", self.0) @@ -185,6 +204,12 @@ impl OpenConfirm { } } +impl EventType for OpenConfirm { + fn event_type() -> IbcEventType { + IbcEventType::OpenConfirmConnection + } +} + impl Display for OpenConfirm { fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { write!(f, "OpenConfirm {{ {} }}", self.0) diff --git a/crates/relayer/src/chain/cosmos/types/events/channel.rs b/crates/relayer/src/chain/cosmos/types/events/channel.rs index 7a1313ae00..e23c2c2faa 100644 --- a/crates/relayer/src/chain/cosmos/types/events/channel.rs +++ b/crates/relayer/src/chain/cosmos/types/events/channel.rs @@ -1,5 +1,3 @@ -use alloc::collections::btree_map::BTreeMap as HashMap; - use ibc_relayer_types::applications::ics31_icq::events::CrossChainQueryPacket; use ibc_relayer_types::core::ics02_client::height::HeightErrorDetail; use ibc_relayer_types::core::ics04_channel::error::Error; @@ -18,6 +16,10 @@ use ibc_relayer_types::core::ics24_host::identifier::ChainId; use ibc_relayer_types::events::Error as EventError; use ibc_relayer_types::Height; +use crate::chain::cosmos::types::events::raw_object::RawObject; +use crate::chain::cosmos::types::events::raw_object::extract_attribute; +use crate::chain::cosmos::types::events::raw_object::maybe_extract_attribute; + fn extract_attributes(object: &RawObject<'_>, namespace: &str) -> Result { Ok(Attributes { port_id: extract_attribute(object, &format!("{namespace}.port_id"))? @@ -248,41 +250,3 @@ impl TryFrom> for CrossChainQueryPacket { }) } } - -#[derive(Debug, Clone)] -pub struct RawObject<'a> { - pub height: Height, - pub action: String, - pub idx: usize, - pub events: &'a HashMap>, -} - -impl<'a> RawObject<'a> { - pub fn new( - height: Height, - action: String, - idx: usize, - events: &'a HashMap>, - ) -> RawObject<'a> { - RawObject { - height, - action, - idx, - events, - } - } -} - -pub fn extract_attribute(object: &RawObject<'_>, key: &str) -> Result { - let value = object - .events - .get(key) - .ok_or_else(|| EventError::missing_key(key.to_string()))?[object.idx] - .clone(); - - Ok(value) -} - -pub fn maybe_extract_attribute(object: &RawObject<'_>, key: &str) -> Option { - object.events.get(key).map(|tags| tags[object.idx].clone()) -} diff --git a/crates/relayer/src/chain/cosmos/types/events/connection.rs b/crates/relayer/src/chain/cosmos/types/events/connection.rs new file mode 100644 index 0000000000..6c8da3e2fe --- /dev/null +++ b/crates/relayer/src/chain/cosmos/types/events/connection.rs @@ -0,0 +1,69 @@ + +use ibc_relayer_types::core::ics03_connection::events::OpenInit; +use ibc_relayer_types::core::ics03_connection::events::OpenTry; +use ibc_relayer_types::core::ics03_connection::events::OpenAck; +use ibc_relayer_types::core::ics03_connection::events::OpenConfirm; +use ibc_relayer_types::core::ics03_connection::events::Attributes; +use ibc_relayer_types::events::Error as EventError; +use ibc_relayer_types::core::ics04_channel::events::EventType; + +use crate::chain::cosmos::types::events::raw_object::RawObject; +use crate::chain::cosmos::types::events::raw_object::extract_attribute; +use crate::chain::cosmos::types::events::raw_object::maybe_extract_attribute; + +fn extract_attributes(object: &RawObject<'_>, namespace: &str) -> Result { + Ok(Attributes { + client_id: extract_attribute(object, &format!("{namespace}.client_id"))? + .parse() + .map_err(EventError::parse)?, + counterparty_connection_id: maybe_extract_attribute( + object, + &format!("{namespace}.counterparty_connection_id"), + ) + .and_then(|v| v.parse().ok()), + counterparty_client_id: extract_attribute(object, &format!("{namespace}.counterparty_client_id"))? + .parse() + .map_err(EventError::parse)?, + connection_id: maybe_extract_attribute( + object, + &format!("{namespace}.connection_id"), + ) + .and_then(|v| v.parse().ok()), + }) +} + +impl TryFrom> for OpenInit { + type Error = EventError; + + fn try_from(value: RawObject<'_>) -> Result { + let attributes = extract_attributes(&value, Self::event_type().as_str())?; + Ok(OpenInit(attributes)) + } +} + +impl TryFrom> for OpenTry { + type Error = EventError; + + fn try_from(value: RawObject<'_>) -> Result { + let attributes = extract_attributes(&value, Self::event_type().as_str())?; + Ok(OpenTry(attributes)) + } +} + +impl TryFrom> for OpenAck { + type Error = EventError; + + fn try_from(value: RawObject<'_>) -> Result { + let attributes = extract_attributes(&value, Self::event_type().as_str())?; + Ok(OpenAck(attributes)) + } +} + +impl TryFrom> for OpenConfirm { + type Error = EventError; + + fn try_from(value: RawObject<'_>) -> Result { + let attributes = extract_attributes(&value, Self::event_type().as_str())?; + Ok(OpenConfirm(attributes)) + } +} \ No newline at end of file diff --git a/crates/relayer/src/chain/cosmos/types/events/mod.rs b/crates/relayer/src/chain/cosmos/types/events/mod.rs index e96cafdfca..ada3133be0 100644 --- a/crates/relayer/src/chain/cosmos/types/events/mod.rs +++ b/crates/relayer/src/chain/cosmos/types/events/mod.rs @@ -5,6 +5,8 @@ use crate::event::{ibc_event_try_from_abci_event, IbcEventWithHeight}; pub mod channel; pub mod fee; +pub mod connection; +pub mod raw_object; pub fn from_tx_response_event(height: Height, event: &abci::Event) -> Option { ibc_event_try_from_abci_event(event) diff --git a/crates/relayer/src/chain/cosmos/types/events/raw_object.rs b/crates/relayer/src/chain/cosmos/types/events/raw_object.rs new file mode 100644 index 0000000000..670d4c96c1 --- /dev/null +++ b/crates/relayer/src/chain/cosmos/types/events/raw_object.rs @@ -0,0 +1,42 @@ +use alloc::collections::btree_map::BTreeMap as HashMap; + +use ibc_relayer_types::events::Error as EventError; +use ibc_relayer_types::Height; + +#[derive(Debug, Clone)] +pub struct RawObject<'a> { + pub height: Height, + pub action: String, + pub idx: usize, + pub events: &'a HashMap>, +} + +impl<'a> RawObject<'a> { + pub fn new( + height: Height, + action: String, + idx: usize, + events: &'a HashMap>, + ) -> RawObject<'a> { + RawObject { + height, + action, + idx, + events, + } + } +} + +pub fn extract_attribute(object: &RawObject<'_>, key: &str) -> Result { + let value = object + .events + .get(key) + .ok_or_else(|| EventError::missing_key(key.to_string()))?[object.idx] + .clone(); + + Ok(value) +} + +pub fn maybe_extract_attribute(object: &RawObject<'_>, key: &str) -> Option { + object.events.get(key).map(|tags| tags[object.idx].clone()) +} diff --git a/crates/relayer/src/event/source/websocket/extract.rs b/crates/relayer/src/event/source/websocket/extract.rs index e0c8886179..7e95671b73 100644 --- a/crates/relayer/src/event/source/websocket/extract.rs +++ b/crates/relayer/src/event/source/websocket/extract.rs @@ -7,10 +7,11 @@ use tendermint_rpc::{event::Event as RpcEvent, event::EventData as RpcEventData} use ibc_relayer_types::applications::ics31_icq::events::CrossChainQueryPacket; use ibc_relayer_types::core::ics02_client::{events as ClientEvents, height::Height}; use ibc_relayer_types::core::ics04_channel::events as ChannelEvents; +use ibc_relayer_types::core::ics03_connection::events as ConnectionEvents; use ibc_relayer_types::core::ics24_host::identifier::ChainId; use ibc_relayer_types::events::IbcEvent; -use crate::chain::cosmos::types::events::channel::RawObject; +use crate::chain::cosmos::types::events::raw_object::RawObject; use crate::event::source::queries; use crate::telemetry; @@ -300,6 +301,26 @@ fn extract_block_events( } let mut events: Vec = vec![]; + append_events::( + &mut events, + extract_events(height, block_events, "connection_open_init", "connection_id"), + height, + ); + append_events::( + &mut events, + extract_events(height, block_events, "connection_open_try", "connection_id"), + height, + ); + append_events::( + &mut events, + extract_events(height, block_events, "connection_open_ack", "connection_id"), + height, + ); + append_events::( + &mut events, + extract_events(height, block_events, "connection_open_confirm", "connection_id"), + height, + ); append_events::( &mut events, extract_events(height, block_events, "channel_open_init", "channel_id"), From 6d9c1af35d5045283b866164732cbf5c2897cbef Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 28 Jun 2024 12:22:39 +0200 Subject: [PATCH 058/103] remove gen masp tx --- Cargo.lock | 47 +++---- Cargo.toml | 8 +- crates/relayer/src/chain/namada.rs | 19 --- crates/relayer/src/chain/namada/tx.rs | 183 +------------------------- e2e/namada-simple-transfers | 46 +++++-- 5 files changed, 69 insertions(+), 234 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3718548df1..6e365d49bc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3977,7 +3977,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "linkme", @@ -3991,7 +3991,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "namada_core", "smooth-operator", @@ -4001,7 +4001,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "bech32 0.8.1", "borsh 1.5.0", @@ -4031,6 +4031,7 @@ dependencies = [ "prost-types", "rand 0.8.5", "rand_core 0.6.4", + "ripemd", "serde", "serde_json", "sha2 0.9.9", @@ -4048,7 +4049,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "ethers", @@ -4075,7 +4076,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "linkme", @@ -4091,7 +4092,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "linkme", @@ -4106,7 +4107,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4129,7 +4130,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "ibc", @@ -4150,6 +4151,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.9.9", + "smooth-operator", "thiserror", "tracing", ] @@ -4157,7 +4159,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "data-encoding", "proc-macro2", @@ -4169,7 +4171,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "eyre", @@ -4184,7 +4186,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "lazy_static", "linkme", @@ -4194,7 +4196,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "namada_core", "namada_macros", @@ -4205,7 +4207,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "konst", @@ -4230,7 +4232,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "namada_core", ] @@ -4238,7 +4240,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "async-trait", "bimap", @@ -4284,7 +4286,6 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "regex", - "ripemd", "serde", "serde_json", "sha2 0.9.9", @@ -4304,7 +4305,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "masp_primitives", @@ -4321,7 +4322,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4345,7 +4346,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4365,7 +4366,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "namada_core", @@ -4380,7 +4381,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "konst", "namada_core", @@ -4391,7 +4392,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4419,7 +4420,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.39.0" -source = "git+https://github.com/anoma/namada#879a3268f2edfbdd0da1c98cf0e4bbdac48f5b0d" +source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" dependencies = [ "borsh 1.5.0", "linkme", diff --git a/Cargo.toml b/Cargo.toml index 271768cad9..e7c5b8c3c3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", version = "0.39.0" } -namada_parameters = { git = "https://github.com/anoma/namada", version = "0.39.0" } -namada_sdk = { git = "https://github.com/anoma/namada", version = "0.39.0" } -namada_token = { git = "https://github.com/anoma/namada", version = "0.39.0" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } +namada_token = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index b0319433de..1e62cff503 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -40,7 +40,6 @@ use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; -use namada_sdk::masp::DefaultLogger; use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::queries::Client as SdkClient; @@ -172,24 +171,6 @@ impl NamadaChain { .parse() .unwrap()) } - - async fn shielded_sync(&self) -> Result<(), Error> { - let mut shielded = self.ctx.shielded_mut().await; - let _ = shielded.load().await; - shielded - .fetch( - self.ctx.client(), - &DefaultLogger::new(self.ctx.io()), - None, - None, - 1, - &[], - &[], - ) - .await - .map_err(NamadaError::namada)?; - shielded.save().await.map_err(Error::io) - } } impl ChainEndpoint for NamadaChain { diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 69dc787932..9f3d5b74a4 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -6,26 +6,12 @@ use std::time::Instant; use ibc_proto::google::protobuf::Any; use itertools::Itertools; -use namada_ibc::{MsgAcknowledgement, MsgRecvPacket, MsgTimeout}; use namada_sdk::address::{Address, ImplicitAddress}; -use namada_sdk::args::{self, TxBuilder}; -use namada_sdk::args::{InputAmount, Tx as TxArgs, TxCustom}; -use namada_sdk::borsh::BorshSerializeExt; +use namada_sdk::args::TxBuilder; +use namada_sdk::args::{Tx as TxArgs, TxCustom}; use namada_sdk::chain::ChainId; -use namada_sdk::ibc::apps::nft_transfer::types::packet::PacketData as NftPacketData; -use namada_sdk::ibc::apps::transfer::types::packet::PacketData; -use namada_sdk::ibc::core::channel::types::acknowledgement::AcknowledgementStatus; -use namada_sdk::ibc::core::channel::types::msgs::{ - MsgAcknowledgement as IbcMsgAcknowledgement, MsgRecvPacket as IbcMsgRecvPacket, - MsgTimeout as IbcMsgTimeout, ACKNOWLEDGEMENT_TYPE_URL, RECV_PACKET_TYPE_URL, TIMEOUT_TYPE_URL, -}; -use namada_sdk::ibc::core::host::types::identifiers::{ChannelId, PortId}; -use namada_sdk::masp::{PaymentAddress, TransferTarget}; -use namada_sdk::masp_primitives::transaction::Transaction as MaspTransaction; use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; use namada_sdk::{signing, tx, Namada}; -use namada_token::ShieldingTransfer; -use tendermint_proto::Protobuf; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace, warn}; @@ -161,170 +147,13 @@ impl NamadaChain { } fn set_tx_data(&self, tx: &mut tx::Tx, proto_msg: &Any) -> Result<(), Error> { - // Make a new message with Namada shielded transfer - // if receiving or refunding to a shielded address - let data = match proto_msg.type_url.as_ref() { - RECV_PACKET_TYPE_URL => { - let message: IbcMsgRecvPacket = - Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; - self.get_shielded_transfer( - &message.packet.port_id_on_b, - &message.packet.chan_id_on_b, - &message.packet.data, - false, - )? - .map(|(transfer, masp_tx)| { - ( - MsgRecvPacket { - message, - transfer: Some(transfer), - } - .serialize_to_vec(), - masp_tx, - ) - }) - } - ACKNOWLEDGEMENT_TYPE_URL => { - let message: IbcMsgAcknowledgement = - Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; - let acknowledgement: AcknowledgementStatus = - serde_json::from_slice(message.acknowledgement.as_ref()).map_err(|e| { - Error::send_tx(format!("Decoding acknowledment failed: {e}")) - })?; - if acknowledgement.is_successful() { - None - } else { - // Need to refund - self.get_shielded_transfer( - &message.packet.port_id_on_b, - &message.packet.chan_id_on_a, - &message.packet.data, - true, - )? - .map(|(transfer, masp_tx)| { - ( - MsgAcknowledgement { - message, - transfer: Some(transfer), - } - .serialize_to_vec(), - masp_tx, - ) - }) - } - } - TIMEOUT_TYPE_URL => { - let message: IbcMsgTimeout = - Protobuf::decode_vec(&proto_msg.value).map_err(Error::decode)?; - self.get_shielded_transfer( - &message.packet.port_id_on_b, - &message.packet.chan_id_on_a, - &message.packet.data, - true, - )? - .map(|(transfer, masp_tx)| { - ( - MsgTimeout { - message, - transfer: Some(transfer), - } - .serialize_to_vec(), - masp_tx, - ) - }) - } - _ => None, - }; - - if let Some((tx_data, masp_tx)) = data { - tx.add_serialized_data(tx_data); - tx.add_masp_tx_section(masp_tx); - } else { - let mut tx_data = vec![]; - prost::Message::encode(proto_msg, &mut tx_data).map_err(|e| { - Error::protobuf_encode(String::from("Encoding the message failed"), e) - })?; - tx.add_serialized_data(tx_data); - } + let mut tx_data = vec![]; + prost::Message::encode(proto_msg, &mut tx_data) + .map_err(|e| Error::protobuf_encode(String::from("Encoding the message failed"), e))?; + tx.add_serialized_data(tx_data); Ok(()) } - fn get_shielded_transfer( - &self, - port_id: &PortId, - channel_id: &ChannelId, - packet_data: &[u8], - is_refund: bool, - ) -> Result, Error> { - let transfer = serde_json::from_slice::(packet_data) - .ok() - .and_then(|data| { - let target = if is_refund { - data.sender.as_ref() - } else { - data.receiver.as_ref() - }; - PaymentAddress::from_str(target) - .map(|payment_addr| { - ( - payment_addr, - data.token.denom.to_string(), - data.token.amount.to_string(), - ) - }) - .ok() - }) - .or(serde_json::from_slice::(packet_data) - .ok() - .and_then(|data| { - let target = if is_refund { - data.sender.as_ref() - } else { - data.receiver.as_ref() - }; - PaymentAddress::from_str(target) - .map(|payment_addr| { - let ibc_token = format!( - "{}/{}", - data.class_id, - data.token_ids - .0 - .first() - .expect("at least 1 token ID should exist") - ); - (payment_addr, ibc_token, "1".to_string()) - }) - .ok() - })); - - if let Some((receiver, token, amount)) = transfer { - self.rt.block_on(self.shielded_sync())?; - let amount = InputAmount::Unvalidated( - amount - .parse() - .map_err(|e| Error::send_tx(format!("invalid amount: {e}")))?, - ); - let args = args::GenIbcShieldedTransfer { - query: args::Query { - ledger_address: self.config().rpc_addr.clone(), - }, - output_folder: None, - target: TransferTarget::PaymentAddress(receiver), - token: token.clone(), - amount, - port_id: port_id.clone(), - channel_id: channel_id.clone(), - refund: is_refund, - }; - Ok(self - .rt - .block_on(tx::gen_ibc_shielding_transfer(&self.ctx, args)) - .map_err(NamadaError::namada)?) - } else { - Ok(None) - } - } - fn estimate_fee( &self, mut tx: tx::Tx, diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 935217127c..941cf2b10b 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -185,7 +185,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B}) echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 100" ]; then +if [ "${balance}" != "${IBC_TOKEN}: 100000000" ]; then echo "The balance on chain B is wrong" exit 1 fi @@ -195,7 +195,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source relayer \ --receiver ${receiver_a} \ --token ${IBC_TOKEN} \ - --amount 50 \ + --amount 50000000 \ --signing-keys relayer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_B} @@ -233,7 +233,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B}) echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 50" ]; then +if [ "${balance}" != "${IBC_TOKEN}: 50000000" ]; then echo "The balance on chain B is wrong" exit 1 fi @@ -280,7 +280,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ --owner relayer \ --node ${LEDGER_ADDR_A}) echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 300" ]; then +if [ "${balance}" != "${IBC_TOKEN}: 300000000" ]; then echo "The balance on chain A is wrong" exit 1 fi @@ -301,13 +301,24 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner relayer \ --node ${LEDGER_ADDR_B}) echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 250" ]; then +if [ "${balance}" != "${IBC_TOKEN}: 250000000" ]; then echo "The balance on chain B is wrong" exit 1 fi echo "==== Shielded transfer tests ====" +echo "~~ Generate the proof from chain_b for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir_b} ibc-gen-shielding \ + --output-folder-path ${base_dir_b} \ + --target ${payment_addr_b} \ + --token apfel \ + --amount 100000000 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_B}) +memo_path=$(echo $resp | awk '{print $8}') + echo "~~ Shielded transfer 100 apfel from chain A to chain B ~~" ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --source ${SHIELDED_ALIAS_A} \ @@ -315,6 +326,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --token apfel \ --amount 100 \ --channel-id channel-0 \ + --memo-path ${memo_path} \ --gas-payer relayer \ --node ${LEDGER_ADDR_A} @@ -343,7 +355,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ --node ${LEDGER_ADDR_B}) echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 100" ]]; then +if [[ "${balance}" != *"${IBC_TOKEN}: 100000000" ]]; then echo "The balance of shielded_b on chain B is wrong" exit 1 fi @@ -353,7 +365,7 @@ ${NAMADAC} --base-dir ${base_dir_b} transfer \ --source ${SHIELDED_ALIAS_B} \ --target ${payment_addr_b_2} \ --token ${IBC_TOKEN} \ - --amount 50 \ + --amount 50000000 \ --signing-keys relayer \ --node ${LEDGER_ADDR_B} @@ -366,7 +378,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ --node ${LEDGER_ADDR_B}) echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then +if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then echo "The balance of shielded_b on chain B is wrong" exit 1 fi @@ -380,19 +392,31 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B_2} \ --node ${LEDGER_ADDR_B}) echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then +if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then echo "The balance of shielded_b_2 on chain B is wrong" exit 1 fi +echo "~~ Generate the proof from chain A for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir_a} ibc-gen-shielding \ + --output-folder-path ${base_dir_a} \ + --target ${payment_addr_a} \ + --token ${IBC_TOKEN} \ + --amount 50000000 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${LEDGER_ADDR_A}) +memo_path=$(echo $resp | awk '{print $8}') + echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --source ${SHIELDED_ALIAS_B_2} \ --receiver ${payment_addr_a} \ --token ${IBC_TOKEN} \ - --amount 50 \ + --amount 50000000 \ --signing-keys relayer \ --channel-id channel-0 \ + --memo-path ${memo_path} \ --node ${LEDGER_ADDR_B} wait_for_relaying ${chain_a} @@ -417,7 +441,7 @@ balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ --owner ${SHIELDED_ALIAS_B} \ --node ${LEDGER_ADDR_B}) echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50" ]]; then +if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then echo "The balance of shielded_b on chain B is wrong" exit 1 fi From 30f468c91597fd20a8609f9773ee86260cb7bdd5 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 1 Jul 2024 23:24:13 +0200 Subject: [PATCH 059/103] fix test scripts --- Cargo.lock | 45 ++++++++++++++++---------------- Cargo.toml | 8 +++--- e2e/namada-gaia-simple-transfers | 14 +++++++++- e2e/namada-simple-transfers | 8 +++--- 4 files changed, 45 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6e365d49bc..664aeea097 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3977,7 +3977,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "linkme", @@ -3991,7 +3991,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "namada_core", "smooth-operator", @@ -4001,7 +4001,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "bech32 0.8.1", "borsh 1.5.0", @@ -4049,7 +4049,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "ethers", @@ -4076,7 +4076,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "linkme", @@ -4092,7 +4092,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "linkme", @@ -4107,7 +4107,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4130,9 +4130,10 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", + "data-encoding", "ibc", "ibc-derive", "ics23", @@ -4159,7 +4160,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "data-encoding", "proc-macro2", @@ -4171,7 +4172,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "eyre", @@ -4186,7 +4187,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "lazy_static", "linkme", @@ -4196,7 +4197,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "namada_core", "namada_macros", @@ -4207,7 +4208,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "konst", @@ -4232,7 +4233,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "namada_core", ] @@ -4240,7 +4241,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "async-trait", "bimap", @@ -4305,7 +4306,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "masp_primitives", @@ -4322,7 +4323,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4346,7 +4347,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4366,7 +4367,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "namada_core", @@ -4381,7 +4382,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "konst", "namada_core", @@ -4392,7 +4393,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4420,7 +4421,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=c74c583c7f11e0483088b034e721c7bee001f13c#c74c583c7f11e0483088b034e721c7bee001f13c" +source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" dependencies = [ "borsh 1.5.0", "linkme", diff --git a/Cargo.toml b/Cargo.toml index e7c5b8c3c3..c888650b01 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } -namada_token = { git = "https://github.com/anoma/namada", rev = "c74c583c7f11e0483088b034e721c7bee001f13c" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } +namada_token = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 65ec968279..95b2b447ed 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -227,11 +227,22 @@ echo "==== Balances on Gaia ====" balance=$(gaiad query bank balances ${gaia_user}) echo "${balance}" balance=$(echo "${balance}" | grep ibc -B 1 | tr -d '\n') -if [[ "${balance}" != *"- amount: \"200\" denom: ibc/"* ]]; then +if [[ "${balance}" != *"- amount: \"200000000\" denom: ibc/"* ]]; then echo "The balance on Gaia is wrong" exit 1 fi +echo "~~ Generate the proof from Namada for the following transfer ~~" +resp=$(${NAMADAC} --base-dir ${base_dir} ibc-gen-shielding \ + --output-folder-path ${base_dir} \ + --target ${payment_addr_a} \ + --token samoleans \ + --amount 10 \ + --port-id transfer \ + --channel-id channel-0 \ + --node ${NAMADA_LEDGER_ADDR}) +memo_path=$(echo $resp | awk '{print $8}') + echo "~~ Shielding transfer 10 samoleans from Gaia to Namada ~~" cargo run --bin hermes -- --config config_for_namada.toml \ tx ft-transfer \ @@ -243,6 +254,7 @@ cargo run --bin hermes -- --config config_for_namada.toml \ --receiver ${payment_addr_a} \ --denom samoleans \ --timeout-height-offset 1000 \ + --memo $(cat ${memo_path}) # wait for relaying sleep 40 diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 941cf2b10b..84e8964367 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -309,10 +309,11 @@ fi echo "==== Shielded transfer tests ====" echo "~~ Generate the proof from chain_b for the following transfer ~~" +apfel_addr=$(${NAMADAW} --base-dir ${base_dir_a} find --alias apfel | awk '/"apfel":/{print $3}') resp=$(${NAMADAC} --base-dir ${base_dir_b} ibc-gen-shielding \ --output-folder-path ${base_dir_b} \ --target ${payment_addr_b} \ - --token apfel \ + --token ${apfel_addr} \ --amount 100000000 \ --port-id transfer \ --channel-id channel-0 \ @@ -398,11 +399,12 @@ if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then fi echo "~~ Generate the proof from chain A for the following transfer ~~" +ibc_token="transfer/channel-0/${apfel_addr}" resp=$(${NAMADAC} --base-dir ${base_dir_a} ibc-gen-shielding \ --output-folder-path ${base_dir_a} \ --target ${payment_addr_a} \ - --token ${IBC_TOKEN} \ - --amount 50000000 \ + --token ${ibc_token} \ + --amount 50 \ --port-id transfer \ --channel-id channel-0 \ --node ${LEDGER_ADDR_A}) From aa380d21c34210e46a394d1aff7ff11852b1a121 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 2 Jul 2024 20:53:17 +0200 Subject: [PATCH 060/103] minor fix --- tools/test-framework/src/ibc/denom.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index e22fa87994..c5cec90d05 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -123,7 +123,7 @@ fn derive_namada_ibc_denom( match denom.value() { Denom::Base { raw_address, .. } => { let path = format!("{port_id}/{channel_id}"); - let ibc_token_addr = namada_ibc::storage::ibc_token(format!("{path}/{raw_address}")); + let ibc_token_addr = namada_ibc::trace::ibc_token(format!("{path}/{raw_address}")); Ok(MonoTagged::new(Denom::Ibc { path, @@ -134,7 +134,7 @@ fn derive_namada_ibc_denom( Denom::Ibc { path, denom, .. } => { let new_path = format!("{port_id}/{channel_id}/{path}"); let ibc_token_addr = - namada_ibc::storage::ibc_token(format!("{new_path}/{}", denom.hash_only())); + namada_ibc::trace::ibc_token(format!("{new_path}/{}", denom.hash_only())); Ok(MonoTagged::new(Denom::Ibc { path: new_path, From 141be1399e70534f4b4fe1afd168dcc71bedafba Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 2 Jul 2024 20:55:17 +0200 Subject: [PATCH 061/103] Namada for IBC shielding transfer --- Cargo.lock | 44 ++++++++++++++++++++++---------------------- Cargo.toml | 8 ++++---- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 664aeea097..df2a9ddbc8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3977,7 +3977,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "linkme", @@ -3991,7 +3991,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "namada_core", "smooth-operator", @@ -4001,7 +4001,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "bech32 0.8.1", "borsh 1.5.0", @@ -4049,7 +4049,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "ethers", @@ -4076,7 +4076,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "linkme", @@ -4092,7 +4092,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "linkme", @@ -4107,7 +4107,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4130,7 +4130,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "data-encoding", @@ -4160,7 +4160,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "data-encoding", "proc-macro2", @@ -4172,7 +4172,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "eyre", @@ -4187,7 +4187,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "lazy_static", "linkme", @@ -4197,7 +4197,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "namada_core", "namada_macros", @@ -4208,7 +4208,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "konst", @@ -4233,7 +4233,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "namada_core", ] @@ -4241,7 +4241,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "async-trait", "bimap", @@ -4306,7 +4306,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "masp_primitives", @@ -4323,7 +4323,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4347,7 +4347,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4367,7 +4367,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "namada_core", @@ -4382,7 +4382,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "konst", "namada_core", @@ -4393,7 +4393,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=d6fc2f2e1472898b33b7072ef98312ce8b5e9d31#d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" +source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" dependencies = [ "borsh 1.5.0", "linkme", diff --git a/Cargo.toml b/Cargo.toml index c888650b01..05a9c87e1f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } -namada_token = { git = "https://github.com/anoma/namada", rev = "d6fc2f2e1472898b33b7072ef98312ce8b5e9d31" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } +namada_token = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } # Other dependencies abscissa_core = "=0.6.0" From ecd0f98fd6e4cabd8f7d40c6e315fa44a2c874e9 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 3 Jul 2024 14:18:03 +0200 Subject: [PATCH 062/103] fix integration tests for Namada --- .../src/chain/cosmos/types/events/channel.rs | 2 +- .../chain/cosmos/types/events/connection.rs | 27 +++++++++---------- .../src/chain/cosmos/types/events/mod.rs | 2 +- .../src/event/source/websocket/extract.rs | 16 ++++++++--- .../src/tests/client_expiration.rs | 13 +++++++-- .../src/tests/client_refresh.rs | 2 -- tools/integration-test/src/tests/mod.rs | 2 -- .../src/tests/tendermint/sequential.rs | 2 -- tools/test-framework/src/ibc/denom.rs | 9 ++++++- tools/test-framework/src/ibc/token.rs | 10 ++++++- 10 files changed, 56 insertions(+), 29 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/types/events/channel.rs b/crates/relayer/src/chain/cosmos/types/events/channel.rs index e23c2c2faa..5c3279987a 100644 --- a/crates/relayer/src/chain/cosmos/types/events/channel.rs +++ b/crates/relayer/src/chain/cosmos/types/events/channel.rs @@ -16,9 +16,9 @@ use ibc_relayer_types::core::ics24_host::identifier::ChainId; use ibc_relayer_types::events::Error as EventError; use ibc_relayer_types::Height; -use crate::chain::cosmos::types::events::raw_object::RawObject; use crate::chain::cosmos::types::events::raw_object::extract_attribute; use crate::chain::cosmos::types::events::raw_object::maybe_extract_attribute; +use crate::chain::cosmos::types::events::raw_object::RawObject; fn extract_attributes(object: &RawObject<'_>, namespace: &str) -> Result { Ok(Attributes { diff --git a/crates/relayer/src/chain/cosmos/types/events/connection.rs b/crates/relayer/src/chain/cosmos/types/events/connection.rs index 6c8da3e2fe..d629ec5506 100644 --- a/crates/relayer/src/chain/cosmos/types/events/connection.rs +++ b/crates/relayer/src/chain/cosmos/types/events/connection.rs @@ -1,15 +1,14 @@ - -use ibc_relayer_types::core::ics03_connection::events::OpenInit; -use ibc_relayer_types::core::ics03_connection::events::OpenTry; +use ibc_relayer_types::core::ics03_connection::events::Attributes; use ibc_relayer_types::core::ics03_connection::events::OpenAck; use ibc_relayer_types::core::ics03_connection::events::OpenConfirm; -use ibc_relayer_types::core::ics03_connection::events::Attributes; -use ibc_relayer_types::events::Error as EventError; +use ibc_relayer_types::core::ics03_connection::events::OpenInit; +use ibc_relayer_types::core::ics03_connection::events::OpenTry; use ibc_relayer_types::core::ics04_channel::events::EventType; +use ibc_relayer_types::events::Error as EventError; -use crate::chain::cosmos::types::events::raw_object::RawObject; use crate::chain::cosmos::types::events::raw_object::extract_attribute; use crate::chain::cosmos::types::events::raw_object::maybe_extract_attribute; +use crate::chain::cosmos::types::events::raw_object::RawObject; fn extract_attributes(object: &RawObject<'_>, namespace: &str) -> Result { Ok(Attributes { @@ -21,14 +20,14 @@ fn extract_attributes(object: &RawObject<'_>, namespace: &str) -> Result> for OpenConfirm { let attributes = extract_attributes(&value, Self::event_type().as_str())?; Ok(OpenConfirm(attributes)) } -} \ No newline at end of file +} diff --git a/crates/relayer/src/chain/cosmos/types/events/mod.rs b/crates/relayer/src/chain/cosmos/types/events/mod.rs index ada3133be0..a07702ad2c 100644 --- a/crates/relayer/src/chain/cosmos/types/events/mod.rs +++ b/crates/relayer/src/chain/cosmos/types/events/mod.rs @@ -4,8 +4,8 @@ use tendermint::abci; use crate::event::{ibc_event_try_from_abci_event, IbcEventWithHeight}; pub mod channel; -pub mod fee; pub mod connection; +pub mod fee; pub mod raw_object; pub fn from_tx_response_event(height: Height, event: &abci::Event) -> Option { diff --git a/crates/relayer/src/event/source/websocket/extract.rs b/crates/relayer/src/event/source/websocket/extract.rs index 7e95671b73..8e0539b144 100644 --- a/crates/relayer/src/event/source/websocket/extract.rs +++ b/crates/relayer/src/event/source/websocket/extract.rs @@ -6,8 +6,8 @@ use tendermint_rpc::{event::Event as RpcEvent, event::EventData as RpcEventData} use ibc_relayer_types::applications::ics31_icq::events::CrossChainQueryPacket; use ibc_relayer_types::core::ics02_client::{events as ClientEvents, height::Height}; -use ibc_relayer_types::core::ics04_channel::events as ChannelEvents; use ibc_relayer_types::core::ics03_connection::events as ConnectionEvents; +use ibc_relayer_types::core::ics04_channel::events as ChannelEvents; use ibc_relayer_types::core::ics24_host::identifier::ChainId; use ibc_relayer_types::events::IbcEvent; @@ -303,7 +303,12 @@ fn extract_block_events( let mut events: Vec = vec![]; append_events::( &mut events, - extract_events(height, block_events, "connection_open_init", "connection_id"), + extract_events( + height, + block_events, + "connection_open_init", + "connection_id", + ), height, ); append_events::( @@ -318,7 +323,12 @@ fn extract_block_events( ); append_events::( &mut events, - extract_events(height, block_events, "connection_open_confirm", "connection_id"), + extract_events( + height, + block_events, + "connection_open_confirm", + "connection_id", + ), height, ); append_events::( diff --git a/tools/integration-test/src/tests/client_expiration.rs b/tools/integration-test/src/tests/client_expiration.rs index 80877b31ea..c75b7bc191 100644 --- a/tools/integration-test/src/tests/client_expiration.rs +++ b/tools/integration-test/src/tests/client_expiration.rs @@ -7,6 +7,7 @@ use ibc_test_framework::bootstrap::binary::channel::{ bootstrap_channel_with_chains, bootstrap_channel_with_connection, }; use ibc_test_framework::bootstrap::binary::connection::bootstrap_connection; +use ibc_test_framework::chain::chain_type::ChainType; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::channel::{ assert_eventually_channel_established, init_channel, query_channel_end, @@ -212,8 +213,16 @@ impl BinaryChainTest for ChannelExpirationTest { }, // From simapp version v7.1.0 if `ConnOpenInit` is sent while the client // is expired, an error will be returned. - // See https://github.com/cosmos/ibc-go/blob/v7.1.0/modules/core/03-connection/keeper/handshake.go#L40 - Err(e) => assert!(e.to_string().contains("status is Expired: client state is not active")), + Err(e) => match chains.node_a.chain_driver().value().chain_type { + ChainType::Namada => { + // See https://github.com/cosmos/ibc-rs/blob/v0.53.0/ibc-core/ics02-client/types/src/error.rs#L22 + assert!(e.to_string().contains("client is not active. Status=`Expired`")) + } + _ => { + // See https://github.com/cosmos/ibc-go/blob/v7.1.0/modules/core/03-connection/keeper/handshake.go#L40 + assert!(e.to_string().contains("status is Expired: client state is not active")) + } + } } } diff --git a/tools/integration-test/src/tests/client_refresh.rs b/tools/integration-test/src/tests/client_refresh.rs index bac99acb09..32d5ce067e 100644 --- a/tools/integration-test/src/tests/client_refresh.rs +++ b/tools/integration-test/src/tests/client_refresh.rs @@ -14,8 +14,6 @@ fn test_client_default_refresh() -> Result<(), Error> { run_binary_chain_test(&ClientDefaultsTest) } -// TODO: it should work after surrpoting gas estimation -#[cfg(not(feature = "namada"))] #[test] fn test_client_fail_refresh() -> Result<(), Error> { run_binary_chain_test(&ClientFailsTest) diff --git a/tools/integration-test/src/tests/mod.rs b/tools/integration-test/src/tests/mod.rs index 524334af78..7025e496ae 100644 --- a/tools/integration-test/src/tests/mod.rs +++ b/tools/integration-test/src/tests/mod.rs @@ -17,14 +17,12 @@ pub mod consensus_states; pub mod denom_trace; pub mod error_events; pub mod execute_schedule; -#[cfg(not(feature = "namada"))] pub mod handshake_on_start; pub mod ics20_filter; pub mod memo; #[cfg(not(feature = "namada"))] pub mod python; pub mod query_packet; -#[cfg(not(feature = "namada"))] pub mod supervisor; pub mod tendermint; #[cfg(not(any(feature = "celestia")))] diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 82569e09ec..32b0f3d993 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -13,8 +13,6 @@ const TOTAL_MESSAGES: usize = MESSAGES_PER_BATCH * TOTAL_TRANSACTIONS; const BLOCK_TIME_MILLIS: u64 = 1000; const BLOCK_TIME: Duration = Duration::from_millis(BLOCK_TIME_MILLIS); -// TODO: Need batching transactions -#[cfg(not(feature = "namada"))] #[test] fn test_sequential_commit() -> Result<(), Error> { run_binary_channel_test(&SequentialCommitTest) diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index c5cec90d05..8a80952a2a 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -25,6 +25,7 @@ pub enum Denom { path: String, denom: Box, hashed: String, + token_denom: u8, }, } @@ -100,6 +101,7 @@ fn derive_cosmos_ibc_denom( path: format!("{port_id}/{channel_id}"), denom: Box::new((*denom.value()).clone()), hashed, + token_denom: 0, })) } Denom::Ibc { path, denom, .. } => { @@ -110,6 +112,7 @@ fn derive_cosmos_ibc_denom( path: new_path, denom: denom.clone(), hashed, + token_denom: 0, })) } } @@ -129,6 +132,7 @@ fn derive_namada_ibc_denom( path, denom: Box::new((*denom.value()).clone()), hashed: ibc_token_addr.to_string(), + token_denom: 6, })) } Denom::Ibc { path, denom, .. } => { @@ -140,6 +144,7 @@ fn derive_namada_ibc_denom( path: new_path, denom: denom.clone(), hashed: ibc_token_addr.to_string(), + token_denom: 6, })) } } @@ -216,13 +221,15 @@ impl PartialEq for Denom { path: p1, denom: d1, hashed: h1, + token_denom: td1, }, Self::Ibc { path: p2, denom: d2, hashed: h2, + token_denom: td2, }, - ) => p1 == p2 && d1 == d2 && h1 == h2, + ) => p1 == p2 && d1 == d2 && h1 == h2 && (td1 == td2), _ => self.as_str() == other.as_str(), } } diff --git a/tools/test-framework/src/ibc/token.rs b/tools/test-framework/src/ibc/token.rs index 4e6844e47c..acacb9431b 100644 --- a/tools/test-framework/src/ibc/token.rs +++ b/tools/test-framework/src/ibc/token.rs @@ -1,6 +1,7 @@ use core::ops::{Add, Sub}; use ibc_relayer_types::applications::transfer::amount::Amount; use ibc_relayer_types::applications::transfer::coin::{Coin, RawCoin}; +use ibc_relayer_types::bigint::U256; use crate::chain::chain_type::ChainType; use crate::error::Error; @@ -84,9 +85,16 @@ impl<'a, Chain> TaggedTokenExt for TaggedTokenRef<'a, Chain> { impl TaggedDenomExt for TaggedDenom { fn with_amount(&self, amount: impl Into) -> TaggedToken { + let amount: Amount = match self.value() { + Denom::Base { .. } => amount.into(), + Denom::Ibc { token_denom, .. } => { + let amount: Amount = amount.into(); + (amount.0 * U256::from(10).pow(U256::from(*token_denom))).into() + } + }; self.map(|denom| Token { denom: denom.clone(), - amount: amount.into(), + amount, }) } } From 1dd59c33855b0bce5b5338604eedc166924caa64 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 3 Jul 2024 16:11:07 +0200 Subject: [PATCH 063/103] fix batching txs --- crates/relayer/src/chain/namada.rs | 20 ++++++++----------- .../src/tests/tendermint/sequential.rs | 2 +- tools/test-framework/src/ibc/denom.rs | 4 ++-- tools/test-framework/src/ibc/token.rs | 9 ++++++++- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 1e62cff503..2ba195c137 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -319,11 +319,7 @@ impl ChainEndpoint for NamadaChain { if proto_msgs.is_empty() { return Ok(vec![]); } - let max_msg_num = if self.config().sequential_batch_tx { - 1 - } else { - self.config().max_msg_num.to_usize() - }; + let max_msg_num = self.config().max_msg_num.to_usize(); let msg_chunks = proto_msgs.chunks(max_msg_num); let mut tx_sync_results = vec![]; for msg_chunk in msg_chunks { @@ -333,9 +329,13 @@ impl ChainEndpoint for NamadaChain { msg_chunk.len(), response, )); + if self.config().sequential_batch_tx { + self.wait_for_block_commits(&mut tx_sync_results)?; + } + } + if !self.config().sequential_batch_tx { + self.wait_for_block_commits(&mut tx_sync_results)?; } - - self.wait_for_block_commits(&mut tx_sync_results)?; let events: Vec = tx_sync_results .into_iter() @@ -362,11 +362,7 @@ impl ChainEndpoint for NamadaChain { return Ok(vec![]); } - let max_msg_num = if self.config().sequential_batch_tx { - 1 - } else { - self.config().max_msg_num.to_usize() - }; + let max_msg_num = self.config().max_msg_num.to_usize(); let msg_chunks = proto_msgs.chunks(max_msg_num); let mut responses = vec![]; for msg_chunk in msg_chunks { diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 32b0f3d993..4bfbb7e15f 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -150,7 +150,7 @@ impl BinaryChannelTest for SequentialCommitTest { TOTAL_MESSAGES, duration ); - assert!(duration < Duration::from_millis(BLOCK_TIME_MILLIS * 2)); + assert!(duration < Duration::from_millis(BLOCK_TIME_MILLIS * 3)); } Ok(()) diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index 8a80952a2a..cfa4779258 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -193,8 +193,8 @@ impl Denom { impl Display for Denom { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { match self { - Denom::Base { display_name, .. } => { - write!(f, "{display_name}") + Denom::Base { raw_address, .. } => { + write!(f, "{raw_address}") } Denom::Ibc { hashed, .. } => { write!(f, "{hashed}") diff --git a/tools/test-framework/src/ibc/token.rs b/tools/test-framework/src/ibc/token.rs index acacb9431b..22dcebcea1 100644 --- a/tools/test-framework/src/ibc/token.rs +++ b/tools/test-framework/src/ibc/token.rs @@ -101,9 +101,16 @@ impl TaggedDenomExt for TaggedDenom { impl<'a, Chain> TaggedDenomExt for TaggedDenomRef<'a, Chain> { fn with_amount(&self, amount: impl Into) -> TaggedToken { + let amount: Amount = match self.value() { + Denom::Base { .. } => amount.into(), + Denom::Ibc { token_denom, .. } => { + let amount: Amount = amount.into(); + (amount.0 * U256::from(10).pow(U256::from(*token_denom))).into() + } + }; self.map(|denom| Token { denom: (*denom).clone(), - amount: amount.into(), + amount, }) } } From f4011752b4d31346f6b6c4001b12fe4f60a6e6a2 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 4 Jul 2024 12:41:54 +0200 Subject: [PATCH 064/103] for Namada 0.40.0 draft --- Cargo.lock | 96 ++++++++++++++++-------- Cargo.toml | 8 +- crates/relayer/src/chain/namada/query.rs | 8 +- crates/relayer/src/chain/namada/tx.rs | 11 ++- scripts/setup-namada | 2 +- scripts/setup-namada-single-node | 2 +- 6 files changed, 83 insertions(+), 44 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index df2a9ddbc8..73f7e41440 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -22,7 +22,7 @@ dependencies = [ "arc-swap", "backtrace", "canonical-path", - "clap", + "clap 3.2.25", "color-eyre", "fs-err", "once_cell", @@ -968,7 +968,7 @@ dependencies = [ "atty", "bitflags 1.3.2", "clap_derive", - "clap_lex", + "clap_lex 0.2.4", "indexmap 1.9.3", "once_cell", "strsim", @@ -976,13 +976,32 @@ dependencies = [ "textwrap", ] +[[package]] +name = "clap" +version = "4.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" +dependencies = [ + "anstyle", + "clap_lex 0.7.1", +] + [[package]] name = "clap_complete" version = "3.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f7a2e0a962c45ce25afce14220bc24f9dade0a1787f185cecf96bfba7847cd8" dependencies = [ - "clap", + "clap 3.2.25", ] [[package]] @@ -1007,6 +1026,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" + [[package]] name = "coins-bip32" version = "0.8.7" @@ -1584,9 +1609,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -3267,7 +3292,7 @@ name = "ibc-relayer-cli" version = "1.9.0" dependencies = [ "abscissa_core", - "clap", + "clap 3.2.25", "clap_complete", "color-eyre", "console", @@ -3804,7 +3829,7 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" +source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" dependencies = [ "borsh 1.5.0", "chacha20", @@ -3817,7 +3842,7 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" +source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" dependencies = [ "aes", "bip0039", @@ -3848,7 +3873,7 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=4ede1c42d76d6348af8224bc8bfac4404321fe82#4ede1c42d76d6348af8224bc8bfac4404321fe82" +source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" dependencies = [ "bellman", "blake2b_simd", @@ -3977,7 +4002,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "linkme", @@ -3991,7 +4016,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "namada_core", "smooth-operator", @@ -4001,7 +4026,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "bech32 0.8.1", "borsh 1.5.0", @@ -4049,7 +4074,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "ethers", @@ -4076,7 +4101,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "linkme", @@ -4092,7 +4117,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "linkme", @@ -4107,7 +4132,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4130,7 +4155,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "data-encoding", @@ -4160,7 +4185,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "data-encoding", "proc-macro2", @@ -4172,7 +4197,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "eyre", @@ -4187,7 +4212,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "lazy_static", "linkme", @@ -4197,18 +4222,19 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "namada_core", "namada_macros", "namada_storage", + "smooth-operator", "thiserror", ] [[package]] name = "namada_proof_of_stake" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "konst", @@ -4233,7 +4259,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "namada_core", ] @@ -4241,16 +4267,18 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "async-trait", "bimap", "borsh 1.5.0", "borsh-ext", "circular-queue", + "clap 4.5.8", "data-encoding", "derivation-path", "duration-str", + "either", "ethbridge-bridge-contract", "ethers", "eyre", @@ -4306,15 +4334,19 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", + "lazy_static", "masp_primitives", + "masp_proofs", "namada_controller", "namada_core", + "namada_gas", "namada_parameters", "namada_storage", "namada_trans_token", + "rand_core 0.6.4", "serde", "smooth-operator", "tracing", @@ -4323,7 +4355,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4347,7 +4379,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "itertools 0.12.1", @@ -4367,7 +4399,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "namada_core", @@ -4382,7 +4414,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "konst", "namada_core", @@ -4393,12 +4425,13 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", "borsh 1.5.0", "data-encoding", + "either", "konst", "linkme", "masp_primitives", @@ -4411,6 +4444,7 @@ dependencies = [ "num-traits 0.2.18", "prost", "prost-types", + "rand_core 0.6.4", "serde", "serde_json", "sha2 0.9.9", @@ -4421,7 +4455,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.39.0" -source = "git+https://github.com/anoma/namada?rev=da7aff487fb7cd6d48c84e5c21192f8be52bf9bb#da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" +source = "git+https://github.com/anoma/namada?rev=59332a22943e47c74cfcec4a2d08281822ba75f9#59332a22943e47c74cfcec4a2d08281822ba75f9" dependencies = [ "borsh 1.5.0", "linkme", diff --git a/Cargo.toml b/Cargo.toml index 05a9c87e1f..28477e9639 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "=0.36.0" } tendermint-testgen = { version = "=0.36.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } -namada_token = { git = "https://github.com/anoma/namada", rev = "da7aff487fb7cd6d48c84e5c21192f8be52bf9bb" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "59332a22943e47c74cfcec4a2d08281822ba75f9" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "59332a22943e47c74cfcec4a2d08281822ba75f9" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "59332a22943e47c74cfcec4a2d08281822ba75f9" } +namada_token = { git = "https://github.com/anoma/namada", rev = "59332a22943e47c74cfcec4a2d08281822ba75f9" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index e537598701..b5760a51f8 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -136,12 +136,12 @@ impl NamadaChain { height, )]); } - let events = tx_result.batch_results.0.into_iter().filter_map(|(_, r)| { - r.map(|batched_tx_result| { + let events = tx_result.batch_results.iter().filter_map(|(_, r)| { + r.as_ref().map(|batched_tx_result| { // Get IBC events when the transaction was accepted if batched_tx_result.is_accepted() { - batched_tx_result.events.into_iter().filter_map(|event| { - ibc_event_try_from_abci_event(&event.into()).ok() + batched_tx_result.events.iter().filter_map(|event| { + ibc_event_try_from_abci_event(&event.clone().into()).ok() }).map(|ibc_event| IbcEventWithHeight::new(ibc_event, height)).collect() } else { vec![IbcEventWithHeight::new( diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 9f3d5b74a4..7de5c43f6a 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -6,9 +6,11 @@ use std::time::Instant; use ibc_proto::google::protobuf::Any; use itertools::Itertools; +use namada_parameters::storage as param_storage; use namada_sdk::address::{Address, ImplicitAddress}; use namada_sdk::args::TxBuilder; use namada_sdk::args::{Tx as TxArgs, TxCustom}; +use namada_sdk::borsh::BorshDeserialize; use namada_sdk::chain::ChainId; use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; use namada_sdk::{signing, tx, Namada}; @@ -20,6 +22,7 @@ use crate::chain::cosmos::types::gas::max_gas_from_config; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; +use crate::chain::requests::{IncludeProof, QueryHeight}; use crate::error::{Error, ErrorDetail}; use super::error::{Error as NamadaError, ErrorDetail as NamadaErrorDetail}; @@ -167,6 +170,10 @@ impl NamadaChain { let max_gas = max_gas_from_config(self.config()); let gas_price = self.config().gas_price.price; + let gas_scale_key = param_storage::get_gas_scale_key(); + let (value, _) = self.query(gas_scale_key, QueryHeight::Latest, IncludeProof::No)?; + let gas_scale = u64::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; + let args = args.clone().dry_run_wrapper(true); // Set the max gas to the gas limit for the simulation self.prepare_tx_with_gas(&mut tx, &args, &fee_token, max_gas, gas_price)?; @@ -195,12 +202,10 @@ impl NamadaChain { ProcessTxResponse::DryRun(result) => { if result .batch_results - .0 .iter() .all(|(_, r)| matches!(&r, Ok(result) if result.is_accepted())) { - // Convert with the decimal scale of Gas units - u64::from_str(&result.gas_used.to_string()).expect("Gas should be parsable") + result.gas_used.get_whole_gas_units(gas_scale) } else { // All or some of requests will fail return Err(NamadaError::dry_run(result.batch_results).into()); diff --git a/scripts/setup-namada b/scripts/setup-namada index 024f706ae8..1cb556f84f 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -104,7 +104,7 @@ function init_network() { local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ ${NAMADAC} utils init-network \ --chain-prefix namada-${suffix} \ - --genesis-time "2023-01-01T00:00:00Z" \ + --genesis-time "2023-01-01T00:00:00.000000000+00:00" \ --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ --archive-dir ${base_dir}/genesis \ diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index e21d662030..e22a3ed286 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -86,7 +86,7 @@ function init_network() { local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ ${NAMADAC} utils init-network \ --chain-prefix namada-test \ - --genesis-time "2023-01-01T00:00:00Z" \ + --genesis-time "2023-01-01T00:00:00.000000000+00:00" \ --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ --archive-dir ${base_dir}/genesis \ From 5550adfad463ee763771fb6f1f2ebdc10f947ba7 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 4 Jul 2024 21:44:13 +0200 Subject: [PATCH 065/103] fix genesis time --- tools/test-framework/src/bootstrap/namada.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 91759881ad..3d13386ec2 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -96,7 +96,7 @@ pub fn bootstrap_namada_node( "--chain-prefix", &chain_driver.chain_id.to_string(), "--genesis-time", - "2023-01-01T00:00:00Z", + "2023-01-01T00:00:00.000000000+00:00", "--templates-path", templates_path, "--wasm-checksums-path", From f75f5b2927fcc8f2b4279569ccb4f0952e49f705 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 8 Jul 2024 16:30:48 +0200 Subject: [PATCH 066/103] for CI with Namada v0.40.0 --- .github/workflows/namada.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 8198ab2674..f3183484be 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/159144175" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/164218933" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -159,7 +159,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/159144175" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/164218933" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac From 6899c72484cb0d3d4fdd94577589834a4e0e10b2 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 8 Jul 2024 20:51:22 +0200 Subject: [PATCH 067/103] gaia17 --- .github/workflows/namada.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index f3183484be..0bdf9468a0 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -34,7 +34,7 @@ jobs: fail-fast: false matrix: chain: - - package: .#gaia15 + - package: .#gaia17 command: gaiad,namada account_prefix: cosmos,'' native_token: stake,nam From 337f4dc67bbcee80895638bbeb34bbd28c677aa0 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 9 Jul 2024 12:24:34 +0200 Subject: [PATCH 068/103] fix tests between gaia and namada --- .../src/tests/client_expiration.rs | 2 +- .../src/tests/tendermint/sequential.rs | 39 +++++++++++++----- tools/test-framework/src/ibc/denom.rs | 40 ++++++++++++++----- 3 files changed, 60 insertions(+), 21 deletions(-) diff --git a/tools/integration-test/src/tests/client_expiration.rs b/tools/integration-test/src/tests/client_expiration.rs index c75b7bc191..234bea6b1c 100644 --- a/tools/integration-test/src/tests/client_expiration.rs +++ b/tools/integration-test/src/tests/client_expiration.rs @@ -213,7 +213,7 @@ impl BinaryChainTest for ChannelExpirationTest { }, // From simapp version v7.1.0 if `ConnOpenInit` is sent while the client // is expired, an error will be returned. - Err(e) => match chains.node_a.chain_driver().value().chain_type { + Err(e) => match chains.node_b.chain_driver().value().chain_type { ChainType::Namada => { // See https://github.com/cosmos/ibc-rs/blob/v0.53.0/ibc-core/ics02-client/types/src/error.rs#L22 assert!(e.to_string().contains("client is not active. Status=`Expired`")) diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 4bfbb7e15f..69177ade2b 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -3,6 +3,7 @@ use std::time::Instant; use ibc_relayer::chain::tracking::TrackedMsgs; use ibc_relayer::config::types::max_msg_num::MaxMsgNum; use ibc_relayer::config::ChainConfig; +use ibc_test_framework::chain::chain_type::ChainType; use ibc_test_framework::chain::config; use ibc_test_framework::prelude::*; use ibc_test_framework::relayer::transfer::build_transfer_message; @@ -104,16 +105,28 @@ impl BinaryChannelTest for SequentialCommitTest { TOTAL_MESSAGES, duration ); - // Time taken for submitting sequential batches should be around number of transactions * block time - - assert!( - duration - > Duration::from_millis((BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) - 1000) - ); - assert!( - duration - < Duration::from_millis((BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) + 1000) - ); + let (min_duration, max_duration) = match chains.node_a.chain_driver().value().chain_type + { + ChainType::Namada => ( + Duration::from_millis((BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) - 1000), + Duration::from_millis( + (BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) * 2 + 1000, + ), + ), + _ => { + // Time taken for submitting sequential batches should be around number of transactions * block time + ( + Duration::from_millis( + (BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) - 1000, + ), + Duration::from_millis( + (BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) + 1000, + ), + ) + } + }; + assert!(duration > min_duration); + assert!(duration < max_duration); } { @@ -150,7 +163,11 @@ impl BinaryChannelTest for SequentialCommitTest { TOTAL_MESSAGES, duration ); - assert!(duration < Duration::from_millis(BLOCK_TIME_MILLIS * 3)); + let max_duration = match chains.node_b.chain_driver().value().chain_type { + ChainType::Namada => Duration::from_millis(BLOCK_TIME_MILLIS * 2 * 2), + _ => Duration::from_millis(BLOCK_TIME_MILLIS * 2), + }; + assert!(duration < max_duration); } Ok(()) diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index cfa4779258..54b742c079 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -20,6 +20,7 @@ pub enum Denom { Base { display_name: String, raw_address: String, + token_denom: u8, }, Ibc { path: String, @@ -94,17 +95,26 @@ fn derive_cosmos_ibc_denom( } match denom.value() { - Denom::Base { raw_address, .. } => { + Denom::Base { + raw_address, + token_denom, + .. + } => { let hashed = derive_denom(port_id.value(), channel_id.value(), raw_address)?; Ok(MonoTagged::new(Denom::Ibc { path: format!("{port_id}/{channel_id}"), denom: Box::new((*denom.value()).clone()), hashed, - token_denom: 0, + token_denom: *token_denom, })) } - Denom::Ibc { path, denom, .. } => { + Denom::Ibc { + path, + denom, + token_denom, + .. + } => { let new_path = format!("{port_id}/{channel_id}/{path}"); let hashed = derive_denom_with_path(&format!("{new_path}/{denom}"))?; @@ -112,7 +122,7 @@ fn derive_cosmos_ibc_denom( path: new_path, denom: denom.clone(), hashed, - token_denom: 0, + token_denom: *token_denom, })) } } @@ -124,7 +134,11 @@ fn derive_namada_ibc_denom( denom: &TaggedDenomRef, ) -> Result, Error> { match denom.value() { - Denom::Base { raw_address, .. } => { + Denom::Base { + raw_address, + token_denom, + .. + } => { let path = format!("{port_id}/{channel_id}"); let ibc_token_addr = namada_ibc::trace::ibc_token(format!("{path}/{raw_address}")); @@ -132,10 +146,15 @@ fn derive_namada_ibc_denom( path, denom: Box::new((*denom.value()).clone()), hashed: ibc_token_addr.to_string(), - token_denom: 6, + token_denom: *token_denom, })) } - Denom::Ibc { path, denom, .. } => { + Denom::Ibc { + path, + denom, + token_denom, + .. + } => { let new_path = format!("{port_id}/{channel_id}/{path}"); let ibc_token_addr = namada_ibc::trace::ibc_token(format!("{new_path}/{}", denom.hash_only())); @@ -144,7 +163,7 @@ fn derive_namada_ibc_denom( path: new_path, denom: denom.clone(), hashed: ibc_token_addr.to_string(), - token_denom: 6, + token_denom: *token_denom, })) } } @@ -155,6 +174,7 @@ impl Denom { Denom::Base { display_name: display_name.to_owned(), raw_address: raw_address.to_owned(), + token_denom: if display_name == "nam" { 6 } else { 0 }, } } @@ -210,12 +230,14 @@ impl PartialEq for Denom { Self::Base { display_name: d1, raw_address: a1, + token_denom: td1, }, Self::Base { display_name: d2, raw_address: a2, + token_denom: td2, }, - ) => (d1 == d2) && (a1 == a2), + ) => (d1 == d2) && (a1 == a2) && (td1 == td2), ( Self::Ibc { path: p1, From 2d7fdaa3ec2ae09539808430d7dfb5234314c254 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 9 Jul 2024 20:43:29 +0200 Subject: [PATCH 069/103] add retry for tests --- .github/workflows/namada.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 0bdf9468a0..41527329a8 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -108,6 +108,7 @@ jobs: RUST_LOG: info RUST_BACKTRACE: 1 NO_COLOR_LOG: 1 + NEXTEST_RETRIES: 2 CHAIN_COMMAND_PATHS: ${{ matrix.chain.command }} ACCOUNT_PREFIXES: ${{ matrix.chain.account_prefix }} NATIVE_TOKENS: ${{ matrix.chain.native_token }} @@ -180,6 +181,7 @@ jobs: RUST_LOG: info RUST_BACKTRACE: 1 NO_COLOR_LOG: 1 + NEXTEST_RETRIES: 2 CHAIN_COMMAND_PATHS: namada ACCOUNT_PREFIXES: '' NATIVE_TOKENS: nam From a77777237e8e09e5155c487ff7ba3fd6af9706ea Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 10 Jul 2024 11:35:52 +0200 Subject: [PATCH 070/103] fix ternary test --- tools/integration-test/src/tests/tendermint/sequential.rs | 7 +++++-- tools/test-framework/src/framework/nary/node.rs | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 69177ade2b..7043780ba5 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -110,7 +110,7 @@ impl BinaryChannelTest for SequentialCommitTest { ChainType::Namada => ( Duration::from_millis((BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) - 1000), Duration::from_millis( - (BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64) * 2 + 1000, + (BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64 * 2) + 1000, ), ), _ => { @@ -164,7 +164,10 @@ impl BinaryChannelTest for SequentialCommitTest { ); let max_duration = match chains.node_b.chain_driver().value().chain_type { - ChainType::Namada => Duration::from_millis(BLOCK_TIME_MILLIS * 2 * 2), + ChainType::Namada => { + // Shorter than the sequential batches + Duration::from_millis(BLOCK_TIME_MILLIS * TOTAL_TRANSACTIONS as u64 * 2) + } _ => Duration::from_millis(BLOCK_TIME_MILLIS * 2), }; assert!(duration < max_duration); diff --git a/tools/test-framework/src/framework/nary/node.rs b/tools/test-framework/src/framework/nary/node.rs index 664ac67328..805a6d5b2c 100644 --- a/tools/test-framework/src/framework/nary/node.rs +++ b/tools/test-framework/src/framework/nary/node.rs @@ -60,7 +60,9 @@ where let mut node_processes = Vec::new(); for i in 0..SIZE { - let node = if builder.command_paths.contains(&"namada".to_string()) { + let is_namada = builder.command_paths == vec!["namada".to_string()] + || builder.command_paths.get(i) == Some(&"namada".to_string()); + let node = if is_namada { bootstrap_namada_node( builder, &format!("{}", i + 1), From 7fc3101902ceb496d840b1fc066137c4535e9d24 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 10 Jul 2024 14:47:19 +0200 Subject: [PATCH 071/103] fix denom in ternary test --- tools/integration-test/src/tests/ternary_transfer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/integration-test/src/tests/ternary_transfer.rs b/tools/integration-test/src/tests/ternary_transfer.rs index eff39b352a..945c1e8417 100644 --- a/tools/integration-test/src/tests/ternary_transfer.rs +++ b/tools/integration-test/src/tests/ternary_transfer.rs @@ -136,7 +136,7 @@ impl NaryChannelTest<3> for TernaryIbcTransferTest { let channel_c_to_a = channels.channel_at::<2, 0>()?; let denom_a_to_c_to_a = derive_ibc_denom( - &node_b.chain_driver().value().chain_type, + &node_a.chain_driver().value().chain_type, &channel_c_to_a.port_b.as_ref(), &channel_c_to_a.channel_id_b.as_ref(), &denom_a_to_c.as_ref(), From 28d2bc69a9b513099ccfead8c1f1c4fc651ab7d1 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 11 Jul 2024 10:42:32 +0200 Subject: [PATCH 072/103] add more transfer tests --- tools/integration-test/src/tests/transfer.rs | 6 +-- .../src/framework/binary/chain.rs | 3 +- .../src/framework/binary/node.rs | 38 ++++++++++++++----- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/tools/integration-test/src/tests/transfer.rs b/tools/integration-test/src/tests/transfer.rs index 7a0e4ae8ca..3e2a4cf014 100644 --- a/tools/integration-test/src/tests/transfer.rs +++ b/tools/integration-test/src/tests/transfer.rs @@ -10,7 +10,7 @@ fn test_ibc_transfer() -> Result<(), Error> { Test that IBC token transfer can still work with a single chain that is connected to itself. */ -#[cfg(not(any(feature = "celestia", feature = "namada")))] +#[cfg(not(feature = "celestia"))] #[test] fn test_self_connected_ibc_transfer() -> Result<(), Error> { run_self_connected_binary_chain_test(&RunBinaryConnectionTest::new(&RunBinaryChannelTest::new( @@ -25,13 +25,13 @@ fn test_self_connected_ibc_transfer() -> Result<(), Error> { this behind the "experimental" feature flag so that normal developers are not obligated to understand how this test works yet. */ -#[cfg(not(any(feature = "celestia", feature = "namada")))] +#[cfg(not(feature = "celestia"))] #[test] fn test_nary_ibc_transfer() -> Result<(), Error> { run_binary_as_nary_channel_test(&IbcTransferTest) } -#[cfg(not(any(feature = "celestia", feature = "namada")))] +#[cfg(not(feature = "celestia"))] #[test] fn test_self_connected_nary_ibc_transfer() -> Result<(), Error> { run_self_connected_nary_chain_test(&RunNaryConnectionTest::new(&RunNaryChannelTest::new( diff --git a/tools/test-framework/src/framework/binary/chain.rs b/tools/test-framework/src/framework/binary/chain.rs index b74bf586a7..519fb855a0 100644 --- a/tools/test-framework/src/framework/binary/chain.rs +++ b/tools/test-framework/src/framework/binary/chain.rs @@ -76,7 +76,8 @@ where + NodeGenesisOverride + RelayerConfigOverride + ClientOptionsOverride - + TestConfigOverride, + + TestConfigOverride + + NamadaParametersOverride, { run_single_node_test(&RunBinaryChainTest::new(test)) } diff --git a/tools/test-framework/src/framework/binary/node.rs b/tools/test-framework/src/framework/binary/node.rs index 779003d3a8..de7a35ba50 100644 --- a/tools/test-framework/src/framework/binary/node.rs +++ b/tools/test-framework/src/framework/binary/node.rs @@ -34,7 +34,8 @@ pub fn run_single_node_test(test: &Test) -> Result<(), Error> where Test: BinaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride + TestConfigOverride, + Overrides: + NodeConfigOverride + NodeGenesisOverride + TestConfigOverride + NamadaParametersOverride, { run_basic_test(&RunSingleNodeTest { test }) } @@ -183,17 +184,34 @@ impl<'a, Test, Overrides> BasicTest for RunSingleNodeTest<'a, Test> where Test: BinaryNodeTest, Test: HasOverrides, - Overrides: NodeConfigOverride + NodeGenesisOverride, + Overrides: NodeConfigOverride + NodeGenesisOverride + NamadaParametersOverride, { fn run(&self, config: &TestConfig, builder: &ChainBuilder) -> Result<(), Error> { - let node = bootstrap_single_node( - builder, - "1", - config.bootstrap_with_random_ids, - |config| self.test.get_overrides().modify_node_config(config), - |genesis| self.test.get_overrides().modify_genesis_file(genesis), - 0, - )?; + let command_paths_len = builder.command_paths.len(); + let node_type = ChainType::from_str(&builder.command_paths[0 % command_paths_len])?; + let node = match node_type { + ChainType::Namada => bootstrap_namada_node( + builder, + "a", + false, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + |parameters| { + self.test + .get_overrides() + .namada_modify_parameter_file(parameters) + }, + 0, + ), + _ => bootstrap_single_node( + builder, + "1", + config.bootstrap_with_random_ids, + |config| self.test.get_overrides().modify_node_config(config), + |genesis| self.test.get_overrides().modify_genesis_file(genesis), + 0, + ), + }?; let _node_process = node.process.clone(); From d43eb78b9738c9f833f40b8c3dd71bcc6e209510 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 18 Jul 2024 15:23:08 +0200 Subject: [PATCH 073/103] revert nft transfer test script for shielding transfer --- e2e/namada-stargaze-transfer | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/e2e/namada-stargaze-transfer b/e2e/namada-stargaze-transfer index ce96af7b3d..a803691727 100755 --- a/e2e/namada-stargaze-transfer +++ b/e2e/namada-stargaze-transfer @@ -28,7 +28,7 @@ cd $(dirname $0) HERMES_DIR=${PWD%/e2e*} # edit for your environment -NAMADA_CHAIN_ID="namada-test.eb0199f3257a844df8" +NAMADA_CHAIN_ID="namada-test.8adce119ebc4d7efe9" NAMADAC="${NAMADA_DIR}/target/debug/namadac" NAMADAN="${NAMADA_DIR}/target/debug/namadan" NAMADAW="${NAMADA_DIR}/target/debug/namadaw" @@ -154,10 +154,23 @@ ${NAMADAW} --base-dir ${NAMADA_BASE} gen-payment-addr --alias ${PAYMENT_ALIAS_2} payment_addr_2=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias ${PAYMENT_ALIAS_2} \ | awk -v paymentAlias="${PAYMENT_ALIAS_2}" '{if($1 ~ paymentAlias) {print $2}}') +echo "~~ Generate the proof from Namada for the following transfer ~~" +token="${SG721_CONTRACT}/${TOKEN_ID}" +resp=$(${NAMADAC} --base-dir ${NAMADA_BASE} ibc-gen-shielding \ + --output-folder-path ${NAMADA_BASE} \ + --target ${payment_addr} \ + --token "${token}" \ + --amount 1 \ + --port-id nft-transfer \ + --channel-id ${namada_channel} \ + --node ${NAMADA_LEDGER_ADDR}) +memo_path=$(echo ${resp} | awk '{print $8}') +memo=$(cat ${memo_path}) + echo "==== Shielding transfer from Stargaze to Namada ====" current_height=$(starsd status --node ${STARGAZE_NODE} | jq .SyncInfo.latest_block_height | sed 's/"//g') timeout_height=$((${current_height} + 100)) -msg="{\"receiver\": \"${payment_addr}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}}" +msg="{\"receiver\": \"${payment_addr}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}, \"memo\": \"${memo}\"}" encoded_msg=$(echo ${msg} | base64) starsd tx wasm execute ${SG721_CONTRACT} \ "{\"send_nft\": {\"contract\":\"${ICS721_CONTRACT}\", \"token_id\": \"${TOKEN_ID}\", \"msg\": \"${encoded_msg}\"}}" \ From 9c0d39633ea92d886a18737930d495ff99894e88 Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 9 Jul 2024 16:43:15 +0200 Subject: [PATCH 074/103] for Namada 3428 - Improve gas interface --- .github/workflows/namada.yaml | 4 +- Cargo.lock | 849 +++++++++++-------- Cargo.toml | 9 +- crates/relayer/src/chain/namada/error.rs | 4 +- crates/relayer/src/chain/namada/query.rs | 2 +- crates/relayer/src/chain/namada/tx.rs | 13 +- e2e/namada-gaia-simple-transfers | 3 + e2e/namada-simple-transfers | 10 +- e2e/namada-stargaze-transfer | 2 + tools/test-framework/src/relayer/transfer.rs | 13 +- 10 files changed, 515 insertions(+), 394 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 41527329a8..84f91d30d4 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/164218933" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/167026354" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -160,7 +160,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/164218933" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/167026354" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac diff --git a/Cargo.lock b/Cargo.lock index 3a1782a62e..598ee30fa5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver 1.0.23", + "semver 1.0.22", "serde", "termcolor", "toml 0.5.11", @@ -113,48 +113,47 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -193,7 +192,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "zeroize", ] @@ -209,7 +208,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "paste", "rustc_version 0.3.3", "zeroize", @@ -232,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "quote", "syn 1.0.109", ] @@ -253,7 +252,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "rand 0.8.5", ] @@ -297,7 +296,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -308,7 +307,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -358,14 +357,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "axum" @@ -457,9 +456,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" [[package]] name = "base64ct" @@ -678,9 +677,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" dependencies = [ "borsh-derive", "cfg_aliases", @@ -688,15 +687,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", "syn_derive", ] @@ -808,7 +807,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -825,9 +824,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.99" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" dependencies = [ "jobserver", "libc", @@ -842,9 +841,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.2.1" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chacha20" @@ -879,7 +878,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "wasm-bindgen", "windows-targets 0.52.5", ] @@ -955,7 +954,7 @@ version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro-error", "proc-macro2", "quote", @@ -977,6 +976,11 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +[[package]] +name = "clru" +version = "0.5.0" +source = "git+https://github.com/marmeladema/clru-rs.git?rev=71ca566#71ca566915f21f3c308091ca7756a91b0f8b5afc" + [[package]] name = "coins-bip32" version = "0.8.7" @@ -1058,9 +1062,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "console" @@ -1159,9 +1163,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] @@ -1187,9 +1191,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1246,15 +1250,16 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.3" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", + "platforms", "rustc_version 0.4.0", "subtle", "zeroize", @@ -1268,7 +1273,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -1291,7 +1296,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.5", + "hashbrown 0.14.3", "lock_api", "once_cell", "parking_lot_core", @@ -1299,9 +1304,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "der" @@ -1347,7 +1352,7 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -1454,7 +1459,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -1474,7 +1479,7 @@ dependencies = [ "serde", "thiserror", "time", - "winnow 0.6.13", + "winnow 0.6.8", ] [[package]] @@ -1553,9 +1558,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -1650,9 +1655,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1826,8 +1831,8 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.67", - "toml 0.8.14", + "syn 2.0.60", + "toml 0.8.16", "walkdir", ] @@ -1844,7 +1849,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -1869,8 +1874,8 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum 0.26.3", - "syn 2.0.67", + "strum 0.26.2", + "syn 2.0.60", "tempfile", "thiserror", "tiny-keccak", @@ -1886,7 +1891,7 @@ dependencies = [ "chrono", "ethers-core", "reqwest", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -1995,7 +2000,7 @@ dependencies = [ "path-slash", "rayon", "regex", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "solang-parser", @@ -2020,9 +2025,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "fd-lock" @@ -2048,9 +2053,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.9" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" [[package]] name = "fixed-hash" @@ -2090,12 +2095,39 @@ dependencies = [ "paste", ] +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2116,7 +2148,7 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] @@ -2210,7 +2242,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -2288,9 +2320,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "js-sys", @@ -2388,9 +2420,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "hashers" @@ -2416,12 +2448,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hermit-abi" version = "0.1.19" @@ -2445,9 +2471,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-conservative" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" +checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" [[package]] name = "hex_lit" @@ -2524,9 +2550,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -2552,9 +2578,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -2583,7 +2609,7 @@ dependencies = [ "futures-util", "http 0.2.12", "hyper", - "rustls 0.21.12", + "rustls 0.21.11", "tokio", "tokio-rustls 0.24.1", ] @@ -2600,6 +2626,19 @@ dependencies = [ "tokio-io-timeout", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -2632,7 +2671,7 @@ dependencies = [ "ibc-clients", "ibc-core", "ibc-core-host-cosmos", - "ibc-derive 0.7.0 (git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b)", + "ibc-derive", "ibc-primitives", ] @@ -2651,7 +2690,7 @@ name = "ibc-app-nft-transfer-types" version = "0.53.0" source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "borsh", "derive_more", "displaydoc", @@ -2763,7 +2802,7 @@ name = "ibc-client-wasm-types" version = "0.53.0" source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "displaydoc", "ibc-core-client", "ibc-core-host-types", @@ -2793,7 +2832,7 @@ dependencies = [ "ibc-core-handler", "ibc-core-host", "ibc-core-router", - "ibc-derive 0.7.0 (git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b)", + "ibc-derive", "ibc-primitives", ] @@ -3065,17 +3104,6 @@ dependencies = [ "tendermint", ] -[[package]] -name = "ibc-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d961d2194fd5229961835d2eb78091906ef8afbaaa55bce7ad41bf3ead8aa9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.67", -] - [[package]] name = "ibc-derive" version = "0.7.0" @@ -3083,7 +3111,7 @@ source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -3102,7 +3130,7 @@ dependencies = [ "tendermint", "tendermint-rpc", "time", - "toml 0.8.14", + "toml 0.8.16", "tonic", ] @@ -3130,7 +3158,7 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "borsh", "bytes", "flex-error", @@ -3191,7 +3219,7 @@ dependencies = [ "ripemd", "rpassword", "secp256k1", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_derive", "serde_json", @@ -3213,11 +3241,11 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.8.14", + "toml 0.8.16", "tonic", "tracing", "tracing-subscriber", - "uuid 1.9.1", + "uuid 1.10.0", ] [[package]] @@ -3273,7 +3301,7 @@ dependencies = [ "serde", "serde_json", "tokio", - "toml 0.8.14", + "toml 0.8.16", "tracing", ] @@ -3348,7 +3376,7 @@ dependencies = [ "once_cell", "prost", "rand 0.8.5", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "serde_yaml", @@ -3357,7 +3385,7 @@ dependencies = [ "tendermint", "tendermint-rpc", "tokio", - "toml 0.8.14", + "toml 0.8.16", "tonic", "tracing", "tracing-subscriber", @@ -3414,7 +3442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "uint", ] @@ -3488,7 +3516,7 @@ source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547b dependencies = [ "borsh", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.14.3", "serde", ] @@ -3499,7 +3527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.14.3", ] [[package]] @@ -3536,7 +3564,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] @@ -3545,12 +3573,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is_terminal_polyfill" -version = "1.70.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" - [[package]] name = "itertools" version = "0.11.0" @@ -3678,7 +3700,7 @@ dependencies = [ "lalrpop-util", "petgraph", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.3", "string_cache", "term", "tiny-keccak", @@ -3692,7 +3714,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata 0.4.7", + "regex-automata 0.4.6", ] [[package]] @@ -3703,9 +3725,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libm" @@ -3725,35 +3747,35 @@ dependencies = [ [[package]] name = "linkme" -version = "0.3.27" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" +checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.27" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" +checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -3801,7 +3823,7 @@ dependencies = [ "masp_note_encryption", "memuse", "nonempty", - "num-traits 0.2.19 (git+https://github.com/heliaxdev/num-traits?rev=3f3657caa34b8e116fdf3f8a3519c4ac29f012fe)", + "num-traits 0.2.19", "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", @@ -3818,7 +3840,7 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.15", + "getrandom 0.2.14", "group", "itertools 0.11.0", "jubjub", @@ -3857,9 +3879,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memuse" @@ -3881,9 +3903,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -3896,7 +3918,7 @@ checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" dependencies = [ "log", "once_cell", - "rustls 0.21.12", + "rustls 0.21.11", "rustls-webpki 0.101.7", "webpki-roots", ] @@ -3929,7 +3951,7 @@ dependencies = [ "tagptr", "thiserror", "triomphe", - "uuid 1.9.1", + "uuid 1.10.0", ] [[package]] @@ -3940,8 +3962,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "linkme", @@ -3954,8 +3976,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "namada_core", "smooth-operator", @@ -3964,8 +3986,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "bech32 0.8.1", "borsh", @@ -3988,7 +4010,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "num256", "num_enum", "primitive-types", @@ -4012,8 +4034,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "ethers", @@ -4039,8 +4061,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "linkme", @@ -4055,8 +4077,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "linkme", @@ -4070,8 +4092,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "itertools 0.12.1", @@ -4093,13 +4115,13 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "data-encoding", "ibc", - "ibc-derive 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ibc-derive", "ics23", "konst", "masp_primitives", @@ -4123,8 +4145,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "data-encoding", "proc-macro2", @@ -4135,8 +4157,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "eyre", @@ -4150,8 +4172,8 @@ dependencies = [ [[package]] name = "namada_migrations" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "lazy_static", "linkme", @@ -4160,8 +4182,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "namada_core", "namada_macros", @@ -4172,8 +4194,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "konst", @@ -4197,16 +4219,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "async-trait", "bimap", @@ -4222,6 +4244,7 @@ dependencies = [ "ethers", "eyre", "fd-lock", + "flume", "futures", "itertools 0.12.1", "lazy_static", @@ -4244,7 +4267,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "num256", "orion", "owo-colors", @@ -4254,6 +4277,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "regex", + "reqwest", "serde", "serde_json", "sha2 0.9.9", @@ -4272,8 +4296,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "lazy_static", @@ -4293,10 +4317,11 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", + "clru", "itertools 0.12.1", "linkme", "namada_core", @@ -4317,8 +4342,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "itertools 0.12.1", @@ -4337,8 +4362,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "namada_core", @@ -4352,8 +4377,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "konst", "namada_core", @@ -4363,8 +4388,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4380,7 +4405,7 @@ dependencies = [ "namada_macros", "namada_migrations", "num-derive 0.4.2", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "prost", "prost-types", "rand_core 0.6.4", @@ -4393,8 +4418,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.40.0" -source = "git+https://github.com/anoma/namada?rev=6dd5ded3f79ba4cb7313f140e11ee8a557d599f5#6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" dependencies = [ "borsh", "linkme", @@ -4405,6 +4430,32 @@ dependencies = [ "serde", ] +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom 0.2.14", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "new_debug_unreachable" version = "1.0.6" @@ -4429,26 +4480,27 @@ dependencies = [ [[package]] name = "num" -version = "0.4.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" dependencies = [ "num-bigint", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ + "autocfg", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "serde", ] @@ -4458,7 +4510,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] @@ -4486,7 +4538,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -4495,7 +4547,7 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] @@ -4506,26 +4558,27 @@ checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] name = "num-rational" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ + "autocfg", "num-bigint", "num-integer", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "serde", ] [[package]] name = "num-traits" -version = "0.2.19" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", "libm", @@ -4548,7 +4601,7 @@ dependencies = [ "lazy_static", "num", "num-derive 0.3.3", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "serde", "serde_derive", ] @@ -4581,7 +4634,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -4639,12 +4692,50 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "opentelemetry" version = "0.19.0" @@ -4715,7 +4806,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.15", + "getrandom 0.2.14", "subtle", "zeroize", ] @@ -4775,9 +4866,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", "parking_lot_core", @@ -4785,15 +4876,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.48.5", ] [[package]] @@ -4833,9 +4924,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.15" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "path-slash" @@ -4886,9 +4977,9 @@ dependencies = [ [[package]] name = "peg" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a625d12ad770914cbf7eff6f9314c3ef803bfe364a1b20bc36ddf56673e71e5" +checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61" dependencies = [ "peg-macros", "peg-runtime", @@ -4896,9 +4987,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f241d42067ed3ab6a4fece1db720838e1418f36d868585a27931f95d6bc03582" +checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90" dependencies = [ "peg-runtime", "proc-macro2", @@ -4907,9 +4998,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" +checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922" [[package]] name = "pem" @@ -4928,9 +5019,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -4987,7 +5078,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -5025,7 +5116,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -5056,6 +5147,12 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +[[package]] +name = "platforms" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" + [[package]] name = "poly1305" version = "0.8.0" @@ -5092,7 +5189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -5144,9 +5241,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] @@ -5168,17 +5265,17 @@ dependencies = [ [[package]] name = "proptest" -version = "1.5.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.3", "unarray", ] @@ -5194,12 +5291,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" dependencies = [ "bytes", - "heck 0.4.1", + "heck", "itertools 0.12.1", "log", "multimap", @@ -5209,7 +5306,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.67", + "syn 2.0.60", "tempfile", ] @@ -5223,14 +5320,14 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "prost-types" -version = "0.12.6" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" dependencies = [ "prost", ] @@ -5330,7 +5427,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.14", ] [[package]] @@ -5353,9 +5450,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.0.2" +version = "11.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" dependencies = [ "bitflags 2.5.0", ] @@ -5413,11 +5510,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", ] [[package]] @@ -5426,7 +5523,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.14", "libredox", "thiserror", ] @@ -5439,8 +5536,8 @@ checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -5454,13 +5551,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.3", ] [[package]] @@ -5471,9 +5568,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "reqwest" @@ -5491,14 +5588,16 @@ dependencies = [ "http-body", "hyper", "hyper-rustls", + "hyper-tls", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", + "rustls 0.21.11", "rustls-native-certs 0.6.3", "rustls-pemfile 1.0.4", "serde", @@ -5507,6 +5606,7 @@ dependencies = [ "sync_wrapper", "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls 0.24.1", "tower-service", "url", @@ -5556,7 +5656,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.14", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5611,14 +5711,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", ] [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -5647,14 +5747,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.23", + "semver 1.0.22", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" dependencies = [ "bitflags 2.5.0", "errno", @@ -5665,9 +5765,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.12" +version = "0.21.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" dependencies = [ "log", "ring 0.17.8", @@ -5684,7 +5784,7 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki 0.102.2", "subtle", "zeroize", ] @@ -5729,15 +5829,15 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.1", + "base64 0.22.0", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" [[package]] name = "rustls-webpki" @@ -5751,9 +5851,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -5762,15 +5862,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "salsa20" @@ -5816,9 +5916,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" dependencies = [ "sdd", ] @@ -5853,7 +5953,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -5938,11 +6038,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ - "bitflags 2.5.0", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -5951,9 +6051,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -5970,9 +6070,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -6043,7 +6143,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -6054,16 +6154,17 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -6086,14 +6187,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -6155,7 +6256,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -6249,9 +6350,9 @@ dependencies = [ [[package]] name = "simple-error" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2accd2c41a0e920d2abd91b2badcfa1da784662f54fbc47e0e3a51f1e2e1cf" +checksum = "8542b68b8800c3cda649d2c72d688b6907b30f1580043135d61669d4aad1c175" [[package]] name = "simple_asn1" @@ -6260,7 +6361,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "thiserror", "time", ] @@ -6310,14 +6411,14 @@ source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.7.0#0e182707f5 dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", "windows-sys 0.52.0", @@ -6360,6 +6461,9 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] [[package]] name = "spki" @@ -6407,11 +6511,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" dependencies = [ - "strum_macros 0.26.4", + "strum_macros 0.26.2", ] [[package]] @@ -6420,31 +6524,31 @@ version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "strum_macros" -version = "0.26.4" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] name = "subtle" -version = "2.6.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "subtle-encoding" @@ -6472,7 +6576,7 @@ dependencies = [ "hex", "once_cell", "reqwest", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_json", "sha2 0.10.8", @@ -6494,9 +6598,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.67" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", @@ -6512,7 +6616,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -6591,7 +6695,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.18", "once_cell", "prost", "prost-types", @@ -6619,7 +6723,7 @@ dependencies = [ "serde", "serde_json", "tendermint", - "toml 0.8.14", + "toml 0.8.16", "url", ] @@ -6711,12 +6815,12 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.15", + "getrandom 0.2.14", "peg", "pin-project", "rand 0.8.5", "reqwest", - "semver 1.0.23", + "semver 1.0.22", "serde", "serde_bytes", "serde_json", @@ -6730,7 +6834,7 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 1.9.1", + "uuid 1.10.0", "walkdir", ] @@ -6772,9 +6876,9 @@ dependencies = [ [[package]] name = "test-log" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6" dependencies = [ "env_logger", "test-log-macros", @@ -6783,13 +6887,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -6815,7 +6919,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -6934,9 +7038,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -6963,13 +7067,23 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", ] [[package]] @@ -6978,7 +7092,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.12", + "rustls 0.21.11", "tokio", ] @@ -7012,7 +7126,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.21.12", + "rustls 0.21.11", "tokio", "tokio-rustls 0.24.1", "tungstenite 0.20.1", @@ -7021,15 +7135,16 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -7043,21 +7158,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.17", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" dependencies = [ "serde", ] @@ -7075,15 +7190,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.8", ] [[package]] @@ -7127,7 +7242,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -7182,7 +7297,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -7270,9 +7385,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.13" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" +checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" [[package]] name = "try-lock" @@ -7293,7 +7408,7 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "rustls 0.21.12", + "rustls 0.21.11", "sha1", "thiserror", "url", @@ -7389,9 +7504,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -7429,9 +7544,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -7458,9 +7573,9 @@ checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" [[package]] name = "utf8parse" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" @@ -7468,17 +7583,17 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.14", "serde", ] [[package]] name = "uuid" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.14", ] [[package]] @@ -7487,6 +7602,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" @@ -7554,7 +7675,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", "wasm-bindgen-shared", ] @@ -7588,7 +7709,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7647,11 +7768,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ - "windows-sys 0.52.0", + "winapi", ] [[package]] @@ -7819,9 +7940,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" dependencies = [ "memchr", ] @@ -7881,9 +8002,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.8.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -7896,7 +8017,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.67", + "syn 2.0.60", ] [[package]] @@ -7940,9 +8061,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index a8440d5552..22d46c1d2a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,11 @@ tendermint-rpc = { version = "0.37.0" } tendermint-testgen = { version = "0.37.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" } -namada_token = { git = "https://github.com/anoma/namada", rev = "6dd5ded3f79ba4cb7313f140e11ee8a557d599f5" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } +namada_token = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } + # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs index 252599309f..7296ddfcab 100644 --- a/crates/relayer/src/chain/namada/error.rs +++ b/crates/relayer/src/chain/namada/error.rs @@ -23,8 +23,8 @@ define_error! { |_| { "borsh decoding failed" }, DryRun - { tx_results: namada_sdk::tx::data::BatchResults } - |e| { format!("Dry run to simulate a transaction failed: {:?}", e.tx_results) }, + { tx_result: namada_sdk::tx::data::TxResult } + |e| { format!("Dry run to simulate a transaction failed: {:?}", e.tx_result) }, } } diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index b5760a51f8..893a0b6685 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -136,7 +136,7 @@ impl NamadaChain { height, )]); } - let events = tx_result.batch_results.iter().filter_map(|(_, r)| { + let events = tx_result.iter().filter_map(|(_, r)| { r.as_ref().map(|batched_tx_result| { // Get IBC events when the transaction was accepted if batched_tx_result.is_accepted() { diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 7de5c43f6a..c123cfa1e9 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -6,11 +6,9 @@ use std::time::Instant; use ibc_proto::google::protobuf::Any; use itertools::Itertools; -use namada_parameters::storage as param_storage; use namada_sdk::address::{Address, ImplicitAddress}; use namada_sdk::args::TxBuilder; use namada_sdk::args::{Tx as TxArgs, TxCustom}; -use namada_sdk::borsh::BorshDeserialize; use namada_sdk::chain::ChainId; use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; use namada_sdk::{signing, tx, Namada}; @@ -22,7 +20,6 @@ use crate::chain::cosmos::types::gas::max_gas_from_config; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; -use crate::chain::requests::{IncludeProof, QueryHeight}; use crate::error::{Error, ErrorDetail}; use super::error::{Error as NamadaError, ErrorDetail as NamadaErrorDetail}; @@ -170,10 +167,6 @@ impl NamadaChain { let max_gas = max_gas_from_config(self.config()); let gas_price = self.config().gas_price.price; - let gas_scale_key = param_storage::get_gas_scale_key(); - let (value, _) = self.query(gas_scale_key, QueryHeight::Latest, IncludeProof::No)?; - let gas_scale = u64::try_from_slice(&value[..]).map_err(NamadaError::borsh_decode)?; - let args = args.clone().dry_run_wrapper(true); // Set the max gas to the gas limit for the simulation self.prepare_tx_with_gas(&mut tx, &args, &fee_token, max_gas, gas_price)?; @@ -201,14 +194,14 @@ impl NamadaChain { let estimated_gas = match response { ProcessTxResponse::DryRun(result) => { if result - .batch_results + .0 .iter() .all(|(_, r)| matches!(&r, Ok(result) if result.is_accepted())) { - result.gas_used.get_whole_gas_units(gas_scale) + result.1.into() } else { // All or some of requests will fail - return Err(NamadaError::dry_run(result.batch_results).into()); + return Err(NamadaError::dry_run(result.0).into()); } } _ => unreachable!("Unexpected response"), diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers index 95b2b447ed..c15ff7e5f8 100755 --- a/e2e/namada-gaia-simple-transfers +++ b/e2e/namada-gaia-simple-transfers @@ -157,6 +157,7 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --amount 50 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${NAMADA_LEDGER_ADDR} # packet-recv @@ -207,6 +208,7 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --amount 200 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${NAMADA_LEDGER_ADDR} # wait for relaying @@ -324,6 +326,7 @@ ${NAMADAC} --base-dir ${base_dir} ibc-transfer \ --amount 5 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${NAMADA_LEDGER_ADDR} # wait for relaying diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 84e8964367..49b7446e28 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -150,6 +150,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --amount 100 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_A} # packet-recv @@ -198,6 +199,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 50000000 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_B} # packet-recv @@ -250,6 +252,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --amount 200 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_A} echo "~~ Transfer 300 apfel from chain B to chain A ~~" @@ -260,6 +263,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 300 \ --signing-keys relayer \ --channel-id channel-0 \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_B} wait_for_relaying ${chain_a} @@ -327,8 +331,9 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --token apfel \ --amount 100 \ --channel-id channel-0 \ - --memo-path ${memo_path} \ + --ibc-shielding-data ${memo_path} \ --gas-payer relayer \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_A} wait_for_relaying ${chain_a} @@ -418,7 +423,8 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 50000000 \ --signing-keys relayer \ --channel-id channel-0 \ - --memo-path ${memo_path} \ + --ibc-shielding-data ${memo_path} \ + --gas-limit 150000 \ --node ${LEDGER_ADDR_B} wait_for_relaying ${chain_a} diff --git a/e2e/namada-stargaze-transfer b/e2e/namada-stargaze-transfer index a803691727..203c76db29 100755 --- a/e2e/namada-stargaze-transfer +++ b/e2e/namada-stargaze-transfer @@ -113,6 +113,7 @@ ${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ --signing-keys relayer \ --channel-id ${namada_channel} \ --port-id nft-transfer \ + --gas-limit 150000 \ --node ${NAMADA_LEDGER_ADDR} sleep 5 @@ -233,6 +234,7 @@ ${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ --signing-keys relayer \ --channel-id ${namada_channel} \ --port-id nft-transfer \ + --gas-limit 150000 \ --node ${NAMADA_LEDGER_ADDR} sleep 5 diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index 91a0445043..36acba2d64 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -7,7 +7,6 @@ use core::ops::Add; use core::time::Duration; use eyre::eyre; use ibc_relayer_types::events::IbcEvent; -use std::io::Write; use ibc_proto::google::protobuf::Any; use ibc_relayer::chain::cosmos::tx::batched_send_tx; @@ -196,14 +195,10 @@ pub fn ibc_namada_token_transfer( &node, ]; - let path = format!("{home_path}/memo.txt"); - if let Some(memo) = memo { - let mut memo_file = std::fs::File::create(&path).expect("Creating a memo file failed"); - memo_file - .write_all(memo.as_bytes()) - .expect("Writing memo failed"); - args.push("--memo-path"); - args.push(&path); + let memo_str = memo.clone().unwrap_or_default(); + if memo.is_some() { + args.push("--ibc-memo"); + args.push(&memo_str); } let timeout_str; From 4f20afa50cf26634b773753b1922c864ab6d893e Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 30 Jul 2024 21:55:52 +0200 Subject: [PATCH 075/103] fix gas-limit --- tools/test-framework/src/relayer/transfer.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/test-framework/src/relayer/transfer.rs b/tools/test-framework/src/relayer/transfer.rs index 36acba2d64..fd67af80a4 100644 --- a/tools/test-framework/src/relayer/transfer.rs +++ b/tools/test-framework/src/relayer/transfer.rs @@ -154,6 +154,8 @@ pub fn local_namada_token_transfer( amount, "--signing-keys", &format!("{sender}-key"), + "--gas-limit", + "150000", "--node", &format!("http://127.0.0.1:{rpc_port}"), ], @@ -191,6 +193,8 @@ pub fn ibc_namada_token_transfer( &signing_key, "--channel-id", channel_id, + "--gas-limit", + "150000", "--node", &node, ]; From b3d458d1a7770de105ee89b1ebe218f9abd0821e Mon Sep 17 00:00:00 2001 From: yito88 Date: Tue, 30 Jul 2024 22:54:15 +0200 Subject: [PATCH 076/103] implement queries for upgrade --- Cargo.lock | 658 ++++++++++--------- Cargo.toml | 9 +- crates/relayer-cli/src/commands/tx/client.rs | 2 +- crates/relayer/src/chain/namada.rs | 42 +- 4 files changed, 373 insertions(+), 338 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 598ee30fa5..e65f631074 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,7 +28,7 @@ dependencies = [ "once_cell", "regex", "secrecy", - "semver 1.0.22", + "semver 1.0.23", "serde", "termcolor", "toml 0.5.11", @@ -113,47 +113,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -192,7 +193,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "zeroize", ] @@ -208,7 +209,7 @@ dependencies = [ "ark-std", "derivative", "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "paste", "rustc_version 0.3.3", "zeroize", @@ -231,7 +232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "quote", "syn 1.0.109", ] @@ -252,7 +253,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.8.5", ] @@ -296,7 +297,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -307,7 +308,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -357,14 +358,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -456,9 +457,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -677,9 +678,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ "borsh-derive", "cfg_aliases", @@ -687,15 +688,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a8646f94ab393e43e8b35a2558b1624bed28b97ee09c5d15456e3c9463f46d" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", "syn_derive", ] @@ -807,7 +808,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -824,9 +825,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.95" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -841,9 +842,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chacha20" @@ -878,7 +879,7 @@ dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen", "windows-targets 0.52.5", ] @@ -954,7 +955,7 @@ version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro-error", "proc-macro2", "quote", @@ -1062,9 +1063,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "console" @@ -1163,9 +1164,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1191,9 +1192,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1250,16 +1251,15 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rustc_version 0.4.0", "subtle", "zeroize", @@ -1273,7 +1273,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -1296,7 +1296,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -1304,9 +1304,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "der" @@ -1352,7 +1352,7 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -1459,7 +1459,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -1479,7 +1479,7 @@ dependencies = [ "serde", "thiserror", "time", - "winnow 0.6.8", + "winnow 0.6.13", ] [[package]] @@ -1558,9 +1558,9 @@ dependencies = [ [[package]] name = "either" -version = "1.13.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -1655,9 +1655,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1831,8 +1831,8 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.60", - "toml 0.8.16", + "syn 2.0.67", + "toml 0.8.14", "walkdir", ] @@ -1849,7 +1849,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -1874,8 +1874,8 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum 0.26.2", - "syn 2.0.60", + "strum 0.26.3", + "syn 2.0.67", "tempfile", "thiserror", "tiny-keccak", @@ -1891,7 +1891,7 @@ dependencies = [ "chrono", "ethers-core", "reqwest", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "thiserror", @@ -2000,7 +2000,7 @@ dependencies = [ "path-slash", "rayon", "regex", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "solang-parser", @@ -2025,9 +2025,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fd-lock" @@ -2053,9 +2053,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "fixed-hash" @@ -2148,7 +2148,7 @@ dependencies = [ "libm", "num-bigint", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2242,7 +2242,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -2320,9 +2320,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -2420,9 +2420,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashers" @@ -2448,6 +2448,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -2471,9 +2477,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-conservative" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed443af458ccb6d81c1e7e661545f94d3176752fb1df2f543b902a1e0f51e2" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" [[package]] name = "hex_lit" @@ -2550,9 +2556,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -2578,9 +2584,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -2609,7 +2615,7 @@ dependencies = [ "futures-util", "http 0.2.12", "hyper", - "rustls 0.21.11", + "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] @@ -2690,7 +2696,7 @@ name = "ibc-app-nft-transfer-types" version = "0.53.0" source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "borsh", "derive_more", "displaydoc", @@ -2802,7 +2808,7 @@ name = "ibc-client-wasm-types" version = "0.53.0" source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "displaydoc", "ibc-core-client", "ibc-core-host-types", @@ -3111,7 +3117,7 @@ source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -3130,7 +3136,7 @@ dependencies = [ "tendermint", "tendermint-rpc", "time", - "toml 0.8.16", + "toml 0.8.14", "tonic", ] @@ -3158,7 +3164,7 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "borsh", "bytes", "flex-error", @@ -3219,7 +3225,7 @@ dependencies = [ "ripemd", "rpassword", "secp256k1", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_derive", "serde_json", @@ -3241,11 +3247,11 @@ dependencies = [ "tiny-keccak", "tokio", "tokio-stream", - "toml 0.8.16", + "toml 0.8.14", "tonic", "tracing", "tracing-subscriber", - "uuid 1.10.0", + "uuid 1.9.1", ] [[package]] @@ -3301,7 +3307,7 @@ dependencies = [ "serde", "serde_json", "tokio", - "toml 0.8.16", + "toml 0.8.14", "tracing", ] @@ -3376,7 +3382,7 @@ dependencies = [ "once_cell", "prost", "rand 0.8.5", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "serde_yaml", @@ -3385,7 +3391,7 @@ dependencies = [ "tendermint", "tendermint-rpc", "tokio", - "toml 0.8.16", + "toml 0.8.14", "tonic", "tracing", "tracing-subscriber", @@ -3442,7 +3448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951641f13f873bff03d4bf19ae8bec531935ac0ac2cc775f84d7edfdcfed3f17" dependencies = [ "integer-sqrt", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "uint", ] @@ -3516,7 +3522,7 @@ source = "git+https://github.com/heliaxdev/indexmap?tag=2.2.4-heliax-1#b5b5b547b dependencies = [ "borsh", "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "serde", ] @@ -3527,7 +3533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -3564,7 +3570,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3573,6 +3579,12 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.11.0" @@ -3700,7 +3712,7 @@ dependencies = [ "lalrpop-util", "petgraph", "regex", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", "string_cache", "term", "tiny-keccak", @@ -3714,7 +3726,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata 0.4.6", + "regex-automata 0.4.7", ] [[package]] @@ -3725,9 +3737,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libm" @@ -3747,35 +3759,35 @@ dependencies = [ [[package]] name = "linkme" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" +checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" +checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -3823,7 +3835,7 @@ dependencies = [ "masp_note_encryption", "memuse", "nonempty", - "num-traits 0.2.19", + "num-traits 0.2.19 (git+https://github.com/heliaxdev/num-traits?rev=3f3657caa34b8e116fdf3f8a3519c4ac29f012fe)", "rand 0.8.5", "rand_core 0.6.4", "sha2 0.10.8", @@ -3840,7 +3852,7 @@ dependencies = [ "blake2b_simd", "bls12_381", "directories", - "getrandom 0.2.14", + "getrandom 0.2.15", "group", "itertools 0.11.0", "jubjub", @@ -3879,9 +3891,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memuse" @@ -3903,9 +3915,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -3918,7 +3930,7 @@ checksum = "6fdef521c74c2884a4f3570bcdb6d2a77b3c533feb6b27ac2ae72673cc221c64" dependencies = [ "log", "once_cell", - "rustls 0.21.11", + "rustls 0.21.12", "rustls-webpki 0.101.7", "webpki-roots", ] @@ -3951,7 +3963,7 @@ dependencies = [ "tagptr", "thiserror", "triomphe", - "uuid 1.10.0", + "uuid 1.9.1", ] [[package]] @@ -3963,7 +3975,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "linkme", @@ -3977,7 +3989,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "namada_core", "smooth-operator", @@ -3987,7 +3999,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "bech32 0.8.1", "borsh", @@ -4010,7 +4022,7 @@ dependencies = [ "namada_migrations", "num-integer", "num-rational", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "num256", "num_enum", "primitive-types", @@ -4035,7 +4047,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "ethers", @@ -4062,7 +4074,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "linkme", @@ -4078,7 +4090,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "linkme", @@ -4093,7 +4105,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "itertools 0.12.1", @@ -4116,7 +4128,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "data-encoding", @@ -4146,7 +4158,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "data-encoding", "proc-macro2", @@ -4158,7 +4170,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "eyre", @@ -4173,7 +4185,7 @@ dependencies = [ [[package]] name = "namada_migrations" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "lazy_static", "linkme", @@ -4183,7 +4195,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "namada_core", "namada_macros", @@ -4195,7 +4207,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "konst", @@ -4220,7 +4232,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "namada_core", ] @@ -4228,7 +4240,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "async-trait", "bimap", @@ -4267,7 +4279,7 @@ dependencies = [ "namada_token", "namada_tx", "namada_vote_ext", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "num256", "orion", "owo-colors", @@ -4297,7 +4309,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "lazy_static", @@ -4318,7 +4330,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "clru", @@ -4343,7 +4355,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "itertools 0.12.1", @@ -4363,7 +4375,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "namada_core", @@ -4378,7 +4390,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "konst", "namada_core", @@ -4389,7 +4401,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4405,7 +4417,7 @@ dependencies = [ "namada_macros", "namada_migrations", "num-derive 0.4.2", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "prost", "prost-types", "rand_core 0.6.4", @@ -4419,7 +4431,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=6b0fd295519aa25d22b73301dfd1ac05cdec634a#6b0fd295519aa25d22b73301dfd1ac05cdec634a" +source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" dependencies = [ "borsh", "linkme", @@ -4436,7 +4448,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -4480,27 +4492,26 @@ dependencies = [ [[package]] name = "num" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135b08af27d103b0a51f2ae0f8632117b7b185ccf931445affa8df530576a41" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ "num-bigint", "num-complex", "num-integer", "num-iter", "num-rational", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] @@ -4510,7 +4521,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4538,7 +4549,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -4547,7 +4558,7 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4558,27 +4569,26 @@ checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -4601,7 +4611,7 @@ dependencies = [ "lazy_static", "num", "num-derive 0.3.3", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde_derive", ] @@ -4634,7 +4644,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -4715,7 +4725,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -4806,7 +4816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6624905ddd92e460ff0685567539ed1ac985b2dee4c92c7edcd64fce905b00c" dependencies = [ "ct-codecs", - "getrandom 0.2.14", + "getrandom 0.2.15", "subtle", "zeroize", ] @@ -4866,9 +4876,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -4876,15 +4886,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -4924,9 +4934,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "path-slash" @@ -4977,9 +4987,9 @@ dependencies = [ [[package]] name = "peg" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61" +checksum = "8a625d12ad770914cbf7eff6f9314c3ef803bfe364a1b20bc36ddf56673e71e5" dependencies = [ "peg-macros", "peg-runtime", @@ -4987,9 +4997,9 @@ dependencies = [ [[package]] name = "peg-macros" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90" +checksum = "f241d42067ed3ab6a4fece1db720838e1418f36d868585a27931f95d6bc03582" dependencies = [ "peg-runtime", "proc-macro2", @@ -4998,9 +5008,9 @@ dependencies = [ [[package]] name = "peg-runtime" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922" +checksum = "e3aeb8f54c078314c2065ee649a7241f46b9d8e418e1a9581ba0546657d7aa3a" [[package]] name = "pem" @@ -5019,9 +5029,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -5078,7 +5088,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -5116,7 +5126,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -5147,12 +5157,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "poly1305" version = "0.8.0" @@ -5189,7 +5193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -5241,9 +5245,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -5265,17 +5269,17 @@ dependencies = [ [[package]] name = "proptest" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ "bitflags 2.5.0", "lazy_static", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", "unarray", ] @@ -5291,12 +5295,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck", + "heck 0.4.1", "itertools 0.12.1", "log", "multimap", @@ -5306,7 +5310,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.60", + "syn 2.0.67", "tempfile", ] @@ -5320,14 +5324,14 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -5427,7 +5431,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -5450,9 +5454,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.0.1" +version = "11.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d86a7c4638d42c44551f4791a20e687dbb4c3de1f33c43dd71e355cd429def1" +checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" dependencies = [ "bitflags 2.5.0", ] @@ -5510,11 +5514,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -5523,7 +5527,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "libredox", "thiserror", ] @@ -5536,8 +5540,8 @@ checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -5551,13 +5555,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -5568,9 +5572,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" @@ -5597,7 +5601,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.11", + "rustls 0.21.12", "rustls-native-certs 0.6.3", "rustls-pemfile 1.0.4", "serde", @@ -5656,7 +5660,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.14", + "getrandom 0.2.15", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -5711,14 +5715,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -5747,14 +5751,14 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.22", + "semver 1.0.23", ] [[package]] name = "rustix" -version = "0.38.33" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -5765,9 +5769,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.11" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -5784,7 +5788,7 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.2", + "rustls-webpki 0.102.4", "subtle", "zeroize", ] @@ -5829,15 +5833,15 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" @@ -5851,9 +5855,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -5862,15 +5866,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "salsa20" @@ -5916,9 +5920,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" dependencies = [ "sdd", ] @@ -5953,7 +5957,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -6038,11 +6042,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -6051,9 +6055,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -6070,9 +6074,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -6143,7 +6147,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -6154,17 +6158,16 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "serde_json" -version = "1.0.121" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", - "memchr", "ryu", "serde", ] @@ -6187,14 +6190,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -6256,7 +6259,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -6350,9 +6353,9 @@ dependencies = [ [[package]] name = "simple-error" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8542b68b8800c3cda649d2c72d688b6907b30f1580043135d61669d4aad1c175" +checksum = "7e2accd2c41a0e920d2abd91b2badcfa1da784662f54fbc47e0e3a51f1e2e1cf" [[package]] name = "simple_asn1" @@ -6361,7 +6364,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "time", ] @@ -6411,14 +6414,14 @@ source = "git+https://github.com/heliaxdev/smooth-operator?tag=v0.7.0#0e182707f5 dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -6511,11 +6514,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.2", + "strum_macros 0.26.4", ] [[package]] @@ -6524,31 +6527,31 @@ version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "strum_macros" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" [[package]] name = "subtle-encoding" @@ -6576,7 +6579,7 @@ dependencies = [ "hex", "once_cell", "reqwest", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_json", "sha2 0.10.8", @@ -6598,9 +6601,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "ff8655ed1d86f3af4ee3fd3263786bc14245ad17c4c7e85ba7187fb3ae028c90" dependencies = [ "proc-macro2", "quote", @@ -6616,7 +6619,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -6695,7 +6698,7 @@ dependencies = [ "flex-error", "futures", "k256", - "num-traits 0.2.18", + "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "prost", "prost-types", @@ -6723,7 +6726,7 @@ dependencies = [ "serde", "serde_json", "tendermint", - "toml 0.8.16", + "toml 0.8.14", "url", ] @@ -6815,12 +6818,12 @@ dependencies = [ "bytes", "flex-error", "futures", - "getrandom 0.2.14", + "getrandom 0.2.15", "peg", "pin-project", "rand 0.8.5", "reqwest", - "semver 1.0.22", + "semver 1.0.23", "serde", "serde_bytes", "serde_json", @@ -6834,7 +6837,7 @@ dependencies = [ "tokio", "tracing", "url", - "uuid 1.10.0", + "uuid 1.9.1", "walkdir", ] @@ -6876,9 +6879,9 @@ dependencies = [ [[package]] name = "test-log" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b319995299c65d522680decf80f2c108d85b861d81dfe340a10d16cee29d9e6" +checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" dependencies = [ "env_logger", "test-log-macros", @@ -6887,13 +6890,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8f546451eaa38373f549093fe9fd05e7d2bade739e2ddf834b9968621d60107" +checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -6919,7 +6922,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -7038,9 +7041,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -7067,13 +7070,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -7092,7 +7095,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.11", + "rustls 0.21.12", "tokio", ] @@ -7126,7 +7129,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.21.11", + "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", "tungstenite 0.20.1", @@ -7135,16 +7138,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -7158,21 +7160,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.16" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.17", + "toml_edit 0.22.14", ] [[package]] name = "toml_datetime" -version = "0.6.7" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -7190,15 +7192,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.17" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.13", ] [[package]] @@ -7242,7 +7244,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -7297,7 +7299,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -7385,9 +7387,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" [[package]] name = "try-lock" @@ -7408,7 +7410,7 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "rustls 0.21.11", + "rustls 0.21.12", "sha1", "thiserror", "url", @@ -7504,9 +7506,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -7544,9 +7546,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -7573,9 +7575,9 @@ checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -7583,17 +7585,17 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", "serde", ] [[package]] name = "uuid" -version = "1.10.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" dependencies = [ - "getrandom 0.2.14", + "getrandom 0.2.15", ] [[package]] @@ -7675,7 +7677,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", "wasm-bindgen-shared", ] @@ -7709,7 +7711,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7768,11 +7770,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -7940,9 +7942,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -8002,9 +8004,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -8017,7 +8019,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.67", ] [[package]] @@ -8061,9 +8063,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 22d46c1d2a..742279d88c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,11 +39,10 @@ tendermint-rpc = { version = "0.37.0" } tendermint-testgen = { version = "0.37.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } -namada_token = { git = "https://github.com/anoma/namada", rev = "6b0fd295519aa25d22b73301dfd1ac05cdec634a" } - +namada_ibc = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } +namada_token = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer-cli/src/commands/tx/client.rs b/crates/relayer-cli/src/commands/tx/client.rs index 9e67d277eb..9f7edc9556 100644 --- a/crates/relayer-cli/src/commands/tx/client.rs +++ b/crates/relayer-cli/src/commands/tx/client.rs @@ -341,7 +341,7 @@ impl Runnable for TxUpgradeClientCmd { reference_application_latest_height ); - while reference_application_latest_height != target_reference_application_height { + while reference_application_latest_height < target_reference_application_height { thread::sleep(Duration::from_millis(500)); reference_application_latest_height = match client.src_chain().query_latest_height() { diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 2ba195c137..b26f431d75 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -640,7 +640,7 @@ impl ChainEndpoint for NamadaChain { fn query_upgraded_client_state( &self, - _request: QueryUpgradedClientStateRequest, + request: QueryUpgradedClientStateRequest, ) -> Result<(AnyClientState, MerkleProof), Error> { crate::time!( "query_upgraded_client_state", @@ -650,12 +650,29 @@ impl ChainEndpoint for NamadaChain { ); crate::telemetry!(query, self.id(), "query_upgraded_client_state"); - unimplemented!() + let height = request + .upgrade_height + .to_string() + .parse() + .expect("height conversion is infallible"); + let query_height = request + .upgrade_height + .decrement() + .map_err(|_| Error::invalid_height_no_source())?; + let key = namada_ibc::storage::upgraded_client_state_key(height); + let (value, proof) = + self.query(key, QueryHeight::Specific(query_height), IncludeProof::Yes)?; + if let Some(proof) = proof { + let client_state = AnyClientState::decode_vec(&value).map_err(Error::decode)?; + Ok((client_state, proof)) + } else { + Err(Error::queried_proof_not_found()) + } } fn query_upgraded_consensus_state( &self, - _request: QueryUpgradedConsensusStateRequest, + request: QueryUpgradedConsensusStateRequest, ) -> Result<(AnyConsensusState, MerkleProof), Error> { crate::time!( "query_upgraded_consensus_state", @@ -665,7 +682,24 @@ impl ChainEndpoint for NamadaChain { ); crate::telemetry!(query, self.id(), "query_upgraded_consensus_state"); - unimplemented!() + let height = request + .upgrade_height + .to_string() + .parse() + .expect("height conversion is infallible"); + let query_height = request + .upgrade_height + .decrement() + .map_err(|_| Error::invalid_height_no_source())?; + let key = namada_ibc::storage::upgraded_consensus_state_key(height); + let (value, proof) = + self.query(key, QueryHeight::Specific(query_height), IncludeProof::Yes)?; + if let Some(proof) = proof { + let client_state = AnyConsensusState::decode_vec(&value).map_err(Error::decode)?; + Ok((client_state, proof)) + } else { + Err(Error::queried_proof_not_found()) + } } fn query_connections( From 047807aafc81066fcb970e3e94fb7f3d3aa6d8fe Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 7 Aug 2024 21:19:48 +0200 Subject: [PATCH 077/103] fix upgrade path --- Cargo.lock | 290 +++++++++++++++++------------ Cargo.toml | 8 +- crates/relayer/src/chain/namada.rs | 8 +- 3 files changed, 177 insertions(+), 129 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e65f631074..90857af330 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2671,7 +2671,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-apps", "ibc-clients", @@ -2684,7 +2684,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2694,7 +2694,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "base64 0.22.1", "borsh", @@ -2715,7 +2715,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2725,7 +2725,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -2743,7 +2743,7 @@ dependencies = [ [[package]] name = "ibc-apps" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2772,7 +2772,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2789,7 +2789,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -2806,7 +2806,7 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "base64 0.22.1", "displaydoc", @@ -2820,7 +2820,7 @@ dependencies = [ [[package]] name = "ibc-clients" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2829,7 +2829,7 @@ dependencies = [ [[package]] name = "ibc-core" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2845,7 +2845,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2860,7 +2860,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -2883,7 +2883,7 @@ dependencies = [ [[package]] name = "ibc-core-client" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2896,7 +2896,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "derive_more", "displaydoc", @@ -2912,7 +2912,7 @@ dependencies = [ [[package]] name = "ibc-core-client-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -2932,11 +2932,12 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", "displaydoc", + "ibc-core-host-types", "ibc-primitives", "ibc-proto", "ics23", @@ -2950,7 +2951,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -2964,7 +2965,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -2985,7 +2986,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3000,7 +3001,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -3024,7 +3025,7 @@ dependencies = [ [[package]] name = "ibc-core-host" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "derive_more", "displaydoc", @@ -3042,7 +3043,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "derive_more", "displaydoc", @@ -3065,7 +3066,7 @@ dependencies = [ [[package]] name = "ibc-core-host-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -3080,7 +3081,7 @@ dependencies = [ [[package]] name = "ibc-core-router" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "derive_more", "displaydoc", @@ -3094,7 +3095,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -3113,7 +3114,7 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "proc-macro2", "quote", @@ -3143,7 +3144,7 @@ dependencies = [ [[package]] name = "ibc-primitives" version = "0.53.0" -source = "git+https://github.com/cosmos/ibc-rs?rev=7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b#7ff41b3804cda649e0d7f7c21389b8d65f8d9b4b" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" dependencies = [ "borsh", "derive_more", @@ -3757,26 +3758,6 @@ dependencies = [ "libc", ] -[[package]] -name = "linkme" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" -dependencies = [ - "linkme-impl", -] - -[[package]] -name = "linkme-impl" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.67", -] - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -3975,13 +3956,11 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", - "linkme", "namada_core", "namada_macros", - "namada_migrations", "namada_storage", "serde", ] @@ -3989,7 +3968,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "namada_core", "smooth-operator", @@ -3999,7 +3978,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "bech32 0.8.1", "borsh", @@ -4010,16 +3989,15 @@ dependencies = [ "ethabi", "ethbridge-structs", "eyre", + "futures", "ibc", "ics23", "impl-num-traits", "index-set", "indexmap 2.2.4", "k256", - "linkme", "masp_primitives", "namada_macros", - "namada_migrations", "num-integer", "num-rational", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4039,34 +4017,37 @@ dependencies = [ "tendermint-proto", "thiserror", "tiny-keccak", + "tokio", "tracing", "uint", + "wasmtimer", "zeroize", ] [[package]] name = "namada_ethereum_bridge" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "ethers", "eyre", "itertools 0.12.1", "konst", - "linkme", "namada_core", "namada_events", "namada_macros", - "namada_migrations", "namada_parameters", "namada_proof_of_stake", "namada_state", "namada_storage", + "namada_systems", "namada_trans_token", "namada_tx", "namada_vote_ext", + "namada_vp", "serde", + "smooth-operator", "thiserror", "tracing", ] @@ -4074,13 +4055,11 @@ dependencies = [ [[package]] name = "namada_events" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", - "linkme", "namada_core", "namada_macros", - "namada_migrations", "serde", "serde_json", "thiserror", @@ -4090,14 +4069,12 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", - "linkme", "namada_core", "namada_events", "namada_macros", - "namada_migrations", "serde", "thiserror", ] @@ -4105,19 +4082,19 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "itertools 0.12.1", "konst", - "linkme", + "namada_account", "namada_core", "namada_events", "namada_macros", - "namada_migrations", - "namada_parameters", - "namada_storage", - "namada_trans_token", + "namada_state", + "namada_systems", + "namada_tx", + "namada_vp", "serde", "serde_json", "smooth-operator", @@ -4128,7 +4105,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "data-encoding", @@ -4139,12 +4116,16 @@ dependencies = [ "masp_primitives", "namada_core", "namada_events", + "namada_gas", "namada_governance", "namada_macros", "namada_parameters", "namada_state", "namada_storage", + "namada_systems", "namada_token", + "namada_tx", + "namada_vp", "primitive-types", "prost", "serde", @@ -4158,7 +4139,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "data-encoding", "proc-macro2", @@ -4170,7 +4151,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "eyre", @@ -4182,24 +4163,18 @@ dependencies = [ "thiserror", ] -[[package]] -name = "namada_migrations" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" -dependencies = [ - "lazy_static", - "linkme", - "namada_macros", -] - [[package]] name = "namada_parameters" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "namada_core", "namada_macros", + "namada_state", "namada_storage", + "namada_systems", + "namada_tx", + "namada_vp", "smooth-operator", "thiserror", ] @@ -4207,21 +4182,24 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", + "itertools 0.12.1", "konst", - "linkme", "namada_account", "namada_controller", "namada_core", "namada_events", "namada_governance", "namada_macros", - "namada_migrations", "namada_parameters", + "namada_state", "namada_storage", + "namada_systems", "namada_trans_token", + "namada_tx", + "namada_vp", "once_cell", "serde", "smooth-operator", @@ -4232,7 +4210,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "namada_core", ] @@ -4240,7 +4218,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "async-trait", "bimap", @@ -4260,7 +4238,6 @@ dependencies = [ "futures", "itertools 0.12.1", "lazy_static", - "linkme", "masp_primitives", "masp_proofs", "namada_account", @@ -4271,14 +4248,15 @@ dependencies = [ "namada_governance", "namada_ibc", "namada_macros", - "namada_migrations", "namada_parameters", "namada_proof_of_stake", "namada_state", "namada_storage", "namada_token", "namada_tx", + "namada_vm", "namada_vote_ext", + "namada_vp", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "num256", "orion", @@ -4302,49 +4280,52 @@ dependencies = [ "tokio", "toml 0.5.11", "tracing", - "wasmtimer", "zeroize", ] [[package]] name = "namada_shielded_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "lazy_static", "masp_primitives", "masp_proofs", + "namada_account", "namada_controller", "namada_core", "namada_gas", - "namada_parameters", + "namada_state", "namada_storage", - "namada_trans_token", + "namada_systems", + "namada_tx", + "namada_vp", "rand_core 0.6.4", + "ripemd", "serde", + "sha2 0.9.9", "smooth-operator", + "thiserror", "tracing", ] [[package]] name = "namada_state" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "clru", "itertools 0.12.1", - "linkme", "namada_core", "namada_events", "namada_gas", "namada_macros", "namada_merkle_tree", - "namada_migrations", - "namada_parameters", "namada_replay_protection", "namada_storage", + "namada_systems", "namada_tx", "patricia_tree", "smooth-operator", @@ -4355,15 +4336,13 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "itertools 0.12.1", - "linkme", "namada_core", "namada_macros", "namada_merkle_tree", - "namada_migrations", "namada_replay_protection", "regex", "serde", @@ -4372,10 +4351,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "namada_systems" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +dependencies = [ + "namada_core", + "namada_storage", +] + [[package]] name = "namada_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", "namada_core", @@ -4383,6 +4371,7 @@ dependencies = [ "namada_macros", "namada_shielded_token", "namada_storage", + "namada_systems", "namada_trans_token", "serde", ] @@ -4390,18 +4379,24 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "konst", "namada_core", "namada_events", + "namada_state", "namada_storage", + "namada_systems", + "namada_tx", + "namada_vp", + "thiserror", + "tracing", ] [[package]] name = "namada_tx" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4409,13 +4404,11 @@ dependencies = [ "data-encoding", "either", "konst", - "linkme", "masp_primitives", "namada_core", "namada_events", "namada_gas", "namada_macros", - "namada_migrations", "num-derive 0.4.2", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "prost", @@ -4428,20 +4421,69 @@ dependencies = [ "tonic-build", ] +[[package]] +name = "namada_vm" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +dependencies = [ + "borsh", + "clru", + "namada_core", + "namada_events", + "namada_gas", + "namada_parameters", + "namada_state", + "namada_token", + "namada_tx", + "namada_vp", + "smooth-operator", + "thiserror", + "tracing", + "wasmparser", +] + [[package]] name = "namada_vote_ext" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=37f00808fcb00b4e850b8070af99593f531db183#37f00808fcb00b4e850b8070af99593f531db183" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" dependencies = [ "borsh", - "linkme", "namada_core", "namada_macros", - "namada_migrations", "namada_tx", "serde", ] +[[package]] +name = "namada_vp" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +dependencies = [ + "namada_core", + "namada_events", + "namada_gas", + "namada_state", + "namada_tx", + "namada_vp_env", + "smooth-operator", + "thiserror", + "tracing", +] + +[[package]] +name = "namada_vp_env" +version = "0.41.0" +source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +dependencies = [ + "derivative", + "masp_primitives", + "namada_core", + "namada_events", + "namada_storage", + "namada_tx", + "smooth-operator", +] + [[package]] name = "nanorand" version = "0.7.0" @@ -4524,12 +4566,6 @@ dependencies = [ "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-derive" version = "0.3.3" @@ -5300,7 +5336,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.12.1", "log", "multimap", @@ -6937,13 +6973,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", - "num-conv", "powerfmt", "serde", "time-core", @@ -6958,11 +6993,10 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] @@ -7722,6 +7756,16 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +[[package]] +name = "wasmparser" +version = "0.107.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e3ac9b780c7dda0cac7a52a5d6d2d6707cc6e3451c9db209b6c758f40d7acb" +dependencies = [ + "indexmap 1.9.3", + "semver 1.0.23", +] + [[package]] name = "wasmtimer" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 742279d88c..25de7764bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.37.0" } tendermint-testgen = { version = "0.37.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } -namada_token = { git = "https://github.com/anoma/namada", rev = "37f00808fcb00b4e850b8070af99593f531db183" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } +namada_token = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index b26f431d75..9c6af05ba8 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -34,7 +34,8 @@ use ibc_relayer_types::core::ics24_host::path::{ }; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; -use namada_ibc::storage; +use namada_ibc::core::host::types::path::UPGRADED_IBC_STATE; +use namada_ibc::{storage, COMMITMENT_PREFIX}; use namada_parameters::{storage as param_storage, EpochDuration}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; @@ -1163,7 +1164,10 @@ impl ChainEndpoint for NamadaChain { settings.max_clock_drift, height, self.config.proof_specs.clone().unwrap(), - vec![], + vec![ + COMMITMENT_PREFIX.to_string(), + UPGRADED_IBC_STATE.to_string(), + ], AllowUpdate { after_expiry: true, after_misbehaviour: true, From f74de2876f04bd24714c805077c73deb29f27eb8 Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 7 Aug 2024 21:45:23 +0200 Subject: [PATCH 078/103] update time --- Cargo.lock | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 90857af330..13f1cd3ce4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4566,6 +4566,12 @@ dependencies = [ "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.3.3" @@ -6973,12 +6979,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -6993,10 +7000,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] From b4cebdedef7db7243933fae9f41eeb15e0ce116f Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 9 Aug 2024 10:59:07 +0200 Subject: [PATCH 079/103] Namada 0.42 draft --- Cargo.lock | 112 +++++++++++++++++++++++++---------------------------- Cargo.toml | 8 ++-- 2 files changed, 57 insertions(+), 63 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 13f1cd3ce4..dd61b384b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2671,7 +2671,7 @@ dependencies = [ [[package]] name = "ibc" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-apps", "ibc-clients", @@ -2684,7 +2684,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2694,7 +2694,7 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "base64 0.22.1", "borsh", @@ -2715,7 +2715,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2725,7 +2725,7 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -2743,7 +2743,7 @@ dependencies = [ [[package]] name = "ibc-apps" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2772,7 +2772,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2789,7 +2789,7 @@ dependencies = [ [[package]] name = "ibc-client-tendermint-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "displaydoc", "ibc-core-client-types", @@ -2806,7 +2806,7 @@ dependencies = [ [[package]] name = "ibc-client-wasm-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "base64 0.22.1", "displaydoc", @@ -2820,7 +2820,7 @@ dependencies = [ [[package]] name = "ibc-clients" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2829,7 +2829,7 @@ dependencies = [ [[package]] name = "ibc-core" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2845,7 +2845,7 @@ dependencies = [ [[package]] name = "ibc-core-channel" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -2860,7 +2860,7 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -2883,7 +2883,7 @@ dependencies = [ [[package]] name = "ibc-core-client" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -2896,7 +2896,7 @@ dependencies = [ [[package]] name = "ibc-core-client-context" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "derive_more", "displaydoc", @@ -2912,7 +2912,7 @@ dependencies = [ [[package]] name = "ibc-core-client-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -2932,7 +2932,7 @@ dependencies = [ [[package]] name = "ibc-core-commitment-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -2951,7 +2951,7 @@ dependencies = [ [[package]] name = "ibc-core-connection" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -2965,7 +2965,7 @@ dependencies = [ [[package]] name = "ibc-core-connection-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -2986,7 +2986,7 @@ dependencies = [ [[package]] name = "ibc-core-handler" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -3025,7 +3025,7 @@ dependencies = [ [[package]] name = "ibc-core-host" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "derive_more", "displaydoc", @@ -3043,7 +3043,7 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "derive_more", "displaydoc", @@ -3066,7 +3066,7 @@ dependencies = [ [[package]] name = "ibc-core-host-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -3081,7 +3081,7 @@ dependencies = [ [[package]] name = "ibc-core-router" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "derive_more", "displaydoc", @@ -3095,7 +3095,7 @@ dependencies = [ [[package]] name = "ibc-core-router-types" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -3114,7 +3114,7 @@ dependencies = [ [[package]] name = "ibc-derive" version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "proc-macro2", "quote", @@ -3144,7 +3144,7 @@ dependencies = [ [[package]] name = "ibc-primitives" version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=30fa65406bd35fa5db0c047e16357ff260d51a60#30fa65406bd35fa5db0c047e16357ff260d51a60" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" dependencies = [ "borsh", "derive_more", @@ -3956,7 +3956,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "namada_core", @@ -3968,7 +3968,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "namada_core", "smooth-operator", @@ -3978,7 +3978,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "bech32 0.8.1", "borsh", @@ -4027,7 +4027,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "ethers", @@ -4055,7 +4055,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "namada_core", @@ -4069,7 +4069,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "namada_core", @@ -4082,7 +4082,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "itertools 0.12.1", @@ -4105,7 +4105,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "data-encoding", @@ -4117,13 +4117,10 @@ dependencies = [ "namada_core", "namada_events", "namada_gas", - "namada_governance", "namada_macros", - "namada_parameters", "namada_state", "namada_storage", "namada_systems", - "namada_token", "namada_tx", "namada_vp", "primitive-types", @@ -4139,7 +4136,7 @@ dependencies = [ [[package]] name = "namada_macros" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "data-encoding", "proc-macro2", @@ -4151,7 +4148,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "eyre", @@ -4166,7 +4163,7 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "namada_core", "namada_macros", @@ -4182,7 +4179,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "itertools 0.12.1", @@ -4191,13 +4188,10 @@ dependencies = [ "namada_controller", "namada_core", "namada_events", - "namada_governance", "namada_macros", - "namada_parameters", "namada_state", "namada_storage", "namada_systems", - "namada_trans_token", "namada_tx", "namada_vp", "once_cell", @@ -4210,7 +4204,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "namada_core", ] @@ -4218,7 +4212,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "async-trait", "bimap", @@ -4286,7 +4280,7 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "lazy_static", @@ -4313,7 +4307,7 @@ dependencies = [ [[package]] name = "namada_state" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "clru", @@ -4336,7 +4330,7 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "itertools 0.12.1", @@ -4354,7 +4348,7 @@ dependencies = [ [[package]] name = "namada_systems" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "namada_core", "namada_storage", @@ -4363,7 +4357,7 @@ dependencies = [ [[package]] name = "namada_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "namada_core", @@ -4379,7 +4373,7 @@ dependencies = [ [[package]] name = "namada_trans_token" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "konst", "namada_core", @@ -4396,7 +4390,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "ark-bls12-381", "bitflags 2.5.0", @@ -4424,7 +4418,7 @@ dependencies = [ [[package]] name = "namada_vm" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "clru", @@ -4445,7 +4439,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "borsh", "namada_core", @@ -4457,7 +4451,7 @@ dependencies = [ [[package]] name = "namada_vp" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "namada_core", "namada_events", @@ -4473,7 +4467,7 @@ dependencies = [ [[package]] name = "namada_vp_env" version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb#7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" +source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" dependencies = [ "derivative", "masp_primitives", diff --git a/Cargo.toml b/Cargo.toml index 25de7764bc..1eadab7513 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.37.0" } tendermint-testgen = { version = "0.37.0" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } -namada_token = { git = "https://github.com/anoma/namada", rev = "7c85594dcb0a147c5e5a11e0383c4fa384dbc7bb" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } +namada_token = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } # Other dependencies abscissa_core = "=0.6.0" From be73530b0cdd7b519a5dc357e4501a7cb7c9596d Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 12:48:27 +0200 Subject: [PATCH 080/103] for Hermes 1.10.1 --- .github/workflows/namada.yaml | 14 +- Cargo.lock | 629 ++++++++---------- Cargo.toml | 8 +- crates/relayer/src/chain/namada/wallet.rs | 2 +- e2e/namada-simple-transfers | 12 +- scripts/setup-namada | 32 +- scripts/setup-namada-single-node | 27 +- .../src/tests/clear_packet.rs | 7 +- tools/test-framework/src/bootstrap/namada.rs | 15 +- tools/test-framework/src/types/single/node.rs | 2 +- 10 files changed, 344 insertions(+), 404 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 84f91d30d4..e6f71f3888 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -44,7 +44,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: yuji/for-hermes-ci + ref: v0.43.0 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -78,7 +78,7 @@ jobs: run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin - name: Download CometBFT run: | - curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz tar -xvzf cometbft.tar.gz chmod +x cometbft mkdir -p $HOME/local/bin @@ -87,13 +87,14 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/167026354" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac cp ./namada*/namadan ~/local/bin/namadan cp ./namada*/namadaw ~/local/bin/namadaw cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/* $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH @@ -127,7 +128,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: yuji/for-hermes-ci + ref: v0.43.0 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -151,7 +152,7 @@ jobs: run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin - name: Download CometBFT run: | - curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.2/cometbft_0.37.2_linux_amd64.tar.gz + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz tar -xvzf cometbft.tar.gz mkdir -p ~/local/bin chmod +x cometbft @@ -160,13 +161,14 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/167026354" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac cp ./namada*/namadan ~/local/bin/namadan cp ./namada*/namadaw ~/local/bin/namadaw cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/* $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH diff --git a/Cargo.lock b/Cargo.lock index 04c7e3cd4b..6fdc776fd2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -727,6 +727,16 @@ name = "bls12_381" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7bc6d6292be3a19e6379786dac800f551e5865a5bb51ebbe3064ab80433f403" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "bls12_381" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838#d3ebe9dd6488fac1923db120a7498079e55dd838" dependencies = [ "ff", "group", @@ -2813,8 +2823,8 @@ dependencies = [ [[package]] name = "ibc" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-apps", "ibc-clients", @@ -2826,8 +2836,8 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-nft-transfer-types", "ibc-core", @@ -2836,8 +2846,8 @@ dependencies = [ [[package]] name = "ibc-app-nft-transfer-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "base64 0.22.1", "borsh", @@ -2846,7 +2856,7 @@ dependencies = [ "http 1.1.0", "ibc-app-transfer-types", "ibc-core", - "ibc-proto 0.46.0", + "ibc-proto", "mime", "parity-scale-codec", "scale-info", @@ -2857,8 +2867,8 @@ dependencies = [ [[package]] name = "ibc-app-transfer" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-transfer-types", "ibc-core", @@ -2867,14 +2877,14 @@ dependencies = [ [[package]] name = "ibc-app-transfer-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", "displaydoc", "ibc-core", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "primitive-types", "scale-info", @@ -2885,8 +2895,8 @@ dependencies = [ [[package]] name = "ibc-apps" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-app-nft-transfer", "ibc-app-transfer", @@ -2900,22 +2910,22 @@ dependencies = [ "flex-error", "futures", "http 1.1.0", - "ibc-proto 0.47.0", + "ibc-proto", "ibc-relayer", "ibc-relayer-types", "itertools 0.13.0", "reqwest", "serde", "serde_json", - "tendermint-rpc 0.38.1", + "tendermint-rpc", "tokio", "tracing", ] [[package]] name = "ibc-client-tendermint" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "ibc-client-tendermint-types", @@ -2925,45 +2935,45 @@ dependencies = [ "ibc-core-host", "ibc-primitives", "serde", - "tendermint 0.37.0", - "tendermint-light-client-verifier 0.37.0", + "tendermint", + "tendermint-light-client-verifier", ] [[package]] name = "ibc-client-tendermint-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "displaydoc", "ibc-core-client-types", "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "serde", - "tendermint 0.37.0", - "tendermint-light-client-verifier 0.37.0", - "tendermint-proto 0.37.0", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", ] [[package]] name = "ibc-client-wasm-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "base64 0.22.1", "displaydoc", "ibc-core-client", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "serde", ] [[package]] name = "ibc-clients" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-client-tendermint", "ibc-client-wasm-types", @@ -2971,8 +2981,8 @@ dependencies = [ [[package]] name = "ibc-core" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -2987,8 +2997,8 @@ dependencies = [ [[package]] name = "ibc-core-channel" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel-types", "ibc-core-client", @@ -3002,8 +3012,8 @@ dependencies = [ [[package]] name = "ibc-core-channel-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -3013,20 +3023,20 @@ dependencies = [ "ibc-core-connection-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", "serde", "sha2 0.10.8", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-client" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-client-context", "ibc-core-client-types", @@ -3038,8 +3048,8 @@ dependencies = [ [[package]] name = "ibc-core-client-context" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -3049,13 +3059,13 @@ dependencies = [ "ibc-core-host-types", "ibc-primitives", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-client-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -3063,27 +3073,27 @@ dependencies = [ "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-commitment-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", "displaydoc", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", - "ics23 0.11.3", + "ibc-proto", + "ics23", "parity-scale-codec", "scale-info", "schemars", @@ -3093,8 +3103,8 @@ dependencies = [ [[package]] name = "ibc-core-connection" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-client-wasm-types", "ibc-core-client", @@ -3102,13 +3112,13 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host", "ibc-primitives", - "prost 0.12.6", + "prost 0.13.1", ] [[package]] name = "ibc-core-connection-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -3117,19 +3127,19 @@ dependencies = [ "ibc-core-commitment-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-handler" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "ibc-core-channel", "ibc-core-client", @@ -3143,8 +3153,8 @@ dependencies = [ [[package]] name = "ibc-core-handler-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -3156,19 +3166,19 @@ dependencies = [ "ibc-core-host-types", "ibc-core-router-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-host" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -3185,8 +3195,8 @@ dependencies = [ [[package]] name = "ibc-core-host-cosmos" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -3199,17 +3209,17 @@ dependencies = [ "ibc-core-handler-types", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "serde", "sha2 0.10.8", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-core-host-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", @@ -3223,8 +3233,8 @@ dependencies = [ [[package]] name = "ibc-core-router" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "derive_more", "displaydoc", @@ -3237,27 +3247,27 @@ dependencies = [ [[package]] name = "ibc-core-router-types" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", "displaydoc", "ibc-core-host-types", "ibc-primitives", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", "scale-info", "schemars", "serde", "subtle-encoding", - "tendermint 0.37.0", + "tendermint", ] [[package]] name = "ibc-derive" -version = "0.7.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.8.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "proc-macro2", "quote", @@ -3276,8 +3286,8 @@ dependencies = [ "prost 0.13.1", "serde", "serde_json", - "tendermint 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint", + "tendermint-rpc", "time", "toml 0.8.19", "tonic", @@ -3285,58 +3295,41 @@ dependencies = [ [[package]] name = "ibc-primitives" -version = "0.53.0" -source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b#1dd9be8c1cdc773e6b5b0b3609f3390a9a69eb9b" +version = "0.54.0" +source = "git+https://github.com/heliaxdev/cosmos-ibc-rs?rev=38bd2a32f35117d4d9165a3c68c64ccd87ad56dd#38bd2a32f35117d4d9165a3c68c64ccd87ad56dd" dependencies = [ "borsh", "derive_more", "displaydoc", - "ibc-proto 0.46.0", + "ibc-proto", "parity-scale-codec", - "prost 0.12.6", + "prost 0.13.1", "scale-info", "schemars", "serde", - "tendermint 0.37.0", + "tendermint", "time", ] [[package]] name = "ibc-proto" -version = "0.46.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb09e0b52b8a16e98ce98845e7c15b018440f3c56defa12fa44782cd66bab65" +checksum = "1678333cf68c9094ca66aaf9a271269f1f6bf5c26881161def8bd88cee831a23" dependencies = [ "base64 0.22.1", "borsh", "bytes", "flex-error", - "ics23 0.11.3", + "ics23", "informalsystems-pbjson", "parity-scale-codec", - "prost 0.12.6", + "prost 0.13.1", "scale-info", "schemars", "serde", "subtle-encoding", - "tendermint-proto 0.37.0", -] - -[[package]] -name = "ibc-proto" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1678333cf68c9094ca66aaf9a271269f1f6bf5c26881161def8bd88cee831a23" -dependencies = [ - "base64 0.22.1", - "bytes", - "flex-error", - "ics23 0.12.0", - "informalsystems-pbjson", - "prost 0.13.1", - "serde", - "subtle-encoding", - "tendermint-proto 0.38.1", + "tendermint-proto", "tonic", ] @@ -3366,7 +3359,7 @@ dependencies = [ "http 1.1.0", "humantime", "humantime-serde", - "ibc-proto 0.47.0", + "ibc-proto", "ibc-relayer-types", "ibc-telemetry", "itertools 0.13.0", @@ -3394,12 +3387,12 @@ dependencies = [ "signature", "strum 0.25.0", "subtle-encoding", - "tendermint 0.38.1", + "tendermint", "tendermint-light-client", "tendermint-light-client-detector", - "tendermint-light-client-verifier 0.38.1", - "tendermint-proto 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", "tendermint-testgen", "test-log", "thiserror", @@ -3446,9 +3439,9 @@ dependencies = [ "serial_test", "signal-hook", "subtle-encoding", - "tendermint 0.38.1", - "tendermint-light-client-verifier 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-rpc", "time", "tokio", "tracing", @@ -3479,8 +3472,8 @@ dependencies = [ "derive_more", "env_logger", "flex-error", - "ibc-proto 0.47.0", - "ics23 0.12.0", + "ibc-proto", + "ics23", "itertools 0.13.0", "num-rational", "primitive-types", @@ -3490,10 +3483,10 @@ dependencies = [ "serde_derive", "serde_json", "subtle-encoding", - "tendermint 0.38.1", - "tendermint-light-client-verifier 0.38.1", - "tendermint-proto 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-proto", + "tendermint-rpc", "tendermint-testgen", "test-log", "time", @@ -3516,7 +3509,7 @@ dependencies = [ "prometheus", "serde", "serde_json", - "tendermint 0.38.1", + "tendermint", "tokio", "tracing", ] @@ -3532,7 +3525,7 @@ dependencies = [ "hdpath", "hex", "http 1.1.0", - "ibc-proto 0.47.0", + "ibc-proto", "ibc-relayer", "ibc-relayer-cli", "ibc-relayer-types", @@ -3548,8 +3541,8 @@ dependencies = [ "serde_yaml", "sha2 0.10.8", "subtle-encoding", - "tendermint 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint", + "tendermint-rpc", "tokio", "toml 0.8.19", "tonic", @@ -3557,25 +3550,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "ics23" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18798160736c1e368938ba6967dbcb3c7afb3256b442a5506ba5222eebb68a5a" -dependencies = [ - "anyhow", - "blake2", - "blake3", - "bytes", - "hex", - "informalsystems-pbjson", - "prost 0.12.6", - "ripemd", - "serde", - "sha2 0.10.8", - "sha3", -] - [[package]] name = "ics23" version = "0.12.0" @@ -3725,6 +3699,15 @@ dependencies = [ "serde", ] +[[package]] +name = "init-once" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0863329819ed5ecf33446da6cb9104d2f8943ff8530d2b6c51adbc6be4f0632" +dependencies = [ + "portable-atomic", +] + [[package]] name = "inout" version = "0.1.3" @@ -3836,7 +3819,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8499f7a74008aafbecb2a2e608a3e13e4dd3e84df198b604451efe93f2de6e61" dependencies = [ "bitvec", - "bls12_381", + "bls12_381 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ff", + "group", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "jubjub" +version = "0.10.0" +source = "git+https://github.com/heliaxdev/jubjub.git?rev=a373686962f4e9d0edb3b4716f86ff6bbd9aa86c#a373686962f4e9d0edb3b4716f86ff6bbd9aa86c" +dependencies = [ + "bitvec", + "bls12_381 0.8.0 (git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838)", "ff", "group", "rand_core 0.6.4", @@ -3858,6 +3854,16 @@ dependencies = [ "signature", ] +[[package]] +name = "kdam" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "526586ea01a9a132b5f8d3a60f6d6b41b411550236f5ee057795f20b37316957" +dependencies = [ + "terminal_size", + "windows-sys 0.52.0", +] + [[package]] name = "keccak" version = "0.1.5" @@ -3970,7 +3976,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "masp_note_encryption" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" +source = "git+https://github.com/anoma/masp?rev=12ed8b060b295c06502a2ff8468e4a941cb7cca4#12ed8b060b295c06502a2ff8468e4a941cb7cca4" dependencies = [ "borsh", "chacha20", @@ -3983,14 +3989,14 @@ dependencies = [ [[package]] name = "masp_primitives" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" +source = "git+https://github.com/anoma/masp?rev=12ed8b060b295c06502a2ff8468e4a941cb7cca4#12ed8b060b295c06502a2ff8468e4a941cb7cca4" dependencies = [ "aes", "bip0039", "bitvec", "blake2b_simd", "blake2s_simd", - "bls12_381", + "bls12_381 0.8.0 (git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838)", "borsh", "byteorder", "ff", @@ -3998,7 +4004,7 @@ dependencies = [ "group", "hex", "incrementalmerkletree", - "jubjub", + "jubjub 0.10.0 (git+https://github.com/heliaxdev/jubjub.git?rev=a373686962f4e9d0edb3b4716f86ff6bbd9aa86c)", "lazy_static", "masp_note_encryption", "memuse", @@ -4014,16 +4020,16 @@ dependencies = [ [[package]] name = "masp_proofs" version = "1.0.0" -source = "git+https://github.com/anoma/masp?rev=8d83b172698098fba393006016072bc201ed9ab7#8d83b172698098fba393006016072bc201ed9ab7" +source = "git+https://github.com/anoma/masp?rev=12ed8b060b295c06502a2ff8468e4a941cb7cca4#12ed8b060b295c06502a2ff8468e4a941cb7cca4" dependencies = [ "bellman", "blake2b_simd", - "bls12_381", + "bls12_381 0.8.0 (git+https://github.com/heliaxdev/bls12_381.git?rev=d3ebe9dd6488fac1923db120a7498079e55dd838)", "directories", "getrandom 0.2.15", "group", "itertools 0.11.0", - "jubjub", + "jubjub 0.10.0 (git+https://github.com/heliaxdev/jubjub.git?rev=a373686962f4e9d0edb3b4716f86ff6bbd9aa86c)", "lazy_static", "masp_primitives", "minreq", @@ -4152,8 +4158,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "namada_core", @@ -4164,8 +4170,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "namada_core", "smooth-operator", @@ -4174,8 +4180,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "bech32 0.8.1", "borsh", @@ -4188,11 +4194,12 @@ dependencies = [ "eyre", "futures", "ibc", - "ics23 0.11.3", + "ics23", "impl-num-traits", "index-set", "indexmap 2.2.4", "k256", + "lazy_static", "masp_primitives", "namada_macros", "num-integer", @@ -4201,7 +4208,7 @@ dependencies = [ "num256", "num_enum", "primitive-types", - "prost-types 0.12.6", + "prost-types 0.13.1", "rand 0.8.5", "rand_core 0.6.4", "ripemd", @@ -4210,8 +4217,8 @@ dependencies = [ "sha2 0.9.9", "smooth-operator", "sparse-merkle-tree", - "tendermint 0.37.0", - "tendermint-proto 0.37.0", + "tendermint", + "tendermint-proto", "thiserror", "tiny-keccak", "tokio", @@ -4223,8 +4230,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "ethers", @@ -4251,8 +4258,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "namada_core", @@ -4265,8 +4272,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "namada_core", @@ -4278,8 +4285,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "itertools 0.12.1", @@ -4301,14 +4308,14 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "data-encoding", "ibc", "ibc-derive", - "ics23 0.11.3", + "ics23", "konst", "masp_primitives", "namada_core", @@ -4321,7 +4328,7 @@ dependencies = [ "namada_tx", "namada_vp", "primitive-types", - "prost 0.12.6", + "prost 0.13.1", "serde", "serde_json", "sha2 0.9.9", @@ -4332,8 +4339,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "data-encoding", "proc-macro2", @@ -4344,23 +4351,23 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "eyre", - "ics23 0.11.3", + "ics23", "namada_core", "namada_macros", - "prost 0.12.6", + "prost 0.13.1", "sparse-merkle-tree", "thiserror", ] [[package]] name = "namada_parameters" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "namada_core", "namada_macros", @@ -4375,8 +4382,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "itertools 0.12.1", @@ -4400,16 +4407,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "async-trait", "bimap", @@ -4427,7 +4434,9 @@ dependencies = [ "fd-lock", "flume", "futures", + "init-once", "itertools 0.12.1", + "kdam", "lazy_static", "masp_primitives", "masp_proofs", @@ -4454,9 +4463,10 @@ dependencies = [ "owo-colors", "paste", "patricia_tree", - "prost 0.12.6", + "prost 0.13.1", "rand 0.8.5", "rand_core 0.6.4", + "rayon", "regex", "reqwest", "serde", @@ -4464,20 +4474,23 @@ dependencies = [ "sha2 0.9.9", "slip10_ed25519", "smooth-operator", - "tendermint-rpc 0.37.0", + "tempfile", + "tendermint-rpc", "thiserror", "tiny-bip39 0.8.2", "tiny-hderive", "tokio", "toml 0.5.11", "tracing", + "typed-builder", + "xorf", "zeroize", ] [[package]] name = "namada_shielded_token" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "lazy_static", @@ -4503,8 +4516,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "clru", @@ -4526,8 +4539,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "itertools 0.12.1", @@ -4544,8 +4557,8 @@ dependencies = [ [[package]] name = "namada_systems" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "namada_core", "namada_storage", @@ -4553,8 +4566,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "namada_core", @@ -4569,8 +4582,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "konst", "namada_core", @@ -4586,8 +4599,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "ark-bls12-381", "bitflags 2.6.0", @@ -4602,8 +4615,8 @@ dependencies = [ "namada_macros", "num-derive 0.4.2", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", - "prost 0.12.6", - "prost-types 0.12.6", + "prost 0.13.1", + "prost-types 0.13.1", "rand_core 0.6.4", "serde", "serde_json", @@ -4614,8 +4627,8 @@ dependencies = [ [[package]] name = "namada_vm" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "clru", @@ -4635,8 +4648,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "borsh", "namada_core", @@ -4647,8 +4660,8 @@ dependencies = [ [[package]] name = "namada_vp" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "namada_core", "namada_events", @@ -4663,8 +4676,8 @@ dependencies = [ [[package]] name = "namada_vp_env" -version = "0.41.0" -source = "git+https://github.com/anoma/namada?rev=86368f5df01c0a704b7c516876fc5b5ea9096d89#86368f5df01c0a704b7c516876fc5b5ea9096d89" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" dependencies = [ "derivative", "masp_primitives", @@ -5401,6 +5414,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" + [[package]] name = "powerfmt" version = "0.2.0" @@ -5759,7 +5778,7 @@ dependencies = [ "byteorder", "group", "hex", - "jubjub", + "jubjub 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "pasta_curves", "rand_core 0.6.4", "serde", @@ -6734,11 +6753,11 @@ dependencies = [ [[package]] name = "sparse-merkle-tree" version = "0.3.1-pre" -source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=bab8cb96872db22cc9a139b2d3dfc4e00521d097#bab8cb96872db22cc9a139b2d3dfc4e00521d097" +source = "git+https://github.com/heliaxdev/sparse-merkle-tree?rev=a93c55ccd47840ee0967eee237e47d9245478594#a93c55ccd47840ee0967eee237e47d9245478594" dependencies = [ "borsh", "cfg-if", - "ics23 0.11.3", + "ics23", "itertools 0.12.1", "sha2 0.9.9", ] @@ -6982,37 +7001,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "tendermint" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954496fbc9716eb4446cdd6d00c071a3e2f22578d62aa03b40c7e5b4fda3ed42" -dependencies = [ - "bytes", - "digest 0.10.7", - "ed25519", - "ed25519-consensus", - "flex-error", - "futures", - "k256", - "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", - "once_cell", - "prost 0.12.6", - "prost-types 0.12.6", - "ripemd", - "serde", - "serde_bytes", - "serde_json", - "serde_repr", - "sha2 0.10.8", - "signature", - "subtle", - "subtle-encoding", - "tendermint-proto 0.37.0", - "time", - "zeroize", -] - [[package]] name = "tendermint" version = "0.38.1" @@ -7039,25 +7027,11 @@ dependencies = [ "signature", "subtle", "subtle-encoding", - "tendermint-proto 0.38.1", + "tendermint-proto", "time", "zeroize", ] -[[package]] -name = "tendermint-config" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84b11b57d20ee4492a1452faff85f5c520adc36ca9fe5e701066935255bb89f" -dependencies = [ - "flex-error", - "serde", - "serde_json", - "tendermint 0.37.0", - "toml 0.8.19", - "url", -] - [[package]] name = "tendermint-config" version = "0.38.1" @@ -7067,7 +7041,7 @@ dependencies = [ "flex-error", "serde", "serde_json", - "tendermint 0.38.1", + "tendermint", "toml 0.8.19", "url", ] @@ -7089,9 +7063,9 @@ dependencies = [ "serde_derive", "serde_json", "static_assertions", - "tendermint 0.38.1", - "tendermint-light-client-verifier 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint", + "tendermint-light-client-verifier", + "tendermint-rpc", "time", "tokio", "tracing", @@ -7112,27 +7086,14 @@ dependencies = [ "serde_derive", "serde_json", "static_assertions", - "tendermint 0.38.1", + "tendermint", "tendermint-light-client", - "tendermint-proto 0.38.1", - "tendermint-rpc 0.38.1", + "tendermint-proto", + "tendermint-rpc", "time", "tracing", ] -[[package]] -name = "tendermint-light-client-verifier" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3848090df4502a09ee27cb1a00f1835e1111c8993b22c5e1e41ffb7f6f09d57e" -dependencies = [ - "derive_more", - "flex-error", - "serde", - "tendermint 0.37.0", - "time", -] - [[package]] name = "tendermint-light-client-verifier" version = "0.38.1" @@ -7142,23 +7103,7 @@ dependencies = [ "derive_more", "flex-error", "serde", - "tendermint 0.38.1", - "time", -] - -[[package]] -name = "tendermint-proto" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc87024548c7f3da479885201e3da20ef29e85a3b13d04606b380ac4c7120d87" -dependencies = [ - "bytes", - "flex-error", - "prost 0.12.6", - "prost-types 0.12.6", - "serde", - "serde_bytes", - "subtle-encoding", + "tendermint", "time", ] @@ -7178,35 +7123,6 @@ dependencies = [ "time", ] -[[package]] -name = "tendermint-rpc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfdc2281e271277fda184d96d874a6fe59f569b130b634289257baacfc95aa85" -dependencies = [ - "async-trait", - "bytes", - "flex-error", - "getrandom 0.2.15", - "peg", - "pin-project", - "rand 0.8.5", - "semver 1.0.23", - "serde", - "serde_bytes", - "serde_json", - "subtle", - "subtle-encoding", - "tendermint 0.37.0", - "tendermint-config 0.37.0", - "tendermint-proto 0.37.0", - "thiserror", - "time", - "url", - "uuid 1.10.0", - "walkdir", -] - [[package]] name = "tendermint-rpc" version = "0.38.1" @@ -7229,9 +7145,9 @@ dependencies = [ "serde_json", "subtle", "subtle-encoding", - "tendermint 0.38.1", - "tendermint-config 0.38.1", - "tendermint-proto 0.38.1", + "tendermint", + "tendermint-config", + "tendermint-proto", "thiserror", "time", "tokio", @@ -7253,7 +7169,7 @@ dependencies = [ "serde_json", "simple-error", "tempfile", - "tendermint 0.38.1", + "tendermint", "time", ] @@ -7277,6 +7193,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix", + "windows-sys 0.48.0", +] + [[package]] name = "test-log" version = "0.2.16" @@ -7840,6 +7766,26 @@ dependencies = [ "utf-8", ] +[[package]] +name = "typed-builder" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "typenum" version = "1.17.0" @@ -8409,6 +8355,17 @@ dependencies = [ "tap", ] +[[package]] +name = "xorf" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf24c008fe464f5d8f58b8d16a1ab7e930bd73b2a6933ff8704c414b2bed7f92" +dependencies = [ + "libm", + "rand 0.8.5", + "serde", +] + [[package]] name = "yansi" version = "0.5.1" diff --git a/Cargo.toml b/Cargo.toml index e563c2c88f..dcb3d271c5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.38.1" } tendermint-testgen = { version = "0.38.1" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } -namada_token = { git = "https://github.com/anoma/namada", rev = "86368f5df01c0a704b7c516876fc5b5ea9096d89" } +namada_ibc = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } +namada_parameters = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } +namada_sdk = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } +namada_token = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/wallet.rs b/crates/relayer/src/chain/namada/wallet.rs index 00f59b4e45..c30742f489 100644 --- a/crates/relayer/src/chain/namada/wallet.rs +++ b/crates/relayer/src/chain/namada/wallet.rs @@ -46,7 +46,7 @@ impl FsWalletStorage for CliWalletUtils { impl WalletIo for CliWalletUtils { type Rng = OsRng; - fn read_password(_confirm: bool) -> Zeroizing { + fn read_password(_confirm: bool, _target_key: Option<&str>) -> Zeroizing { match env::var("NAMADA_WALLET_PASSWORD_FILE") { Ok(path) => Zeroizing::new( fs::read_to_string(path).expect("Something went wrong reading the file"), diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers index 49b7446e28..444273a720 100755 --- a/e2e/namada-simple-transfers +++ b/e2e/namada-simple-transfers @@ -150,7 +150,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --amount 100 \ --signing-keys relayer \ --channel-id channel-0 \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_A} # packet-recv @@ -199,7 +199,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 50000000 \ --signing-keys relayer \ --channel-id channel-0 \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_B} # packet-recv @@ -252,7 +252,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --amount 200 \ --signing-keys relayer \ --channel-id channel-0 \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_A} echo "~~ Transfer 300 apfel from chain B to chain A ~~" @@ -263,7 +263,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --amount 300 \ --signing-keys relayer \ --channel-id channel-0 \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_B} wait_for_relaying ${chain_a} @@ -333,7 +333,7 @@ ${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ --channel-id channel-0 \ --ibc-shielding-data ${memo_path} \ --gas-payer relayer \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_A} wait_for_relaying ${chain_a} @@ -424,7 +424,7 @@ ${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ --signing-keys relayer \ --channel-id channel-0 \ --ibc-shielding-data ${memo_path} \ - --gas-limit 150000 \ + --gas-limit 200000 \ --node ${LEDGER_ADDR_B} wait_for_relaying ${chain_a} diff --git a/scripts/setup-namada b/scripts/setup-namada index 1cb556f84f..2652d23297 100755 --- a/scripts/setup-namada +++ b/scripts/setup-namada @@ -108,33 +108,27 @@ function init_network() { --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ --archive-dir ${base_dir}/genesis \ + --wasm-dir ${NAMADA_DIR}/wasm \ | awk '$1 == "Derived" {print $4}') + mkdir -p ${validator_base_dir}/pre-genesis/validator-0 + cp ${BASE_GENESIS_DIR}/src/pre-genesis/validator-0/*.toml ${validator_base_dir}/pre-genesis/validator-0 + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ ${NAMADAC} --base-dir ${validator_base_dir} \ utils join-network \ --chain-id ${chain_id} \ --genesis-validator validator-0 \ --pre-genesis-path \ - ${base_dir}/pre-genesis/validator-0 \ - --dont-prefetch-wasm + ${base_dir}/pre-genesis/validator-0 rm -rf ${base_dir}/${chain_id} # for non-validator NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ ${NAMADAC} --base-dir ${base_dir} \ utils join-network \ - --chain-id ${chain_id} \ - --dont-prefetch-wasm -} - -function copy_wasm() { - local suffix=$1 - local chain_id=$2 - - local base_dir=${DATA_DIR}/namada-${suffix} - - cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/setup/validator-0/${chain_id}/wasm/ + --add-persistent-peers \ + --chain-id ${chain_id} } function init_relayer_acc() { @@ -169,10 +163,8 @@ make_genesis "a" result=$(init_network "a") chain_id_a=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') -copy_wasm "a" ${chain_id_a} - ${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ - ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & + ledger > ${DATA_DIR}/namada-a/namada.log 2>&1 & sleep 5 # shutdown temporarily to bootstrap chain-b @@ -183,10 +175,8 @@ make_genesis "b" result=$(init_network "b") chain_id_b=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') -copy_wasm "b" ${chain_id_b} - ${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ - ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & + ledger > ${DATA_DIR}/namada-b/namada.log 2>&1 & sleep 5 # shutdown temporarily to bootstrap chain-b @@ -206,12 +196,12 @@ sed -i .bak \ # Restart each chain ${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ - ledger run > ${DATA_DIR}/namada-a/namada.log 2>&1 & + ledger > ${DATA_DIR}/namada-a/namada.log 2>&1 & echo "Namada chain A's PID = $!" sleep 5 ${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ - ledger run > ${DATA_DIR}/namada-b/namada.log 2>&1 & + ledger > ${DATA_DIR}/namada-b/namada.log 2>&1 & echo "Namada chain B's PID = $!" sleep 5 diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node index e22a3ed286..dd32c3a1fb 100755 --- a/scripts/setup-namada-single-node +++ b/scripts/setup-namada-single-node @@ -90,31 +90,26 @@ function init_network() { --templates-path ${base_dir}/templates \ --wasm-checksums-path ${CHECKSUM_PATH} \ --archive-dir ${base_dir}/genesis \ + --wasm-dir ${NAMADA_DIR}/wasm \ | awk '$1 == "Derived" {print $4}') + mkdir -p ${validator_base_dir}/pre-genesis/validator-0 + cp ${BASE_GENESIS_DIR}/src/pre-genesis/validator-0/*.toml ${validator_base_dir}/pre-genesis/validator-0 + NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ ${NAMADAC} --base-dir ${validator_base_dir} \ utils join-network \ + --add-persistent-peers \ --chain-id ${chain_id} \ - --genesis-validator validator-0 \ - --pre-genesis-path \ - ${base_dir}/pre-genesis/validator-0 \ - --dont-prefetch-wasm + --genesis-validator validator-0 # for non-validator rm -rf ${base_dir}/${chain_id} NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ ${NAMADAC} --base-dir ${base_dir} \ - utils join-network \ - --chain-id ${chain_id} \ - --dont-prefetch-wasm -} - -function copy_wasm() { - local chain_id=$1 - local base_dir=${DATA_DIR}/namada - - cp ${NAMADA_DIR}/wasm/*.wasm ${base_dir}/setup/validator-0/${chain_id}/wasm/ + utils join-network \ + --add-persistent-peers \ + --chain-id ${chain_id} } function init_relayer_acc() { @@ -155,10 +150,8 @@ make_genesis result=$(init_network) chain_id=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') -copy_wasm ${chain_id} - ${NAMADAN} --base-dir ${DATA_DIR}/namada/setup/validator-0 \ - ledger run > ${DATA_DIR}/namada/namada.log 2>&1 & + ledger > ${DATA_DIR}/namada/namada.log 2>&1 & echo "Namada chain's PID = $!" sleep 5 diff --git a/tools/integration-test/src/tests/clear_packet.rs b/tools/integration-test/src/tests/clear_packet.rs index 3981b556b7..d45fab572d 100644 --- a/tools/integration-test/src/tests/clear_packet.rs +++ b/tools/integration-test/src/tests/clear_packet.rs @@ -671,8 +671,11 @@ impl BinaryChannelTest for LimitedClearPacketTest { // Spawn the supervisor only after the first IBC transfer relayer.with_supervisor(|| { - let amount_b = cleared_amount - .transfer(&channel.port_b.as_ref(), &channel.channel_id_b.as_ref())?; + let amount_b = cleared_amount.transfer( + &chains.node_b.chain_driver().value().chain_type, + &channel.port_b.as_ref(), + &channel.channel_id_b.as_ref(), + )?; info!("Assert that {sent_amount} was escrowed from sending chain"); diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 3d13386ec2..244978b912 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -84,7 +84,8 @@ pub fn bootstrap_namada_node( let genesis_path = &format!("{home_path}/genesis"); fs::create_dir_all(genesis_path)?; - let wasm_checksum = &format!("{namada_repo_path}/wasm/checksums.json"); + let wasm_dir = &format!("{namada_repo_path}/wasm"); + let wasm_checksum = &format!("{wasm_dir}/checksums.json"); // Init network let output = simple_exec_with_envs( @@ -103,6 +104,8 @@ pub fn bootstrap_namada_node( wasm_checksum, "--archive-dir", genesis_path, + "--wasm-dir", + wasm_dir, ], &[("NAMADA_BASE_DIR", home_path)], )?; @@ -112,6 +115,7 @@ pub fn bootstrap_namada_node( let validator_base_dir = &format!("{home_path}/setup/validator-0"); let pre_genesis_path = &format!("{home_path}/pre-genesis/validator-0"); + simple_exec("namada", "cd", &[&namada_repo_path])?; simple_exec_with_envs( &chain_id, "namadac", @@ -126,7 +130,6 @@ pub fn bootstrap_namada_node( "validator-0", "--pre-genesis-path", pre_genesis_path, - "--dont-prefetch-wasm", ], &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], )?; @@ -144,18 +147,10 @@ pub fn bootstrap_namada_node( "join-network", "--chain-id", &chain_id, - "--dont-prefetch-wasm", ], &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], )?; - let dst_cp = &format!("{home_path}/setup/validator-0/{chain_id}/wasm/"); - - // Copy wasm - let copy_loop = - format!("for file in {namada_repo_path}/wasm/*.wasm; do cp \"$file\" {dst_cp}; done"); - simple_exec("namada", "sh", &["-c", ©_loop])?; - let config_path = format!("{home_path}/setup/validator-0/{chain_id}/config.toml"); chain_driver.update_chain_config(&config_path, |config| { diff --git a/tools/test-framework/src/types/single/node.rs b/tools/test-framework/src/types/single/node.rs index 1af34ea3aa..73f5c322f9 100644 --- a/tools/test-framework/src/types/single/node.rs +++ b/tools/test-framework/src/types/single/node.rs @@ -164,7 +164,7 @@ impl FullNode { }; let chain_config = match chain_type { - TestedChainType::Cosmos + TestedChainType::Cosmos { dynamic_fee: _ } | TestedChainType::Provenance | TestedChainType::Evmos | TestedChainType::Osmosis From 3be1556ae3802f0811b3801db8c31ce909286253 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 13:56:00 +0200 Subject: [PATCH 081/103] fix for Hermes 1.10.2 --- .github/workflows/namada.yaml | 20 +++++++++---------- .../src/tests/async_icq/simple_query.rs | 6 +++--- tools/integration-test/src/tests/ica.rs | 2 +- .../ica_ordered_channel.rs | 2 +- .../tests/interchain_security/ica_transfer.rs | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index e6f71f3888..1ff7b18457 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -90,11 +90,11 @@ jobs: release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz - cp ./namada*/namadac ~/local/bin/namadac - cp ./namada*/namadan ~/local/bin/namadan - cp ./namada*/namadaw ~/local/bin/namadaw - cp ./namada*/namada ~/local/bin/namada - cp ./namada*/wasm/* $NAMADA_REPO_PATH/wasm + cp ./namada-*/namadac ~/local/bin/namadac + cp ./namada-*/namadan ~/local/bin/namadan + cp ./namada-*/namadaw ~/local/bin/namadaw + cp ./namada-*/namada ~/local/bin/namada + cp ./namada-*/wasm/*.wasm $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH @@ -164,11 +164,11 @@ jobs: release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz - cp ./namada*/namadac ~/local/bin/namadac - cp ./namada*/namadan ~/local/bin/namadan - cp ./namada*/namadaw ~/local/bin/namadaw - cp ./namada*/namada ~/local/bin/namada - cp ./namada*/wasm/* $NAMADA_REPO_PATH/wasm + cp ./namada-*/namadac ~/local/bin/namadac + cp ./namada-*/namadan ~/local/bin/namadan + cp ./namada-*/namadaw ~/local/bin/namadaw + cp ./namada-*/namada ~/local/bin/namada + cp ./namada-*/wasm/* $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH diff --git a/tools/integration-test/src/tests/async_icq/simple_query.rs b/tools/integration-test/src/tests/async_icq/simple_query.rs index e63a7c88f0..bce4a2c69b 100644 --- a/tools/integration-test/src/tests/async_icq/simple_query.rs +++ b/tools/integration-test/src/tests/async_icq/simple_query.rs @@ -2,7 +2,7 @@ use std::env; use ibc_relayer::channel::version::Version; use ibc_relayer::config::ChainConfig; -use ibc_test_framework::chain::config::{ +use ibc_test_framework::chain::config::cosmos::{ add_allow_message_interchainquery, set_floor_gas_price, set_max_deposit_period, set_min_deposit_amount, set_voting_period, }; @@ -217,7 +217,7 @@ impl BinaryConnectionTest for FailedAsyncIcqTest { connection: ConnectedConnection, ) -> Result<(), Error> { let fee_denom_b: MonoTagged = - MonoTagged::new(Denom::base(config.native_token(1))); + MonoTagged::new(Denom::base(config.native_token(1), config.native_token(1))); let port_a = DualTagged::new(PortId::oracle()); let port_b = DualTagged::new(PortId::icqhost()); let (channel_id_b, channel_id_a) = init_channel_version( @@ -371,7 +371,7 @@ fn assert_eventual_async_icq_error( relayer: &RelayerDriver, ) -> Result<(), Error> { let rpc_addr = match relayer.config.chains.first().unwrap() { - ChainConfig::CosmosSdk(c) => c.rpc_addr.clone(), + ChainConfig::CosmosSdk(c) | ChainConfig::Namada(c) => c.rpc_addr.clone(), }; let mut rpc_client = HttpClient::new(rpc_addr).unwrap(); diff --git a/tools/integration-test/src/tests/ica.rs b/tools/integration-test/src/tests/ica.rs index 60d4b6c730..a6fb40408f 100644 --- a/tools/integration-test/src/tests/ica.rs +++ b/tools/integration-test/src/tests/ica.rs @@ -17,7 +17,7 @@ use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; use ibc_test_framework::chain::{ - config::add_allow_message_interchainaccounts, + config::cosmos::add_allow_message_interchainaccounts, ext::ica::{register_ordered_interchain_account, register_unordered_interchain_account}, }; use ibc_test_framework::prelude::*; diff --git a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs index c79722d45c..651a96f404 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_ordered_channel.rs @@ -17,7 +17,7 @@ use ibc_relayer_types::bigint::U256; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; -use ibc_test_framework::chain::config::add_allow_message_interchainaccounts; +use ibc_test_framework::chain::config::cosmos::add_allow_message_interchainaccounts; use ibc_test_framework::chain::ext::ica::register_ordered_interchain_account; use ibc_test_framework::framework::binary::channel::run_binary_interchain_security_channel_test; use ibc_test_framework::prelude::*; diff --git a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs index 0fe38af5f0..dfedfc9951 100644 --- a/tools/integration-test/src/tests/interchain_security/ica_transfer.rs +++ b/tools/integration-test/src/tests/interchain_security/ica_transfer.rs @@ -11,7 +11,7 @@ use ibc_relayer_types::bigint::U256; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::timestamp::Timestamp; use ibc_relayer_types::tx_msg::Msg; -use ibc_test_framework::chain::config::add_allow_message_interchainaccounts; +use ibc_test_framework::chain::config::cosmos::add_allow_message_interchainaccounts; use ibc_test_framework::chain::ext::ica::register_unordered_interchain_account; use ibc_test_framework::framework::binary::channel::run_binary_interchain_security_channel_test; use ibc_test_framework::prelude::*; From ed18e86afb08b2b8337a21b74ad6b67c988f81a7 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 14:08:32 +0200 Subject: [PATCH 082/103] update gaia --- .github/workflows/namada.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 1ff7b18457..1a1bcff3d3 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -34,7 +34,7 @@ jobs: fail-fast: false matrix: chain: - - package: .#gaia17 + - package: .#gaia18 command: gaiad,namada account_prefix: cosmos,'' native_token: stake,nam @@ -90,11 +90,11 @@ jobs: release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz - cp ./namada-*/namadac ~/local/bin/namadac - cp ./namada-*/namadan ~/local/bin/namadan - cp ./namada-*/namadaw ~/local/bin/namadaw - cp ./namada-*/namada ~/local/bin/namada - cp ./namada-*/wasm/*.wasm $NAMADA_REPO_PATH/wasm + cp ./namada*/namadac ~/local/bin/namadac + cp ./namada*/namadan ~/local/bin/namadan + cp ./namada*/namadaw ~/local/bin/namadaw + cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH @@ -164,11 +164,11 @@ jobs: release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz - cp ./namada-*/namadac ~/local/bin/namadac - cp ./namada-*/namadan ~/local/bin/namadan - cp ./namada-*/namadaw ~/local/bin/namadaw - cp ./namada-*/namada ~/local/bin/namada - cp ./namada-*/wasm/* $NAMADA_REPO_PATH/wasm + cp ./namada*/namadac ~/local/bin/namadac + cp ./namada*/namadan ~/local/bin/namadan + cp ./namada*/namadaw ~/local/bin/namadaw + cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm - name: Update environment path run: | echo "${HOME}/local/bin" >> $GITHUB_PATH From 11f9c9e33830a7a9692c49a63b6e33c5b9e742d7 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 14:18:51 +0200 Subject: [PATCH 083/103] copy checksums --- .github/workflows/namada.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 1a1bcff3d3..ad6183086c 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -94,6 +94,7 @@ jobs: cp ./namada*/namadan ~/local/bin/namadan cp ./namada*/namadaw ~/local/bin/namadaw cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/checksums.json $NAMADA_REPO_PATH/wasm cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm - name: Update environment path run: | @@ -168,6 +169,7 @@ jobs: cp ./namada*/namadan ~/local/bin/namadan cp ./namada*/namadaw ~/local/bin/namadaw cp ./namada*/namada ~/local/bin/namada + cp ./namada*/wasm/checksums.json $NAMADA_REPO_PATH/wasm cp ./namada*/wasm/*.wasm $NAMADA_REPO_PATH/wasm - name: Update environment path run: | From da78ffa229b4284f385fb06734b2b57859d4d809 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 15:41:12 +0200 Subject: [PATCH 084/103] workaround --- tools/test-framework/src/bootstrap/namada.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 244978b912..21dd984da1 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -115,7 +115,9 @@ pub fn bootstrap_namada_node( let validator_base_dir = &format!("{home_path}/setup/validator-0"); let pre_genesis_path = &format!("{home_path}/pre-genesis/validator-0"); - simple_exec("namada", "cd", &[&namada_repo_path])?; + // TODO: workaround a bug of specifying the wasm directory in Namada v0.43.0 + let cur_dir = std::env::current_dir()?; + std::env::set_current_dir(&namada_repo_path)?; simple_exec_with_envs( &chain_id, "namadac", @@ -150,6 +152,7 @@ pub fn bootstrap_namada_node( ], &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], )?; + std::env::set_current_dir(&cur_dir)?; let config_path = format!("{home_path}/setup/validator-0/{chain_id}/config.toml"); From b9d942f17a8847e973b824316adf01010c586fd9 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 29 Aug 2024 16:20:49 +0200 Subject: [PATCH 085/103] fix overwrite memo test --- crates/relayer/src/chain/namada/tx.rs | 16 +++++++--------- tools/test-framework/src/bootstrap/namada.rs | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index c123cfa1e9..72353877eb 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -129,15 +129,13 @@ impl NamadaChain { // Confirm the transaction later let mut tx_args = tx_args.broadcast_only(true); - let memo = if !self.config().memo_prefix.as_str().is_empty() { - Some( - self.config() - .memo_prefix - .as_str() - .to_string() - .as_bytes() - .to_vec(), - ) + let memo = self + .config() + .memo_overwrite + .as_ref() + .unwrap_or(&self.config().memo_prefix); + let memo = if !memo.as_str().is_empty() { + Some(memo.as_str().to_string().as_bytes().to_vec()) } else { None }; diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 21dd984da1..6223486c2f 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -152,7 +152,7 @@ pub fn bootstrap_namada_node( ], &[("NAMADA_NETWORK_CONFIGS_DIR", genesis_path)], )?; - std::env::set_current_dir(&cur_dir)?; + std::env::set_current_dir(cur_dir)?; let config_path = format!("{home_path}/setup/validator-0/{chain_id}/config.toml"); From d55acfceddd42b8dfd1d2f51a4f5af68d21658aa Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 2 Sep 2024 10:56:20 +0200 Subject: [PATCH 086/103] remove redundant config() --- crates/relayer/src/chain/namada.rs | 68 +++++++++++------------- crates/relayer/src/chain/namada/query.rs | 2 +- crates/relayer/src/chain/namada/tx.rs | 18 +++---- 3 files changed, 42 insertions(+), 46 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 9c6af05ba8..54aed1c4ac 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -102,15 +102,11 @@ pub struct NamadaChain { } impl NamadaChain { - fn config(&self) -> &CosmosSdkConfig { - &self.config - } - fn init_event_source(&mut self) -> Result { crate::time!( "init_event_source", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); @@ -320,21 +316,21 @@ impl ChainEndpoint for NamadaChain { if proto_msgs.is_empty() { return Ok(vec![]); } - let max_msg_num = self.config().max_msg_num.to_usize(); + let max_msg_num = self.config.max_msg_num.to_usize(); let msg_chunks = proto_msgs.chunks(max_msg_num); let mut tx_sync_results = vec![]; for msg_chunk in msg_chunks { let response = self.batch_txs(msg_chunk)?; tx_sync_results.push(response_to_tx_sync_result( - &self.config().id, + &self.config.id, msg_chunk.len(), response, )); - if self.config().sequential_batch_tx { + if self.config.sequential_batch_tx { self.wait_for_block_commits(&mut tx_sync_results)?; } } - if !self.config().sequential_batch_tx { + if !self.config.sequential_batch_tx { self.wait_for_block_commits(&mut tx_sync_results)?; } @@ -363,7 +359,7 @@ impl ChainEndpoint for NamadaChain { return Ok(vec![]); } - let max_msg_num = self.config().max_msg_num.to_usize(); + let max_msg_num = self.config.max_msg_num.to_usize(); let msg_chunks = proto_msgs.chunks(max_msg_num); let mut responses = vec![]; for msg_chunk in msg_chunks { @@ -386,7 +382,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "verify_header", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); @@ -404,7 +400,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "check_misbehaviour", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); @@ -503,7 +499,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_commitment_prefix", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_commitment_prefix"); @@ -515,7 +511,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_application_status", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_application_status"); @@ -528,7 +524,7 @@ impl ChainEndpoint for NamadaChain { if status.sync_info.catching_up { return Err(Error::chain_not_caught_up( self.config.rpc_addr.to_string(), - self.config().id.clone(), + self.config.id.clone(), )); } @@ -552,7 +548,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_clients", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_clients"); @@ -581,7 +577,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_client_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_client_state"); @@ -602,7 +598,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_consensus_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_consensus_state"); @@ -646,7 +642,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_upgraded_client_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_upgraded_client_state"); @@ -678,7 +674,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_upgraded_consensus_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_upgraded_consensus_state"); @@ -710,7 +706,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_connections", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_connections"); @@ -742,7 +738,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_client_connections", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_client_connections"); @@ -765,7 +761,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_connection", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_connection"); @@ -784,7 +780,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_connection_channels", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_connection_channels"); @@ -807,7 +803,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_channels", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_channels"); @@ -839,7 +835,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_channel", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_channel"); @@ -858,7 +854,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_channel_client_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_channel_client_state"); @@ -913,7 +909,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_packet_commitments", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_packet_commitments"); @@ -959,7 +955,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_unreceived_packets", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_unreceived_packets"); @@ -1007,7 +1003,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_packet_acknowledgements", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_packet_acknowledgements"); @@ -1040,7 +1036,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_unreceived_acknowledgements", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_unreceived_acknowledgements"); @@ -1071,7 +1067,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_next_sequence_receive", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_next_sequence_receive"); @@ -1092,7 +1088,7 @@ impl ChainEndpoint for NamadaChain { fn query_txs(&self, request: QueryTxRequest) -> Result, Error> { crate::time!("query_txs", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), }); crate::telemetry!(query, self.id(), "query_txs"); @@ -1115,7 +1111,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "query_packet_events", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); crate::telemetry!(query, self.id(), "query_packet_events"); @@ -1183,7 +1179,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "build_consensus_state", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); @@ -1199,7 +1195,7 @@ impl ChainEndpoint for NamadaChain { crate::time!( "build_header", { - "src_chain": self.config().id.to_string(), + "src_chain": self.id().to_string(), } ); diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 893a0b6685..1f7fc6ebdb 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -264,7 +264,7 @@ impl NamadaChain { crate::time!( "query_blocks: query block packet events", { - "src_chain": self.config().id.to_string(), + "src_chain": self.config.id.to_string(), } ); crate::telemetry!(query, self.id(), "query_block"); diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 72353877eb..3070b16223 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -130,10 +130,10 @@ impl NamadaChain { let mut tx_args = tx_args.broadcast_only(true); let memo = self - .config() + .config .memo_overwrite .as_ref() - .unwrap_or(&self.config().memo_prefix); + .unwrap_or(&self.config.memo_prefix); let memo = if !memo.as_str().is_empty() { Some(memo.as_str().to_string().as_bytes().to_vec()) } else { @@ -158,12 +158,12 @@ impl NamadaChain { args: &TxArgs, signing_data: &signing::SigningTxData, ) -> Result, Error> { - let chain_id = self.config().id.clone(); - let fee_token_str = self.config().gas_price.denom.clone(); + let chain_id = self.config.id.clone(); + let fee_token_str = self.config.gas_price.denom.clone(); let fee_token = Address::from_str(&fee_token_str) .map_err(|_| NamadaError::address_decode(fee_token_str.clone()))?; - let max_gas = max_gas_from_config(self.config()); - let gas_price = self.config().gas_price.price; + let max_gas = max_gas_from_config(&self.config); + let gas_price = self.config.gas_price.price; let args = args.clone().dry_run_wrapper(true); // Set the max gas to the gas limit for the simulation @@ -217,7 +217,7 @@ impl NamadaChain { )); } - let gas_multiplier = self.config().gas_multiplier.unwrap_or_default().to_f64(); + let gas_multiplier = self.config.gas_multiplier.unwrap_or_default().to_f64(); let adjusted_gas = adjust_estimated_gas(AdjustGas { gas_multiplier, @@ -275,7 +275,7 @@ impl NamadaChain { return Ok(()); } - let chain_id = &self.config().id; + let chain_id = &self.id(); crate::time!( "wait_for_block_commits", { @@ -304,7 +304,7 @@ impl NamadaChain { ); return Ok(()); - } else if elapsed > self.config().rpc_timeout { + } else if elapsed > self.config.rpc_timeout { debug!("timed out after {} ms", elapsed.as_millis()); return Err(Error::tx_no_confirmation()); } else { From 29b68f49d4fdabffb4d56edd1e86252634174a19 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 2 Sep 2024 11:25:30 +0200 Subject: [PATCH 087/103] fix compat_mode --- crates/relayer/src/chain/namada.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 54aed1c4ac..12737b118a 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -95,6 +95,7 @@ pub struct NamadaChain { config: CosmosSdkConfig, /// Namada context ctx: NamadaImpl, + compat_mode: CompatMode, light_client: TmLightClient, rt: Arc, keybase: KeyRing, @@ -110,17 +111,12 @@ impl NamadaChain { } ); - let node_info = self - .rt - .block_on(fetch_node_info(self.ctx.client(), &self.config))?; - let compat_mode = CompatMode::from_version(node_info.version).unwrap_or(CompatMode::V0_37); - use crate::config::EventSourceMode as Mode; let (event_source, monitor_tx) = match &self.config.event_source { Mode::Push { url, batch_delay } => EventSource::websocket( self.config.id.clone(), url.clone(), - compat_mode, + self.compat_mode, *batch_delay, self.rt.clone(), ), @@ -195,7 +191,12 @@ impl ChainEndpoint for NamadaChain { let mut rpc_client = HttpClient::new(config.rpc_addr.clone()) .map_err(|e| Error::rpc(config.rpc_addr.clone(), e))?; - rpc_client.set_compat_mode(CompatMode::V0_37); + let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; + let compat_mode = CompatMode::from_version(node_info.version) + .ok() + .or_else(|| config.compat_mode.clone().map(CompatMode::from)) + .unwrap_or(CompatMode::V0_37); + rpc_client.set_compat_mode(compat_mode); let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_info.id)?; @@ -240,6 +241,7 @@ impl ChainEndpoint for NamadaChain { Ok(Self { config, ctx, + compat_mode, light_client, rt, keybase, From e4b3bf27eae2ac11a75a34b106e56ea0cb91a716 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 2 Sep 2024 11:48:01 +0200 Subject: [PATCH 088/103] impl shutdown --- crates/relayer/src/chain/namada.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 12737b118a..07ea264f78 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -1,6 +1,7 @@ use alloc::sync::Arc; use core::str::FromStr; use std::thread; +use tracing::debug; use core::time::Duration; @@ -250,6 +251,10 @@ impl ChainEndpoint for NamadaChain { } fn shutdown(self) -> Result<(), Error> { + if let Some(monitor_tx) = self.tx_monitor_cmd { + monitor_tx.shutdown().map_err(Error::event_source)?; + } + Ok(()) } @@ -631,7 +636,10 @@ impl ChainEndpoint for NamadaChain { heights.push(height); } // the key is not for a consensus state - Err(_) => continue, + Err(_) => { + debug!("The key {key} is not for a consensus state"); + continue; + } } } Ok(heights) From 4f4d45084868430020ae1893154f9530df0a607e Mon Sep 17 00:00:00 2001 From: yito88 Date: Wed, 4 Sep 2024 07:47:58 +0200 Subject: [PATCH 089/103] version_specs --- crates/relayer-cli/src/commands/tx/upgrade.rs | 4 +- crates/relayer/src/chain.rs | 1 + crates/relayer/src/chain/cosmos.rs | 4 +- crates/relayer/src/chain/cosmos/version.rs | 11 +--- crates/relayer/src/chain/endpoint.rs | 2 +- crates/relayer/src/chain/handle.rs | 2 +- crates/relayer/src/chain/handle/base.rs | 4 +- crates/relayer/src/chain/handle/cache.rs | 2 +- crates/relayer/src/chain/handle/counting.rs | 2 +- crates/relayer/src/chain/namada.rs | 29 +++++++- crates/relayer/src/chain/namada/error.rs | 7 ++ crates/relayer/src/chain/namada/version.rs | 27 ++++++++ crates/relayer/src/chain/runtime.rs | 2 +- crates/relayer/src/chain/version.rs | 27 ++++++++ crates/relayer/src/upgrade_chain.rs | 23 +++++-- tools/test-framework/src/chain/ext/ica.rs | 66 ++++++++++--------- tools/test-framework/src/relayer/chain.rs | 2 +- 17 files changed, 156 insertions(+), 59 deletions(-) create mode 100644 crates/relayer/src/chain/namada/version.rs create mode 100644 crates/relayer/src/chain/version.rs diff --git a/crates/relayer-cli/src/commands/tx/upgrade.rs b/crates/relayer-cli/src/commands/tx/upgrade.rs index d41bf6ce1e..5c0773a82b 100644 --- a/crates/relayer-cli/src/commands/tx/upgrade.rs +++ b/crates/relayer-cli/src/commands/tx/upgrade.rs @@ -127,7 +127,9 @@ impl Runnable for TxIbcUpgradeChainCmd { let reference_chain = spawn_chain_runtime(&config, &self.reference_chain_id) .unwrap_or_else(exit_with_unrecoverable_error); - let gov_account = if requires_legacy_upgrade_proposal(reference_chain.clone()) { + let gov_account = if requires_legacy_upgrade_proposal(reference_chain.clone()) + .unwrap_or_else(exit_with_unrecoverable_error) + { "".to_string() } else if let Some(gov_account) = &self.gov_account { gov_account.clone() diff --git a/crates/relayer/src/chain.rs b/crates/relayer/src/chain.rs index 5e37f13926..9512e3865e 100644 --- a/crates/relayer/src/chain.rs +++ b/crates/relayer/src/chain.rs @@ -7,3 +7,4 @@ pub mod namada; pub mod requests; pub mod runtime; pub mod tracking; +pub mod version; diff --git a/crates/relayer/src/chain/cosmos.rs b/crates/relayer/src/chain/cosmos.rs index e6512a628d..d78b77db47 100644 --- a/crates/relayer/src/chain/cosmos.rs +++ b/crates/relayer/src/chain/cosmos.rs @@ -94,6 +94,7 @@ use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; use crate::chain::handle::Subscription; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::Specs; use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; use crate::config::Error as ConfigError; use crate::config::{parse_gas_prices, ChainConfig, GasPrice}; @@ -115,7 +116,6 @@ use crate::HERMES_VERSION; use self::gas::dynamic_gas_price; use self::types::gas::GasConfig; -use self::version::Specs; pub mod batch; pub mod client; @@ -1191,7 +1191,7 @@ impl ChainEndpoint for CosmosSdkChain { fn version_specs(&self) -> Result { let version_specs = self.block_on(fetch_version_specs(self.id(), &self.grpc_addr))?; - Ok(version_specs) + Ok(Specs::Cosmos(version_specs)) } fn query_balance(&self, key_name: Option<&str>, denom: Option<&str>) -> Result { diff --git a/crates/relayer/src/chain/cosmos/version.rs b/crates/relayer/src/chain/cosmos/version.rs index 5db1b56961..d9c2b3b658 100644 --- a/crates/relayer/src/chain/cosmos/version.rs +++ b/crates/relayer/src/chain/cosmos/version.rs @@ -9,6 +9,8 @@ use tracing::trace; use ibc_proto::cosmos::base::tendermint::v1beta1::{Module, VersionInfo}; +use crate::chain::version::ConsensusVersion; + /// Specifies the SDK, IBC-go, and Tendermint modules path, as expected /// to appear in the application version information of a /// Cosmos-SDK network. @@ -27,12 +29,6 @@ const IBC_GO_MODULE_PREFIX: &str = "github.com/cosmos/ibc-go/v"; const TENDERMINT_MODULE_NAME: &str = "github.com/tendermint/tendermint"; const COMET_MODULE_NAME: &str = "github.com/cometbft/cometbft"; -#[derive(Clone, Debug, PartialEq, Eq)] -pub enum ConsensusVersion { - Tendermint(semver::Version), - Comet(semver::Version), -} - /// Captures the version(s) specification of different modules of a network. #[derive(Clone, Debug, PartialEq, Eq)] pub struct Specs { @@ -56,8 +52,7 @@ impl Display for Specs { .unwrap_or_else(|| "UNKNOWN".to_string()); let consensus = match self.consensus { - Some(ConsensusVersion::Tendermint(ref v)) => format!("Tendermint {v}"), - Some(ConsensusVersion::Comet(ref v)) => format!("CometBFT {v}"), + Some(ref v) => v.to_string(), None => "Tendermint: UNKNOWN, CometBFT: UNKNOWN".to_string(), }; diff --git a/crates/relayer/src/chain/endpoint.rs b/crates/relayer/src/chain/endpoint.rs index 0a12e73341..4072e42d26 100644 --- a/crates/relayer/src/chain/endpoint.rs +++ b/crates/relayer/src/chain/endpoint.rs @@ -35,10 +35,10 @@ use tendermint_rpc::endpoint::broadcast::tx_sync::Response as TxResponse; use crate::account::Balance; use crate::chain::client::ClientSettings; -use crate::chain::cosmos::version::Specs; use crate::chain::handle::Subscription; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::Specs; use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; use crate::config::ChainConfig; use crate::connection::ConnectionMsgType; diff --git a/crates/relayer/src/chain/handle.rs b/crates/relayer/src/chain/handle.rs index 2137821e61..54e158d8c0 100644 --- a/crates/relayer/src/chain/handle.rs +++ b/crates/relayer/src/chain/handle.rs @@ -47,10 +47,10 @@ use crate::{ use super::{ client::ClientSettings, - cosmos::version::Specs, endpoint::{ChainStatus, HealthCheck}, requests::*, tracking::TrackedMsgs, + version::Specs, }; mod base; diff --git a/crates/relayer/src/chain/handle/base.rs b/crates/relayer/src/chain/handle/base.rs index 0898269281..2c891a55c6 100644 --- a/crates/relayer/src/chain/handle/base.rs +++ b/crates/relayer/src/chain/handle/base.rs @@ -31,8 +31,8 @@ use ibc_relayer_types::{ use crate::{ account::Balance, chain::{ - client::ClientSettings, cosmos::version::Specs, endpoint::ChainStatus, requests::*, - tracking::TrackedMsgs, + client::ClientSettings, endpoint::ChainStatus, requests::*, tracking::TrackedMsgs, + version::Specs, }, client_state::{AnyClientState, IdentifiedAnyClientState}, config::ChainConfig, diff --git a/crates/relayer/src/chain/handle/cache.rs b/crates/relayer/src/chain/handle/cache.rs index 6a1731f903..89e2efddb0 100644 --- a/crates/relayer/src/chain/handle/cache.rs +++ b/crates/relayer/src/chain/handle/cache.rs @@ -28,11 +28,11 @@ use ibc_relayer_types::Height; use crate::account::Balance; use crate::cache::{Cache, CacheStatus}; use crate::chain::client::ClientSettings; -use crate::chain::cosmos::version::Specs; use crate::chain::endpoint::{ChainStatus, HealthCheck}; use crate::chain::handle::{ChainHandle, ChainRequest, Subscription}; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::Specs; use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; use crate::config::ChainConfig; use crate::connection::ConnectionMsgType; diff --git a/crates/relayer/src/chain/handle/counting.rs b/crates/relayer/src/chain/handle/counting.rs index 1096e1b0bf..acbd2b2b65 100644 --- a/crates/relayer/src/chain/handle/counting.rs +++ b/crates/relayer/src/chain/handle/counting.rs @@ -30,11 +30,11 @@ use ibc_relayer_types::Height; use crate::account::Balance; use crate::chain::client::ClientSettings; -use crate::chain::cosmos::version::Specs; use crate::chain::endpoint::{ChainStatus, HealthCheck}; use crate::chain::handle::{ChainHandle, ChainRequest, Subscription}; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::Specs; use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; use crate::config::ChainConfig; use crate::connection::ConnectionMsgType; diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index 07ea264f78..bc7fe49a38 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -65,11 +65,11 @@ use crate::account::Balance; use crate::chain::client::ClientSettings; use crate::chain::cosmos::batch::response_to_tx_sync_result; use crate::chain::cosmos::config::CosmosSdkConfig; -use crate::chain::cosmos::version::Specs; use crate::chain::endpoint::{ChainEndpoint, ChainStatus, HealthCheck}; use crate::chain::handle::Subscription; use crate::chain::requests::*; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::{ConsensusVersion, Specs}; use crate::client_state::{AnyClientState, IdentifiedAnyClientState}; use crate::config::error::Error as ConfigError; use crate::config::ChainConfig; @@ -89,6 +89,7 @@ pub mod error; pub mod key; mod query; mod tx; +pub mod version; pub mod wallet; pub struct NamadaChain { @@ -310,7 +311,30 @@ impl ChainEndpoint for NamadaChain { } fn version_specs(&self) -> Result { - unimplemented!() + let status = self + .rt + .block_on(SdkClient::status(self.ctx.client())) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + + let cometbft_version = status.node_info.version.to_string(); + let cometbft_version = cometbft_version + .parse() + .map_err(|_| NamadaError::version(cometbft_version))?; + + let moniker = &status.node_info.moniker; + let namada_version = moniker + .to_string() + .split_once('-') + .and_then(|(_, version)| version.strip_prefix('v')) + .ok_or_else(|| NamadaError::version(moniker.to_string()))? + .parse() + .map_err(|_| NamadaError::version(moniker.to_string()))?; + + let specs = version::Specs { + namada: Some(namada_version), + consensus: Some(ConsensusVersion::Comet(cometbft_version)), + }; + Ok(Specs::Namada(specs)) } fn send_messages_and_wait_commit( @@ -635,7 +659,6 @@ impl ChainEndpoint for NamadaChain { let height = ICSHeight::new(h.revision_number(), h.revision_height()).unwrap(); heights.push(height); } - // the key is not for a consensus state Err(_) => { debug!("The key {key} is not for a consensus state"); continue; diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs index 7296ddfcab..6269751873 100644 --- a/crates/relayer/src/chain/namada/error.rs +++ b/crates/relayer/src/chain/namada/error.rs @@ -25,6 +25,13 @@ define_error! { DryRun { tx_result: namada_sdk::tx::data::TxResult } |e| { format!("Dry run to simulate a transaction failed: {:?}", e.tx_result) }, + + Upgrade + |_| { "Namada doesn't support `MsgIbcSoftwareUpgrade` and `UpgradeProposal`" }, + + Version + { version: String } + |e| { format!("Parsing the version string failed: {}", e.version) }, } } diff --git a/crates/relayer/src/chain/namada/version.rs b/crates/relayer/src/chain/namada/version.rs new file mode 100644 index 0000000000..295ae16393 --- /dev/null +++ b/crates/relayer/src/chain/namada/version.rs @@ -0,0 +1,27 @@ +use core::fmt::{Display, Error as FmtError, Formatter}; + +use crate::chain::version::ConsensusVersion; + +/// Captures the version(s) specification of different modules of a network. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Specs { + pub namada: Option, + pub consensus: Option, +} + +impl Display for Specs { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + let namada = self + .namada + .as_ref() + .map(|v| v.to_string()) + .unwrap_or_else(|| "UNKNOWN".to_string()); + + let consensus = match self.consensus { + Some(ref v) => v.to_string(), + None => "Tendermint: UNKNOWN, CometBFT: UNKNOWN".to_string(), + }; + + write!(f, "Namada {}, {}", namada, consensus) + } +} diff --git a/crates/relayer/src/chain/runtime.rs b/crates/relayer/src/chain/runtime.rs index 1422f386b3..4b9840c8cc 100644 --- a/crates/relayer/src/chain/runtime.rs +++ b/crates/relayer/src/chain/runtime.rs @@ -46,11 +46,11 @@ use crate::{ use super::{ client::ClientSettings, - cosmos::version::Specs, endpoint::{ChainEndpoint, ChainStatus, HealthCheck}, handle::{ChainHandle, ChainRequest, ReplyTo, Subscription}, requests::*, tracking::TrackedMsgs, + version::Specs, }; pub struct Threads { diff --git a/crates/relayer/src/chain/version.rs b/crates/relayer/src/chain/version.rs new file mode 100644 index 0000000000..0a43f51381 --- /dev/null +++ b/crates/relayer/src/chain/version.rs @@ -0,0 +1,27 @@ +use core::fmt::{Display, Error as FmtError, Formatter}; + +use crate::chain::cosmos::version::Specs as CosmosSpecs; +use crate::chain::namada::version::Specs as NamadaSpecs; + +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum ConsensusVersion { + Tendermint(semver::Version), + Comet(semver::Version), +} + +impl Display for ConsensusVersion { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), FmtError> { + let consensus = match self { + ConsensusVersion::Tendermint(ref v) => format!("Tendermint {v}"), + ConsensusVersion::Comet(ref v) => format!("CometBFT {v}"), + }; + write!(f, "{consensus}") + } +} + +/// Captures the version(s) specification of different modules of a network. +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Specs { + Cosmos(CosmosSpecs), + Namada(NamadaSpecs), +} diff --git a/crates/relayer/src/upgrade_chain.rs b/crates/relayer/src/upgrade_chain.rs index 2889d7ab62..8dcff41dd6 100644 --- a/crates/relayer/src/upgrade_chain.rs +++ b/crates/relayer/src/upgrade_chain.rs @@ -22,6 +22,7 @@ use tracing::warn; use crate::chain::handle::ChainHandle; use crate::chain::requests::{IncludeProof, QueryClientStateRequest, QueryHeight}; use crate::chain::tracking::TrackedMsgs; +use crate::chain::version::Specs; use crate::client_state::AnyClientState; use crate::error::Error; @@ -76,7 +77,7 @@ pub fn build_and_send_ibc_upgrade_proposal( src_chain: impl ChainHandle, // the source chain; supplies a client state for building the upgrade plan opts: &UpgradePlanOptions, ) -> Result { - let any_msg = if requires_legacy_upgrade_proposal(dst_chain.clone()) { + let any_msg = if requires_legacy_upgrade_proposal(dst_chain.clone())? { build_legacy_upgrade_proposal(dst_chain.clone(), src_chain, opts) } else { build_upgrade_proposal(dst_chain.clone(), src_chain, opts) @@ -98,10 +99,22 @@ pub fn build_and_send_ibc_upgrade_proposal( /// or if the newer `MsgIBCSoftwareUpdate` message should be used to upgrade the chain. /// If the ibc-go version returned isn't reliable, a deprecated version, then the version /// of Cosmos SDK is used, if any. If there is no SDK version, we assume that the legacy upgrade is required. -pub fn requires_legacy_upgrade_proposal(dst_chain: impl ChainHandle) -> bool { +pub fn requires_legacy_upgrade_proposal( + dst_chain: impl ChainHandle, +) -> Result { let Ok(version_specs) = dst_chain.version_specs() else { warn!("failed to get version specs, assuming legacy upgrade proposal is required"); - return true; + return Ok(true); + }; + + let version_specs = match version_specs { + Specs::Cosmos(v) => v, + Specs::Namada(_) => { + return Err(UpgradeChainError::submit( + dst_chain.id(), + crate::chain::namada::error::Error::upgrade().into(), + )) + } }; let sdk_before_50 = version_specs @@ -110,7 +123,7 @@ pub fn requires_legacy_upgrade_proposal(dst_chain: impl ChainHandle) -> bool { .map(|s| s.minor < 50) .unwrap_or(true); - match version_specs.ibc_go { + Ok(match version_specs.ibc_go { None => sdk_before_50, Some(ibc_version) => { // Some ibc-go simapps return unreliable ibc-go versions, such as simapp v8.0.0 @@ -123,7 +136,7 @@ pub fn requires_legacy_upgrade_proposal(dst_chain: impl ChainHandle) -> bool { ibc_version.major < 8 } } - } + }) } /// Ibc-go versions up to v7.x.x use the deprecated `UpgradeProposal` to upgrade a chain diff --git a/tools/test-framework/src/chain/ext/ica.rs b/tools/test-framework/src/chain/ext/ica.rs index b97b3ad2d8..93c37d2a29 100644 --- a/tools/test-framework/src/chain/ext/ica.rs +++ b/tools/test-framework/src/chain/ext/ica.rs @@ -88,24 +88,25 @@ pub fn register_unordered_interchain_account Date: Wed, 25 Sep 2024 11:07:24 +0200 Subject: [PATCH 090/103] update namada sdk, use block gas limit to estimate gas --- Cargo.lock | 154 +++++++++++++------ Cargo.toml | 8 +- crates/relayer/src/chain/cosmos/types/gas.rs | 3 +- crates/relayer/src/chain/namada.rs | 16 +- crates/relayer/src/chain/namada/query.rs | 7 +- crates/relayer/src/chain/namada/tx.rs | 31 +++- 6 files changed, 154 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e87f1cc43d..23996d8fae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4159,7 +4159,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "namada_core", @@ -4171,7 +4171,7 @@ dependencies = [ [[package]] name = "namada_controller" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "namada_core", "smooth-operator", @@ -4181,7 +4181,7 @@ dependencies = [ [[package]] name = "namada_core" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "bech32 0.8.1", "borsh", @@ -4192,7 +4192,6 @@ dependencies = [ "ethabi", "ethbridge-structs", "eyre", - "futures", "ibc", "ics23", "impl-num-traits", @@ -4211,6 +4210,7 @@ dependencies = [ "prost-types 0.13.1", "rand 0.8.5", "rand_core 0.6.4", + "rayon", "ripemd", "serde", "serde_json", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "ethers", @@ -4249,7 +4249,7 @@ dependencies = [ "namada_trans_token", "namada_tx", "namada_vote_ext", - "namada_vp", + "namada_vp_env", "serde", "smooth-operator", "thiserror", @@ -4259,7 +4259,7 @@ dependencies = [ [[package]] name = "namada_events" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "namada_core", @@ -4273,7 +4273,7 @@ dependencies = [ [[package]] name = "namada_gas" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "namada_core", @@ -4286,7 +4286,7 @@ dependencies = [ [[package]] name = "namada_governance" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "itertools 0.12.1", @@ -4298,7 +4298,7 @@ dependencies = [ "namada_state", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "serde", "serde_json", "smooth-operator", @@ -4309,7 +4309,7 @@ dependencies = [ [[package]] name = "namada_ibc" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "data-encoding", @@ -4323,7 +4323,6 @@ dependencies = [ "namada_gas", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", "namada_vp", @@ -4337,10 +4336,23 @@ dependencies = [ "tracing", ] +[[package]] +name = "namada_io" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +dependencies = [ + "async-trait", + "kdam", + "namada_core", + "tendermint-rpc", + "thiserror", + "tokio", +] + [[package]] name = "namada_macros" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "data-encoding", "proc-macro2", @@ -4352,7 +4364,7 @@ dependencies = [ [[package]] name = "namada_merkle_tree" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "eyre", @@ -4367,15 +4379,14 @@ dependencies = [ [[package]] name = "namada_parameters" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "namada_core", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "smooth-operator", "thiserror", ] @@ -4383,7 +4394,7 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "itertools 0.12.1", @@ -4394,10 +4405,9 @@ dependencies = [ "namada_events", "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", "once_cell", "serde", "smooth-operator", @@ -4408,7 +4418,7 @@ dependencies = [ [[package]] name = "namada_replay_protection" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "namada_core", ] @@ -4416,7 +4426,7 @@ dependencies = [ [[package]] name = "namada_sdk" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "async-trait", "bimap", @@ -4425,18 +4435,15 @@ dependencies = [ "circular-queue", "clap 4.5.16", "data-encoding", - "derivation-path", "duration-str", "either", "ethbridge-bridge-contract", "ethers", "eyre", "fd-lock", - "flume", "futures", "init-once", "itertools 0.12.1", - "kdam", "lazy_static", "masp_primitives", "masp_proofs", @@ -4447,6 +4454,7 @@ dependencies = [ "namada_gas", "namada_governance", "namada_ibc", + "namada_io", "namada_macros", "namada_parameters", "namada_proof_of_stake", @@ -4457,9 +4465,9 @@ dependencies = [ "namada_vm", "namada_vote_ext", "namada_vp", + "namada_wallet", "num-traits 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "num256", - "orion", "owo-colors", "paste", "patricia_tree", @@ -4469,20 +4477,18 @@ dependencies = [ "rayon", "regex", "reqwest", + "rustversion", "serde", "serde_json", "sha2 0.9.9", - "slip10_ed25519", "smooth-operator", "tempfile", "tendermint-rpc", "thiserror", "tiny-bip39 0.8.2", - "tiny-hderive", "tokio", "toml 0.5.11", "tracing", - "typed-builder", "xorf", "zeroize", ] @@ -4490,34 +4496,48 @@ dependencies = [ [[package]] name = "namada_shielded_token" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ + "async-trait", "borsh", + "eyre", + "flume", + "futures", + "itertools 0.12.1", "lazy_static", "masp_primitives", "masp_proofs", "namada_account", "namada_controller", "namada_core", + "namada_events", "namada_gas", + "namada_io", + "namada_macros", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_vp_env", + "namada_wallet", + "rand 0.8.5", "rand_core 0.6.4", + "rayon", "ripemd", "serde", + "serde_json", "sha2 0.9.9", "smooth-operator", + "tempfile", "thiserror", "tracing", + "typed-builder", + "xorf", ] [[package]] name = "namada_state" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "clru", @@ -4540,11 +4560,12 @@ dependencies = [ [[package]] name = "namada_storage" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "itertools 0.12.1", "namada_core", + "namada_gas", "namada_macros", "namada_merkle_tree", "namada_replay_protection", @@ -4558,16 +4579,17 @@ dependencies = [ [[package]] name = "namada_systems" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "namada_core", + "namada_events", "namada_storage", ] [[package]] name = "namada_token" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "namada_core", @@ -4577,22 +4599,24 @@ dependencies = [ "namada_storage", "namada_systems", "namada_trans_token", + "namada_tx", + "namada_tx_env", "serde", ] [[package]] name = "namada_trans_token" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "konst", "namada_core", "namada_events", "namada_state", - "namada_storage", "namada_systems", "namada_tx", - "namada_vp", + "namada_tx_env", + "namada_vp_env", "thiserror", "tracing", ] @@ -4600,7 +4624,7 @@ dependencies = [ [[package]] name = "namada_tx" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "ark-bls12-381", "bitflags 2.6.0", @@ -4609,6 +4633,7 @@ dependencies = [ "either", "konst", "masp_primitives", + "namada_account", "namada_core", "namada_events", "namada_gas", @@ -4625,13 +4650,24 @@ dependencies = [ "tonic-build", ] +[[package]] +name = "namada_tx_env" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +dependencies = [ + "namada_core", + "namada_events", + "namada_storage", +] + [[package]] name = "namada_vm" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "clru", + "namada_account", "namada_core", "namada_events", "namada_gas", @@ -4649,7 +4685,7 @@ dependencies = [ [[package]] name = "namada_vote_ext" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "borsh", "namada_core", @@ -4661,7 +4697,7 @@ dependencies = [ [[package]] name = "namada_vp" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "namada_core", "namada_events", @@ -4677,17 +4713,47 @@ dependencies = [ [[package]] name = "namada_vp_env" version = "0.43.0" -source = "git+https://github.com/anoma/namada?rev=bd2259c79de6a6328133a48c24554b1459347267#bd2259c79de6a6328133a48c24554b1459347267" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" dependencies = [ "derivative", "masp_primitives", "namada_core", "namada_events", + "namada_gas", "namada_storage", "namada_tx", "smooth-operator", ] +[[package]] +name = "namada_wallet" +version = "0.43.0" +source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +dependencies = [ + "bimap", + "borsh", + "borsh-ext", + "data-encoding", + "derivation-path", + "fd-lock", + "itertools 0.12.1", + "masp_primitives", + "namada_core", + "namada_ibc", + "namada_macros", + "orion", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "slip10_ed25519", + "smooth-operator", + "thiserror", + "tiny-bip39 0.8.2", + "tiny-hderive", + "toml 0.5.11", + "zeroize", +] + [[package]] name = "nanorand" version = "0.7.0" diff --git a/Cargo.toml b/Cargo.toml index 4e6f282cb6..8135b05381 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,10 @@ tendermint-rpc = { version = "0.38.1" } tendermint-testgen = { version = "0.38.1" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } -namada_parameters = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } -namada_sdk = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } -namada_token = { git = "https://github.com/anoma/namada", rev = "bd2259c79de6a6328133a48c24554b1459347267" } +namada_ibc = { git = "https://github.com/anoma/namada", branch = "main" } +namada_parameters = { git = "https://github.com/anoma/namada", branch = "main" } +namada_sdk = { git = "https://github.com/anoma/namada", branch = "main" } +namada_token = { git = "https://github.com/anoma/namada", branch = "main" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/cosmos/types/gas.rs b/crates/relayer/src/chain/cosmos/types/gas.rs index e472eb91af..2cbcde3cc1 100644 --- a/crates/relayer/src/chain/cosmos/types/gas.rs +++ b/crates/relayer/src/chain/cosmos/types/gas.rs @@ -1,4 +1,5 @@ use ibc_proto::cosmos::tx::v1beta1::Fee; +use namada_sdk::DEFAULT_GAS_LIMIT; use crate::chain::cosmos::calculate_fee; use crate::chain::cosmos::config::CosmosSdkConfig; @@ -6,7 +7,7 @@ use crate::config::dynamic_gas::DynamicGasPrice; use crate::config::GasPrice; /// Default gas limit when submitting a transaction. -const DEFAULT_MAX_GAS: u64 = 400_000; +const DEFAULT_MAX_GAS: u64 = DEFAULT_GAS_LIMIT; const DEFAULT_FEE_GRANTER: &str = ""; diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index bc7fe49a38..d08f1b178c 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -1,4 +1,5 @@ use alloc::sync::Arc; +use tendermint_rpc::HttpClient; use core::str::FromStr; use std::thread; use tracing::debug; @@ -44,13 +45,13 @@ use namada_sdk::io::NullIo; use namada_sdk::masp::fs::FsShieldedUtils; use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; -use namada_sdk::queries::Client as SdkClient; use namada_sdk::state::ics23_specs::ibc_proof_specs; use namada_sdk::state::Sha256Hasher; use namada_sdk::storage::{Key, KeySeg, PrefixValue}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; +use namada_sdk::io::{NamadaIo, Client}; use namada_token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; use namada_token::{Amount, DenominatedAmount, Denomination}; use tendermint::block::Height as TmHeight; @@ -58,7 +59,6 @@ use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; use tendermint_rpc::client::CompatMode; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; -use tendermint_rpc::{Client, HttpClient}; use tokio::runtime::Runtime as TokioRuntime; use crate::account::Balance; @@ -157,7 +157,7 @@ impl NamadaChain { fn get_latest_block_time(&self) -> Result { let status = self .rt - .block_on(SdkClient::status(self.ctx.client())) + .block_on(Client::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; Ok(status .sync_info @@ -261,7 +261,7 @@ impl ChainEndpoint for NamadaChain { fn health_check(&mut self) -> Result { self.rt - .block_on(SdkClient::health(self.ctx.client())) + .block_on(Client::health(self.ctx.client())) .map_err(|e| { Error::health_check_json_rpc( self.config.id.clone(), @@ -313,7 +313,7 @@ impl ChainEndpoint for NamadaChain { fn version_specs(&self) -> Result { let status = self .rt - .block_on(SdkClient::status(self.ctx.client())) + .block_on(Client::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; let cometbft_version = status.node_info.version.to_string(); @@ -549,7 +549,7 @@ impl ChainEndpoint for NamadaChain { let status = self .rt - .block_on(SdkClient::status(self.ctx.client())) + .block_on(Client::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; if status.sync_info.catching_up { @@ -1163,8 +1163,8 @@ impl ChainEndpoint for NamadaChain { }; let rpc_call = match height.value() { - 0 => SdkClient::latest_block(self.ctx.client()), - _ => SdkClient::block(self.ctx.client(), height), + 0 => Client::latest_block(self.ctx.client()), + _ => Client::block(self.ctx.client(), height), }; let response = self .rt diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 1f7fc6ebdb..f0592ed2b0 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -8,12 +8,13 @@ use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::events::extend::Height as HeightAttr; use namada_sdk::events::Event as NamadaEvent; -use namada_sdk::queries::{Client as SdkClient, RPC}; +use namada_sdk::io::Client; +use namada_sdk::queries::RPC; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::tx::data::ResultCode; use namada_sdk::tx::event::{Batch as BatchAttr, Code as CodeAttr}; -use namada_sdk::Namada; +use namada_sdk::io::NamadaIo; use tendermint::block::Height as TmHeight; use tendermint::Hash as TmHash; @@ -273,7 +274,7 @@ impl NamadaChain { .map_err(|_| Error::invalid_height_no_source())?; let response = self .rt - .block_on(SdkClient::block_results(self.ctx.client(), tm_height)) + .block_on(Client::block_results(self.ctx.client(), tm_height)) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; let events = response diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 3070b16223..132b0c0386 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -1,8 +1,8 @@ use core::str::FromStr; use core::time::Duration; use std::path::PathBuf; -use std::thread; use std::time::Instant; +use std::{thread, u64}; use ibc_proto::google::protobuf::Any; use itertools::Itertools; @@ -10,8 +10,9 @@ use namada_sdk::address::{Address, ImplicitAddress}; use namada_sdk::args::TxBuilder; use namada_sdk::args::{Tx as TxArgs, TxCustom}; use namada_sdk::chain::ChainId; +use namada_sdk::io::NamadaIo; use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; -use namada_sdk::{signing, tx, Namada}; +use namada_sdk::{rpc, signing, tx, Namada}; use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace, warn}; @@ -47,6 +48,7 @@ impl NamadaChain { data_path: None, serialized_tx: None, owner: relayer_addr.clone(), + disposable_signing_key: false, }; let mut txs = Vec::new(); for msg in msgs { @@ -57,6 +59,7 @@ impl NamadaChain { txs.push((tx, signing_data)); } let (mut tx, signing_data) = tx::build_batch(txs).map_err(NamadaError::namada)?; + // This is fine, as only the relayers is signing the transactions let signing_data = signing_data.first().expect("SigningData should exist"); // Estimate the fee with dry-run @@ -165,9 +168,25 @@ impl NamadaChain { let max_gas = max_gas_from_config(&self.config); let gas_price = self.config.gas_price.price; + let max_block_gas_key = namada_sdk::parameters::storage::get_max_block_gas_key(); + let max_block_gas: u64 = match self.rt.block_on(rpc::query_storage_value( + self.ctx.client(), + &max_block_gas_key, + )) { + Ok(max_block_gas) => max_block_gas, + Err(e) => { + warn!( + id = %chain_id, + "estimate_fee: error while querying max block gas, defaulting to config default. Error: {}", + e + ); + max_gas + } + }; + let args = args.clone().dry_run_wrapper(true); // Set the max gas to the gas limit for the simulation - self.prepare_tx_with_gas(&mut tx, &args, &fee_token, max_gas, gas_price)?; + self.prepare_tx_with_gas(&mut tx, &args, &fee_token, max_block_gas, gas_price)?; self.rt .block_on(self.ctx.sign( @@ -181,14 +200,16 @@ impl NamadaChain { let response = match self.rt.block_on(self.ctx.submit(tx, &args)) { Ok(resp) => resp, - Err(_) => { + Err(e) => { warn!( id = %chain_id, - "send_tx: gas estimation failed, using the default gas limit" + "send_tx: gas estimation failed, using the default gas limit. Error: {}", + e ); return Ok(None); } }; + let estimated_gas = match response { ProcessTxResponse::DryRun(result) => { if result From 12763980f4e5527c78f1c05a2c8e4bdfb2c197b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Zemanovi=C4=8D?= Date: Wed, 25 Sep 2024 12:39:55 +0100 Subject: [PATCH 091/103] only use the namada sdk --- Cargo.lock | 4 ---- Cargo.toml | 3 --- crates/relayer/Cargo.toml | 3 --- crates/relayer/src/chain/namada.rs | 18 +++++++++--------- crates/relayer/src/chain/namada/query.rs | 4 ++-- tools/test-framework/Cargo.toml | 1 - tools/test-framework/src/ibc/denom.rs | 4 ++-- tools/test-framework/src/util/namada.rs | 2 +- 8 files changed, 14 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 23996d8fae..20d7dde43b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3364,10 +3364,7 @@ dependencies = [ "ibc-telemetry", "itertools 0.13.0", "moka", - "namada_ibc", - "namada_parameters", "namada_sdk", - "namada_token", "num-bigint", "num-rational", "once_cell", @@ -3530,7 +3527,6 @@ dependencies = [ "ibc-relayer-cli", "ibc-relayer-types", "itertools 0.13.0", - "namada_ibc", "namada_sdk", "once_cell", "prost 0.13.1", diff --git a/Cargo.toml b/Cargo.toml index 8135b05381..217bd7843e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,10 +39,7 @@ tendermint-rpc = { version = "0.38.1" } tendermint-testgen = { version = "0.38.1" } # Namada dependencies -namada_ibc = { git = "https://github.com/anoma/namada", branch = "main" } -namada_parameters = { git = "https://github.com/anoma/namada", branch = "main" } namada_sdk = { git = "https://github.com/anoma/namada", branch = "main" } -namada_token = { git = "https://github.com/anoma/namada", branch = "main" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index 2bfdebefc1..ed7450b402 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -46,10 +46,7 @@ humantime = { workspace = true } humantime-serde = { workspace = true } itertools = { workspace = true } moka = { workspace = true, features = ["sync"] } -namada_ibc = { workspace = true } -namada_parameters = { workspace = true } namada_sdk = { workspace = true } -namada_token = { workspace = true } num-bigint = { workspace = true, features = ["serde"] } num-rational = { workspace = true, features = ["num-bigint", "serde"] } once_cell = { workspace = true } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index d08f1b178c..ca0896dfe6 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -1,7 +1,7 @@ use alloc::sync::Arc; -use tendermint_rpc::HttpClient; use core::str::FromStr; use std::thread; +use tendermint_rpc::HttpClient; use tracing::debug; use core::time::Duration; @@ -36,24 +36,24 @@ use ibc_relayer_types::core::ics24_host::path::{ }; use ibc_relayer_types::signer::Signer; use ibc_relayer_types::Height as ICSHeight; -use namada_ibc::core::host::types::path::UPGRADED_IBC_STATE; -use namada_ibc::{storage, COMMITMENT_PREFIX}; -use namada_parameters::{storage as param_storage, EpochDuration}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; +use namada_sdk::ibc::core::host::types::path::UPGRADED_IBC_STATE; +use namada_sdk::ibc::{storage, COMMITMENT_PREFIX}; use namada_sdk::io::NullIo; +use namada_sdk::io::{Client, NamadaIo}; use namada_sdk::masp::fs::FsShieldedUtils; +use namada_sdk::parameters::{storage as param_storage, EpochDuration}; use namada_sdk::proof_of_stake::storage_key as pos_storage_key; use namada_sdk::proof_of_stake::OwnedPosParams; use namada_sdk::state::ics23_specs::ibc_proof_specs; use namada_sdk::state::Sha256Hasher; use namada_sdk::storage::{Key, KeySeg, PrefixValue}; +use namada_sdk::token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; +use namada_sdk::token::{Amount, DenominatedAmount, Denomination}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; -use namada_sdk::io::{NamadaIo, Client}; -use namada_token::storage_key::{balance_key, denom_key, is_any_token_balance_key}; -use namada_token::{Amount, DenominatedAmount, Denomination}; use tendermint::block::Height as TmHeight; use tendermint::{node, Time}; use tendermint_light_client::types::LightBlock as TMLightBlock; @@ -689,7 +689,7 @@ impl ChainEndpoint for NamadaChain { .upgrade_height .decrement() .map_err(|_| Error::invalid_height_no_source())?; - let key = namada_ibc::storage::upgraded_client_state_key(height); + let key = namada_sdk::ibc::storage::upgraded_client_state_key(height); let (value, proof) = self.query(key, QueryHeight::Specific(query_height), IncludeProof::Yes)?; if let Some(proof) = proof { @@ -721,7 +721,7 @@ impl ChainEndpoint for NamadaChain { .upgrade_height .decrement() .map_err(|_| Error::invalid_height_no_source())?; - let key = namada_ibc::storage::upgraded_consensus_state_key(height); + let key = namada_sdk::ibc::storage::upgraded_consensus_state_key(height); let (value, proof) = self.query(key, QueryHeight::Specific(query_height), IncludeProof::Yes)?; if let Some(proof) = proof { diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index f0592ed2b0..0157daf87e 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -3,18 +3,18 @@ use ibc_relayer_types::core::ics23_commitment::merkle::convert_tm_to_ics_merkle_ use ibc_relayer_types::core::ics23_commitment::merkle::MerkleProof; use ibc_relayer_types::events::IbcEvent; use ibc_relayer_types::Height as ICSHeight; -use namada_ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; use namada_sdk::address::{Address, InternalAddress}; use namada_sdk::borsh::BorshDeserialize; use namada_sdk::events::extend::Height as HeightAttr; use namada_sdk::events::Event as NamadaEvent; +use namada_sdk::ibc::storage::{ibc_trace_key_prefix, is_ibc_trace_key}; use namada_sdk::io::Client; +use namada_sdk::io::NamadaIo; use namada_sdk::queries::RPC; use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::tx::data::ResultCode; use namada_sdk::tx::event::{Batch as BatchAttr, Code as CodeAttr}; -use namada_sdk::io::NamadaIo; use tendermint::block::Height as TmHeight; use tendermint::Hash as TmHash; diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index 9afe672f25..cb0b408caa 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -18,7 +18,6 @@ ibc-relayer-types = { workspace = true } ibc-relayer = { workspace = true } ibc-relayer-cli = { workspace = true } ibc-proto = { workspace = true, features = ["serde"] } -namada_ibc = { workspace = true } namada_sdk = { workspace = true } tendermint = { workspace = true } tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } diff --git a/tools/test-framework/src/ibc/denom.rs b/tools/test-framework/src/ibc/denom.rs index 54b742c079..d0301b9e15 100644 --- a/tools/test-framework/src/ibc/denom.rs +++ b/tools/test-framework/src/ibc/denom.rs @@ -140,7 +140,7 @@ fn derive_namada_ibc_denom( .. } => { let path = format!("{port_id}/{channel_id}"); - let ibc_token_addr = namada_ibc::trace::ibc_token(format!("{path}/{raw_address}")); + let ibc_token_addr = namada_sdk::ibc::trace::ibc_token(format!("{path}/{raw_address}")); Ok(MonoTagged::new(Denom::Ibc { path, @@ -157,7 +157,7 @@ fn derive_namada_ibc_denom( } => { let new_path = format!("{port_id}/{channel_id}/{path}"); let ibc_token_addr = - namada_ibc::trace::ibc_token(format!("{new_path}/{}", denom.hash_only())); + namada_sdk::ibc::trace::ibc_token(format!("{new_path}/{}", denom.hash_only())); Ok(MonoTagged::new(Denom::Ibc { path: new_path, diff --git a/tools/test-framework/src/util/namada.rs b/tools/test-framework/src/util/namada.rs index c8f8944c40..67e1d8dcd0 100644 --- a/tools/test-framework/src/util/namada.rs +++ b/tools/test-framework/src/util/namada.rs @@ -5,7 +5,7 @@ use ibc_relayer_types::core::ics24_host::identifier::{ChannelId, ClientId, PortI use ibc_relayer_types::events::IbcEventType; use ibc_relayer_types::Height; use itertools::Itertools; -use namada_ibc::storage::{consensus_height, consensus_state_prefix}; +use namada_sdk::ibc::storage::{consensus_height, consensus_state_prefix}; use namada_sdk::events::extend::Height as HeightAttr; use namada_sdk::queries::RPC; use namada_sdk::storage::{Key, PrefixValue}; From f8e354c7f5eaac2c80c2aeb2cd5284a3ec8185e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Zemanovi=C4=8D?= Date: Thu, 26 Sep 2024 16:47:53 +0100 Subject: [PATCH 092/103] use namada v0.44.0 --- Cargo.lock | 112 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 20d7dde43b..a9c8fd96cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4154,8 +4154,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "namada_core", @@ -4166,8 +4166,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", "smooth-operator", @@ -4176,8 +4176,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "bech32 0.8.1", "borsh", @@ -4226,8 +4226,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "ethers", @@ -4254,8 +4254,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "namada_core", @@ -4268,8 +4268,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "namada_core", @@ -4281,8 +4281,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "itertools 0.12.1", @@ -4304,8 +4304,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "data-encoding", @@ -4334,8 +4334,8 @@ dependencies = [ [[package]] name = "namada_io" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "async-trait", "kdam", @@ -4347,8 +4347,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "data-encoding", "proc-macro2", @@ -4359,8 +4359,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "eyre", @@ -4374,8 +4374,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", "namada_macros", @@ -4389,8 +4389,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "itertools 0.12.1", @@ -4413,16 +4413,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "async-trait", "bimap", @@ -4491,8 +4491,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "async-trait", "borsh", @@ -4532,8 +4532,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "clru", @@ -4555,8 +4555,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "itertools 0.12.1", @@ -4574,8 +4574,8 @@ dependencies = [ [[package]] name = "namada_systems" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", "namada_events", @@ -4584,8 +4584,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "namada_core", @@ -4602,8 +4602,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "konst", "namada_core", @@ -4619,8 +4619,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "ark-bls12-381", "bitflags 2.6.0", @@ -4648,8 +4648,8 @@ dependencies = [ [[package]] name = "namada_tx_env" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", "namada_events", @@ -4658,8 +4658,8 @@ dependencies = [ [[package]] name = "namada_vm" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "clru", @@ -4680,8 +4680,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "borsh", "namada_core", @@ -4692,8 +4692,8 @@ dependencies = [ [[package]] name = "namada_vp" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "namada_core", "namada_events", @@ -4708,8 +4708,8 @@ dependencies = [ [[package]] name = "namada_vp_env" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "derivative", "masp_primitives", @@ -4723,8 +4723,8 @@ dependencies = [ [[package]] name = "namada_wallet" -version = "0.43.0" -source = "git+https://github.com/anoma/namada?branch=main#7d279818bef6fbfed89db9ba414cd1c97775d7a7" +version = "0.44.0" +source = "git+https://github.com/anoma/namada#80557a926ed668cee00fb2b66b069bd47c23e632" dependencies = [ "bimap", "borsh", diff --git a/Cargo.toml b/Cargo.toml index 217bd7843e..a262f8118f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ tendermint-rpc = { version = "0.38.1" } tendermint-testgen = { version = "0.38.1" } # Namada dependencies -namada_sdk = { git = "https://github.com/anoma/namada", branch = "main" } +namada_sdk = { git = "https://github.com/anoma/namada", version = "0.44.0" } # Other dependencies abscissa_core = "=0.6.0" From 210b628ef909eb9d958b32ce88e26cd9e22d9b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Zemanovi=C4=8D?= Date: Fri, 27 Sep 2024 09:56:57 +0100 Subject: [PATCH 093/103] use max_block_gas for tx max_gas unless configured --- crates/relayer/src/chain/cosmos/types/gas.rs | 5 ++++ crates/relayer/src/chain/namada/tx.rs | 25 +++++++------------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/types/gas.rs b/crates/relayer/src/chain/cosmos/types/gas.rs index 2cbcde3cc1..620f38ad08 100644 --- a/crates/relayer/src/chain/cosmos/types/gas.rs +++ b/crates/relayer/src/chain/cosmos/types/gas.rs @@ -49,6 +49,11 @@ pub fn max_gas_from_config(config: &CosmosSdkConfig) -> u64 { config.max_gas.unwrap_or(DEFAULT_MAX_GAS) } +/// The maximum amount of gas the relayer is willing to pay for a transaction +pub fn max_gas_from_config_opt(config: &CosmosSdkConfig) -> Option { + config.max_gas +} + /// The gas multiplier pub fn gas_multiplier_from_config(config: &CosmosSdkConfig) -> f64 { config.gas_multiplier.unwrap_or_default().to_f64() diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 132b0c0386..8f9c0b5cc8 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -17,7 +17,7 @@ use tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace, warn}; use crate::chain::cosmos::gas::{adjust_estimated_gas, AdjustGas}; -use crate::chain::cosmos::types::gas::max_gas_from_config; +use crate::chain::cosmos::types::gas::max_gas_from_config_opt; use crate::chain::cosmos::types::tx::{TxStatus, TxSyncResult}; use crate::chain::cosmos::wait::all_tx_results_found; use crate::chain::endpoint::ChainEndpoint; @@ -165,24 +165,17 @@ impl NamadaChain { let fee_token_str = self.config.gas_price.denom.clone(); let fee_token = Address::from_str(&fee_token_str) .map_err(|_| NamadaError::address_decode(fee_token_str.clone()))?; - let max_gas = max_gas_from_config(&self.config); let gas_price = self.config.gas_price.price; let max_block_gas_key = namada_sdk::parameters::storage::get_max_block_gas_key(); - let max_block_gas: u64 = match self.rt.block_on(rpc::query_storage_value( - self.ctx.client(), - &max_block_gas_key, - )) { - Ok(max_block_gas) => max_block_gas, - Err(e) => { - warn!( - id = %chain_id, - "estimate_fee: error while querying max block gas, defaulting to config default. Error: {}", - e - ); - max_gas - } - }; + let max_block_gas: u64 = self + .rt + .block_on(rpc::query_storage_value( + self.ctx.client(), + &max_block_gas_key, + )) + .map_err(NamadaError::namada)?; + let max_gas = max_gas_from_config_opt(&self.config).unwrap_or(max_block_gas); let args = args.clone().dry_run_wrapper(true); // Set the max gas to the gas limit for the simulation From bfa7da7ded6888ca52a4991d55a7c2493d01053a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Zemanovi=C4=8D?= Date: Fri, 27 Sep 2024 10:08:50 +0100 Subject: [PATCH 094/103] set the default max gas back to 400_000 --- crates/relayer/src/chain/cosmos/types/gas.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/relayer/src/chain/cosmos/types/gas.rs b/crates/relayer/src/chain/cosmos/types/gas.rs index 620f38ad08..b8944d373f 100644 --- a/crates/relayer/src/chain/cosmos/types/gas.rs +++ b/crates/relayer/src/chain/cosmos/types/gas.rs @@ -1,5 +1,4 @@ use ibc_proto::cosmos::tx::v1beta1::Fee; -use namada_sdk::DEFAULT_GAS_LIMIT; use crate::chain::cosmos::calculate_fee; use crate::chain::cosmos::config::CosmosSdkConfig; @@ -7,7 +6,7 @@ use crate::config::dynamic_gas::DynamicGasPrice; use crate::config::GasPrice; /// Default gas limit when submitting a transaction. -const DEFAULT_MAX_GAS: u64 = DEFAULT_GAS_LIMIT; +const DEFAULT_MAX_GAS: u64 = 400_000; const DEFAULT_FEE_GRANTER: &str = ""; From e8494dc7dde28e11458c7b3e8409c4690995ce91 Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 1 Nov 2024 15:21:00 +0100 Subject: [PATCH 095/103] fix for CI --- .github/workflows/integration.yaml | 5 +++++ crates/relayer/src/chain/namada/tx.rs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index fddc94d5d0..3cb9a5711e 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -352,6 +352,11 @@ jobs: - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable + - name: Install Protoc + uses: heliaxdev/setup-protoc@v2 + with: + version: "25.0" + repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rs/cargo@v1 with: command: test diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 8f9c0b5cc8..3d5b970dbf 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -1,8 +1,8 @@ use core::str::FromStr; use core::time::Duration; use std::path::PathBuf; +use std::thread; use std::time::Instant; -use std::{thread, u64}; use ibc_proto::google::protobuf::Any; use itertools::Itertools; From 2835a92f459d899aecb1a996b1249fb0d65442ea Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 1 Nov 2024 15:23:53 +0100 Subject: [PATCH 096/103] update Namada version for CI --- .github/workflows/namada.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index ad6183086c..d280d72edf 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/179547472" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -162,7 +162,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/170839589" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/179547472" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac From ff783d7df47c9d2c592421057a43fd6de334f14c Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 4 Nov 2024 12:31:53 +0100 Subject: [PATCH 097/103] fix for transaction batch --- .../src/tests/error_events.rs | 25 ++++---- .../src/tests/tendermint/sequential.rs | 60 ++++++++++--------- 2 files changed, 47 insertions(+), 38 deletions(-) diff --git a/tools/integration-test/src/tests/error_events.rs b/tools/integration-test/src/tests/error_events.rs index 7eaccb8719..af054aac26 100644 --- a/tools/integration-test/src/tests/error_events.rs +++ b/tools/integration-test/src/tests/error_events.rs @@ -37,17 +37,22 @@ impl BinaryChannelTest for ErrorEventsTest { let balance_a_amount: u128 = balance_a.value().amount.0.as_u128(); - let transfer_message = build_transfer_message( - &channel.port_a.as_ref(), - &channel.channel_id_a.as_ref(), - &wallet_a.as_ref(), - &wallet_b.address(), - &denom_a.with_amount((balance_a_amount / 3) + 1).as_ref(), - Duration::from_secs(30), - None, - )?; + let mut transfer_messages = Vec::new(); + for i in 0..4 { + let transfer_message = build_transfer_message( + &channel.port_a.as_ref(), + &channel.channel_id_a.as_ref(), + &wallet_a.as_ref(), + &wallet_b.address(), + &denom_a.with_amount((balance_a_amount / 3) + 1).as_ref(), + Duration::from_secs(30), + // Namada batch transaction can't have the exact same message + Some(i.to_string()), + )?; + transfer_messages.push(transfer_message); + } - let messages = TrackedMsgs::new_static(vec![transfer_message; 4], "test_error_events"); + let messages = TrackedMsgs::new_static(transfer_messages, "test_error_events"); let events = chains.handle_a().send_messages_and_wait_commit(messages)?; diff --git a/tools/integration-test/src/tests/tendermint/sequential.rs b/tools/integration-test/src/tests/tendermint/sequential.rs index 7043780ba5..6bd106dc53 100644 --- a/tools/integration-test/src/tests/tendermint/sequential.rs +++ b/tools/integration-test/src/tests/tendermint/sequential.rs @@ -77,20 +77,22 @@ impl BinaryChannelTest for SequentialCommitTest { { let denom_a = chains.node_a.denom(); - let transfer_message = build_transfer_message( - &channel.port_a.as_ref(), - &channel.channel_id_a.as_ref(), - &wallet_a.as_ref(), - &wallet_b.address(), - &denom_a.with_amount(100u64).as_ref(), - Duration::from_secs(30), - None, - )?; - - let messages = TrackedMsgs::new_static( - vec![transfer_message; TOTAL_MESSAGES], - "test_error_events", - ); + let mut transfer_messages = Vec::new(); + for i in 0..TOTAL_MESSAGES { + let transfer_message = build_transfer_message( + &channel.port_a.as_ref(), + &channel.channel_id_a.as_ref(), + &wallet_a.as_ref(), + &wallet_b.address(), + &denom_a.with_amount(100u64).as_ref(), + Duration::from_secs(30), + // Namada batch transaction can't have the exact same message + Some(i.to_string()), + )?; + transfer_messages.push(transfer_message); + } + + let messages = TrackedMsgs::new_static(transfer_messages, "test_sequential_commit"); let start = Instant::now(); @@ -132,20 +134,22 @@ impl BinaryChannelTest for SequentialCommitTest { { let denom_b = chains.node_b.denom(); - let transfer_message = build_transfer_message( - &channel.port_b.as_ref(), - &channel.channel_id_b.as_ref(), - &wallet_b.as_ref(), - &wallet_a.address(), - &denom_b.with_amount(100u64).as_ref(), - Duration::from_secs(30), - None, - )?; - - let messages = TrackedMsgs::new_static( - vec![transfer_message; TOTAL_MESSAGES], - "test_error_events", - ); + let mut transfer_messages = Vec::new(); + for i in 0..TOTAL_MESSAGES { + let transfer_message = build_transfer_message( + &channel.port_b.as_ref(), + &channel.channel_id_b.as_ref(), + &wallet_b.as_ref(), + &wallet_a.address(), + &denom_b.with_amount(100u64).as_ref(), + Duration::from_secs(30), + // Namada batch transaction can't have the exact same message + Some(i.to_string()), + )?; + transfer_messages.push(transfer_message); + } + + let messages = TrackedMsgs::new_static(transfer_messages, "test_sequential_commit"); let start = Instant::now(); From 2c29c786ee0f4533aeee90689b86c161ad0e3a04 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 4 Nov 2024 12:54:19 +0100 Subject: [PATCH 098/103] remove unwrap() --- crates/relayer/src/chain/namada.rs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index ca0896dfe6..d07496d97e 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -159,12 +159,7 @@ impl NamadaChain { .rt .block_on(Client::status(self.ctx.client())) .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; - Ok(status - .sync_info - .latest_block_time - .to_string() - .parse() - .unwrap()) + Ok(status.sync_info.latest_block_time) } } @@ -591,7 +586,8 @@ impl ChainEndpoint for NamadaChain { if key.to_string().ends_with("clientState") { let client_id = storage::client_id(&key).map_err(|e| Error::query(e.to_string()))?; - let client_id = ClientId::from_str(&client_id.to_string()).unwrap(); + let client_id = ClientId::from_str(&client_id.to_string()) + .expect("ibc-rs ClientId should be parsable with the relayer-types one"); let client_state = AnyClientState::decode_vec(&value).map_err(Error::decode)?; states.push(IdentifiedAnyClientState::new(client_id, client_state)); } @@ -656,7 +652,8 @@ impl ChainEndpoint for NamadaChain { let PrefixValue { key, value: _ } = prefix_value; match storage::consensus_height(&key) { Ok(h) => { - let height = ICSHeight::new(h.revision_number(), h.revision_height()).unwrap(); + let height = ICSHeight::new(h.revision_number(), h.revision_height()) + .expect("ibc-rs height should be parsable with the relayer-types one"); heights.push(height); } Err(_) => { @@ -851,8 +848,14 @@ impl ChainEndpoint for NamadaChain { } let (port_id, channel_id) = storage::port_channel_id(&key).map_err(|e| Error::query(e.to_string()))?; - let port_id = port_id.as_ref().parse().unwrap(); - let channel_id = channel_id.as_ref().parse().unwrap(); + let port_id = port_id + .as_ref() + .parse() + .expect("ibc-rs PortId should be parsable with the relayer-types one"); + let channel_id = channel_id + .as_ref() + .parse() + .expect("ibc-rs ChannelId should be parsable with the relayer-types one"); let channel = ChannelEnd::decode_vec(&value).map_err(Error::decode)?; channels.push(IdentifiedChannelEnd::new(port_id, channel_id, channel)) } @@ -1192,7 +1195,10 @@ impl ChainEndpoint for NamadaChain { unbonding_period, settings.max_clock_drift, height, - self.config.proof_specs.clone().unwrap(), + self.config + .proof_specs + .clone() + .expect("ProofSpecs should be set"), vec![ COMMITMENT_PREFIX.to_string(), UPGRADED_IBC_STATE.to_string(), From a4ed34ef491a59f2df2e46082a99e0474b686fa8 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 4 Nov 2024 21:17:13 +0100 Subject: [PATCH 099/103] update cometbft version --- .github/workflows/namada.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index d280d72edf..dec500c4ca 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -44,7 +44,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: v0.43.0 + ref: v0.44.1 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -78,7 +78,7 @@ jobs: run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin - name: Download CometBFT run: | - curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.11/cometbft_0.37.11_linux_amd64.tar.gz tar -xvzf cometbft.tar.gz chmod +x cometbft mkdir -p $HOME/local/bin @@ -129,7 +129,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: v0.43.0 + ref: v0.44.1 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -153,7 +153,7 @@ jobs: run: curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin - name: Download CometBFT run: | - curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.9/cometbft_0.37.9_linux_amd64.tar.gz + curl -o cometbft.tar.gz -LO https://github.com/cometbft/cometbft/releases/download/v0.37.11/cometbft_0.37.11_linux_amd64.tar.gz tar -xvzf cometbft.tar.gz mkdir -p ~/local/bin chmod +x cometbft From df9e517f24d2f4bb1fe869aed784ff8d3c4244ed Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 4 Nov 2024 21:47:27 +0100 Subject: [PATCH 100/103] workaround for #4176 --- tools/integration-test/src/tests/fee/filter_fees.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/integration-test/src/tests/fee/filter_fees.rs b/tools/integration-test/src/tests/fee/filter_fees.rs index dd355073ee..b257f66bfd 100644 --- a/tools/integration-test/src/tests/fee/filter_fees.rs +++ b/tools/integration-test/src/tests/fee/filter_fees.rs @@ -22,6 +22,8 @@ struct FilterIncentivizedFeesRelayerTest; impl TestOverrides for FilterIncentivizedFeesRelayerTest { fn modify_relayer_config(&self, config: &mut Config) { + config.mode.packets.clear_on_start = false; + config.mode.packets.clear_interval = 0; config.mode.packets.auto_register_counterparty_payee = true; let recv_fee = MinFee::new(50, Some("samoleans".to_owned())); let fees_filters = FeePolicy::new(vec![recv_fee]); From 501c6f80738c61a51e85b012f610969c9b0b9e92 Mon Sep 17 00:00:00 2001 From: yito88 Date: Mon, 11 Nov 2024 14:44:34 +0100 Subject: [PATCH 101/103] Namada v0.45.1 --- .github/workflows/namada.yaml | 8 +- Cargo.lock | 112 +++++++++++++------------- Cargo.toml | 2 +- crates/relayer/src/chain/namada/tx.rs | 5 +- 4 files changed, 63 insertions(+), 64 deletions(-) diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index dec500c4ca..5fce603fc1 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -44,7 +44,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: v0.44.1 + ref: v0.45.1 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/179547472" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/184186214" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -129,7 +129,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: v0.44.1 + ref: v0.45.1 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -162,7 +162,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/179547472" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/184186214" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac diff --git a/Cargo.lock b/Cargo.lock index ffb7138040..a52dfc0d3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4174,8 +4174,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "namada_core", @@ -4186,8 +4186,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", "smooth-operator", @@ -4196,8 +4196,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "bech32 0.8.1", "borsh", @@ -4246,8 +4246,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "ethers", @@ -4274,8 +4274,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "namada_core", @@ -4288,8 +4288,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "namada_core", @@ -4301,8 +4301,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "itertools 0.12.1", @@ -4324,8 +4324,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "data-encoding", @@ -4354,8 +4354,8 @@ dependencies = [ [[package]] name = "namada_io" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "async-trait", "kdam", @@ -4367,8 +4367,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "data-encoding", "proc-macro2", @@ -4379,8 +4379,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "eyre", @@ -4394,8 +4394,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", "namada_macros", @@ -4409,8 +4409,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "itertools 0.12.1", @@ -4433,16 +4433,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "async-trait", "bimap", @@ -4511,8 +4511,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "async-trait", "borsh", @@ -4552,8 +4552,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "clru", @@ -4575,8 +4575,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "itertools 0.12.1", @@ -4594,8 +4594,8 @@ dependencies = [ [[package]] name = "namada_systems" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", "namada_events", @@ -4604,8 +4604,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "namada_core", @@ -4622,8 +4622,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "konst", "namada_core", @@ -4639,8 +4639,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "ark-bls12-381", "bitflags 2.6.0", @@ -4668,8 +4668,8 @@ dependencies = [ [[package]] name = "namada_tx_env" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", "namada_events", @@ -4678,8 +4678,8 @@ dependencies = [ [[package]] name = "namada_vm" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "clru", @@ -4700,8 +4700,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "borsh", "namada_core", @@ -4712,8 +4712,8 @@ dependencies = [ [[package]] name = "namada_vp" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "namada_core", "namada_events", @@ -4728,8 +4728,8 @@ dependencies = [ [[package]] name = "namada_vp_env" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "derivative", "masp_primitives", @@ -4743,8 +4743,8 @@ dependencies = [ [[package]] name = "namada_wallet" -version = "0.44.1" -source = "git+https://github.com/anoma/namada?tag=v0.44.1#675e933789b94c5ad309dcf21f68ed52102aaf11" +version = "0.45.1" +source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" dependencies = [ "bimap", "borsh", diff --git a/Cargo.toml b/Cargo.toml index 7f58a6ba69..7e031296e9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ tendermint-rpc = { version = "0.38.1" } tendermint-testgen = { version = "0.38.1" } # Namada dependencies -namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.44.1" } +namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.45.1" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 3d5b970dbf..3b95996073 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -47,8 +47,7 @@ impl NamadaChain { code_path: Some(PathBuf::from(tx::TX_IBC_WASM)), data_path: None, serialized_tx: None, - owner: relayer_addr.clone(), - disposable_signing_key: false, + owner: Some(relayer_addr.clone()), }; let mut txs = Vec::new(); for msg in msgs { @@ -56,7 +55,7 @@ impl NamadaChain { .block_on(args.build(&self.ctx)) .map_err(NamadaError::namada)?; self.set_tx_data(&mut tx, msg)?; - txs.push((tx, signing_data)); + txs.push((tx, signing_data.expect("signing_data should exist"))); } let (mut tx, signing_data) = tx::build_batch(txs).map_err(NamadaError::namada)?; // This is fine, as only the relayers is signing the transactions From 9af782d8d953c66a95bebb630c6f781e517e2d32 Mon Sep 17 00:00:00 2001 From: yito88 Date: Thu, 21 Nov 2024 21:23:44 +0100 Subject: [PATCH 102/103] avoid updating Namada's tendermint-rs --- Cargo.lock | 12 +- Cargo.toml | 4 + crates/relayer/Cargo.toml | 3 + crates/relayer/src/chain/namada.rs | 129 +++++++++++++----- crates/relayer/src/chain/namada/error.rs | 31 ++++- crates/relayer/src/chain/namada/query.rs | 52 +++++-- crates/relayer/src/chain/namada/tx.rs | 9 +- .../src/tests/consensus_states.rs | 9 +- tools/integration-test/src/tests/memo.rs | 6 +- tools/test-framework/Cargo.toml | 4 + tools/test-framework/src/bootstrap/namada.rs | 2 +- tools/test-framework/src/util/namada.rs | 4 +- 12 files changed, 214 insertions(+), 51 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0e2383d2c..e5d2a6e50e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3434,11 +3434,14 @@ dependencies = [ "signature", "strum 0.25.0", "subtle-encoding", + "tendermint 0.38.1", "tendermint 0.40.0", "tendermint-light-client", "tendermint-light-client-detector", "tendermint-light-client-verifier 0.40.0", + "tendermint-proto 0.38.1", "tendermint-proto 0.40.0", + "tendermint-rpc 0.38.1", "tendermint-rpc 0.40.0", "tendermint-testgen", "test-log", @@ -3588,7 +3591,9 @@ dependencies = [ "serde_yaml", "sha2 0.10.8", "subtle-encoding", + "tendermint 0.38.1", "tendermint 0.40.0", + "tendermint-rpc 0.38.1", "tendermint-rpc 0.40.0", "tokio", "toml 0.8.19", @@ -5678,7 +5683,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.12.1", "log", "multimap", @@ -7316,12 +7321,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02f96a2b8a0d3d0b59e4024b1a6bdc1589efc6af4709d08a480a20cc4ba90f63" dependencies = [ "async-trait", + "async-tungstenite", "bytes", "flex-error", + "futures", "getrandom 0.2.15", "peg", "pin-project", "rand 0.8.5", + "reqwest", "semver 1.0.23", "serde", "serde_bytes", @@ -7333,6 +7341,8 @@ dependencies = [ "tendermint-proto 0.38.1", "thiserror", "time", + "tokio", + "tracing", "url", "uuid 1.11.0", "walkdir", diff --git a/Cargo.toml b/Cargo.toml index 1a212df31a..d6375eef24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,6 +41,10 @@ tendermint-light-client-verifier = { version = "0.40.0", default-features = fals tendermint-proto = { version = "0.40.0" } tendermint-rpc = { version = "0.40.0" } tendermint-testgen = { version = "0.40.0" } +# for Namada +namada-tendermint = { package = "tendermint", version = "0.38.0", default-features = false } +namada-tendermint-proto = { package = "tendermint-proto", version = "0.38.0" } +namada-tendermint-rpc = { package = "tendermint-rpc", version = "0.38.0" } # Namada dependencies diff --git a/crates/relayer/Cargo.toml b/crates/relayer/Cargo.toml index ed7450b402..b8b01f1686 100644 --- a/crates/relayer/Cargo.toml +++ b/crates/relayer/Cargo.toml @@ -47,6 +47,9 @@ humantime-serde = { workspace = true } itertools = { workspace = true } moka = { workspace = true, features = ["sync"] } namada_sdk = { workspace = true } +namada-tendermint = { workspace = true } +namada-tendermint-proto = { workspace = true } +namada-tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } num-bigint = { workspace = true, features = ["serde"] } num-rational = { workspace = true, features = ["num-bigint", "serde"] } once_cell = { workspace = true } diff --git a/crates/relayer/src/chain/namada.rs b/crates/relayer/src/chain/namada.rs index d07496d97e..4a362764d1 100644 --- a/crates/relayer/src/chain/namada.rs +++ b/crates/relayer/src/chain/namada.rs @@ -1,7 +1,7 @@ use alloc::sync::Arc; use core::str::FromStr; +use prost::Message; use std::thread; -use tendermint_rpc::HttpClient; use tracing::debug; use core::time::Duration; @@ -10,7 +10,7 @@ use ibc_proto::ibc::applications::fee::v1::{ QueryIncentivizedPacketRequest, QueryIncentivizedPacketResponse, }; use ibc_proto::ibc::core::channel::v1::{QueryUpgradeErrorRequest, QueryUpgradeRequest}; -use ibc_proto::Protobuf; +use ibc_relayer_types::applications::ics28_ccv::msgs::{ConsumerChain, ConsumerId}; use ibc_relayer_types::applications::ics31_icq::response::CrossChainQueryResponse; use ibc_relayer_types::clients::ics07_tendermint::client_state::{ AllowUpdate, ClientState as TmClientState, @@ -54,11 +54,12 @@ use namada_sdk::token::{Amount, DenominatedAmount, Denomination}; use namada_sdk::wallet::Store; use namada_sdk::wallet::Wallet; use namada_sdk::{rpc, Namada, NamadaImpl}; -use tendermint::block::Height as TmHeight; -use tendermint::{node, Time}; -use tendermint_light_client::types::LightBlock as TMLightBlock; -use tendermint_rpc::client::CompatMode; -use tendermint_rpc::endpoint::broadcast::tx_sync::Response; +use namada_tendermint::block::Height as TmHeight; +use namada_tendermint::{node, Time}; +use namada_tendermint_rpc::client::CompatMode; +use namada_tendermint_rpc::endpoint::broadcast::tx_sync::Response; +use namada_tendermint_rpc::{HttpClient, Url}; +use tendermint_proto::Protobuf as TmProtobuf; use tokio::runtime::Runtime as TokioRuntime; use crate::account::Balance; @@ -114,11 +115,18 @@ impl NamadaChain { ); use crate::config::EventSourceMode as Mode; + let http_client = tendermint_rpc::HttpClient::new(self.config.rpc_addr.clone()) + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + let compat_mode = self + .compat_mode + .to_string() + .parse() + .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; let (event_source, monitor_tx) = match &self.config.event_source { Mode::Push { url, batch_delay } => EventSource::websocket( self.config.id.clone(), url.clone(), - self.compat_mode, + compat_mode, *batch_delay, self.rt.clone(), ), @@ -127,7 +135,7 @@ impl NamadaChain { max_retries, } => EventSource::rpc( self.config.id.clone(), - self.ctx.client().clone(), + http_client, *interval, *max_retries, self.rt.clone(), @@ -154,17 +162,20 @@ impl NamadaChain { Ok(Duration::from_secs(unbonding_period)) } - fn get_latest_block_time(&self) -> Result { + fn get_latest_block_time(&self) -> Result { let status = self .rt .block_on(Client::status(self.ctx.client())) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; - Ok(status.sync_info.latest_block_time) + .map_err(|e| NamadaError::rpc(self.config.rpc_addr.clone(), e))?; + let time = + tendermint::Time::parse_from_rfc3339(&status.sync_info.latest_block_time.to_rfc3339()) + .expect("Time should be parsable"); + Ok(time) } } impl ChainEndpoint for NamadaChain { - type LightBlock = TMLightBlock; + type LightBlock = tendermint_light_client::types::LightBlock; type Header = TmHeader; type ConsensusState = TmConsensusState; type ClientState = TmClientState; @@ -186,17 +197,32 @@ impl ChainEndpoint for NamadaChain { return Err(Error::config(ConfigError::wrong_type())); }; - let mut rpc_client = HttpClient::new(config.rpc_addr.clone()) - .map_err(|e| Error::rpc(config.rpc_addr.clone(), e))?; + let rpc_addr = Url::from_str(&config.rpc_addr.to_string()) + .map_err(|e| NamadaError::rpc(config.rpc_addr.clone(), e))?; + let mut rpc_client = + HttpClient::new(rpc_addr).map_err(|e| NamadaError::rpc(config.rpc_addr.clone(), e))?; let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; let compat_mode = CompatMode::from_version(node_info.version) .ok() - .or_else(|| config.compat_mode.clone().map(CompatMode::from)) + .or_else(|| { + config.compat_mode.map(|mode| { + mode.to_string() + .parse() + .expect("compatMode should be parsable") + }) + }) .unwrap_or(CompatMode::V0_37); rpc_client.set_compat_mode(compat_mode); let node_info = rt.block_on(fetch_node_info(&rpc_client, &config))?; - let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_info.id)?; + let node_id = tendermint_light_client_verifier::types::PeerId::new( + node_info + .id + .as_bytes() + .try_into() + .expect("node ID should be able to converted"), + ); + let light_client = TmLightClient::from_cosmos_sdk_config(&config, node_id)?; let keybase = KeyRing::new_namada(config.key_store_type, &config.id, &config.key_store_folder) @@ -258,7 +284,7 @@ impl ChainEndpoint for NamadaChain { self.rt .block_on(Client::health(self.ctx.client())) .map_err(|e| { - Error::health_check_json_rpc( + NamadaError::health_check_json_rpc( self.config.id.clone(), self.config.rpc_addr.to_string(), "/health".to_string(), @@ -309,7 +335,7 @@ impl ChainEndpoint for NamadaChain { let status = self .rt .block_on(Client::status(self.ctx.client())) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + .map_err(|e| NamadaError::rpc(self.config.rpc_addr.clone(), e))?; let cometbft_version = status.node_info.version.to_string(); let cometbft_version = cometbft_version @@ -350,7 +376,7 @@ impl ChainEndpoint for NamadaChain { tx_sync_results.push(response_to_tx_sync_result( &self.config.id, msg_chunk.len(), - response, + into_tm_response(response), )); if self.config.sequential_batch_tx { self.wait_for_block_commits(&mut tx_sync_results)?; @@ -377,7 +403,7 @@ impl ChainEndpoint for NamadaChain { fn send_messages_and_wait_check_tx( &mut self, tracked_msgs: TrackedMsgs, - ) -> Result, Error> { + ) -> Result, Error> { crate::time!("send_messages_and_wait_check_tx"); let proto_msgs = tracked_msgs.messages(); @@ -389,7 +415,8 @@ impl ChainEndpoint for NamadaChain { let msg_chunks = proto_msgs.chunks(max_msg_num); let mut responses = vec![]; for msg_chunk in msg_chunks { - let response = self.batch_txs(msg_chunk)?; + let resp = self.batch_txs(msg_chunk)?; + let response = into_tm_response(resp); if response.code.is_err() { return Err(Error::send_tx(response.log)); } @@ -545,7 +572,7 @@ impl ChainEndpoint for NamadaChain { let status = self .rt .block_on(Client::status(self.ctx.client())) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + .map_err(|e| NamadaError::rpc(self.config.rpc_addr.clone(), e))?; if status.sync_info.catching_up { return Err(Error::chain_not_caught_up( @@ -1136,7 +1163,15 @@ impl ChainEndpoint for NamadaChain { None => Ok(vec![]), } } - QueryTxRequest::Transaction(tx) => self.query_tx_events(&tx.0), + QueryTxRequest::Transaction(tx) => { + let tm_hash = namada_tendermint::Hash::from_bytes( + namada_tendermint::hash::Algorithm::Sha256, + tx.0.as_bytes(), + ) + .expect("hash should be converted"); + + self.query_tx_events(&tm_hash) + } } } @@ -1160,9 +1195,8 @@ impl ChainEndpoint for NamadaChain { ) -> Result { let height = match request.height { QueryHeight::Latest => TmHeight::from(0u32), - QueryHeight::Specific(ibc_height) => { - TmHeight::try_from(ibc_height.revision_height()).map_err(Error::invalid_height)? - } + QueryHeight::Specific(ibc_height) => TmHeight::try_from(ibc_height.revision_height()) + .map_err(NamadaError::invalid_height)?, }; let rpc_call = match height.value() { @@ -1172,8 +1206,15 @@ impl ChainEndpoint for NamadaChain { let response = self .rt .block_on(rpc_call) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; - Ok(Self::ConsensusState::from(response.block.header)) + .map_err(|e| NamadaError::rpc(self.config.rpc_addr.clone(), e))?; + let raw_header = namada_tendermint_proto::v0_37::types::Header::from(response.block.header); + let encoded_header = raw_header.encode_to_vec(); + let raw_header: tendermint_proto::v0_37::types::Header = + prost::Message::decode(&encoded_header[..]) + .map_err(|e| Error::protobuf_decode("TmBlockHeader".to_string(), e))?; + let header: tendermint::block::Header = + raw_header.try_into().expect("header should be converted"); + Ok(Self::ConsensusState::from(header)) } fn build_client_state( @@ -1276,7 +1317,7 @@ impl ChainEndpoint for NamadaChain { unimplemented!() } - fn query_consumer_chains(&self) -> Result, Error> { + fn query_consumer_chains(&self) -> Result, Error> { // not supported unimplemented!() } @@ -1324,13 +1365,18 @@ impl ChainEndpoint for NamadaChain { Ok((error_receipt, proof)) } + + fn query_ccv_consumer_id(&self, _client_id: ClientId) -> Result { + // not supported + unimplemented!() + } } /// Fetch the node info async fn fetch_node_info( rpc_client: &HttpClient, config: &CosmosSdkConfig, -) -> Result { +) -> Result { crate::time!("fetch_node_info", { "src_chain": config.id.to_string(), @@ -1339,5 +1385,24 @@ async fn fetch_node_info( Client::status(rpc_client) .await .map(|s| s.node_info) - .map_err(|e| Error::rpc(config.rpc_addr.clone(), e)) + .map_err(|e| NamadaError::rpc(config.rpc_addr.clone(), e)) +} + +fn into_tm_response(response: Response) -> tendermint_rpc::endpoint::broadcast::tx_sync::Response { + let code = match response.code { + namada_tendermint::abci::Code::Ok => tendermint::abci::Code::Ok, + namada_tendermint::abci::Code::Err(c) => tendermint::abci::Code::Err(c), + }; + let hash = tendermint::Hash::from_bytes( + tendermint::hash::Algorithm::Sha256, + response.hash.as_bytes(), + ) + .expect("hash should be converted"); + tendermint_rpc::endpoint::broadcast::tx_sync::Response { + codespace: response.codespace, + code, + data: response.data, + log: response.log, + hash, + } } diff --git a/crates/relayer/src/chain/namada/error.rs b/crates/relayer/src/chain/namada/error.rs index 6269751873..aa938dd154 100644 --- a/crates/relayer/src/chain/namada/error.rs +++ b/crates/relayer/src/chain/namada/error.rs @@ -1,4 +1,8 @@ -use flex_error::{define_error, TraceError}; +use flex_error::{define_error, DisplayOnly, TraceError}; +use ibc_relayer_types::core::ics24_host::identifier::ChainId; +use namada_tendermint::Error as TendermintError; +use namada_tendermint_proto::Error as TendermintProtoError; +use namada_tendermint_rpc::Error as TendermintRpcError; define_error! { Error { @@ -14,6 +18,31 @@ define_error! { [ TraceError ] |_| { "Namada error" }, + Rpc + { url: tendermint_rpc::Url } + [ TendermintRpcError ] + |e| { format!("RPC error to endpoint {}", e.url) }, + + HealthCheckJsonRpc + { + chain_id: ChainId, + address: String, + endpoint: String, + } + [ DisplayOnly ] + |e| { + format!("health check failed for endpoint {0} on the JSON-RPC interface of chain {1}:{2}", + e.endpoint, e.chain_id, e.address) + }, + + InvalidHeight + [ TendermintError ] + |_| { "invalid height" }, + + Decode + [ TendermintProtoError ] + |_| { "error decoding protobuf" }, + Query [ TraceError ] |_| { "Query error" }, diff --git a/crates/relayer/src/chain/namada/query.rs b/crates/relayer/src/chain/namada/query.rs index 0157daf87e..8953ac80a3 100644 --- a/crates/relayer/src/chain/namada/query.rs +++ b/crates/relayer/src/chain/namada/query.rs @@ -15,8 +15,10 @@ use namada_sdk::rpc; use namada_sdk::storage::{BlockHeight, Epoch, Key, PrefixValue}; use namada_sdk::tx::data::ResultCode; use namada_sdk::tx::event::{Batch as BatchAttr, Code as CodeAttr}; -use tendermint::block::Height as TmHeight; -use tendermint::Hash as TmHash; +use namada_tendermint::block::Height as TmHeight; +use namada_tendermint::merkle::proof::ProofOps; +use namada_tendermint::Hash as TmHash; +use namada_tendermint_proto::v0_37::abci::Event as TmEvent; use crate::chain::endpoint::ChainEndpoint; use crate::chain::requests::{ @@ -52,7 +54,8 @@ impl NamadaChain { let proof = if is_proven { let proof_ops = proof.ok_or_else(Error::empty_response_proof)?; - let proof = convert_tm_to_ics_merkle_proof(&proof_ops).map_err(Error::ics23)?; + let tm_proof_ops = into_tm_proof(proof_ops); + let proof = convert_tm_to_ics_merkle_proof(&tm_proof_ops).map_err(Error::ics23)?; Some(proof) } else { None @@ -99,10 +102,8 @@ impl NamadaChain { .map_err(|_| Error::invalid_height_no_source())?; let height = ICSHeight::new(self.config.id.version(), h.0) .map_err(|_| Error::invalid_height_no_source())?; - let pb_abci_event = tendermint_proto::v0_37::abci::Event::from(event); - let abci_event = pb_abci_event.try_into().map_err(|_| { - Error::query("Conversion from proto AbciEvent to AbciEvent failed".to_string()) - })?; + let pb_abci_event = TmEvent::from(event); + let abci_event = into_abci_event(pb_abci_event); match ibc_event_try_from_abci_event(&abci_event) { Ok(event) => Ok(Some(IbcEventWithHeight { event, height })), // non IBC event @@ -142,7 +143,9 @@ impl NamadaChain { // Get IBC events when the transaction was accepted if batched_tx_result.is_accepted() { batched_tx_result.events.iter().filter_map(|event| { - ibc_event_try_from_abci_event(&event.clone().into()).ok() + let pb_abci_event = TmEvent::from(event.clone()); + let abci_event = into_abci_event(pb_abci_event); + ibc_event_try_from_abci_event(&abci_event).ok() }).map(|ibc_event| IbcEventWithHeight::new(ibc_event, height)).collect() } else { vec![IbcEventWithHeight::new( @@ -275,14 +278,16 @@ impl NamadaChain { let response = self .rt .block_on(Client::block_results(self.ctx.client(), tm_height)) - .map_err(|e| Error::rpc(self.config.rpc_addr.clone(), e))?; + .map_err(|e| NamadaError::rpc(self.config.rpc_addr.clone(), e))?; let events = response .end_block_events .ok_or_else(|| Error::query("No transaction result was found".to_string()))?; let mut ibc_events = vec![]; - for event in &events { - if let Ok(ibc_event) = ibc_event_try_from_abci_event(event) { + for event in events { + let pb_abci_event = TmEvent::from(event); + let abci_event = into_abci_event(pb_abci_event); + if let Ok(ibc_event) = ibc_event_try_from_abci_event(&abci_event) { ibc_events.push(IbcEventWithHeight::new(ibc_event, height)) } } @@ -314,3 +319,28 @@ impl NamadaChain { String::try_from_slice(&pair.value).map_err(|e| Error::namada(NamadaError::borsh_decode(e))) } } + +fn into_tm_proof(proof_ops: ProofOps) -> tendermint::merkle::proof::ProofOps { + let ops = proof_ops + .ops + .into_iter() + .map(|op| tendermint::merkle::proof::ProofOp { + field_type: op.field_type, + key: op.key, + data: op.data, + }) + .collect(); + tendermint::merkle::proof::ProofOps { ops } +} + +fn into_abci_event(event: TmEvent) -> tendermint::abci::Event { + let attributes = event + .attributes + .into_iter() + .map(|attribute| (attribute.key, attribute.value).into()) + .collect(); + tendermint::abci::Event { + kind: event.r#type, + attributes, + } +} diff --git a/crates/relayer/src/chain/namada/tx.rs b/crates/relayer/src/chain/namada/tx.rs index 3b95996073..4dc7f25e84 100644 --- a/crates/relayer/src/chain/namada/tx.rs +++ b/crates/relayer/src/chain/namada/tx.rs @@ -13,7 +13,7 @@ use namada_sdk::chain::ChainId; use namada_sdk::io::NamadaIo; use namada_sdk::tx::{prepare_tx, ProcessTxResponse}; use namada_sdk::{rpc, signing, tx, Namada}; -use tendermint_rpc::endpoint::broadcast::tx_sync::Response; +use namada_tendermint_rpc::endpoint::broadcast::tx_sync::Response; use tracing::{debug, debug_span, trace, warn}; use crate::chain::cosmos::gas::{adjust_estimated_gas, AdjustGas}; @@ -334,9 +334,14 @@ impl NamadaChain { fn update_tx_sync_result(&self, tx_sync_result: &mut TxSyncResult) -> Result<(), Error> { if let TxStatus::Pending { .. } = tx_sync_result.status { + let tm_hash = namada_tendermint::Hash::from_bytes( + namada_tendermint::hash::Algorithm::Sha256, + tx_sync_result.response.hash.as_bytes(), + ) + .expect("tendermint hash should be converted"); // If the transaction failed, query_txs returns the IbcEvent::ChainError, // so that we don't attempt to resolve the transaction later on. - let events = self.query_tx_events(&tx_sync_result.response.hash)?; + let events = self.query_tx_events(&tm_hash)?; // If we get events back, progress was made, so we replace the events // with the new ones. in both cases we will check in the next iteration // whether or not the transaction was fully committed. diff --git a/tools/integration-test/src/tests/consensus_states.rs b/tools/integration-test/src/tests/consensus_states.rs index 845a7e67fc..b94045d666 100644 --- a/tools/integration-test/src/tests/consensus_states.rs +++ b/tools/integration-test/src/tests/consensus_states.rs @@ -54,7 +54,14 @@ impl BinaryChainTest for ConsensusStateHeights { let states = match chains.handle_b().config().expect("Config should exist") { ChainConfig::Namada(config) => chains.node_b.value().chain_driver.runtime.block_on( - namada::query_consensus_states(config.rpc_addr, chains.client_id_b().value()), + namada::query_consensus_states( + config + .rpc_addr + .to_string() + .parse() + .expect("RPC address should be converted"), + chains.client_id_b().value(), + ), )?, _ => { let grpc_address = chains diff --git a/tools/integration-test/src/tests/memo.rs b/tools/integration-test/src/tests/memo.rs index cde0a6bca6..79483127ef 100644 --- a/tools/integration-test/src/tests/memo.rs +++ b/tools/integration-test/src/tests/memo.rs @@ -174,7 +174,11 @@ fn assert_tx_memo_equals( .value() .runtime .block_on(query_receive_tx_memo( - config.rpc_addr, + config + .rpc_addr + .to_string() + .parse() + .expect("RPC address should be converted"), channel.port_a.value(), channel.channel_id_a.value(), channel.port_b.value(), diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index eb99a9f64e..3f4260b178 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -22,6 +22,10 @@ namada_sdk = { workspace = true } tendermint = { workspace = true } tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } +# for Namada +namada-tendermint = { workspace = true } +namada-tendermint-rpc = { workspace = true, features = ["http-client", "websocket-client"] } + color-eyre = { workspace = true } crossbeam-channel = { workspace = true } eyre = { workspace = true } diff --git a/tools/test-framework/src/bootstrap/namada.rs b/tools/test-framework/src/bootstrap/namada.rs index 7c8dff43fa..393e756a2e 100644 --- a/tools/test-framework/src/bootstrap/namada.rs +++ b/tools/test-framework/src/bootstrap/namada.rs @@ -201,7 +201,7 @@ pub fn bootstrap_namada_node( // Wait for a while and check if the child process exited immediately. // If so, return error since we expect the full node to be running in the background. - sleep(Duration::from_millis(1000)); + sleep(Duration::from_millis(2000)); let status = child .try_wait() diff --git a/tools/test-framework/src/util/namada.rs b/tools/test-framework/src/util/namada.rs index 62bc1893f6..03d967b17e 100644 --- a/tools/test-framework/src/util/namada.rs +++ b/tools/test-framework/src/util/namada.rs @@ -10,9 +10,9 @@ use namada_sdk::ibc::storage::{consensus_height, consensus_state_prefix}; use namada_sdk::queries::RPC; use namada_sdk::storage::{Key, PrefixValue}; use namada_sdk::tx::Tx; +use namada_tendermint_rpc::{Client, HttpClient, Url}; use std::fs::File; use std::io::Read; -use tendermint_rpc::{Client, HttpClient, Url}; use toml::Value; use crate::prelude::*; @@ -97,6 +97,8 @@ pub async fn query_receive_tx_memo( ) .await?; + let height = namada_tendermint::block::Height::try_from(height.revision_height()) + .expect("Height should be converted"); let response = client .block(height) .await From 9161bafccdeac1ee5094af6baca73b745236993e Mon Sep 17 00:00:00 2001 From: yito88 Date: Fri, 22 Nov 2024 09:58:57 +0100 Subject: [PATCH 103/103] Namada v0.46.0 and remove test scripts --- .github/workflows/namada.yaml | 6 +- Cargo.lock | 112 ++++---- Cargo.toml | 11 +- e2e/namada-gaia-simple-transfers | 371 ------------------------ e2e/namada-simple-transfers | 469 ------------------------------- e2e/namada-stargaze-transfer | 268 ------------------ scripts/setup-namada | 232 --------------- scripts/setup-namada-single-node | 177 ------------ 8 files changed, 64 insertions(+), 1582 deletions(-) delete mode 100755 e2e/namada-gaia-simple-transfers delete mode 100755 e2e/namada-simple-transfers delete mode 100755 e2e/namada-stargaze-transfer delete mode 100755 scripts/setup-namada delete mode 100755 scripts/setup-namada-single-node diff --git a/.github/workflows/namada.yaml b/.github/workflows/namada.yaml index 5fce603fc1..706c35ad5e 100644 --- a/.github/workflows/namada.yaml +++ b/.github/workflows/namada.yaml @@ -44,7 +44,7 @@ jobs: uses: actions/checkout@v4 with: repository: anoma/namada - ref: v0.45.1 + ref: v0.46.0 path: namada - name: Retrieve Namada repository path id: namada-repo-path @@ -87,7 +87,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/184186214" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/186743588" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac @@ -162,7 +162,7 @@ jobs: env: OPERATING_SYSTEM: Linux run: | - release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/184186214" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") + release_url=$(curl -s "https://api.github.com/repos/anoma/namada/releases/186743588" | grep "browser_download_url" | cut -d '"' -f 4 | grep "$OPERATING_SYSTEM") wget "$release_url" tar -xzvf namada*.tar.gz cp ./namada*/namadac ~/local/bin/namadac diff --git a/Cargo.lock b/Cargo.lock index 2c1859de32..8be7e6e256 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4350,8 +4350,8 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "namada_account" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "namada_core", @@ -4362,8 +4362,8 @@ dependencies = [ [[package]] name = "namada_controller" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", "smooth-operator", @@ -4372,8 +4372,8 @@ dependencies = [ [[package]] name = "namada_core" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "bech32 0.8.1", "borsh", @@ -4422,8 +4422,8 @@ dependencies = [ [[package]] name = "namada_ethereum_bridge" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "ethers", @@ -4450,8 +4450,8 @@ dependencies = [ [[package]] name = "namada_events" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "namada_core", @@ -4464,8 +4464,8 @@ dependencies = [ [[package]] name = "namada_gas" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "namada_core", @@ -4477,8 +4477,8 @@ dependencies = [ [[package]] name = "namada_governance" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "itertools 0.12.1", @@ -4500,8 +4500,8 @@ dependencies = [ [[package]] name = "namada_ibc" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "data-encoding", @@ -4530,8 +4530,8 @@ dependencies = [ [[package]] name = "namada_io" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "async-trait", "kdam", @@ -4543,8 +4543,8 @@ dependencies = [ [[package]] name = "namada_macros" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "data-encoding", "proc-macro2", @@ -4555,8 +4555,8 @@ dependencies = [ [[package]] name = "namada_merkle_tree" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "eyre", @@ -4570,8 +4570,8 @@ dependencies = [ [[package]] name = "namada_parameters" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", "namada_macros", @@ -4585,8 +4585,8 @@ dependencies = [ [[package]] name = "namada_proof_of_stake" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "itertools 0.12.1", @@ -4609,16 +4609,16 @@ dependencies = [ [[package]] name = "namada_replay_protection" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", ] [[package]] name = "namada_sdk" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "async-trait", "bimap", @@ -4687,8 +4687,8 @@ dependencies = [ [[package]] name = "namada_shielded_token" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "async-trait", "borsh", @@ -4728,8 +4728,8 @@ dependencies = [ [[package]] name = "namada_state" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "clru", @@ -4751,8 +4751,8 @@ dependencies = [ [[package]] name = "namada_storage" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "itertools 0.12.1", @@ -4770,8 +4770,8 @@ dependencies = [ [[package]] name = "namada_systems" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", "namada_events", @@ -4780,8 +4780,8 @@ dependencies = [ [[package]] name = "namada_token" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "namada_core", @@ -4798,8 +4798,8 @@ dependencies = [ [[package]] name = "namada_trans_token" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "konst", "namada_core", @@ -4815,8 +4815,8 @@ dependencies = [ [[package]] name = "namada_tx" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "ark-bls12-381", "bitflags 2.6.0", @@ -4844,8 +4844,8 @@ dependencies = [ [[package]] name = "namada_tx_env" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", "namada_events", @@ -4854,8 +4854,8 @@ dependencies = [ [[package]] name = "namada_vm" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "clru", @@ -4876,8 +4876,8 @@ dependencies = [ [[package]] name = "namada_vote_ext" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "borsh", "namada_core", @@ -4888,8 +4888,8 @@ dependencies = [ [[package]] name = "namada_vp" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "namada_core", "namada_events", @@ -4904,8 +4904,8 @@ dependencies = [ [[package]] name = "namada_vp_env" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "derivative", "masp_primitives", @@ -4919,8 +4919,8 @@ dependencies = [ [[package]] name = "namada_wallet" -version = "0.45.1" -source = "git+https://github.com/anoma/namada?tag=v0.45.1#207fe50a8fab63e0c84a0e6b4a4ef31de7f4ce98" +version = "0.46.0" +source = "git+https://github.com/anoma/namada?tag=v0.46.0#cc531ec513b8ade85b221dd0a6c11818927fd247" dependencies = [ "bimap", "borsh", diff --git a/Cargo.toml b/Cargo.toml index bf7a0c868a..e9187839da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,14 +41,13 @@ tendermint-light-client-verifier = { version = "0.40.0", default-features = fals tendermint-proto = { version = "0.40.0" } tendermint-rpc = { version = "0.40.0" } tendermint-testgen = { version = "0.40.0" } -# for Namada -namada-tendermint = { package = "tendermint", version = "0.38.0", default-features = false } -namada-tendermint-proto = { package = "tendermint-proto", version = "0.38.0" } -namada-tendermint-rpc = { package = "tendermint-rpc", version = "0.38.0" } - # Namada dependencies -namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.45.1" } +namada_sdk = { git = "https://github.com/anoma/namada", tag = "v0.46.0" } +# Different tendermint-rs version for Namada +namada-tendermint = { package = "tendermint", version = "0.38.0", default-features = false } +namada-tendermint-proto = { package = "tendermint-proto", version = "0.38.0" } +namada-tendermint-rpc = { package = "tendermint-rpc", version = "0.38.0" } # Other dependencies abscissa_core = "=0.6.0" diff --git a/e2e/namada-gaia-simple-transfers b/e2e/namada-gaia-simple-transfers deleted file mode 100755 index c15ff7e5f8..0000000000 --- a/e2e/namada-gaia-simple-transfers +++ /dev/null @@ -1,371 +0,0 @@ -#!/bin/bash - -# This script sets up Namada and Gaia locally -# `make build` and `make build-wasm-scripts` on Namada directory in advance -# Run with `namada-gaia-simple-transfers ${namada_dir}` - -set -e - -NAMADA_DIR=$1 -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi -cd $(dirname $0) -HERMES_DIR=${PWD%/e2e*} - -# edit for your environment -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAN="${NAMADA_DIR}/target/debug/namadan" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -DATA_DIR="${HERMES_DIR}/data" -IBC_TOKEN="transfer/channel-0/samoleans" - -SHIELDED_ALIAS_A="shielded_a" -SHIELDED_ALIAS_B="shielded_b" -PAYMENT_ALIAS_A="payment_a" -PAYMENT_ALIAS_B="payment_b" -NAMADA_LEDGER_ADDR="http://127.0.0.1:27657" - -GAIA_CHAIN_CONFIG=" -[[chains]] -id = 'gaia-0' -type = 'CosmosSdk' -rpc_addr = 'http://127.0.0.1:26657' -grpc_addr = 'http://127.0.0.1:9090' -event_source = { mode = 'push', url = 'ws://127.0.0.1:26657/websocket', batch_delay = '500ms' } -account_prefix = 'cosmos' -key_name = 'testkey' -store_prefix = 'ibc' -gas_price = { price = 0.001, denom = 'stake' } -" - -#### main #### -mkdir -p ${DATA_DIR} - -# Gaia -rm -rf ${DATA_DIR}/gaia-0 - -${HERMES_DIR}/scripts/one-chain gaiad gaia-0 ${DATA_DIR} \ - 26657 26656 6060 9090 10000 - -# Namada -${HERMES_DIR}/scripts/setup-namada-single-node ${NAMADA_DIR} -base_dir=${DATA_DIR}/namada - -cd ${HERMES_DIR} -chain_id=$(grep id config_for_namada.toml | sed -e s/\'//g | awk '{print $3}') - -# Add Gaia chain config -echo "${GAIA_CHAIN_CONFIG}" >> config_for_namada.toml - -# add Gaia key -cargo run -q --bin hermes -- --config config_for_namada.toml \ - keys add --chain gaia-0 --key-file ${DATA_DIR}/gaia-0/user_seed.json --overwrite - -# setup Namada shielded keys -${NAMADAW} --base-dir ${base_dir} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} -payment_addr_a=$(${NAMADAW} --base-dir ${base_dir} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') - -${NAMADAW} --base-dir ${base_dir} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} -payment_addr_b=$(${NAMADAW} --base-dir ${base_dir} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') - -# Initialize Relayer's balance on Namada -${NAMADAC} --base-dir ${base_dir} \ - transparent-transfer \ - --source albert \ - --target relayer \ - --token nam \ - --amount 10000 \ - --node ${NAMADA_LEDGER_ADDR} - -${NAMADAC} --base-dir ${base_dir} \ - transparent-transfer \ - --source albert \ - --target relayer \ - --token apfel \ - --amount 1000 \ - --node ${NAMADA_LEDGER_ADDR} - -# create a channel -cargo run --bin hermes -- --config config_for_namada.toml \ - create channel --a-chain ${chain_id} \ - --b-chain gaia-0 \ - --a-port transfer \ - --b-port transfer \ - --new-client-connection --yes - -echo "~~ Transfer 100 samoleans from Gaia to Namada ~~" -namada_receiver=$(${NAMADAW} --base-dir ${base_dir} find --alias relayer | awk '/"relayer":/{print $3}') -cargo run --bin hermes -- --config config_for_namada.toml \ - tx ft-transfer \ - --dst-chain ${chain_id} \ - --src-chain gaia-0 \ - --src-port transfer \ - --src-channel channel-0 \ - --amount 100 \ - --receiver ${namada_receiver} \ - --denom samoleans \ - --timeout-height-offset 1000 - -# packet-recv -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-recv \ - --dst-chain ${chain_id} \ - --src-chain gaia-0 \ - --src-port transfer \ - --src-channel channel-0 - -# packet-ack -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-ack \ - --dst-chain gaia-0 \ - --src-chain ${chain_id} \ - --src-port transfer \ - --src-channel channel-0 - -echo "==== Balances on Namada ====" -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [ "${balance}" != "${IBC_TOKEN}: 100" ]; then - echo "The balance on Namada is wrong" - exit 1 -fi - -echo "==== Balances on Gaia ====" -gaia_user=$(gaiad --home ${DATA_DIR}/gaia-0 \ - keys --keyring-backend="test" show user -a) -balance=$(gaiad query bank balances ${gaia_user}) -echo "${balance}" -balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') -if [ "${balance}" != "- amount: \"9900\" denom: samoleans" ]; then - echo "The balance on Gaia is wrong" - exit 1 -fi - -echo "~~ Transfer back 50 samoleans from Namada to Gaia ~~" -${NAMADAC} --base-dir ${base_dir} ibc-transfer \ - --source relayer \ - --receiver ${gaia_user} \ - --token ${IBC_TOKEN} \ - --amount 50 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 150000 \ - --node ${NAMADA_LEDGER_ADDR} - -# packet-recv -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-recv \ - --dst-chain gaia-0 \ - --src-chain ${chain_id} \ - --src-port transfer \ - --src-channel channel-0 - -# packet-ack -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-ack \ - --dst-chain ${chain_id} \ - --src-chain gaia-0 \ - --src-port transfer \ - --src-channel channel-0 - -echo "==== Balances on Namada ====" -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [ "${balance}" != "${IBC_TOKEN}: 50" ]; then - echo "The balance on Namada is wrong" - exit 1 -fi - -echo "==== Balances on Gaia ====" -balance=$(gaiad query bank balances ${gaia_user}) -echo "${balance}" -balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') -if [ "${balance}" != "- amount: \"9950\" denom: samoleans" ]; then - echo "The balance on Gaia is wrong" - exit 1 -fi - -echo "==== Start Hermes ====" -cargo run --bin hermes -- --config config_for_namada.toml \ - start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & - -echo "~~ Transfer 200 apfel from Namada to Gaia ~~" -${NAMADAC} --base-dir ${base_dir} ibc-transfer \ - --source relayer \ - --receiver ${gaia_user} \ - --token apfel \ - --amount 200 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 150000 \ - --node ${NAMADA_LEDGER_ADDR} - -# wait for relaying -sleep 15 - -echo "==== Balances on Namada ====" -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token apfel \ - --owner relayer \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [ "${balance}" != "apfel: 800" ]; then - echo "The balance on Namada is wrong" - exit 1 -fi - -echo "==== Balances on Gaia ====" -balance=$(gaiad query bank balances ${gaia_user}) -echo "${balance}" -balance=$(echo "${balance}" | grep ibc -B 1 | tr -d '\n') -if [[ "${balance}" != *"- amount: \"200000000\" denom: ibc/"* ]]; then - echo "The balance on Gaia is wrong" - exit 1 -fi - -echo "~~ Generate the proof from Namada for the following transfer ~~" -resp=$(${NAMADAC} --base-dir ${base_dir} ibc-gen-shielding \ - --output-folder-path ${base_dir} \ - --target ${payment_addr_a} \ - --token samoleans \ - --amount 10 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${NAMADA_LEDGER_ADDR}) -memo_path=$(echo $resp | awk '{print $8}') - -echo "~~ Shielding transfer 10 samoleans from Gaia to Namada ~~" -cargo run --bin hermes -- --config config_for_namada.toml \ - tx ft-transfer \ - --dst-chain ${chain_id} \ - --src-chain gaia-0 \ - --src-port transfer \ - --src-channel channel-0 \ - --amount 10 \ - --receiver ${payment_addr_a} \ - --denom samoleans \ - --timeout-height-offset 1000 \ - --memo $(cat ${memo_path}) - -# wait for relaying -sleep 40 - -echo "==== Balance of shielded_a on Namada ====" -${NAMADAC} --base-dir ${base_dir} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${NAMADA_LEDGER_ADDR} -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_A} \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 10" ]]; then - echo "The balance of shielded_a on Namada is wrong" - exit 1 -fi - -echo "==== Balances on Gaia ====" -balance=$(gaiad query bank balances ${gaia_user}) -echo "${balance}" -balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') -if [ "${balance}" != "- amount: \"9940\" denom: samoleans" ]; then - echo "The balance on Gaia is wrong" - exit 1 -fi - -echo "~~ Shielded transfer 5 apfel from shielded_a to shielded_b ~~" -${NAMADAC} --base-dir ${base_dir} transfer \ - --source ${SHIELDED_ALIAS_A} \ - --target ${payment_addr_b} \ - --token ${IBC_TOKEN} \ - --amount 5 \ - --signing-keys relayer \ - --node ${NAMADA_LEDGER_ADDR} - -echo "==== Balance of shielded_a on Namada ====" -${NAMADAC} --base-dir ${base_dir} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ - --node ${NAMADA_LEDGER_ADDR} -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_A} \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 5" ]]; then - echo "The balance of shielded_a on Namada is wrong" - exit 1 -fi - -echo "==== Balance of shielded_b on Namada ====" -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B} \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 5"* ]]; then - echo "The balance of shielded_b on Namada is wrong" - exit 1 -fi - -echo "~~ Transfer back 5 samoleans from Namada to Gaia ~~" -${NAMADAC} --base-dir ${base_dir} ibc-transfer \ - --source ${SHIELDED_ALIAS_B} \ - --receiver ${gaia_user} \ - --token ${IBC_TOKEN} \ - --amount 5 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 150000 \ - --node ${NAMADA_LEDGER_ADDR} - -# wait for relaying -sleep 40 - -echo "==== Balances of shielded_a on Namada ====" -${NAMADAC} --base-dir ${base_dir} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} ${SHIELDED_ALIAS_B} \ - --node ${NAMADA_LEDGER_ADDR} -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_A} \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 5"* ]]; then - echo "The balance of shielded_a on Namada is wrong" - exit 1 -fi - -echo "==== Balances of shielded_b on Namada ====" -balance=$(${NAMADAC} --base-dir ${base_dir} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B} \ - --node ${NAMADA_LEDGER_ADDR}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 0"* ]]; then - echo "The balance of shielded_b on Namada is wrong" - exit 1 -fi - -echo "==== Balances on Gaia ====" -balance=$(gaiad query bank balances ${gaia_user}) -echo "${balance}" -balance=$(echo "${balance}" | grep samoleans -B 1 | tr -d '\n') -if [ "${balance}" != "- amount: \"9945\" denom: samoleans" ]; then - echo "The balance on Gaia is wrong" - exit 1 -fi - -killall hermes -killall gaiad -killall namadan diff --git a/e2e/namada-simple-transfers b/e2e/namada-simple-transfers deleted file mode 100755 index 444273a720..0000000000 --- a/e2e/namada-simple-transfers +++ /dev/null @@ -1,469 +0,0 @@ -#!/bin/bash - -# This script executes simple transfers between Namada instances locally -# `make build` and `make build-wasm-scripts` on Namada directory in advance -# Run with `namada-simple-transfers ${namada_dir}` - -set -e - -NAMADA_DIR=$1 -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi -cd $(dirname $0) -HERMES_DIR=${PWD%/e2e*} - -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -DATA_DIR="${HERMES_DIR}/data" -IBC_TOKEN="transfer/channel-0/apfel" - -SHIELDED_ALIAS_A="shielded_a" -SHIELDED_ALIAS_B="shielded_b" -SHIELDED_ALIAS_B_2="shielded_b_2" -PAYMENT_ALIAS_A="payment_a" -PAYMENT_ALIAS_B="payment_b" -PAYMENT_ALIAS_B_2="payment_b_2" -LEDGER_ADDR_A="http://127.0.0.1:27657" -LEDGER_ADDR_B="http://127.0.0.1:28657" -INITIAL_BALANCE=5000 - -function init_relayer_balance() { - local suffix=$1 - local ledger_addr=$2 - - local base_dir=${DATA_DIR}/namada-${suffix} - - ${NAMADAC} --base-dir ${base_dir} \ - transparent-transfer \ - --source albert \ - --target relayer \ - --token nam \ - --amount ${INITIAL_BALANCE} \ - --node ${ledger_addr} -} - -function wait_for_relaying() { - local chain_id=$1 - - for i in {1..20} - do - result=$(cargo run --bin hermes -- --config config_for_namada.toml \ - query packet pending \ - --chain ${chain_id} \ - --channel channel-0 \ - --port transfer) - - echo ${result} - if [[ "${result}" =~ "=" ]]; - then - echo "Waiting for packet relaying..." - sleep 5 - else - echo "All packets have been relayed!" - break - fi - done -} - -# ==== main ==== - -# Run 2 Namada chains -${HERMES_DIR}/scripts/setup-namada ${NAMADA_DIR} -sleep 5 - -cd ${HERMES_DIR} -ids=$(grep "id" config_for_namada.toml | awk -F"'" '/^id/ {print $2}') -chain_a=$(echo ${ids} | awk '{print $1}') -chain_b=$(echo ${ids} | awk '{print $2}') - -# Initialize the balances -init_relayer_balance "a" ${LEDGER_ADDR_A} -sleep 5 -init_relayer_balance "b" ${LEDGER_ADDR_B} - -# Create a channel -cargo run --bin hermes -- --config config_for_namada.toml \ - create channel \ - --a-chain ${chain_a} \ - --b-chain ${chain_b} \ - --a-port transfer \ - --b-port transfer \ - --new-client-connection --yes - -base_dir_a=${DATA_DIR}/namada-a -base_dir_b=${DATA_DIR}/namada-b - -# Setup shielded keys -${NAMADAW} --base-dir ${base_dir_a} gen --shielded --alias ${SHIELDED_ALIAS_A} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_a} gen-payment-addr --alias ${PAYMENT_ALIAS_A} --key ${SHIELDED_ALIAS_A} -payment_addr_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias ${PAYMENT_ALIAS_A} | awk -v paymentAlias="${PAYMENT_ALIAS_A}" '{if($1 ~ paymentAlias) {print $2}}') - -${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B} --key ${SHIELDED_ALIAS_B} -payment_addr_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B} | awk -v paymentAlias="${PAYMENT_ALIAS_B}" '{if($1 ~ paymentAlias) {print $2}}') - -${NAMADAW} --base-dir ${base_dir_b} gen --shielded --alias ${SHIELDED_ALIAS_B_2} --unsafe-dont-encrypt -${NAMADAW} --base-dir ${base_dir_b} gen-payment-addr --alias ${PAYMENT_ALIAS_B_2} --key ${SHIELDED_ALIAS_B_2} -payment_addr_b_2=$(${NAMADAW} --base-dir ${base_dir_b} find --alias ${PAYMENT_ALIAS_B_2} | awk -v paymentAlias="${PAYMENT_ALIAS_B_2}" '{if($1 ~ paymentAlias) {print $2}}') - -# Faucet apfel on chain A and chain B -${NAMADAC} --base-dir ${base_dir_a} transparent-transfer \ - --source albert \ - --target relayer \ - --token apfel \ - --amount 1000 \ - --signing-keys albert-key \ - --node ${LEDGER_ADDR_A} - -${NAMADAC} --base-dir ${base_dir_b} transparent-transfer \ - --source albert \ - --target relayer \ - --token apfel \ - --amount 1000 \ - --signing-keys albert-key \ - --node ${LEDGER_ADDR_B} - -# Faucet apfel for shielded_a -${NAMADAC} --base-dir ${base_dir_a} shield \ - --source albert \ - --target ${payment_addr_a} \ - --token apfel \ - --amount 1000 \ - --signing-keys albert-key \ - --node ${LEDGER_ADDR_A} -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} - -# Get the receiver addresses -receiver_a=$(${NAMADAW} --base-dir ${base_dir_a} find --alias relayer | awk '/"relayer":/{print $3}') -receiver_b=$(${NAMADAW} --base-dir ${base_dir_b} find --alias relayer | awk '/"relayer":/{print $3}') - -echo "~~ Transfer 100 apfel from chain A to chain B ~~" -${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ - --source relayer \ - --receiver ${receiver_b} \ - --token apfel \ - --amount 100 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_A} - -# packet-recv -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-recv \ - --dst-chain ${chain_b} \ - --src-chain ${chain_a} \ - --src-port transfer \ - --src-channel channel-0 - -# packet-ack -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-ack \ - --dst-chain ${chain_a} \ - --src-chain ${chain_b} \ - --src-port transfer \ - --src-channel channel-0 - -echo "==== Balances on chain A ====" -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner relayer \ - --node ${LEDGER_ADDR_A}) -echo ${balance} -if [ "${balance}" != "apfel: 900" ]; then - echo "The balance on chain A is wrong" - exit 1 -fi - -echo "==== Balances on chain B ====" -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${LEDGER_ADDR_B}) -echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 100000000" ]; then - echo "The balance on chain B is wrong" - exit 1 -fi - -echo "~~ Transfer back 50 apfel from chain B to chain A ~~" -${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ - --source relayer \ - --receiver ${receiver_a} \ - --token ${IBC_TOKEN} \ - --amount 50000000 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_B} - -# packet-recv -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-recv \ - --dst-chain ${chain_a} \ - --src-chain ${chain_b} \ - --src-port transfer \ - --src-channel channel-0 - -# packet-ack -cargo run --bin hermes -- --config config_for_namada.toml \ - tx packet-ack \ - --dst-chain ${chain_b} \ - --src-chain ${chain_a} \ - --src-port transfer \ - --src-channel channel-0 - -echo "==== Balances on chain A ====" -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner relayer \ - --node ${LEDGER_ADDR_A}) -echo ${balance} -if [ "${balance}" != "apfel: 950" ]; then - echo "The balance on chain A is wrong" - exit 1 -fi - -echo "==== Balances on chain B ====" -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${LEDGER_ADDR_B}) -echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 50000000" ]; then - echo "The balance on chain B is wrong" - exit 1 -fi - -echo "==== Start Hermes ====" -cargo run --bin hermes -- --config config_for_namada.toml \ - start > ${HERMES_DIR}/e2e/hermes.log 2>&1 & - -echo "~~ Transfer 200 apfel from chain A to chain B ~~" -${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ - --source relayer \ - --receiver ${receiver_b} \ - --token apfel \ - --amount 200 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_A} - -echo "~~ Transfer 300 apfel from chain B to chain A ~~" -${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ - --source relayer \ - --receiver ${receiver_a} \ - --token apfel \ - --amount 300 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_B} - -wait_for_relaying ${chain_a} - -echo "==== Balances on chain A ====" -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner relayer \ - --node ${LEDGER_ADDR_A}) -echo ${balance} -if [ "${balance}" != "apfel: 750" ]; then - echo "The balance on chain A is wrong" - exit 1 -fi - -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${LEDGER_ADDR_A}) -echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 300000000" ]; then - echo "The balance on chain A is wrong" - exit 1 -fi - -echo "==== Balances on chain B ====" -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token apfel \ - --owner relayer \ - --node ${LEDGER_ADDR_B}) -echo ${balance} -if [ "${balance}" != "apfel: 700" ]; then - echo "The balance on chain B is wrong" - exit 1 -fi - -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner relayer \ - --node ${LEDGER_ADDR_B}) -echo ${balance} -if [ "${balance}" != "${IBC_TOKEN}: 250000000" ]; then - echo "The balance on chain B is wrong" - exit 1 -fi - -echo "==== Shielded transfer tests ====" - -echo "~~ Generate the proof from chain_b for the following transfer ~~" -apfel_addr=$(${NAMADAW} --base-dir ${base_dir_a} find --alias apfel | awk '/"apfel":/{print $3}') -resp=$(${NAMADAC} --base-dir ${base_dir_b} ibc-gen-shielding \ - --output-folder-path ${base_dir_b} \ - --target ${payment_addr_b} \ - --token ${apfel_addr} \ - --amount 100000000 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${LEDGER_ADDR_B}) -memo_path=$(echo $resp | awk '{print $8}') - -echo "~~ Shielded transfer 100 apfel from chain A to chain B ~~" -${NAMADAC} --base-dir ${base_dir_a} ibc-transfer \ - --source ${SHIELDED_ALIAS_A} \ - --receiver ${payment_addr_b} \ - --token apfel \ - --amount 100 \ - --channel-id channel-0 \ - --ibc-shielding-data ${memo_path} \ - --gas-payer relayer \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_A} - -wait_for_relaying ${chain_a} - -echo "==== Balance of shielded_a on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A}) -echo "${balance}" -if [[ "${balance}" != *"apfel: 900" ]]; then - echo "The balance of shielded_a on chain A is wrong" - exit 1 -fi - -echo "==== Balance of shielded_b on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B} -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 100000000" ]]; then - echo "The balance of shielded_b on chain B is wrong" - exit 1 -fi - -echo "~~ Shielded transfer 50 apfel from shielded_b to shielded_b_2 ~~" -${NAMADAC} --base-dir ${base_dir_b} transfer \ - --source ${SHIELDED_ALIAS_B} \ - --target ${payment_addr_b_2} \ - --token ${IBC_TOKEN} \ - --amount 50000000 \ - --signing-keys relayer \ - --node ${LEDGER_ADDR_B} - -echo "==== Balance of shielded_b on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B} -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then - echo "The balance of shielded_b on chain B is wrong" - exit 1 -fi - -echo "==== Balance of shielded_b_2 on chain B ====" -${NAMADAC} --base-dir ${base_dir_b} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_B_2} \ - --node ${LEDGER_ADDR_B} -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B_2} \ - --node ${LEDGER_ADDR_B}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then - echo "The balance of shielded_b_2 on chain B is wrong" - exit 1 -fi - -echo "~~ Generate the proof from chain A for the following transfer ~~" -ibc_token="transfer/channel-0/${apfel_addr}" -resp=$(${NAMADAC} --base-dir ${base_dir_a} ibc-gen-shielding \ - --output-folder-path ${base_dir_a} \ - --target ${payment_addr_a} \ - --token ${ibc_token} \ - --amount 50 \ - --port-id transfer \ - --channel-id channel-0 \ - --node ${LEDGER_ADDR_A}) -memo_path=$(echo $resp | awk '{print $8}') - -echo "~~ Transfer back 50 apfel from shielded_b_2 on chain B to chain A ~~" -${NAMADAC} --base-dir ${base_dir_b} ibc-transfer \ - --source ${SHIELDED_ALIAS_B_2} \ - --receiver ${payment_addr_a} \ - --token ${IBC_TOKEN} \ - --amount 50000000 \ - --signing-keys relayer \ - --channel-id channel-0 \ - --ibc-shielding-data ${memo_path} \ - --gas-limit 200000 \ - --node ${LEDGER_ADDR_B} - -wait_for_relaying ${chain_a} - -echo "==== Balances of shielded_a on chain A ====" -${NAMADAC} --base-dir ${base_dir_a} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A} -balance=$(${NAMADAC} --base-dir ${base_dir_a} balance \ - --token apfel \ - --owner ${SHIELDED_ALIAS_A} \ - --node ${LEDGER_ADDR_A}) -echo "${balance}" -if [[ "${balance}" != *"apfel: 950" ]]; then - echo "The balance of shielded_a on chain A is wrong" - exit 1 -fi - -echo "==== Balances of shielded_b on chain B ====" -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B} \ - --node ${LEDGER_ADDR_B}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 50000000" ]]; then - echo "The balance of shielded_b on chain B is wrong" - exit 1 -fi - -echo "==== Balance of shielded_b_2 on chain B ====" -balance=$(${NAMADAC} --base-dir ${base_dir_b} balance \ - --token ${IBC_TOKEN} \ - --owner ${SHIELDED_ALIAS_B_2} \ - --node ${LEDGER_ADDR_B}) -echo "${balance}" -if [[ "${balance}" != *"${IBC_TOKEN}: 0" ]]; then - echo "The balance of shielded_b_2 on chain B is wrong" - exit 1 -fi - -killall hermes -killall namadan diff --git a/e2e/namada-stargaze-transfer b/e2e/namada-stargaze-transfer deleted file mode 100755 index 203c76db29..0000000000 --- a/e2e/namada-stargaze-transfer +++ /dev/null @@ -1,268 +0,0 @@ -#!/bin/bash - -# This script tests NFT transfers between a local Namada and Stargaze testnet -# Need to create an account and an NFT on Stargaze testnet. -# `make build` and `make build-wasm-scripts` on Namada directory, -# set up a local Namada with `scripts/setup-namada-single-node`, -# edit `config_namada_stargaze.toml` -# Then Run with `namada-stargaze-transfers ${namada_dir}` -# -# Set a key as "relayer" -# starsd keys add relayer --recover -# -# Add Stargaze key as a relayer -#cargo run -q --bin hermes -- --config config_namada_stargaze.toml \ -# keys add --chain ${STARGAZE_CHAIN_ID} --mnemonic-file /dev/stdin - -set -ex - - -NAMADA_DIR=$1 -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi - -cd $(dirname $0) -HERMES_DIR=${PWD%/e2e*} - -# edit for your environment -NAMADA_CHAIN_ID="namada-test.8adce119ebc4d7efe9" -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAN="${NAMADA_DIR}/target/debug/namadan" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -DATA_DIR="${HERMES_DIR}/data" -NAMADA_LEDGER_ADDR="http://127.0.0.1:27657" - -TOKEN_ID="5" - -CONFIG_FILE="${HERMES_DIR}/config_namada_stargaze.toml" - -STARGAZE_CHAIN_ID="elgafar-1" -ICS721_CONTRACT="stars1ve46fjrhcrum94c7d8yc2wsdz8cpuw73503e8qn9r44spr6dw0lsvmvtqh" -SG721_CONTRACT="stars1exh83tyv29g374yhs6cktwsd2sen50gjpuq2jhfn6p7e6nqsejfq2p0v7z" -STARGAZE_NODE="https://rpc.elgafar-1.stargaze-apis.com:443" -STARGAZE_PORT="wasm.${ICS721_CONTRACT}" - -TX_ARGS="--from relayer --node ${STARGAZE_NODE} --chain-id ${STARGAZE_CHAIN_ID} --gas auto --gas-prices 0.01ustars --gas-adjustment 1.1 -y" - -NAMADA_BASE="${DATA_DIR}/namada" -SHIELDED_ALIAS="shielded-1" -PAYMENT_ALIAS="payment-1" - -SHIELDED_ALIAS_2="shielded-2" -PAYMENT_ALIAS_2="payment-2" - -#### main #### -echo "==== Check the minted NFT on Stargaze ====" -starsd query wasm contract-state smart ${SG721_CONTRACT} \ - "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ - --node ${STARGAZE_NODE} - -# Create a channel -resp=$(cargo run --bin hermes -- --config ${CONFIG_FILE} \ - create channel \ - --a-chain ${NAMADA_CHAIN_ID} \ - --b-chain ${STARGAZE_CHAIN_ID} \ - --a-port nft-transfer \ - --b-port ${STARGAZE_PORT} \ - --channel-version ics721-1 \ - --new-client-connection --yes) - -namada_channel=$(echo "$resp" | grep "a_side" -A 19 | grep "channel-" | sed 's/"//g' | awk -F',' '{print $1}' | sed 's/ //g') -stargaze_channel=$(echo "$resp" | grep "b_side" -A 19 | grep "channel-" | sed 's/"//g' | awk -F',' '{print $1}' | sed 's/ //g') - -echo "==== Send the NFT from Stargaze to Namada ====" -current_height=$(starsd status --node ${STARGAZE_NODE} | jq .SyncInfo.latest_block_height | sed 's/"//g') -timeout_height=$((${current_height} + 100)) -namada_receiver=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias relayer | awk '/"relayer":/{print $3}') -msg="{\"receiver\": \"${namada_receiver}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}}" -encoded_msg=$(echo ${msg} | base64) -starsd tx wasm execute ${SG721_CONTRACT} \ - "{\"send_nft\": {\"contract\":\"${ICS721_CONTRACT}\", \"token_id\": \"${TOKEN_ID}\", \"msg\": \"${encoded_msg}\"}}" \ - ${TX_ARGS} - -sleep 5 - -echo "==== Packet relaying ====" -cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ - --chain ${STARGAZE_CHAIN_ID} \ - --port wasm.${ICS721_CONTRACT} \ - --channel ${stargaze_channel} - -echo "==== Check the escrowed NFT on Stargaze ====" -starsd query wasm contract-state smart ${SG721_CONTRACT} \ - "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ - --node ${STARGAZE_NODE} - -echo "==== Check the NFT on Namada ====" -token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner relayer \ - --node ${NAMADA_LEDGER_ADDR} - -echo "==== Send back the NFT from Namada to Stargaze ====" -stargaze_receiver=$(starsd keys show relayer -a) -${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ - --source relayer \ - --receiver ${stargaze_receiver} \ - --token ${token}\ - --amount 1 \ - --signing-keys relayer \ - --channel-id ${namada_channel} \ - --port-id nft-transfer \ - --gas-limit 150000 \ - --node ${NAMADA_LEDGER_ADDR} - -sleep 5 - -echo "==== Packet relaying ====" -cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ - --chain ${STARGAZE_CHAIN_ID} \ - --port wasm.${ICS721_CONTRACT} \ - --channel ${stargaze_channel} - -echo "==== Check the NFT on Stargaze ====" -starsd query wasm contract-state smart ${SG721_CONTRACT} \ - "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ - --node ${STARGAZE_NODE} - -echo "==== Check the NFT on Namada ====" -token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner relayer \ - --node ${NAMADA_LEDGER_ADDR} - - -echo "======== Try shielded transfer ========" - -# setup shielded keys for Namada -${NAMADAW} --base-dir ${NAMADA_BASE} gen --shielded --alias ${SHIELDED_ALIAS} \ - --unsafe-dont-encrypt --alias-force -${NAMADAW} --base-dir ${NAMADA_BASE} gen-payment-addr --alias ${PAYMENT_ALIAS} \ - --key ${SHIELDED_ALIAS} -payment_addr=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias ${PAYMENT_ALIAS} \ - | awk -v paymentAlias="${PAYMENT_ALIAS}" '{if($1 ~ paymentAlias) {print $2}}') - -# another one -${NAMADAW} --base-dir ${NAMADA_BASE} gen --shielded --alias ${SHIELDED_ALIAS_2} \ - --unsafe-dont-encrypt --alias-force -${NAMADAW} --base-dir ${NAMADA_BASE} gen-payment-addr --alias ${PAYMENT_ALIAS_2} \ - --key ${SHIELDED_ALIAS_2} -payment_addr_2=$(${NAMADAW} --base-dir ${NAMADA_BASE} find --alias ${PAYMENT_ALIAS_2} \ - | awk -v paymentAlias="${PAYMENT_ALIAS_2}" '{if($1 ~ paymentAlias) {print $2}}') - -echo "~~ Generate the proof from Namada for the following transfer ~~" -token="${SG721_CONTRACT}/${TOKEN_ID}" -resp=$(${NAMADAC} --base-dir ${NAMADA_BASE} ibc-gen-shielding \ - --output-folder-path ${NAMADA_BASE} \ - --target ${payment_addr} \ - --token "${token}" \ - --amount 1 \ - --port-id nft-transfer \ - --channel-id ${namada_channel} \ - --node ${NAMADA_LEDGER_ADDR}) -memo_path=$(echo ${resp} | awk '{print $8}') -memo=$(cat ${memo_path}) - -echo "==== Shielding transfer from Stargaze to Namada ====" -current_height=$(starsd status --node ${STARGAZE_NODE} | jq .SyncInfo.latest_block_height | sed 's/"//g') -timeout_height=$((${current_height} + 100)) -msg="{\"receiver\": \"${payment_addr}\", \"channel_id\": \"${stargaze_channel}\", \"timeout\": {\"block\": { \"revision\": 0, \"height\": ${timeout_height}}}, \"memo\": \"${memo}\"}" -encoded_msg=$(echo ${msg} | base64) -starsd tx wasm execute ${SG721_CONTRACT} \ - "{\"send_nft\": {\"contract\":\"${ICS721_CONTRACT}\", \"token_id\": \"${TOKEN_ID}\", \"msg\": \"${encoded_msg}\"}}" \ - ${TX_ARGS} - -sleep 5 - -echo "==== Packet relaying ====" -cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ - --chain ${STARGAZE_CHAIN_ID} \ - --port wasm.${ICS721_CONTRACT} \ - --channel ${stargaze_channel} - -echo "==== Check the escrowed NFT on Stargaze ====" -starsd query wasm contract-state smart ${SG721_CONTRACT} \ - "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ - --node ${STARGAZE_NODE} - -echo "==== Check the NFT on Namada ====" -${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS} \ - --node ${NAMADA_LEDGER_ADDR} -token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner ${SHIELDED_ALIAS} \ - --node ${NAMADA_LEDGER_ADDR} - -echo "==== Shielded transfer in Namada ====" -${NAMADAC} --base-dir ${NAMADA_BASE} transfer \ - --source ${SHIELDED_ALIAS} \ - --target ${PAYMENT_ALIAS_2} \ - --token ${token}\ - --amount 1 \ - --signing-keys relayer \ - --node ${NAMADA_LEDGER_ADDR} - -echo "==== Check the shielded NFT on Namada ====" -echo "== shielded-1 balance ==" -${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS} ${SHIELDED_ALIAS_2}\ - --node ${NAMADA_LEDGER_ADDR} -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner ${SHIELDED_ALIAS} \ - --node ${NAMADA_LEDGER_ADDR} - -echo "== shielded-2 balance ==" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner ${SHIELDED_ALIAS_2} \ - --node ${NAMADA_LEDGER_ADDR} - -echo "==== Unshielding transfer from Namada to Stargaze ====" -${NAMADAC} --base-dir ${NAMADA_BASE} ibc-transfer \ - --source ${SHIELDED_ALIAS_2} \ - --receiver ${stargaze_receiver} \ - --token ${token}\ - --amount 1 \ - --signing-keys relayer \ - --channel-id ${namada_channel} \ - --port-id nft-transfer \ - --gas-limit 150000 \ - --node ${NAMADA_LEDGER_ADDR} - -sleep 5 - -echo "==== Packet relaying ====" -cargo run --bin hermes -- --config ${CONFIG_FILE} clear packets \ - --chain ${STARGAZE_CHAIN_ID} \ - --port wasm.${ICS721_CONTRACT} \ - --channel ${stargaze_channel} - -echo "==== Check the shielded NFT on Stargaze ====" -starsd query wasm contract-state smart ${SG721_CONTRACT} \ - "{\"owner_of\": {\"token_id\": \"${TOKEN_ID}\"}}" \ - --node ${STARGAZE_NODE} - -echo "==== Check the NFT on Namada ====" -${NAMADAC} --base-dir ${NAMADA_BASE} shielded-sync \ - --viewing-keys ${SHIELDED_ALIAS} \ - --node ${NAMADA_LEDGER_ADDR} -token="nft-transfer/${namada_channel}/${SG721_CONTRACT}/${TOKEN_ID}" -echo "== shielded-1 balance ==" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner ${SHIELDED_ALIAS} \ - --node ${NAMADA_LEDGER_ADDR} - -echo "== shielded-2 balance ==" -${NAMADAC} --base-dir ${NAMADA_BASE} balance \ - --token ${token} \ - --owner ${SHIELDED_ALIAS_2} \ - --node ${NAMADA_LEDGER_ADDR} diff --git a/scripts/setup-namada b/scripts/setup-namada deleted file mode 100755 index 2652d23297..0000000000 --- a/scripts/setup-namada +++ /dev/null @@ -1,232 +0,0 @@ -#!/bin/bash - -# This script sets up 2 Namada chains locally -# `make build` and `make build-wasm-scripts` on Namada directory in advance -# Run with `setup-namada ${namada_dir}` - -set -e - - -# Get absolute path to Namada directory -SCRIPT_DIR=$(cd $(dirname $0) && pwd) -NAMADA_DIR=$(cd $1 && pwd) -cd $SCRIPT_DIR -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi - -HERMES_DIR=${PWD%/scripts*} - -# edit for your environment -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAN="${NAMADA_DIR}/target/debug/namadan" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" -CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" -DATA_DIR="${HERMES_DIR}/data" - -LEDGER_ADDR_A="http://127.0.0.1:27657" -LEDGER_ADDR_B="http://127.0.0.1:28657" - -HERMES_CONFIG_TEMPLATE=" -[global] -log_level = 'debug' - -[mode] - -[mode.clients] -enabled = true -refresh = true -misbehaviour = true - -[mode.connections] -enabled = false - -[mode.channels] -enabled = false - -[mode.packets] -enabled = true -clear_interval = 10 -clear_on_start = false -tx_confirmation = true - -[telemetry] -enabled = false -host = '127.0.0.1' -port = 3001 - -[[chains]] -id = '_CHAIN_ID_A_' -type = 'Namada' -rpc_addr = 'http://127.0.0.1:27657' -grpc_addr = 'http://127.0.0.1:9090' -event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } -account_prefix = '' -key_name = 'relayer' -store_prefix = 'ibc' -gas_price = { price = 0.000001, denom = '_FEE_TOKEN_A_' } - -[[chains]] -id = '_CHAIN_ID_B_' -type = 'Namada' -rpc_addr = 'http://127.0.0.1:28657' -grpc_addr = 'http://127.0.0.1:9090' -event_source = { mode = 'push', url = 'ws://127.0.0.1:28657/websocket', batch_delay = '500ms' } -account_prefix = '' -key_name = 'relayer' -store_prefix = 'ibc' -gas_price = { price = 0.000001, denom = '_FEE_TOKEN_B_' } -" - -function make_genesis() { - local suffix=$1 - local base_dir=${DATA_DIR}/namada-${suffix} - - mkdir -p ${base_dir}/templates - cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates - sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml - sed -i .bak "s/default_mint_limit = .*/default_mint_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml - sed -i .bak "s/default_per_epoch_throughput_limit = .*/default_per_epoch_throughput_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml - - mkdir ${base_dir}/pre-genesis - cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis -} - -function init_network() { - local suffix=$1 - local base_dir=${DATA_DIR}/namada-${suffix} - local validator_base_dir=${base_dir}/setup/validator-0 - - mkdir -p ${base_dir}/genesis - local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ - ${NAMADAC} utils init-network \ - --chain-prefix namada-${suffix} \ - --genesis-time "2023-01-01T00:00:00.000000000+00:00" \ - --templates-path ${base_dir}/templates \ - --wasm-checksums-path ${CHECKSUM_PATH} \ - --archive-dir ${base_dir}/genesis \ - --wasm-dir ${NAMADA_DIR}/wasm \ - | awk '$1 == "Derived" {print $4}') - - mkdir -p ${validator_base_dir}/pre-genesis/validator-0 - cp ${BASE_GENESIS_DIR}/src/pre-genesis/validator-0/*.toml ${validator_base_dir}/pre-genesis/validator-0 - - NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ - ${NAMADAC} --base-dir ${validator_base_dir} \ - utils join-network \ - --chain-id ${chain_id} \ - --genesis-validator validator-0 \ - --pre-genesis-path \ - ${base_dir}/pre-genesis/validator-0 - - rm -rf ${base_dir}/${chain_id} - # for non-validator - NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ - ${NAMADAC} --base-dir ${base_dir} \ - utils join-network \ - --add-persistent-peers \ - --chain-id ${chain_id} -} - -function init_relayer_acc() { - local suffix=$1 - local chain_id=$2 - - local base_dir=${DATA_DIR}/namada-${suffix} - - ${NAMADAW} --base-dir ${base_dir} \ - gen --alias relayer --unsafe-dont-encrypt -} - -function add_relayer_key() { - local suffix=$1 - local chain_id=$2 - - local base_dir=${DATA_DIR}/namada-${suffix} - - cargo run --bin hermes -- --config ${HERMES_DIR}/config_for_namada.toml \ - keys add \ - --chain ${chain_id} \ - --key-file ${base_dir}/${chain_id}/wallet.toml \ - --overwrite -} - -# ==== main ==== - -mkdir -p ${DATA_DIR} - -# for chain A -make_genesis "a" -result=$(init_network "a") -chain_id_a=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') - -${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ - ledger > ${DATA_DIR}/namada-a/namada.log 2>&1 & -sleep 5 - -# shutdown temporarily to bootstrap chain-b -killall namadan - -# for chain B -make_genesis "b" -result=$(init_network "b") -chain_id_b=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') - -${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ - ledger > ${DATA_DIR}/namada-b/namada.log 2>&1 & -sleep 5 - -# shutdown temporarily to bootstrap chain-b -killall namadan - -# Edit chain-b addresses -sed -i .bak \ - -e "s/:27656/:28656/" \ - -e "s/:27657/:28657/" \ - -e "s/:27658/:28658/" \ - ${DATA_DIR}/namada-b/setup/validator-0/${chain_id_b}/config.toml -sed -i .bak \ - -e "s/:27656/:28656/" \ - -e "s/:27657/:28657/" \ - -e "s/:27658/:28658/" \ - ${DATA_DIR}/namada-b/setup/validator-0/${chain_id_b}/cometbft/config/config.toml - -# Restart each chain -${NAMADAN} --base-dir ${DATA_DIR}/namada-a/setup/validator-0 \ - ledger > ${DATA_DIR}/namada-a/namada.log 2>&1 & -echo "Namada chain A's PID = $!" -sleep 5 - -${NAMADAN} --base-dir ${DATA_DIR}/namada-b/setup/validator-0 \ - ledger > ${DATA_DIR}/namada-b/namada.log 2>&1 & -echo "Namada chain B's PID = $!" -sleep 5 - -# Create "relayer" account on each chain -init_relayer_acc "a" ${chain_id_a} -init_relayer_acc "b" ${chain_id_b} - -# Get token addresses -nam_addr_a=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-a find --alias nam | awk '/"nam":/{print $3}') -nam_addr_b=$(${NAMADAW} --base-dir ${DATA_DIR}/namada-b find --alias nam | awk '/"nam":/{print $3}') - -# Make Hermes config -cd ${HERMES_DIR} -echo "${HERMES_CONFIG_TEMPLATE}" \ - | sed -e "s/_CHAIN_ID_A_/${chain_id_a}/g" -e "s/_CHAIN_ID_B_/${chain_id_b}/g" \ - | sed -e "s/_FEE_TOKEN_A_/${nam_addr_a}/g" -e "s/_FEE_TOKEN_B_/${nam_addr_b}/g" \ - > ${HERMES_DIR}/config_for_namada.toml - -# Add namada keys to Hermes -add_relayer_key "a" ${chain_id_a} -add_relayer_key "b" ${chain_id_b} - -echo "2 Namada chains are running" -echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" - -echo "You also want to run the following lines:" -echo "export CHAIN_A_ID=${chain_id_a}" -echo "export CHAIN_B_ID=${chain_id_b}" diff --git a/scripts/setup-namada-single-node b/scripts/setup-namada-single-node deleted file mode 100755 index dd32c3a1fb..0000000000 --- a/scripts/setup-namada-single-node +++ /dev/null @@ -1,177 +0,0 @@ -#!/bin/bash - -# This script sets up 1 Namada chain locally -# `make build` and `make build-wasm-scripts` on Namada directory in advance -# Run with `setup-namada-single-node ${namada_dir}` - -set -e - -NAMADA_DIR=$1 -if [ -z "${NAMADA_DIR}" ] -then - echo "ERROR: Namada directory should be given" - exit 1 -fi -cd $(dirname $0) -HERMES_DIR=${PWD%/scripts*} - -# edit for your environment -NAMADAC="${NAMADA_DIR}/target/debug/namadac" -NAMADAN="${NAMADA_DIR}/target/debug/namadan" -NAMADAW="${NAMADA_DIR}/target/debug/namadaw" -BASE_GENESIS_DIR="${NAMADA_DIR}/genesis/localnet" -CHECKSUM_PATH="${NAMADA_DIR}/wasm/checksums.json" -DATA_DIR="${HERMES_DIR}/data" - -LEDGER_ADDR="http://127.0.0.1:27657" - -HERMES_CONFIG_TEMPLATE=" -[global] -log_level = 'debug' - -[mode] - -[mode.clients] -enabled = true -refresh = true -misbehaviour = true - -[mode.connections] -enabled = false - -[mode.channels] -enabled = false - -[mode.packets] -enabled = true -clear_interval = 10 -clear_on_start = false -tx_confirmation = true - -[telemetry] -enabled = false -host = '127.0.0.1' -port = 3001 - -[[chains]] -id = '_CHAIN_ID_' -type = 'Namada' -rpc_addr = 'http://127.0.0.1:27657' -grpc_addr = 'http://127.0.0.1:9090' -event_source = { mode = 'push', url = 'ws://127.0.0.1:27657/websocket', batch_delay = '500ms' } -account_prefix = '' -key_name = 'relayer' -store_prefix = 'ibc' -gas_price = { price = 0.000001, denom = '_FEE_TOKEN_' } -" - -function make_genesis() { - local base_dir=${DATA_DIR}/namada - - mkdir -p ${base_dir}/templates - cp ${BASE_GENESIS_DIR}/*.toml ${base_dir}/templates - sed -i .bak "s/epochs_per_year = .*/epochs_per_year = 31536/g" ${base_dir}/templates/parameters.toml - sed -i .bak "s/default_mint_limit = .*/default_mint_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml - sed -i .bak "s/default_per_epoch_throughput_limit = .*/default_per_epoch_throughput_limit = \"1000000000\"/g" ${base_dir}/templates/parameters.toml - - mkdir ${base_dir}/pre-genesis - cp -r ${BASE_GENESIS_DIR}/src/pre-genesis/* ${base_dir}/pre-genesis -} - -function init_network() { - local base_dir=${DATA_DIR}/namada - local validator_base_dir=${base_dir}/setup/validator-0 - - mkdir -p ${base_dir}/genesis - local chain_id=$(NAMADA_BASE_DIR=${base_dir} \ - ${NAMADAC} utils init-network \ - --chain-prefix namada-test \ - --genesis-time "2023-01-01T00:00:00.000000000+00:00" \ - --templates-path ${base_dir}/templates \ - --wasm-checksums-path ${CHECKSUM_PATH} \ - --archive-dir ${base_dir}/genesis \ - --wasm-dir ${NAMADA_DIR}/wasm \ - | awk '$1 == "Derived" {print $4}') - - mkdir -p ${validator_base_dir}/pre-genesis/validator-0 - cp ${BASE_GENESIS_DIR}/src/pre-genesis/validator-0/*.toml ${validator_base_dir}/pre-genesis/validator-0 - - NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ - ${NAMADAC} --base-dir ${validator_base_dir} \ - utils join-network \ - --add-persistent-peers \ - --chain-id ${chain_id} \ - --genesis-validator validator-0 - - # for non-validator - rm -rf ${base_dir}/${chain_id} - NAMADA_NETWORK_CONFIGS_DIR=${base_dir}/genesis \ - ${NAMADAC} --base-dir ${base_dir} \ - utils join-network \ - --add-persistent-peers \ - --chain-id ${chain_id} -} - -function init_relayer_acc() { - local chain_id=$1 - - local base_dir=${DATA_DIR}/namada - - ${NAMADAW} --base-dir ${base_dir} \ - gen --alias relayer --unsafe-dont-encrypt -} - -function fund_relayer_acc() { - local account=$1 - local base_dir=${DATA_DIR}/namada - - ${NAMADAC} --base-dir ${base_dir} \ - transparent-transfer --node ${LEDGER_ADDR} \ - --source ${account} --target relayer --amount 10000 --token NAM -} - -function add_relayer_key() { - local chain_id=$1 - - local base_dir=${DATA_DIR}/namada - - cargo run --bin hermes -- --config ${HERMES_DIR}/config_for_namada.toml \ - keys add \ - --chain ${chain_id} \ - --key-file ${base_dir}/${chain_id}/wallet.toml \ - --overwrite -} - -# ==== main ==== - -mkdir -p ${DATA_DIR} - -make_genesis -result=$(init_network) -chain_id=$(echo "${result}" | awk '$5 == "ID" {id = $6} END {print id}') - -${NAMADAN} --base-dir ${DATA_DIR}/namada/setup/validator-0 \ - ledger > ${DATA_DIR}/namada/namada.log 2>&1 & -echo "Namada chain's PID = $!" -sleep 5 - -init_relayer_acc ${chain_id} -sleep 10 - -fund_relayer_acc "albert" ${LEDGER_ADDR} - -nam_addr=$(${NAMADAW} --base-dir ${DATA_DIR}/namada find --alias nam | awk '/"nam":/{print $3}') - -# for the relayer -cd ${HERMES_DIR} -echo "${HERMES_CONFIG_TEMPLATE}" \ - | sed -e "s/_CHAIN_ID_/${chain_id}/g" -e "s/_FEE_TOKEN_/${nam_addr}/g" \ - > ${HERMES_DIR}/config_for_namada.toml - -add_relayer_key ${chain_id} - -echo "A Namada chain is running" -echo "You can use Hermes with ${HERMES_DIR}/config_for_namada.toml" - -echo "You also want to run the following lines:" -echo "export CHAIN_ID=${chain_id}"