From 70ddca1cfa14799e26de27a0f7e52d6186008006 Mon Sep 17 00:00:00 2001 From: veeso Date: Mon, 2 Dec 2024 16:23:43 +0100 Subject: [PATCH 1/9] EPROD-1086 confirm or reject blocks on evm --- Cargo.lock | 421 ++++++++++-------- Cargo.toml | 15 +- crates/consensus/beacon/src/lib.rs | 2 +- crates/consensus/consensus/Cargo.toml | 5 +- crates/consensus/consensus/src/lib.rs | 23 +- crates/engine/tree/Cargo.toml | 4 +- crates/engine/tree/src/tree/mod.rs | 49 +- crates/ethereum/consensus/Cargo.toml | 7 + crates/ethereum/consensus/src/bitfinity.rs | 261 +++++++++++ .../ethereum/consensus/src/bitfinity/block.rs | 56 +++ crates/ethereum/consensus/src/lib.rs | 46 +- crates/ethereum/node/Cargo.toml | 4 + crates/ethereum/node/src/node.rs | 24 +- crates/net/downloaders/src/bodies/request.rs | 23 +- crates/node/core/src/args/bitfinity_args.rs | 14 + crates/primitives/src/proofs.rs | 14 +- 16 files changed, 714 insertions(+), 254 deletions(-) create mode 100644 crates/ethereum/consensus/src/bitfinity.rs create mode 100644 crates/ethereum/consensus/src/bitfinity/block.rs diff --git a/Cargo.lock b/Cargo.lock index 6d19aa342f0..228aacbb426 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,7 +207,7 @@ dependencies = [ "alloy-primitives", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -228,7 +228,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -242,7 +242,7 @@ dependencies = [ "k256", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", "url", ] @@ -348,7 +348,7 @@ checksum = "d83524c1f6162fcb5b0decf775498a125066c86dda6066ed609531b0e912f85a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -421,7 +421,7 @@ dependencies = [ "alloy-rpc-types-engine", "serde", "serde_with", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -440,7 +440,7 @@ dependencies = [ "jsonwebtoken", "rand 0.8.5", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -462,7 +462,7 @@ dependencies = [ "proptest-derive 0.4.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -476,7 +476,7 @@ dependencies = [ "alloy-serde", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -516,7 +516,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -534,7 +534,7 @@ dependencies = [ "coins-bip39", "k256", "rand 0.8.5", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -548,7 +548,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -565,7 +565,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "syn-solidity", "tiny-keccak", ] @@ -583,7 +583,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.68", + "syn 2.0.89", "syn-solidity", ] @@ -621,7 +621,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "url", @@ -786,7 +786,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1041,7 +1041,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1052,7 +1052,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1090,7 +1090,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1222,7 +1222,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.68", + "syn 2.0.89", "which", ] @@ -1402,7 +1402,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror", + "thiserror 1.0.61", "time", ] @@ -1442,7 +1442,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "synstructure", ] @@ -1551,7 +1551,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1595,7 +1595,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1608,7 +1608,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1658,7 +1658,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1670,7 +1670,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1693,7 +1693,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1874,7 +1874,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -1896,7 +1896,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1912,7 +1912,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1931,7 +1931,7 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -2001,7 +2001,7 @@ checksum = "45b1f4c00870f07dc34adcac82bb6a72cc5aabca8536ba1797e01df51d2ce9a0" dependencies = [ "directories", "serde", - "thiserror", + "thiserror 1.0.61", "toml", ] @@ -2371,7 +2371,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2432,7 +2432,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2454,7 +2454,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2561,7 +2561,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2574,7 +2574,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2594,14 +2594,14 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "unicode-xid", ] [[package]] name = "did" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "alloy-primitives", "bincode", @@ -2612,18 +2612,17 @@ dependencies = [ "ethers-core", "hex", "ic-log", - "ic-stable-structures 0.22.0", + "ic-stable-structures 0.23.0", "jsonrpc-core", "log", "num", - "once_cell", "rlp", "serde", "serde_json", "serde_with", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 2.0.3", ] [[package]] @@ -2737,7 +2736,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2805,7 +2804,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.9.9", - "thiserror", + "thiserror 1.0.61", "zeroize", ] @@ -2839,7 +2838,7 @@ dependencies = [ "reth-stages", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "walkdir", ] @@ -2910,7 +2909,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2921,7 +2920,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2963,7 +2962,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror", + "thiserror 1.0.61", "uint", ] @@ -2984,8 +2983,8 @@ dependencies = [ [[package]] name = "ethereum-json-rpc-client" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "anyhow", "candid", @@ -3051,7 +3050,7 @@ dependencies = [ "serde_json", "strum", "tempfile", - "thiserror", + "thiserror 1.0.61", "tiny-keccak", "unicode-xid", ] @@ -3085,8 +3084,8 @@ dependencies = [ [[package]] name = "evm-canister-client" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "candid", "did", @@ -3107,7 +3106,7 @@ dependencies = [ "reth-node-ethereum", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -3174,7 +3173,7 @@ dependencies = [ "reth-rpc-types", "reth-tracing", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -3555,7 +3554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -3724,7 +3723,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -3845,7 +3844,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -4260,7 +4259,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -4297,15 +4296,19 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.37.1" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd3fdf5e5c4f4a9fe5ca612f0febd22dcb161d2f2b75b0142326732be5e4978" +checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" dependencies = [ "async-lock", + "async-trait", "backoff", "cached 0.52.0", "candid", + "der", + "ecdsa", "ed25519-consensus", + "elliptic-curve", "futures-util", "hex", "http 1.1.0", @@ -4321,8 +4324,6 @@ dependencies = [ "rand 0.8.5", "rangemap", "reqwest", - "ring", - "rustls-webpki", "sec1", "serde", "serde_bytes", @@ -4330,23 +4331,24 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror", + "thiserror 1.0.61", "time", "tokio", + "tower-service", "url", ] [[package]] name = "ic-canister-client" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "async-trait", "candid", "ic-agent", "ic-exports", "serde", - "thiserror", + "thiserror 2.0.3", ] [[package]] @@ -4359,14 +4361,14 @@ dependencies = [ "ic-certification", "leb128", "nom", - "thiserror", + "thiserror 1.0.61", ] [[package]] name = "ic-cdk" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8ecacd682fa05a985253592963306cb9799622d7b1cce4b1edb89c6ec85be1" +checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" dependencies = [ "candid", "ic-cdk-macros", @@ -4377,23 +4379,23 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4d857135deef20cc7ea8f3869a30cd9cfeb1392b3a81043790b2cd82adc3e0" +checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" dependencies = [ "candid", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] name = "ic-cdk-timers" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7c528bbb3d4d934b43a364855995d318649217c7510f40f92ad52eba3ff7be" +checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" dependencies = [ "futures", "ic-cdk", @@ -4419,7 +4421,7 @@ dependencies = [ "nom", "parking_lot 0.12.3", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4436,16 +4438,16 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "getrandom 0.2.15", ] [[package]] name = "ic-exports" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "candid", "ic-cdk", @@ -4458,8 +4460,8 @@ dependencies = [ [[package]] name = "ic-kit" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "candid", "futures", @@ -4471,8 +4473,8 @@ dependencies = [ [[package]] name = "ic-log" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "anyhow", "arc-swap", @@ -4496,21 +4498,21 @@ dependencies = [ [[package]] name = "ic-stable-structures" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" dependencies = [ "candid", "ic-stable-structures 0.6.5", "parking_lot 0.12.3", "schnellru", - "thiserror", + "thiserror 2.0.3", ] [[package]] name = "ic-transport-types" -version = "0.37.1" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875dc4704780383112e8e8b5063a1b98de114321d0c7d3e7f635dcf360a57fba" +checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" dependencies = [ "candid", "hex", @@ -4518,9 +4520,10 @@ dependencies = [ "leb128", "serde", "serde_bytes", + "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4567,7 +4570,7 @@ dependencies = [ "data-encoding", "serde", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4685,7 +4688,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -4954,7 +4957,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.61", "walkdir", ] @@ -5032,7 +5035,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-rustls", "tokio-util", @@ -5062,7 +5065,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -5087,7 +5090,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "tracing", @@ -5104,7 +5107,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -5127,7 +5130,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -5145,7 +5148,7 @@ dependencies = [ "http 1.1.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5189,9 +5192,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -5298,7 +5301,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5347,7 +5350,7 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror", + "thiserror 1.0.61", "tracing", "unsigned-varint 0.8.0", "void", @@ -5368,7 +5371,7 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", "tracing", "zeroize", ] @@ -5627,7 +5630,7 @@ dependencies = [ "metrics", "metrics-util", "quanta", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5679,7 +5682,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -5757,7 +5760,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6009,7 +6012,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6283,7 +6286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.61", "ucd-trie", ] @@ -6350,7 +6353,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6379,7 +6382,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6496,7 +6499,7 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -6549,7 +6552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6610,9 +6613,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -6692,7 +6695,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -6755,7 +6758,7 @@ dependencies = [ "quinn-udp", "rustc-hash 1.1.0", "rustls", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -6772,7 +6775,7 @@ dependencies = [ "rustc-hash 1.1.0", "rustls", "slab", - "thiserror", + "thiserror 1.0.61", "tinyvec", "tracing", ] @@ -6983,7 +6986,7 @@ checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7285,7 +7288,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "schnellru", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7324,7 +7327,7 @@ dependencies = [ "reth-tracing", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tikv-jemallocator", "tokio", "tokio-util", @@ -7374,7 +7377,7 @@ dependencies = [ "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7479,7 +7482,7 @@ dependencies = [ "proc-macro2", "quote", "similar-asserts", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -7500,6 +7503,7 @@ dependencies = [ name = "reth-consensus" version = "1.0.0" dependencies = [ + "async-trait", "auto_impl", "reth-primitives", "thiserror-no-std", @@ -7575,7 +7579,7 @@ dependencies = [ "sysinfo", "tempfile", "test-fuzz", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7630,7 +7634,7 @@ dependencies = [ "reth-trie", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -7655,7 +7659,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7682,7 +7686,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "secp256k1", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -7708,7 +7712,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7754,7 +7758,7 @@ dependencies = [ "rlp", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7814,7 +7818,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7902,7 +7906,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7933,7 +7937,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7957,13 +7961,18 @@ dependencies = [ "reth-codecs-derive", "reth-primitives", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] name = "reth-ethereum-consensus" version = "1.0.0" dependencies = [ + "async-trait", + "did", + "evm-canister-client", + "ic-agent", + "ic-canister-client", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -8089,7 +8098,7 @@ dependencies = [ "reth-revm", "revm", "revm-primitives", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8179,7 +8188,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-transaction-pool", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8195,7 +8204,7 @@ name = "reth-fs-util" version = "1.0.0" dependencies = [ "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -8212,7 +8221,7 @@ dependencies = [ "rand 0.8.5", "reth-tracing", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -8236,7 +8245,7 @@ dependencies = [ "rand_xorshift", "reth-mdbx-sys", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8269,7 +8278,7 @@ dependencies = [ "quote", "regex", "serial_test", - "syn 2.0.68", + "syn 2.0.89", "trybuild", ] @@ -8288,7 +8297,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8341,7 +8350,7 @@ dependencies = [ "serial_test", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -8358,7 +8367,7 @@ dependencies = [ "reth-eth-wire", "reth-network-peers", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8375,7 +8384,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8391,7 +8400,7 @@ dependencies = [ "secp256k1", "serde_json", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", "url", ] @@ -8425,7 +8434,7 @@ dependencies = [ "serde", "sucds", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", "zstd", ] @@ -8548,7 +8557,7 @@ dependencies = [ "secp256k1", "serde_json", "shellexpand", - "thiserror", + "thiserror 1.0.61", "tikv-jemalloc-ctl", "tokio", "tower", @@ -8562,6 +8571,7 @@ version = "1.0.0" dependencies = [ "alloy-genesis", "alloy-primitives", + "candid", "eyre", "futures", "futures-util", @@ -8587,6 +8597,7 @@ dependencies = [ "reth-transaction-pool", "serde_json", "tokio", + "tracing", ] [[package]] @@ -8653,7 +8664,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8693,7 +8704,7 @@ dependencies = [ "reth-transaction-pool", "revm", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8717,7 +8728,7 @@ dependencies = [ "reth-transaction-pool", "revm", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -8733,7 +8744,7 @@ dependencies = [ "reth-rpc-types", "reth-transaction-pool", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8884,7 +8895,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "reth-tracing", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8906,7 +8917,7 @@ dependencies = [ "serde", "serde_json", "test-fuzz", - "thiserror", + "thiserror 1.0.61", "toml", ] @@ -8976,7 +8987,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tower", @@ -9050,7 +9061,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "tower-http", @@ -9085,7 +9096,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9153,7 +9164,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9267,7 +9278,7 @@ dependencies = [ "reth-trie", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9295,7 +9306,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9389,7 +9400,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", "tracing-futures", @@ -9462,7 +9473,7 @@ dependencies = [ "serde_json", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9551,7 +9562,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-trie", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9586,7 +9597,7 @@ dependencies = [ "colorchoice", "revm", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -10174,7 +10185,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10197,7 +10208,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -10208,7 +10219,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10229,7 +10240,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10271,7 +10282,7 @@ dependencies = [ "darling 0.20.9", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10296,7 +10307,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10446,7 +10457,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.61", "time", ] @@ -10561,7 +10572,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10626,7 +10637,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10700,9 +10711,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", @@ -10718,7 +10729,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10735,7 +10746,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10820,7 +10831,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -10848,7 +10859,16 @@ version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.61", +] + +[[package]] +name = "thiserror" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +dependencies = [ + "thiserror-impl 2.0.3", ] [[package]] @@ -10859,7 +10879,18 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.89", ] [[package]] @@ -11037,7 +11068,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -11222,7 +11253,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror", + "thiserror 1.0.61", "time", "tracing-subscriber", ] @@ -11235,7 +11266,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -11351,7 +11382,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "smallvec", - "thiserror", + "thiserror 1.0.61", "tinyvec", "tokio", "tracing", @@ -11373,7 +11404,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", "trust-dns-proto", @@ -11415,7 +11446,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror", + "thiserror 1.0.61", "utf-8", ] @@ -11692,7 +11723,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "wasm-bindgen-shared", ] @@ -11726,7 +11757,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11867,7 +11898,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -11878,7 +11909,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -12092,7 +12123,7 @@ dependencies = [ "pharos", "rustc_version 0.4.0", "send_wrapper 0.6.0", - "thiserror", + "thiserror 1.0.61", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -12136,7 +12167,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "synstructure", ] @@ -12157,7 +12188,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -12177,7 +12208,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", "synstructure", ] @@ -12198,7 +12229,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -12220,7 +12251,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 1711e063f9e..9a7fc1cf48f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -530,18 +530,23 @@ iai-callgrind = "0.11" # Bitfinity Deps async-channel = "2" candid = "0.10" -did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = ["alloy-primitives-07"], tag = "v0.34.x" } +did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = [ + "alloy-primitives-07", +], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } dirs = "5.0.1" -ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", tag = "v0.34.x", features = [ +ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", branch = "EPROD-1086-block-validation-with-a-single-reth-node", features = [ "reqwest", ] } -evm-canister-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ +evm-canister-client = { git = "htps://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ "ic-agent-client", -], tag = "v0.34.x" } +], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } +ic-agent = { version = "0.39" } +ic-canister-client = { git = "htps://github.com/bitfinity-network/canister-sdk", package = "ic-canister-client", features = [ + "ic-agent-client", +], tag = "v0.23.x" } ic-cbor = "2.3" ic-certificate-verification = "2.3" ic-certification = "2.3" hex = "0.4" lightspeed_scheduler = { version = "0.59.0", features = ["tracing"] } rlp = "0.5" - diff --git a/crates/consensus/beacon/src/lib.rs b/crates/consensus/beacon/src/lib.rs index f62a75f94d5..d4ae10fc53e 100644 --- a/crates/consensus/beacon/src/lib.rs +++ b/crates/consensus/beacon/src/lib.rs @@ -8,7 +8,7 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] -pub use reth_ethereum_consensus::EthBeaconConsensus; +pub use reth_ethereum_consensus::{BitfinityBeaconConsensus, EthBeaconConsensus}; mod engine; pub use engine::*; diff --git a/crates/consensus/consensus/Cargo.toml b/crates/consensus/consensus/Cargo.toml index 1d4d6d758c4..b4be3803a76 100644 --- a/crates/consensus/consensus/Cargo.toml +++ b/crates/consensus/consensus/Cargo.toml @@ -16,7 +16,10 @@ reth-primitives.workspace = true # misc auto_impl.workspace = true -thiserror-no-std = {workspace = true, default-features = false } +thiserror-no-std = { workspace = true, default-features = false } + +# bitfinity +async-trait.workspace = true [features] default = ["std"] diff --git a/crates/consensus/consensus/src/lib.rs b/crates/consensus/consensus/src/lib.rs index 7aee9f15e70..2565931c189 100644 --- a/crates/consensus/consensus/src/lib.rs +++ b/crates/consensus/consensus/src/lib.rs @@ -15,6 +15,7 @@ use reth_primitives::{ B256, U256, }; +use core::future::Future; #[cfg(feature = "std")] use std::fmt::Debug; @@ -48,7 +49,9 @@ impl<'a> PostExecutionInput<'a> { } /// Consensus is a protocol that chooses canonical chain. -#[auto_impl::auto_impl(&, Arc)] +//#[auto_impl::auto_impl(&, Arc)] +#[async_trait::async_trait] +#[auto_impl::auto_impl(Arc)] pub trait Consensus: Debug + Send + Sync { /// Validate if header is correct and follows consensus specification. /// @@ -125,6 +128,24 @@ pub trait Consensus: Debug + Send + Sync { block: &BlockWithSenders, input: PostExecutionInput<'_>, ) -> Result<(), ConsensusError>; + + /// Confirm a block on the EVM. + /// + /// Used only for engines which communicates with the EVM to confirm blocks. + async fn confirm_block_on_evm( + &self, + _block: &BlockWithSenders, + _input: PostExecutionInput<'_>, + ) -> Result<(), ConsensusError> { + Ok(()) + } + + /// Reject a block on the EVM. + /// + /// Used only for engines which communicates with the EVM to confirm blocks. + async fn reject_block_on_evm(&self, _block: &SealedBlock) -> Result<(), ConsensusError> { + Ok(()) + } } /// Consensus Errors diff --git a/crates/engine/tree/Cargo.toml b/crates/engine/tree/Cargo.toml index bcc8ae34bdd..ff52648aef6 100644 --- a/crates/engine/tree/Cargo.toml +++ b/crates/engine/tree/Cargo.toml @@ -41,7 +41,7 @@ revm.workspace = true # common futures.workspace = true -tokio = { workspace = true, features = ["macros", "sync"] } +tokio = { workspace = true, features = ["macros", "rt", "sync"] } tokio-stream = { workspace = true, features = ["sync"] } @@ -61,4 +61,4 @@ reth-prune-types.workspace = true reth-stages = { workspace = true, features = ["test-utils"] } reth-tracing.workspace = true -assert_matches.workspace = true \ No newline at end of file +assert_matches.workspace = true diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index a4ccea51044..349927d0302 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -294,7 +294,7 @@ where ) -> ProviderResult> { // Check if parent exists in side chain or in canonical chain. if self.block_by_hash(parent_hash)?.is_some() { - return Ok(Some(parent_hash)) + return Ok(Some(parent_hash)); } // iterate over ancestors in the invalid cache @@ -308,7 +308,7 @@ where // If current_header is None, then the current_hash does not have an invalid // ancestor in the cache, check its presence in blockchain tree if current_header.is_none() && self.block_by_hash(current_hash)?.is_some() { - return Ok(Some(current_hash)) + return Ok(Some(current_hash)); } } Ok(None) @@ -364,17 +364,17 @@ where "Failed to validate total difficulty for block {}: {e}", block.header.hash() ); - return Err(e) + return Err(e); } if let Err(e) = self.consensus.validate_header(block) { error!(?block, "Failed to validate header {}: {e}", block.header.hash()); - return Err(e) + return Err(e); } if let Err(e) = self.consensus.validate_block_pre_execution(block) { error!(?block, "Failed to validate block {}: {e}", block.header.hash()); - return Err(e) + return Err(e); } Ok(()) @@ -389,7 +389,7 @@ where fn buffer_block(&mut self, block: SealedBlockWithSenders) -> Result<(), InsertBlockError> { if let Err(err) = self.validate_block(&block) { - return Err(InsertBlockError::consensus_error(err, block.block)) + return Err(InsertBlockError::consensus_error(err, block.block)); } self.state.buffer.insert_block(block); Ok(()) @@ -419,7 +419,7 @@ where ) -> Result { if self.block_by_hash(block.hash())?.is_some() { let attachment = BlockAttachment::Canonical; // TODO: remove or revise attachment - return Ok(InsertPayloadOk::AlreadySeen(BlockStatus::Valid(attachment))) + return Ok(InsertPayloadOk::AlreadySeen(BlockStatus::Valid(attachment))); } // validate block consensus rules @@ -432,10 +432,29 @@ where let block_hash = block.hash(); let block = block.unseal(); let output = executor.execute((&block, U256::MAX).into()).unwrap(); - self.consensus.validate_block_post_execution( + + // get runtimeruntime + let runtime = tokio::runtime::Handle::current(); + + if let Err(err) = self.consensus.validate_block_post_execution( + &block, + PostExecutionInput::new(&output.receipts, &output.requests), + ) { + // reject block + tracing::error!( + "Failed to validate block post execution: {:?}; rejecting block on the EVM", + err + ); + runtime.block_on(self.consensus.reject_block_on_evm(&block.clone().seal_slow()))?; + return Err(err.into()); + } + + // confirm block otherwise + tracing::debug!("Confirming block {} on the EVM", block.number); + runtime.block_on(self.consensus.confirm_block_on_evm( &block, PostExecutionInput::new(&output.receipts, &output.requests), - )?; + ))?; let hashed_state = HashedPostState::from_bundle_state(&output.state.state); @@ -524,7 +543,7 @@ where }; let status = PayloadStatusEnum::from(error); - return Ok(TreeOutcome::new(PayloadStatus::new(status, latest_valid_hash))) + return Ok(TreeOutcome::new(PayloadStatus::new(status, latest_valid_hash))); } }; @@ -538,7 +557,7 @@ where if let Some(status) = self.check_invalid_ancestor_with_head(lowest_buffered_ancestor, block_hash)? { - return Ok(TreeOutcome::new(status)) + return Ok(TreeOutcome::new(status)); } let status = if self.is_pipeline_active { @@ -547,13 +566,13 @@ where } else { let mut latest_valid_hash = None; let status = match self.insert_block_without_senders(block).unwrap() { - InsertPayloadOk::Inserted(BlockStatus::Valid(_)) | - InsertPayloadOk::AlreadySeen(BlockStatus::Valid(_)) => { + InsertPayloadOk::Inserted(BlockStatus::Valid(_)) + | InsertPayloadOk::AlreadySeen(BlockStatus::Valid(_)) => { latest_valid_hash = Some(block_hash); PayloadStatusEnum::Valid } - InsertPayloadOk::Inserted(BlockStatus::Disconnected { .. }) | - InsertPayloadOk::AlreadySeen(BlockStatus::Disconnected { .. }) => { + InsertPayloadOk::Inserted(BlockStatus::Disconnected { .. }) + | InsertPayloadOk::AlreadySeen(BlockStatus::Disconnected { .. }) => { // TODO: isn't this check redundant? // check if the block's parent is already marked as invalid // if let Some(status) = self diff --git a/crates/ethereum/consensus/Cargo.toml b/crates/ethereum/consensus/Cargo.toml index 25c865a2bc1..85e6913cccc 100644 --- a/crates/ethereum/consensus/Cargo.toml +++ b/crates/ethereum/consensus/Cargo.toml @@ -17,4 +17,11 @@ reth-consensus-common.workspace = true reth-primitives.workspace = true reth-consensus.workspace = true +# bitfinity +async-trait.workspace = true +did.workspace = true +evm-canister-client.workspace = true +ic-agent.workspace = true +ic-canister-client.workspace = true + tracing.workspace = true diff --git a/crates/ethereum/consensus/src/bitfinity.rs b/crates/ethereum/consensus/src/bitfinity.rs new file mode 100644 index 00000000000..5fac8764226 --- /dev/null +++ b/crates/ethereum/consensus/src/bitfinity.rs @@ -0,0 +1,261 @@ +mod block; + +use block::BitfinityBlock; +use did::{unsafe_blocks::ValidateUnsafeBlockArgs, H256}; +use evm_canister_client::EvmCanisterClient; +use ic_agent::export::Principal; +use ic_canister_client::IcAgentClient; +use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, EthereumHardforks}; +use reth_consensus::{Consensus, ConsensusError, PostExecutionInput}; +use reth_consensus_common::validation::{ + validate_4844_header_standalone, validate_against_parent_4844, + validate_against_parent_eip1559_base_fee, validate_against_parent_hash_number, + validate_against_parent_timestamp, validate_block_pre_execution, validate_header_base_fee, + validate_header_extradata, validate_header_gas, +}; +use reth_primitives::{ + BlockWithSenders, Header, SealedBlock, SealedHeader, EMPTY_OMMER_ROOT_HASH, U256, +}; +use std::{ + path::Path, + sync::Arc, + time::{Duration, SystemTime}, +}; + +use super::validation::validate_block_post_execution; + +/// Ethereum beacon consensus +/// +/// This consensus engine does basic checks as outlined in the execution specs. +pub struct BitfinityBeaconConsensus { + /// Configuration + chain_spec: Arc, + evm_client: EvmCanisterClient, +} + +impl std::fmt::Debug for BitfinityBeaconConsensus { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("BitfinityBeaconConsensus").field("chain_spec", &self.chain_spec).finish() + } +} + +impl BitfinityBeaconConsensus { + /// Create a new instance of [`BitfinityBeaconConsensus`] + pub async fn new( + chain_spec: Arc, + evm_canister: Principal, + ic_identity_path: &Path, + network: &str, + ) -> Self { + let agent_client = IcAgentClient::with_identity( + evm_canister, + ic_identity_path, + network, + Some(Duration::from_secs(30)), + ) + .await + .expect("Failed to create agent client"); + + Self { chain_spec, evm_client: EvmCanisterClient::new(agent_client) } + } +} + +#[async_trait::async_trait] +impl Consensus for BitfinityBeaconConsensus { + fn validate_header(&self, header: &SealedHeader) -> Result<(), ConsensusError> { + validate_header_gas(header)?; + validate_header_base_fee(header, &self.chain_spec)?; + + // EIP-4895: Beacon chain push withdrawals as operations + if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) + && header.withdrawals_root.is_none() + { + return Err(ConsensusError::WithdrawalsRootMissing); + } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) + && header.withdrawals_root.is_some() + { + return Err(ConsensusError::WithdrawalsRootUnexpected); + } + + // Ensures that EIP-4844 fields are valid once cancun is active. + if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { + validate_4844_header_standalone(header)?; + } else if header.blob_gas_used.is_some() { + return Err(ConsensusError::BlobGasUsedUnexpected); + } else if header.excess_blob_gas.is_some() { + return Err(ConsensusError::ExcessBlobGasUnexpected); + } else if header.parent_beacon_block_root.is_some() { + return Err(ConsensusError::ParentBeaconBlockRootUnexpected); + } + + if self.chain_spec.is_prague_active_at_timestamp(header.timestamp) { + if header.requests_root.is_none() { + return Err(ConsensusError::RequestsRootMissing); + } + } else if header.requests_root.is_some() { + return Err(ConsensusError::RequestsRootUnexpected); + } + + Ok(()) + } + + fn validate_header_against_parent( + &self, + header: &SealedHeader, + parent: &SealedHeader, + ) -> Result<(), ConsensusError> { + validate_against_parent_hash_number(header, parent)?; + + validate_against_parent_timestamp(header, parent)?; + + // TODO Check difficulty increment between parent and self + // Ace age did increment it by some formula that we need to follow. + // self.validate_against_parent_gas_limit(header, parent)?; + + validate_against_parent_eip1559_base_fee(header, parent, &self.chain_spec)?; + + // ensure that the blob gas fields for this block + if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { + validate_against_parent_4844(header, parent)?; + } + + Ok(()) + } + + fn validate_header_with_total_difficulty( + &self, + header: &Header, + total_difficulty: U256, + ) -> Result<(), ConsensusError> { + let is_post_merge = self + .chain_spec + .fork(EthereumHardfork::Paris) + .active_at_ttd(total_difficulty, header.difficulty); + + if is_post_merge { + if !header.is_zero_difficulty() { + return Err(ConsensusError::TheMergeDifficultyIsNotZero); + } + + if header.nonce != 0 { + return Err(ConsensusError::TheMergeNonceIsNotZero); + } + + if header.ommers_hash != EMPTY_OMMER_ROOT_HASH { + return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty); + } + + // Post-merge, the consensus layer is expected to perform checks such that the block + // timestamp is a function of the slot. This is different from pre-merge, where blocks + // are only allowed to be in the future (compared to the system's clock) by a certain + // threshold. + // + // Block validation with respect to the parent should ensure that the block timestamp + // is greater than its parent timestamp. + + // validate header extradata for all networks post merge + validate_header_extradata(header)?; + + // mixHash is used instead of difficulty inside EVM + // https://eips.ethereum.org/EIPS/eip-4399#using-mixhash-field-instead-of-difficulty + } else { + // TODO Consensus checks for old blocks: + // * difficulty, mix_hash & nonce aka PoW stuff + // low priority as syncing is done in reverse order + + // Check if timestamp is in the future. Clock can drift but this can be consensus issue. + let present_timestamp = + SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs(); + + if header.exceeds_allowed_future_timestamp(present_timestamp) { + return Err(ConsensusError::TimestampIsInFuture { + timestamp: header.timestamp, + present_timestamp, + }); + } + + // Goerli and early OP exception: + // * If the network is goerli pre-merge, ignore the extradata check, since we do not + // support clique. Same goes for OP blocks below Bedrock. + if self.chain_spec.chain != Chain::goerli() && !self.chain_spec.is_optimism() { + validate_header_extradata(header)?; + } + } + + Ok(()) + } + + fn validate_block_pre_execution(&self, block: &SealedBlock) -> Result<(), ConsensusError> { + validate_block_pre_execution(block, &self.chain_spec) + } + + fn validate_block_post_execution( + &self, + block: &BlockWithSenders, + input: PostExecutionInput<'_>, + ) -> Result<(), ConsensusError> { + validate_block_post_execution(block, &self.chain_spec, input.receipts, input.requests) + } + + /// Confirm a block on the EVM. + /// + /// Used only for engines which communicates with the EVM to confirm blocks. + async fn confirm_block_on_evm( + &self, + block: &BlockWithSenders, + input: PostExecutionInput<'_>, + ) -> Result<(), ConsensusError> { + let block = BitfinityBlock::from(block); + + let res = self + .evm_client + .validate_unsafe_block(ValidateUnsafeBlockArgs { + block_number: block.number(), + block_hash: block.hash(), + state_root: block.state_root(), + transactions_root: block.transaction_root(), + receipts_root: block.receipts_root(&input.receipts), + }) + .await + .map_err(|_| ConsensusError::RequestsRootUnexpected)?; + + tracing::info!( + "Validate unsafe block response for block {} (confirm): {res:?}", + block.number() + ); + + if let Err(err) = res { + tracing::error!("Failed to validate unsafe block: {err:?}"); + return Err(ConsensusError::RequestsRootUnexpected); + } + + Ok(()) + } + + /// Reject a block on the EVM, by sending an invalid block to the EVM. + async fn reject_block_on_evm(&self, block: &SealedBlock) -> Result<(), ConsensusError> { + // we expect error here + let res = self + .evm_client + .validate_unsafe_block(ValidateUnsafeBlockArgs { + block_number: block.number, + block_hash: H256::zero(), + state_root: H256::zero(), + transactions_root: H256::zero(), + receipts_root: H256::zero(), + }) + .await + .map_err(|_| ConsensusError::RequestsRootUnexpected)?; + + if res.is_ok() { + return Err(ConsensusError::RequestsRootUnexpected); + } + + tracing::info!( + "Validate unsafe block response for block {} (reject): {res:?}", + block.number + ); + + Ok(()) + } +} diff --git a/crates/ethereum/consensus/src/bitfinity/block.rs b/crates/ethereum/consensus/src/bitfinity/block.rs new file mode 100644 index 00000000000..27021a72c85 --- /dev/null +++ b/crates/ethereum/consensus/src/bitfinity/block.rs @@ -0,0 +1,56 @@ +use std::iter::Iterator; + +use did::H256; + +use reth_primitives::{BlockWithSenders, Receipt}; + +/// It's just [`Block`] with additional functions for validation. +pub struct BitfinityBlock<'a>(&'a BlockWithSenders); + +impl<'a> From<&'a BlockWithSenders> for BitfinityBlock<'a> { + fn from(block: &'a BlockWithSenders) -> Self { + Self(block) + } +} + +impl<'a> BitfinityBlock<'a> { + /// Get transaction hashes + pub fn txs_hash(&self) -> impl Iterator + '_ { + self.0.body.iter().map(|tx| H256::from_slice(tx.hash.as_ref())).into_iter() + } + + /// Get block number + pub fn number(&self) -> u64 { + self.0.number + } + + /// Calculate the block hash + pub fn hash(&self) -> H256 { + let hash = self.0.clone().seal_slow().hash(); + + H256::from_slice(hash.as_ref()) + } + + /// Get the parent hash + pub fn state_root(&self) -> H256 { + let hash = self.0.state_root; + + H256::from_slice(hash.as_ref()) + } + + /// Calculate transaction root for this block + pub fn transaction_root(&self) -> H256 { + let calculated_root = reth_primitives::proofs::calculate_transaction_root(&self.0.body); + + H256::from_slice(calculated_root.as_ref()) + } + + /// Calculate and get the receipts root for this block + pub fn receipts_root(&self, receipts: &[Receipt]) -> H256 { + let receipts_with_bloom = + receipts.iter().map(|receipt| receipt.clone().with_bloom()).collect::>(); + let calculated_root = reth_primitives::proofs::calculate_receipt_root(&receipts_with_bloom); + + H256::from_slice(calculated_root.as_ref()) + } +} diff --git a/crates/ethereum/consensus/src/lib.rs b/crates/ethereum/consensus/src/lib.rs index e392b0b4700..a6cc0e4130c 100644 --- a/crates/ethereum/consensus/src/lib.rs +++ b/crates/ethereum/consensus/src/lib.rs @@ -8,6 +8,8 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +mod bitfinity; + use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, EthereumHardforks}; use reth_consensus::{Consensus, ConsensusError, PostExecutionInput}; use reth_consensus_common::validation::{ @@ -23,6 +25,7 @@ use reth_primitives::{ use std::{sync::Arc, time::SystemTime}; mod validation; +pub use self::bitfinity::BitfinityBeaconConsensus; pub use validation::validate_block_post_execution; /// Ethereum beacon consensus @@ -52,8 +55,9 @@ impl EthBeaconConsensus { // Determine the parent gas limit, considering elasticity multiplier on the London fork. let parent_gas_limit = if self.chain_spec.fork(EthereumHardfork::London).transitions_at_block(header.number) { - parent.gas_limit * - self.chain_spec + parent.gas_limit + * self + .chain_spec .base_fee_params_at_timestamp(header.timestamp) .elasticity_multiplier as u64 } else { @@ -66,7 +70,7 @@ impl EthBeaconConsensus { return Err(ConsensusError::GasLimitInvalidIncrease { parent_gas_limit, child_gas_limit: header.gas_limit, - }) + }); } } // Check for a decrease in gas limit beyond the allowed threshold. @@ -74,11 +78,13 @@ impl EthBeaconConsensus { return Err(ConsensusError::GasLimitInvalidDecrease { parent_gas_limit, child_gas_limit: header.gas_limit, - }) + }); } // Check if the self gas limit is below the minimum required limit. else if header.gas_limit < MINIMUM_GAS_LIMIT { - return Err(ConsensusError::GasLimitInvalidMinimum { child_gas_limit: header.gas_limit }) + return Err(ConsensusError::GasLimitInvalidMinimum { + child_gas_limit: header.gas_limit, + }); } Ok(()) @@ -91,33 +97,33 @@ impl Consensus for EthBeaconConsensus { validate_header_base_fee(header, &self.chain_spec)?; // EIP-4895: Beacon chain push withdrawals as operations - if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) && - header.withdrawals_root.is_none() + if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) + && header.withdrawals_root.is_none() { - return Err(ConsensusError::WithdrawalsRootMissing) - } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) && - header.withdrawals_root.is_some() + return Err(ConsensusError::WithdrawalsRootMissing); + } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) + && header.withdrawals_root.is_some() { - return Err(ConsensusError::WithdrawalsRootUnexpected) + return Err(ConsensusError::WithdrawalsRootUnexpected); } // Ensures that EIP-4844 fields are valid once cancun is active. if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { validate_4844_header_standalone(header)?; } else if header.blob_gas_used.is_some() { - return Err(ConsensusError::BlobGasUsedUnexpected) + return Err(ConsensusError::BlobGasUsedUnexpected); } else if header.excess_blob_gas.is_some() { - return Err(ConsensusError::ExcessBlobGasUnexpected) + return Err(ConsensusError::ExcessBlobGasUnexpected); } else if header.parent_beacon_block_root.is_some() { - return Err(ConsensusError::ParentBeaconBlockRootUnexpected) + return Err(ConsensusError::ParentBeaconBlockRootUnexpected); } if self.chain_spec.is_prague_active_at_timestamp(header.timestamp) { if header.requests_root.is_none() { - return Err(ConsensusError::RequestsRootMissing) + return Err(ConsensusError::RequestsRootMissing); } } else if header.requests_root.is_some() { - return Err(ConsensusError::RequestsRootUnexpected) + return Err(ConsensusError::RequestsRootUnexpected); } Ok(()) @@ -158,15 +164,15 @@ impl Consensus for EthBeaconConsensus { if is_post_merge { if !header.is_zero_difficulty() { - return Err(ConsensusError::TheMergeDifficultyIsNotZero) + return Err(ConsensusError::TheMergeDifficultyIsNotZero); } if header.nonce != 0 { - return Err(ConsensusError::TheMergeNonceIsNotZero) + return Err(ConsensusError::TheMergeNonceIsNotZero); } if header.ommers_hash != EMPTY_OMMER_ROOT_HASH { - return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty) + return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty); } // Post-merge, the consensus layer is expected to perform checks such that the block @@ -195,7 +201,7 @@ impl Consensus for EthBeaconConsensus { return Err(ConsensusError::TimestampIsInFuture { timestamp: header.timestamp, present_timestamp, - }) + }); } // Goerli and early OP exception: diff --git a/crates/ethereum/node/Cargo.toml b/crates/ethereum/node/Cargo.toml index 54e54a0ebb7..fb449712ccf 100644 --- a/crates/ethereum/node/Cargo.toml +++ b/crates/ethereum/node/Cargo.toml @@ -26,8 +26,12 @@ reth-consensus.workspace = true reth-auto-seal-consensus.workspace = true reth-beacon-consensus.workspace = true +# bitfinity +candid.workspace = true + # misc eyre.workspace = true +tracing.workspace = true [dev-dependencies] reth.workspace = true diff --git a/crates/ethereum/node/src/node.rs b/crates/ethereum/node/src/node.rs index c3d8a9af55f..16cd35ab3ff 100644 --- a/crates/ethereum/node/src/node.rs +++ b/crates/ethereum/node/src/node.rs @@ -3,7 +3,7 @@ use crate::{EthEngineTypes, EthEvmConfig}; use reth_auto_seal_consensus::AutoSealConsensus; use reth_basic_payload_builder::{BasicPayloadJobGenerator, BasicPayloadJobGeneratorConfig}; -use reth_beacon_consensus::EthBeaconConsensus; +use reth_beacon_consensus::{BitfinityBeaconConsensus, EthBeaconConsensus}; use reth_ethereum_engine_primitives::{ EthBuiltPayload, EthPayloadAttributes, EthPayloadBuilderAttributes, }; @@ -263,7 +263,29 @@ where async fn build_consensus(self, ctx: &BuilderContext) -> eyre::Result { if ctx.is_dev() { Ok(Arc::new(AutoSealConsensus::new(ctx.chain_spec()))) + } else if ctx.config().bitfinity_import_arg.validate_block_ic_identity_file_path.is_some() { + tracing::info!("Using Bitfinity Beacon Consensus"); + let evm_canister = + candid::Principal::from_text(&ctx.config().bitfinity_import_arg.evmc_principal) + .expect("Failed to parse principal"); + let ic_identity_path = ctx + .config() + .bitfinity_import_arg + .validate_block_ic_identity_file_path + .as_ref() + .unwrap(); + let network = ctx.config().bitfinity_import_arg.evm_network.as_str(); + Ok(Arc::new( + BitfinityBeaconConsensus::new( + ctx.chain_spec(), + evm_canister, + &ic_identity_path, + network, + ) + .await, + )) } else { + tracing::info!("Using Ethereum Beacon Consensus"); Ok(Arc::new(EthBeaconConsensus::new(ctx.chain_spec()))) } } diff --git a/crates/net/downloaders/src/bodies/request.rs b/crates/net/downloaders/src/bodies/request.rs index 6e402b920e2..0a1d66b1c4a 100644 --- a/crates/net/downloaders/src/bodies/request.rs +++ b/crates/net/downloaders/src/bodies/request.rs @@ -129,15 +129,19 @@ where // block or deliberately sent a single block. if bodies.is_empty() { tracing::error!("Received empty response from peer"); - return Err(DownloadError::EmptyResponse) + return Err(DownloadError::EmptyResponse); } if response_len > request_len { - tracing::error!("Received empty response from peer. Expected {} bodies, got {}", request_len, response_len); + tracing::error!( + "Received empty response from peer. Expected {} bodies, got {}", + request_len, + response_len + ); return Err(DownloadError::TooManyBodies(GotExpected { got: response_len, expected: request_len, - })) + })); } // Buffer block responses @@ -183,7 +187,14 @@ where let block = SealedBlock::new(next_header, next_body); if let Err(error) = self.consensus.validate_block_pre_execution(&block) { + // block is invalid; reject block on the EVM + let handle = tokio::runtime::Handle::current(); + if let Err(err) = handle.block_on(self.consensus.reject_block_on_evm(&block)) { + tracing::error!(target: "downloaders::bodies", ?err, "Failed to reject block"); + } + // Body is invalid, put the header back and return an error + let hash = block.hash(); let number = block.number; self.pending_headers.push_front(block.header); @@ -191,7 +202,7 @@ where hash, number, error: Box::new(error), - }) + }); } self.buffer.push(BlockResponse::Full(block)); @@ -217,7 +228,7 @@ where loop { if this.pending_headers.is_empty() { - return Poll::Ready(Ok(std::mem::take(&mut this.buffer))) + return Poll::Ready(Ok(std::mem::take(&mut this.buffer))); } // Check if there is a pending requests. It might not exist if all @@ -232,7 +243,7 @@ where } Err(error) => { if error.is_channel_closed() { - return Poll::Ready(Err(error.into())) + return Poll::Ready(Err(error.into())); } this.on_error(error.into(), None); diff --git a/crates/node/core/src/args/bitfinity_args.rs b/crates/node/core/src/args/bitfinity_args.rs index 97489ff823a..299c85037ee 100644 --- a/crates/node/core/src/args/bitfinity_args.rs +++ b/crates/node/core/src/args/bitfinity_args.rs @@ -56,6 +56,20 @@ pub struct BitfinityImportArgs { /// Root key for the IC network #[arg(long, value_name = "IC_ROOT_KEY", default_value = IC_MAINNET_KEY)] pub ic_root_key: String, + + /// Path to an identity PEM file to use to validate blocks when running the node. + /// + /// If not provided blocks will not be validated. + #[arg(long, value_name = "IDENTITY_FILE_PATH")] + pub validate_block_ic_identity_file_path: Option, + + /// Network url + /// This is the URL of the IC network. + /// E.g. + /// - https://ic0.app + /// - http://127.0.0.1:3333 + #[arg(long, default_value = "ic")] + pub evm_network: String, } /// Bitfinity Related Args diff --git a/crates/primitives/src/proofs.rs b/crates/primitives/src/proofs.rs index 9e0a0357905..beef544d6e1 100644 --- a/crates/primitives/src/proofs.rs +++ b/crates/primitives/src/proofs.rs @@ -49,8 +49,8 @@ pub fn calculate_receipt_root_optimism( // encoding. In the Regolith Hardfork, we must strip the deposit nonce from the // receipts before calculating the receipt root. This was corrected in the Canyon // hardfork. - if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) && - !chain_spec + if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) + && !chain_spec .is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Canyon, timestamp) { let receipts = receipts @@ -64,7 +64,7 @@ pub fn calculate_receipt_root_optimism( return ordered_trie_root_with_encoder(receipts.as_slice(), |r, buf| { r.encode_inner(buf, false) - }) + }); } ordered_trie_root_with_encoder(receipts, |r, buf| r.encode_inner(buf, false)) @@ -98,8 +98,8 @@ pub fn calculate_receipt_root_no_memo_optimism( // encoding. In the Regolith Hardfork, we must strip the deposit nonce from the // receipts before calculating the receipt root. This was corrected in the Canyon // hardfork. - if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) && - !chain_spec + if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) + && !chain_spec .is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Canyon, timestamp) { let receipts = receipts @@ -113,7 +113,7 @@ pub fn calculate_receipt_root_no_memo_optimism( return ordered_trie_root_with_encoder(&receipts, |r, buf| { ReceiptWithBloomRef::from(r).encode_inner(buf, false) - }) + }); } ordered_trie_root_with_encoder(receipts, |r, buf| { @@ -125,7 +125,7 @@ pub fn calculate_receipt_root_no_memo_optimism( pub fn calculate_ommers_root(ommers: &[Header]) -> B256 { // Check if `ommers` list is empty if ommers.is_empty() { - return EMPTY_OMMER_ROOT_HASH + return EMPTY_OMMER_ROOT_HASH; } // RLP Encode let mut ommers_rlp = Vec::new(); From e0daa0c24cfc881dd916bfcc9f2d4e8503681171 Mon Sep 17 00:00:00 2001 From: veeso Date: Wed, 4 Dec 2024 13:02:26 +0100 Subject: [PATCH 2/9] EPROD-1086 confirm or reject blocks on evm --- Cargo.lock | 28 +++ Cargo.toml | 4 + bin/reth/Cargo.toml | 5 +- bin/reth/src/commands/bitfinity_import.rs | 47 ++++- bin/reth/tests/commands/utils.rs | 3 + crates/bitfinity-block-validator/Cargo.toml | 27 +++ crates/bitfinity-block-validator/src/lib.rs | 172 ++++++++++++++++++ crates/net/downloaders/Cargo.toml | 8 +- .../downloaders/src/bitfinity_evm_client.rs | 65 ++++++- crates/node/core/src/args/bitfinity_args.rs | 4 + 10 files changed, 352 insertions(+), 11 deletions(-) create mode 100644 crates/bitfinity-block-validator/Cargo.toml create mode 100644 crates/bitfinity-block-validator/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 228aacbb426..3953eb4c71c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1270,6 +1270,26 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitfinity-block-validator" +version = "1.0.0" +dependencies = [ + "async-trait", + "did", + "evm-canister-client", + "ic-agent", + "ic-canister-client", + "itertools 0.13.0", + "reth-db", + "reth-engine-tree", + "reth-evm", + "reth-evm-ethereum", + "reth-primitives", + "reth-provider", + "reth-revm", + "tracing", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -7110,6 +7130,7 @@ dependencies = [ "async-channel 2.3.1", "async-trait", "backon", + "bitfinity-block-validator", "candid", "clap", "confy", @@ -7121,6 +7142,7 @@ dependencies = [ "eyre", "fdlimit", "futures", + "hex", "itertools 0.13.0", "jsonrpsee", "libc", @@ -7144,10 +7166,12 @@ dependencies = [ "reth-db-common", "reth-discv4", "reth-downloaders", + "reth-engine-tree", "reth-engine-util", "reth-errors", "reth-ethereum-payload-builder", "reth-evm", + "reth-evm-ethereum", "reth-execution-types", "reth-exex", "reth-fs-util", @@ -7726,13 +7750,17 @@ dependencies = [ "alloy-rlp", "assert_matches", "backon", + "bitfinity-block-validator", "candid", "did", "ethereum-json-rpc-client", + "evm-canister-client", "eyre", "futures", "futures-util", "hex", + "ic-agent", + "ic-canister-client", "ic-cbor", "ic-certificate-verification", "ic-certification", diff --git a/Cargo.toml b/Cargo.toml index 9a7fc1cf48f..506aeb4f1cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ exclude = [".github/"] members = [ "bin/reth-bench/", "bin/reth/", + "crates/bitfinity-block-validator", "crates/blockchain-tree/", "crates/blockchain-tree-api/", "crates/chainspec/", @@ -527,6 +528,9 @@ similar-asserts = "1.5.0" test-fuzz = "5" iai-callgrind = "0.11" +# Bitfinity crates +bitfinity-block-validator = { path = "crates/bitfinity-block-validator" } + # Bitfinity Deps async-channel = "2" candid = "0.10" diff --git a/bin/reth/Cargo.toml b/bin/reth/Cargo.toml index caf21dd0c74..7aca9d068f9 100644 --- a/bin/reth/Cargo.toml +++ b/bin/reth/Cargo.toml @@ -118,10 +118,14 @@ libc = "0.2" # bitfinity dependencies async-trait = { workspace = true } async-channel.workspace = true +bitfinity-block-validator.workspace = true candid.workspace = true did.workspace = true ethereum-json-rpc-client = { workspace = true, features = ["reqwest"] } evm-canister-client = { workspace = true, features = ["ic-agent-client"] } +hex.workspace = true +reth-engine-tree.workspace = true +reth-evm-ethereum.workspace = true lightspeed_scheduler = { workspace = true, features = ["tracing"] } rlp = { workspace = true } serial_test.workspace = true @@ -130,7 +134,6 @@ serial_test.workspace = true reth-discv4.workspace = true - # bitfinity dev dependencies dirs.workspace = true jsonrpsee = { workspace = true } diff --git a/bin/reth/src/commands/bitfinity_import.rs b/bin/reth/src/commands/bitfinity_import.rs index 8ded202c962..db2aa8bd380 100644 --- a/bin/reth/src/commands/bitfinity_import.rs +++ b/bin/reth/src/commands/bitfinity_import.rs @@ -1,6 +1,8 @@ //! Command that initializes the node by importing a chain from a remote EVM node. use crate::{dirs::DataDirPath, macros::block_executor, version::SHORT_VERSION}; +use bitfinity_block_validator::BitfinityBlockValidator; +use evm_canister_client::{EvmCanisterClient, IcAgentClient}; use futures::{Stream, StreamExt}; use lightspeed_scheduler::{job::Job, scheduler::Scheduler, JobExecutor}; use reth_beacon_consensus::EthBeaconConsensus; @@ -125,6 +127,28 @@ impl BitfinityImportCommand { /// Execute the import job. async fn single_execution(&self) -> eyre::Result<()> { + let evmc_principal = candid::Principal::from_text(&self.bitfinity.evmc_principal) + .expect("Failed to parse principal"); + + // make block validation client if identity path is set + let evm_block_validator = + if let Some(identity) = self.bitfinity.validate_block_ic_identity_file_path.as_ref() { + let evm_client = EvmCanisterClient::new( + IcAgentClient::with_identity( + evmc_principal, + identity, + &self.bitfinity.evm_network, + Some(Duration::from_secs(30)), + ) + .await + .expect("Failed to create agent client"), + ); + + Some(BitfinityBlockValidator::new(evm_client, self.provider_factory.clone())) + } else { + None + }; + let consensus = Arc::new(EthBeaconConsensus::new(self.chain.clone())); debug!(target: "reth::cli - BitfinityImportCommand", "Consensus engine initialized"); let provider_factory = self.provider_factory.clone(); @@ -139,6 +163,27 @@ impl BitfinityImportCommand { backup_url: self.bitfinity.backup_rpc_url.clone(), max_retries: self.bitfinity.max_retries, retry_delay: Duration::from_secs(self.bitfinity.retry_delay_secs), + evm_block_validator, + }; + + let ic_root_key = if self.bitfinity.fetch_ic_root_key { + let ic_identity_path = self + .bitfinity + .validate_block_ic_identity_file_path + .as_ref() + .expect("identity path not set"); + let agent = evm_canister_client::agent::identity::init_agent( + &ic_identity_path, + &self.bitfinity.evm_network, + None, + ) + .await?; + + agent.fetch_root_key().await.expect("failed to fetch IC root key"); + let root_key = agent.read_root_key(); + hex::encode(root_key) + } else { + self.bitfinity.ic_root_key.clone() }; let remote_client = Arc::new( @@ -150,7 +195,7 @@ impl BitfinityImportCommand { self.bitfinity.max_fetch_blocks, Some(CertificateCheckSettings { evmc_principal: self.bitfinity.evmc_principal.clone(), - ic_root_key: self.bitfinity.ic_root_key.clone(), + ic_root_key, }), ) .await?, diff --git a/bin/reth/tests/commands/utils.rs b/bin/reth/tests/commands/utils.rs index b2fa8338932..54c09c11dee 100644 --- a/bin/reth/tests/commands/utils.rs +++ b/bin/reth/tests/commands/utils.rs @@ -153,6 +153,9 @@ pub async fn bitfinity_import_config_data( backup_rpc_url: backup_evm_datasource_url, max_retries: 3, retry_delay_secs: 3, + validate_block_ic_identity_file_path: None, + evm_network: "ic".to_string(), + fetch_ic_root_key: false, }; Ok(( diff --git a/crates/bitfinity-block-validator/Cargo.toml b/crates/bitfinity-block-validator/Cargo.toml new file mode 100644 index 00000000000..350a9082ad0 --- /dev/null +++ b/crates/bitfinity-block-validator/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "bitfinity-block-validator" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +homepage.workspace = true +repository.workspace = true + +[lints] +workspace = true + +[dependencies] +async-trait.workspace = true +did.workspace = true +evm-canister-client.workspace = true +ic-agent.workspace = true +ic-canister-client.workspace = true +itertools.workspace = true +reth-db.workspace = true +reth-engine-tree.workspace = true +reth-evm.workspace = true +reth-evm-ethereum.workspace = true +reth-provider.workspace = true +reth-primitives.workspace = true +reth-revm.workspace = true +tracing.workspace = true diff --git a/crates/bitfinity-block-validator/src/lib.rs b/crates/bitfinity-block-validator/src/lib.rs new file mode 100644 index 00000000000..4ff88994c4a --- /dev/null +++ b/crates/bitfinity-block-validator/src/lib.rs @@ -0,0 +1,172 @@ +//! Bitfinity block validator. + +use did::unsafe_blocks::ValidateUnsafeBlockArgs; +use did::{Transaction, H256}; +use evm_canister_client::{CanisterClient, EvmCanisterClient}; +use itertools::Itertools; +use reth_db::database::Database; +use reth_engine_tree::tree::MemoryOverlayStateProvider; +use reth_evm::execute::BlockExecutorProvider as _; +use reth_evm::execute::Executor as _; +use reth_evm_ethereum::execute::EthExecutorProvider; +use reth_evm_ethereum::{execute::EthBlockExecutor, EthEvmConfig}; +use reth_primitives::Address; +use reth_primitives::U256; +use reth_primitives::{Block, BlockWithSenders}; +use reth_provider::{ChainSpecProvider as _, ExecutionOutcome, ProviderFactory, StateProvider}; +use reth_revm::database::StateProviderDatabase; + +/// Block validator for Bitfinity. +/// +/// The validator validates the block by executing it and then +/// confirming it on the EVM. +#[derive(Clone, Debug)] +pub struct BitfinityBlockValidator +where + C: CanisterClient, +{ + evm_client: EvmCanisterClient, + provider_factory: ProviderFactory, +} + +impl BitfinityBlockValidator +where + C: CanisterClient, + DB: Database, +{ + /// Create a new [`BitfinityBlockValidator`]. + pub fn new(evm_client: EvmCanisterClient, provider_factory: ProviderFactory) -> Self { + Self { evm_client, provider_factory } + } + + /// Validate a block. + pub async fn validate_block( + &self, + block: Block, + transactions: &[Transaction], + ) -> Result<(), Box> { + let validate_args = self.execute_block(block, transactions)?; + self.validate_unsafe_block(validate_args).await?; + + Ok(()) + } + + /// Execute block and return validation arguments. + fn execute_block( + &self, + block: Block, + transactions: &[Transaction], + ) -> Result> { + // execute the block + let block_number = block.number; + tracing::debug!("Executing block: {block_number}",); + let executor = self.executor(); + let block_with_senders = Self::convert_block(block, transactions); + + let output = match executor.execute((&block_with_senders, U256::MAX).into()) { + Ok(output) => output, + Err(err) => { + tracing::error!("Failed to execute block: {err:?}"); + return Ok(ValidateUnsafeBlockArgs { + block_number, + block_hash: H256::zero(), + transactions_root: H256::zero(), + state_root: H256::zero(), + receipts_root: H256::zero(), + }); + } + }; + + // calculate the receipts root + let receipts_with_bloom = + output.receipts.iter().map(|receipt| receipt.clone().with_bloom()).collect::>(); + let calculated_root = reth_primitives::proofs::calculate_receipt_root(&receipts_with_bloom); + let receipts_root = H256::from_slice(calculated_root.as_ref()); + tracing::debug!("Block {block_number} receipts root: {receipts_root}",); + + // calculate trasnsactions_root + let calculated_root = + reth_primitives::proofs::calculate_transaction_root(&block_with_senders.body); + let transactions_root = H256::from_slice(calculated_root.as_ref()); + tracing::debug!("Block {block_number} transactions root: {transactions_root}",); + + // calculate block hash + let calculated_block_hash = block_with_senders.clone().seal_slow().hash(); + let block_hash = H256::from_slice(calculated_block_hash.as_ref()); + tracing::debug!("Block {block_number} hash: {block_hash}",); + + // get state root + let execution_outcome = ExecutionOutcome::new( + output.state, + output.receipts.into(), + block_number, + vec![output.requests.into()], + ); + let provider = match self.provider_factory.provider() { + Ok(provider) => provider, + Err(err) => { + tracing::error!("Failed to get provider: {err:?}"); + return Err(Box::new(err)); + } + }; + let calculated_state_root = + execution_outcome.hash_state_slow().state_root_with_updates(provider.tx_ref())?.0; + let state_root = H256::from_slice(calculated_state_root.as_ref()); + tracing::debug!("Block {block_number} state root: {state_root}",); + + Ok(ValidateUnsafeBlockArgs { + block_number, + block_hash, + transactions_root, + state_root, + receipts_root, + }) + } + + /// Convert [`Block`] to [`BlockWithSenders`]. + fn convert_block(block: Block, transactions: &[Transaction]) -> BlockWithSenders { + let senders = transactions + .iter() + .map(|tx| &tx.from) + .map(|from| Address::from_slice(from.0.as_ref())) + .unique() + .collect::>(); + tracing::debug!("Found {} unique senders in block", senders.len()); + + BlockWithSenders { block, senders } + } + + /// Try to validate an unsafe block on the EVM. + async fn validate_unsafe_block( + &self, + validate_args: ValidateUnsafeBlockArgs, + ) -> Result<(), Box> { + let block_number = validate_args.block_number; + tracing::info!("Confirming block on EVM: {block_number}: {validate_args:?}",); + + let res = self.evm_client.validate_unsafe_block(validate_args).await?; + + tracing::info!("Validate unsafe block response for block {block_number}: {res:?}",); + + if let Err(err) = res { + tracing::error!("Failed to validate unsafe block: {err:?}"); + return Err(Box::new(err)); + } + + Ok(()) + } + + /// Get the block executor for the latest block. + fn executor( + &self, + ) -> EthBlockExecutor< + EthEvmConfig, + StateProviderDatabase>>, + > { + let historical = self.provider_factory.latest().expect("no latest provider"); + + let db = MemoryOverlayStateProvider::new(Vec::new(), historical); + let executor = EthExecutorProvider::ethereum(self.provider_factory.chain_spec()); + executor.executor(StateProviderDatabase::new(db)) + } +} diff --git a/crates/net/downloaders/Cargo.toml b/crates/net/downloaders/Cargo.toml index 3e7ebb81a4a..b45357e17e7 100644 --- a/crates/net/downloaders/Cargo.toml +++ b/crates/net/downloaders/Cargo.toml @@ -20,9 +20,7 @@ reth-network-peers.workspace = true reth-primitives.workspace = true reth-storage-api.workspace = true reth-tasks.workspace = true - -# optional deps for the test-utils feature -reth-db = { workspace = true, optional = true } +reth-db = { workspace = true } reth-db-api = { workspace = true, optional = true } reth-testing-utils = { workspace = true, optional = true } @@ -50,11 +48,15 @@ tempfile = { workspace = true, optional = true } itertools.workspace = true # Bitfinity deps +bitfinity-block-validator.workspace = true candid.workspace = true did.workspace = true eyre.workspace = true ethereum-json-rpc-client.workspace = true +evm-canister-client.workspace = true hex.workspace = true +ic-agent.workspace = true +ic-canister-client.workspace = true ic-cbor.workspace = true ic-certificate-verification.workspace = true ic-certification.workspace = true diff --git a/crates/net/downloaders/src/bitfinity_evm_client.rs b/crates/net/downloaders/src/bitfinity_evm_client.rs index d95b593e623..182f0229305 100644 --- a/crates/net/downloaders/src/bitfinity_evm_client.rs +++ b/crates/net/downloaders/src/bitfinity_evm_client.rs @@ -1,7 +1,9 @@ +use bitfinity_block_validator::BitfinityBlockValidator; use candid::Principal; use did::certified::CertifiedResult; use ethereum_json_rpc_client::{reqwest::ReqwestClient, EthJsonRpcClient}; use eyre::Result; +use ic_canister_client::IcAgentClient; use ic_cbor::{CertificateToCbor, HashTreeToCbor}; use ic_certificate_verification::VerifyCertificate; use ic_certification::{Certificate, HashTree, LookupResult}; @@ -12,6 +14,7 @@ use reth_chainspec::{ }; use alloy_rlp::Decodable; +use reth_db::DatabaseEnv; use reth_network_p2p::{ bodies::client::{BodiesClient, BodiesFut}, download::DownloadClient, @@ -27,8 +30,8 @@ use reth_primitives::{ use rlp::Encodable; use serde_json::json; -use std::time::Duration; use std::{self, cmp::min, collections::HashMap}; +use std::{sync::Arc, time::Duration}; use thiserror::Error; use backon::{ExponentialBuilder, Retryable}; @@ -36,7 +39,7 @@ use backon::{ExponentialBuilder, Retryable}; use tracing::{debug, error, info, trace, warn}; /// RPC client configuration -#[derive(Debug, Clone)] +#[derive(Clone)] pub struct RpcClientConfig { /// Primary RPC URL pub primary_url: String, @@ -46,6 +49,19 @@ pub struct RpcClientConfig { pub max_retries: u32, /// Delay between retries pub retry_delay: Duration, + /// Block validation client + pub evm_block_validator: Option>>, +} + +impl std::fmt::Debug for RpcClientConfig { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("RpcClientConfig") + .field("primary_url", &self.primary_url) + .field("backup_url", &self.backup_url) + .field("max_retries", &self.max_retries) + .field("retry_delay", &self.retry_delay) + .finish() + } } /// Front-end API for fetching chain data from remote sources. @@ -78,6 +94,10 @@ pub enum RemoteClientError { /// Certificate check error #[error("certification check error: {0}")] CertificateError(String), + + /// Error occurred when validating blocks on the evm + #[error("EVM block validation error: {0}")] + BlockValidationError(String), } /// Setting for checking last certified block @@ -103,6 +123,8 @@ impl BitfinityEvmClient { let mut hash_to_number = HashMap::new(); let mut bodies = HashMap::new(); + let evm_block_validator = rpc_config.evm_block_validator.clone(); + let provider = Self::client(rpc_config) .await .map_err(|e| RemoteClientError::ProviderError(e.to_string()))?; @@ -152,11 +174,15 @@ impl BitfinityEvmClient { trace!(target: "downloaders::bitfinity_evm_client", blocks = full_blocks.len(), "Fetched blocks"); for block in full_blocks { - if let Some(block_checker) = &block_checker { - block_checker.check_block(&block)?; - } let header = reth_primitives::Block::decode(&mut block.rlp_bytes().to_vec().as_slice())?; + if let Some(block_checker) = &block_checker { + debug!("Checking block {}", block.number); + block_checker + .check_block(&block, &header, evm_block_validator.as_ref()) + .await?; + debug!("block {} OK", block.number); + } let block_hash = header.hash_slow(); @@ -427,7 +453,12 @@ impl BlockCertificateChecker { self.certified_data.data.number.0.as_u64() } - fn check_block(&self, block: &did::Block) -> Result<(), RemoteClientError> { + async fn check_block( + &self, + block: &did::Block, + reth_block: &reth_primitives::Block, + evm_block_validator: Option<&BitfinityBlockValidator>>, + ) -> Result<(), RemoteClientError> { if block.number < self.certified_data.data.number { return Ok(()); } @@ -459,6 +490,11 @@ impl BlockCertificateChecker { })?; Self::validate_tree(self.evmc_principal.as_ref(), &certificate, &tree); + if let Some(evm_block_validator) = evm_block_validator { + Self::validate_block(evm_block_validator, reth_block.clone(), &block.transactions) + .await?; + } + Ok(()) } @@ -479,6 +515,19 @@ impl BlockCertificateChecker { true } + + /// Validate block on the EVM + async fn validate_block( + validator: &BitfinityBlockValidator>, + block: reth_primitives::Block, + transactions: &[did::Transaction], + ) -> Result<(), RemoteClientError> { + tracing::debug!("Validating block {}", block.number); + + validator.validate_block(block, transactions).await.map_err(|e| { + RemoteClientError::BlockValidationError(format!("failed to validate block: {e}")) + }) + } } impl HeadersClient for BitfinityEvmClient { @@ -583,6 +632,7 @@ mod tests { backup_url: None, max_retries: 3, retry_delay: Duration::from_secs(1), + evm_block_validator: None, }, 0, Some(5), @@ -603,6 +653,7 @@ mod tests { backup_url: Some("https://cloudflare-eth.com".to_string()), max_retries: 3, retry_delay: Duration::from_secs(1), + evm_block_validator: None, }, 0, Some(5), @@ -623,6 +674,7 @@ mod tests { backup_url: None, max_retries: 3, retry_delay: Duration::from_secs(1), + evm_block_validator: None, }, 0, Some(5), @@ -654,6 +706,7 @@ mod tests { backup_url: None, max_retries: 3, retry_delay: Duration::from_secs(1), + evm_block_validator: None, }, 0, Some(5), diff --git a/crates/node/core/src/args/bitfinity_args.rs b/crates/node/core/src/args/bitfinity_args.rs index 299c85037ee..cf276a43384 100644 --- a/crates/node/core/src/args/bitfinity_args.rs +++ b/crates/node/core/src/args/bitfinity_args.rs @@ -70,6 +70,10 @@ pub struct BitfinityImportArgs { /// - http://127.0.0.1:3333 #[arg(long, default_value = "ic")] pub evm_network: String, + + /// Fetch the IC root key (to be used on local networks) + #[arg(long, default_value = "false")] + pub fetch_ic_root_key: bool, } /// Bitfinity Related Args From 54ef93e4e248e994f627376af1cd89fca297a782 Mon Sep 17 00:00:00 2001 From: veeso Date: Wed, 4 Dec 2024 13:03:13 +0100 Subject: [PATCH 3/9] Revert "EPROD-1086 confirm or reject blocks on evm" This reverts commit 70ddca1cfa14799e26de27a0f7e52d6186008006. --- Cargo.lock | 421 ++++++++---------- Cargo.toml | 15 +- crates/consensus/beacon/src/lib.rs | 2 +- crates/consensus/consensus/Cargo.toml | 5 +- crates/consensus/consensus/src/lib.rs | 23 +- crates/engine/tree/Cargo.toml | 4 +- crates/engine/tree/src/tree/mod.rs | 49 +- crates/ethereum/consensus/Cargo.toml | 7 - crates/ethereum/consensus/src/bitfinity.rs | 261 ----------- .../ethereum/consensus/src/bitfinity/block.rs | 56 --- crates/ethereum/consensus/src/lib.rs | 46 +- crates/ethereum/node/Cargo.toml | 4 - crates/ethereum/node/src/node.rs | 24 +- crates/net/downloaders/src/bodies/request.rs | 23 +- crates/primitives/src/proofs.rs | 14 +- 15 files changed, 254 insertions(+), 700 deletions(-) delete mode 100644 crates/ethereum/consensus/src/bitfinity.rs delete mode 100644 crates/ethereum/consensus/src/bitfinity/block.rs diff --git a/Cargo.lock b/Cargo.lock index 3953eb4c71c..be96783cafb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,7 +207,7 @@ dependencies = [ "alloy-primitives", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tracing", ] @@ -228,7 +228,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -242,7 +242,7 @@ dependencies = [ "k256", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror", "tracing", "url", ] @@ -348,7 +348,7 @@ checksum = "d83524c1f6162fcb5b0decf775498a125066c86dda6066ed609531b0e912f85a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -421,7 +421,7 @@ dependencies = [ "alloy-rpc-types-engine", "serde", "serde_with", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -440,7 +440,7 @@ dependencies = [ "jsonwebtoken", "rand 0.8.5", "serde", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -462,7 +462,7 @@ dependencies = [ "proptest-derive 0.4.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -476,7 +476,7 @@ dependencies = [ "alloy-serde", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -516,7 +516,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -534,7 +534,7 @@ dependencies = [ "coins-bip39", "k256", "rand 0.8.5", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -548,7 +548,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -565,7 +565,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "syn-solidity", "tiny-keccak", ] @@ -583,7 +583,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.89", + "syn 2.0.68", "syn-solidity", ] @@ -621,7 +621,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tower", "url", @@ -786,7 +786,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1041,7 +1041,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1052,7 +1052,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1090,7 +1090,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1222,7 +1222,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.89", + "syn 2.0.68", "which", ] @@ -1422,7 +1422,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 1.0.61", + "thiserror", "time", ] @@ -1462,7 +1462,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "synstructure", ] @@ -1571,7 +1571,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1615,7 +1615,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1628,7 +1628,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1678,7 +1678,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1690,7 +1690,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1713,7 +1713,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1894,7 +1894,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -1916,7 +1916,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1932,7 +1932,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -1951,7 +1951,7 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -2021,7 +2021,7 @@ checksum = "45b1f4c00870f07dc34adcac82bb6a72cc5aabca8536ba1797e01df51d2ce9a0" dependencies = [ "directories", "serde", - "thiserror 1.0.61", + "thiserror", "toml", ] @@ -2391,7 +2391,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2452,7 +2452,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2474,7 +2474,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2581,7 +2581,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2594,7 +2594,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2614,14 +2614,14 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "unicode-xid", ] [[package]] name = "did" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.34.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" dependencies = [ "alloy-primitives", "bincode", @@ -2632,17 +2632,18 @@ dependencies = [ "ethers-core", "hex", "ic-log", - "ic-stable-structures 0.23.0", + "ic-stable-structures 0.22.0", "jsonrpc-core", "log", "num", + "once_cell", "rlp", "serde", "serde_json", "serde_with", "sha2 0.10.8", "sha3", - "thiserror 2.0.3", + "thiserror", ] [[package]] @@ -2756,7 +2757,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2824,7 +2825,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.9.9", - "thiserror 1.0.61", + "thiserror", "zeroize", ] @@ -2858,7 +2859,7 @@ dependencies = [ "reth-stages", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "walkdir", ] @@ -2929,7 +2930,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2940,7 +2941,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -2982,7 +2983,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror 1.0.61", + "thiserror", "uint", ] @@ -3003,8 +3004,8 @@ dependencies = [ [[package]] name = "ethereum-json-rpc-client" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.34.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" dependencies = [ "anyhow", "candid", @@ -3070,7 +3071,7 @@ dependencies = [ "serde_json", "strum", "tempfile", - "thiserror 1.0.61", + "thiserror", "tiny-keccak", "unicode-xid", ] @@ -3104,8 +3105,8 @@ dependencies = [ [[package]] name = "evm-canister-client" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.34.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" dependencies = [ "candid", "did", @@ -3126,7 +3127,7 @@ dependencies = [ "reth-node-ethereum", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -3193,7 +3194,7 @@ dependencies = [ "reth-rpc-types", "reth-tracing", "serde", - "thiserror 1.0.61", + "thiserror", "tokio", ] @@ -3574,7 +3575,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -3743,7 +3744,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -3864,7 +3865,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -4279,7 +4280,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -4316,19 +4317,15 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.39.1" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" +checksum = "3fd3fdf5e5c4f4a9fe5ca612f0febd22dcb161d2f2b75b0142326732be5e4978" dependencies = [ "async-lock", - "async-trait", "backoff", "cached 0.52.0", "candid", - "der", - "ecdsa", "ed25519-consensus", - "elliptic-curve", "futures-util", "hex", "http 1.1.0", @@ -4344,6 +4341,8 @@ dependencies = [ "rand 0.8.5", "rangemap", "reqwest", + "ring", + "rustls-webpki", "sec1", "serde", "serde_bytes", @@ -4351,24 +4350,23 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror 1.0.61", + "thiserror", "time", "tokio", - "tower-service", "url", ] [[package]] name = "ic-canister-client" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "async-trait", "candid", "ic-agent", "ic-exports", "serde", - "thiserror 2.0.3", + "thiserror", ] [[package]] @@ -4381,14 +4379,14 @@ dependencies = [ "ic-certification", "leb128", "nom", - "thiserror 1.0.61", + "thiserror", ] [[package]] name = "ic-cdk" -version = "0.17.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" +checksum = "dd8ecacd682fa05a985253592963306cb9799622d7b1cce4b1edb89c6ec85be1" dependencies = [ "candid", "ic-cdk-macros", @@ -4399,23 +4397,23 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.17.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" +checksum = "0d4d857135deef20cc7ea8f3869a30cd9cfeb1392b3a81043790b2cd82adc3e0" dependencies = [ "candid", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] name = "ic-cdk-timers" -version = "0.11.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" +checksum = "0c7c528bbb3d4d934b43a364855995d318649217c7510f40f92ad52eba3ff7be" dependencies = [ "futures", "ic-cdk", @@ -4441,7 +4439,7 @@ dependencies = [ "nom", "parking_lot 0.12.3", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -4458,16 +4456,16 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "getrandom 0.2.15", ] [[package]] name = "ic-exports" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "candid", "ic-cdk", @@ -4480,8 +4478,8 @@ dependencies = [ [[package]] name = "ic-kit" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "candid", "futures", @@ -4493,8 +4491,8 @@ dependencies = [ [[package]] name = "ic-log" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "anyhow", "arc-swap", @@ -4518,21 +4516,21 @@ dependencies = [ [[package]] name = "ic-stable-structures" -version = "0.23.0" -source = "git+htps://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#1185e8b8e9502586eca55fa974b80cf66849a6cf" +version = "0.22.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" dependencies = [ "candid", "ic-stable-structures 0.6.5", "parking_lot 0.12.3", "schnellru", - "thiserror 2.0.3", + "thiserror", ] [[package]] name = "ic-transport-types" -version = "0.39.1" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" +checksum = "875dc4704780383112e8e8b5063a1b98de114321d0c7d3e7f635dcf360a57fba" dependencies = [ "candid", "hex", @@ -4540,10 +4538,9 @@ dependencies = [ "leb128", "serde", "serde_bytes", - "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -4590,7 +4587,7 @@ dependencies = [ "data-encoding", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -4708,7 +4705,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -4977,7 +4974,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.61", + "thiserror", "walkdir", ] @@ -5055,7 +5052,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-rustls", "tokio-util", @@ -5085,7 +5082,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -5110,7 +5107,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tower", "tracing", @@ -5127,7 +5124,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -5150,7 +5147,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -5168,7 +5165,7 @@ dependencies = [ "http 1.1.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -5212,9 +5209,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.4" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", "ecdsa", @@ -5321,7 +5318,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -5370,7 +5367,7 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror 1.0.61", + "thiserror", "tracing", "unsigned-varint 0.8.0", "void", @@ -5391,7 +5388,7 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", "tracing", "zeroize", ] @@ -5650,7 +5647,7 @@ dependencies = [ "metrics", "metrics-util", "quanta", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -5702,7 +5699,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -5780,7 +5777,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6032,7 +6029,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6306,7 +6303,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", - "thiserror 1.0.61", + "thiserror", "ucd-trie", ] @@ -6373,7 +6370,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6402,7 +6399,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6519,7 +6516,7 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -6572,7 +6569,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6633,9 +6630,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -6715,7 +6712,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -6778,7 +6775,7 @@ dependencies = [ "quinn-udp", "rustc-hash 1.1.0", "rustls", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -6795,7 +6792,7 @@ dependencies = [ "rustc-hash 1.1.0", "rustls", "slab", - "thiserror 1.0.61", + "thiserror", "tinyvec", "tracing", ] @@ -7006,7 +7003,7 @@ checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -7312,7 +7309,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "schnellru", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -7351,7 +7348,7 @@ dependencies = [ "reth-tracing", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tikv-jemallocator", "tokio", "tokio-util", @@ -7401,7 +7398,7 @@ dependencies = [ "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -7506,7 +7503,7 @@ dependencies = [ "proc-macro2", "quote", "similar-asserts", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -7527,7 +7524,6 @@ dependencies = [ name = "reth-consensus" version = "1.0.0" dependencies = [ - "async-trait", "auto_impl", "reth-primitives", "thiserror-no-std", @@ -7603,7 +7599,7 @@ dependencies = [ "sysinfo", "tempfile", "test-fuzz", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -7658,7 +7654,7 @@ dependencies = [ "reth-trie", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tracing", ] @@ -7683,7 +7679,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -7710,7 +7706,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "secp256k1", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -7736,7 +7732,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -7786,7 +7782,7 @@ dependencies = [ "rlp", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -7846,7 +7842,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -7934,7 +7930,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -7965,7 +7961,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -7989,18 +7985,13 @@ dependencies = [ "reth-codecs-derive", "reth-primitives", "serde", - "thiserror 1.0.61", + "thiserror", ] [[package]] name = "reth-ethereum-consensus" version = "1.0.0" dependencies = [ - "async-trait", - "did", - "evm-canister-client", - "ic-agent", - "ic-canister-client", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -8126,7 +8117,7 @@ dependencies = [ "reth-revm", "revm", "revm-primitives", - "thiserror 1.0.61", + "thiserror", "tracing", ] @@ -8216,7 +8207,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-transaction-pool", - "thiserror 1.0.61", + "thiserror", "tokio", ] @@ -8232,7 +8223,7 @@ name = "reth-fs-util" version = "1.0.0" dependencies = [ "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -8249,7 +8240,7 @@ dependencies = [ "rand 0.8.5", "reth-tracing", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -8273,7 +8264,7 @@ dependencies = [ "rand_xorshift", "reth-mdbx-sys", "tempfile", - "thiserror 1.0.61", + "thiserror", "tracing", ] @@ -8306,7 +8297,7 @@ dependencies = [ "quote", "regex", "serial_test", - "syn 2.0.89", + "syn 2.0.68", "trybuild", ] @@ -8325,7 +8316,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror 1.0.61", + "thiserror", "tokio", ] @@ -8378,7 +8369,7 @@ dependencies = [ "serial_test", "smallvec", "tempfile", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -8395,7 +8386,7 @@ dependencies = [ "reth-eth-wire", "reth-network-peers", "serde", - "thiserror 1.0.61", + "thiserror", "tokio", ] @@ -8412,7 +8403,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -8428,7 +8419,7 @@ dependencies = [ "secp256k1", "serde_json", "serde_with", - "thiserror 1.0.61", + "thiserror", "tokio", "url", ] @@ -8462,7 +8453,7 @@ dependencies = [ "serde", "sucds", "tempfile", - "thiserror 1.0.61", + "thiserror", "tracing", "zstd", ] @@ -8585,7 +8576,7 @@ dependencies = [ "secp256k1", "serde_json", "shellexpand", - "thiserror 1.0.61", + "thiserror", "tikv-jemalloc-ctl", "tokio", "tower", @@ -8599,7 +8590,6 @@ version = "1.0.0" dependencies = [ "alloy-genesis", "alloy-primitives", - "candid", "eyre", "futures", "futures-util", @@ -8625,7 +8615,6 @@ dependencies = [ "reth-transaction-pool", "serde_json", "tokio", - "tracing", ] [[package]] @@ -8692,7 +8681,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -8732,7 +8721,7 @@ dependencies = [ "reth-transaction-pool", "revm", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror", "tracing", ] @@ -8756,7 +8745,7 @@ dependencies = [ "reth-transaction-pool", "revm", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -8772,7 +8761,7 @@ dependencies = [ "reth-rpc-types", "reth-transaction-pool", "serde", - "thiserror 1.0.61", + "thiserror", "tokio", ] @@ -8923,7 +8912,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "reth-tracing", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -8945,7 +8934,7 @@ dependencies = [ "serde", "serde_json", "test-fuzz", - "thiserror 1.0.61", + "thiserror", "toml", ] @@ -9015,7 +9004,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tower", @@ -9089,7 +9078,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tower", "tower-http", @@ -9124,7 +9113,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "serde", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -9192,7 +9181,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -9306,7 +9295,7 @@ dependencies = [ "reth-trie", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -9334,7 +9323,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -9428,7 +9417,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", "tracing-futures", @@ -9501,7 +9490,7 @@ dependencies = [ "serde_json", "smallvec", "tempfile", - "thiserror 1.0.61", + "thiserror", "tokio", "tokio-stream", "tracing", @@ -9590,7 +9579,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-trie", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", ] @@ -9625,7 +9614,7 @@ dependencies = [ "colorchoice", "revm", "serde_json", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -10213,7 +10202,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10236,7 +10225,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror 1.0.61", + "thiserror", ] [[package]] @@ -10247,7 +10236,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10268,7 +10257,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10310,7 +10299,7 @@ dependencies = [ "darling 0.20.9", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10335,7 +10324,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10485,7 +10474,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.61", + "thiserror", "time", ] @@ -10600,7 +10589,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" dependencies = [ "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10665,7 +10654,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10739,9 +10728,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.89" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", @@ -10757,7 +10746,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10774,7 +10763,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10859,7 +10848,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -10887,16 +10876,7 @@ version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ - "thiserror-impl 1.0.61", -] - -[[package]] -name = "thiserror" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" -dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl", ] [[package]] @@ -10907,18 +10887,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -11096,7 +11065,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -11281,7 +11250,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.61", + "thiserror", "time", "tracing-subscriber", ] @@ -11294,7 +11263,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -11410,7 +11379,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "smallvec", - "thiserror 1.0.61", + "thiserror", "tinyvec", "tokio", "tracing", @@ -11432,7 +11401,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror 1.0.61", + "thiserror", "tokio", "tracing", "trust-dns-proto", @@ -11474,7 +11443,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.61", + "thiserror", "utf-8", ] @@ -11751,7 +11720,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "wasm-bindgen-shared", ] @@ -11785,7 +11754,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11926,7 +11895,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -11937,7 +11906,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -12151,7 +12120,7 @@ dependencies = [ "pharos", "rustc_version 0.4.0", "send_wrapper 0.6.0", - "thiserror 1.0.61", + "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -12195,7 +12164,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "synstructure", ] @@ -12216,7 +12185,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -12236,7 +12205,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", "synstructure", ] @@ -12257,7 +12226,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] @@ -12279,7 +12248,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.89", + "syn 2.0.68", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 506aeb4f1cf..ff4a034768f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -534,23 +534,18 @@ bitfinity-block-validator = { path = "crates/bitfinity-block-validator" } # Bitfinity Deps async-channel = "2" candid = "0.10" -did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = [ - "alloy-primitives-07", -], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } +did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = ["alloy-primitives-07"], tag = "v0.34.x" } dirs = "5.0.1" -ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", branch = "EPROD-1086-block-validation-with-a-single-reth-node", features = [ +ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", tag = "v0.34.x", features = [ "reqwest", ] } -evm-canister-client = { git = "htps://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ +evm-canister-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ "ic-agent-client", -], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } -ic-agent = { version = "0.39" } -ic-canister-client = { git = "htps://github.com/bitfinity-network/canister-sdk", package = "ic-canister-client", features = [ - "ic-agent-client", -], tag = "v0.23.x" } +], tag = "v0.34.x" } ic-cbor = "2.3" ic-certificate-verification = "2.3" ic-certification = "2.3" hex = "0.4" lightspeed_scheduler = { version = "0.59.0", features = ["tracing"] } rlp = "0.5" + diff --git a/crates/consensus/beacon/src/lib.rs b/crates/consensus/beacon/src/lib.rs index d4ae10fc53e..f62a75f94d5 100644 --- a/crates/consensus/beacon/src/lib.rs +++ b/crates/consensus/beacon/src/lib.rs @@ -8,7 +8,7 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] -pub use reth_ethereum_consensus::{BitfinityBeaconConsensus, EthBeaconConsensus}; +pub use reth_ethereum_consensus::EthBeaconConsensus; mod engine; pub use engine::*; diff --git a/crates/consensus/consensus/Cargo.toml b/crates/consensus/consensus/Cargo.toml index b4be3803a76..1d4d6d758c4 100644 --- a/crates/consensus/consensus/Cargo.toml +++ b/crates/consensus/consensus/Cargo.toml @@ -16,10 +16,7 @@ reth-primitives.workspace = true # misc auto_impl.workspace = true -thiserror-no-std = { workspace = true, default-features = false } - -# bitfinity -async-trait.workspace = true +thiserror-no-std = {workspace = true, default-features = false } [features] default = ["std"] diff --git a/crates/consensus/consensus/src/lib.rs b/crates/consensus/consensus/src/lib.rs index 2565931c189..7aee9f15e70 100644 --- a/crates/consensus/consensus/src/lib.rs +++ b/crates/consensus/consensus/src/lib.rs @@ -15,7 +15,6 @@ use reth_primitives::{ B256, U256, }; -use core::future::Future; #[cfg(feature = "std")] use std::fmt::Debug; @@ -49,9 +48,7 @@ impl<'a> PostExecutionInput<'a> { } /// Consensus is a protocol that chooses canonical chain. -//#[auto_impl::auto_impl(&, Arc)] -#[async_trait::async_trait] -#[auto_impl::auto_impl(Arc)] +#[auto_impl::auto_impl(&, Arc)] pub trait Consensus: Debug + Send + Sync { /// Validate if header is correct and follows consensus specification. /// @@ -128,24 +125,6 @@ pub trait Consensus: Debug + Send + Sync { block: &BlockWithSenders, input: PostExecutionInput<'_>, ) -> Result<(), ConsensusError>; - - /// Confirm a block on the EVM. - /// - /// Used only for engines which communicates with the EVM to confirm blocks. - async fn confirm_block_on_evm( - &self, - _block: &BlockWithSenders, - _input: PostExecutionInput<'_>, - ) -> Result<(), ConsensusError> { - Ok(()) - } - - /// Reject a block on the EVM. - /// - /// Used only for engines which communicates with the EVM to confirm blocks. - async fn reject_block_on_evm(&self, _block: &SealedBlock) -> Result<(), ConsensusError> { - Ok(()) - } } /// Consensus Errors diff --git a/crates/engine/tree/Cargo.toml b/crates/engine/tree/Cargo.toml index ff52648aef6..bcc8ae34bdd 100644 --- a/crates/engine/tree/Cargo.toml +++ b/crates/engine/tree/Cargo.toml @@ -41,7 +41,7 @@ revm.workspace = true # common futures.workspace = true -tokio = { workspace = true, features = ["macros", "rt", "sync"] } +tokio = { workspace = true, features = ["macros", "sync"] } tokio-stream = { workspace = true, features = ["sync"] } @@ -61,4 +61,4 @@ reth-prune-types.workspace = true reth-stages = { workspace = true, features = ["test-utils"] } reth-tracing.workspace = true -assert_matches.workspace = true +assert_matches.workspace = true \ No newline at end of file diff --git a/crates/engine/tree/src/tree/mod.rs b/crates/engine/tree/src/tree/mod.rs index 349927d0302..a4ccea51044 100644 --- a/crates/engine/tree/src/tree/mod.rs +++ b/crates/engine/tree/src/tree/mod.rs @@ -294,7 +294,7 @@ where ) -> ProviderResult> { // Check if parent exists in side chain or in canonical chain. if self.block_by_hash(parent_hash)?.is_some() { - return Ok(Some(parent_hash)); + return Ok(Some(parent_hash)) } // iterate over ancestors in the invalid cache @@ -308,7 +308,7 @@ where // If current_header is None, then the current_hash does not have an invalid // ancestor in the cache, check its presence in blockchain tree if current_header.is_none() && self.block_by_hash(current_hash)?.is_some() { - return Ok(Some(current_hash)); + return Ok(Some(current_hash)) } } Ok(None) @@ -364,17 +364,17 @@ where "Failed to validate total difficulty for block {}: {e}", block.header.hash() ); - return Err(e); + return Err(e) } if let Err(e) = self.consensus.validate_header(block) { error!(?block, "Failed to validate header {}: {e}", block.header.hash()); - return Err(e); + return Err(e) } if let Err(e) = self.consensus.validate_block_pre_execution(block) { error!(?block, "Failed to validate block {}: {e}", block.header.hash()); - return Err(e); + return Err(e) } Ok(()) @@ -389,7 +389,7 @@ where fn buffer_block(&mut self, block: SealedBlockWithSenders) -> Result<(), InsertBlockError> { if let Err(err) = self.validate_block(&block) { - return Err(InsertBlockError::consensus_error(err, block.block)); + return Err(InsertBlockError::consensus_error(err, block.block)) } self.state.buffer.insert_block(block); Ok(()) @@ -419,7 +419,7 @@ where ) -> Result { if self.block_by_hash(block.hash())?.is_some() { let attachment = BlockAttachment::Canonical; // TODO: remove or revise attachment - return Ok(InsertPayloadOk::AlreadySeen(BlockStatus::Valid(attachment))); + return Ok(InsertPayloadOk::AlreadySeen(BlockStatus::Valid(attachment))) } // validate block consensus rules @@ -432,29 +432,10 @@ where let block_hash = block.hash(); let block = block.unseal(); let output = executor.execute((&block, U256::MAX).into()).unwrap(); - - // get runtimeruntime - let runtime = tokio::runtime::Handle::current(); - - if let Err(err) = self.consensus.validate_block_post_execution( - &block, - PostExecutionInput::new(&output.receipts, &output.requests), - ) { - // reject block - tracing::error!( - "Failed to validate block post execution: {:?}; rejecting block on the EVM", - err - ); - runtime.block_on(self.consensus.reject_block_on_evm(&block.clone().seal_slow()))?; - return Err(err.into()); - } - - // confirm block otherwise - tracing::debug!("Confirming block {} on the EVM", block.number); - runtime.block_on(self.consensus.confirm_block_on_evm( + self.consensus.validate_block_post_execution( &block, PostExecutionInput::new(&output.receipts, &output.requests), - ))?; + )?; let hashed_state = HashedPostState::from_bundle_state(&output.state.state); @@ -543,7 +524,7 @@ where }; let status = PayloadStatusEnum::from(error); - return Ok(TreeOutcome::new(PayloadStatus::new(status, latest_valid_hash))); + return Ok(TreeOutcome::new(PayloadStatus::new(status, latest_valid_hash))) } }; @@ -557,7 +538,7 @@ where if let Some(status) = self.check_invalid_ancestor_with_head(lowest_buffered_ancestor, block_hash)? { - return Ok(TreeOutcome::new(status)); + return Ok(TreeOutcome::new(status)) } let status = if self.is_pipeline_active { @@ -566,13 +547,13 @@ where } else { let mut latest_valid_hash = None; let status = match self.insert_block_without_senders(block).unwrap() { - InsertPayloadOk::Inserted(BlockStatus::Valid(_)) - | InsertPayloadOk::AlreadySeen(BlockStatus::Valid(_)) => { + InsertPayloadOk::Inserted(BlockStatus::Valid(_)) | + InsertPayloadOk::AlreadySeen(BlockStatus::Valid(_)) => { latest_valid_hash = Some(block_hash); PayloadStatusEnum::Valid } - InsertPayloadOk::Inserted(BlockStatus::Disconnected { .. }) - | InsertPayloadOk::AlreadySeen(BlockStatus::Disconnected { .. }) => { + InsertPayloadOk::Inserted(BlockStatus::Disconnected { .. }) | + InsertPayloadOk::AlreadySeen(BlockStatus::Disconnected { .. }) => { // TODO: isn't this check redundant? // check if the block's parent is already marked as invalid // if let Some(status) = self diff --git a/crates/ethereum/consensus/Cargo.toml b/crates/ethereum/consensus/Cargo.toml index 85e6913cccc..25c865a2bc1 100644 --- a/crates/ethereum/consensus/Cargo.toml +++ b/crates/ethereum/consensus/Cargo.toml @@ -17,11 +17,4 @@ reth-consensus-common.workspace = true reth-primitives.workspace = true reth-consensus.workspace = true -# bitfinity -async-trait.workspace = true -did.workspace = true -evm-canister-client.workspace = true -ic-agent.workspace = true -ic-canister-client.workspace = true - tracing.workspace = true diff --git a/crates/ethereum/consensus/src/bitfinity.rs b/crates/ethereum/consensus/src/bitfinity.rs deleted file mode 100644 index 5fac8764226..00000000000 --- a/crates/ethereum/consensus/src/bitfinity.rs +++ /dev/null @@ -1,261 +0,0 @@ -mod block; - -use block::BitfinityBlock; -use did::{unsafe_blocks::ValidateUnsafeBlockArgs, H256}; -use evm_canister_client::EvmCanisterClient; -use ic_agent::export::Principal; -use ic_canister_client::IcAgentClient; -use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, EthereumHardforks}; -use reth_consensus::{Consensus, ConsensusError, PostExecutionInput}; -use reth_consensus_common::validation::{ - validate_4844_header_standalone, validate_against_parent_4844, - validate_against_parent_eip1559_base_fee, validate_against_parent_hash_number, - validate_against_parent_timestamp, validate_block_pre_execution, validate_header_base_fee, - validate_header_extradata, validate_header_gas, -}; -use reth_primitives::{ - BlockWithSenders, Header, SealedBlock, SealedHeader, EMPTY_OMMER_ROOT_HASH, U256, -}; -use std::{ - path::Path, - sync::Arc, - time::{Duration, SystemTime}, -}; - -use super::validation::validate_block_post_execution; - -/// Ethereum beacon consensus -/// -/// This consensus engine does basic checks as outlined in the execution specs. -pub struct BitfinityBeaconConsensus { - /// Configuration - chain_spec: Arc, - evm_client: EvmCanisterClient, -} - -impl std::fmt::Debug for BitfinityBeaconConsensus { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("BitfinityBeaconConsensus").field("chain_spec", &self.chain_spec).finish() - } -} - -impl BitfinityBeaconConsensus { - /// Create a new instance of [`BitfinityBeaconConsensus`] - pub async fn new( - chain_spec: Arc, - evm_canister: Principal, - ic_identity_path: &Path, - network: &str, - ) -> Self { - let agent_client = IcAgentClient::with_identity( - evm_canister, - ic_identity_path, - network, - Some(Duration::from_secs(30)), - ) - .await - .expect("Failed to create agent client"); - - Self { chain_spec, evm_client: EvmCanisterClient::new(agent_client) } - } -} - -#[async_trait::async_trait] -impl Consensus for BitfinityBeaconConsensus { - fn validate_header(&self, header: &SealedHeader) -> Result<(), ConsensusError> { - validate_header_gas(header)?; - validate_header_base_fee(header, &self.chain_spec)?; - - // EIP-4895: Beacon chain push withdrawals as operations - if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) - && header.withdrawals_root.is_none() - { - return Err(ConsensusError::WithdrawalsRootMissing); - } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) - && header.withdrawals_root.is_some() - { - return Err(ConsensusError::WithdrawalsRootUnexpected); - } - - // Ensures that EIP-4844 fields are valid once cancun is active. - if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { - validate_4844_header_standalone(header)?; - } else if header.blob_gas_used.is_some() { - return Err(ConsensusError::BlobGasUsedUnexpected); - } else if header.excess_blob_gas.is_some() { - return Err(ConsensusError::ExcessBlobGasUnexpected); - } else if header.parent_beacon_block_root.is_some() { - return Err(ConsensusError::ParentBeaconBlockRootUnexpected); - } - - if self.chain_spec.is_prague_active_at_timestamp(header.timestamp) { - if header.requests_root.is_none() { - return Err(ConsensusError::RequestsRootMissing); - } - } else if header.requests_root.is_some() { - return Err(ConsensusError::RequestsRootUnexpected); - } - - Ok(()) - } - - fn validate_header_against_parent( - &self, - header: &SealedHeader, - parent: &SealedHeader, - ) -> Result<(), ConsensusError> { - validate_against_parent_hash_number(header, parent)?; - - validate_against_parent_timestamp(header, parent)?; - - // TODO Check difficulty increment between parent and self - // Ace age did increment it by some formula that we need to follow. - // self.validate_against_parent_gas_limit(header, parent)?; - - validate_against_parent_eip1559_base_fee(header, parent, &self.chain_spec)?; - - // ensure that the blob gas fields for this block - if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { - validate_against_parent_4844(header, parent)?; - } - - Ok(()) - } - - fn validate_header_with_total_difficulty( - &self, - header: &Header, - total_difficulty: U256, - ) -> Result<(), ConsensusError> { - let is_post_merge = self - .chain_spec - .fork(EthereumHardfork::Paris) - .active_at_ttd(total_difficulty, header.difficulty); - - if is_post_merge { - if !header.is_zero_difficulty() { - return Err(ConsensusError::TheMergeDifficultyIsNotZero); - } - - if header.nonce != 0 { - return Err(ConsensusError::TheMergeNonceIsNotZero); - } - - if header.ommers_hash != EMPTY_OMMER_ROOT_HASH { - return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty); - } - - // Post-merge, the consensus layer is expected to perform checks such that the block - // timestamp is a function of the slot. This is different from pre-merge, where blocks - // are only allowed to be in the future (compared to the system's clock) by a certain - // threshold. - // - // Block validation with respect to the parent should ensure that the block timestamp - // is greater than its parent timestamp. - - // validate header extradata for all networks post merge - validate_header_extradata(header)?; - - // mixHash is used instead of difficulty inside EVM - // https://eips.ethereum.org/EIPS/eip-4399#using-mixhash-field-instead-of-difficulty - } else { - // TODO Consensus checks for old blocks: - // * difficulty, mix_hash & nonce aka PoW stuff - // low priority as syncing is done in reverse order - - // Check if timestamp is in the future. Clock can drift but this can be consensus issue. - let present_timestamp = - SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs(); - - if header.exceeds_allowed_future_timestamp(present_timestamp) { - return Err(ConsensusError::TimestampIsInFuture { - timestamp: header.timestamp, - present_timestamp, - }); - } - - // Goerli and early OP exception: - // * If the network is goerli pre-merge, ignore the extradata check, since we do not - // support clique. Same goes for OP blocks below Bedrock. - if self.chain_spec.chain != Chain::goerli() && !self.chain_spec.is_optimism() { - validate_header_extradata(header)?; - } - } - - Ok(()) - } - - fn validate_block_pre_execution(&self, block: &SealedBlock) -> Result<(), ConsensusError> { - validate_block_pre_execution(block, &self.chain_spec) - } - - fn validate_block_post_execution( - &self, - block: &BlockWithSenders, - input: PostExecutionInput<'_>, - ) -> Result<(), ConsensusError> { - validate_block_post_execution(block, &self.chain_spec, input.receipts, input.requests) - } - - /// Confirm a block on the EVM. - /// - /// Used only for engines which communicates with the EVM to confirm blocks. - async fn confirm_block_on_evm( - &self, - block: &BlockWithSenders, - input: PostExecutionInput<'_>, - ) -> Result<(), ConsensusError> { - let block = BitfinityBlock::from(block); - - let res = self - .evm_client - .validate_unsafe_block(ValidateUnsafeBlockArgs { - block_number: block.number(), - block_hash: block.hash(), - state_root: block.state_root(), - transactions_root: block.transaction_root(), - receipts_root: block.receipts_root(&input.receipts), - }) - .await - .map_err(|_| ConsensusError::RequestsRootUnexpected)?; - - tracing::info!( - "Validate unsafe block response for block {} (confirm): {res:?}", - block.number() - ); - - if let Err(err) = res { - tracing::error!("Failed to validate unsafe block: {err:?}"); - return Err(ConsensusError::RequestsRootUnexpected); - } - - Ok(()) - } - - /// Reject a block on the EVM, by sending an invalid block to the EVM. - async fn reject_block_on_evm(&self, block: &SealedBlock) -> Result<(), ConsensusError> { - // we expect error here - let res = self - .evm_client - .validate_unsafe_block(ValidateUnsafeBlockArgs { - block_number: block.number, - block_hash: H256::zero(), - state_root: H256::zero(), - transactions_root: H256::zero(), - receipts_root: H256::zero(), - }) - .await - .map_err(|_| ConsensusError::RequestsRootUnexpected)?; - - if res.is_ok() { - return Err(ConsensusError::RequestsRootUnexpected); - } - - tracing::info!( - "Validate unsafe block response for block {} (reject): {res:?}", - block.number - ); - - Ok(()) - } -} diff --git a/crates/ethereum/consensus/src/bitfinity/block.rs b/crates/ethereum/consensus/src/bitfinity/block.rs deleted file mode 100644 index 27021a72c85..00000000000 --- a/crates/ethereum/consensus/src/bitfinity/block.rs +++ /dev/null @@ -1,56 +0,0 @@ -use std::iter::Iterator; - -use did::H256; - -use reth_primitives::{BlockWithSenders, Receipt}; - -/// It's just [`Block`] with additional functions for validation. -pub struct BitfinityBlock<'a>(&'a BlockWithSenders); - -impl<'a> From<&'a BlockWithSenders> for BitfinityBlock<'a> { - fn from(block: &'a BlockWithSenders) -> Self { - Self(block) - } -} - -impl<'a> BitfinityBlock<'a> { - /// Get transaction hashes - pub fn txs_hash(&self) -> impl Iterator + '_ { - self.0.body.iter().map(|tx| H256::from_slice(tx.hash.as_ref())).into_iter() - } - - /// Get block number - pub fn number(&self) -> u64 { - self.0.number - } - - /// Calculate the block hash - pub fn hash(&self) -> H256 { - let hash = self.0.clone().seal_slow().hash(); - - H256::from_slice(hash.as_ref()) - } - - /// Get the parent hash - pub fn state_root(&self) -> H256 { - let hash = self.0.state_root; - - H256::from_slice(hash.as_ref()) - } - - /// Calculate transaction root for this block - pub fn transaction_root(&self) -> H256 { - let calculated_root = reth_primitives::proofs::calculate_transaction_root(&self.0.body); - - H256::from_slice(calculated_root.as_ref()) - } - - /// Calculate and get the receipts root for this block - pub fn receipts_root(&self, receipts: &[Receipt]) -> H256 { - let receipts_with_bloom = - receipts.iter().map(|receipt| receipt.clone().with_bloom()).collect::>(); - let calculated_root = reth_primitives::proofs::calculate_receipt_root(&receipts_with_bloom); - - H256::from_slice(calculated_root.as_ref()) - } -} diff --git a/crates/ethereum/consensus/src/lib.rs b/crates/ethereum/consensus/src/lib.rs index a6cc0e4130c..e392b0b4700 100644 --- a/crates/ethereum/consensus/src/lib.rs +++ b/crates/ethereum/consensus/src/lib.rs @@ -8,8 +8,6 @@ #![cfg_attr(not(test), warn(unused_crate_dependencies))] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] -mod bitfinity; - use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, EthereumHardforks}; use reth_consensus::{Consensus, ConsensusError, PostExecutionInput}; use reth_consensus_common::validation::{ @@ -25,7 +23,6 @@ use reth_primitives::{ use std::{sync::Arc, time::SystemTime}; mod validation; -pub use self::bitfinity::BitfinityBeaconConsensus; pub use validation::validate_block_post_execution; /// Ethereum beacon consensus @@ -55,9 +52,8 @@ impl EthBeaconConsensus { // Determine the parent gas limit, considering elasticity multiplier on the London fork. let parent_gas_limit = if self.chain_spec.fork(EthereumHardfork::London).transitions_at_block(header.number) { - parent.gas_limit - * self - .chain_spec + parent.gas_limit * + self.chain_spec .base_fee_params_at_timestamp(header.timestamp) .elasticity_multiplier as u64 } else { @@ -70,7 +66,7 @@ impl EthBeaconConsensus { return Err(ConsensusError::GasLimitInvalidIncrease { parent_gas_limit, child_gas_limit: header.gas_limit, - }); + }) } } // Check for a decrease in gas limit beyond the allowed threshold. @@ -78,13 +74,11 @@ impl EthBeaconConsensus { return Err(ConsensusError::GasLimitInvalidDecrease { parent_gas_limit, child_gas_limit: header.gas_limit, - }); + }) } // Check if the self gas limit is below the minimum required limit. else if header.gas_limit < MINIMUM_GAS_LIMIT { - return Err(ConsensusError::GasLimitInvalidMinimum { - child_gas_limit: header.gas_limit, - }); + return Err(ConsensusError::GasLimitInvalidMinimum { child_gas_limit: header.gas_limit }) } Ok(()) @@ -97,33 +91,33 @@ impl Consensus for EthBeaconConsensus { validate_header_base_fee(header, &self.chain_spec)?; // EIP-4895: Beacon chain push withdrawals as operations - if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) - && header.withdrawals_root.is_none() + if self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) && + header.withdrawals_root.is_none() { - return Err(ConsensusError::WithdrawalsRootMissing); - } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) - && header.withdrawals_root.is_some() + return Err(ConsensusError::WithdrawalsRootMissing) + } else if !self.chain_spec.is_shanghai_active_at_timestamp(header.timestamp) && + header.withdrawals_root.is_some() { - return Err(ConsensusError::WithdrawalsRootUnexpected); + return Err(ConsensusError::WithdrawalsRootUnexpected) } // Ensures that EIP-4844 fields are valid once cancun is active. if self.chain_spec.is_cancun_active_at_timestamp(header.timestamp) { validate_4844_header_standalone(header)?; } else if header.blob_gas_used.is_some() { - return Err(ConsensusError::BlobGasUsedUnexpected); + return Err(ConsensusError::BlobGasUsedUnexpected) } else if header.excess_blob_gas.is_some() { - return Err(ConsensusError::ExcessBlobGasUnexpected); + return Err(ConsensusError::ExcessBlobGasUnexpected) } else if header.parent_beacon_block_root.is_some() { - return Err(ConsensusError::ParentBeaconBlockRootUnexpected); + return Err(ConsensusError::ParentBeaconBlockRootUnexpected) } if self.chain_spec.is_prague_active_at_timestamp(header.timestamp) { if header.requests_root.is_none() { - return Err(ConsensusError::RequestsRootMissing); + return Err(ConsensusError::RequestsRootMissing) } } else if header.requests_root.is_some() { - return Err(ConsensusError::RequestsRootUnexpected); + return Err(ConsensusError::RequestsRootUnexpected) } Ok(()) @@ -164,15 +158,15 @@ impl Consensus for EthBeaconConsensus { if is_post_merge { if !header.is_zero_difficulty() { - return Err(ConsensusError::TheMergeDifficultyIsNotZero); + return Err(ConsensusError::TheMergeDifficultyIsNotZero) } if header.nonce != 0 { - return Err(ConsensusError::TheMergeNonceIsNotZero); + return Err(ConsensusError::TheMergeNonceIsNotZero) } if header.ommers_hash != EMPTY_OMMER_ROOT_HASH { - return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty); + return Err(ConsensusError::TheMergeOmmerRootIsNotEmpty) } // Post-merge, the consensus layer is expected to perform checks such that the block @@ -201,7 +195,7 @@ impl Consensus for EthBeaconConsensus { return Err(ConsensusError::TimestampIsInFuture { timestamp: header.timestamp, present_timestamp, - }); + }) } // Goerli and early OP exception: diff --git a/crates/ethereum/node/Cargo.toml b/crates/ethereum/node/Cargo.toml index fb449712ccf..54e54a0ebb7 100644 --- a/crates/ethereum/node/Cargo.toml +++ b/crates/ethereum/node/Cargo.toml @@ -26,12 +26,8 @@ reth-consensus.workspace = true reth-auto-seal-consensus.workspace = true reth-beacon-consensus.workspace = true -# bitfinity -candid.workspace = true - # misc eyre.workspace = true -tracing.workspace = true [dev-dependencies] reth.workspace = true diff --git a/crates/ethereum/node/src/node.rs b/crates/ethereum/node/src/node.rs index 16cd35ab3ff..c3d8a9af55f 100644 --- a/crates/ethereum/node/src/node.rs +++ b/crates/ethereum/node/src/node.rs @@ -3,7 +3,7 @@ use crate::{EthEngineTypes, EthEvmConfig}; use reth_auto_seal_consensus::AutoSealConsensus; use reth_basic_payload_builder::{BasicPayloadJobGenerator, BasicPayloadJobGeneratorConfig}; -use reth_beacon_consensus::{BitfinityBeaconConsensus, EthBeaconConsensus}; +use reth_beacon_consensus::EthBeaconConsensus; use reth_ethereum_engine_primitives::{ EthBuiltPayload, EthPayloadAttributes, EthPayloadBuilderAttributes, }; @@ -263,29 +263,7 @@ where async fn build_consensus(self, ctx: &BuilderContext) -> eyre::Result { if ctx.is_dev() { Ok(Arc::new(AutoSealConsensus::new(ctx.chain_spec()))) - } else if ctx.config().bitfinity_import_arg.validate_block_ic_identity_file_path.is_some() { - tracing::info!("Using Bitfinity Beacon Consensus"); - let evm_canister = - candid::Principal::from_text(&ctx.config().bitfinity_import_arg.evmc_principal) - .expect("Failed to parse principal"); - let ic_identity_path = ctx - .config() - .bitfinity_import_arg - .validate_block_ic_identity_file_path - .as_ref() - .unwrap(); - let network = ctx.config().bitfinity_import_arg.evm_network.as_str(); - Ok(Arc::new( - BitfinityBeaconConsensus::new( - ctx.chain_spec(), - evm_canister, - &ic_identity_path, - network, - ) - .await, - )) } else { - tracing::info!("Using Ethereum Beacon Consensus"); Ok(Arc::new(EthBeaconConsensus::new(ctx.chain_spec()))) } } diff --git a/crates/net/downloaders/src/bodies/request.rs b/crates/net/downloaders/src/bodies/request.rs index 0a1d66b1c4a..6e402b920e2 100644 --- a/crates/net/downloaders/src/bodies/request.rs +++ b/crates/net/downloaders/src/bodies/request.rs @@ -129,19 +129,15 @@ where // block or deliberately sent a single block. if bodies.is_empty() { tracing::error!("Received empty response from peer"); - return Err(DownloadError::EmptyResponse); + return Err(DownloadError::EmptyResponse) } if response_len > request_len { - tracing::error!( - "Received empty response from peer. Expected {} bodies, got {}", - request_len, - response_len - ); + tracing::error!("Received empty response from peer. Expected {} bodies, got {}", request_len, response_len); return Err(DownloadError::TooManyBodies(GotExpected { got: response_len, expected: request_len, - })); + })) } // Buffer block responses @@ -187,14 +183,7 @@ where let block = SealedBlock::new(next_header, next_body); if let Err(error) = self.consensus.validate_block_pre_execution(&block) { - // block is invalid; reject block on the EVM - let handle = tokio::runtime::Handle::current(); - if let Err(err) = handle.block_on(self.consensus.reject_block_on_evm(&block)) { - tracing::error!(target: "downloaders::bodies", ?err, "Failed to reject block"); - } - // Body is invalid, put the header back and return an error - let hash = block.hash(); let number = block.number; self.pending_headers.push_front(block.header); @@ -202,7 +191,7 @@ where hash, number, error: Box::new(error), - }); + }) } self.buffer.push(BlockResponse::Full(block)); @@ -228,7 +217,7 @@ where loop { if this.pending_headers.is_empty() { - return Poll::Ready(Ok(std::mem::take(&mut this.buffer))); + return Poll::Ready(Ok(std::mem::take(&mut this.buffer))) } // Check if there is a pending requests. It might not exist if all @@ -243,7 +232,7 @@ where } Err(error) => { if error.is_channel_closed() { - return Poll::Ready(Err(error.into())); + return Poll::Ready(Err(error.into())) } this.on_error(error.into(), None); diff --git a/crates/primitives/src/proofs.rs b/crates/primitives/src/proofs.rs index beef544d6e1..9e0a0357905 100644 --- a/crates/primitives/src/proofs.rs +++ b/crates/primitives/src/proofs.rs @@ -49,8 +49,8 @@ pub fn calculate_receipt_root_optimism( // encoding. In the Regolith Hardfork, we must strip the deposit nonce from the // receipts before calculating the receipt root. This was corrected in the Canyon // hardfork. - if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) - && !chain_spec + if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) && + !chain_spec .is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Canyon, timestamp) { let receipts = receipts @@ -64,7 +64,7 @@ pub fn calculate_receipt_root_optimism( return ordered_trie_root_with_encoder(receipts.as_slice(), |r, buf| { r.encode_inner(buf, false) - }); + }) } ordered_trie_root_with_encoder(receipts, |r, buf| r.encode_inner(buf, false)) @@ -98,8 +98,8 @@ pub fn calculate_receipt_root_no_memo_optimism( // encoding. In the Regolith Hardfork, we must strip the deposit nonce from the // receipts before calculating the receipt root. This was corrected in the Canyon // hardfork. - if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) - && !chain_spec + if chain_spec.is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Regolith, timestamp) && + !chain_spec .is_fork_active_at_timestamp(reth_chainspec::OptimismHardfork::Canyon, timestamp) { let receipts = receipts @@ -113,7 +113,7 @@ pub fn calculate_receipt_root_no_memo_optimism( return ordered_trie_root_with_encoder(&receipts, |r, buf| { ReceiptWithBloomRef::from(r).encode_inner(buf, false) - }); + }) } ordered_trie_root_with_encoder(receipts, |r, buf| { @@ -125,7 +125,7 @@ pub fn calculate_receipt_root_no_memo_optimism( pub fn calculate_ommers_root(ommers: &[Header]) -> B256 { // Check if `ommers` list is empty if ommers.is_empty() { - return EMPTY_OMMER_ROOT_HASH; + return EMPTY_OMMER_ROOT_HASH } // RLP Encode let mut ommers_rlp = Vec::new(); From 62f2d9192fb91faf9b141528de16b18345aa053b Mon Sep 17 00:00:00 2001 From: veeso Date: Wed, 4 Dec 2024 14:31:10 +0100 Subject: [PATCH 4/9] fix: missing dep --- Cargo.lock | 413 ++++++++++++++++++++++++++++------------------------- Cargo.toml | 13 +- 2 files changed, 227 insertions(+), 199 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index be96783cafb..79321e332f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,7 +207,7 @@ dependencies = [ "alloy-primitives", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -228,7 +228,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -242,7 +242,7 @@ dependencies = [ "k256", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", "url", ] @@ -348,7 +348,7 @@ checksum = "d83524c1f6162fcb5b0decf775498a125066c86dda6066ed609531b0e912f85a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -421,7 +421,7 @@ dependencies = [ "alloy-rpc-types-engine", "serde", "serde_with", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -440,7 +440,7 @@ dependencies = [ "jsonwebtoken", "rand 0.8.5", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -462,7 +462,7 @@ dependencies = [ "proptest-derive 0.4.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -476,7 +476,7 @@ dependencies = [ "alloy-serde", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -516,7 +516,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -534,7 +534,7 @@ dependencies = [ "coins-bip39", "k256", "rand 0.8.5", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -548,7 +548,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -565,7 +565,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "syn-solidity", "tiny-keccak", ] @@ -583,7 +583,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.68", + "syn 2.0.90", "syn-solidity", ] @@ -621,7 +621,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "url", @@ -786,7 +786,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1041,7 +1041,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1052,7 +1052,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1090,7 +1090,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1222,7 +1222,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.68", + "syn 2.0.90", "which", ] @@ -1422,7 +1422,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror", + "thiserror 1.0.61", "time", ] @@ -1462,7 +1462,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "synstructure", ] @@ -1571,7 +1571,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1615,7 +1615,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1628,7 +1628,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1678,7 +1678,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1690,7 +1690,7 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1713,7 +1713,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1894,7 +1894,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -1916,7 +1916,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1932,7 +1932,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -1951,7 +1951,7 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -2021,7 +2021,7 @@ checksum = "45b1f4c00870f07dc34adcac82bb6a72cc5aabca8536ba1797e01df51d2ce9a0" dependencies = [ "directories", "serde", - "thiserror", + "thiserror 1.0.61", "toml", ] @@ -2391,7 +2391,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2452,7 +2452,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2474,7 +2474,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2581,7 +2581,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2594,7 +2594,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.0", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2614,14 +2614,14 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "unicode-xid", ] [[package]] name = "did" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "alloy-primitives", "bincode", @@ -2632,18 +2632,17 @@ dependencies = [ "ethers-core", "hex", "ic-log", - "ic-stable-structures 0.22.0", + "ic-stable-structures 0.23.0", "jsonrpc-core", "log", "num", - "once_cell", "rlp", "serde", "serde_json", "serde_with", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 2.0.4", ] [[package]] @@ -2757,7 +2756,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2825,7 +2824,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.9.9", - "thiserror", + "thiserror 1.0.61", "zeroize", ] @@ -2859,7 +2858,7 @@ dependencies = [ "reth-stages", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "walkdir", ] @@ -2930,7 +2929,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2941,7 +2940,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -2983,7 +2982,7 @@ dependencies = [ "serde", "serde_json", "sha3", - "thiserror", + "thiserror 1.0.61", "uint", ] @@ -3004,8 +3003,8 @@ dependencies = [ [[package]] name = "ethereum-json-rpc-client" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "anyhow", "candid", @@ -3071,7 +3070,7 @@ dependencies = [ "serde_json", "strum", "tempfile", - "thiserror", + "thiserror 1.0.61", "tiny-keccak", "unicode-xid", ] @@ -3105,8 +3104,8 @@ dependencies = [ [[package]] name = "evm-canister-client" -version = "0.34.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.34.x#498b6e18e4734ba6c95e80c50f17b314b27630ba" +version = "0.36.1" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" dependencies = [ "candid", "did", @@ -3127,7 +3126,7 @@ dependencies = [ "reth-node-ethereum", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -3194,7 +3193,7 @@ dependencies = [ "reth-rpc-types", "reth-tracing", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -3575,7 +3574,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -3744,7 +3743,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -3865,7 +3864,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -4280,7 +4279,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -4317,15 +4316,19 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.37.1" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd3fdf5e5c4f4a9fe5ca612f0febd22dcb161d2f2b75b0142326732be5e4978" +checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" dependencies = [ "async-lock", + "async-trait", "backoff", "cached 0.52.0", "candid", + "der", + "ecdsa", "ed25519-consensus", + "elliptic-curve", "futures-util", "hex", "http 1.1.0", @@ -4341,8 +4344,6 @@ dependencies = [ "rand 0.8.5", "rangemap", "reqwest", - "ring", - "rustls-webpki", "sec1", "serde", "serde_bytes", @@ -4350,23 +4351,24 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror", + "thiserror 1.0.61", "time", "tokio", + "tower-service", "url", ] [[package]] name = "ic-canister-client" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "async-trait", "candid", "ic-agent", "ic-exports", "serde", - "thiserror", + "thiserror 2.0.4", ] [[package]] @@ -4379,14 +4381,14 @@ dependencies = [ "ic-certification", "leb128", "nom", - "thiserror", + "thiserror 1.0.61", ] [[package]] name = "ic-cdk" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8ecacd682fa05a985253592963306cb9799622d7b1cce4b1edb89c6ec85be1" +checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" dependencies = [ "candid", "ic-cdk-macros", @@ -4397,23 +4399,23 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4d857135deef20cc7ea8f3869a30cd9cfeb1392b3a81043790b2cd82adc3e0" +checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" dependencies = [ "candid", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] name = "ic-cdk-timers" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7c528bbb3d4d934b43a364855995d318649217c7510f40f92ad52eba3ff7be" +checksum = "fb8fd812a9e26f6aa00594546f8fbf4d4853f39c3ba794c8ff11ecf86fd3c9e4" dependencies = [ "futures", "ic-cdk", @@ -4439,7 +4441,7 @@ dependencies = [ "nom", "parking_lot 0.12.3", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4456,16 +4458,16 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "getrandom 0.2.15", ] [[package]] name = "ic-exports" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "candid", "ic-cdk", @@ -4478,8 +4480,8 @@ dependencies = [ [[package]] name = "ic-kit" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "candid", "futures", @@ -4491,8 +4493,8 @@ dependencies = [ [[package]] name = "ic-log" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "anyhow", "arc-swap", @@ -4516,21 +4518,21 @@ dependencies = [ [[package]] name = "ic-stable-structures" -version = "0.22.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.22.x#ea99e9ffef07699f57b810e9c58e5926c526212c" +version = "0.23.0" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" dependencies = [ "candid", "ic-stable-structures 0.6.5", "parking_lot 0.12.3", "schnellru", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "ic-transport-types" -version = "0.37.1" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875dc4704780383112e8e8b5063a1b98de114321d0c7d3e7f635dcf360a57fba" +checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" dependencies = [ "candid", "hex", @@ -4538,9 +4540,10 @@ dependencies = [ "leb128", "serde", "serde_bytes", + "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4587,7 +4590,7 @@ dependencies = [ "data-encoding", "serde", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -4705,7 +4708,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -4974,7 +4977,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.61", "walkdir", ] @@ -5052,7 +5055,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-rustls", "tokio-util", @@ -5082,7 +5085,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -5107,7 +5110,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "tracing", @@ -5124,7 +5127,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -5147,7 +5150,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -5165,7 +5168,7 @@ dependencies = [ "http 1.1.0", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5209,9 +5212,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -5318,7 +5321,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5367,7 +5370,7 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror", + "thiserror 1.0.61", "tracing", "unsigned-varint 0.8.0", "void", @@ -5388,7 +5391,7 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", "tracing", "zeroize", ] @@ -5647,7 +5650,7 @@ dependencies = [ "metrics", "metrics-util", "quanta", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -5699,7 +5702,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -5777,7 +5780,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6029,7 +6032,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6303,7 +6306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.61", "ucd-trie", ] @@ -6370,7 +6373,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6399,7 +6402,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6516,7 +6519,7 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -6569,7 +6572,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6630,9 +6633,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -6712,7 +6715,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -6775,7 +6778,7 @@ dependencies = [ "quinn-udp", "rustc-hash 1.1.0", "rustls", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -6792,7 +6795,7 @@ dependencies = [ "rustc-hash 1.1.0", "rustls", "slab", - "thiserror", + "thiserror 1.0.61", "tinyvec", "tracing", ] @@ -7003,7 +7006,7 @@ checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7309,7 +7312,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "schnellru", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7348,7 +7351,7 @@ dependencies = [ "reth-tracing", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tikv-jemallocator", "tokio", "tokio-util", @@ -7398,7 +7401,7 @@ dependencies = [ "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7503,7 +7506,7 @@ dependencies = [ "proc-macro2", "quote", "similar-asserts", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -7599,7 +7602,7 @@ dependencies = [ "sysinfo", "tempfile", "test-fuzz", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7654,7 +7657,7 @@ dependencies = [ "reth-trie", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -7679,7 +7682,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7706,7 +7709,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "secp256k1", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -7732,7 +7735,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -7782,7 +7785,7 @@ dependencies = [ "rlp", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7842,7 +7845,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7930,7 +7933,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -7961,7 +7964,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -7985,7 +7988,7 @@ dependencies = [ "reth-codecs-derive", "reth-primitives", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -8117,7 +8120,7 @@ dependencies = [ "reth-revm", "revm", "revm-primitives", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8207,7 +8210,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-transaction-pool", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8223,7 +8226,7 @@ name = "reth-fs-util" version = "1.0.0" dependencies = [ "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -8240,7 +8243,7 @@ dependencies = [ "rand 0.8.5", "reth-tracing", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -8264,7 +8267,7 @@ dependencies = [ "rand_xorshift", "reth-mdbx-sys", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8297,7 +8300,7 @@ dependencies = [ "quote", "regex", "serial_test", - "syn 2.0.68", + "syn 2.0.90", "trybuild", ] @@ -8316,7 +8319,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8369,7 +8372,7 @@ dependencies = [ "serial_test", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tokio-util", @@ -8386,7 +8389,7 @@ dependencies = [ "reth-eth-wire", "reth-network-peers", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8403,7 +8406,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-storage-errors", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8419,7 +8422,7 @@ dependencies = [ "secp256k1", "serde_json", "serde_with", - "thiserror", + "thiserror 1.0.61", "tokio", "url", ] @@ -8453,7 +8456,7 @@ dependencies = [ "serde", "sucds", "tempfile", - "thiserror", + "thiserror 1.0.61", "tracing", "zstd", ] @@ -8576,7 +8579,7 @@ dependencies = [ "secp256k1", "serde_json", "shellexpand", - "thiserror", + "thiserror 1.0.61", "tikv-jemalloc-ctl", "tokio", "tower", @@ -8681,7 +8684,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8721,7 +8724,7 @@ dependencies = [ "reth-transaction-pool", "revm", "sha2 0.10.8", - "thiserror", + "thiserror 1.0.61", "tracing", ] @@ -8745,7 +8748,7 @@ dependencies = [ "reth-transaction-pool", "revm", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -8761,7 +8764,7 @@ dependencies = [ "reth-rpc-types", "reth-transaction-pool", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", ] @@ -8912,7 +8915,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "reth-tracing", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -8934,7 +8937,7 @@ dependencies = [ "serde", "serde_json", "test-fuzz", - "thiserror", + "thiserror 1.0.61", "toml", ] @@ -9004,7 +9007,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tower", @@ -9078,7 +9081,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tower", "tower-http", @@ -9113,7 +9116,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "serde", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9181,7 +9184,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9295,7 +9298,7 @@ dependencies = [ "reth-trie", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9323,7 +9326,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9417,7 +9420,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", "tracing-futures", @@ -9490,7 +9493,7 @@ dependencies = [ "serde_json", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.61", "tokio", "tokio-stream", "tracing", @@ -9579,7 +9582,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-trie", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", ] @@ -9614,7 +9617,7 @@ dependencies = [ "colorchoice", "revm", "serde_json", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -10202,7 +10205,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10225,7 +10228,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror", + "thiserror 1.0.61", ] [[package]] @@ -10236,7 +10239,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10257,7 +10260,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10299,7 +10302,7 @@ dependencies = [ "darling 0.20.9", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10324,7 +10327,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10474,7 +10477,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror", + "thiserror 1.0.61", "time", ] @@ -10589,7 +10592,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10654,7 +10657,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10728,9 +10731,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -10746,7 +10749,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10763,7 +10766,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10848,7 +10851,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -10876,7 +10879,16 @@ version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.61", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] @@ -10887,7 +10899,18 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -11065,7 +11088,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -11250,7 +11273,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror", + "thiserror 1.0.61", "time", "tracing-subscriber", ] @@ -11263,7 +11286,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -11379,7 +11402,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "smallvec", - "thiserror", + "thiserror 1.0.61", "tinyvec", "tokio", "tracing", @@ -11401,7 +11424,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.61", "tokio", "tracing", "trust-dns-proto", @@ -11443,7 +11466,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror", + "thiserror 1.0.61", "utf-8", ] @@ -11720,7 +11743,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -11754,7 +11777,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11895,7 +11918,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -11906,7 +11929,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -12120,7 +12143,7 @@ dependencies = [ "pharos", "rustc_version 0.4.0", "send_wrapper 0.6.0", - "thiserror", + "thiserror 1.0.61", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -12164,7 +12187,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "synstructure", ] @@ -12185,7 +12208,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -12205,7 +12228,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", "synstructure", ] @@ -12226,7 +12249,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] @@ -12248,7 +12271,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.90", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ff4a034768f..473e9995d02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -534,18 +534,23 @@ bitfinity-block-validator = { path = "crates/bitfinity-block-validator" } # Bitfinity Deps async-channel = "2" candid = "0.10" -did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = ["alloy-primitives-07"], tag = "v0.34.x" } +did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = [ + "alloy-primitives-07", +], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } dirs = "5.0.1" -ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", tag = "v0.34.x", features = [ +ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", branch = "EPROD-1086-block-validation-with-a-single-reth-node", features = [ "reqwest", ] } evm-canister-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ "ic-agent-client", -], tag = "v0.34.x" } +], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } +ic-agent = { version = "0.39" } +ic-canister-client = { git = "https://github.com/bitfinity-network/canister-sdk", package = "ic-canister-client", features = [ + "ic-agent-client", +], tag = "v0.23.x" } ic-cbor = "2.3" ic-certificate-verification = "2.3" ic-certification = "2.3" hex = "0.4" lightspeed_scheduler = { version = "0.59.0", features = ["tracing"] } rlp = "0.5" - From c035cb528cef7fe1154f1c87e6ab297b4c1f42db Mon Sep 17 00:00:00 2001 From: veeso Date: Wed, 4 Dec 2024 15:07:17 +0100 Subject: [PATCH 5/9] fix: checks whether unsafe blocks is enabled --- Cargo.lock | 12 ++++++------ crates/bitfinity-block-validator/src/lib.rs | 11 +++++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79321e332f6..ad9032bcf94 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2620,8 +2620,8 @@ dependencies = [ [[package]] name = "did" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.36.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" dependencies = [ "alloy-primitives", "bincode", @@ -3003,8 +3003,8 @@ dependencies = [ [[package]] name = "ethereum-json-rpc-client" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.36.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" dependencies = [ "anyhow", "candid", @@ -3104,8 +3104,8 @@ dependencies = [ [[package]] name = "evm-canister-client" -version = "0.36.1" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#7342f0f65ca84e805aa286b3827cbae66808abb6" +version = "0.36.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" dependencies = [ "candid", "did", diff --git a/crates/bitfinity-block-validator/src/lib.rs b/crates/bitfinity-block-validator/src/lib.rs index 4ff88994c4a..7d91447aefb 100644 --- a/crates/bitfinity-block-validator/src/lib.rs +++ b/crates/bitfinity-block-validator/src/lib.rs @@ -45,12 +45,23 @@ where block: Block, transactions: &[Transaction], ) -> Result<(), Box> { + if !self.unsafe_blocks_enabled().await? { + tracing::debug!("Unsafe blocks are disabled"); + return Ok(()); + } let validate_args = self.execute_block(block, transactions)?; self.validate_unsafe_block(validate_args).await?; Ok(()) } + /// Get whether unsafe blocks are enabled. + async fn unsafe_blocks_enabled(&self) -> Result> { + let res = self.evm_client.is_unsafe_blocks_enabled().await?; + + Ok(res) + } + /// Execute block and return validation arguments. fn execute_block( &self, From fcf05981731603aad637793ef9881ae5e1fd4c3b Mon Sep 17 00:00:00 2001 From: veeso Date: Wed, 4 Dec 2024 15:26:26 +0100 Subject: [PATCH 6/9] fix: better code --- crates/bitfinity-block-validator/src/lib.rs | 81 ++++++++++++++------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/crates/bitfinity-block-validator/src/lib.rs b/crates/bitfinity-block-validator/src/lib.rs index 7d91447aefb..358ea93c500 100644 --- a/crates/bitfinity-block-validator/src/lib.rs +++ b/crates/bitfinity-block-validator/src/lib.rs @@ -6,12 +6,12 @@ use evm_canister_client::{CanisterClient, EvmCanisterClient}; use itertools::Itertools; use reth_db::database::Database; use reth_engine_tree::tree::MemoryOverlayStateProvider; -use reth_evm::execute::BlockExecutorProvider as _; use reth_evm::execute::Executor as _; +use reth_evm::execute::{BlockExecutionOutput, BlockExecutorProvider as _}; use reth_evm_ethereum::execute::EthExecutorProvider; use reth_evm_ethereum::{execute::EthBlockExecutor, EthEvmConfig}; -use reth_primitives::Address; use reth_primitives::U256; +use reth_primitives::{Address, Receipt}; use reth_primitives::{Block, BlockWithSenders}; use reth_provider::{ChainSpecProvider as _, ExecutionOutcome, ProviderFactory, StateProvider}; use reth_revm::database::StateProviderDatabase; @@ -57,9 +57,10 @@ where /// Get whether unsafe blocks are enabled. async fn unsafe_blocks_enabled(&self) -> Result> { - let res = self.evm_client.is_unsafe_blocks_enabled().await?; - - Ok(res) + self.evm_client + .is_unsafe_blocks_enabled() + .await + .map_err(|err| Box::new(err) as Box) } /// Execute block and return validation arguments. @@ -89,29 +90,62 @@ where }; // calculate the receipts root - let receipts_with_bloom = - output.receipts.iter().map(|receipt| receipt.clone().with_bloom()).collect::>(); - let calculated_root = reth_primitives::proofs::calculate_receipt_root(&receipts_with_bloom); - let receipts_root = H256::from_slice(calculated_root.as_ref()); + let receipts_root = self.calculate_receipts_root(&output.receipts); tracing::debug!("Block {block_number} receipts root: {receipts_root}",); // calculate trasnsactions_root - let calculated_root = - reth_primitives::proofs::calculate_transaction_root(&block_with_senders.body); - let transactions_root = H256::from_slice(calculated_root.as_ref()); + let transactions_root = self.calculate_transactions_root(&block_with_senders); tracing::debug!("Block {block_number} transactions root: {transactions_root}",); // calculate block hash - let calculated_block_hash = block_with_senders.clone().seal_slow().hash(); - let block_hash = H256::from_slice(calculated_block_hash.as_ref()); + let block_hash = self.calculate_block_hash(&block_with_senders); tracing::debug!("Block {block_number} hash: {block_hash}",); + // calculate state root + let state_root = self.calculate_state_root(output, block_number)?; + tracing::debug!("Block {block_number} state root: {state_root}",); + + Ok(ValidateUnsafeBlockArgs { + block_number, + block_hash, + transactions_root, + state_root, + receipts_root, + }) + } + + /// Calculate the receipts root. + fn calculate_receipts_root(&self, receipts: &[reth_primitives::Receipt]) -> H256 { + let receipts_with_bloom = + receipts.iter().map(|receipt| receipt.clone().with_bloom()).collect::>(); + let calculated_root = reth_primitives::proofs::calculate_receipt_root(&receipts_with_bloom); + H256::from_slice(calculated_root.as_ref()) + } + + /// Calculate the transactions root. + fn calculate_transactions_root(&self, block: &BlockWithSenders) -> H256 { + let calculated_root = reth_primitives::proofs::calculate_transaction_root(&block.body); + H256::from_slice(calculated_root.as_ref()) + } + + /// Calculate the block hash. + fn calculate_block_hash(&self, block: &BlockWithSenders) -> H256 { + let calculated_hash = block.clone().seal_slow().hash(); + H256::from_slice(calculated_hash.as_ref()) + } + + /// Calculate the state root. + fn calculate_state_root( + &self, + execution_output: BlockExecutionOutput, + block_number: u64, + ) -> Result> { // get state root let execution_outcome = ExecutionOutcome::new( - output.state, - output.receipts.into(), + execution_output.state, + execution_output.receipts.into(), block_number, - vec![output.requests.into()], + vec![execution_output.requests.into()], ); let provider = match self.provider_factory.provider() { Ok(provider) => provider, @@ -122,24 +156,15 @@ where }; let calculated_state_root = execution_outcome.hash_state_slow().state_root_with_updates(provider.tx_ref())?.0; - let state_root = H256::from_slice(calculated_state_root.as_ref()); - tracing::debug!("Block {block_number} state root: {state_root}",); - Ok(ValidateUnsafeBlockArgs { - block_number, - block_hash, - transactions_root, - state_root, - receipts_root, - }) + Ok(H256::from_slice(calculated_state_root.as_ref())) } /// Convert [`Block`] to [`BlockWithSenders`]. fn convert_block(block: Block, transactions: &[Transaction]) -> BlockWithSenders { let senders = transactions .iter() - .map(|tx| &tx.from) - .map(|from| Address::from_slice(from.0.as_ref())) + .map(|tx| Address::from_slice(tx.from.0.as_ref())) .unique() .collect::>(); tracing::debug!("Found {} unique senders in block", senders.len()); From 34838e94ebe3eb44c034e0e0c5e0be014306abfb Mon Sep 17 00:00:00 2001 From: veeso Date: Tue, 7 Jan 2025 10:35:11 +0100 Subject: [PATCH 7/9] fix: deps --- Cargo.lock | 3632 ++++++++++------- Cargo.toml | 8 +- .../rpc-types-compat/src/engine/payload.rs | 20 +- 3 files changed, 2209 insertions(+), 1451 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ad9032bcf94..1cedb3abb42 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,18 +4,18 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -86,6 +86,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned-vec" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e0966165eaf052580bd70eb1b32cb3d6245774c0104d1b2793e9650bf83b52a" +dependencies = [ + "equator", +] + [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -103,16 +112,35 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "alloy" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59febb24956a41c29bb5f450978fbe825bd6456b3f80586c8bd558dc882e7b6a" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-core", + "alloy-eips 0.8.3", + "alloy-genesis 0.8.3", + "alloy-network 0.8.3", + "alloy-provider 0.8.3", + "alloy-rpc-client 0.8.3", + "alloy-rpc-types 0.8.3", + "alloy-serde 0.8.3", + "alloy-transport-http 0.8.3", +] [[package]] name = "alloy-chains" -version = "0.1.23" +version = "0.1.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1752d7d62e2665da650a36d84abbf239f812534475d51f072a49a533513b7cdd" +checksum = "da226340862e036ab26336dc99ca85311c6b662267c1440e1733890fd688802c" dependencies = [ + "alloy-primitives 0.8.18", "alloy-rlp", "arbitrary", "num_enum", @@ -123,14 +151,14 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f63a6c9eb45684a5468536bc55379a2af0f45ffa5d756e4e4964532737e1836" +checksum = "da374e868f54c7f4ad2ad56829827badca388efd645f8cf5fccc61c2b5343504" dependencies = [ - "alloy-eips", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.1.4", "arbitrary", "c-kzg", "proptest", @@ -138,33 +166,119 @@ dependencies = [ "serde", ] +[[package]] +name = "alloy-consensus" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88e1edea70787c33e11197d3f32ae380f3db19e6e061e539a5bcf8184a6b326" +dependencies = [ + "alloy-eips 0.8.3", + "alloy-primitives 0.8.18", + "alloy-rlp", + "alloy-serde 0.8.3", + "alloy-trie 0.7.8", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "k256", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57b1bb53f40c0273cd1975573cd457b39213e68584e36d1401d25fd0398a1d65" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-primitives 0.8.18", + "alloy-rlp", + "alloy-serde 0.8.3", + "serde", +] + +[[package]] +name = "alloy-core" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0713007d14d88a6edb8e248cddab783b698dbb954a28b8eee4bab21cfb7e578" +dependencies = [ + "alloy-dyn-abi 0.8.18", + "alloy-json-abi 0.8.18", + "alloy-primitives 0.8.18", + "alloy-rlp", + "alloy-sol-types 0.8.18", +] + [[package]] name = "alloy-dyn-abi" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6e6436a9530f25010d13653e206fab4c9feddacf21a54de8d7311b275bc56b" +checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-type-parser", - "alloy-sol-types", + "alloy-json-abi 0.7.7", + "alloy-primitives 0.7.7", + "alloy-sol-type-parser 0.7.7", + "alloy-sol-types 0.7.7", "const-hex", "derive_more 0.99.18", "itoa", "serde", "serde_json", - "winnow 0.6.13", + "winnow", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44e3b98c37b3218924cd1d2a8570666b89662be54e5b182643855f783ea68b33" +dependencies = [ + "alloy-json-abi 0.8.18", + "alloy-primitives 0.8.18", + "alloy-sol-type-parser 0.8.18", + "alloy-sol-types 0.8.18", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-rlp", + "derive_more 1.0.0", + "k256", + "serde", ] [[package]] name = "alloy-eips" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4b0fc6a572ef2eebda0a31a5e393d451abda703fec917c75d9615d8c978cf2" +checksum = "f76ecab54890cdea1e4808fc0891c7e6cfcf71fe1a9fe26810c7280ef768f4ed" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.1.4", "arbitrary", "c-kzg", "derive_more 0.99.18", @@ -175,83 +289,177 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "alloy-eips" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9fadfe089e9ccc0650473f2d4ef0a28bc015bbca5631d9f0f09e49b557fdb3" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives 0.8.18", + "alloy-rlp", + "alloy-serde 0.8.3", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2 0.10.8", +] + [[package]] name = "alloy-genesis" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48450f9c6f0821c1eee00ed912942492ed4f11dd69532825833de23ecc7a2256" +checksum = "bca15afde1b6d15e3fc1c97421262b1bbb37aee45752e3c8b6d6f13f776554ff" dependencies = [ - "alloy-primitives", - "alloy-serde", + "alloy-primitives 0.7.7", + "alloy-serde 0.1.4", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2a4cf7b70f3495788e74ce1c765260ffe38820a2a774ff4aacb62e31ea73f9" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-serde 0.8.3", + "alloy-trie 0.7.8", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaeaccd50238126e3a0ff9387c7c568837726ad4f4e399b528ca88104d6c25ef" +checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" dependencies = [ - "alloy-primitives", - "alloy-sol-type-parser", + "alloy-primitives 0.7.7", + "alloy-sol-type-parser 0.7.7", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-abi" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "731ea743b3d843bc657e120fb1d1e9cc94f5dab8107e35a82125a63e6420a102" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-sol-type-parser 0.8.18", "serde", "serde_json", ] [[package]] name = "alloy-json-rpc" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d484c2a934d0a4d86f8ad4db8113cb1d607707a6c54f6e78f4f1b4451b47aa70" +checksum = "6d6f34930b7e3e2744bcc79056c217f00cb2abb33bc5d4ff88da7623c5bb078b" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e29040b9d5fe2fb70415531882685b64f8efd08dfbd6cc907120650504821105" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-sol-types 0.8.18", + "serde", + "serde_json", + "thiserror 2.0.9", "tracing", ] [[package]] name = "alloy-network" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a20eba9bc551037f0626d6d29e191888638d979943fa4e842e9e6fc72bf0565" +checksum = "25f6895fc31b48fa12306ef9b4f78b7764f8bd6d7d91cdb0a40e233704a0f23f" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", - "alloy-sol-types", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-json-rpc 0.1.4", + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth 0.1.4", + "alloy-serde 0.1.4", + "alloy-signer 0.1.4", + "alloy-sol-types 0.7.7", "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror 1.0.61", + "thiserror 1.0.69", +] + +[[package]] +name = "alloy-network" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510cc00b318db0dfccfdd2d032411cfae64fc144aef9679409e014145d3dacc4" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-consensus-any", + "alloy-eips 0.8.3", + "alloy-json-rpc 0.8.3", + "alloy-network-primitives", + "alloy-primitives 0.8.18", + "alloy-rpc-types-any", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", + "alloy-signer 0.8.3", + "alloy-sol-types 0.8.18", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.9", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9081c099e798b8a2bba2145eb82a9a146f01fc7a35e9ab6e7b43305051f97550" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-primitives 0.8.18", + "alloy-serde 0.8.3", + "serde", ] [[package]] name = "alloy-node-bindings" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e07c66b8b0ba8c87461a15fe3247c5b46fb500e103111b0ad4798738e45b1e" +checksum = "494b2fb0276a78ec13791446a417c2517eee5c8e8a8c520ae0681975b8056e5c" dependencies = [ - "alloy-genesis", - "alloy-primitives", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "k256", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", "url", ] [[package]] name = "alloy-primitives" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f783611babedbbe90db3478c120fb5f5daacceffc210b39adc0af4fe0da70bad" +checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" dependencies = [ "alloy-rlp", "arbitrary", @@ -274,30 +482,60 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "alloy-primitives" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "788bb18e8f61d5d9340b52143f27771daf7e1dccbaf2741621d2493f9debf52e" +dependencies = [ + "alloy-rlp", + "arbitrary", + "bytes", + "cfg-if", + "const-hex", + "derive_arbitrary", + "derive_more 1.0.0", + "foldhash", + "hashbrown 0.15.2", + "indexmap 2.7.0", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "proptest-derive 0.5.1", + "rand 0.8.5", + "ruint", + "rustc-hash 2.1.0", + "serde", + "sha3", + "tiny-keccak", +] + [[package]] name = "alloy-provider" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5d89acb7339fad13bc69e7b925232f242835bfd91c82fcb9326b36481bd0f0" +checksum = "9c538bfa893d07e27cb4f3c1ab5f451592b7c526d511d62b576a2ce59e146e4a" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-json-rpc 0.1.4", + "alloy-network 0.1.4", + "alloy-primitives 0.7.7", "alloy-pubsub", - "alloy-rpc-client", + "alloy-rpc-client 0.1.4", "alloy-rpc-types-admin", "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-transport", - "alloy-transport-http", + "alloy-rpc-types-eth 0.1.4", + "alloy-transport 0.1.4", + "alloy-transport-http 0.1.4", "alloy-transport-ws", "async-stream", "async-trait", "auto_impl", - "dashmap", + "dashmap 5.5.3", "futures", "futures-utils-wasm", "lru", @@ -310,58 +548,95 @@ dependencies = [ "url", ] +[[package]] +name = "alloy-provider" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc2dfaddd9a30aa870a78a4e1316e3e115ec1e12e552cbc881310456b85c1f24" +dependencies = [ + "alloy-chains", + "alloy-consensus 0.8.3", + "alloy-eips 0.8.3", + "alloy-json-rpc 0.8.3", + "alloy-network 0.8.3", + "alloy-network-primitives", + "alloy-primitives 0.8.18", + "alloy-rpc-client 0.8.3", + "alloy-rpc-types-eth 0.8.3", + "alloy-transport 0.8.3", + "alloy-transport-http 0.8.3", + "async-stream", + "async-trait", + "auto_impl", + "dashmap 6.1.0", + "futures", + "futures-utils-wasm", + "lru", + "parking_lot 0.12.3", + "pin-project", + "reqwest", + "schnellru", + "serde", + "serde_json", + "thiserror 2.0.9", + "tokio", + "tracing", + "url", + "wasmtimer", +] + [[package]] name = "alloy-pubsub" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034258dfaa51c278e1f7fcc46e587d10079ec9372866fa48c5df9d908fc1f6b1" +checksum = "0a7341322d9bc0e49f6e9fd9f2eb8e30f73806f2dd12cbb3d6bab2694c921f87" dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-transport", + "alloy-json-rpc 0.1.4", + "alloy-primitives 0.7.7", + "alloy-transport 0.1.4", "bimap", "futures", "serde", "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tracing", ] [[package]] name = "alloy-rlp" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a43b18702501396fa9bcdeecd533bc85fac75150d308fc0f6800a01e6234a003" +checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097" dependencies = [ "alloy-rlp-derive", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bytes", ] [[package]] name = "alloy-rlp-derive" -version = "0.3.7" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83524c1f6162fcb5b0decf775498a125066c86dda6066ed609531b0e912f85a" +checksum = "5a833d97bf8a5f0f878daf2c8451fff7de7f9de38baa5a45d936ec718d81255a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "alloy-rpc-client" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ce003e8c74bbbc7d4235131c1d6b7eaf14a533ae850295b90d240340989cb" +checksum = "5ba31bae67773fd5a60020bea900231f8396202b7feca4d0c70c6b59308ab4a8" dependencies = [ - "alloy-json-rpc", - "alloy-primitives", + "alloy-json-rpc 0.1.4", + "alloy-primitives 0.7.7", "alloy-pubsub", - "alloy-transport", - "alloy-transport-http", + "alloy-transport 0.1.4", + "alloy-transport-http 0.1.4", "alloy-transport-ws", "futures", "pin-project", @@ -370,91 +645,137 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "531137b283547d5b9a5cafc96b006c64ef76810c681d606f28be9781955293b6" +dependencies = [ + "alloy-json-rpc 0.8.3", + "alloy-primitives 0.8.18", + "alloy-transport 0.8.3", + "alloy-transport-http 0.8.3", + "futures", + "pin-project", + "reqwest", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.2", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dfa1dd3e0bc3a3d89744fba8d1511216e83257160da2cd028a18b7d9c026030" +checksum = "184a7a42c7ba9141cc9e76368356168c282c3bc3d9e5d78f3556bdfe39343447" dependencies = [ "alloy-rpc-types-engine", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.1.4", "alloy-rpc-types-trace", - "alloy-serde", + "alloy-serde 0.1.4", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3410a472ce26c457e9780f708ee6bd540b30f88f1f31fdab7a11d00bd6aa1aee" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", + "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae99de76a362c4311f0892e286eb752cf2a3a6ef6555dff6d93f51de2c24648" +checksum = "7e953064025c49dc9f6a3f3ac07a713487849065692228b33948f2714f2bb60d" dependencies = [ - "alloy-genesis", - "alloy-primitives", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-anvil" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f67aec11f9f3bc5e96c2b7f342dba6e9541a8a48d2cfbe27b6b195136aa18eee" +checksum = "8c7cf4356a9d00df76d6e90d002e2a7b5edc1c8476e90e6f17ab868d99db6435" dependencies = [ - "alloy-primitives", - "alloy-serde", + "alloy-primitives 0.7.7", + "alloy-serde 0.1.4", "serde", ] +[[package]] +name = "alloy-rpc-types-any" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed98e1af55a7d856bfa385f30f63d8d56be2513593655c904a8f4a7ec963aa3e" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth 0.8.3", + "alloy-serde 0.8.3", +] + [[package]] name = "alloy-rpc-types-beacon" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2c363d49f460538899aaeb3325918f55fa01841fd7f3f11f58d438343ea083" +checksum = "a5f2e67d3e2478902b71bbadcd564ee5bbcc71945a0010a1f0e87a2339c6f3f9" dependencies = [ - "alloy-eips", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "alloy-rpc-types-engine", "serde", "serde_with", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "alloy-rpc-types-engine" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc40df2dda7561d1406d0bee1d19c8787483a2cf2ee8011c05909475e7bc102d" +checksum = "6e765962e3b82fd6f276a0873b5bd897e5d75a25f78fa9a6a21bd350d8e98a4e" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.1.4", + "alloy-serde 0.1.4", "jsonrpsee-types", "jsonwebtoken", "rand 0.8.5", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "alloy-rpc-types-eth" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13bd7aa9ff9e67f1ba7ee0dd8cebfc95831d1649b0e4eeefae940dc3681079fa" +checksum = "ab4123ee21f99ba4bd31bfa36ba89112a18a500f8b452f02b35708b1b951e2b9" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-serde", - "alloy-sol-types", + "alloy-serde 0.1.4", + "alloy-sol-types 0.7.7", "arbitrary", "itertools 0.13.0", "jsonrpsee-types", @@ -462,42 +783,62 @@ dependencies = [ "proptest-derive 0.4.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8737d7a6e37ca7bba9c23e9495c6534caec6760eb24abc9d5ffbaaba147818e1" +dependencies = [ + "alloy-consensus 0.8.3", + "alloy-consensus-any", + "alloy-eips 0.8.3", + "alloy-network-primitives", + "alloy-primitives 0.8.18", + "alloy-rlp", + "alloy-serde 0.8.3", + "alloy-sol-types 0.8.18", + "derive_more 1.0.0", + "itertools 0.13.0", + "serde", + "serde_json", ] [[package]] name = "alloy-rpc-types-trace" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535d26db98ac320a0d1637faf3e210328c3df3b1998abd7e72343d3857058efe" +checksum = "567933b1d95fd42cb70b75126e32afec2e5e2c3c16e7100a3f83dc1c80f4dc0e" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth 0.1.4", + "alloy-serde 0.1.4", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "alloy-rpc-types-txpool" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971c92989c6a5588d3f6d1e99e5328fba6e68694efbe969d6ec96ae5b9d1037" +checksum = "3115f4eb1bb9ae9aaa0b24ce875a1d86d6689b16438a12377832def2b09e373c" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth 0.1.4", + "alloy-serde 0.1.4", "serde", ] [[package]] name = "alloy-serde" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8913f9e825068d77c516188c221c44f78fd814fce8effe550a783295a2757d19" +checksum = "9416c52959e66ead795a11f4a86c248410e9e368a0765710e57055b8a1774dd6" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "proptest", "proptest-derive 0.4.0", @@ -505,152 +846,284 @@ dependencies = [ "serde_json", ] +[[package]] +name = "alloy-serde" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5851bf8d5ad33014bd0c45153c603303e730acc8a209450a7ae6b4a12c2789e2" +dependencies = [ + "alloy-primitives 0.8.18", + "serde", + "serde_json", +] + [[package]] name = "alloy-signer" -version = "0.1.3" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b33753c09fa1ad85e5b092b8dc2372f1e337a42e84b9b4cff9fede75ba4adb32" +dependencies = [ + "alloy-primitives 0.7.7", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror 1.0.69", +] + +[[package]] +name = "alloy-signer" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f740e13eb4c6a0e4d0e49738f1e86f31ad2d7ef93be499539f492805000f7237" +checksum = "7e10ca565da6500cca015ba35ee424d59798f2e1b85bc0dd8f81dafd401f029a" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.8.18", "async-trait", "auto_impl", "elliptic-curve", "k256", - "thiserror 1.0.61", + "thiserror 2.0.9", ] [[package]] name = "alloy-signer-local" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87db68d926887393a1d0f9c43833b44446ea29d603291e7b20e5d115f31aa4e3" +checksum = "6dfc9c26fe6c6f1bad818c9a976de9044dd12e1f75f1f156a801ee3e8148c1b6" dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-signer", + "alloy-consensus 0.1.4", + "alloy-network 0.1.4", + "alloy-primitives 0.7.7", + "alloy-signer 0.1.4", "async-trait", "coins-bip32", "coins-bip39", "k256", "rand 0.8.5", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "alloy-sol-macro" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bad41a7c19498e3f6079f7744656328699f8ea3e783bdd10d85788cd439f572" +checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" dependencies = [ - "alloy-sol-macro-expander", - "alloy-sol-macro-input", + "alloy-sol-macro-expander 0.7.7", + "alloy-sol-macro-input 0.7.7", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a07b74d48661ab2e4b50bb5950d74dbff5e61dd8ed03bb822281b706d54ebacb" +dependencies = [ + "alloy-sol-macro-expander 0.8.18", + "alloy-sol-macro-input 0.8.18", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.95", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9899da7d011b4fe4c406a524ed3e3f963797dbc93b45479d60341d3a27b252" +checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" dependencies = [ - "alloy-json-abi", - "alloy-sol-macro-input", + "alloy-json-abi 0.7.7", + "alloy-sol-macro-input 0.7.7", "const-hex", - "heck 0.5.0", - "indexmap 2.2.6", + "heck", + "indexmap 2.7.0", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", - "syn-solidity", + "syn 2.0.95", + "syn-solidity 0.7.7", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19cc9c7f20b90f9be1a8f71a3d8e283a43745137b0837b1a1cb13159d37cad72" +dependencies = [ + "alloy-sol-macro-input 0.8.18", + "const-hex", + "heck", + "indexmap 2.7.0", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.95", + "syn-solidity 0.8.18", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d595768fdc61331a132b6f65db41afae41b9b97d36c21eb1b955c422a7e60" +checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" dependencies = [ - "alloy-json-abi", + "alloy-json-abi 0.7.7", "const-hex", "dunce", - "heck 0.5.0", + "heck", "proc-macro2", "quote", "serde_json", - "syn 2.0.90", - "syn-solidity", + "syn 2.0.95", + "syn-solidity 0.7.7", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713b7e6dfe1cb2f55c80fb05fd22ed085a1b4e48217611365ed0ae598a74c6ac" +dependencies = [ + "const-hex", + "dunce", + "heck", + "proc-macro2", + "quote", + "syn 2.0.95", + "syn-solidity 0.8.18", ] [[package]] name = "alloy-sol-type-parser" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa2fbd22d353d8685bd9fee11ba2d8b5c3b1d11e56adb3265fcf1f32bfdf404" +checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" dependencies = [ - "winnow 0.6.13", + "serde", + "winnow", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eda2711ab2e1fb517fc6e2ffa9728c9a232e296d16810810e6957b781a1b8bc" +dependencies = [ + "serde", + "winnow", ] [[package]] name = "alloy-sol-types" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49042c6d3b66a9fe6b2b5a8bf0d39fc2ae1ee0310a2a26ffedd79fb097878dd" +checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-macro", + "alloy-json-abi 0.7.7", + "alloy-primitives 0.7.7", + "alloy-sol-macro 0.7.7", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-sol-types" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b478bc9c0c4737a04cd976accde4df7eba0bdc0d90ad6ff43d58bc93cf79c1" +dependencies = [ + "alloy-json-abi 0.8.18", + "alloy-primitives 0.8.18", + "alloy-sol-macro 0.8.18", "const-hex", "serde", ] [[package]] name = "alloy-transport" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd9773e4ec6832346171605c776315544bd06e40f803e7b5b7824b325d5442ca" +checksum = "01b51a291f949f755e6165c3ed562883175c97423703703355f4faa4b7d0a57c" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 0.1.4", "base64 0.22.1", "futures-util", "futures-utils-wasm", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", - "tower", + "tower 0.4.13", + "tracing", "url", ] +[[package]] +name = "alloy-transport" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "538a04a37221469cac0ce231b737fd174de2fdfcdd843bdd068cb39ed3e066ad" +dependencies = [ + "alloy-json-rpc 0.8.3", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.9", + "tokio", + "tower 0.5.2", + "tracing", + "url", + "wasmtimer", +] + [[package]] name = "alloy-transport-http" -version = "0.1.3" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86d65871f9f1cafe1ed25cde2f1303be83e6473e995a2d56c275ae4fcce6119c" +dependencies = [ + "alloy-json-rpc 0.1.4", + "alloy-transport 0.1.4", + "reqwest", + "serde_json", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-http" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8ef947b901c0d4e97370f9fa25844cf8b63b1a58fd4011ee82342dc8a9fc6b" +checksum = "2ed40eb1e1265b2911512f6aa1dcece9702d078f5a646730c45e39e2be00ac1c" dependencies = [ - "alloy-json-rpc", - "alloy-transport", + "alloy-json-rpc 0.8.3", + "alloy-transport 0.8.3", "reqwest", "serde_json", - "tower", + "tower 0.5.2", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb40ee66887a66d875a5bb5e01cee4c9a467c263ef28c865cd4b0ebf15f705af" +checksum = "cd7fbc8b6282ce41b01cbddef7bffb133fe6e1bf65dcd39770d45a905c051179" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 0.1.4", "alloy-pubsub", - "alloy-transport", + "alloy-transport 0.1.4", "bytes", "futures", "interprocess", @@ -663,14 +1136,14 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d92049d6642a18c9849ce7659430151e7c92b51552a0cabdc038c1af4cd7308" +checksum = "aec83fd052684556c78c54df111433493267234d82321c2236560c752f595f20" dependencies = [ "alloy-pubsub", - "alloy-transport", + "alloy-transport 0.1.4", "futures", - "http 1.1.0", + "http 1.2.0", "rustls", "serde_json", "tokio", @@ -685,13 +1158,13 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03704f265cbbb943b117ecb5055fd46e8f41e7dc8a58b1aed20bcd40ace38c15" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "arbitrary", "derive_arbitrary", "derive_more 0.99.18", "hashbrown 0.14.5", - "nybbles", + "nybbles 0.2.1", "proptest", "proptest-derive 0.4.0", "serde", @@ -699,6 +1172,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "alloy-trie" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6917c79e837aa7b77b7a6dae9f89cbe15313ac161c4d3cfaf8909ef21f3d22d8" +dependencies = [ + "alloy-primitives 0.8.18", + "alloy-rlp", + "arrayvec 0.7.6", + "derive_more 1.0.0", + "nybbles 0.3.4", + "serde", + "smallvec", + "tracing", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -722,9 +1211,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -737,43 +1226,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "aquamarine" @@ -786,14 +1275,14 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" dependencies = [ "derive_arbitrary", ] @@ -838,7 +1327,7 @@ dependencies = [ "num-bigint", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -930,9 +1419,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -942,9 +1431,12 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "asn1_der" @@ -983,9 +1475,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.11" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" +checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ "brotli", "flate2", @@ -1024,9 +1516,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1035,24 +1527,33 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", +] + +[[package]] +name = "async-watch" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a078faf4e27c0c6cc0efb20e5da59dcccc04968ebf2801d8e0b2195124cdcdb2" +dependencies = [ + "event-listener 2.5.3", ] [[package]] @@ -1063,7 +1564,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -1090,14 +1591,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backoff" @@ -1116,7 +1617,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.3.0", "futures-core", "pin-project", "tokio", @@ -1124,17 +1625,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1205,9 +1706,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.4" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "bitflags 2.6.0", "cexpr", @@ -1215,22 +1716,37 @@ dependencies = [ "itertools 0.12.1", "lazy_static", "lazycell", - "log", - "prettyplease", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.90", - "which", + "syn 2.0.95", +] + +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.95", ] [[package]] name = "binout" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60b1af88a588fca5fe424ae7d735bc52814f80ff57614f57043cc4e2024f2ea" +checksum = "581d67184175e0c94926cb5e82df97bb6e0d8261d27a88a6ead80994ee73a4ac" [[package]] name = "binread" @@ -1257,18 +1773,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitfinity-block-validator" @@ -1308,9 +1824,9 @@ dependencies = [ [[package]] name = "bitm" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06e8e5bec3490b9f6f3adbb78aa4f53e8396fd9994e8a62a346b44ea7c15f35" +checksum = "e7edec3daafc233e78a219c85a77bcf535ee267b0fae7a1aad96bd1a67add5d3" dependencies = [ "dyn_size_of", ] @@ -1357,9 +1873,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ "cc", "glob", @@ -1376,7 +1892,7 @@ dependencies = [ "bitflags 2.6.0", "boa_interner", "boa_macros", - "indexmap 2.2.6", + "indexmap 2.7.0", "num-bigint", "rustc-hash 1.1.0", ] @@ -1387,7 +1903,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "600e4e4a65b26efcef08a7b1cf2899d3845a32e82e067ee3b75eaf7e413ff31c" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitflags 2.6.0", "boa_ast", "boa_gc", @@ -1397,11 +1913,11 @@ dependencies = [ "boa_profiler", "bytemuck", "cfg-if", - "dashmap", + "dashmap 5.5.3", "fast-float", "hashbrown 0.14.5", "icu_normalizer", - "indexmap 2.2.6", + "indexmap 2.7.0", "intrusive-collections", "itertools 0.12.1", "num-bigint", @@ -1422,7 +1938,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 1.0.61", + "thiserror 1.0.69", "time", ] @@ -1447,7 +1963,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.14.5", - "indexmap 2.2.6", + "indexmap 2.7.0", "once_cell", "phf", "rustc-hash 1.1.0", @@ -1462,7 +1978,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "synstructure", ] @@ -1502,9 +2018,9 @@ dependencies = [ [[package]] name = "brotli" -version = "6.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1533,13 +2049,13 @@ dependencies = [ [[package]] name = "bstr" -version = "0.2.17" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ - "lazy_static", "memchr", - "regex-automata 0.1.10", + "regex-automata 0.4.9", + "serde", ] [[package]] @@ -1556,22 +2072,22 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -1582,24 +2098,25 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ "serde", ] [[package]] name = "c-kzg" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" dependencies = [ "blst", "cc", "glob", "hex", "libc", + "once_cell", "serde", ] @@ -1615,7 +2132,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1628,7 +2145,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1651,18 +2168,18 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "candid" -version = "0.10.9" +version = "0.10.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7df77a80c72fcd356cf37ff59c812f37ff06dc9a81232b3aff0a308cb5996904" +checksum = "d04aa85a9ba2542bded33d1eff0ffb17cb98b1be8117e0a25e1ad8c62bedc881" dependencies = [ "anyhow", "binread", @@ -1678,7 +2195,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1690,14 +2207,14 @@ dependencies = [ "lazy_static", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1710,10 +2227,10 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1730,22 +2247,22 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "castaway" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" +checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" dependencies = [ "rustversion", ] [[package]] name = "cc" -version = "1.0.104" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" +checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] [[package]] @@ -1769,11 +2286,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1781,7 +2304,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1865,9 +2388,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.8" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -1875,9 +2398,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.8" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", @@ -1887,21 +2410,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "coins-bip32" @@ -1916,7 +2439,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1932,7 +2455,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1951,14 +2474,14 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "combine" @@ -1972,14 +2495,14 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" dependencies = [ - "crossterm", + "crossterm 0.28.1", "strum", "strum_macros", - "unicode-width", + "unicode-width 0.2.0", ] [[package]] @@ -2021,27 +2544,27 @@ checksum = "45b1f4c00870f07dc34adcac82bb6a72cc5aabca8536ba1797e01df51d2ce9a0" dependencies = [ "directories", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "toml", ] [[package]] name = "console" -version = "0.15.8" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "windows-sys 0.52.0", + "once_cell", + "windows-sys 0.59.0", ] [[package]] name = "const-hex" -version = "1.12.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -2058,9 +2581,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" -version = "0.2.32" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" dependencies = [ "const_format_proc_macros", "konst", @@ -2068,9 +2591,9 @@ dependencies = [ [[package]] name = "const_format_proc_macros" -version = "0.2.32" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ "proc-macro2", "quote", @@ -2102,11 +2625,21 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -2119,18 +2652,18 @@ dependencies = [ [[package]] name = "cpp_demangle" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" +checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" dependencies = [ "cfg-if", ] [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -2210,18 +2743,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2238,9 +2771,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" @@ -2251,13 +2784,26 @@ dependencies = [ "bitflags 2.6.0", "crossterm_winapi", "libc", - "mio", + "mio 0.8.11", "parking_lot 0.12.3", "signal-hook", "signal-hook-mio", "winapi", ] +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.6.0", + "crossterm_winapi", + "parking_lot 0.12.3", + "rustix", + "winapi", +] + [[package]] name = "crossterm_winapi" version = "0.9.1" @@ -2307,9 +2853,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" dependencies = [ "csv-core", "itoa", @@ -2378,7 +2924,7 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "subtle", "zeroize", ] @@ -2391,7 +2937,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -2419,12 +2965,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -2443,16 +2989,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -2468,13 +3014,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", + "darling_core 0.20.10", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -2490,6 +3036,20 @@ dependencies = [ "parking_lot_core 0.9.10", ] +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", +] + [[package]] name = "data-encoding" version = "2.6.0" @@ -2575,13 +3135,13 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -2593,8 +3153,8 @@ dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.90", + "rustc_version 0.4.1", + "syn 2.0.95", ] [[package]] @@ -2614,35 +3174,31 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "unicode-xid", ] [[package]] name = "did" -version = "0.36.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" +version = "0.39.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.39.x#76fc2a464912a52735a9e22cac434a2f7f360b11" dependencies = [ - "alloy-primitives", + "alloy", "bincode", "bytes", "candid", "derive_more 1.0.0", - "ethereum-types", - "ethers-core", - "hex", "ic-log", "ic-stable-structures 0.23.0", "jsonrpc-core", "log", "num", - "rlp", "serde", "serde_json", "serde_with", "sha2 0.10.8", "sha3", - "thiserror 2.0.4", + "thiserror 2.0.9", ] [[package]] @@ -2726,7 +3282,7 @@ dependencies = [ "aes 0.7.5", "aes-gcm", "alloy-rlp", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "delay_map", "enr", "fnv", @@ -2756,7 +3312,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -2773,9 +3329,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" @@ -2785,9 +3341,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "dyn_size_of" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d4f78a40b1ec35bf8cafdaaf607ba2f773c366b0b3bda48937cacd7a8d5134" +checksum = "fdbac012a81cc46ca554aceae23c52f4f55adb343f2f32ca99bb4e5ef868cee2" [[package]] name = "ecdsa" @@ -2824,7 +3380,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.9.9", - "thiserror 1.0.61", + "thiserror 1.0.69", "zeroize", ] @@ -2858,7 +3414,7 @@ dependencies = [ "reth-stages", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "walkdir", ] @@ -2890,9 +3446,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "endian-type" @@ -2922,68 +3478,71 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "enumn" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "env_filter" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ "log", "regex", ] [[package]] -name = "equivalent" -version = "1.0.1" +name = "equator" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "c35da53b5a021d2484a7cc49b2ac7f2d840f8236a286f84202369bd338d761ea" +dependencies = [ + "equator-macro", +] [[package]] -name = "errno" -version = "0.3.9" +name = "equator-macro" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "3bf679796c0322556351f287a51b49e48f7c4986e727b5dd78c972d30e2e16cc" dependencies = [ - "libc", - "windows-sys 0.52.0", + "proc-macro2", + "quote", + "syn 2.0.95", ] [[package]] -name = "ethabi" -version = "18.0.0" +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror 1.0.61", - "uint", + "libc", + "windows-sys 0.59.0", ] [[package]] @@ -2994,23 +3553,20 @@ checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" dependencies = [ "crunchy", "fixed-hash", - "impl-codec", "impl-rlp", "impl-serde", - "scale-info", "tiny-keccak", ] [[package]] name = "ethereum-json-rpc-client" -version = "0.36.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" +version = "0.39.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.39.x#76fc2a464912a52735a9e22cac434a2f7f360b11" dependencies = [ + "alloy", "anyhow", "candid", "did", - "ethers-core", - "hex", "ic-exports", "itertools 0.13.0", "jsonrpc-core", @@ -3029,11 +3585,9 @@ checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" dependencies = [ "ethbloom", "fixed-hash", - "impl-codec", "impl-rlp", "impl-serde", "primitive-types", - "scale-info", "uint", ] @@ -3048,33 +3602,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec 0.7.4", - "bytes", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array", - "k256", - "num_enum", - "open-fastrlp", - "rand 0.8.5", - "rlp", - "serde", - "serde_json", - "strum", - "tempfile", - "thiserror 1.0.61", - "tiny-keccak", - "unicode-xid", -] - [[package]] name = "event-listener" version = "2.5.3" @@ -3094,9 +3621,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite", @@ -3104,8 +3631,8 @@ dependencies = [ [[package]] name = "evm-canister-client" -version = "0.36.0" -source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?branch=EPROD-1086-block-validation-with-a-single-reth-node#33905d2d6ba1587b9ef13639a329625a8ef8349b" +version = "0.39.0" +source = "git+https://github.com/bitfinity-network/bitfinity-evm-sdk?tag=v0.39.x#76fc2a464912a52735a9e22cac434a2f7f360b11" dependencies = [ "candid", "did", @@ -3126,7 +3653,7 @@ dependencies = [ "reth-node-ethereum", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -3179,7 +3706,7 @@ dependencies = [ name = "example-custom-engine-types" version = "0.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "eyre", "reth", "reth-basic-payload-builder", @@ -3193,7 +3720,7 @@ dependencies = [ "reth-rpc-types", "reth-tracing", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", ] @@ -3201,7 +3728,7 @@ dependencies = [ name = "example-custom-evm" version = "0.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "eyre", "reth", "reth-chainspec", @@ -3347,7 +3874,7 @@ dependencies = [ name = "example-exex-op-bridge" version = "0.0.0" dependencies = [ - "alloy-sol-types", + "alloy-sol-types 0.7.7", "eyre", "futures", "rand 0.8.5", @@ -3369,10 +3896,10 @@ dependencies = [ name = "example-exex-rollup" version = "0.0.0" dependencies = [ - "alloy-consensus", - "alloy-genesis", + "alloy-consensus 0.1.4", + "alloy-genesis 0.1.4", "alloy-rlp", - "alloy-sol-types", + "alloy-sol-types 0.7.7", "eyre", "foundry-blob-explorers", "once_cell", @@ -3489,7 +4016,7 @@ dependencies = [ name = "example-stateful-precompile" version = "0.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "eyre", "parking_lot 0.12.3", "reth", @@ -3552,9 +4079,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -3562,7 +4089,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "auto_impl", "bytes", ] @@ -3574,7 +4101,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -3620,9 +4147,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", @@ -3634,6 +4161,27 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -3650,10 +4198,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "195bb5b228e1215c50d828f3e7d48a809a0af2bc0120462710ea5e7fcba3cbe2" dependencies = [ "alloy-chains", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", + "alloy-rpc-types-eth 0.1.4", + "alloy-serde 0.1.4", "chrono", "reqwest", "serde", @@ -3673,9 +4221,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3688,9 +4236,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3698,15 +4246,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3716,9 +4264,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -3737,26 +4285,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -3770,9 +4318,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3839,15 +4387,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-net" @@ -3864,7 +4412,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3908,17 +4456,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap 2.2.6", + "http 1.2.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -3970,6 +4518,18 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", + "serde", +] + [[package]] name = "hashlink" version = "0.8.4" @@ -3998,12 +4558,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -4016,6 +4570,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -4070,15 +4630,6 @@ dependencies = [ "hmac 0.8.1", ] -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "hostname" version = "0.3.1" @@ -4103,9 +4654,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -4114,12 +4665,12 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.2.0", ] [[package]] @@ -4130,16 +4681,16 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "pin-project-lite", ] [[package]] name = "http-range-header" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" [[package]] name = "http-types" @@ -4163,9 +4714,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -4197,15 +4748,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fe55fb7a772d59a5ff1dfbff4fe0258d19b89fec4b233e75d35d5d2316badc" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", "futures-util", "h2", - "http 1.1.0", + "http 1.2.0", "http-body", "httparse", "httpdate", @@ -4218,17 +4769,17 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.1.0", + "http 1.2.0", "hyper", "hyper-util", "log", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls", @@ -4236,38 +4787,50 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "hyper", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", - "tower", "tower-service", "tracing", ] [[package]] name = "iai-callgrind" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b780c98c212412a6d54b5d3d7cf62fb20d88cd32c0653d6df2a03d63e52a903" +checksum = "146bf76de95f03c5f4b118f0f2f350ef18df47cc0595755bd29d8f668209466c" dependencies = [ "bincode", - "bindgen", - "cc", "iai-callgrind-macros", "iai-callgrind-runner", - "regex", ] [[package]] @@ -4279,23 +4842,23 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "iai-callgrind-runner" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8d015de54e6431004efede625ee79e3b4105dcb2100cd574de914e06fd4f7c" +checksum = "60484b2e469ef4f1af6f196af738889ff375151dd11ac223647ed8a97529107d" dependencies = [ "serde", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -4316,12 +4879,15 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" +checksum = "1ba408987ca48fc3eee6a613e760d076a9046cccbbb5ba29efbada339ab28ed9" dependencies = [ + "arc-swap", + "async-channel 1.9.0", "async-lock", "async-trait", + "async-watch", "backoff", "cached 0.52.0", "candid", @@ -4331,9 +4897,9 @@ dependencies = [ "elliptic-curve", "futures-util", "hex", - "http 1.1.0", + "http 1.2.0", "http-body", - "ic-certification", + "ic-certification 3.0.2", "ic-transport-types", "ic-verify-bls-signature", "k256", @@ -4351,7 +4917,8 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror 1.0.61", + "stop-token", + "thiserror 2.0.9", "time", "tokio", "tower-service", @@ -4361,34 +4928,34 @@ dependencies = [ [[package]] name = "ic-canister-client" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "async-trait", "candid", "ic-agent", "ic-exports", "serde", - "thiserror 2.0.4", + "thiserror 2.0.9", ] [[package]] name = "ic-cbor" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc917070b8fc4bd88e3199746372e44d507f54c93a9b191787e1caefca1eba" +checksum = "02b0e48b4166c891e79d624f3a184b4a7c145d307576872d9a46dedb8c73ea8f" dependencies = [ "candid", - "ic-certification", + "ic-certification 2.6.0", "leb128", "nom", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "ic-cdk" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" +checksum = "122efbcb0af5280d408a75a57b7dc6e9d92893bf6ed9cc98fe4dcff51f18b67c" dependencies = [ "candid", "ic-cdk-macros", @@ -4399,16 +4966,16 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" +checksum = "c792bf0d1621c893ccf2bcdeac4ee70121103a03030a1827031a6b3c60488944" dependencies = [ "candid", "proc-macro2", "quote", "serde", "serde_tokenstream", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -4427,28 +4994,40 @@ dependencies = [ [[package]] name = "ic-certificate-verification" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769142849e241e6cf7f5611f9b04983e958729495ea67d2de95e5d9a9c687d9b" +checksum = "586e09b06a93d930f6a33f5f909bb11d2e4a06be3635dd5da1eb0e6554b7dae4" dependencies = [ "cached 0.47.0", "candid", "ic-cbor", - "ic-certification", + "ic-certification 2.6.0", "lazy_static", "leb128", "miracl_core_bls12381", "nom", "parking_lot 0.12.3", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "ic-certification" -version = "2.5.0" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64ee3d8b6e81b51f245716d3e0badb63c283c00f3c9fb5d5219afc30b5bf821" +dependencies = [ + "hex", + "serde", + "serde_bytes", + "sha2 0.10.8", +] + +[[package]] +name = "ic-certification" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20052ce9255fbe2de7041a4f6996fddd095ba1f31ae83b6c0ccdee5be6e7bbcf" +checksum = "9eae40f26fcac9c141cad54d9aa5f423efffde78ac371057c53d275ebbcad443" dependencies = [ "hex", "serde", @@ -4459,7 +5038,7 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "getrandom 0.2.15", ] @@ -4467,7 +5046,7 @@ dependencies = [ [[package]] name = "ic-exports" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", "ic-cdk", @@ -4481,7 +5060,7 @@ dependencies = [ [[package]] name = "ic-kit" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", "futures", @@ -4494,7 +5073,7 @@ dependencies = [ [[package]] name = "ic-log" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "anyhow", "arc-swap", @@ -4509,9 +5088,9 @@ dependencies = [ [[package]] name = "ic-stable-structures" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f3044466a69802de74e710dc0300b706a05696a0531c942ca856751a13b0db" +checksum = "b492c5a16455ae78623eaa12ead96dda6c69a83c535b1b00789f19b381c8a24c" dependencies = [ "ic_principal", ] @@ -4519,31 +5098,31 @@ dependencies = [ [[package]] name = "ic-stable-structures" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", - "ic-stable-structures 0.6.5", + "ic-stable-structures 0.6.7", "parking_lot 0.12.3", "schnellru", - "thiserror 2.0.4", + "thiserror 2.0.9", ] [[package]] name = "ic-transport-types" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" +checksum = "21e2418868dd5857d2a5bac3f1cb6de1aecf2316d380997ef842aec3d8a79d4e" dependencies = [ "candid", "hex", - "ic-certification", + "ic-certification 3.0.2", "leb128", "serde", "serde_bytes", "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 2.0.9", ] [[package]] @@ -4590,7 +5169,7 @@ dependencies = [ "data-encoding", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -4708,7 +5287,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -4729,12 +5308,23 @@ dependencies = [ [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -4766,13 +5356,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.95", ] [[package]] @@ -4813,12 +5403,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ + "arbitrary", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "serde", ] @@ -4830,12 +5421,12 @@ checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" [[package]] name = "inferno" -version = "0.11.19" +version = "0.11.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9" +checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ "ahash", - "indexmap 2.2.6", + "indexmap 2.7.0", "is-terminal", "itoa", "log", @@ -4867,9 +5458,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.2.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bafc2f5dbdad79a6d925649758d5472647b416028099f0b829d1b67fdd47d3" +checksum = "894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb" dependencies = [ "doctest-file", "futures-core", @@ -4882,9 +5473,9 @@ dependencies = [ [[package]] name = "intrusive-collections" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b694dc9f70c3bda874626d2aed13b780f137aab435f4e9814121955cf706122e" +checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" dependencies = [ "memoffset", ] @@ -4895,23 +5486,23 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.7", + "socket2 0.5.8", "widestring", "windows-sys 0.48.0", - "winreg 0.50.0", + "winreg", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.2" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" +checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" dependencies = [ "memchr", "serde", @@ -4919,20 +5510,20 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -4963,9 +5554,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jni" @@ -4977,7 +5568,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.61", + "thiserror 1.0.69", "walkdir", ] @@ -4989,19 +5580,20 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -5048,14 +5640,14 @@ dependencies = [ "futures-channel", "futures-util", "gloo-net", - "http 1.1.0", + "http 1.2.0", "jsonrpsee-core", "pin-project", "rustls", "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-rustls", "tokio-util", @@ -5075,7 +5667,7 @@ dependencies = [ "bytes", "futures-timer", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "http-body-util", "jsonrpsee-types", @@ -5085,7 +5677,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -5110,9 +5702,9 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", - "tower", + "tower 0.4.13", "tracing", "url", ] @@ -5123,11 +5715,11 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -5138,7 +5730,7 @@ checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51" dependencies = [ "anyhow", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "http-body-util", "hyper", @@ -5150,11 +5742,11 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", - "tower", + "tower 0.4.13", "tracing", ] @@ -5165,10 +5757,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" dependencies = [ "beef", - "http 1.1.0", + "http 1.2.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -5188,7 +5780,7 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http 1.1.0", + "http 1.2.0", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", @@ -5235,9 +5827,9 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -5281,26 +5873,20 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libloading" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - [[package]] name = "libp2p" version = "0.53.2" @@ -5321,7 +5907,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -5350,15 +5936,14 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.41.2" +version = "0.41.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8130a8269e65a2554d55131c770bdf4bcd94d2b8d4efb24ca23699be65066c05" +checksum = "a5a8920cbd8540059a01950c1e5c96ea8d89eb50c51cd366fc18bdf540a6e48f" dependencies = [ "either", "fnv", "futures", "futures-timer", - "instant", "libp2p-identity", "multiaddr", "multihash", @@ -5370,17 +5955,18 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", "unsigned-varint 0.8.0", "void", + "web-time", ] [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "asn1_der", "bs58", @@ -5391,7 +5977,7 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", "zeroize", ] @@ -5420,11 +6006,11 @@ dependencies = [ [[package]] name = "libproc" -version = "0.14.8" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ - "bindgen", + "bindgen 0.70.1", "errno", "libc", ] @@ -5522,9 +6108,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" dependencies = [ "linked-hash-map", ] @@ -5537,9 +6123,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litemap" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lock_api" @@ -5559,11 +6145,11 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -5613,9 +6199,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -5639,33 +6225,44 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "metrics" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a7deb012b3b2767169ff203fadb4c6b0b82b947512e5eb9e0b78c2e186ad9e3" +dependencies = [ + "ahash", + "portable-atomic", +] + [[package]] name = "metrics-exporter-prometheus" -version = "0.15.1" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0af7a0d7ced10c0151f870e5e3f3f8bc9ffc5992d32873566ca1f9169ae776" +checksum = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6" dependencies = [ "base64 0.22.1", - "indexmap 2.2.6", - "metrics", + "indexmap 2.7.0", + "metrics 0.23.0", "metrics-util", "quanta", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "metrics-process" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +checksum = "4a82c8add4382f29a122fa64fff1891453ed0f6b2867d971e7d60cb8dfa322ff" dependencies = [ + "libc", "libproc", "mach2", - "metrics", + "metrics 0.24.1", "once_cell", - "procfs", + "procfs 0.17.0", "rlimit", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] @@ -5678,8 +6275,8 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.2.6", - "metrics", + "indexmap 2.7.0", + "metrics 0.23.0", "num_cpus", "ordered-float", "quanta", @@ -5693,7 +6290,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e00cdd87dab765e7dac55c21eb680bfd10655b6c2530f6fe578acdfbb66c757c" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "async-sse", "bytes", "futures-util", @@ -5702,7 +6299,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -5731,11 +6328,11 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -5750,6 +6347,17 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + [[package]] name = "miracl_core_bls12381" version = "4.2.2" @@ -5780,7 +6388,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -5812,9 +6420,9 @@ checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", @@ -5825,7 +6433,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", "url", ] @@ -5842,12 +6450,12 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ "core2", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", ] [[package]] @@ -5864,6 +6472,23 @@ dependencies = [ "unsigned-varint 0.7.2", ] +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework 2.11.1", + "security-framework-sys", + "tempfile", +] + [[package]] name = "nibble_vec" version = "0.1.0" @@ -5903,16 +6528,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - [[package]] name = "num" version = "0.4.3" @@ -5959,7 +6574,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "itoa", ] @@ -6001,7 +6616,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -6010,29 +6624,29 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -6058,26 +6672,39 @@ dependencies = [ "smallvec", ] +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + [[package]] name = "object" -version = "0.36.1" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "opaque-debug" @@ -6086,28 +6713,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "open-fastrlp" -version = "0.1.4" +name = "openssl" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "arrayvec 0.7.4", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "open-fastrlp-derive" +name = "openssl-macros" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "bytes", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.95", ] [[package]] @@ -6116,6 +6744,18 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-sys" +version = "0.9.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -6124,19 +6764,13 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-float" -version = "4.2.1" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ff2cf528c6c03d9ed653d6c4ce1dc0582dc4af309790ad92f07c1cd551b0be" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" dependencies = [ "num-traits", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "p256" version = "0.13.2" @@ -6174,7 +6808,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", @@ -6197,9 +6831,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -6244,9 +6878,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.8", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6301,26 +6935,27 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.61", + "thiserror 2.0.9", "ucd-trie", ] [[package]] name = "ph" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b7b74d575d7c11fb653fae69688be5206cafc1ead33c01ce61ac7f36eae45b" +checksum = "b2fbaf8da280599aae4047ea0659a1e79cf61739bce5bdc50ca88dc7e6357060" dependencies = [ + "aligned-vec", "binout", "bitm", "dyn_size_of", "rayon", - "wyhash", + "seedable_hash", ] [[package]] @@ -6330,14 +6965,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ "futures", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", "phf_shared", @@ -6345,9 +6980,9 @@ dependencies = [ [[package]] name = "phf_codegen" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ "phf_generator", "phf_shared", @@ -6355,9 +6990,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand 0.8.5", @@ -6365,51 +7000,51 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", "phf_shared", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -6429,9 +7064,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "plain_hasher" @@ -6444,9 +7079,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ "num-traits", "plotters-backend", @@ -6457,15 +7092,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" [[package]] name = "plotters-svg" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ "plotters-backend", ] @@ -6490,9 +7125,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "powerfmt" @@ -6519,20 +7154,23 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ "anstyle", "predicates-core", @@ -6540,15 +7178,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -6562,17 +7200,17 @@ checksum = "b55c4d17d994b637e2f4daf6e5dc5d660d209d5642377d675d7a1c3ab69fa579" dependencies = [ "arrayvec 0.5.2", "typed-arena", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "483f8c21f64f3ea09fe0f30f5d48c3e8eefe5dac9129f0075f76593b4c1da705" dependencies = [ "proc-macro2", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -6594,17 +7232,16 @@ dependencies = [ "impl-codec", "impl-rlp", "impl-serde", - "scale-info", "uint", ] [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -6631,6 +7268,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.95", +] + [[package]] name = "proc-macro2" version = "1.0.92" @@ -6651,7 +7310,19 @@ dependencies = [ "flate2", "hex", "lazy_static", - "procfs-core", + "procfs-core 0.16.0", + "rustix", +] + +[[package]] +name = "procfs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" +dependencies = [ + "bitflags 2.6.0", + "hex", + "procfs-core 0.17.0", "rustix", ] @@ -6666,11 +7337,21 @@ dependencies = [ "hex", ] +[[package]] +name = "procfs-core" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" +dependencies = [ + "bitflags 2.6.0", + "hex", +] + [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", @@ -6680,7 +7361,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -6709,29 +7390,29 @@ dependencies = [ [[package]] name = "proptest-derive" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" +checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "psm" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ "cc", ] [[package]] name = "quanta" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" dependencies = [ "crossbeam-utils", "libc", @@ -6768,56 +7449,61 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "rustls", - "thiserror 1.0.61", + "socket2 0.5.8", + "thiserror 2.0.9", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom 0.2.15", "rand 0.8.5", "ring", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.61", + "thiserror 2.0.9", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.2" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", + "socket2 0.5.8", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -6860,6 +7546,7 @@ dependencies = [ "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", + "serde", ] [[package]] @@ -6933,7 +7620,7 @@ dependencies = [ "bitflags 2.6.0", "cassowary", "compact_str", - "crossterm", + "crossterm 0.27.0", "itertools 0.13.0", "lru", "paste", @@ -6942,14 +7629,14 @@ dependencies = [ "strum_macros", "unicode-segmentation", "unicode-truncate", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] name = "raw-cpuid" -version = "11.0.2" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ "bitflags 2.6.0", ] @@ -6991,34 +7678,34 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -7032,13 +7719,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -7049,9 +7736,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "regress" @@ -7065,9 +7752,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "async-compression", "base64 0.22.1", @@ -7075,22 +7762,24 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "http-body-util", "hyper", "hyper-rustls", + "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.1", "rustls-pemfile", "rustls-pki-types", "serde", @@ -7098,8 +7787,10 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", + "tokio-native-tls", "tokio-rustls", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -7107,7 +7798,7 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -7252,7 +7943,7 @@ dependencies = [ "alloy-rlp", "futures-core", "futures-util", - "metrics", + "metrics 0.23.0", "reth-chainspec", "reth-metrics", "reth-payload-builder", @@ -7271,11 +7962,11 @@ dependencies = [ name = "reth-beacon-consensus" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "assert_matches", "futures", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "reth-blockchain-tree", "reth-blockchain-tree-api", "reth-chainspec", @@ -7312,7 +8003,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "schnellru", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -7322,15 +8013,15 @@ dependencies = [ name = "reth-bench" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-provider", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-json-rpc 0.1.4", + "alloy-provider 0.1.4", "alloy-pubsub", - "alloy-rpc-client", + "alloy-rpc-client 0.1.4", "alloy-rpc-types-engine", - "alloy-transport", - "alloy-transport-http", + "alloy-transport 0.1.4", + "alloy-transport-http 0.1.4", "alloy-transport-ipc", "alloy-transport-ws", "async-trait", @@ -7351,11 +8042,11 @@ dependencies = [ "reth-tracing", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tikv-jemallocator", "tokio", "tokio-util", - "tower", + "tower 0.4.13", "tracing", ] @@ -7363,11 +8054,11 @@ dependencies = [ name = "reth-blockchain-tree" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "aquamarine", "assert_matches", "linked_hash_set", - "metrics", + "metrics 0.23.0", "parking_lot 0.12.3", "reth-blockchain-tree-api", "reth-chainspec", @@ -7401,7 +8092,7 @@ dependencies = [ "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -7409,13 +8100,13 @@ name = "reth-chainspec" version = "1.0.0" dependencies = [ "alloy-chains", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-trie", + "alloy-trie 0.4.1", "derive_more 0.99.18", - "nybbles", + "nybbles 0.2.1", "once_cell", "rand 0.8.5", "reth-ethereum-forks", @@ -7443,7 +8134,7 @@ dependencies = [ "clap", "comfy-table", "confy", - "crossterm", + "crossterm 0.27.0", "eyre", "human_bytes", "itertools 0.13.0", @@ -7482,16 +8173,16 @@ dependencies = [ name = "reth-codecs" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "arbitrary", "bytes", "modular-bitfield", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "reth-codecs-derive", "serde", "serde_json", @@ -7506,7 +8197,7 @@ dependencies = [ "proc-macro2", "quote", "similar-asserts", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -7548,9 +8239,9 @@ dependencies = [ name = "reth-consensus-debug-client" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-provider", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-provider 0.1.4", "auto_impl", "eyre", "futures", @@ -7577,7 +8268,7 @@ dependencies = [ "derive_more 0.99.18", "eyre", "iai-callgrind", - "metrics", + "metrics 0.23.0", "page_size", "paste", "pprof", @@ -7595,14 +8286,14 @@ dependencies = [ "reth-storage-errors", "reth-tracing", "reth-trie-common", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "serde", "serde_json", "strum", "sysinfo", "tempfile", "test-fuzz", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -7615,14 +8306,14 @@ dependencies = [ "criterion", "derive_more 0.99.18", "iai-callgrind", - "metrics", + "metrics 0.23.0", "modular-bitfield", "parity-scale-codec", "paste", "pprof", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "reth-codecs", "reth-primitives", @@ -7640,7 +8331,7 @@ dependencies = [ name = "reth-db-common" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "boyer-moore-magiclen", "eyre", "reth-chainspec", @@ -7657,7 +8348,7 @@ dependencies = [ "reth-trie", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", ] @@ -7665,7 +8356,7 @@ dependencies = [ name = "reth-discv4" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "assert_matches", "discv5", @@ -7682,7 +8373,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -7692,7 +8383,7 @@ dependencies = [ name = "reth-discv5" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "derive_more 0.99.18", "discv5", @@ -7700,7 +8391,7 @@ dependencies = [ "futures", "itertools 0.13.0", "libp2p-identity", - "metrics", + "metrics 0.23.0", "multiaddr", "rand 0.8.5", "reth-chainspec", @@ -7709,7 +8400,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "secp256k1", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -7719,7 +8410,7 @@ name = "reth-dns-discovery" version = "1.0.0" dependencies = [ "alloy-chains", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "data-encoding", "enr", @@ -7735,7 +8426,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -7762,9 +8453,9 @@ dependencies = [ "ic-canister-client", "ic-cbor", "ic-certificate-verification", - "ic-certification", + "ic-certification 2.6.0", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "pin-project", "rand 0.8.5", "rayon", @@ -7785,7 +8476,7 @@ dependencies = [ "rlp", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -7796,10 +8487,10 @@ dependencies = [ name = "reth-e2e-test-utils" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-rpc-types", - "alloy-signer", + "alloy-consensus 0.1.4", + "alloy-network 0.1.4", + "alloy-rpc-types 0.1.4", + "alloy-signer 0.1.4", "alloy-signer-local", "eyre", "futures-util", @@ -7828,7 +8519,7 @@ name = "reth-ecies" version = "1.0.0" dependencies = [ "aes 0.8.4", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "block-padding", "byteorder", @@ -7845,7 +8536,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -7869,7 +8560,7 @@ dependencies = [ "aquamarine", "assert_matches", "futures", - "metrics", + "metrics 0.23.0", "parking_lot 0.12.3", "reth-beacon-consensus", "reth-blockchain-tree", @@ -7933,7 +8624,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -7949,7 +8640,7 @@ dependencies = [ "pin-project", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "reth-chainspec", "reth-codecs", @@ -7964,7 +8655,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -7975,20 +8666,20 @@ dependencies = [ name = "reth-eth-wire-types" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "alloy-rlp", "arbitrary", "bytes", "derive_more 0.99.18", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "reth-chainspec", "reth-codecs-derive", "reth-primitives", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -8025,7 +8716,7 @@ name = "reth-ethereum-forks" version = "1.0.0" dependencies = [ "alloy-chains", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "arbitrary", "auto_impl", @@ -8033,8 +8724,8 @@ dependencies = [ "dyn-clone", "once_cell", "proptest", - "proptest-derive 0.5.0", - "rustc-hash 2.0.0", + "proptest-derive 0.5.1", + "rustc-hash 2.1.0", "serde", "thiserror-no-std", ] @@ -8061,7 +8752,7 @@ dependencies = [ name = "reth-etl" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "rayon", "reth-db-api", "tempfile", @@ -8088,8 +8779,8 @@ dependencies = [ name = "reth-evm-ethereum" version = "1.0.0" dependencies = [ - "alloy-eips", - "alloy-sol-types", + "alloy-eips 0.1.4", + "alloy-sol-types 0.7.7", "reth-chainspec", "reth-ethereum-consensus", "reth-ethereum-forks", @@ -8120,7 +8811,7 @@ dependencies = [ "reth-revm", "revm", "revm-primitives", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", ] @@ -8128,8 +8819,8 @@ dependencies = [ name = "reth-execution-errors" version = "1.0.0" dependencies = [ - "alloy-eips", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "reth-consensus", "reth-prune-types", "reth-storage-errors", @@ -8141,8 +8832,8 @@ dependencies = [ name = "reth-execution-types" version = "1.0.0" dependencies = [ - "alloy-eips", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-primitives 0.7.7", "reth-chainspec", "reth-execution-errors", "reth-primitives", @@ -8156,7 +8847,7 @@ name = "reth-exex" version = "1.0.0" dependencies = [ "eyre", - "metrics", + "metrics 0.23.0", "reth-blockchain-tree", "reth-chainspec", "reth-config", @@ -8210,7 +8901,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-transaction-pool", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", ] @@ -8218,7 +8909,7 @@ dependencies = [ name = "reth-exex-types" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", ] [[package]] @@ -8226,7 +8917,7 @@ name = "reth-fs-util" version = "1.0.0" dependencies = [ "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -8243,11 +8934,11 @@ dependencies = [ "rand 0.8.5", "reth-tracing", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", - "tower", + "tower 0.4.13", "tracing", ] @@ -8258,16 +8949,16 @@ dependencies = [ "bitflags 2.6.0", "byteorder", "criterion", - "dashmap", + "dashmap 5.5.3", "derive_more 0.99.18", - "indexmap 2.2.6", + "indexmap 2.7.0", "parking_lot 0.12.3", "pprof", "rand 0.8.5", "rand_xorshift", "reth-mdbx-sys", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", ] @@ -8275,7 +8966,7 @@ dependencies = [ name = "reth-mdbx-sys" version = "1.0.0" dependencies = [ - "bindgen", + "bindgen 0.69.5", "cc", ] @@ -8284,7 +8975,7 @@ name = "reth-metrics" version = "1.0.0" dependencies = [ "futures", - "metrics", + "metrics 0.23.0", "reth-metrics-derive", "tokio", "tokio-util", @@ -8294,13 +8985,13 @@ dependencies = [ name = "reth-metrics-derive" version = "1.0.0" dependencies = [ - "metrics", + "metrics 0.23.0", "once_cell", "proc-macro2", "quote", "regex", "serial_test", - "syn 2.0.90", + "syn 2.0.95", "trybuild", ] @@ -8308,7 +8999,7 @@ dependencies = [ name = "reth-net-banlist" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", ] [[package]] @@ -8319,7 +9010,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", ] @@ -8328,7 +9019,7 @@ name = "reth-network" version = "1.0.0" dependencies = [ "alloy-node-bindings", - "alloy-provider", + "alloy-provider 0.1.4", "alloy-rlp", "aquamarine", "auto_impl", @@ -8339,7 +9030,7 @@ dependencies = [ "futures", "humantime-serde", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "parking_lot 0.12.3", "pin-project", "pprof", @@ -8364,7 +9055,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "reth-transaction-pool", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "schnellru", "secp256k1", "serde", @@ -8372,7 +9063,7 @@ dependencies = [ "serial_test", "smallvec", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -8383,13 +9074,13 @@ dependencies = [ name = "reth-network-api" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-admin", "enr", "reth-eth-wire", "reth-network-peers", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", ] @@ -8406,7 +9097,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -8415,14 +9106,14 @@ dependencies = [ name = "reth-network-peers" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "enr", "rand 0.8.5", "secp256k1", "serde_json", "serde_with", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "url", ] @@ -8456,7 +9147,7 @@ dependencies = [ "serde", "sucds", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", "zstd", ] @@ -8530,7 +9221,7 @@ dependencies = [ name = "reth-node-core" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "alloy-rpc-types-engine", "clap", "const_format", @@ -8538,15 +9229,15 @@ dependencies = [ "dirs-next", "eyre", "futures", - "http 1.1.0", + "http 1.2.0", "humantime", "jsonrpsee", - "metrics", + "metrics 0.23.0", "metrics-exporter-prometheus", "metrics-process", "metrics-util", "once_cell", - "procfs", + "procfs 0.16.0", "proptest", "rand 0.8.5", "reth-chainspec", @@ -8579,10 +9270,10 @@ dependencies = [ "secp256k1", "serde_json", "shellexpand", - "thiserror 1.0.61", + "thiserror 1.0.69", "tikv-jemalloc-ctl", "tokio", - "tower", + "tower 0.4.13", "tracing", "vergen", ] @@ -8591,8 +9282,8 @@ dependencies = [ name = "reth-node-ethereum" version = "1.0.0" dependencies = [ - "alloy-genesis", - "alloy-primitives", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "eyre", "futures", "futures-util", @@ -8645,8 +9336,8 @@ dependencies = [ name = "reth-node-optimism" version = "1.0.0" dependencies = [ - "alloy-genesis", - "alloy-primitives", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "async-trait", "clap", "eyre", @@ -8684,7 +9375,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -8724,7 +9415,7 @@ dependencies = [ "reth-transaction-pool", "revm", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", ] @@ -8737,7 +9428,7 @@ name = "reth-payload-builder" version = "1.0.0" dependencies = [ "futures-util", - "metrics", + "metrics 0.23.0", "reth-errors", "reth-ethereum-engine-primitives", "reth-metrics", @@ -8748,7 +9439,7 @@ dependencies = [ "reth-transaction-pool", "revm", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -8764,7 +9455,7 @@ dependencies = [ "reth-rpc-types", "reth-transaction-pool", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", ] @@ -8782,12 +9473,12 @@ dependencies = [ name = "reth-primitives" version = "1.0.0" dependencies = [ - "alloy-eips", - "alloy-genesis", - "alloy-primitives", + "alloy-eips 0.1.4", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-rpc-types", - "alloy-trie", + "alloy-rpc-types 0.1.4", + "alloy-trie 0.4.1", "arbitrary", "assert_matches", "bytes", @@ -8795,12 +9486,12 @@ dependencies = [ "criterion", "derive_more 0.99.18", "modular-bitfield", - "nybbles", + "nybbles 0.2.1", "once_cell", "pprof", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "rayon", "reth-chainspec", @@ -8826,12 +9517,12 @@ dependencies = [ name = "reth-primitives-traits" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.1.4", "arbitrary", "byteorder", "bytes", @@ -8839,7 +9530,7 @@ dependencies = [ "modular-bitfield", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "reth-codecs", "revm-primitives", @@ -8858,9 +9549,9 @@ dependencies = [ "alloy-rpc-types-engine", "assert_matches", "auto_impl", - "dashmap", + "dashmap 5.5.3", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "parking_lot 0.12.3", "pin-project", "rand 0.8.5", @@ -8896,10 +9587,10 @@ dependencies = [ name = "reth-prune" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "assert_matches", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "rayon", "reth-chainspec", "reth-config", @@ -8915,7 +9606,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "reth-tracing", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -8924,7 +9615,7 @@ dependencies = [ name = "reth-prune-types" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "assert_matches", "bytes", @@ -8932,12 +9623,12 @@ dependencies = [ "modular-bitfield", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "reth-codecs", "serde", "serde_json", "test-fuzz", - "thiserror 1.0.61", + "thiserror 1.0.69", "toml", ] @@ -8945,7 +9636,7 @@ dependencies = [ name = "reth-revm" version = "1.0.0" dependencies = [ - "alloy-eips", + "alloy-eips 0.1.4", "alloy-rlp", "reth-chainspec", "reth-consensus-common", @@ -8963,14 +9654,14 @@ dependencies = [ name = "reth-rpc" version = "1.0.0" dependencies = [ - "alloy-dyn-abi", - "alloy-genesis", - "alloy-primitives", + "alloy-dyn-abi 0.7.7", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", "assert_matches", "async-trait", "futures", - "http 1.1.0", + "http 1.2.0", "http-body", "hyper", "jsonrpsee", @@ -9007,10 +9698,10 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tracing", "tracing-futures", ] @@ -9049,9 +9740,9 @@ name = "reth-rpc-builder" version = "1.0.0" dependencies = [ "clap", - "http 1.1.0", + "http 1.2.0", "jsonrpsee", - "metrics", + "metrics 0.23.0", "pin-project", "reth-beacon-consensus", "reth-chainspec", @@ -9081,9 +9772,9 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", - "tower", + "tower 0.4.13", "tower-http", "tracing", ] @@ -9097,7 +9788,7 @@ dependencies = [ "async-trait", "jsonrpsee-core", "jsonrpsee-types", - "metrics", + "metrics 0.23.0", "reth-beacon-consensus", "reth-chainspec", "reth-engine-primitives", @@ -9116,7 +9807,7 @@ dependencies = [ "reth-testing-utils", "reth-tokio-util", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -9125,7 +9816,7 @@ dependencies = [ name = "reth-rpc-eth-api" version = "1.0.0" dependencies = [ - "alloy-dyn-abi", + "alloy-dyn-abi 0.7.7", "async-trait", "auto_impl", "dyn-clone", @@ -9157,12 +9848,12 @@ dependencies = [ name = "reth-rpc-eth-types" version = "1.0.0" dependencies = [ - "alloy-sol-types", + "alloy-sol-types 0.7.7", "derive_more 0.99.18", "futures", "jsonrpsee-core", "jsonrpsee-types", - "metrics", + "metrics 0.23.0", "rand 0.8.5", "reth-chainspec", "reth-errors", @@ -9184,7 +9875,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -9196,14 +9887,14 @@ version = "1.0.0" dependencies = [ "alloy-rpc-types-engine", "assert_matches", - "http 1.1.0", + "http 1.2.0", "jsonrpsee", "jsonrpsee-http-client", "pin-project", "reqwest", "tempfile", "tokio", - "tower", + "tower 0.4.13", "tracing", ] @@ -9211,7 +9902,7 @@ dependencies = [ name = "reth-rpc-server-types" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "jsonrpsee-core", "jsonrpsee-types", "reth-errors", @@ -9226,20 +9917,20 @@ dependencies = [ name = "reth-rpc-types" version = "1.0.0" dependencies = [ - "alloy-primitives", - "alloy-rpc-types", + "alloy-primitives 0.7.7", + "alloy-rpc-types 0.1.4", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-engine", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde", + "alloy-serde 0.1.4", "arbitrary", "bytes", "jsonrpsee-types", "proptest", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "serde", "serde_json", @@ -9251,7 +9942,7 @@ name = "reth-rpc-types-compat" version = "1.0.0" dependencies = [ "alloy-rlp", - "alloy-rpc-types", + "alloy-rpc-types 0.1.4", "reth-primitives", "reth-rpc-types", "reth-trie-common", @@ -9298,7 +9989,7 @@ dependencies = [ "reth-trie", "serde_json", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -9307,12 +9998,12 @@ dependencies = [ name = "reth-stages-api" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "aquamarine", "assert_matches", "auto_impl", "futures-util", - "metrics", + "metrics 0.23.0", "reth-consensus", "reth-db-api", "reth-errors", @@ -9326,7 +10017,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -9336,13 +10027,13 @@ dependencies = [ name = "reth-stages-types" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "bytes", "modular-bitfield", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "rand 0.8.5", "reth-codecs", "reth-trie-common", @@ -9354,7 +10045,7 @@ dependencies = [ name = "reth-static-file" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "assert_matches", "parking_lot 0.12.3", "rayon", @@ -9377,7 +10068,7 @@ dependencies = [ name = "reth-static-file-types" version = "1.0.0" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "clap", "derive_more 0.99.18", "serde", @@ -9416,11 +10107,11 @@ dependencies = [ "auto_impl", "dyn-clone", "futures-util", - "metrics", + "metrics 0.23.0", "pin-project", "rayon", "reth-metrics", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", "tracing-futures", @@ -9430,7 +10121,7 @@ dependencies = [ name = "reth-testing-utils" version = "1.0.0" dependencies = [ - "alloy-genesis", + "alloy-genesis 0.1.4", "rand 0.8.5", "reth-primitives", "secp256k1", @@ -9470,7 +10161,7 @@ dependencies = [ "bitflags 2.6.0", "criterion", "futures-util", - "metrics", + "metrics 0.23.0", "parking_lot 0.12.3", "paste", "pprof", @@ -9487,13 +10178,13 @@ dependencies = [ "reth-tasks", "reth-tracing", "revm", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "schnellru", "serde", "serde_json", "smallvec", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -9507,7 +10198,7 @@ dependencies = [ "auto_impl", "criterion", "derive_more 0.99.18", - "metrics", + "metrics 0.23.0", "once_cell", "proptest", "proptest-arbitrary-interop", @@ -9536,22 +10227,22 @@ dependencies = [ name = "reth-trie-common" version = "1.0.0" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", + "alloy-consensus 0.1.4", + "alloy-genesis 0.1.4", + "alloy-primitives 0.7.7", "alloy-rlp", - "alloy-trie", + "alloy-trie 0.4.1", "arbitrary", "assert_matches", "bytes", "derive_more 0.99.18", "hash-db", "itertools 0.13.0", - "nybbles", + "nybbles 0.2.1", "plain_hasher", "proptest", "proptest-arbitrary-interop", - "proptest-derive 0.5.0", + "proptest-derive 0.5.1", "reth-codecs", "reth-primitives-traits", "revm-primitives", @@ -9569,7 +10260,7 @@ dependencies = [ "criterion", "derive_more 0.99.18", "itertools 0.13.0", - "metrics", + "metrics 0.23.0", "proptest", "proptest-arbitrary-interop", "rand 0.8.5", @@ -9582,7 +10273,7 @@ dependencies = [ "reth-provider", "reth-tasks", "reth-trie", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -9608,16 +10299,16 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b0971cad2f8f1ecb10e270d80646e63bf19daef0dc0a17a45680d24bb346b7c" dependencies = [ - "alloy-primitives", - "alloy-rpc-types", - "alloy-sol-types", + "alloy-primitives 0.7.7", + "alloy-rpc-types 0.1.4", + "alloy-sol-types 0.7.7", "anstyle", "boa_engine", "boa_gc", "colorchoice", "revm", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -9655,7 +10346,7 @@ version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "902184a7a781550858d4b96707098da357429f1e4545806fd5b589f455555cf2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "auto_impl", "bitflags 2.6.0", "bitvec", @@ -9682,9 +10373,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.40" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7439be6844e40133eda024efd85bf07f59d0dd2f59b10c00dd6cfb92cc5c741" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] @@ -9721,9 +10412,9 @@ dependencies = [ [[package]] name = "rlimit" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3560f70f30a0f16d11d01ed078a07740fe6b489667abc7c7b029155d9f21c3d8" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" dependencies = [ "libc", ] @@ -9735,26 +10426,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ "bytes", - "rlp-derive", "rustc-hex", ] -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "roaring" -version = "0.10.5" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" +checksum = "41589aba99537475bf697f2118357cad1c31590c5a1b9f6d9fc4ad6d07503661" dependencies = [ "bytemuck", "byteorder", @@ -9834,9 +10513,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc-hex" @@ -9855,31 +10534,31 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.10" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "log", "once_cell", @@ -9892,49 +10571,63 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.1.0", ] [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] [[package]] name = "rustls-platform-verifier" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3beb939bcd33c269f4bf946cc829fcd336370267c4a927ac0399c84a3151a1" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ - "core-foundation", + "core-foundation 0.9.4", "core-foundation-sys", "jni", "log", "once_cell", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "webpki-roots", "winapi", @@ -9942,15 +10635,15 @@ dependencies = [ [[package]] name = "rustls-platform-verifier-android" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84e217e7fdc8466b5b35d30f8c0a30febd29173df4a3a0c2115d306b9c4117ad" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -9959,9 +10652,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "rusty-fork" @@ -10007,53 +10700,29 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "scale-info" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" -dependencies = [ - "cfg-if", - "derive_more 0.99.18", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "scc" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +checksum = "28e1c91382686d21b5ac7959341fcb9780fa7c03773646995a87c950fa7be640" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "schnellru" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ "ahash", "cfg-if", @@ -10068,9 +10737,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "0.2.0" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" +checksum = "478f121bb72bbf63c52c93011ea1791dca40140dfe13f8336c4c5ac952c33aa9" [[package]] name = "sec1" @@ -10088,9 +10757,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0cc0f1cf93f4969faf3ea1c7d8a9faed25918d96affa959720823dfe86d4f3" +checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand 0.8.5", "secp256k1-sys", @@ -10099,37 +10768,59 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1433bd67156263443f14d603720b082dd3121779323fce20cba2aa07b874bc1b" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ "cc", ] [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "num-bigint", "security-framework-sys", ] +[[package]] +name = "security-framework" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81d3f8c9bfcc3cbb6b0179eb57042d75b1582bdc65c3cb95f3fa999509c03cbc" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", ] +[[package]] +name = "seedable_hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed064ed6aaf88eb6a28ae191f5871a7fcdd2858e1cd6e1ffcc746baef8cd3cfd" +dependencies = [ + "wyhash", +] + [[package]] name = "semver" version = "0.11.0" @@ -10141,18 +10832,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -10171,9 +10862,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] @@ -10199,23 +10890,24 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.7.0", "itoa", + "memchr", "ryu", "serde", ] @@ -10228,7 +10920,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -10239,28 +10931,28 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] [[package]] name = "serde_tokenstream" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" +checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -10277,15 +10969,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.8.2" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "079f3a42cd87588d924ed95b533f8d30a483388c4e400ab736a7058e34f16169" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.6", + "indexmap 2.7.0", "serde", "serde_derive", "serde_json", @@ -10295,21 +10987,21 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.8.2" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc03aad67c1d26b7de277d51c86892e7d9a0110a2fe44bf6b26cc569fba302d6" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "serial_test" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ "futures", "log", @@ -10321,13 +11013,13 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -10377,9 +11069,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -10421,12 +11113,12 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", - "mio", + "mio 0.8.11", "signal-hook", ] @@ -10451,9 +11143,9 @@ dependencies = [ [[package]] name = "similar" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" dependencies = [ "bstr", "unicode-segmentation", @@ -10461,9 +11153,9 @@ dependencies = [ [[package]] name = "similar-asserts" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e041bb827d1bfca18f213411d51b665309f1afb37a04a5d1464530e13779fc0f" +checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" dependencies = [ "console", "similar", @@ -10477,15 +11169,15 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.61", + "thiserror 1.0.69", "time", ] [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "sketches-ddsketch" @@ -10539,9 +11231,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -10549,14 +11241,14 @@ dependencies = [ [[package]] name = "soketto" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ "base64 0.22.1", "bytes", "futures", - "http 1.1.0", + "http 1.2.0", "httparse", "log", "rand 0.8.5", @@ -10587,12 +11279,12 @@ checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" [[package]] name = "stability" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -10603,15 +11295,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" dependencies = [ "cc", "cfg-if", "libc", "psm", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -10620,6 +11312,18 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "stop-token" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af91f480ee899ab2d9f8435bfdfc14d08a5754bd9d3fef1f1a1c23336aad6c8b" +dependencies = [ + "async-channel 1.9.0", + "cfg-if", + "futures-core", + "pin-project-lite", +] + [[package]] name = "str_stack" version = "0.1.0" @@ -10653,11 +11357,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -10697,9 +11401,9 @@ dependencies = [ [[package]] name = "symbolic-common" -version = "12.9.2" +version = "12.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71297dc3e250f7dbdf8adb99e235da783d690f5819fdeb4cce39d9cfb0aca9f1" +checksum = "cd33e73f154e36ec223c18013f7064a2c120f1162fc086ac9933542def186b00" dependencies = [ "debugid", "memmap2", @@ -10709,9 +11413,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.9.2" +version = "12.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424fa2c9bf2c862891b9cfd354a752751a6730fd838a4691e7f6c2c7957b9daf" +checksum = "89e51191290147f071777e37fe111800bb82a9059f9c95b19d2dd41bfeddf477" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -10731,9 +11435,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" dependencies = [ "proc-macro2", "quote", @@ -10742,21 +11446,36 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.7.6" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "syn-solidity" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d71e19bca02c807c9faa67b5a47673ff231b6e7449b251695188522f1dc44b2" +checksum = "31e89d8bf2768d277f40573c83a02a099e96d96dd3104e13ea676194e61ac4b0" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -10766,14 +11485,14 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "sysinfo" -version = "0.30.12" +version = "0.30.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" +checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" dependencies = [ "cfg-if", "core-foundation-sys", @@ -10789,16 +11508,24 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-triple" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078" + [[package]] name = "tempfile" -version = "3.10.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", - "fastrand 2.1.0", + "fastrand 2.3.0", + "getrandom 0.2.15", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -10812,15 +11539,15 @@ dependencies = [ [[package]] name = "termtree" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "test-fuzz" -version = "5.2.0" +version = "5.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9082b62b0966dea2bf7bb254db102c3773d4f0c214a063b37a64f5497304cdc" +checksum = "f9c7343da240e16d7ed8e7a11a6f8e7535c634c38a40736f3b001b38b274962c" dependencies = [ "serde", "test-fuzz-internal", @@ -10830,9 +11557,9 @@ dependencies = [ [[package]] name = "test-fuzz-internal" -version = "5.2.0" +version = "5.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "292a371bafdc4ea286b6bc259c3f8dc82d3ef5cd64878fe4fffecbaa85666710" +checksum = "0b7fbf19217465046777a6c53186f5a72e397a6485a438e6778a283bdd4be720" dependencies = [ "bincode", "cargo_metadata", @@ -10841,24 +11568,24 @@ dependencies = [ [[package]] name = "test-fuzz-macro" -version = "5.2.0" +version = "5.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe1689311f7edc6bab4033a259a3c37510b41063e4b01e57970105c0c764428" +checksum = "4f7fa70c261f748327f21d189b20f447a4306bc1f85ed2571adf185765b14e0a" dependencies = [ - "darling 0.20.9", - "itertools 0.12.1", + "darling 0.20.10", + "itertools 0.13.0", "once_cell", "prettyplease", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "test-fuzz-runtime" -version = "5.2.0" +version = "5.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2282e4b5879b5408b03064f54b1841ce2ea52710da3f2fea33ce05ce63edf455" +checksum = "4ba7fe4e29cb917d48fcd18324ed745b6d5e43e9bea76f5f85eb8352f5829ac1" dependencies = [ "hex", "num-traits", @@ -10875,42 +11602,42 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.61", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.4" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ - "thiserror-impl 2.0.4", + "thiserror-impl 2.0.9", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "thiserror-impl" -version = "2.0.4" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -10985,9 +11712,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -11009,9 +11736,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -11048,9 +11775,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -11063,50 +11790,58 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.3", "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.5.8", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", ] [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -11132,9 +11867,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -11147,47 +11882,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.14" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.7.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow", ] [[package]] @@ -11211,6 +11935,21 @@ dependencies = [ "tracing", ] +[[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.5.2" @@ -11223,7 +11962,7 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body", "http-body-util", "http-range-header", @@ -11235,7 +11974,7 @@ dependencies = [ "pin-project-lite", "tokio", "tokio-util", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -11244,21 +11983,21 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -11273,27 +12012,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.61", + "thiserror 1.0.69", "time", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -11311,31 +12050,20 @@ dependencies = [ [[package]] name = "tracing-journald" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba316a74e8fc3c3896a850dba2375928a9fa171b085ecddfc7c054d39970f3fd" +checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" dependencies = [ "libc", "tracing-core", "tracing-subscriber", ] -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-logfmt" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22b8e455f6caa5212a102ec530bf86b8dc5a4c536299bffd84b238fed9119be7" +checksum = "6b1f47d22deb79c3f59fcf2a1f00f60cbdc05462bf17d1cd356c1fefa3f444bd" dependencies = [ "time", "tracing", @@ -11345,9 +12073,9 @@ dependencies = [ [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ "serde", "tracing-core", @@ -11355,22 +12083,19 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", - "nu-ansi-term", "once_cell", "regex", "serde", "serde_json", "sharded-slab", - "smallvec", "thread_local", "tracing", "tracing-core", - "tracing-log", "tracing-serde", ] @@ -11402,7 +12127,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "smallvec", - "thiserror 1.0.61", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", @@ -11424,7 +12149,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", "trust-dns-proto", @@ -11438,14 +12163,15 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.96" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a5f13f11071020bb12de7a16b925d2d58636175c20c11dc5f96cb64bb6c9b3" +checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4" dependencies = [ "glob", "serde", "serde_derive", "serde_json", + "target-triple", "termcolor", "toml", ] @@ -11459,14 +12185,14 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.1.0", + "http 1.2.0", "httparse", "log", "rand 0.8.5", "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.61", + "thiserror 1.0.69", "utf-8", ] @@ -11484,9 +12210,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -11509,61 +12235,65 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-truncate" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226" +checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" dependencies = [ - "itertools 0.12.1", - "unicode-width", + "itertools 0.13.0", + "unicode-segmentation", + "unicode-width 0.1.14", ] [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -11595,12 +12325,12 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna 1.0.3", "percent-encoding", "serde", ] @@ -11631,9 +12361,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.9.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom 0.2.15", ] @@ -11652,9 +12382,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "8.3.1" +version = "8.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" dependencies = [ "anyhow", "cargo_metadata", @@ -11666,9 +12396,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "void" @@ -11724,46 +12454,47 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11771,28 +12502,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -11801,35 +12532,47 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmtimer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.12.3", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] -name = "webpki-roots" -version = "0.26.3" +name = "web-time" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ - "rustls-pki-types", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "which" -version = "4.4.2" +name = "webpki-roots" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ - "either", - "home", - "once_cell", - "rustix", + "rustls-pki-types", ] [[package]] @@ -11856,11 +12599,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11876,17 +12619,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core 0.52.0", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "windows" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.5", + "windows-core 0.58.0", + "windows-targets 0.52.6", ] [[package]] @@ -11895,50 +12638,72 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ "windows-implement", "windows-interface", "windows-result", - "windows-targets 0.52.5", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] name = "windows-implement" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "windows-interface" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] name = "windows-result" -version = "0.1.2" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-targets 0.52.5", + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -11956,7 +12721,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -11976,18 +12750,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "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", ] [[package]] @@ -11998,9 +12772,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -12010,9 +12784,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -12022,15 +12796,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -12040,9 +12814,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -12052,9 +12826,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -12064,9 +12838,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -12076,24 +12850,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "39281189af81c07ec09db316b302a3e67bf9bd7cbf6c820b50e35fee9c2fa980" dependencies = [ "memchr", ] @@ -12108,16 +12873,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "write16" version = "1.0.0" @@ -12141,9 +12896,9 @@ dependencies = [ "js-sys", "log", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.61", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -12169,9 +12924,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", @@ -12181,54 +12936,55 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", "synstructure", ] @@ -12249,7 +13005,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] @@ -12271,32 +13027,32 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.95", ] [[package]] name = "zstd" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 473e9995d02..82243ff825d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -534,16 +534,14 @@ bitfinity-block-validator = { path = "crates/bitfinity-block-validator" } # Bitfinity Deps async-channel = "2" candid = "0.10" -did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", features = [ - "alloy-primitives-07", -], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } +did = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "did", tag = "v0.39.x" } dirs = "5.0.1" -ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", branch = "EPROD-1086-block-validation-with-a-single-reth-node", features = [ +ethereum-json-rpc-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "ethereum-json-rpc-client", tag = "v0.39.x", features = [ "reqwest", ] } evm-canister-client = { git = "https://github.com/bitfinity-network/bitfinity-evm-sdk", package = "evm-canister-client", features = [ "ic-agent-client", -], branch = "EPROD-1086-block-validation-with-a-single-reth-node" } +], tag = "v0.39.x" } ic-agent = { version = "0.39" } ic-canister-client = { git = "https://github.com/bitfinity-network/canister-sdk", package = "ic-canister-client", features = [ "ic-agent-client", diff --git a/crates/rpc/rpc-types-compat/src/engine/payload.rs b/crates/rpc/rpc-types-compat/src/engine/payload.rs index dacfab06418..6bc7e872284 100644 --- a/crates/rpc/rpc-types-compat/src/engine/payload.rs +++ b/crates/rpc/rpc-types-compat/src/engine/payload.rs @@ -15,11 +15,11 @@ use reth_rpc_types::engine::{ /// Converts [`ExecutionPayloadV1`] to [Block] pub fn try_payload_v1_to_block(payload: ExecutionPayloadV1) -> Result { if payload.extra_data.len() > MAXIMUM_EXTRA_DATA_SIZE { - return Err(PayloadError::ExtraData(payload.extra_data)) + return Err(PayloadError::ExtraData(payload.extra_data)); } if payload.base_fee_per_gas.is_zero() { - return Err(PayloadError::BaseFee(payload.base_fee_per_gas)) + return Err(PayloadError::BaseFee(payload.base_fee_per_gas)); } let transactions = payload @@ -97,7 +97,7 @@ pub fn try_payload_v3_to_block(payload: ExecutionPayloadV3) -> Result Result { - let ExecutionPayloadV4 { payload_inner, deposit_requests, withdrawal_requests } = payload; + let ExecutionPayloadV4 { payload_inner, deposit_requests, withdrawal_requests, .. } = payload; let mut block = try_payload_v3_to_block(payload_inner)?; // attach requests with asc type identifiers @@ -211,10 +211,10 @@ pub fn block_to_payload_v3(value: SealedBlock) -> (ExecutionPayloadV3, Option ExecutionPayloadV4 { - let (deposit_requests, withdrawal_requests) = + let (deposit_requests, withdrawal_requests, consolidation_requests) = value.requests.take().unwrap_or_default().into_iter().fold( - (Vec::new(), Vec::new()), - |(mut deposits, mut withdrawals), request| { + (Vec::new(), Vec::new(), Vec::new()), + |(mut deposits, mut withdrawals, mut consolidation_requests), request| { match request { Request::DepositRequest(r) => { deposits.push(r); @@ -222,10 +222,13 @@ pub fn block_to_payload_v4(mut value: SealedBlock) -> ExecutionPayloadV4 { Request::WithdrawalRequest(r) => { withdrawals.push(r); } + Request::ConsolidationRequest(r) => { + consolidation_requests.push(r); + } _ => {} }; - (deposits, withdrawals) + (deposits, withdrawals, consolidation_requests) }, ); @@ -233,6 +236,7 @@ pub fn block_to_payload_v4(mut value: SealedBlock) -> ExecutionPayloadV4 { deposit_requests, withdrawal_requests, payload_inner: block_to_payload_v3(value).0, + consolidation_requests, } } @@ -349,7 +353,7 @@ pub fn validate_block_hash( return Err(PayloadError::BlockHash { execution: sealed_block.hash(), consensus: expected_block_hash, - }) + }); } Ok(sealed_block) From 3490a98cef52e0b6c9f8f559641a2114633eeb1a Mon Sep 17 00:00:00 2001 From: veeso Date: Fri, 10 Jan 2025 12:19:06 +0100 Subject: [PATCH 8/9] fix: tests --- Cargo.lock | 11 + crates/bitfinity-block-validator/Cargo.toml | 13 ++ crates/bitfinity-block-validator/src/lib.rs | 224 ++++++++++++++++++-- crates/cli/commands/Cargo.toml | 1 + crates/net/downloaders/Cargo.toml | 1 + 5 files changed, 238 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4be1f2bce3a..4ab7f4f1702 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1736,9 +1736,15 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" name = "bitfinity-block-validator" version = "1.1.4" dependencies = [ + "alloy-consensus 0.7.3", + "alloy-genesis 0.7.3", "alloy-primitives", + "alloy-signer 0.7.3", + "alloy-signer-local", "async-trait", + "candid", "did", + "ethereum-json-rpc-client", "evm-canister-client", "ic-agent", "ic-canister-client", @@ -1746,6 +1752,7 @@ dependencies = [ "reth-chain-state", "reth-chainspec", "reth-db", + "reth-db-common", "reth-engine-tree", "reth-evm", "reth-evm-ethereum", @@ -1755,6 +1762,9 @@ dependencies = [ "reth-revm", "reth-trie", "reth-trie-db", + "serde", + "tempfile", + "tokio", "tracing", ] @@ -7974,6 +7984,7 @@ dependencies = [ "reth-downloaders", "reth-ecies", "reth-eth-wire", + "reth-ethereum-cli", "reth-evm", "reth-exex", "reth-fs-util", diff --git a/crates/bitfinity-block-validator/Cargo.toml b/crates/bitfinity-block-validator/Cargo.toml index 21f375880d1..cbb481cfcd8 100644 --- a/crates/bitfinity-block-validator/Cargo.toml +++ b/crates/bitfinity-block-validator/Cargo.toml @@ -31,3 +31,16 @@ reth-revm.workspace = true reth-trie.workspace = true reth-trie-db.workspace = true tracing.workspace = true + +[dev-dependencies] +alloy-consensus.workspace = true +alloy-genesis.workspace = true +alloy-signer.workspace = true +alloy-signer-local.workspace = true +async-trait.workspace = true +candid.workspace = true +ethereum-json-rpc-client = { workspace = true, features = ["reqwest"] } +reth-db-common.workspace = true +tokio.workspace = true +serde.workspace = true +tempfile.workspace = true diff --git a/crates/bitfinity-block-validator/src/lib.rs b/crates/bitfinity-block-validator/src/lib.rs index e6473d8f581..cdbbcc1ddbe 100644 --- a/crates/bitfinity-block-validator/src/lib.rs +++ b/crates/bitfinity-block-validator/src/lib.rs @@ -55,24 +55,12 @@ where block: Block, transactions: &[Transaction], ) -> Result<(), Box> { - if !self.unsafe_blocks_enabled().await? { - tracing::debug!("Unsafe blocks are disabled"); - return Ok(()); - } let validate_args = self.execute_block(block, transactions)?; self.validate_unsafe_block(validate_args).await?; Ok(()) } - /// Get whether unsafe blocks are enabled. - async fn unsafe_blocks_enabled(&self) -> Result> { - self.evm_client - .is_unsafe_blocks_enabled() - .await - .map_err(|err| Box::new(err) as Box) - } - /// Execute block and return validation arguments. fn execute_block( &self, @@ -226,3 +214,215 @@ where executor.executor(StateProviderDatabase::new(db)) } } + +#[cfg(test)] +mod test { + + use std::{ + collections::{BTreeMap, HashMap}, + str::FromStr, + sync::Arc, + }; + + use alloy_consensus::TxEip1559; + use alloy_genesis::{Genesis, GenesisAccount}; + use alloy_primitives::{FixedBytes, B256}; + use alloy_signer::SignerSync; + use alloy_signer_local::PrivateKeySigner; + use candid::utils::ArgumentEncoder; + use candid::CandidType; + use ic_canister_client::CanisterClientResult; + use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, ForkCondition, MIN_TRANSACTION_GAS}; + use reth_db::init_db; + use reth_node_types::NodeTypes; + use reth_primitives::{EthPrimitives, RecoveredTx, TransactionSigned}; + use reth_provider::{providers::StaticFileProvider, EthStorage}; + use reth_trie::EMPTY_ROOT_HASH; + use reth_trie_db::MerklePatriciaTrie; + use serde::de::DeserializeOwned; + + use super::*; + + const CHAIN_ID: u64 = 1; + const INITIAL_BASE_FEE: u64 = 1_000_000_000; + + #[derive(Clone)] + struct DummyDb; + + impl NodeTypesWithDB for DummyDb { + type DB = std::sync::Arc; + } + + impl NodeTypes for DummyDb { + type Primitives = EthPrimitives; + type ChainSpec = ChainSpec; + type StateCommitment = MerklePatriciaTrie; + type Storage = EthStorage; + } + + #[derive(Clone)] + struct DummyCanisterClient; + + #[async_trait::async_trait] + impl CanisterClient for DummyCanisterClient { + async fn update(&self, _method: &str, _args: T) -> CanisterClientResult + where + T: ArgumentEncoder + Send + Sync, + R: DeserializeOwned + CandidType, + { + unimplemented!() + } + + async fn query(&self, _method: &str, _args: T) -> CanisterClientResult + where + T: ArgumentEncoder + Send + Sync, + R: DeserializeOwned + CandidType, + { + unimplemented!() + } + } + + #[tokio::test] + async fn test_should_validate_block() { + let signer_pk = PrivateKeySigner::from_str( + "cc3c029ee81d3a4122270c09ea1f4f35fed7f60c952ef0765f960de3a67f3439", + ) + .expect("failed to parse private key"); + let signer = signer_pk.address(); + + let block = generate_block(&signer_pk); + let txs = block + .body + .transactions + .iter() + .map(|_| { + let mut did_tx = did::Transaction::default(); + did_tx.from = signer.into(); + + did_tx + }) + .collect::>(); + + let client = EvmCanisterClient::new(DummyCanisterClient); + + let db_dir = tempfile::tempdir().expect("failed to create temp dir"); + let database = + Arc::new(init_db(db_dir.path(), Default::default()).expect("failed to init db")); + + let data_dir = tempfile::tempdir().expect("failed to create temp dir"); + + let chainspec = ChainSpec::builder() + .chain(Chain::mainnet()) + .genesis(Genesis { + alloc: BTreeMap::from([( + signer, + GenesisAccount { + balance: U256::from(10).pow(U256::from(18)), + ..Default::default() + }, + )]), + ..Default::default() + }) + .with_fork(EthereumHardfork::Frontier, ForkCondition::Block(0)) + .with_fork(EthereumHardfork::Homestead, ForkCondition::Block(0)) + .with_fork(EthereumHardfork::Shanghai, ForkCondition::Block(0)) + .with_fork(EthereumHardfork::Cancun, ForkCondition::Block(0)) + .build(); + let provider_factory: ProviderFactory = ProviderFactory::new( + database, + Arc::new(chainspec), + StaticFileProvider::read_write(data_dir.path()).expect("failed to create provider"), + ); + reth_db_common::init::init_genesis(&provider_factory).expect("failed to init genesis"); + + let validator = BitfinityBlockValidator::new(client, provider_factory); + + let execute_result = + validator.execute_block(block.clone(), &txs).expect("failed to execute block"); + + println!("{execute_result:?}",); + + assert_eq!(execute_result.block_number, block.header.number,); + assert_eq!(execute_result.transactions_root, block.header.transactions_root.into()); + } + + fn generate_block(signer_pk: &PrivateKeySigner) -> reth_primitives::Block { + let signer = signer_pk.address(); + let tx_cost = U256::from(INITIAL_BASE_FEE * MIN_TRANSACTION_GAS); + let num_tx = 5; + + let mock_tx = |nonce: u64| -> RecoveredTx { + let tx = reth_primitives::Transaction::Eip1559(TxEip1559 { + chain_id: CHAIN_ID, + nonce, + gas_limit: MIN_TRANSACTION_GAS, + to: signer.into(), + max_fee_per_gas: INITIAL_BASE_FEE as u128, + max_priority_fee_per_gas: 1, + ..Default::default() + }); + let signature_hash = tx.signature_hash(); + let signature = signer_pk.sign_hash_sync(&signature_hash).unwrap(); + + TransactionSigned::new_unhashed(tx, signature).with_signer(signer) + }; + let signer_balance_decrease = tx_cost * U256::from(num_tx); + let initial_signer_balance = U256::from(10).pow(U256::from(18)); + let transactions: Vec = (0..num_tx).map(mock_tx).collect(); + + let receipts = transactions + .iter() + .enumerate() + .map(|(idx, tx)| { + Receipt { + tx_type: tx.tx_type(), + success: true, + cumulative_gas_used: (idx as u64 + 1) * MIN_TRANSACTION_GAS, + ..Default::default() + } + .with_bloom() + }) + .collect::>(); + + let header = reth_primitives::Header { + number: 1, + parent_hash: FixedBytes::new([0; 32]), + gas_used: transactions.len() as u64 * MIN_TRANSACTION_GAS, + gas_limit: ChainSpec::default().max_gas_limit, + mix_hash: B256::ZERO, + base_fee_per_gas: Some(INITIAL_BASE_FEE), + transactions_root: alloy_consensus::proofs::calculate_transaction_root( + &transactions.clone().into_iter().map(|tx| tx.into_signed()).collect::>(), + ), + receipts_root: alloy_consensus::proofs::calculate_receipt_root(&receipts), + beneficiary: signer, + state_root: reth_trie::root::state_root_unhashed(HashMap::from([( + signer, + ( + reth_revm::primitives::AccountInfo { + balance: initial_signer_balance - signer_balance_decrease, + nonce: num_tx, + ..Default::default() + }, + EMPTY_ROOT_HASH, + ), + )])), + // use the number as the timestamp so it is monotonically increasing + timestamp: 0, + withdrawals_root: Some(alloy_consensus::proofs::calculate_withdrawals_root(&[])), + blob_gas_used: Some(0), + excess_blob_gas: Some(0), + parent_beacon_block_root: None, + ..Default::default() + }; + + reth_primitives::Block { + header, + body: reth_primitives::BlockBody { + transactions: transactions.into_iter().map(|tx| tx.into_signed()).collect(), + ommers: Vec::new(), + withdrawals: Some(vec![].into()), + }, + } + } +} diff --git a/crates/cli/commands/Cargo.toml b/crates/cli/commands/Cargo.toml index c92afd3ff1d..2220efda5c6 100644 --- a/crates/cli/commands/Cargo.toml +++ b/crates/cli/commands/Cargo.toml @@ -14,6 +14,7 @@ repository.workspace = true reth-beacon-consensus.workspace = true reth-chainspec.workspace = true reth-cli.workspace = true +reth-ethereum-cli.workspace = true reth-cli-runner.workspace = true reth-cli-util.workspace = true reth-codecs.workspace = true diff --git a/crates/net/downloaders/Cargo.toml b/crates/net/downloaders/Cargo.toml index 25efb19bf92..3008d080e95 100644 --- a/crates/net/downloaders/Cargo.toml +++ b/crates/net/downloaders/Cargo.toml @@ -21,6 +21,7 @@ reth-primitives.workspace = true reth-primitives-traits.workspace = true reth-storage-api.workspace = true reth-tasks.workspace = true +reth-db = { workspace = true } reth-db-api = { workspace = true, optional = true } reth-testing-utils = { workspace = true, optional = true } From 4dd06da907678b2544c20a7d2ce5bce3d3d90a67 Mon Sep 17 00:00:00 2001 From: veeso Date: Mon, 13 Jan 2025 12:43:52 +0100 Subject: [PATCH 9/9] fix: merge --- Cargo.lock | 1996 ++++++++++--------- crates/bitfinity-block-validator/Cargo.toml | 1 + crates/bitfinity-block-validator/src/lib.rs | 40 +- 3 files changed, 1062 insertions(+), 975 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1365b455417..81b0f0d7ec6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,19 +4,13 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -106,9 +100,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" @@ -130,9 +124,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.48" +version = "0.1.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0161082e0edd9013d23083465cc04b20e44b7a15646d36ba7b0cdb7cd6fe18f" +checksum = "1e39f295f876b61a1222d937e1dd31f965e4a1acc3bba98e448dd7e84b1a4566" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -195,14 +189,14 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] name = "alloy-core" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c618bd382f0bc2ac26a7e4bfae01c9b015ca8f21b37ca40059ae35a7e62b3dc6" +checksum = "d0713007d14d88a6edb8e248cddab783b698dbb954a28b8eee4bab21cfb7e578" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -213,9 +207,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41056bde53ae10ffbbf11618efbe1e0290859e5eab0fe9ef82ebdb62f12a866f" +checksum = "44e3b98c37b3218924cd1d2a8570666b89662be54e5b182643855f783ea68b33" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -241,7 +235,7 @@ dependencies = [ "crc", "rand 0.8.5", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -309,9 +303,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c357da577dfb56998d01f574d81ad7a1958d248740a7981b205d69d65a7da404" +checksum = "731ea743b3d843bc657e120fb1d1e9cc94f5dab8107e35a82125a63e6420a102" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -329,7 +323,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", ] @@ -355,7 +349,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -383,16 +377,16 @@ dependencies = [ "rand 0.8.5", "serde_json", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", "url", ] [[package]] name = "alloy-primitives" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6259a506ab13e1d658796c31e6e39d2e2ee89243bcc505ddc613b35732e0a430" +checksum = "788bb18e8f61d5d9340b52143f27771daf7e1dccbaf2741621d2493f9debf52e" dependencies = [ "alloy-rlp", "arbitrary", @@ -404,7 +398,6 @@ dependencies = [ "foldhash", "getrandom 0.2.15", "hashbrown 0.15.2", - "hex-literal", "indexmap 2.7.0", "itoa", "k256", @@ -454,7 +447,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", "url", @@ -588,7 +581,7 @@ dependencies = [ "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -641,7 +634,7 @@ dependencies = [ "jsonrpsee-types", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -669,7 +662,7 @@ dependencies = [ "alloy-serde", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -707,7 +700,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -725,14 +718,14 @@ dependencies = [ "coins-bip39", "k256", "rand 0.8.5", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] name = "alloy-sol-macro" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d64f851d95619233f74b310f12bcf16e0cbc27ee3762b6115c14a84809280a" +checksum = "a07b74d48661ab2e4b50bb5950d74dbff5e61dd8ed03bb822281b706d54ebacb" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -744,13 +737,13 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf7ed1574b699f48bf17caab4e6e54c6d12bc3c006ab33d58b1e227c1c3559f" +checksum = "19cc9c7f20b90f9be1a8f71a3d8e283a43745137b0837b1a1cb13159d37cad72" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck 0.5.0", + "heck", "indexmap 2.7.0", "proc-macro-error2", "proc-macro2", @@ -762,13 +755,13 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c02997ccef5f34f9c099277d4145f183b422938ed5322dc57a089fe9b9ad9ee" +checksum = "713b7e6dfe1cb2f55c80fb05fd22ed085a1b4e48217611365ed0ae598a74c6ac" dependencies = [ "const-hex", "dunce", - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.96", @@ -777,9 +770,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce13ff37285b0870d0a0746992a4ae48efaf34b766ae4c2640fa15e5305f8e73" +checksum = "1eda2711ab2e1fb517fc6e2ffa9728c9a232e296d16810810e6957b781a1b8bc" dependencies = [ "serde", "winnow", @@ -787,9 +780,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1174cafd6c6d810711b4e00383037bdb458efc4fe3dbafafa16567e0320c54d8" +checksum = "e3b478bc9c0c4737a04cd976accde4df7eba0bdc0d90ad6ff43d58bc93cf79c1" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -810,7 +803,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tower 0.5.2", "tracing", @@ -872,9 +865,9 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5fd8fea044cc9a8c8a50bb6f28e31f0385d820f116c5b98f6f4e55d6e5590b" +checksum = "6917c79e837aa7b77b7a6dae9f89cbe15313ac161c4d3cfaf8909ef21f3d22d8" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -882,7 +875,7 @@ dependencies = [ "arrayvec 0.7.6", "derive_arbitrary", "derive_more", - "nybbles 0.2.1", + "nybbles", "proptest", "proptest-derive", "serde", @@ -913,9 +906,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -928,43 +921,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "aquamarine" @@ -1121,9 +1114,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -1177,11 +1170,11 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.11" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" +checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ - "brotli 6.0.0", + "brotli", "flate2", "futures-core", "memchr", @@ -1197,7 +1190,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "event-listener-strategy", "pin-project-lite", ] @@ -1229,9 +1222,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1240,9 +1233,9 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", @@ -1260,6 +1253,15 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "async-watch" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a078faf4e27c0c6cc0efb20e5da59dcccc04968ebf2801d8e0b2195124cdcdb2" +dependencies = [ + "event-listener 2.5.3", +] + [[package]] name = "async_io_stream" version = "0.3.3" @@ -1300,9 +1302,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backoff" @@ -1321,23 +1323,23 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.3.0", "tokio", ] [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1397,33 +1399,13 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.96", -] - [[package]] name = "bindgen" version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1517,9 +1499,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" dependencies = [ "arbitrary", "serde", @@ -1583,7 +1565,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c340fe0f0b267787095cbe35240c6786ff19da63ec7b69367ba338eace8169b" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "boa_interner", "boa_macros", "boa_string", @@ -1599,7 +1581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f620c3f06f51e65c0504ddf04978be1b814ac6586f0b45f6019801ab5efd37f9" dependencies = [ "arrayvec 0.7.6", - "bitflags 2.6.0", + "bitflags 2.7.0", "boa_ast", "boa_gc", "boa_interner", @@ -1633,7 +1615,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 2.0.7", + "thiserror 2.0.11", "time", ] @@ -1684,7 +1666,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cc142dac798cdc6e2dbccfddeb50f36d2523bb977a976e19bdb3ae19b740804" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "boa_ast", "boa_interner", "boa_macros", @@ -1725,17 +1707,6 @@ dependencies = [ "debug-helper", ] -[[package]] -name = "brotli" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - [[package]] name = "brotli" version = "7.0.0" @@ -1743,6 +1714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ "alloc-no-stdlib", + "alloc-stdlib", "brotli-decompressor", ] @@ -1768,13 +1740,13 @@ dependencies = [ [[package]] name = "bstr" -version = "0.2.17" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ - "lazy_static", "memchr", - "regex-automata 0.1.10", + "regex-automata 0.4.9", + "serde", ] [[package]] @@ -1800,9 +1772,9 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", @@ -1817,9 +1789,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ "serde", ] @@ -1849,7 +1821,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "once_cell", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1863,7 +1835,7 @@ dependencies = [ "cached_proc_macro_types", "hashbrown 0.14.5", "once_cell", - "thiserror 1.0.61", + "thiserror 1.0.69", "web-time", ] @@ -1887,18 +1859,18 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "candid" -version = "0.10.9" +version = "0.10.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7df77a80c72fcd356cf37ff59c812f37ff06dc9a81232b3aff0a308cb5996904" +checksum = "d04aa85a9ba2542bded33d1eff0ffb17cb98b1be8117e0a25e1ad8c62bedc881" dependencies = [ "anyhow", "binread", @@ -1914,7 +1886,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1931,9 +1903,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1946,10 +1918,10 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -1975,13 +1947,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.104" +version = "1.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" +checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] [[package]] @@ -2005,11 +1977,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -2017,7 +1995,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2091,9 +2069,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.8" +version = "4.5.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" +checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" dependencies = [ "clap_builder", "clap_derive", @@ -2101,9 +2079,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.8" +version = "4.5.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" +checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" dependencies = [ "anstream", "anstyle", @@ -2113,11 +2091,11 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.96", @@ -2125,9 +2103,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "codspeed" @@ -2166,7 +2144,7 @@ dependencies = [ "k256", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -2182,7 +2160,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -2201,14 +2179,14 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" @@ -2217,7 +2195,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2232,21 +2210,21 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" dependencies = [ - "crossterm 0.27.0", + "crossterm", "strum", "strum_macros", - "unicode-width", + "unicode-width 0.2.0", ] [[package]] name = "compact_str" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644" +checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" dependencies = [ "castaway", "cfg-if", @@ -2276,14 +2254,14 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "windows-sys 0.52.0", + "once_cell", + "windows-sys 0.59.0", ] [[package]] @@ -2324,11 +2302,21 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -2341,18 +2329,18 @@ dependencies = [ [[package]] name = "cpp_demangle" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" +checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" dependencies = [ "cfg-if", ] [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -2438,18 +2426,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2466,22 +2454,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" -dependencies = [ - "bitflags 2.6.0", - "crossterm_winapi", - "libc", - "parking_lot", - "winapi", -] +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crossterm" @@ -2489,7 +2464,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "crossterm_winapi", "mio 1.0.3", "parking_lot", @@ -2549,9 +2524,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" dependencies = [ "csv-core", "itoa", @@ -2619,9 +2594,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -2629,9 +2604,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", @@ -2643,9 +2618,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", @@ -2804,7 +2779,7 @@ dependencies = [ "serde_with", "sha2 0.10.8", "sha3", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -2928,9 +2903,9 @@ checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" @@ -2974,7 +2949,7 @@ dependencies = [ "rand_core 0.6.4", "serde", "sha2 0.9.9", - "thiserror 1.0.61", + "thiserror 1.0.69", "zeroize", ] @@ -3013,7 +2988,7 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "walkdir", ] @@ -3046,9 +3021,9 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "enr" @@ -3072,11 +3047,11 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro2", "quote", "syn 2.0.96", @@ -3084,9 +3059,9 @@ dependencies = [ [[package]] name = "enumn" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", @@ -3095,9 +3070,9 @@ dependencies = [ [[package]] name = "env_filter" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ "log", "regex", @@ -3131,12 +3106,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3173,9 +3148,9 @@ dependencies = [ [[package]] name = "ethereum_ssz" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036c84bd29bff35e29bbee3c8fc0e2fb95db12b6f2f3cae82a827fbc97256f3a" +checksum = "862e41ea8eea7508f70cfd8cd560f0c34bb0af37c719a8e06c2672f0f031d8e5" dependencies = [ "alloy-primitives", "ethereum_serde_utils", @@ -3188,9 +3163,9 @@ dependencies = [ [[package]] name = "ethereum_ssz_derive" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dc8e67e1f770f5aa4c2c2069aaaf9daee7ac21bed357a71b911b37a58966cfb" +checksum = "d31ecf6640112f61dc34b4d8359c081102969af0edd18381fed2052f6db6a410" dependencies = [ "darling", "proc-macro2", @@ -3206,9 +3181,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ "concurrent-queue", "parking", @@ -3217,11 +3192,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "pin-project-lite", ] @@ -3251,7 +3226,7 @@ dependencies = [ "reth-node-ethereum", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -3339,7 +3314,7 @@ dependencies = [ "reth-tracing", "reth-trie-db", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", ] @@ -3591,9 +3566,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -3606,6 +3581,17 @@ dependencies = [ "bytes", ] +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec 0.7.6", + "auto_impl", + "bytes", +] + [[package]] name = "fdlimit" version = "0.3.0" @@ -3613,7 +3599,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -3634,14 +3620,14 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -3670,12 +3656,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide 0.7.4", + "miniz_oxide", ] [[package]] @@ -3686,9 +3672,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" @@ -3731,9 +3717,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3746,9 +3732,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3756,15 +3742,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3773,9 +3759,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -3794,9 +3780,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -3805,15 +3791,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -3827,9 +3813,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3851,16 +3837,15 @@ checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" [[package]] name = "generator" -version = "0.8.1" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186014d53bc231d0090ef8d6f03e0920c54d85a5ed22f4f2f74315ec56cf83fb" +checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" dependencies = [ - "cc", "cfg-if", "libc", "log", "rustversion", - "windows 0.54.0", + "windows 0.58.0", ] [[package]] @@ -3911,15 +3896,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-net" @@ -3936,7 +3921,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3980,9 +3965,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", @@ -4072,12 +4057,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -4090,6 +4069,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -4099,12 +4084,6 @@ dependencies = [ "serde", ] -[[package]] -name = "hex-literal" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" - [[package]] name = "hickory-proto" version = "0.25.0-alpha.4" @@ -4124,7 +4103,7 @@ dependencies = [ "once_cell", "rand 0.8.5", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tinyvec", "tokio", "tracing", @@ -4148,7 +4127,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -4205,9 +4184,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -4216,9 +4195,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", @@ -4239,9 +4218,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" [[package]] name = "http-types" @@ -4265,9 +4244,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -4299,9 +4278,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fe55fb7a772d59a5ff1dfbff4fe0258d19b89fec4b233e75d35d5d2316badc" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", @@ -4320,9 +4299,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", "http", @@ -4330,7 +4309,7 @@ dependencies = [ "hyper-util", "log", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls", @@ -4356,9 +4335,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -4369,16 +4348,15 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -4399,12 +4377,15 @@ dependencies = [ [[package]] name = "ic-agent" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158138fcb769fe6288e63d5db221c904e472cfb7d376aba13a38c060f2984e63" +checksum = "1ba408987ca48fc3eee6a613e760d076a9046cccbbb5ba29efbada339ab28ed9" dependencies = [ + "arc-swap", + "async-channel 1.9.0", "async-lock", "async-trait", + "async-watch", "backoff", "cached 0.52.0", "candid", @@ -4416,7 +4397,7 @@ dependencies = [ "hex", "http", "http-body", - "ic-certification 2.5.0", + "ic-certification", "ic-transport-types", "ic-verify-bls-signature", "k256", @@ -4434,7 +4415,8 @@ dependencies = [ "serde_repr", "sha2 0.10.8", "simple_asn1", - "thiserror 1.0.61", + "stop-token", + "thiserror 2.0.11", "time", "tokio", "tower-service", @@ -4444,14 +4426,14 @@ dependencies = [ [[package]] name = "ic-canister-client" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "async-trait", "candid", "ic-agent", "ic-exports", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -4461,17 +4443,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5500d6e85bc2ca8ea8aaed16cb84811882589244831a2fd8eefe02e90b3006c6" dependencies = [ "candid", - "ic-certification 3.0.2", + "ic-certification", "leb128", "nom", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "ic-cdk" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2abdf9341da9f9f6b451a40609cb69645a05a8e9eb7784c16209f16f2c0f76f" +checksum = "122efbcb0af5280d408a75a57b7dc6e9d92893bf6ed9cc98fe4dcff51f18b67c" dependencies = [ "candid", "ic-cdk-macros", @@ -4482,9 +4464,9 @@ dependencies = [ [[package]] name = "ic-cdk-macros" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8df41980e95dead28735ab0f748c75477b0c5eab37a09a5641c78ec406a1db0" +checksum = "c792bf0d1621c893ccf2bcdeac4ee70121103a03030a1827031a6b3c60488944" dependencies = [ "candid", "proc-macro2", @@ -4517,26 +4499,14 @@ dependencies = [ "cached 0.54.0", "candid", "ic-cbor", - "ic-certification 3.0.2", + "ic-certification", "lazy_static", "leb128", "miracl_core_bls12381", "nom", "parking_lot", "sha2 0.10.8", - "thiserror 1.0.61", -] - -[[package]] -name = "ic-certification" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20052ce9255fbe2de7041a4f6996fddd095ba1f31ae83b6c0ccdee5be6e7bbcf" -dependencies = [ - "hex", - "serde", - "serde_bytes", - "sha2 0.10.8", + "thiserror 1.0.69", ] [[package]] @@ -4554,7 +4524,7 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "getrandom 0.2.15", ] @@ -4562,7 +4532,7 @@ dependencies = [ [[package]] name = "ic-exports" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", "ic-cdk", @@ -4576,7 +4546,7 @@ dependencies = [ [[package]] name = "ic-kit" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", "futures", @@ -4589,7 +4559,7 @@ dependencies = [ [[package]] name = "ic-log" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "anyhow", "arc-swap", @@ -4604,9 +4574,9 @@ dependencies = [ [[package]] name = "ic-stable-structures" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f3044466a69802de74e710dc0300b706a05696a0531c942ca856751a13b0db" +checksum = "b492c5a16455ae78623eaa12ead96dda6c69a83c535b1b00789f19b381c8a24c" dependencies = [ "ic_principal", ] @@ -4614,31 +4584,31 @@ dependencies = [ [[package]] name = "ic-stable-structures" version = "0.23.0" -source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#df53171fb8706c650a60d5c2af35d5c868daabd2" +source = "git+https://github.com/bitfinity-network/canister-sdk?tag=v0.23.x#85f5619ec74fab01090fb66dc391ec60d3e28895" dependencies = [ "candid", - "ic-stable-structures 0.6.5", + "ic-stable-structures 0.6.7", "parking_lot", "schnellru", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] name = "ic-transport-types" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8789a5c176bb1b925fa58ca97c651a3995d504e76101e93d2a17f558bdcf66" +checksum = "21e2418868dd5857d2a5bac3f1cb6de1aecf2316d380997ef842aec3d8a79d4e" dependencies = [ "candid", "hex", - "ic-certification 2.5.0", + "ic-certification", "leb128", "serde", "serde_bytes", "serde_cbor", "serde_repr", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 2.0.11", ] [[package]] @@ -4685,7 +4655,7 @@ dependencies = [ "data-encoding", "serde", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -4854,13 +4824,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.96", ] [[package]] @@ -4911,6 +4881,12 @@ dependencies = [ "serde", ] +[[package]] +name = "indoc" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" + [[package]] name = "infer" version = "0.2.3" @@ -4919,9 +4895,9 @@ checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" [[package]] name = "inferno" -version = "0.11.19" +version = "0.11.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321f0f839cd44a4686e9504b0a62b4d69a50b62072144c71c68f5873c167b8d9" +checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ "ahash", "indexmap 2.7.0", @@ -4967,10 +4943,13 @@ dependencies = [ [[package]] name = "instability" -version = "0.3.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23a0c8dfe501baac4adf6ebbfa6eddf8f0c07f56b058cc1288017e32397846c" +checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" dependencies = [ + "darling", + "indoc", + "proc-macro2", "quote", "syn 2.0.96", ] @@ -4986,9 +4965,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.2.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67bafc2f5dbdad79a6d925649758d5472647b416028099f0b829d1b67fdd47d3" +checksum = "894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb" dependencies = [ "doctest-file", "futures-core", @@ -5017,20 +4996,20 @@ dependencies = [ "socket2", "widestring", "windows-sys 0.48.0", - "winreg 0.50.0", + "winreg", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.2" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" +checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" dependencies = [ "memchr", "serde", @@ -5038,20 +5017,20 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -5062,15 +5041,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -5091,9 +5061,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jni" @@ -5105,7 +5075,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.61", + "thiserror 1.0.69", "walkdir", ] @@ -5117,19 +5087,20 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -5183,7 +5154,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-rustls", "tokio-util", @@ -5211,7 +5182,7 @@ dependencies = [ "rustc-hash 2.1.0", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -5236,7 +5207,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tower 0.4.13", "tracing", @@ -5249,7 +5220,7 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro-crate", "proc-macro2", "quote", @@ -5275,7 +5246,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -5292,7 +5263,7 @@ dependencies = [ "http", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -5360,9 +5331,9 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -5397,12 +5368,6 @@ dependencies = [ "spin", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "leb128" version = "0.2.5" @@ -5411,31 +5376,31 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.168" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libloading" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "asn1_der", "bs58", @@ -5445,18 +5410,18 @@ dependencies = [ "multihash", "quick-protobuf", "sha2 0.10.8", - "thiserror 1.0.61", + "thiserror 1.0.69", "tracing", "zeroize", ] [[package]] name = "libproc" -version = "0.14.8" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ - "bindgen 0.69.4", + "bindgen", "errno", "libc", ] @@ -5467,8 +5432,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "libc", + "redox_syscall", ] [[package]] @@ -5543,9 +5509,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" dependencies = [ "linked-hash-map", "serde", @@ -5553,15 +5519,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "litemap" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lock_api" @@ -5595,11 +5561,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -5617,6 +5583,30 @@ dependencies = [ "libc", ] +[[package]] +name = "maili-protocol" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428caa534dd054a449e64d8007d0fd0a15519d1033b272d37d02b74a29cf69f7" +dependencies = [ + "alloc-no-stdlib", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-sol-types", + "async-trait", + "brotli", + "derive_more", + "miniz_oxide", + "op-alloy-consensus", + "op-alloy-genesis", + "rand 0.8.5", + "thiserror 2.0.11", + "tracing", + "unsigned-varint", +] + [[package]] name = "match_cfg" version = "0.1.0" @@ -5640,9 +5630,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -5656,16 +5646,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "metrics" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" -dependencies = [ - "ahash", - "portable-atomic", -] - [[package]] name = "metrics" version = "0.24.1" @@ -5690,31 +5670,32 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b6f8152da6d7892ff1b7a1c0fa3f435e92b5918ad67035c3bb432111d9a29b" +checksum = "12779523996a67c13c84906a876ac6fe4d07a6e1adb54978378e13f199251a62" dependencies = [ "base64 0.22.1", "indexmap 2.7.0", - "metrics 0.24.1", - "metrics-util", + "metrics", + "metrics-util 0.19.0", "quanta", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "metrics-process" -version = "2.1.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +checksum = "4a82c8add4382f29a122fa64fff1891453ed0f6b2867d971e7d60cb8dfa322ff" dependencies = [ + "libc", "libproc", "mach2", - "metrics 0.23.0", + "metrics", "once_cell", - "procfs", + "procfs 0.17.0", "rlimit", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] @@ -5727,9 +5708,23 @@ dependencies = [ "crossbeam-utils", "hashbrown 0.15.2", "indexmap 2.7.0", - "metrics 0.24.1", + "metrics", "ordered-float", +] + +[[package]] +name = "metrics-util" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbd4884b1dd24f7d6628274a2f5ae22465c337c5ba065ec9b6edccddf8acc673" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.15.2", + "metrics", "quanta", + "rand 0.8.5", + "rand_xoshiro", "sketches-ddsketch", ] @@ -5748,7 +5743,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.61", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -5775,15 +5770,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.2" @@ -5846,21 +5832,20 @@ dependencies = [ [[package]] name = "moka" -version = "0.12.8" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cf62eb4dd975d2dde76432fb1075c49e3ee2331cf36f1f8fd4b66550d32b6f" +checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" dependencies = [ "crossbeam-channel", "crossbeam-epoch", "crossbeam-utils", - "once_cell", + "loom", "parking_lot", - "quanta", + "portable-atomic", "rustc_version 0.4.1", "smallvec", "tagptr", - "thiserror 1.0.61", - "triomphe", + "thiserror 1.0.69", "uuid", ] @@ -5872,9 +5857,9 @@ checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", @@ -5885,7 +5870,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint", "url", ] @@ -5902,12 +5887,12 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ "core2", - "unsigned-varint 0.7.2", + "unsigned-varint", ] [[package]] @@ -5922,7 +5907,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -5954,7 +5939,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "filetime", "fsevent-sys", "inotify", @@ -6083,7 +6068,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -6117,20 +6102,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nybbles" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" -dependencies = [ - "alloy-rlp", - "arbitrary", - "const-hex", - "proptest", - "serde", - "smallvec", -] - [[package]] name = "nybbles" version = "0.3.4" @@ -6147,9 +6118,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -6166,9 +6137,9 @@ dependencies = [ [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "op-alloy-consensus" @@ -6185,7 +6156,7 @@ dependencies = [ "derive_more", "serde", "serde_with", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -6198,30 +6169,16 @@ dependencies = [ "alloy-eips", "alloy-primitives", "alloy-sol-types", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] name = "op-alloy-protocol" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753762429c31f838b59c886b31456c9bf02fd38fb890621665523a9087ae06ae" +checksum = "5a144b1ed079913b11c0640f4eaa3d2ac1bdb6cc35e3658a1640e88b241e0c32" dependencies = [ - "alloc-no-stdlib", - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-sol-types", - "async-trait", - "brotli 7.0.0", - "derive_more", - "miniz_oxide 0.8.2", - "op-alloy-consensus", - "op-alloy-genesis", - "thiserror 2.0.7", - "tracing", - "unsigned-varint 0.8.0", + "maili-protocol", ] [[package]] @@ -6245,9 +6202,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f00d4060a6a38f5bf0a8182b4cc4c7071e2bc96942f414619251b522169eb" +checksum = "f5e2419373bae23ea3f6cf5a49c624d9b644061e2e929d4f9629cbcbffa4964d" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6255,7 +6212,7 @@ dependencies = [ "derive_more", "op-alloy-consensus", "op-alloy-protocol", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -6270,7 +6227,7 @@ version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "cfg-if", "foreign-types", "libc", @@ -6316,9 +6273,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-float" -version = "4.2.1" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ff2cf528c6c03d9ed653d6c4ce1dc0582dc4af309790ad92f07c1cd551b0be" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" dependencies = [ "num-traits", ] @@ -6390,9 +6347,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -6412,9 +6369,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6469,12 +6426,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.61", + "thiserror 2.0.11", "ucd-trie", ] @@ -6490,9 +6447,9 @@ dependencies = [ [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_macros", "phf_shared", @@ -6500,9 +6457,9 @@ dependencies = [ [[package]] name = "phf_codegen" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ "phf_generator", "phf_shared", @@ -6510,9 +6467,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand 0.8.5", @@ -6520,9 +6477,9 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator", "phf_shared", @@ -6533,27 +6490,27 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", @@ -6562,9 +6519,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -6584,9 +6541,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "plain_hasher" @@ -6599,9 +6556,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ "num-traits", "plotters-backend", @@ -6612,15 +6569,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" [[package]] name = "plotters-svg" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ "plotters-backend", ] @@ -6675,14 +6632,17 @@ dependencies = [ "smallvec", "symbolic-demangle", "tempfile", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "pretty" @@ -6692,7 +6652,7 @@ checksum = "b55c4d17d994b637e2f4daf6e5dc5d660d209d5642377d675d7a1c3ab69fa579" dependencies = [ "arrayvec 0.5.2", "typed-arena", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] @@ -6707,9 +6667,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", "syn 2.0.96", @@ -6781,23 +6741,45 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "chrono", "flate2", "hex", - "lazy_static", - "procfs-core", - "rustix", + "lazy_static", + "procfs-core 0.16.0", + "rustix", +] + +[[package]] +name = "procfs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" +dependencies = [ + "bitflags 2.7.0", + "hex", + "procfs-core 0.17.0", + "rustix", +] + +[[package]] +name = "procfs-core" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +dependencies = [ + "bitflags 2.7.0", + "chrono", + "hex", ] [[package]] name = "procfs-core" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "bitflags 2.6.0", - "chrono", + "bitflags 2.7.0", "hex", ] @@ -6809,7 +6791,7 @@ checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags 2.7.0", "lazy_static", "num-traits", "rand 0.8.5", @@ -6833,9 +6815,9 @@ dependencies = [ [[package]] name = "proptest-derive" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" +checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", @@ -6844,18 +6826,18 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ "cc", ] [[package]] name = "quanta" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" dependencies = [ "crossbeam-utils", "libc", @@ -6892,56 +6874,61 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "rustls", - "thiserror 1.0.61", + "socket2", + "thiserror 2.0.11", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom 0.2.15", "rand 0.8.5", "ring", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.61", + "thiserror 2.0.11", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.2" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -7033,6 +7020,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_xoshiro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +dependencies = [ + "rand_core 0.6.4", +] + [[package]] name = "rangemap" version = "1.5.1" @@ -7045,10 +7041,10 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdef7f9be5c0122f890d58bdf4d964349ba6a6161f705907526d891efabba57d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "cassowary", "compact_str", - "crossterm 0.28.1", + "crossterm", "instability", "itertools 0.13.0", "lru", @@ -7057,16 +7053,16 @@ dependencies = [ "strum_macros", "unicode-segmentation", "unicode-truncate", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] name = "raw-cpuid" -version = "11.0.2" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", ] [[package]] @@ -7097,31 +7093,22 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.2" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -7170,11 +7157,11 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "regress" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" +checksum = "4f56e622c2378013c6c61e2bd776604c46dc1087b2dc5293275a0c20a44f0771" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", "memchr", ] @@ -7186,9 +7173,9 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "async-compression", "base64 0.22.1", @@ -7213,7 +7200,7 @@ dependencies = [ "pin-project-lite", "quinn", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.1", "rustls-pemfile", "rustls-pki-types", "serde", @@ -7224,6 +7211,7 @@ dependencies = [ "tokio-native-tls", "tokio-rustls", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -7231,7 +7219,7 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -7343,7 +7331,7 @@ dependencies = [ "alloy-primitives", "futures-core", "futures-util", - "metrics 0.24.1", + "metrics", "reth-chainspec", "reth-evm", "reth-metrics", @@ -7372,7 +7360,7 @@ dependencies = [ "assert_matches", "futures", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "reth-blockchain-tree", "reth-blockchain-tree-api", "reth-chainspec", @@ -7410,7 +7398,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "schnellru", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7446,7 +7434,7 @@ dependencies = [ "reth-rpc-types-compat", "reth-tracing", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tower 0.4.13", "tracing", @@ -7463,7 +7451,7 @@ dependencies = [ "aquamarine", "assert_matches", "linked_hash_set", - "metrics 0.24.1", + "metrics", "parking_lot", "reth-blockchain-tree-api", "reth-chainspec", @@ -7502,7 +7490,7 @@ dependencies = [ "reth-primitives", "reth-primitives-traits", "reth-storage-errors", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -7515,7 +7503,7 @@ dependencies = [ "alloy-signer", "alloy-signer-local", "derive_more", - "metrics 0.24.1", + "metrics", "parking_lot", "pin-project", "rand 0.8.5", @@ -7580,7 +7568,7 @@ dependencies = [ "backon", "clap", "comfy-table", - "crossterm 0.28.1", + "crossterm", "eyre", "fdlimit", "futures", @@ -7657,7 +7645,7 @@ dependencies = [ "reth-fs-util", "secp256k1", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tikv-jemallocator", "tracy-client", ] @@ -7774,7 +7762,7 @@ dependencies = [ "codspeed-criterion-compat", "derive_more", "eyre", - "metrics 0.24.1", + "metrics", "page_size", "parking_lot", "paste", @@ -7799,7 +7787,7 @@ dependencies = [ "sysinfo", "tempfile", "test-fuzz", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -7812,7 +7800,7 @@ dependencies = [ "arbitrary", "bytes", "derive_more", - "metrics 0.24.1", + "metrics", "modular-bitfield", "parity-scale-codec", "proptest", @@ -7857,7 +7845,7 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", ] @@ -7899,7 +7887,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7916,7 +7904,7 @@ dependencies = [ "enr", "futures", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "rand 0.8.5", "reth-chainspec", "reth-ethereum-forks", @@ -7924,7 +7912,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "secp256k1", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -7951,7 +7939,7 @@ dependencies = [ "secp256k1", "serde", "serde_with", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -7979,9 +7967,9 @@ dependencies = [ "ic-canister-client", "ic-cbor", "ic-certificate-verification", - "ic-certification 3.0.2", + "ic-certification", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "pin-project", "rand 0.8.5", "rayon", @@ -8005,7 +7993,7 @@ dependencies = [ "reth-trie-db", "serde_json", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8082,7 +8070,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8137,7 +8125,7 @@ dependencies = [ "reth-primitives-traits", "reth-trie", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", ] @@ -8164,7 +8152,7 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", ] @@ -8183,7 +8171,7 @@ dependencies = [ "crossbeam-channel", "derive_more", "futures", - "metrics 0.24.1", + "metrics", "proptest", "rand 0.8.5", "rayon", @@ -8222,7 +8210,7 @@ dependencies = [ "reth-trie-parallel", "reth-trie-sparse", "revm-primitives", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -8268,7 +8256,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -8301,7 +8289,7 @@ dependencies = [ "serde", "snap", "test-fuzz", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8330,7 +8318,7 @@ dependencies = [ "reth-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -8462,8 +8450,8 @@ dependencies = [ "alloy-primitives", "auto_impl", "futures-util", - "metrics 0.24.1", - "metrics-util", + "metrics", + "metrics-util 0.18.0", "parking_lot", "reth-chainspec", "reth-consensus", @@ -8512,12 +8500,12 @@ dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", - "nybbles 0.3.4", + "nybbles", "reth-consensus", "reth-prune-types", "reth-storage-errors", "revm-primitives", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -8552,7 +8540,7 @@ dependencies = [ "eyre", "futures", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "parking_lot", "rand 0.8.5", "reth-blockchain-tree", @@ -8613,7 +8601,7 @@ dependencies = [ "reth-transaction-pool", "reth-trie-db", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", ] @@ -8640,7 +8628,7 @@ version = "1.1.5" dependencies = [ "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -8683,7 +8671,7 @@ dependencies = [ "rand 0.8.5", "reth-tracing", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8695,7 +8683,7 @@ dependencies = [ name = "reth-libmdbx" version = "1.1.5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "byteorder", "codspeed-criterion-compat", "dashmap", @@ -8708,7 +8696,7 @@ dependencies = [ "reth-mdbx-sys", "smallvec", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", ] @@ -8716,7 +8704,7 @@ dependencies = [ name = "reth-mdbx-sys" version = "1.1.5" dependencies = [ - "bindgen 0.70.1", + "bindgen", "cc", ] @@ -8725,7 +8713,7 @@ name = "reth-metrics" version = "1.1.5" dependencies = [ "futures", - "metrics 0.24.1", + "metrics", "metrics-derive", "tokio", "tokio-util", @@ -8747,7 +8735,7 @@ dependencies = [ "reqwest", "reth-tracing", "serde_with", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -8770,7 +8758,7 @@ dependencies = [ "enr", "futures", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "parking_lot", "pin-project", "pprof", @@ -8807,7 +8795,7 @@ dependencies = [ "serial_test", "smallvec", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -8832,7 +8820,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", ] @@ -8870,7 +8858,7 @@ dependencies = [ "secp256k1", "serde_json", "serde_with", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "url", ] @@ -8901,7 +8889,7 @@ dependencies = [ "reth-fs-util", "serde", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", "zstd", ] @@ -9035,7 +9023,7 @@ dependencies = [ "serde", "shellexpand", "strum", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "toml", "tracing", @@ -9122,11 +9110,11 @@ dependencies = [ "eyre", "http", "jsonrpsee-server", - "metrics 0.24.1", + "metrics", "metrics-exporter-prometheus", "metrics-process", - "metrics-util", - "procfs", + "metrics-util 0.18.0", + "procfs 0.16.0", "reqwest", "reth-metrics", "reth-tasks", @@ -9185,7 +9173,7 @@ dependencies = [ "alloy-rpc-types", "async-trait", "futures-util", - "metrics 0.24.1", + "metrics", "reth-chain-state", "reth-ethereum-engine-primitives", "reth-metrics", @@ -9226,7 +9214,7 @@ dependencies = [ "reth-primitives", "revm-primitives", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", ] @@ -9325,7 +9313,7 @@ dependencies = [ "serde_json", "serde_with", "test-fuzz", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -9341,7 +9329,7 @@ dependencies = [ "dashmap", "eyre", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "notify", "parking_lot", "rand 0.8.5", @@ -9387,7 +9375,7 @@ dependencies = [ "alloy-primitives", "assert_matches", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "rayon", "reth-chainspec", "reth-config", @@ -9405,7 +9393,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "rustc-hash 2.1.0", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -9425,7 +9413,7 @@ dependencies = [ "serde", "serde_json", "test-fuzz", - "thiserror 2.0.7", + "thiserror 2.0.11", "toml", ] @@ -9510,7 +9498,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tower 0.4.13", @@ -9573,7 +9561,7 @@ dependencies = [ "clap", "http", "jsonrpsee", - "metrics 0.24.1", + "metrics", "pin-project", "reth-beacon-consensus", "reth-chainspec", @@ -9603,7 +9591,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-util", "tower 0.4.13", @@ -9623,7 +9611,7 @@ dependencies = [ "async-trait", "jsonrpsee-core", "jsonrpsee-types", - "metrics 0.24.1", + "metrics", "parking_lot", "reth-beacon-consensus", "reth-chainspec", @@ -9643,7 +9631,7 @@ dependencies = [ "reth-tokio-util", "reth-transaction-pool", "serde", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -9707,7 +9695,7 @@ dependencies = [ "itertools 0.13.0", "jsonrpsee-core", "jsonrpsee-types", - "metrics 0.24.1", + "metrics", "rand 0.8.5", "reth-chain-state", "reth-chainspec", @@ -9729,7 +9717,7 @@ dependencies = [ "schnellru", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -9829,7 +9817,7 @@ dependencies = [ "reth-trie", "reth-trie-db", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", ] @@ -9844,7 +9832,7 @@ dependencies = [ "assert_matches", "auto_impl", "futures-util", - "metrics 0.24.1", + "metrics", "reth-consensus", "reth-errors", "reth-metrics", @@ -9857,7 +9845,7 @@ dependencies = [ "reth-static-file-types", "reth-testing-utils", "reth-tokio-util", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -9951,7 +9939,7 @@ dependencies = [ "reth-fs-util", "reth-primitives-traits", "reth-static-file-types", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -9961,11 +9949,11 @@ dependencies = [ "auto_impl", "dyn-clone", "futures-util", - "metrics 0.24.1", + "metrics", "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", "tracing-futures", @@ -10019,10 +10007,10 @@ dependencies = [ "aquamarine", "assert_matches", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.7.0", "codspeed-criterion-compat", "futures-util", - "metrics 0.24.1", + "metrics", "parking_lot", "paste", "pprof", @@ -10050,7 +10038,7 @@ dependencies = [ "serde_json", "smallvec", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tokio-stream", "tracing", @@ -10068,7 +10056,7 @@ dependencies = [ "auto_impl", "codspeed-criterion-compat", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "proptest", "proptest-arbitrary-interop", "rayon", @@ -10103,7 +10091,7 @@ dependencies = [ "derive_more", "hash-db", "itertools 0.13.0", - "nybbles 0.3.4", + "nybbles", "plain_hasher", "proptest", "proptest-arbitrary-interop", @@ -10122,7 +10110,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "derive_more", - "metrics 0.24.1", + "metrics", "proptest", "proptest-arbitrary-interop", "reth-chainspec", @@ -10152,7 +10140,7 @@ dependencies = [ "codspeed-criterion-compat", "derive_more", "itertools 0.13.0", - "metrics 0.24.1", + "metrics", "proptest", "proptest-arbitrary-interop", "rand 0.8.5", @@ -10165,7 +10153,7 @@ dependencies = [ "reth-trie", "reth-trie-common", "reth-trie-db", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", ] @@ -10190,7 +10178,7 @@ dependencies = [ "reth-trie", "reth-trie-common", "smallvec", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -10232,7 +10220,7 @@ dependencies = [ "colorchoice", "revm", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", ] [[package]] @@ -10275,7 +10263,7 @@ dependencies = [ "alloy-eip7702", "alloy-primitives", "auto_impl", - "bitflags 2.6.0", + "bitflags 2.7.0", "bitvec", "c-kzg", "cfg-if", @@ -10297,9 +10285,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.40" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7439be6844e40133eda024efd85bf07f59d0dd2f59b10c00dd6cfb92cc5c741" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] @@ -10336,9 +10324,9 @@ dependencies = [ [[package]] name = "rlimit" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3560f70f30a0f16d11d01ed078a07740fe6b489667abc7c7b029155d9f21c3d8" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" dependencies = [ "libc", ] @@ -10377,9 +10365,9 @@ dependencies = [ [[package]] name = "roaring" -version = "0.10.5" +version = "0.10.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" +checksum = "a652edd001c53df0b3f96a36a8dc93fce6866988efc16808235653c6bcac8bf2" dependencies = [ "bytemuck", "byteorder", @@ -10432,17 +10420,19 @@ dependencies = [ [[package]] name = "ruint" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "f5ef8fb1dd8de3870cb8400d51b4c2023854bbafd5431a3ac7e7317243e22d2f" dependencies = [ "alloy-rlp", "arbitrary", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint", + "num-integer", "num-traits", "parity-scale-codec", "primitive-types", @@ -10503,27 +10493,27 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.7.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustls" -version = "0.23.10" +version = "0.23.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" dependencies = [ "log", "once_cell", @@ -10536,49 +10526,63 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.2.0", ] [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] [[package]] name = "rustls-platform-verifier" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3beb939bcd33c269f4bf946cc829fcd336370267c4a927ac0399c84a3151a1" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ - "core-foundation", + "core-foundation 0.9.4", "core-foundation-sys", "jni", "log", "once_cell", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "webpki-roots", "winapi", @@ -10586,15 +10590,15 @@ dependencies = [ [[package]] name = "rustls-platform-verifier-android" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84e217e7fdc8466b5b35d30f8c0a30febd29173df4a3a0c2115d306b9c4117ad" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -10603,9 +10607,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "rusty-fork" @@ -10642,27 +10646,27 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +checksum = "28e1c91382686d21b5ac7959341fcb9780fa7c03773646995a87c950fa7be640" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "schnellru" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ "ahash", "cfg-if", @@ -10683,9 +10687,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "0.2.0" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" +checksum = "478f121bb72bbf63c52c93011ea1791dca40140dfe13f8336c4c5ac952c33aa9" [[package]] name = "sec1" @@ -10704,9 +10708,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0cc0f1cf93f4969faf3ea1c7d8a9faed25918d96affa959720823dfe86d4f3" +checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ "rand 0.8.5", "secp256k1-sys", @@ -10715,32 +10719,45 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1433bd67156263443f14d603720b082dd3121779323fce20cba2aa07b874bc1b" +checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ "cc", ] [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.7.0", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "num-bigint", "security-framework-sys", ] +[[package]] +name = "security-framework" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +dependencies = [ + "bitflags 2.7.0", + "core-foundation 0.10.0", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -10757,18 +10774,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -10787,9 +10804,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] @@ -10815,9 +10832,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -10845,7 +10862,7 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror 1.0.61", + "thiserror 1.0.69", ] [[package]] @@ -10870,9 +10887,9 @@ dependencies = [ [[package]] name = "serde_tokenstream" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8790a7c3fe883e443eaa2af6f705952bc5d6e8671a220b9335c8cae92c037e74" +checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" dependencies = [ "proc-macro2", "quote", @@ -10894,9 +10911,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "base64 0.22.1", "chrono", @@ -10912,9 +10929,9 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling", "proc-macro2", @@ -10934,9 +10951,9 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ "once_cell", "parking_lot", @@ -10946,9 +10963,9 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", @@ -11002,9 +11019,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -11076,9 +11093,9 @@ dependencies = [ [[package]] name = "similar" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" dependencies = [ "bstr", "unicode-segmentation", @@ -11086,9 +11103,9 @@ dependencies = [ [[package]] name = "similar-asserts" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e041bb827d1bfca18f213411d51b665309f1afb37a04a5d1464530e13779fc0f" +checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" dependencies = [ "console", "serde", @@ -11097,21 +11114,21 @@ dependencies = [ [[package]] name = "simple_asn1" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.61", + "thiserror 2.0.11", "time", ] [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "sketches-ddsketch" @@ -11155,9 +11172,9 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -11165,9 +11182,9 @@ dependencies = [ [[package]] name = "soketto" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ "base64 0.22.1", "bytes", @@ -11209,15 +11226,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" dependencies = [ "cc", "cfg-if", "libc", "psm", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -11226,6 +11243,18 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "stop-token" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af91f480ee899ab2d9f8435bfdfc14d08a5754bd9d3fef1f1a1c23336aad6c8b" +dependencies = [ + "async-channel 1.9.0", + "cfg-if", + "futures-core", + "pin-project-lite", +] + [[package]] name = "str_stack" version = "0.1.0" @@ -11253,7 +11282,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", @@ -11287,9 +11316,9 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "symbolic-common" -version = "12.9.2" +version = "12.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71297dc3e250f7dbdf8adb99e235da783d690f5819fdeb4cce39d9cfb0aca9f1" +checksum = "bf08b42a6f9469bd8584daee39a1352c8133ccabc5151ccccb15896ef047d99a" dependencies = [ "debugid", "memmap2", @@ -11299,9 +11328,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.9.2" +version = "12.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "424fa2c9bf2c862891b9cfd354a752751a6730fd838a4691e7f6c2c7957b9daf" +checksum = "32f73b5a5bd4da72720c45756a2d11edf110116b87f998bda59b97be8c2c7cf1" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -11332,9 +11361,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.15" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219389c1ebe89f8333df8bdfb871f6631c552ff399c23cac02480b6088aad8f0" +checksum = "31e89d8bf2768d277f40573c83a02a099e96d96dd3104e13ea676194e61ac4b0" dependencies = [ "paste", "proc-macro2", @@ -11344,9 +11373,12 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -11386,14 +11418,16 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", - "fastrand 2.1.0", + "fastrand 2.3.0", + "getrandom 0.2.15", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11426,7 +11460,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7e6b4c7391a38f0f026972ec2200bcfd1ec45533aa266fdae5858d011afc500" dependencies = [ "darling", - "heck 0.5.0", + "heck", "itertools 0.13.0", "once_cell", "prettyplease", @@ -11456,27 +11490,27 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.61", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.11", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", @@ -11485,9 +11519,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -11609,9 +11643,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -11624,9 +11658,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.42.0" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "bytes", @@ -11642,9 +11676,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", @@ -11663,20 +11697,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ "rustls", - "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -11702,9 +11735,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -11717,9 +11750,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", @@ -11780,6 +11813,7 @@ dependencies = [ "futures-util", "pin-project-lite", "sync_wrapper", + "tokio", "tower-layer", "tower-service", ] @@ -11792,7 +11826,7 @@ checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.6.0", + "bitflags 2.7.0", "bytes", "futures-core", "futures-util", @@ -11846,7 +11880,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.61", + "thiserror 1.0.69", "time", "tracing-subscriber", ] @@ -11884,9 +11918,9 @@ dependencies = [ [[package]] name = "tracing-journald" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba316a74e8fc3c3896a850dba2375928a9fa171b085ecddfc7c054d39970f3fd" +checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" dependencies = [ "libc", "tracing-core", @@ -11906,9 +11940,9 @@ dependencies = [ [[package]] name = "tracing-logfmt" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22b8e455f6caa5212a102ec530bf86b8dc5a4c536299bffd84b238fed9119be7" +checksum = "6b1f47d22deb79c3f59fcf2a1f00f60cbdc05462bf17d1cd356c1fefa3f444bd" dependencies = [ "time", "tracing", @@ -11918,9 +11952,9 @@ dependencies = [ [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ "serde", "tracing-core", @@ -11928,9 +11962,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -11966,7 +12000,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f" dependencies = [ "cc", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -11979,12 +12013,6 @@ dependencies = [ "rlp", ] -[[package]] -name = "triomphe" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" - [[package]] name = "try-lock" version = "0.2.5" @@ -12007,7 +12035,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.61", + "thiserror 1.0.69", "utf-8", ] @@ -12025,9 +12053,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -12061,12 +12089,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" @@ -12076,31 +12101,38 @@ checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-truncate" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226" +checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" dependencies = [ - "itertools 0.12.1", - "unicode-width", + "itertools 0.13.0", + "unicode-segmentation", + "unicode-width 0.1.14", ] [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -12112,12 +12144,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unsigned-varint" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" - [[package]] name = "unsigned-varint" version = "0.8.0" @@ -12168,9 +12194,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.9.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" dependencies = [ "getrandom 0.2.15", ] @@ -12189,9 +12215,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "8.3.1" +version = "8.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" +checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" dependencies = [ "anyhow", "cargo_metadata", @@ -12203,9 +12229,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "visibility" @@ -12266,23 +12292,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.96", @@ -12291,21 +12318,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12313,9 +12341,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -12326,15 +12354,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -12359,9 +12390,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -12379,9 +12410,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -12410,11 +12441,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12425,22 +12456,22 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.54.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ - "windows-core 0.54.0", - "windows-targets 0.52.5", + "windows-core 0.57.0", + "windows-targets 0.52.6", ] [[package]] name = "windows" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.5", + "windows-core 0.58.0", + "windows-targets 0.52.6", ] [[package]] @@ -12449,29 +12480,32 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.54.0" +version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-result", - "windows-targets 0.52.5", + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement", - "windows-interface", - "windows-result", - "windows-targets 0.52.5", + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] @@ -12485,6 +12519,17 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "windows-interface" version = "0.57.0" @@ -12496,13 +12541,54 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", ] [[package]] @@ -12520,7 +12606,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -12540,18 +12635,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "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", ] [[package]] @@ -12562,9 +12657,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -12574,9 +12669,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -12586,15 +12681,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -12604,9 +12699,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -12616,9 +12711,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -12628,9 +12723,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -12640,15 +12735,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.20" +version = "0.6.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" dependencies = [ "memchr", ] @@ -12663,16 +12758,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "write16" version = "1.0.0" @@ -12698,7 +12783,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.61", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -12721,9 +12806,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", @@ -12733,9 +12818,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", @@ -12745,18 +12830,19 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", @@ -12765,18 +12851,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", @@ -12828,27 +12914,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/crates/bitfinity-block-validator/Cargo.toml b/crates/bitfinity-block-validator/Cargo.toml index cbb481cfcd8..73d981ff49c 100644 --- a/crates/bitfinity-block-validator/Cargo.toml +++ b/crates/bitfinity-block-validator/Cargo.toml @@ -11,6 +11,7 @@ repository.workspace = true workspace = true [dependencies] +alloy-consensus.workspace = true alloy-primitives.workspace = true async-trait.workspace = true did.workspace = true diff --git a/crates/bitfinity-block-validator/src/lib.rs b/crates/bitfinity-block-validator/src/lib.rs index cdbbcc1ddbe..5e20cee358b 100644 --- a/crates/bitfinity-block-validator/src/lib.rs +++ b/crates/bitfinity-block-validator/src/lib.rs @@ -1,7 +1,6 @@ //! Bitfinity block validator. use alloy_primitives::Address; -use alloy_primitives::U256; use did::unsafe_blocks::ValidateUnsafeBlockArgs; use did::{Transaction, H256}; use evm_canister_client::{CanisterClient, EvmCanisterClient}; @@ -73,7 +72,7 @@ where let executor = self.executor(); let block_with_senders = Self::convert_block(block, transactions); - let output = match executor.execute((&block_with_senders, U256::MAX).into()) { + let output = match executor.execute(&block_with_senders) { Ok(output) => output, Err(err) => { tracing::error!("Failed to execute block: {err:?}"); @@ -224,9 +223,9 @@ mod test { sync::Arc, }; - use alloy_consensus::TxEip1559; + use alloy_consensus::{proofs::calculate_transaction_root, TxEip1559}; use alloy_genesis::{Genesis, GenesisAccount}; - use alloy_primitives::{FixedBytes, B256}; + use alloy_primitives::{FixedBytes, B256, U256}; use alloy_signer::SignerSync; use alloy_signer_local::PrivateKeySigner; use candid::utils::ArgumentEncoder; @@ -235,7 +234,7 @@ mod test { use reth_chainspec::{Chain, ChainSpec, EthereumHardfork, ForkCondition, MIN_TRANSACTION_GAS}; use reth_db::init_db; use reth_node_types::NodeTypes; - use reth_primitives::{EthPrimitives, RecoveredTx, TransactionSigned}; + use reth_primitives::{Account, EthPrimitives, RecoveredTx, TransactionSigned}; use reth_provider::{providers::StaticFileProvider, EthStorage}; use reth_trie::EMPTY_ROOT_HASH; use reth_trie_db::MerklePatriciaTrie; @@ -245,6 +244,7 @@ mod test { const CHAIN_ID: u64 = 1; const INITIAL_BASE_FEE: u64 = 1_000_000_000; + const ETHEREUM_BLOCK_GAS_LIMIT: u64 = 30_000_000; #[derive(Clone)] struct DummyDb; @@ -351,7 +351,7 @@ mod test { let tx_cost = U256::from(INITIAL_BASE_FEE * MIN_TRANSACTION_GAS); let num_tx = 5; - let mock_tx = |nonce: u64| -> RecoveredTx { + let mock_tx = |nonce: u64| -> RecoveredTx<_> { let tx = reth_primitives::Transaction::Eip1559(TxEip1559 { chain_id: CHAIN_ID, nonce, @@ -368,7 +368,7 @@ mod test { }; let signer_balance_decrease = tx_cost * U256::from(num_tx); let initial_signer_balance = U256::from(10).pow(U256::from(18)); - let transactions: Vec = (0..num_tx).map(mock_tx).collect(); + let transactions: Vec> = (0..num_tx).map(mock_tx).collect(); let receipts = transactions .iter() @@ -384,28 +384,28 @@ mod test { }) .collect::>(); + let signed_body = + transactions.clone().into_iter().map(|tx| tx.into_tx()).collect::>(); + let transactions_root = calculate_transaction_root(&signed_body); + let header = reth_primitives::Header { number: 1, parent_hash: FixedBytes::new([0; 32]), gas_used: transactions.len() as u64 * MIN_TRANSACTION_GAS, - gas_limit: ChainSpec::default().max_gas_limit, + gas_limit: ETHEREUM_BLOCK_GAS_LIMIT, mix_hash: B256::ZERO, base_fee_per_gas: Some(INITIAL_BASE_FEE), - transactions_root: alloy_consensus::proofs::calculate_transaction_root( - &transactions.clone().into_iter().map(|tx| tx.into_signed()).collect::>(), - ), + transactions_root, receipts_root: alloy_consensus::proofs::calculate_receipt_root(&receipts), beneficiary: signer, state_root: reth_trie::root::state_root_unhashed(HashMap::from([( signer, - ( - reth_revm::primitives::AccountInfo { - balance: initial_signer_balance - signer_balance_decrease, - nonce: num_tx, - ..Default::default() - }, - EMPTY_ROOT_HASH, - ), + Account { + balance: initial_signer_balance - signer_balance_decrease, + nonce: num_tx, + ..Default::default() + } + .into_trie_account(EMPTY_ROOT_HASH), )])), // use the number as the timestamp so it is monotonically increasing timestamp: 0, @@ -419,7 +419,7 @@ mod test { reth_primitives::Block { header, body: reth_primitives::BlockBody { - transactions: transactions.into_iter().map(|tx| tx.into_signed()).collect(), + transactions: signed_body, ommers: Vec::new(), withdrawals: Some(vec![].into()), },