diff --git a/attestator/Cargo.lock b/attestator/Cargo.lock index 3becd1887..15c5f7e65 100644 --- a/attestator/Cargo.lock +++ b/attestator/Cargo.lock @@ -552,7 +552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1073,7 +1073,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1697,7 +1697,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1957,12 +1957,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "size-of" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e36eca171fddeda53901b0a436573b3f2391eaa9189d439b2bd8ea8cebd7e3" - [[package]] name = "slab" version = "0.4.11" @@ -2028,9 +2022,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "starknet-core" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ebd248c1503f89d74f98bfb38119f6421ffb81b23f3404f33b268539d0c4cb6" +checksum = "efb7212226769766c1c7d79b70f9242ffbd213290a41604ecc7e78faa0ed0deb" dependencies = [ "base64 0.21.7", "crypto-bigint", @@ -2062,9 +2056,9 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039a3bad70806b494c9e6b21c5238a6c8a373d66a26071859deb0ccca6f93634" +checksum = "1004a16c25dc6113c19d4f9d0c19ff97d85804829894bba22c0d0e9e7b249812" dependencies = [ "crypto-bigint", "hex", @@ -2081,18 +2075,18 @@ dependencies = [ [[package]] name = "starknet-curve" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcde6bd74269b8161948190ace6cf069ef20ac6e79cd2ba09b320efa7500b6de" +checksum = "22c898ae81b6409532374cf237f1bd752d068b96c6ad500af9ebbd0d9bb712f6" dependencies = [ "starknet-types-core", ] [[package]] name = "starknet-signers" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e60350b8a56451cd937bdea01bee50519a38611f277c06bc2bdc7eaf103a6a" +checksum = "d839b06d899ef3a0de11b1e9a91a14c118b1ed36830ec8e59d9fbc9a1e51976b" dependencies = [ "async-trait", "auto_impl", @@ -2107,9 +2101,9 @@ dependencies = [ [[package]] name = "starknet-types-core" -version = "0.1.9" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87af771d7f577931913089f9ca9a9f85d8a6238d59b2977f4c383d133c8abd3b" +checksum = "5fa3d91e38f091dbc543d33589eb7716bed2a8eb1c20879e484561977832b60a" dependencies = [ "blake2", "digest", @@ -2119,7 +2113,6 @@ dependencies = [ "num-integer", "num-traits", "serde", - "size-of", "zeroize", ] @@ -2176,7 +2169,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/attestator/Cargo.toml b/attestator/Cargo.toml index 4e369cb67..74c78dd29 100644 --- a/attestator/Cargo.toml +++ b/attestator/Cargo.toml @@ -17,12 +17,12 @@ authors = [ "Informal Systems " ] [workspace.dependencies] ed25519-dalek = { version = "2.2" } serde = { version = "1" } -starknet-crypto = { version = "0.7.4" } -starknet-core = { version = "0.15.0" } +starknet-crypto = { version = "0.8.1" } +starknet-core = { version = "0.16.0" } rocket = { version = "0.5.1" } ureq = { version = "3" } rand = { version = "0.9.2" } -starknet-signers = { version = "0.13.0" } +starknet-signers = { version = "0.14.0" } attestator = { version = "0.1.0" } serde_with = { version = "3" } serde_json = { version = "1" } diff --git a/cairo-contracts/.tool-versions b/cairo-contracts/.tool-versions index 48109bd0b..18aaa6d9c 100644 --- a/cairo-contracts/.tool-versions +++ b/cairo-contracts/.tool-versions @@ -1,3 +1,3 @@ -scarb 2.12.0 -starknet-foundry 0.48.0 +scarb 2.12.2 +starknet-foundry 0.49.0 universal-sierra-compiler 2.5.0 diff --git a/cairo-contracts/Scarb.lock b/cairo-contracts/Scarb.lock index 9af145cf4..c319fb63a 100644 --- a/cairo-contracts/Scarb.lock +++ b/cairo-contracts/Scarb.lock @@ -3,9 +3,9 @@ version = 1 [[package]] name = "alexandria_math" -version = "0.6.0" +version = "0.6.1" source = "registry+https://scarbs.xyz/" -checksum = "sha256:1e08ebba0ed9f7217b8efc283d2ad41730257cf41a47ca88a94fb0fafad22e9e" +checksum = "sha256:19160f0993a6643e8e71a3bce03e54a37f26b8cad94f21668d7cc9afd08d2047" [[package]] name = "cometbft" @@ -62,9 +62,9 @@ checksum = "sha256:87773ed6cd2318f169283ecbbb161890d1996260a80302d81ec45b70ee5e5 [[package]] name = "openzeppelin_testing" -version = "4.5.0" +version = "4.7.0" source = "registry+https://scarbs.xyz/" -checksum = "sha256:bacbbb3b3b79e870ac25756c9ff481056fbc1e37ee075f855fa642b5e7ca1e93" +checksum = "sha256:3ee1e2bdfb6e01e638a5d96c820dfbc92c433271c39a8ed26ad9e96ff80fef90" dependencies = [ "snforge_std", ] @@ -109,15 +109,15 @@ dependencies = [ [[package]] name = "snforge_scarb_plugin" -version = "0.48.0" +version = "0.49.0" source = "registry+https://scarbs.xyz/" -checksum = "sha256:8630dcf3fa4df36a3d45e6a2d053cf84c548ab154e829fece99373ae5852921c" +checksum = "sha256:903150f0e9542e4277d417029eea4c03af0db398b581f9f7ae3ebbdac9afc657" [[package]] name = "snforge_std" -version = "0.48.0" +version = "0.49.0" source = "registry+https://scarbs.xyz/" -checksum = "sha256:981139c83359089540652c44f4a1a888c77409eedaa148377927cc63a604b67b" +checksum = "sha256:73d73653cc4356ec51b92a6bec9d8385b20318170c2f2ade7891e5185a0e7e64" dependencies = [ "snforge_scarb_plugin", ] diff --git a/cairo-contracts/Scarb.toml b/cairo-contracts/Scarb.toml index be9865d4a..3a6812b59 100644 --- a/cairo-contracts/Scarb.toml +++ b/cairo-contracts/Scarb.toml @@ -12,8 +12,8 @@ members = [ [workspace.package] version = "0.1.0" edition = "2024_07" -cairo-version = "2.12.0" -scarb-version = "2.12.0" +cairo-version = "2.12.2" +scarb-version = "2.12.2" license = "Apache-2.0" authors = [ "Informal Systems " ] repository = "https://github.com/informalsystems/ibc-starknet" @@ -25,17 +25,17 @@ description = "Cairo components and contracts for integrating Starknet with IB test = "snforge test" [workspace.dependencies] -assert_macros = "2.12.0" -starknet = "2.12.0" -snforge_std = "0.48.0" +assert_macros = "2.12.2" +starknet = "2.12.2" +snforge_std = "0.49.0" # external dependencies openzeppelin_access = "2.0.0" openzeppelin_token = "2.0.0" openzeppelin_upgrades = "2.0.0" openzeppelin_utils = "2.0.0" -openzeppelin_testing = "4.5.0" -alexandria_math = "0.6.0" +openzeppelin_testing = "4.7.0" +alexandria_math = "0.6.1" garaga = { git = "https://github.com/keep-starknet-strange/garaga.git", rev = "ffb90e5" } # internal dependencies diff --git a/cairo-libs/.tool-versions b/cairo-libs/.tool-versions index 48109bd0b..18aaa6d9c 100644 --- a/cairo-libs/.tool-versions +++ b/cairo-libs/.tool-versions @@ -1,3 +1,3 @@ -scarb 2.12.0 -starknet-foundry 0.48.0 +scarb 2.12.2 +starknet-foundry 0.49.0 universal-sierra-compiler 2.5.0 diff --git a/cairo-libs/Scarb.lock b/cairo-libs/Scarb.lock index f637854a2..e31008ac7 100644 --- a/cairo-libs/Scarb.lock +++ b/cairo-libs/Scarb.lock @@ -3,9 +3,9 @@ version = 1 [[package]] name = "alexandria_math" -version = "0.6.0" +version = "0.6.1" source = "registry+https://scarbs.xyz/" -checksum = "sha256:1e08ebba0ed9f7217b8efc283d2ad41730257cf41a47ca88a94fb0fafad22e9e" +checksum = "sha256:19160f0993a6643e8e71a3bce03e54a37f26b8cad94f21668d7cc9afd08d2047" [[package]] name = "cometbft" @@ -59,15 +59,15 @@ dependencies = [ [[package]] name = "snforge_scarb_plugin" -version = "0.48.0" +version = "0.49.0" source = "registry+https://scarbs.xyz/" -checksum = "sha256:8630dcf3fa4df36a3d45e6a2d053cf84c548ab154e829fece99373ae5852921c" +checksum = "sha256:903150f0e9542e4277d417029eea4c03af0db398b581f9f7ae3ebbdac9afc657" [[package]] name = "snforge_std" -version = "0.48.0" +version = "0.49.0" source = "registry+https://scarbs.xyz/" -checksum = "sha256:981139c83359089540652c44f4a1a888c77409eedaa148377927cc63a604b67b" +checksum = "sha256:73d73653cc4356ec51b92a6bec9d8385b20318170c2f2ade7891e5185a0e7e64" dependencies = [ "snforge_scarb_plugin", ] diff --git a/cairo-libs/Scarb.toml b/cairo-libs/Scarb.toml index 789c3228d..02570dac4 100644 --- a/cairo-libs/Scarb.toml +++ b/cairo-libs/Scarb.toml @@ -10,8 +10,8 @@ members = [ [workspace.package] version = "0.1.0" edition = "2024_07" -cairo-version = "2.12.0" -scarb-version = "2.12.0" +cairo-version = "2.12.2" +scarb-version = "2.12.2" license = "Apache-2.0" authors = [ "Informal Systems " ] repository = "https://github.com/informalsystems/ibc-starknet" @@ -23,12 +23,12 @@ description = "Cairo libraries for integrating Starknet with IBC" test = "snforge test" [workspace.dependencies] -starknet = "2.12.0" -assert_macros = "2.12.0" -snforge_std = "0.48.0" +starknet = "2.12.2" +assert_macros = "2.12.2" +snforge_std = "0.49.0" # external dependencies -alexandria_math = { version = "0.6.0" } +alexandria_math = { version = "0.6.1" } garaga = { git = "https://github.com/keep-starknet-strange/garaga.git", rev = "ffb90e5" } # internal dependencies diff --git a/light-client/Cargo.lock b/light-client/Cargo.lock index 8e42983ab..9180ccb7d 100644 --- a/light-client/Cargo.lock +++ b/light-client/Cargo.lock @@ -193,7 +193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", "rayon", ] @@ -220,6 +220,12 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "auto_impl" version = "1.3.0" @@ -249,7 +255,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -282,12 +288,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.9.1" @@ -675,16 +675,6 @@ dependencies = [ "url", ] -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -727,10 +717,10 @@ dependencies = [ "k256", "num-traits", "p256", - "rand_core", + "rand_core 0.6.4", "rayon", "sha2 0.10.9", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -754,7 +744,7 @@ dependencies = [ "schemars 0.8.22", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -782,14 +772,14 @@ dependencies = [ "cosmwasm-derive", "derive_more 1.0.0", "hex", - "rand_core", + "rand_core 0.6.4", "rmp-serde", "schemars 0.8.22", "serde", "serde-json-wasm", "sha2 0.10.9", "static_assertions", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -848,7 +838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -907,7 +897,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core", + "rand_core 0.6.4", "subtle-ng", "zeroize", ] @@ -933,7 +923,7 @@ dependencies = [ "cosmwasm-std", "schemars 0.8.22", "serde", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1132,7 +1122,7 @@ checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ "curve25519-dalek-ng", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.9.9", "zeroize", ] @@ -1147,7 +1137,7 @@ dependencies = [ "ed25519", "hashbrown 0.14.5", "hex", - "rand_core", + "rand_core 0.6.4", "sha2 0.10.9", "zeroize", ] @@ -1170,21 +1160,12 @@ dependencies = [ "ff", "generic-array", "group", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", ] -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -1203,13 +1184,13 @@ dependencies = [ "hex", "hmac", "pbkdf2", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", "sha2 0.10.9", "sha3", - "thiserror", + "thiserror 1.0.69", "uuid", ] @@ -1246,7 +1227,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -1263,7 +1244,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -1414,7 +1395,21 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.3+wasi-0.2.4", "wasm-bindgen", ] @@ -1437,29 +1432,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle", ] -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.10.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1494,7 +1470,7 @@ checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "hermes-cosmos-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-encoding-components", @@ -1509,7 +1485,7 @@ dependencies = [ [[package]] name = "hermes-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-prelude", @@ -1518,7 +1494,7 @@ dependencies = [ [[package]] name = "hermes-prelude" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "cgp-async", @@ -1527,7 +1503,7 @@ dependencies = [ [[package]] name = "hermes-protobuf-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-encoding-components", @@ -1553,9 +1529,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -1563,24 +1539,25 @@ dependencies = [ ] [[package]] -name = "http" -version = "1.3.1" +name = "http-body" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "fnv", - "itoa", + "http", ] [[package]] -name = "http-body" -version = "0.4.6" +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "http 0.2.12", + "futures-core", + "http", + "http-body", "pin-project-lite", ] @@ -1590,48 +1567,66 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyper" -version = "0.14.32" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", "futures-core", - "futures-util", - "h2", - "http 0.2.12", + "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "pin-utils", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 0.2.12", + "http", "hyper", - "rustls 0.21.12", + "hyper-util", + "rustls", + "rustls-pki-types", "tokio", "tokio-rustls", + "tower-service", + "webpki-roots 1.0.1", +] + +[[package]] +name = "hyper-util" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", ] [[package]] @@ -1733,7 +1728,7 @@ dependencies = [ "serde", "serde_json", "starknet-block-verifier", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto-lib", "starknet-storage-verifier", ] @@ -1764,7 +1759,7 @@ dependencies = [ "serde", "serde_json", "starknet-block-verifier", - "starknet-core 0.13.0", + "starknet-core", "starknet-storage-verifier", ] @@ -2366,6 +2361,16 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "itertools" version = "0.10.5" @@ -2505,16 +2510,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] -name = "memchr" -version = "2.7.5" +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] -name = "mime" -version = "0.3.17" +name = "memchr" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "miniz_oxide" @@ -2532,7 +2537,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -2651,7 +2656,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -2838,6 +2843,61 @@ dependencies = [ "prost", ] +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.16", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.16", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.40" @@ -2847,6 +2907,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "radium" version = "0.7.0" @@ -2860,8 +2926,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" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -2871,7 +2947,17 @@ 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_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -2880,7 +2966,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -2909,7 +3004,7 @@ version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ - "bitflags 2.9.1", + "bitflags", ] [[package]] @@ -2969,43 +3064,40 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", - "futures-util", - "h2", - "http 0.2.12", + "http", "http-body", + "http-body-util", "hyper", "hyper-rustls", - "ipnet", + "hyper-util", "js-sys", "log", - "mime", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "quinn", + "rustls", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.25.4", - "winreg", + "webpki-roots 1.0.1", ] [[package]] @@ -3026,7 +3118,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -3109,6 +3201,12 @@ version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -3124,18 +3222,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - [[package]] name = "rustls" version = "0.23.28" @@ -3146,20 +3232,11 @@ dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.3", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -3175,19 +3252,10 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ + "web-time", "zeroize", ] -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "rustls-webpki" version = "0.103.3" @@ -3274,16 +3342,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "sec1" version = "0.7.3" @@ -3494,15 +3552,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] -[[package]] -name = "size-of" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e36eca171fddeda53901b0a436573b3f2391eaa9189d439b2bd8ea8cebd7e3" - [[package]] name = "slab" version = "0.4.10" @@ -3543,13 +3595,13 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "starknet" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e2e53e7705c9a9aad7f118a4bac7386afeb8db272b3eb445a464ca4c3dfee5" +checksum = "f5ed01c14136e56dcdf21385d20c4a6fdd3509947cb56cca45fc765ef5809add" dependencies = [ "starknet-accounts", "starknet-contract", - "starknet-core 0.13.0", + "starknet-core", "starknet-core-derive", "starknet-crypto", "starknet-macros", @@ -3559,17 +3611,17 @@ dependencies = [ [[package]] name = "starknet-accounts" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca52534db01eda3bf3250f398bd4597aed3856d0d17d84070efbc7919abad71" +checksum = "4f7c118729bcdcfa1610844047cbdb23090fb1d4172a36bb97a663be8d022d1a" dependencies = [ "async-trait", "auto_impl", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto", "starknet-providers", "starknet-signers", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3581,54 +3633,31 @@ dependencies = [ "serde_json", "starknet", "starknet-block-verifier", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto-lib", "ureq", ] [[package]] name = "starknet-contract" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d8d5a5306527eedcb4bd70afecfc6824add631a08eac8fd1cf9c2bdfd21e77" +checksum = "ccb64331b72caf51c0d8b684b62012f9a771015b4cf5e52cba9bf61be8384ad3" dependencies = [ "serde", "serde_json", "serde_with", "starknet-accounts", - "starknet-core 0.13.0", + "starknet-core", "starknet-providers", - "thiserror", -] - -[[package]] -name = "starknet-core" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53a16799e4a75173839d868a1a48ff5d3e10456febd4dec91b04ba6521741d5" -dependencies = [ - "base64 0.21.7", - "crypto-bigint", - "flate2", - "foldhash", - "hex", - "indexmap 2.10.0", - "num-traits", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with", - "sha3", - "starknet-core-derive", - "starknet-crypto", - "starknet-types-core", + "thiserror 1.0.69", ] [[package]] name = "starknet-core" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2091a08ebfc65c5a6b8bd2c66e32780739854b813af0b4348b6dbf3a887865" +checksum = "efb7212226769766c1c7d79b70f9242ffbd213290a41604ecc7e78faa0ed0deb" dependencies = [ "base64 0.21.7", "crypto-bigint", @@ -3660,9 +3689,9 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039a3bad70806b494c9e6b21c5238a6c8a373d66a26071859deb0ccca6f93634" +checksum = "1004a16c25dc6113c19d4f9d0c19ff97d85804829894bba22c0d0e9e7b249812" dependencies = [ "crypto-bigint", "hex", @@ -3682,66 +3711,66 @@ name = "starknet-crypto-lib" version = "0.1.0" dependencies = [ "cosmwasm-schema", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto", "sylvia", ] [[package]] name = "starknet-curve" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcde6bd74269b8161948190ace6cf069ef20ac6e79cd2ba09b320efa7500b6de" +checksum = "22c898ae81b6409532374cf237f1bd752d068b96c6ad500af9ebbd0d9bb712f6" dependencies = [ "starknet-types-core", ] [[package]] name = "starknet-macros" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00dd27bb42d53bd7948a32d4a88c04e799bfcc011b87448756bb0643e6ec0e6d" +checksum = "6d59e1eb22f4366385b132ba7016faa5a6457f1f23f896f737a06da626455e7b" dependencies = [ - "starknet-core 0.14.0", + "starknet-core", "syn 2.0.104", ] [[package]] name = "starknet-providers" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c74c3850a661fa1ffd3c3e2cb9db6e28c94ab9aaaa0496503014a814f09cd455" +checksum = "15fc3d94cc008cea64e291b261e8349065424ee7491e5dd0fa9bd688818bece1" dependencies = [ "async-trait", "auto_impl", "ethereum-types", "flate2", - "getrandom", + "getrandom 0.2.16", "log", "reqwest", "serde", "serde_json", "serde_with", - "starknet-core 0.13.0", - "thiserror", + "starknet-core", + "thiserror 1.0.69", "url", ] [[package]] name = "starknet-signers" -version = "0.11.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aeca13b8c61165b69d4775880d74ff9bbb9bafa36a297899e0f160619631b3" +checksum = "d839b06d899ef3a0de11b1e9a91a14c118b1ed36830ec8e59d9fbc9a1e51976b" dependencies = [ "async-trait", "auto_impl", "crypto-bigint", "eth-keystore", - "getrandom", - "rand", - "starknet-core 0.13.0", + "getrandom 0.2.16", + "rand 0.8.5", + "starknet-core", "starknet-crypto", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3752,7 +3781,7 @@ dependencies = [ "indexmap 2.10.0", "serde_json", "starknet", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto", "starknet-crypto-lib", "starknet-macros", @@ -3762,17 +3791,18 @@ dependencies = [ [[package]] name = "starknet-types-core" -version = "0.1.8" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4037bcb26ce7c508448d221e570d075196fd4f6912ae6380981098937af9522a" +checksum = "5fa3d91e38f091dbc543d33589eb7716bed2a8eb1c20879e484561977832b60a" dependencies = [ + "blake2", + "digest 0.10.7", "lambdaworks-crypto", "lambdaworks-math", "num-bigint", "num-integer", "num-traits", "serde", - "size-of", "zeroize", ] @@ -3865,9 +3895,12 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -3880,27 +3913,6 @@ dependencies = [ "syn 2.0.104", ] -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tap" version = "1.0.1" @@ -3971,7 +3983,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" +dependencies = [ + "thiserror-impl 2.0.16", ] [[package]] @@ -3985,6 +4006,17 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "thiserror-impl" +version = "2.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "time" version = "0.3.36" @@ -4035,6 +4067,21 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinyvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.45.1" @@ -4066,24 +4113,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.15" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", + "rustls", "tokio", ] @@ -4104,6 +4138,45 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -4214,8 +4287,8 @@ dependencies = [ "cookie_store", "log", "percent-encoding", - "rustls 0.23.28", - "rustls-pemfile 2.2.0", + "rustls", + "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", @@ -4231,7 +4304,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59db78ad1923f2b1be62b6da81fe80b173605ca0d57f85da2e005382adf693f7" dependencies = [ "base64 0.22.1", - "http 1.3.1", + "http", "httparse", "log", ] @@ -4265,7 +4338,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom", + "getrandom 0.2.16", "serde", ] @@ -4290,6 +4363,15 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +[[package]] +name = "wasi" +version = "0.14.3+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -4372,10 +4454,14 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "0.25.4" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] [[package]] name = "webpki-roots" @@ -4454,22 +4540,13 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.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.6", + "windows-targets", ] [[package]] @@ -4478,22 +4555,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -4502,46 +4564,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -4554,48 +4598,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -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.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnullvm" -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.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -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.6" @@ -4612,14 +4632,10 @@ dependencies = [ ] [[package]] -name = "winreg" -version = "0.50.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "writeable" diff --git a/light-client/Cargo.toml b/light-client/Cargo.toml index 769459abc..39a2ff8db 100644 --- a/light-client/Cargo.toml +++ b/light-client/Cargo.toml @@ -37,11 +37,11 @@ serde_json = { version = "1.0" } sha2 = { version = "0.10.9" } ureq = { version = "3.0", default-features = false } -starknet = { version = "0.14.0" } -starknet-core = { version = "0.13.0" } -starknet-crypto = { version = "0.7.4" } -starknet-macros = { version = "0.2.3" } -starknet-types-core = { version = "0.1.8" } +starknet = { version = "0.17.0" } +starknet-core = { version = "0.16.0" } +starknet-crypto = { version = "0.8.1" } +starknet-macros = { version = "0.2.5" } +starknet-types-core = { version = "0.2.0" } # ibc depedenencies ibc-core = { version = "0.56.0", default-features = false, features = [ "borsh", "schema" ] } @@ -125,7 +125,7 @@ cgp-runtime = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e cgp-sync = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e24278" } cgp-inner = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e24278" } -hermes-prelude = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-protobuf-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } +hermes-prelude = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-protobuf-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } diff --git a/light-client/ibc-client-starknet/src/client_state/validation.rs b/light-client/ibc-client-starknet/src/client_state/validation.rs index a9a504f7c..942c2e86a 100644 --- a/light-client/ibc-client-starknet/src/client_state/validation.rs +++ b/light-client/ibc-client-starknet/src/client_state/validation.rs @@ -37,7 +37,8 @@ use starknet_crypto_lib::{StarknetCryptoFunctions, StarknetCryptoLib}; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; use starknet_storage_verifier::validate::validate_storage_proof; use starknet_storage_verifier::verifier::{ - verify_starknet_contract_proof, verify_starknet_storage_proof, + verify_starknet_contract_proof, verify_starknet_global_contract_root, + verify_starknet_storage_proof, }; use super::ClientState; @@ -111,16 +112,15 @@ where } })?; - // FIXME: uncomment when #468 is resolved - // // 3. verify the global contract storage root is correct - // let global_contract_trie_root = verify_starknet_global_contract_root( - // &starknet_crypto_cw, - // &storage_proof, - // block_header.state_root, - // ) - // .map_err(|e| ClientError::FailedToVerifyHeader { - // description: e.to_string(), - // })?; + // 3. verify the global contract storage root is correct + let global_contract_trie_root = verify_starknet_global_contract_root( + &starknet_crypto_cw, + &storage_proof, + block_header.state_root, + ) + .map_err(|e| ClientError::FailedToVerifyHeader { + description: e.to_string(), + })?; let global_contract_trie_root = storage_proof.global_roots.contracts_tree_root; diff --git a/light-client/starknet-block-verifier/src/feeder.rs b/light-client/starknet-block-verifier/src/feeder.rs index aa6f65b91..c8a802dc0 100644 --- a/light-client/starknet-block-verifier/src/feeder.rs +++ b/light-client/starknet-block-verifier/src/feeder.rs @@ -33,7 +33,12 @@ impl Endpoint { block_number: Option, ) -> Result { let mut text = String::new(); - write!(&mut text, "{}/feeder_gateway/{path}", self.0).expect("Failed to write to string"); + write!( + &mut text, + "{}/feeder_gateway/{path}", + self.0.trim_end_matches('/') + ) + .expect("Failed to write to string"); let mut req = ureq::get(&text); if let Some(block_number) = block_number { diff --git a/madara-contracts/.tool-versions b/madara-contracts/.tool-versions index c402b075e..4e1dbbab0 100644 --- a/madara-contracts/.tool-versions +++ b/madara-contracts/.tool-versions @@ -1 +1 @@ -scarb 2.12.0 +scarb 2.12.2 diff --git a/madara-contracts/Scarb.toml b/madara-contracts/Scarb.toml index 126cd3614..7eccb84aa 100644 --- a/madara-contracts/Scarb.toml +++ b/madara-contracts/Scarb.toml @@ -4,8 +4,8 @@ version = "0.1.0" edition = "2024_07" [dependencies] -starknet = "2.12.0" -cairo_test = "2.12.0" +starknet = "2.12.2" +cairo_test = "2.12.2" openzeppelin_token = "2.0.0" [dev-dependencies] diff --git a/nix/ibc-starknet-cw.nix b/nix/ibc-starknet-cw.nix index 8e36a3579..59f53f14a 100644 --- a/nix/ibc-starknet-cw.nix +++ b/nix/ibc-starknet-cw.nix @@ -11,7 +11,7 @@ let lockFile = ./../light-client/Cargo.lock; outputHashes = { "cgp-0.4.0" = "sha256-YaK4YaT/1jbudEh7YnQkH2KrPmjbSI5vBL8HYU1eREg="; - "hermes-cosmos-encoding-components-0.1.0" = "sha256-7lWbYqCShtdpMr2zM2tdPrCLNQgj0u/A6vERXM/IsFs="; + "hermes-cosmos-encoding-components-0.1.0" = "sha256-WLhdFcAi3WVg/ZrMC/2UISstLaJAfeGhEtJQ7+xjhOE="; "ibc-0.56.0" = "sha256-6ebsNVErJrLnxijsRo+xqDMZQH+Ef160OyRFBNhCT4U="; "ibc-client-cw-0.56.0" = "sha256-xJgM0wyKlN5gaCKgA+y9R/l4QpZ3GbNsoJ8ZrPLvvJ8="; }; @@ -25,8 +25,8 @@ let ]; buildPhase = '' - RUSTFLAGS='-C link-arg=-s' cargo build -p ibc-client-starknet-cw --target wasm32-unknown-unknown --release --lib --locked - RUSTFLAGS='-C link-arg=-s' cargo build -p starknet-crypto-lib --features contract --target wasm32-unknown-unknown --release --lib --locked + cargo build -p ibc-client-starknet-cw --target wasm32-unknown-unknown --release --lib --locked + cargo build -p starknet-crypto-lib --features contract --target wasm32-unknown-unknown --release --lib --locked ''; installPhase = '' diff --git a/relayer/Cargo.lock b/relayer/Cargo.lock index a2120a3f1..4930c5134 100644 --- a/relayer/Cargo.lock +++ b/relayer/Cargo.lock @@ -227,7 +227,7 @@ dependencies = [ "ed25519-dalek", "serde", "serde_with", - "starknet-core 0.15.0", + "starknet-core", "starknet-crypto", "ureq", ] @@ -508,9 +508,9 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fcb67fa250ab8eb216e626dc58ed04081286885005519875bfbcfbb66485f33" +checksum = "7d1d84a85b59c753aa4a7f0c455a5c815e0aebb89faf0c8ab366b0d87c0bb934" dependencies = [ "cairo-lang-utils", "indoc", @@ -522,9 +522,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe2a4ed344b143eceaf818d7212a45a5d6dc9e50ebfc5afabb30ff05d8298261" +checksum = "ed04fc3f52d68157f359257c477e30f68dec36bbf568c85d567812583cd5f9c8" dependencies = [ "cairo-lang-utils", "good_lp", @@ -532,9 +532,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104eba8e6509ecd4e96cac9cd3dee9f0c698bfc8cba0097b32f6378eaac3edd8" +checksum = "300655046f505cf806a918918e5397b20c22b579d78c2ef09bc7d4d59fd733be" dependencies = [ "anyhow", "cairo-lang-utils", @@ -553,15 +553,15 @@ dependencies = [ "serde_json", "sha3", "smol_str", - "starknet-types-core", + "starknet-types-core 0.2.0", "thiserror 2.0.12", ] [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9131235c4854d3c483a3d363cbfa70b6c2e8b5ca05e37ecbb9edc4a5dfc2e186" +checksum = "0c51190f463ac9f7d4a2ce0e0345cfc92334589811a7114eeeec84029999d7f1" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -575,9 +575,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d9d0fed2440c8ea6717e9580d0efa4b10e07415ca9508afe2d9cb9be8aca64" +checksum = "bb0d0f038acd79aedcadad4ad2ad928b0881c4e96a2d9ad0e0b3173a6111f313" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -591,9 +591,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a47906641d467f18f2035c5017bee4afd6e118eba80e217b82a03b678764919" +checksum = "7c852277442b2d8ca9741cdc8ccb737c6ad381d300ab4e2d982a98ba40e5f5b6" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -606,15 +606,15 @@ dependencies = [ "itertools", "num-bigint", "num-traits", - "starknet-types-core", + "starknet-types-core 0.2.0", "thiserror 2.0.12", ] [[package]] name = "cairo-lang-sierra-type-size" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7cc6bb50cc23e0252a48a1b2ee9b17edcb74d2dab86c70b095bcd287ecfd66" +checksum = "265aa8daaa94cc4d5e135a82c0bbe7d28d2c0fbc612332903dbf1a68ed15978f" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -622,9 +622,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d46f87d7dc5ee23ff1e67cb88210f3273ee97b82efc84e30f5abf17a96d7510" +checksum = "4839b63927954a7c3d018fd012ce0bea256db205b85ee45df27fb1e90cb10e02" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -639,15 +639,15 @@ dependencies = [ "serde_json", "sha3", "smol_str", - "starknet-types-core", + "starknet-types-core 0.2.0", "thiserror 2.0.12", ] [[package]] name = "cairo-lang-utils" -version = "2.12.0" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3443f4fc17986f362f5b87cd8c37dafeadf5e0a0909a19f2541cd55baae25a74" +checksum = "cca315cce0937801a772bee5fe92cca28b8172421bdd2f67c96e8288a0dcfb9f" dependencies = [ "hashbrown 0.15.4", "indexmap 2.10.0", @@ -1777,7 +1777,7 @@ dependencies = [ "rayon", "sha2 0.10.9", "sha3", - "starknet-types-core", + "starknet-types-core 0.1.8", "thiserror 2.0.12", ] @@ -1946,7 +1946,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermes-any-counterparty" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -1966,7 +1966,7 @@ dependencies = [ [[package]] name = "hermes-async-runtime-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "async-trait", "cgp", @@ -1985,13 +1985,13 @@ dependencies = [ "hermes-encoding-components", "hermes-prelude", "hermes-relayer-components", - "starknet 0.13.0", + "starknet", ] [[package]] name = "hermes-chain-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-chain-type-components", @@ -2003,7 +2003,7 @@ dependencies = [ [[package]] name = "hermes-chain-type-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-prelude", @@ -2013,7 +2013,7 @@ dependencies = [ [[package]] name = "hermes-cli" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "clap", @@ -2040,7 +2040,7 @@ dependencies = [ [[package]] name = "hermes-cli-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "clap", @@ -2056,7 +2056,7 @@ dependencies = [ [[package]] name = "hermes-cli-framework" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "clap", @@ -2076,7 +2076,7 @@ dependencies = [ [[package]] name = "hermes-comet-light-client-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-chain-type-components", @@ -2086,7 +2086,7 @@ dependencies = [ [[package]] name = "hermes-comet-light-client-context" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "eyre", @@ -2107,7 +2107,7 @@ dependencies = [ [[package]] name = "hermes-core" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-chain-components", @@ -2124,7 +2124,7 @@ dependencies = [ [[package]] name = "hermes-cosmos" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "hermes-comet-light-client-context", "hermes-core", @@ -2139,7 +2139,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-chain-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "bech32 0.9.1", "bitcoin", @@ -2167,7 +2167,7 @@ dependencies = [ "num-rational", "prost", "prost-types", - "reqwest 0.12.20", + "reqwest 0.11.27", "ripemd", "secp256k1", "serde", @@ -2190,7 +2190,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-chain-preset" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -2203,7 +2203,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-core" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "hermes-comet-light-client-components", "hermes-core", @@ -2227,7 +2227,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-encoding-components", @@ -2242,7 +2242,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-integration-tests" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "eyre", @@ -2268,7 +2268,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-relayer" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "dirs-next", @@ -2289,7 +2289,7 @@ dependencies = [ "opentelemetry", "prost", "prost-types", - "reqwest 0.12.20", + "reqwest 0.11.27", "secp256k1", "serde", "serde_derive", @@ -2306,7 +2306,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-test-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hdpath", @@ -2334,7 +2334,7 @@ dependencies = [ [[package]] name = "hermes-cosmos-wasm-relayer" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "eyre", @@ -2372,7 +2372,7 @@ dependencies = [ [[package]] name = "hermes-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-prelude", @@ -2381,7 +2381,7 @@ dependencies = [ [[package]] name = "hermes-error" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "eyre", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "hermes-ibc-test-suite" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-chain-components", @@ -2410,7 +2410,7 @@ dependencies = [ [[package]] name = "hermes-logging-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-prelude", @@ -2419,7 +2419,7 @@ dependencies = [ [[package]] name = "hermes-prelude" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "cgp-async", @@ -2428,7 +2428,7 @@ dependencies = [ [[package]] name = "hermes-protobuf-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-encoding-components", @@ -2440,7 +2440,7 @@ dependencies = [ [[package]] name = "hermes-relayer-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "futures", @@ -2455,7 +2455,7 @@ dependencies = [ [[package]] name = "hermes-relayer-components-extra" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "futures", @@ -2470,7 +2470,7 @@ dependencies = [ [[package]] name = "hermes-runtime" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-async-runtime-components", @@ -2485,7 +2485,7 @@ dependencies = [ [[package]] name = "hermes-runtime-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-prelude", @@ -2525,8 +2525,7 @@ dependencies = [ "serde_json", "sha2 0.10.9", "sha256", - "starknet 0.13.0", - "starknet 0.14.0", + "starknet", "starknet-block-verifier", "starknet-crypto", "starknet-crypto-lib", @@ -2559,8 +2558,7 @@ dependencies = [ "indexmap 2.10.0", "prost", "serde_json", - "starknet 0.13.0", - "starknet 0.14.0", + "starknet", "tendermint-proto", "toml", "tracing", @@ -2594,8 +2592,8 @@ dependencies = [ "serde", "serde_json", "stable-eyre", - "starknet 0.13.0", - "starknet-types-core", + "starknet", + "starknet-types-core 0.2.0", "tokio", "toml", "tracing", @@ -2628,8 +2626,7 @@ dependencies = [ "rand 0.8.5", "serde_json", "sha2 0.10.9", - "starknet 0.13.0", - "starknet 0.14.0", + "starknet", "starknet-block-verifier", "starknet-crypto", "starknet-crypto-lib", @@ -2656,7 +2653,7 @@ dependencies = [ "hermes-starknet-chain-context", "ibc", "serde", - "starknet 0.13.0", + "starknet", "tiny-bip39", "toml", "ureq", @@ -2674,7 +2671,7 @@ dependencies = [ "hermes-prelude", "hermes-starknet-chain-components", "serde", - "starknet 0.13.0", + "starknet", "toml", ] @@ -2701,7 +2698,7 @@ dependencies = [ "hermes-starknet-relayer", "ibc", "stable-eyre", - "starknet 0.13.0", + "starknet", "tokio", "toml", "tracing", @@ -2711,7 +2708,7 @@ dependencies = [ [[package]] name = "hermes-test-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-chain-type-components", @@ -2725,7 +2722,7 @@ dependencies = [ [[package]] name = "hermes-tokio-runtime-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "futures", @@ -2742,7 +2739,7 @@ dependencies = [ [[package]] name = "hermes-tracing-logging-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -2757,7 +2754,7 @@ dependencies = [ [[package]] name = "hermes-wasm-chain-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "hermes-core", "hermes-cosmos-chain-components", @@ -2773,7 +2770,7 @@ dependencies = [ [[package]] name = "hermes-wasm-client-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -2793,7 +2790,7 @@ dependencies = [ [[package]] name = "hermes-wasm-encoding-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -2808,7 +2805,7 @@ dependencies = [ [[package]] name = "hermes-wasm-test-components" version = "0.1.0" -source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0352fec#0352fec905e2b7080fb0ebd9dc944f245a070f90" +source = "git+https://github.com/informalsystems/hermes-sdk.git?rev=0c93e1f#0c93e1f389d5d163de7b4f8bc90b08a60aee326d" dependencies = [ "cgp", "hermes-core", @@ -3023,6 +3020,7 @@ dependencies = [ "tokio", "tokio-rustls 0.26.2", "tower-service", + "webpki-roots 1.0.1", ] [[package]] @@ -3040,18 +3038,15 @@ dependencies = [ [[package]] name = "hyper-tls" -version = "0.6.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "http-body-util", - "hyper 1.6.0", - "hyper-util", + "hyper 0.14.32", "native-tls", "tokio", "tokio-native-tls", - "tower-service", ] [[package]] @@ -3073,11 +3068,9 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2", - "system-configuration 0.6.1", "tokio", "tower-service", "tracing", - "windows-registry", ] [[package]] @@ -3201,7 +3194,7 @@ dependencies = [ "serde", "serde_json", "starknet-block-verifier", - "starknet-core 0.13.0", + "starknet-core", "starknet-storage-verifier", ] @@ -4052,6 +4045,12 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "matchers" version = "0.1.0" @@ -4675,6 +4674,61 @@ dependencies = [ "prost", ] +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.1", + "rustls 0.23.28", + "socket2", + "thiserror 2.0.12", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash 2.1.1", + "rustls 0.23.28", + "rustls-pki-types", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.60.2", +] + [[package]] name = "quote" version = "1.0.40" @@ -4881,10 +4935,12 @@ dependencies = [ "http-body 0.4.6", "hyper 0.14.32", "hyper-rustls 0.24.2", + "hyper-tls", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -4895,49 +4951,46 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration 0.5.1", + "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls 0.24.1", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.25.4", "winreg", ] [[package]] name = "reqwest" -version = "0.12.20" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", - "h2 0.4.10", "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", "hyper-rustls 0.27.7", - "hyper-tls", "hyper-util", "js-sys", "log", - "mime", - "native-tls", "percent-encoding", "pin-project-lite", + "quinn", + "rustls 0.23.28", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", "tokio", - "tokio-native-tls", + "tokio-rustls 0.26.2", "tower 0.5.2", "tower-http", "tower-service", @@ -4945,6 +4998,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots 1.0.1", ] [[package]] @@ -5001,7 +5055,7 @@ dependencies = [ "oorandom", "parking_lot", "rust-analyzer-salsa-macros", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "tracing", "triomphe", @@ -5031,6 +5085,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -5161,6 +5221,7 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ + "web-time", "zeroize", ] @@ -5729,63 +5790,32 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "starknet" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9b221c99a1ea1d65fb130e5b0dbaa6d362698430232902ebeb2a898a1ab531" -dependencies = [ - "starknet-accounts 0.12.0", - "starknet-contract 0.12.0", - "starknet-core 0.12.3", - "starknet-core-derive", - "starknet-crypto", - "starknet-macros", - "starknet-providers 0.12.1", - "starknet-signers 0.10.2", -] - -[[package]] -name = "starknet" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e2e53e7705c9a9aad7f118a4bac7386afeb8db272b3eb445a464ca4c3dfee5" +checksum = "f5ed01c14136e56dcdf21385d20c4a6fdd3509947cb56cca45fc765ef5809add" dependencies = [ - "starknet-accounts 0.13.0", - "starknet-contract 0.13.0", - "starknet-core 0.13.0", + "starknet-accounts", + "starknet-contract", + "starknet-core", "starknet-core-derive", "starknet-crypto", "starknet-macros", - "starknet-providers 0.13.0", - "starknet-signers 0.11.0", + "starknet-providers", + "starknet-signers", ] [[package]] name = "starknet-accounts" -version = "0.12.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3fc4364f5684e4a5dcb100847a9ea023deae3815f45526721a6fa94ab595651" +checksum = "4f7c118729bcdcfa1610844047cbdb23090fb1d4172a36bb97a663be8d022d1a" dependencies = [ "async-trait", "auto_impl", - "starknet-core 0.12.3", + "starknet-core", "starknet-crypto", - "starknet-providers 0.12.1", - "starknet-signers 0.10.2", - "thiserror 1.0.69", -] - -[[package]] -name = "starknet-accounts" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca52534db01eda3bf3250f398bd4597aed3856d0d17d84070efbc7919abad71" -dependencies = [ - "async-trait", - "auto_impl", - "starknet-core 0.13.0", - "starknet-crypto", - "starknet-providers 0.13.0", - "starknet-signers 0.11.0", + "starknet-providers", + "starknet-signers", "thiserror 1.0.69", ] @@ -5794,69 +5824,31 @@ name = "starknet-block-verifier" version = "0.1.0" dependencies = [ "serde", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto-lib", "ureq", ] [[package]] name = "starknet-contract" -version = "0.12.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2102b8f763477a1bdece683da51514bc73829d5dcc3bbe75ff1b6aca6d4e02" +checksum = "ccb64331b72caf51c0d8b684b62012f9a771015b4cf5e52cba9bf61be8384ad3" dependencies = [ "serde", "serde_json", "serde_with", - "starknet-accounts 0.12.0", - "starknet-core 0.12.3", - "starknet-providers 0.12.1", + "starknet-accounts", + "starknet-core", + "starknet-providers", "thiserror 1.0.69", ] -[[package]] -name = "starknet-contract" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d8d5a5306527eedcb4bd70afecfc6824add631a08eac8fd1cf9c2bdfd21e77" -dependencies = [ - "serde", - "serde_json", - "serde_with", - "starknet-accounts 0.13.0", - "starknet-core 0.13.0", - "starknet-providers 0.13.0", - "thiserror 1.0.69", -] - -[[package]] -name = "starknet-core" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977ce5d61089de1f4e425ad033162154a0da2cf000f0ed100484ebcbc54b6ff4" -dependencies = [ - "base64 0.21.7", - "crypto-bigint", - "flate2", - "foldhash", - "hex", - "indexmap 2.10.0", - "num-traits", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with", - "sha3", - "starknet-core-derive", - "starknet-crypto", - "starknet-types-core", -] - [[package]] name = "starknet-core" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53a16799e4a75173839d868a1a48ff5d3e10456febd4dec91b04ba6521741d5" +checksum = "efb7212226769766c1c7d79b70f9242ffbd213290a41604ecc7e78faa0ed0deb" dependencies = [ "base64 0.21.7", "crypto-bigint", @@ -5872,53 +5864,7 @@ dependencies = [ "sha3", "starknet-core-derive", "starknet-crypto", - "starknet-types-core", -] - -[[package]] -name = "starknet-core" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2091a08ebfc65c5a6b8bd2c66e32780739854b813af0b4348b6dbf3a887865" -dependencies = [ - "base64 0.21.7", - "crypto-bigint", - "flate2", - "foldhash", - "hex", - "indexmap 2.10.0", - "num-traits", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with", - "sha3", - "starknet-core-derive", - "starknet-crypto", - "starknet-types-core", -] - -[[package]] -name = "starknet-core" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ebd248c1503f89d74f98bfb38119f6421ffb81b23f3404f33b268539d0c4cb6" -dependencies = [ - "base64 0.21.7", - "crypto-bigint", - "flate2", - "foldhash", - "hex", - "indexmap 2.10.0", - "num-traits", - "serde", - "serde_json", - "serde_json_pythonic", - "serde_with", - "sha3", - "starknet-core-derive", - "starknet-crypto", - "starknet-types-core", + "starknet-types-core 0.2.0", ] [[package]] @@ -5934,9 +5880,9 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039a3bad70806b494c9e6b21c5238a6c8a373d66a26071859deb0ccca6f93634" +checksum = "1004a16c25dc6113c19d4f9d0c19ff97d85804829894bba22c0d0e9e7b249812" dependencies = [ "crypto-bigint", "hex", @@ -5947,7 +5893,7 @@ dependencies = [ "rfc6979", "sha2 0.10.9", "starknet-curve", - "starknet-types-core", + "starknet-types-core 0.2.0", "zeroize", ] @@ -5955,55 +5901,34 @@ dependencies = [ name = "starknet-crypto-lib" version = "0.1.0" dependencies = [ - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto", ] [[package]] name = "starknet-curve" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcde6bd74269b8161948190ace6cf069ef20ac6e79cd2ba09b320efa7500b6de" +checksum = "22c898ae81b6409532374cf237f1bd752d068b96c6ad500af9ebbd0d9bb712f6" dependencies = [ - "starknet-types-core", + "starknet-types-core 0.2.0", ] [[package]] name = "starknet-macros" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00dd27bb42d53bd7948a32d4a88c04e799bfcc011b87448756bb0643e6ec0e6d" +checksum = "6d59e1eb22f4366385b132ba7016faa5a6457f1f23f896f737a06da626455e7b" dependencies = [ - "starknet-core 0.14.0", + "starknet-core", "syn 2.0.104", ] [[package]] name = "starknet-providers" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9256247f718564b3e4c73cc941735012691c14903fbc25cea306745bcbfa384" -dependencies = [ - "async-trait", - "auto_impl", - "ethereum-types", - "flate2", - "getrandom 0.2.16", - "log", - "reqwest 0.11.27", - "serde", - "serde_json", - "serde_with", - "starknet-core 0.12.3", - "thiserror 1.0.69", - "url", -] - -[[package]] -name = "starknet-providers" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c74c3850a661fa1ffd3c3e2cb9db6e28c94ab9aaaa0496503014a814f09cd455" +checksum = "15fc3d94cc008cea64e291b261e8349065424ee7491e5dd0fa9bd688818bece1" dependencies = [ "async-trait", "auto_impl", @@ -6011,37 +5936,20 @@ dependencies = [ "flate2", "getrandom 0.2.16", "log", - "reqwest 0.11.27", + "reqwest 0.12.23", "serde", "serde_json", "serde_with", - "starknet-core 0.13.0", + "starknet-core", "thiserror 1.0.69", "url", ] [[package]] name = "starknet-signers" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518c7de189cd4158d45d33067c580094ad5cd2f027a90ac76d49a81c89fa37bc" -dependencies = [ - "async-trait", - "auto_impl", - "crypto-bigint", - "eth-keystore", - "getrandom 0.2.16", - "rand 0.8.5", - "starknet-core 0.12.3", - "starknet-crypto", - "thiserror 1.0.69", -] - -[[package]] -name = "starknet-signers" -version = "0.11.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aeca13b8c61165b69d4775880d74ff9bbb9bafa36a297899e0f160619631b3" +checksum = "d839b06d899ef3a0de11b1e9a91a14c118b1ed36830ec8e59d9fbc9a1e51976b" dependencies = [ "async-trait", "auto_impl", @@ -6049,7 +5957,7 @@ dependencies = [ "eth-keystore", "getrandom 0.2.16", "rand 0.8.5", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto", "thiserror 1.0.69", ] @@ -6060,7 +5968,7 @@ version = "0.1.0" dependencies = [ "ibc-core", "indexmap 2.10.0", - "starknet-core 0.13.0", + "starknet-core", "starknet-crypto-lib", "starknet-macros", ] @@ -6071,6 +5979,21 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4037bcb26ce7c508448d221e570d075196fd4f6912ae6380981098937af9522a" dependencies = [ + "lambdaworks-math 0.10.0", + "num-bigint", + "num-integer", + "num-traits", + "size-of", +] + +[[package]] +name = "starknet-types-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa3d91e38f091dbc543d33589eb7716bed2a8eb1c20879e484561977832b60a" +dependencies = [ + "blake2", + "digest 0.10.7", "lambdaworks-crypto 0.10.0", "lambdaworks-math 0.10.0", "lazy_static", @@ -6078,7 +6001,6 @@ dependencies = [ "num-integer", "num-traits", "serde", - "size-of", "zeroize", ] @@ -6183,18 +6105,7 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "system-configuration-sys 0.5.0", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.9.1", - "core-foundation 0.9.4", - "system-configuration-sys 0.6.0", + "system-configuration-sys", ] [[package]] @@ -6207,16 +6118,6 @@ dependencies = [ "libc", ] -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tagptr" version = "0.2.0" @@ -6501,7 +6402,7 @@ dependencies = [ "once_cell", "pbkdf2", "rand 0.8.5", - "rustc-hash", + "rustc-hash 1.1.0", "sha2 0.10.9", "thiserror 1.0.69", "unicode-normalization", @@ -7167,10 +7068,14 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "0.25.4" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] [[package]] name = "webpki-roots" @@ -7305,17 +7210,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "windows-registry" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" -dependencies = [ - "windows-link", - "windows-result", - "windows-strings", -] - [[package]] name = "windows-result" version = "0.3.4" diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index 42063928c..8ecca8742 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -32,10 +32,9 @@ cgp-error-eyre = { version = "0.4.0" } ibc = { version = "0.56.0" } ibc-client-tendermint = { version = "0.56.0" } -starknet = { version = "0.13.0" } -starknet-v14 = { version = "0.14.0", package = "starknet" } -starknet-crypto = { version = "0.7.4" } -starknet-types-core = { version = "0.1.8" } +starknet = { version = "0.17.0" } +starknet-crypto = { version = "0.8.1" } +starknet-types-core = { version = "0.2.0" } url = { version = "2.5" } eyre = { version = "0.6.12" } tokio = { version = "1.45" } @@ -48,7 +47,7 @@ sha2 = { version = "0.10.9" } tonic = { version = "0.12" } prost = { version = "0.13.1" } prost-types = { version = "0.13.1" } -cairo-lang-starknet-classes = { version = "2.12.0" } +cairo-lang-starknet-classes = { version = "2.12.3" } clap = { version = "4.5" } toml = { version = "0.8.23" } oneline-eyre = { version = "0.1.0" } @@ -188,39 +187,39 @@ cgp-sync = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e cgp-inner = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e24278" } cgp-error-eyre = { git = "https://github.com/contextgeneric/cgp.git", rev = "3e24278" } -hermes-core = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-prelude = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-chain-type-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-relayer-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-relayer-components-extra = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-async-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-tokio-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-runtime = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-error = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-protobuf-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-logging-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-tracing-logging-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-ibc-test-suite = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-any-counterparty = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-core = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-chain-preset = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-relayer = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-wasm-relayer = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cosmos-integration-tests = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-comet-light-client-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-comet-light-client-context = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-wasm-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-wasm-client-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-wasm-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-wasm-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cli-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cli = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } -hermes-cli-framework = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0352fec" } +hermes-core = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-prelude = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-chain-type-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-relayer-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-relayer-components-extra = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-async-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-tokio-runtime-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-runtime = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-error = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-protobuf-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-logging-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-tracing-logging-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-ibc-test-suite = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-any-counterparty = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-core = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-chain-preset = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-relayer = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-wasm-relayer = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cosmos-integration-tests = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-comet-light-client-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-comet-light-client-context = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-wasm-test-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-wasm-client-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-wasm-encoding-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-wasm-chain-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cli-components = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cli = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } +hermes-cli-framework = { git = "https://github.com/informalsystems/hermes-sdk.git", rev = "0c93e1f" } diff --git a/relayer/crates/starknet-chain-components/Cargo.toml b/relayer/crates/starknet-chain-components/Cargo.toml index 4b41bd108..61a7c6bc9 100644 --- a/relayer/crates/starknet-chain-components/Cargo.toml +++ b/relayer/crates/starknet-chain-components/Cargo.toml @@ -49,7 +49,6 @@ serde = { workspace = true } serde_json = { workspace = true } sha2 = { workspace = true } starknet = { workspace = true } -starknet-v14 = { workspace = true } starknet-crypto = { workspace = true } time = { workspace = true } tonic = { workspace = true } diff --git a/relayer/crates/starknet-chain-components/src/impls/commitment_proof.rs b/relayer/crates/starknet-chain-components/src/impls/commitment_proof.rs index 9b83af320..367bcdd89 100644 --- a/relayer/crates/starknet-chain-components/src/impls/commitment_proof.rs +++ b/relayer/crates/starknet-chain-components/src/impls/commitment_proof.rs @@ -4,8 +4,7 @@ use hermes_core::chain_type_components::traits::HasAddressType; use hermes_prelude::*; use indexmap::IndexMap; use starknet::core::crypto::pedersen_hash; -use starknet::core::types::Felt; -use starknet_v14::core::types::{MerkleNode, StorageProof}; +use starknet::core::types::{Felt, MerkleNode, StorageProof}; use crate::impls::{CanValidateStorageProof, StarknetAddress}; use crate::traits::{ diff --git a/relayer/crates/starknet-chain-components/src/impls/contract/declare.rs b/relayer/crates/starknet-chain-components/src/impls/contract/declare.rs index 08843727c..58943e5e6 100644 --- a/relayer/crates/starknet-chain-components/src/impls/contract/declare.rs +++ b/relayer/crates/starknet-chain-components/src/impls/contract/declare.rs @@ -87,44 +87,7 @@ where let declaration = account.declare_v3(Arc::new(flattened_class), casm_class_hash); - let fee_estimation = declaration - .estimate_fee() - .await - .map_err(Chain::raise_error)?; - - // While using Madara this code is commented out due to the configured max gas being 0. - // This causes: Error: StarknetError: ValidationFailure("Max L1Gas price (0) is lower than the actual gas price: 1.") - // This is blocked by Madara's starknet version update - // See: https://www.starknet.io/developers/roadmap/ - /* - // starknet v3 transactions requires all fee bound present. - let l1_gas = core::cmp::max( - 1, - fee_estimation - .gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - ); - let l1_data_gas = core::cmp::max( - 1, - fee_estimation - .data_gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - ); - let l2_gas = core::cmp::max( - 1, - fee_estimation - .gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - );*/ - - let declare_result = declaration - //.gas(l1_gas) - .send() - .await - .map_err(Chain::raise_error)?; + let declare_result = declaration.send().await.map_err(Chain::raise_error)?; let tx_response = chain .poll_tx_response(&declare_result.transaction_hash) diff --git a/relayer/crates/starknet-chain-components/src/impls/contract/deploy.rs b/relayer/crates/starknet-chain-components/src/impls/contract/deploy.rs index fe425fd58..89fbcbf5e 100644 --- a/relayer/crates/starknet-chain-components/src/impls/contract/deploy.rs +++ b/relayer/crates/starknet-chain-components/src/impls/contract/deploy.rs @@ -1,7 +1,7 @@ use hermes_core::chain_type_components::traits::HasAddressType; use hermes_core::relayer_components::transaction::traits::{CanPollTxResponse, HasDefaultSigner}; use hermes_prelude::*; -use starknet::contract::ContractFactory; +use starknet::contract::{ContractFactory, UdcSelector}; use starknet::core::types::{Felt, RevertedInvocation}; use starknet::signers::SigningKey; @@ -14,15 +14,6 @@ use crate::types::TxResponse; pub struct DeployStarknetContract; -// Taken from starknet v0.13.0 -// See: https://github.com/xJonathanLEI/starknet-rs/blob/starknet/v0.13.0/starknet-contract/src/factory.rs#L8-L13 -const DEFAULT_UDC_ADDRESS: Felt = Felt::from_raw([ - 121672436446604875, - 9333317513348225193, - 15685625669053253235, - 15144800532519055890, -]); - #[cgp_provider(ContractDeployerComponent)] impl ContractDeployer for DeployStarknetContract where @@ -45,7 +36,7 @@ where let signer = chain.get_default_signer(); let account = chain.build_account_from_signer(signer); - let factory = ContractFactory::new_with_udc(*class_hash, account, DEFAULT_UDC_ADDRESS); + let factory = ContractFactory::new_with_udc(*class_hash, account, UdcSelector::Legacy); let salt = SigningKey::from_random().secret_scalar(); @@ -53,41 +44,7 @@ where let deployed_address = contract_deployment.deployed_address(); - let fee_estimation = contract_deployment - .estimate_fee() - .await - .map_err(Chain::raise_error)?; - - // While using Madara this code is commented out due to the configured max gas being 0. - // This causes: Error: StarknetError: ValidationFailure("Max L1Gas price (0) is lower than the actual gas price: 1.") - // This is blocked by Madara's starknet version update - // See: https://www.starknet.io/developers/roadmap/ - /* - // starknet v3 transactions requires all fee bound present. - let l1_gas = core::cmp::max( - 1, - fee_estimation - .gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - ); - let l1_data_gas = core::cmp::max( - 1, - fee_estimation - .data_gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - ); - let l2_gas = core::cmp::max( - 1, - fee_estimation - .gas_consumed - .try_into() - .map_err(|_| Chain::raise_error("failed to convert felt to u64"))?, - ); */ - let tx_hash = contract_deployment - //.gas(l1_gas) .send() .await .map_err(Chain::raise_error)? diff --git a/relayer/crates/starknet-chain-components/src/impls/messages/create_client.rs b/relayer/crates/starknet-chain-components/src/impls/messages/create_client.rs index 5b65e5425..c71b1378a 100644 --- a/relayer/crates/starknet-chain-components/src/impls/messages/create_client.rs +++ b/relayer/crates/starknet-chain-components/src/impls/messages/create_client.rs @@ -31,7 +31,6 @@ where + CanQueryContractAddress + HasEd25519AttestatorAddresses + CanRaiseAsyncError - + CanRaiseAsyncError<&'static str> + CanRaiseAsyncError + CanRaiseAsyncError + CanRaiseAsyncError, @@ -62,11 +61,7 @@ where let client_type = short_string!("07-tendermint"); - let ed25519_attestator_addresses = chain - .ed25519_attestator_addresses() - .as_ref() - .ok_or("No Ed25519 attestators") - .map_err(Chain::raise_error)?; + let ed25519_attestator_addresses = chain.ed25519_attestator_addresses(); let attestator_keys = ed25519_attestator_addresses .iter() diff --git a/relayer/crates/starknet-chain-components/src/impls/messages/update_client.rs b/relayer/crates/starknet-chain-components/src/impls/messages/update_client.rs index bd3eada44..151e81d0d 100644 --- a/relayer/crates/starknet-chain-components/src/impls/messages/update_client.rs +++ b/relayer/crates/starknet-chain-components/src/impls/messages/update_client.rs @@ -84,11 +84,7 @@ where .encode(&protobuf_byte_array) .map_err(Chain::raise_error)?; - let ed25519_attestator_addresses = chain - .ed25519_attestator_addresses() - .as_ref() - .ok_or("No Ed25519 attestators") - .map_err(Chain::raise_error)?; + let ed25519_attestator_addresses = chain.ed25519_attestator_addresses(); let client_state = chain .query_client_state_with_latest_height(PhantomData, client_id) diff --git a/relayer/crates/starknet-chain-components/src/impls/misbehaviour/build_misbehaviour_message.rs b/relayer/crates/starknet-chain-components/src/impls/misbehaviour/build_misbehaviour_message.rs index 346e13555..8a3627e3e 100644 --- a/relayer/crates/starknet-chain-components/src/impls/misbehaviour/build_misbehaviour_message.rs +++ b/relayer/crates/starknet-chain-components/src/impls/misbehaviour/build_misbehaviour_message.rs @@ -76,11 +76,7 @@ where // So, we encode the Header as Protobuf bytes and then encode those bytes as // Cairo `ByteArray` which has more succinct `Vec` representation. - let ed25519_attestator_addresses = chain - .ed25519_attestator_addresses() - .as_ref() - .ok_or("No Ed25519 attestators") - .map_err(Chain::raise_error)?; + let ed25519_attestator_addresses = chain.ed25519_attestator_addresses(); let client_state = chain .query_client_state_with_latest_height(PhantomData, client_id) diff --git a/relayer/crates/starknet-chain-components/src/impls/misbehaviour/check_misbehaviour.rs b/relayer/crates/starknet-chain-components/src/impls/misbehaviour/check_misbehaviour.rs index 257ba41b4..210f1727c 100644 --- a/relayer/crates/starknet-chain-components/src/impls/misbehaviour/check_misbehaviour.rs +++ b/relayer/crates/starknet-chain-components/src/impls/misbehaviour/check_misbehaviour.rs @@ -17,11 +17,10 @@ use hermes_prelude::*; use ibc_client_starknet_types::header::StarknetHeader; use ibc_client_starknet_types::misbehaviour::StarknetMisbehaviour; use prost_types::Any; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet::providers::Provider; use starknet_block_verifier::Endpoint as FeederGatewayEndpoint; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, diff --git a/relayer/crates/starknet-chain-components/src/impls/payload_builders/create_client.rs b/relayer/crates/starknet-chain-components/src/impls/payload_builders/create_client.rs index e9df67ec2..5a811f580 100644 --- a/relayer/crates/starknet-chain-components/src/impls/payload_builders/create_client.rs +++ b/relayer/crates/starknet-chain-components/src/impls/payload_builders/create_client.rs @@ -15,10 +15,9 @@ use ibc::core::client::types::error::ClientError; use ibc::core::client::types::Height; use ibc::core::host::types::identifiers::ChainId; use ibc::primitives::Timestamp; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_block_verifier::Endpoint as FeederGatewayEndpoint; -use starknet_v14::core::types::StorageProof; use crate::impls::StarknetAddress; use crate::traits::{ diff --git a/relayer/crates/starknet-chain-components/src/impls/payload_builders/update_client.rs b/relayer/crates/starknet-chain-components/src/impls/payload_builders/update_client.rs index 69dc941a7..c4836d0e6 100644 --- a/relayer/crates/starknet-chain-components/src/impls/payload_builders/update_client.rs +++ b/relayer/crates/starknet-chain-components/src/impls/payload_builders/update_client.rs @@ -15,13 +15,12 @@ use hermes_core::logging_components::types::LevelWarn; use hermes_cosmos_core::protobuf_encoding_components::types::strategy::ViaProtobuf; use hermes_prelude::*; use ibc_client_starknet_types::header::StarknetHeader; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::core::utils::cairo_short_string_to_felt; use starknet::macros::selector; use starknet::providers::ProviderError; use starknet_block_verifier::Endpoint as FeederGatewayEndpoint; use starknet_crypto_lib::{StarknetCryptoFunctions, StarknetCryptoLib}; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, @@ -122,12 +121,11 @@ where classes_tree_root, ]); - // FIXME: uncomment this when #468 is resolved - // if block_header.state_root != state_root { - // return Err(Chain::raise_error( - // "state root does not match between block and storage proof", - // )); - // } + if block_header.state_root != state_root { + return Err(Chain::raise_error( + "state root does not match between block and storage proof", + )); + } if block_header.block_hash != storage_proof.global_roots.block_hash { return Err(Chain::raise_error( diff --git a/relayer/crates/starknet-chain-components/src/impls/payload_builders/upgrade_client.rs b/relayer/crates/starknet-chain-components/src/impls/payload_builders/upgrade_client.rs index 152a8222f..ac04568f6 100644 --- a/relayer/crates/starknet-chain-components/src/impls/payload_builders/upgrade_client.rs +++ b/relayer/crates/starknet-chain-components/src/impls/payload_builders/upgrade_client.rs @@ -10,11 +10,10 @@ use hermes_core::encoding_components::traits::{CanDecode, HasEncodedType, HasEnc use hermes_prelude::*; use ibc::core::client::types::Height; use ibc::core::host::types::path::{UpgradeClientStatePath, UpgradeConsensusStatePath}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/ack_commitment.rs b/relayer/crates/starknet-chain-components/src/impls/queries/ack_commitment.rs index 94b5437df..45387d2dc 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/ack_commitment.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/ack_commitment.rs @@ -11,11 +11,10 @@ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedT use hermes_prelude::*; use ibc::core::host::types::identifiers::{PortId as IbcPortId, Sequence as IbcSequence}; use ibc::core::host::types::path::{AckPath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/block.rs b/relayer/crates/starknet-chain-components/src/impls/queries/block.rs index 3be2d7f39..92c8cd84a 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/block.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/block.rs @@ -3,7 +3,7 @@ use hermes_core::chain_components::traits::{ }; use hermes_cosmos_core::chain_components::types::Time; use hermes_prelude::*; -use starknet::core::types::{BlockId, MaybePendingBlockWithTxHashes}; +use starknet::core::types::{BlockId, MaybePreConfirmedBlockWithTxHashes}; use starknet::providers::{Provider, ProviderError}; use crate::traits::HasStarknetClient; @@ -26,7 +26,7 @@ where .map_err(Chain::raise_error)?; match block { - MaybePendingBlockWithTxHashes::Block(block) => Ok(StarknetChainStatus { + MaybePreConfirmedBlockWithTxHashes::Block(block) => Ok(StarknetChainStatus { height: block.block_number, block_hash: block.block_hash, time: i64::try_from(block.timestamp) @@ -34,8 +34,8 @@ where .and_then(|ts| Time::from_unix_timestamp(ts, 0).ok()) .ok_or_else(|| Chain::raise_error("invalid timestamp"))?, }), - MaybePendingBlockWithTxHashes::PendingBlock(_) => Err(Chain::raise_error( - "expected finalized block, but given pending block", + MaybePreConfirmedBlockWithTxHashes::PreConfirmedBlock(_) => Err(Chain::raise_error( + "expected finalized block, but given pre-confirmed block", )), } } diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/channel_end.rs b/relayer/crates/starknet-chain-components/src/impls/queries/channel_end.rs index 878b1000d..947dc67bd 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/channel_end.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/channel_end.rs @@ -10,11 +10,10 @@ use hermes_core::chain_components::traits::{ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedType, HasEncoding}; use hermes_prelude::*; use ibc::core::host::types::path::{ChannelEndPath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/client_state.rs b/relayer/crates/starknet-chain-components/src/impls/queries/client_state.rs index bf70560e3..8a8e5735f 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/client_state.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/client_state.rs @@ -10,11 +10,10 @@ use hermes_core::chain_components::traits::{ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedType, HasEncoding}; use hermes_prelude::*; use ibc::core::host::types::path::{ClientStatePath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/connection_end.rs b/relayer/crates/starknet-chain-components/src/impls/queries/connection_end.rs index 1e44e51d4..4c7615983 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/connection_end.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/connection_end.rs @@ -11,11 +11,10 @@ use hermes_core::chain_components::traits::{ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedType, HasEncoding}; use hermes_prelude::*; use ibc::core::host::types::path::{ConnectionPath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/consensus_state.rs b/relayer/crates/starknet-chain-components/src/impls/queries/consensus_state.rs index 0008d8ac5..162df44ec 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/consensus_state.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/consensus_state.rs @@ -12,11 +12,10 @@ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedT use hermes_prelude::*; use ibc::core::client::types::Height as IbcHeight; use ibc::core::host::types::path::{ClientConsensusStatePath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/packet_commitment.rs b/relayer/crates/starknet-chain-components/src/impls/queries/packet_commitment.rs index f7bdb1587..1f859a1a2 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/packet_commitment.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/packet_commitment.rs @@ -11,11 +11,10 @@ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedT use hermes_prelude::*; use ibc::core::host::types::identifiers::{PortId as IbcPortId, Sequence as IbcSequence}; use ibc::core::host::types::path::{CommitmentPath, Path}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/packet_receipt.rs b/relayer/crates/starknet-chain-components/src/impls/queries/packet_receipt.rs index 3765cf9c7..e0a7f751d 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/packet_receipt.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/packet_receipt.rs @@ -11,11 +11,10 @@ use hermes_core::encoding_components::traits::{CanDecode, CanEncode, HasEncodedT use hermes_prelude::*; use ibc::core::host::types::identifiers::{PortId as IbcPortId, Sequence as IbcSequence}; use ibc::core::host::types::path::{Path, ReceiptPath}; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::selector; use starknet_crypto_lib::StarknetCryptoLib; use starknet_storage_verifier::ibc::ibc_path_to_storage_key; -use starknet_v14::core::types::StorageProof; use crate::traits::{ CanCallContract, CanQueryContractAddress, CanQueryStorageProof, HasBlobType, HasSelectorType, diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/status.rs b/relayer/crates/starknet-chain-components/src/impls/queries/status.rs index d41962c7f..2741a4064 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/status.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/status.rs @@ -3,7 +3,7 @@ use hermes_core::chain_components::traits::{ }; use hermes_cosmos_core::chain_components::types::Time; use hermes_prelude::*; -use starknet::core::types::{BlockId, BlockTag, MaybePendingBlockWithTxHashes}; +use starknet::core::types::{BlockId, BlockTag, MaybePreConfirmedBlockWithTxHashes}; use starknet::providers::{Provider, ProviderError}; use crate::traits::HasStarknetClient; @@ -27,7 +27,7 @@ where .map_err(Chain::raise_error)?; match block { - MaybePendingBlockWithTxHashes::Block(block) => Ok(StarknetChainStatus { + MaybePreConfirmedBlockWithTxHashes::Block(block) => Ok(StarknetChainStatus { height: block.block_number, block_hash: block.block_hash, time: i64::try_from(block.timestamp) @@ -35,8 +35,8 @@ where .and_then(|ts| Time::from_unix_timestamp(ts, 0).ok()) .ok_or_else(|| Chain::raise_error("invalid timestamp"))?, }), - MaybePendingBlockWithTxHashes::PendingBlock(_) => Err(Chain::raise_error( - "expected finalized block, but given pending block", + MaybePreConfirmedBlockWithTxHashes::PreConfirmedBlock(_) => Err(Chain::raise_error( + "expected finalized block, but given pre-confirmed block", )), } } diff --git a/relayer/crates/starknet-chain-components/src/impls/queries/storage_proof.rs b/relayer/crates/starknet-chain-components/src/impls/queries/storage_proof.rs index 1308adc68..095a05441 100644 --- a/relayer/crates/starknet-chain-components/src/impls/queries/storage_proof.rs +++ b/relayer/crates/starknet-chain-components/src/impls/queries/storage_proof.rs @@ -4,13 +4,12 @@ use hermes_core::logging_components::traits::CanLog; use hermes_core::logging_components::types::LevelTrace; use hermes_prelude::*; use serde::de::DeserializeOwned; -use serde::Serialize; -use starknet::core::types::{BlockId, Felt}; -use starknet_v14::core::types::StorageProof; +use starknet::core::types::{ConfirmedBlockId, ContractStorageKeys, Felt, StorageProof}; +use starknet::providers::{Provider, ProviderError}; use crate::impls::{CanValidateStorageProof, StarknetAddress}; use crate::traits::{ - CanSendJsonRpcRequest, HasStorageKeyType, HasStorageProofType, StorageProofQuerier, + HasStarknetClient, HasStorageKeyType, HasStorageProofType, StorageProofQuerier, StorageProofQuerierComponent, }; @@ -23,8 +22,8 @@ where + HasStorageProofType + CanValidateStorageProof + CanLog - + CanSendJsonRpcRequest - + CanRaiseError, + + HasStarknetClient + + CanRaiseAsyncError, Chain::StorageProof: DeserializeOwned, { async fn query_storage_proof( @@ -33,44 +32,23 @@ where contract_address: &StarknetAddress, storage_keys: &[Felt], ) -> Result { - let request = QueryStorageProofRequest { - block_id: BlockId::Number(*height), - contract_addresses: vec![contract_address.0], - contracts_storage_keys: vec![ContractStorageKey { - contract_address: contract_address.0, - storage_keys: Vec::from(storage_keys), - }], - }; - - let storage_proof = chain - .send_json_rpc_request("starknet_getStorageProof", &request) - .await?; - - let storage_proof_str = - serde_json::to_string_pretty(&storage_proof).map_err(Chain::raise_error)?; - - chain - .log( - &format!("fetched storage proof: {storage_proof_str}"), - &LevelTrace, + let provider = chain.provider(); + + let storage_proof = provider + .get_storage_proof( + ConfirmedBlockId::Number(*height), + [], + [contract_address.0], + [ContractStorageKeys { + contract_address: contract_address.0, + storage_keys: storage_keys.to_vec(), + }], ) - .await; + .await + .map_err(Chain::raise_error)?; // Chain::verify_storage_proof(&storage_proof)?; Ok(storage_proof) } } - -#[derive(Serialize)] -pub struct QueryStorageProofRequest { - pub block_id: BlockId, - pub contract_addresses: Vec, - pub contracts_storage_keys: Vec, -} - -#[derive(Serialize)] -pub struct ContractStorageKey { - pub contract_address: Felt, - pub storage_keys: Vec, -} diff --git a/relayer/crates/starknet-chain-components/src/impls/storage_proof.rs b/relayer/crates/starknet-chain-components/src/impls/storage_proof.rs index 3c21469b9..8cb75dfb7 100644 --- a/relayer/crates/starknet-chain-components/src/impls/storage_proof.rs +++ b/relayer/crates/starknet-chain-components/src/impls/storage_proof.rs @@ -1,8 +1,7 @@ use hermes_prelude::{CanRaiseError, HasErrorType}; use indexmap::IndexMap; use starknet::core::crypto::pedersen_hash; -use starknet::core::types::Felt; -use starknet_v14::core::types::{ContractsProof, MerkleNode, StorageProof}; +use starknet::core::types::{ContractsProof, Felt, MerkleNode, StorageProof}; use crate::traits::HasStorageProofType; diff --git a/relayer/crates/starknet-chain-components/src/impls/types/config.rs b/relayer/crates/starknet-chain-components/src/impls/types/config.rs index ade66f41f..d5bd087f7 100644 --- a/relayer/crates/starknet-chain-components/src/impls/types/config.rs +++ b/relayer/crates/starknet-chain-components/src/impls/types/config.rs @@ -17,7 +17,7 @@ pub struct StarknetRelayerConfig { pub struct StarknetChainConfig { pub json_rpc_url: String, pub feeder_gateway_url: String, - pub ed25519_attestator_addresses: Option>, + pub ed25519_attestator_addresses: Vec, pub relayer_wallet_1: String, pub relayer_wallet_2: String, #[serde(with = "humantime_serde")] diff --git a/relayer/crates/starknet-chain-components/src/traits/rpc_client.rs b/relayer/crates/starknet-chain-components/src/traits/rpc_client.rs index e3c5e5585..3b24b0ced 100644 --- a/relayer/crates/starknet-chain-components/src/traits/rpc_client.rs +++ b/relayer/crates/starknet-chain-components/src/traits/rpc_client.rs @@ -30,5 +30,5 @@ pub trait HasFeederGatewayUrl { provider: Ed25519AttestatorAddressesGetter, }] pub trait HasEd25519AttestatorAddresses { - fn ed25519_attestator_addresses(&self) -> &Option>; + fn ed25519_attestator_addresses(&self) -> &Vec; } diff --git a/relayer/crates/starknet-chain-components/src/types/payloads/client.rs b/relayer/crates/starknet-chain-components/src/types/payloads/client.rs index 3c0f9dfea..deeb37203 100644 --- a/relayer/crates/starknet-chain-components/src/types/payloads/client.rs +++ b/relayer/crates/starknet-chain-components/src/types/payloads/client.rs @@ -3,7 +3,7 @@ use ibc::core::client::types::Height; use ibc::core::host::types::identifiers::ChainId; use ibc_client_starknet_types::header::StarknetHeader; use ibc_client_starknet_types::{StarknetClientState, StarknetConsensusState}; -use starknet_v14::core::types::StorageProof; +use starknet::core::types::StorageProof; #[derive(Debug, HasField)] pub struct StarknetCreateClientPayload { diff --git a/relayer/crates/starknet-chain-context/Cargo.toml b/relayer/crates/starknet-chain-context/Cargo.toml index 83b923faf..a0db85a2b 100644 --- a/relayer/crates/starknet-chain-context/Cargo.toml +++ b/relayer/crates/starknet-chain-context/Cargo.toml @@ -22,16 +22,15 @@ hermes-starknet-chain-components = { workspace = true } hermes-cairo-encoding-components = { workspace = true } tendermint-proto = { workspace = true } +starknet = { workspace = true } +futures = { workspace = true } +url = { workspace = true } cairo-lang-starknet-classes = { workspace = true } eyre = { workspace = true } -futures = { workspace = true } ibc-client-starknet-types = { workspace = true } indexmap = { workspace = true } prost = { workspace = true } serde_json = { workspace = true } -starknet = { workspace = true } -starknet-v14 = { workspace = true } toml = { workspace = true } tracing = { workspace = true } ureq = { workspace = true } -url = { workspace = true } diff --git a/relayer/crates/starknet-chain-context/src/contexts/chain.rs b/relayer/crates/starknet-chain-context/src/contexts/chain.rs index 862818157..ace6d82ce 100644 --- a/relayer/crates/starknet-chain-context/src/contexts/chain.rs +++ b/relayer/crates/starknet-chain-context/src/contexts/chain.rs @@ -58,10 +58,9 @@ use hermes_starknet_chain_components::traits::{ use hermes_starknet_chain_components::types::StarknetWallet; use ibc::core::host::types::identifiers::ChainId; use indexmap::IndexMap; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, MerkleNode, StorageProof}; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::JsonRpcClient; -use starknet_v14::core::types::{MerkleNode, StorageProof}; use ureq::Agent; use url::Url; @@ -94,7 +93,7 @@ pub struct StarknetChainFields { pub signers: Vec, pub client_refresh_rate: Option, pub signer_mutex: Arc>, - pub ed25519_attestator_addresses: Option>, + pub ed25519_attestator_addresses: Vec, } impl Deref for StarknetChain { diff --git a/relayer/crates/starknet-chain-context/src/impls/error.rs b/relayer/crates/starknet-chain-context/src/impls/error.rs index 6e9a945d4..56ec8c2b7 100644 --- a/relayer/crates/starknet-chain-context/src/impls/error.rs +++ b/relayer/crates/starknet-chain-context/src/impls/error.rs @@ -2,6 +2,7 @@ use core::array::TryFromSliceError; use core::convert::Infallible; use core::num::{ParseIntError, TryFromIntError}; use core::str::Utf8Error; +use std::env::VarError; use std::string::FromUtf8Error; use cairo_lang_starknet_classes::casm_contract_class::StarknetSierraCompilationError; @@ -77,6 +78,7 @@ delegate_components! { ChannelError, TimestampError, IdentifierError, + VarError, ComputeClassHashError, StarknetSierraCompilationError, ]: ReportError, diff --git a/relayer/crates/starknet-cli/examples/bootstrap_ibc.rs b/relayer/crates/starknet-cli/examples/bootstrap_ibc.rs index cc808dc1a..376801dc0 100644 --- a/relayer/crates/starknet-cli/examples/bootstrap_ibc.rs +++ b/relayer/crates/starknet-cli/examples/bootstrap_ibc.rs @@ -48,8 +48,10 @@ pub const STARKNET_STRK: Felt = pub const STARKNET_ETH: Felt = Felt::from_hex_unchecked("0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"); +// sha256sum light-client.wasm +// osmosisd q ibc-wasm checksums --node https://rpc.testnet.osmosis.zone pub const WASM_CODE_HASH_HEX: &str = - "6be4d4cbb85ea2d7e0b17b7053e613af11e041617bdb163107dfd29f706318ef"; + "2438343554210a2adeb661aafacca6b4fa4d124dd63ab5b364c293d604de79fa"; fn main() -> Result<(), Error> { let _ = stable_eyre::install(); @@ -110,7 +112,7 @@ fn main() -> Result<(), Error> { // https://docs.starknet.io/chain-info/#current_limits // in seconds. - let starknet_block_time = 30; + let starknet_block_time = 6; StarknetToCosmosRelay::create_client( SourceTarget, diff --git a/relayer/crates/starknet-integration-tests/Cargo.toml b/relayer/crates/starknet-integration-tests/Cargo.toml index 63c945798..6b2c2a97b 100644 --- a/relayer/crates/starknet-integration-tests/Cargo.toml +++ b/relayer/crates/starknet-integration-tests/Cargo.toml @@ -51,5 +51,4 @@ url = { workspace = true } [dev-dependencies] cairo-lang-starknet-classes = { workspace = true } -starknet-v14 = { workspace = true } starknet-crypto-lib = { workspace = true } diff --git a/relayer/crates/starknet-integration-tests/src/impls/build_bootstrap.rs b/relayer/crates/starknet-integration-tests/src/impls/build_bootstrap.rs index db32eb435..8d299f5ac 100644 --- a/relayer/crates/starknet-integration-tests/src/impls/build_bootstrap.rs +++ b/relayer/crates/starknet-integration-tests/src/impls/build_bootstrap.rs @@ -1,7 +1,7 @@ use alloc::collections::BTreeMap; use alloc::sync::Arc; use core::time::Duration; -use std::env::var; +use std::env::{var, VarError}; use std::sync::OnceLock; use cgp::extra::runtime::HasRuntime; @@ -48,6 +48,7 @@ where + CanRaiseAsyncError + CanRaiseAsyncError + CanRaiseAsyncError + + CanRaiseAsyncError + CanRaiseAsyncError<&'static str>, Bootstrap::Chain: HasWalletType, { @@ -182,7 +183,7 @@ where .map(|s| s.trim().to_string()) .collect::>() }) - .ok(); + .map_err(Bootstrap::raise_error)?; let chain_config = StarknetChainConfig { json_rpc_url: format!("http://{}:{}/", node_config.rpc_addr, node_config.rpc_port), diff --git a/relayer/crates/starknet-integration-tests/src/tests/raw_storage.rs b/relayer/crates/starknet-integration-tests/src/tests/raw_storage.rs index 95dec347f..3d9fbec26 100644 --- a/relayer/crates/starknet-integration-tests/src/tests/raw_storage.rs +++ b/relayer/crates/starknet-integration-tests/src/tests/raw_storage.rs @@ -13,9 +13,8 @@ use hermes_starknet_chain_components::traits::{ CanQueryStorageProof, CanVerifyStarknetStorageProof, HasBlobType, HasContractClassHashType, HasSelectorType, HasStorageKeyType, HasStorageProofType, }; -use starknet::core::types::Felt; +use starknet::core::types::{Felt, StorageProof}; use starknet::macros::{felt, selector}; -use starknet_v14::core::types::StorageProof; use tracing::info; use crate::contexts::StarknetChainDriver; diff --git a/relayer/crates/starknet-relayer/src/contexts/builder.rs b/relayer/crates/starknet-relayer/src/contexts/builder.rs index 9f4a4e7e2..5467ed6f3 100644 --- a/relayer/crates/starknet-relayer/src/contexts/builder.rs +++ b/relayer/crates/starknet-relayer/src/contexts/builder.rs @@ -441,14 +441,7 @@ impl StarknetBuilder { }) .ok(); - let ed25519_attestator_addresses = var("ED25519_ATTESTATORS") - .map(|attestator_list| { - attestator_list - .split(',') - .map(|x| x.trim().to_string()) - .collect() - }) - .ok(); + let ed25519_attestator_addresses = chain_config.ed25519_attestator_addresses.clone(); let context = StarknetChain { fields: Arc::new(StarknetChainFields { diff --git a/rust-toolchain-stable.toml b/rust-toolchain-stable.toml index bd493b613..c80edea8f 100644 --- a/rust-toolchain-stable.toml +++ b/rust-toolchain-stable.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.86" +channel = "1.87" profile = "default" diff --git a/rust-toolchain-wasm.toml b/rust-toolchain-wasm.toml index 919454939..a369c2d13 100644 --- a/rust-toolchain-wasm.toml +++ b/rust-toolchain-wasm.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.81" +channel = "1.87" profile = "default" targets = ["wasm32-unknown-unknown"] \ No newline at end of file diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 78310d00f..8d5bd949b 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -54,12 +54,14 @@ declare() { deploy_core() { CORE_CLASS_HASH=$1 - PROTOBUF_LIB_CLASS_HASH=$2 + ADMIN_ADDRESS=$2 + PROTOBUF_LIB_CLASS_HASH=$3 output=$( starkli deploy --not-unique \ $STARKLI_ARGS \ "$CORE_CLASS_HASH" \ + "$ADMIN_ADDRESS" \ "$PROTOBUF_LIB_CLASS_HASH" \ 2>&1 | tee /dev/tty ) @@ -177,7 +179,11 @@ echo " COMET LIB: $comet_lib_class_hash" echo " ICS23 LIB: $ics23_lib_class_hash" echo " PROTOBUF LIB: $protobuf_lib_class_hash" -core_contract_address=$(deploy_core "$core_class_hash" "$protobuf_lib_class_hash") +admin_address=$(jq -r .deployment.address < $STARKNET_ACCOUNT) + +echo "Admin address: $admin_address" + +core_contract_address=$(deploy_core "$core_class_hash" "$admin_address" "$protobuf_lib_class_hash") comet_contract_address=$(deploy_comet "$comet_class_hash" "$core_contract_address" "$comet_lib_class_hash" "$ics23_lib_class_hash" "$protobuf_lib_class_hash") ics20_contract_address=$(deploy_ics20 "$ics20_class_hash" "$core_contract_address" "$erc20_class_hash")