diff --git a/Cargo.lock b/Cargo.lock index b18677573..203d781b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,30 +2,20 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "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" @@ -96,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" @@ -119,16 +118,17 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy-chains" -version = "0.1.27" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b515e82c8468ddb6ff8db21c78a5997442f113fd8471fd5b2261b2602dd0c67" +checksum = "c54e2fbc026948a0f638bf6a94fc0ce6e44652280fed40bb0dd970e3357bc5f2" dependencies = [ + "alloy-primitives 0.8.7", "alloy-rlp", "arbitrary", "num_enum", "proptest", "serde", - "strum 0.26.3", + "strum", ] [[package]] @@ -138,13 +138,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f63a6c9eb45684a5468536bc55379a2af0f45ffa5d756e4e4964532737e1836" dependencies = [ "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-serde", "arbitrary", "c-kzg", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", ] @@ -155,15 +155,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" dependencies = [ "alloy-json-abi", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-sol-type-parser", "alloy-sol-types", "const-hex", - "derive_more", + "derive_more 0.99.18", "itoa", "serde", "serde_json", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -172,15 +172,15 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4b0fc6a572ef2eebda0a31a5e393d451abda703fec917c75d9615d8c978cf2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-serde", "arbitrary", "c-kzg", - "derive_more", + "derive_more 0.99.18", "once_cell", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", "sha2 0.10.8", ] @@ -191,7 +191,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48450f9c6f0821c1eee00ed912942492ed4f11dd69532825833de23ecc7a2256" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-serde", "serde", ] @@ -202,7 +202,7 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-sol-type-parser", "serde", "serde_json", @@ -214,7 +214,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d484c2a934d0a4d86f8ad4db8113cb1d607707a6c54f6e78f4f1b4451b47aa70" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "serde", "serde_json", "thiserror", @@ -230,7 +230,7 @@ dependencies = [ "alloy-consensus", "alloy-eips", "alloy-json-rpc", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-eth", "alloy-serde", "alloy-signer", @@ -248,7 +248,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e07c66b8b0ba8c87461a15fe3247c5b46fb500e103111b0ad4798738e45b1e" dependencies = [ "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "k256", "serde_json", "tempfile", @@ -269,7 +269,7 @@ dependencies = [ "cfg-if", "const-hex", "derive_arbitrary", - "derive_more", + "derive_more 0.99.18", "ethereum_ssz", "getrandom 0.2.15", "hex-literal", @@ -277,10 +277,41 @@ dependencies = [ "k256", "keccak-asm", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", + "rand 0.8.5", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-primitives" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb848c43f6b06ae3de2e4a67496cbbabd78ae87db0f1248934f15d76192c6a" +dependencies = [ + "alloy-rlp", + "arbitrary", + "bytes", + "cfg-if", + "const-hex", + "derive_arbitrary", + "derive_more 1.0.0", + "foldhash", + "hashbrown 0.15.0", + "hex-literal", + "indexmap 2.6.0", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "proptest-derive 0.5.0", "rand 0.8.5", "ruint", + "rustc-hash 2.0.0", "serde", + "sha3", "tiny-keccak", ] @@ -295,7 +326,7 @@ dependencies = [ "alloy-eips", "alloy-json-rpc", "alloy-network", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types-admin", @@ -327,7 +358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "034258dfaa51c278e1f7fcc46e587d10079ec9372866fa48c5df9d908fc1f6b1" dependencies = [ "alloy-json-rpc", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-transport", "bimap", "futures", @@ -358,7 +389,7 @@ checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -368,7 +399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ce003e8c74bbbc7d4235131c1d6b7eaf14a533ae850295b90d240340989cb" dependencies = [ "alloy-json-rpc", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-pubsub", "alloy-transport", "alloy-transport-http", @@ -404,7 +435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bae99de76a362c4311f0892e286eb752cf2a3a6ef6555dff6d93f51de2c24648" dependencies = [ "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "serde", "serde_json", ] @@ -415,7 +446,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f67aec11f9f3bc5e96c2b7f342dba6e9541a8a48d2cfbe27b6b195136aa18eee" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-serde", "serde", ] @@ -427,7 +458,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd2c363d49f460538899aaeb3325918f55fa01841fd7f3f11f58d438343ea083" dependencies = [ "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-engine", "serde", "serde_with", @@ -442,7 +473,7 @@ checksum = "cc40df2dda7561d1406d0bee1d19c8787483a2cf2ee8011c05909475e7bc102d" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-rpc-types-eth", "alloy-serde", @@ -461,7 +492,7 @@ checksum = "13bd7aa9ff9e67f1ba7ee0dd8cebfc95831d1649b0e4eeefae940dc3681079fa" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-serde", "alloy-sol-types", @@ -469,7 +500,7 @@ dependencies = [ "itertools 0.13.0", "jsonrpsee-types", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", "serde_json", "thiserror", @@ -481,7 +512,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "535d26db98ac320a0d1637faf3e210328c3df3b1998abd7e72343d3857058efe" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -495,7 +526,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5971c92989c6a5588d3f6d1e99e5328fba6e68694efbe969d6ec96ae5b9d1037" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -507,10 +538,10 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9416c52959e66ead795a11f4a86c248410e9e368a0765710e57055b8a1774dd6" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", "serde_json", ] @@ -521,7 +552,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f740e13eb4c6a0e4d0e49738f1e86f31ad2d7ef93be499539f492805000f7237" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "async-trait", "auto_impl", "elliptic-curve", @@ -537,11 +568,11 @@ checksum = "87db68d926887393a1d0f9c43833b44446ea29d603291e7b20e5d115f31aa4e3" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-signer", "async-trait", - "coins-bip32 0.11.1", - "coins-bip39 0.11.1", + "coins-bip32", + "coins-bip39", "k256", "rand 0.8.5", "thiserror", @@ -558,7 +589,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -570,12 +601,12 @@ dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", - "heck 0.5.0", - "indexmap 2.4.0", + "heck", + "indexmap 2.6.0", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "syn-solidity", "tiny-keccak", ] @@ -589,11 +620,11 @@ dependencies = [ "alloy-json-abi", "const-hex", "dunce", - "heck 0.5.0", + "heck", "proc-macro2", "quote", "serde_json", - "syn 2.0.75", + "syn 2.0.79", "syn-solidity", ] @@ -604,7 +635,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbcba3ca07cf7975f15d871b721fb18031eec8bce51103907f6dcce00b255d98" dependencies = [ "serde", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -614,7 +645,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" dependencies = [ "alloy-json-abi", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-sol-macro", "const-hex", "serde", @@ -696,15 +727,15 @@ 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", + "derive_more 0.99.18", "hashbrown 0.14.5", "nybbles", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", "smallvec", "tracing", @@ -782,9 +813,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "aquamarine" @@ -797,7 +828,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -843,7 +874,7 @@ dependencies = [ "num-bigint", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -935,9 +966,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -982,9 +1013,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +checksum = "998282f8f49ccd6116b0ed8a4de0fbd3151697920e7c7533416d6e25e76434a7" dependencies = [ "brotli", "flate2", @@ -996,79 +1027,6 @@ dependencies = [ "zstd-safe", ] -[[package]] -name = "async-graphql" -version = "7.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b76aba2f176af685c2229633881a3adeae51f87ae1811781e73910b7001c93e" -dependencies = [ - "async-graphql-derive", - "async-graphql-parser", - "async-graphql-value", - "async-stream", - "async-trait", - "base64 0.22.1", - "bytes", - "fnv", - "futures-util", - "http 1.1.0", - "indexmap 2.4.0", - "mime", - "multer", - "num-traits", - "once_cell", - "pin-project-lite", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "static_assertions_next", - "thiserror", - "tracing", - "tracing-futures", -] - -[[package]] -name = "async-graphql-derive" -version = "7.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e2e26a6b44bc61df3ca8546402cf9204c28e30c06084cc8e75cd5e34d4f150" -dependencies = [ - "Inflector", - "async-graphql-parser", - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "strum 0.26.3", - "syn 2.0.75", - "thiserror", -] - -[[package]] -name = "async-graphql-parser" -version = "7.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f801451484b4977d6fe67b29030f81353cabdcbb754e5a064f39493582dac0cf" -dependencies = [ - "async-graphql-value", - "pest", - "serde", - "serde_json", -] - -[[package]] -name = "async-graphql-value" -version = "7.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69117c43c01d81a69890a9f5dd6235f2f027ca8d1ec62d6d3c5e01ca0edb4f2b" -dependencies = [ - "bytes", - "indexmap 2.4.0", - "serde", - "serde_json", -] - [[package]] name = "async-sse" version = "5.1.0" @@ -1085,9 +1043,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", @@ -1096,13 +1054,13 @@ 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.75", + "syn 2.0.79", ] [[package]] @@ -1113,13 +1071,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -1130,16 +1088,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version 0.4.0", -] - -[[package]] -name = "atomic-polyfill" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" -dependencies = [ - "critical-section", + "rustc_version 0.4.1", ] [[package]] @@ -1166,61 +1115,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "axum" -version = "0.5.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" -dependencies = [ - "async-trait", - "axum-core", - "bitflags 1.3.2", - "bytes", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "itoa", - "matchit", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "tokio", - "tower", - "tower-http 0.3.5", - "tower-layer", - "tower-service", -] - -[[package]] -name = "axum-core" -version = "0.2.9" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "mime", - "tower-layer", - "tower-service", -] +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backon" @@ -1228,7 +1130,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.1.1", "futures-core", "pin-project", "tokio", @@ -1236,18 +1138,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", - "serde", + "windows-targets 0.52.6", ] [[package]] @@ -1348,53 +1249,50 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.65.1" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "cexpr", "clang-sys", + "itertools 0.12.1", "lazy_static", "lazycell", - "peeking_take_while", + "log", "prettyplease", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.75", + "syn 2.0.79", + "which", ] [[package]] name = "bindgen" -version = "0.69.4" +version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", + "itertools 0.13.0", "proc-macro2", "quote", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.75", - "which", + "syn 2.0.79", ] [[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 = "bit-set" @@ -1429,9 +1327,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", ] @@ -1530,7 +1428,7 @@ dependencies = [ "bitflags 2.6.0", "boa_interner", "boa_macros", - "indexmap 2.4.0", + "indexmap 2.6.0", "num-bigint", "rustc-hash 1.1.0", ] @@ -1555,7 +1453,7 @@ dependencies = [ "fast-float", "hashbrown 0.14.5", "icu_normalizer", - "indexmap 2.4.0", + "indexmap 2.6.0", "intrusive-collections", "itertools 0.12.1", "num-bigint", @@ -1601,7 +1499,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.14.5", - "indexmap 2.4.0", + "indexmap 2.6.0", "once_cell", "phf", "rustc-hash 1.1.0", @@ -1616,7 +1514,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "synstructure", ] @@ -1656,9 +1554,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", @@ -1695,7 +1593,7 @@ dependencies = [ "reth-network-api", "reth-primitives", "reth-tracing", - "secp256k1 0.29.0", + "secp256k1", "serde_json", "tokio", "tokio-stream", @@ -1708,7 +1606,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.8", "serde", ] @@ -1726,22 +1624,22 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -1752,35 +1650,25 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" dependencies = [ "serde", ] -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "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", ] @@ -1848,9 +1736,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.13" +version = "1.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1" dependencies = [ "jobserver", "libc", @@ -1952,9 +1840,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.16" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -1962,9 +1850,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -1974,14 +1862,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -1996,22 +1884,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core 0.8.7", - "digest 0.10.7", - "hmac 0.12.1", - "k256", - "serde", - "sha2 0.10.8", - "thiserror", -] - [[package]] name = "coins-bip32" version = "0.11.1" @@ -2019,7 +1891,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66c43ff7fd9ff522219058808a259e61423335767b1071d5b346de60d9219657" dependencies = [ "bs58", - "coins-core 0.11.1", + "coins-core", "digest 0.10.7", "hmac 0.12.1", "k256", @@ -2028,22 +1900,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32 0.8.7", - "hmac 0.12.1", - "once_cell", - "pbkdf2", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror", -] - [[package]] name = "coins-bip39" version = "0.11.1" @@ -2051,7 +1907,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c4587c0b4064da887ed39a6522f577267d57e58bdd583178cd877d721b56a2e" dependencies = [ "bitvec", - "coins-bip32 0.11.1", + "coins-bip32", "hmac 0.12.1", "once_cell", "pbkdf2", @@ -2060,26 +1916,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "coins-core" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest 0.10.7", - "generic-array", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2 0.10.8", - "sha3", - "thiserror", -] - [[package]] name = "coins-core" version = "0.11.1" @@ -2122,8 +1958,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ "crossterm", - "strum 0.26.3", - "strum_macros 0.26.4", + "strum", + "strum_macros", "unicode-width", ] @@ -2179,15 +2015,14 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", - "unicode-width", "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" dependencies = [ "cfg-if", "cpufeatures", @@ -2210,9 +2045,9 @@ checksum = "3618cccc083bb987a415d85c02ca6c9994ea5b44731ec28b9ecf09658655fba9" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -2256,18 +2091,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.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -2334,12 +2169,6 @@ dependencies = [ "itertools 0.10.5", ] -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -2531,7 +2360,7 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "subtle", "zeroize", ] @@ -2544,7 +2373,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -2658,7 +2487,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -2669,7 +2498,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -2787,7 +2616,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -2799,8 +2628,29 @@ dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.75", + "rustc_version 0.4.1", + "syn 2.0.79", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "unicode-xid", ] [[package]] @@ -2914,7 +2764,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -2935,12 +2785,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" -[[package]] -name = "dtoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" - [[package]] name = "dunce" version = "1.0.5" @@ -2955,9 +2799,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" @@ -3049,19 +2893,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" [[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" [[package]] -name = "encoding_rs" -version = "0.8.34" +name = "encode_unicode" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "endian-type" @@ -3083,7 +2924,7 @@ dependencies = [ "k256", "log", "rand 0.8.5", - "secp256k1 0.29.0", + "secp256k1", "serde", "sha3", "zeroize", @@ -3091,45 +2932,45 @@ 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.75", + "syn 2.0.79", ] [[package]] -name = "enum-iterator" -version = "1.5.0" +name = "enumn" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ - "enum-iterator-derive", + "proc-macro2", + "quote", + "syn 2.0.79", ] [[package]] -name = "enum-iterator-derive" -version = "1.4.0" +name = "equator" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" +checksum = "c35da53b5a021d2484a7cc49b2ac7f2d840f8236a286f84202369bd338d761ea" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", + "equator-macro", ] [[package]] -name = "enumn" -version = "0.1.14" +name = "equator-macro" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" +checksum = "3bf679796c0322556351f287a51b49e48f7c4986e727b5dd78c972d30e2e16cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -3200,12 +3041,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "ethnum" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c" - [[package]] name = "event-listener" version = "2.5.3" @@ -3307,7 +3142,7 @@ dependencies = [ "reth-testing-utils", "reth-tracing", "rusqlite", - "secp256k1 0.29.0", + "secp256k1", "serde_json", "tokio", ] @@ -3351,9 +3186,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fastrlp" @@ -3420,9 +3255,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.31" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -3431,9 +3266,9 @@ dependencies = [ [[package]] name = "fluentbase-codec" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "byteorder", "casey", "fluentbase-codec-derive", @@ -3445,19 +3280,19 @@ dependencies = [ [[package]] name = "fluentbase-codec-derive" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "convert_case 0.6.0", "crypto-hashes", "quote", "serde", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] name = "fluentbase-core" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "alloy-rlp", "alloy-sol-types", @@ -3465,10 +3300,6 @@ dependencies = [ "byteorder", "fluentbase-runtime", "fluentbase-sdk", - "fuel-core-executor", - "fuel-core-storage", - "fuel-core-types", - "hashbrown 0.14.5", "hex", "keccak-hash", "paste", @@ -3481,7 +3312,7 @@ dependencies = [ [[package]] name = "fluentbase-genesis" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "alloy-genesis", "byteorder", @@ -3492,6 +3323,7 @@ dependencies = [ "hashbrown 0.14.5", "hex", "revm-primitives", + "rwasm", "serde", "serde_json", ] @@ -3499,7 +3331,7 @@ dependencies = [ [[package]] name = "fluentbase-poseidon" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "bitvec", "halo2curves 0.6.1 (git+https://github.com/privacy-scaling-explorations/halo2curves?tag=v0.6.1)", @@ -3511,16 +3343,13 @@ dependencies = [ [[package]] name = "fluentbase-runtime" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "eth_trie", "fluentbase-poseidon", "fluentbase-types", - "fluentbase-zktrie", "halo2curves 0.6.1 (git+https://github.com/privacy-scaling-explorations/halo2curves?tag=v0.6.1)", "hashbrown 0.14.5", - "hex", - "hex-literal", "k256", "keccak-hash", "rwasm", @@ -3529,7 +3358,7 @@ dependencies = [ [[package]] name = "fluentbase-sdk" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "fluentbase-codec", "fluentbase-genesis", @@ -3542,7 +3371,7 @@ dependencies = [ [[package]] name = "fluentbase-sdk-derive" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "convert_case 0.6.0", "crypto-hashes", @@ -3550,37 +3379,25 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", + "regex", "serde", - "syn 2.0.75", + "syn 2.0.79", "syn-solidity", ] [[package]] name = "fluentbase-types" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "byteorder", "fluentbase-codec", "hashbrown 0.14.5", "revm-primitives", "rwasm", - "strum_macros 0.26.4", -] - -[[package]] -name = "fluentbase-zktrie" -version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" -dependencies = [ - "byteorder", - "fluentbase-poseidon", - "halo2curves 0.6.1 (git+https://github.com/privacy-scaling-explorations/halo2curves?tag=v0.6.1)", - "hex", - "lazy_static", - "uint", + "strum_macros", ] [[package]] @@ -3589,6 +3406,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -3606,7 +3429,7 @@ checksum = "195bb5b228e1215c50d828f3e7d48a809a0af2bc0120462710ea5e7fcba3cbe2" dependencies = [ "alloy-chains", "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types-eth", "alloy-serde", "chrono", @@ -3620,411 +3443,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" -[[package]] -name = "fuel-asm" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "bitflags 2.6.0", - "fuel-types", - "serde", - "strum 0.24.1", -] - -[[package]] -name = "fuel-core" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-graphql", - "async-trait", - "axum", - "derive_more", - "enum-iterator", - "fuel-core-chain-config", - "fuel-core-consensus-module", - "fuel-core-database", - "fuel-core-executor", - "fuel-core-gas-price-service", - "fuel-core-importer", - "fuel-core-metrics", - "fuel-core-poa", - "fuel-core-producer", - "fuel-core-services", - "fuel-core-storage", - "fuel-core-txpool", - "fuel-core-types", - "fuel-core-upgradable-executor", - "futures", - "hex", - "hyper 0.14.30", - "indicatif", - "itertools 0.12.1", - "num_cpus", - "postcard", - "rand 0.8.5", - "rocksdb", - "serde", - "serde_json", - "strum 0.26.3", - "strum_macros 0.26.4", - "tempfile", - "thiserror", - "tokio", - "tokio-rayon", - "tokio-stream", - "tokio-util", - "tower-http 0.3.5", - "tracing", - "uuid", -] - -[[package]] -name = "fuel-core-chain-config" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "bech32", - "derivative", - "fuel-core-storage", - "fuel-core-types", - "itertools 0.12.1", - "postcard", - "serde", - "serde_json", - "serde_with", - "tracing", -] - -[[package]] -name = "fuel-core-consensus-module" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "fuel-core-chain-config", - "fuel-core-poa", - "fuel-core-storage", - "fuel-core-types", -] - -[[package]] -name = "fuel-core-database" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "derive_more", - "fuel-core-storage", - "fuel-core-types", -] - -[[package]] -name = "fuel-core-executor" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "fuel-core-storage", - "fuel-core-types", - "hex", - "serde", - "spin", - "tracing", -] - -[[package]] -name = "fuel-core-gas-price-service" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-trait", - "enum-iterator", - "fuel-core-services", - "fuel-core-storage", - "fuel-core-types", - "fuel-gas-price-algorithm", - "futures", - "num_enum", - "serde", - "strum 0.26.3", - "strum_macros 0.26.4", - "thiserror", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "fuel-core-importer" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "derive_more", - "fuel-core-metrics", - "fuel-core-storage", - "fuel-core-types", - "parking_lot 0.12.3", - "rayon", - "tokio", - "tracing", -] - -[[package]] -name = "fuel-core-metrics" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "parking_lot 0.12.3", - "pin-project-lite", - "prometheus-client", - "regex", - "tracing", -] - -[[package]] -name = "fuel-core-poa" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-trait", - "fuel-core-chain-config", - "fuel-core-services", - "fuel-core-storage", - "fuel-core-types", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "fuel-core-producer" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-trait", - "derive_more", - "fuel-core-storage", - "fuel-core-types", - "tokio", - "tokio-rayon", - "tracing", -] - -[[package]] -name = "fuel-core-services" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-trait", - "fuel-core-metrics", - "futures", - "parking_lot 0.12.3", - "tokio", - "tracing", -] - -[[package]] -name = "fuel-core-storage" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "derive_more", - "enum-iterator", - "fuel-core-types", - "fuel-vm", - "impl-tools", - "itertools 0.12.1", - "num_enum", - "paste", - "postcard", - "primitive-types", - "serde", - "strum 0.26.3", - "strum_macros 0.26.4", -] - -[[package]] -name = "fuel-core-txpool" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "async-trait", - "fuel-core-metrics", - "fuel-core-services", - "fuel-core-storage", - "fuel-core-types", - "num-rational", - "parking_lot 0.12.3", - "tokio", - "tokio-rayon", - "tokio-stream", - "tracing", -] - -[[package]] -name = "fuel-core-types" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "anyhow", - "bs58", - "derivative", - "derive_more", - "fuel-vm", - "hashbrown 0.14.5", - "secrecy", - "serde", - "tai64", - "thiserror-no-std", - "zeroize", -] - -[[package]] -name = "fuel-core-upgradable-executor" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "fuel-core-executor", - "fuel-core-storage", - "fuel-core-types", -] - -[[package]] -name = "fuel-crypto" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "coins-bip32 0.8.7", - "coins-bip39 0.8.7", - "ecdsa", - "ed25519-dalek", - "fuel-types", - "k256", - "lazy_static", - "p256", - "rand 0.8.5", - "secp256k1 0.26.0", - "serde", - "sha2 0.10.8", - "zeroize", -] - -[[package]] -name = "fuel-derive" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", - "synstructure", -] - -[[package]] -name = "fuel-gas-price-algorithm" -version = "0.31.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-core?branch=devel#e64dfbd02c1f1a8edd3b15f8d2b081a85a094b81" -dependencies = [ - "proptest", - "serde", - "thiserror", -] - -[[package]] -name = "fuel-merkle" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "derive_more", - "digest 0.10.7", - "fuel-storage", - "hashbrown 0.13.2", - "hex", - "serde", - "sha2 0.10.8", -] - -[[package]] -name = "fuel-storage" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" - -[[package]] -name = "fuel-tx" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "bitflags 2.6.0", - "derivative", - "derive_more", - "fuel-asm", - "fuel-crypto", - "fuel-merkle", - "fuel-types", - "hashbrown 0.14.5", - "itertools 0.10.5", - "postcard", - "rand 0.8.5", - "serde", - "serde_json", - "strum 0.26.3", - "strum_macros 0.26.4", -] - -[[package]] -name = "fuel-types" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "fuel-derive", - "hex", - "rand 0.8.5", - "serde", -] - -[[package]] -name = "fuel-vm" -version = "0.55.0" -source = "git+https://github.com/fluentlabs-xyz/fuel-vm?branch=develop#432b295f6a0cd360e1f86a7fb55aec0b5008df6a" -dependencies = [ - "anyhow", - "async-trait", - "backtrace", - "bitflags 2.6.0", - "derivative", - "derive_more", - "ethnum", - "fuel-asm", - "fuel-crypto", - "fuel-merkle", - "fuel-storage", - "fuel-tx", - "fuel-types", - "hashbrown 0.14.5", - "itertools 0.10.5", - "libm", - "paste", - "percent-encoding", - "primitive-types", - "rand 0.8.5", - "serde", - "serde_with", - "sha3", - "static_assertions", - "strum 0.24.1", - "tai64", -] - [[package]] name = "funty" version = "2.0.0" @@ -4033,9 +3451,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", @@ -4048,9 +3466,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", @@ -4058,15 +3476,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", @@ -4076,9 +3494,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" @@ -4107,26 +3525,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.75", + "syn 2.0.79", ] [[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" @@ -4140,9 +3558,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", @@ -4209,9 +3627,9 @@ 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" @@ -4296,9 +3714,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -4306,7 +3724,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -4372,15 +3790,6 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -4392,9 +3801,6 @@ name = "hashbrown" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] [[package]] name = "hashbrown" @@ -4407,6 +3813,18 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", + "serde", +] + [[package]] name = "hashlink" version = "0.8.4" @@ -4435,26 +3853,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "heapless" -version = "0.7.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" -dependencies = [ - "atomic-polyfill", - "hash32", - "rustc_version 0.4.0", - "serde", - "spin", - "stable_deref_trait", -] - -[[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" @@ -4569,17 +3967,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -4599,16 +3986,10 @@ dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "pin-project-lite", ] -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - [[package]] name = "http-range-header" version = "0.4.1" @@ -4637,9 +4018,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" @@ -4669,29 +4050,6 @@ dependencies = [ "serde", ] -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.7", - "tokio", - "tower-service", - "tracing", - "want", -] - [[package]] name = "hyper" version = "1.4.1" @@ -4703,7 +4061,7 @@ dependencies = [ "futures-util", "h2", "http 1.1.0", - "http-body 1.0.1", + "http-body", "httparse", "httpdate", "itoa", @@ -4715,17 +4073,17 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.4.1", + "hyper", "hyper-util", "log", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", "tokio-rustls", @@ -4735,20 +4093,19 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", + "http-body", + "hyper", "pin-project-lite", "socket2 0.5.7", "tokio", - "tower", "tower-service", "tracing", ] @@ -4760,7 +4117,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e99bf26f496b13ac6273014f40afda46a233fbfb0289ce50fb4daaad2f2ffc80" dependencies = [ "bincode", - "bindgen 0.69.4", + "bindgen 0.69.5", "cc", "iai-callgrind-macros", "iai-callgrind-runner", @@ -4776,7 +4133,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -4790,9 +4147,9 @@ dependencies = [ [[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", @@ -4926,7 +4283,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -4982,30 +4339,6 @@ dependencies = [ "serde", ] -[[package]] -name = "impl-tools" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82c305b1081f1a99fda262883c788e50ab57d36c00830bdd7e0a82894ad965c" -dependencies = [ - "autocfg", - "impl-tools-lib", - "proc-macro-error", - "syn 2.0.75", -] - -[[package]] -name = "impl-tools-lib" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85d3946d886eaab0702fa0c6585adcced581513223fa9df7ccfabbd9fa331a88" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.75", -] - [[package]] name = "impl-trait-for-tuples" version = "0.2.2" @@ -5055,12 +4388,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ + "arbitrary", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "serde", ] @@ -5070,19 +4404,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - [[package]] name = "infer" version = "0.2.3" @@ -5096,7 +4417,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ "ahash", - "indexmap 2.4.0", + "indexmap 2.6.0", "is-terminal", "itoa", "log", @@ -5139,7 +4460,7 @@ dependencies = [ "intmap", "libc", "once_cell", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "spinning", "thiserror", "to_method", @@ -5170,9 +4491,9 @@ checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" [[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", ] @@ -5186,20 +4507,20 @@ dependencies = [ "socket2 0.5.7", "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.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" +checksum = "44bd7eced44cfe2cebc674adb2a7124a754a4b5269288d22e9f39f8fada3562d" dependencies = [ "memchr", "serde", @@ -5286,9 +4607,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -5349,7 +4670,7 @@ dependencies = [ "futures-timer", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "http-body-util", "jsonrpsee-types", "parking_lot 0.12.3", @@ -5373,8 +4694,8 @@ checksum = "2d90064e04fb9d7282b1c71044ea94d0bbc6eff5621c66f1a0bce9e9de7cf3ac" dependencies = [ "async-trait", "base64 0.22.1", - "http-body 1.0.1", - "hyper 1.4.1", + "http-body", + "hyper", "hyper-rustls", "hyper-util", "jsonrpsee-core", @@ -5396,11 +4717,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.75", + "syn 2.0.79", ] [[package]] @@ -5412,9 +4733,9 @@ dependencies = [ "anyhow", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-util", "jsonrpsee-core", "jsonrpsee-types", @@ -5485,9 +4806,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", @@ -5508,9 +4829,9 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422fbc7ff2f2f5bdffeb07718e5a5324dca72b0c9293d50df4026652385e3314" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -5543,9 +4864,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libloading" @@ -5554,7 +4875,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -5682,11 +5003,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 0.69.4", + "bindgen 0.70.1", "errno", "libc", ] @@ -5701,21 +5022,6 @@ dependencies = [ "libc", ] -[[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" -dependencies = [ - "bindgen 0.65.1", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "lz4-sys", -] - [[package]] name = "libsecp256k1" version = "0.7.1" @@ -5775,17 +5081,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-sys" -version = "1.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -5831,11 +5126,11 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -5847,16 +5142,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "lz4-sys" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "lz4_flex" version = "0.11.3" @@ -5886,7 +5171,7 @@ dependencies = [ "reth-network", "reth-network-peers", "reth-primitives", - "secp256k1 0.29.0", + "secp256k1", "tokio", ] @@ -5905,12 +5190,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" - [[package]] name = "md-5" version = "0.10.6" @@ -5956,9 +5235,9 @@ dependencies = [ [[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", ] @@ -5999,7 +5278,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d58e362dc7206e9456ddbcdbd53c71ba441020e62104703075a69151e38d85f" dependencies = [ "base64 0.22.1", - "indexmap 2.4.0", + "indexmap 2.6.0", "metrics 0.22.3", "metrics-util", "quanta", @@ -6008,17 +5287,18 @@ dependencies = [ [[package]] name = "metrics-process" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +checksum = "48e9ed6b48279656a738d38d832440bd59c349cd178a21ff46276a4a86f15f60" dependencies = [ + "libc", "libproc", "mach2", "metrics 0.23.0", "once_cell", "procfs", "rlimit", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] @@ -6031,7 +5311,7 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.4.0", + "indexmap 2.6.0", "metrics 0.22.3", "num_cpus", "ordered-float", @@ -6046,7 +5326,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", @@ -6084,11 +5364,11 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -6139,7 +5419,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -6169,28 +5449,11 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" -[[package]] -name = "multer" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http 1.1.0", - "httparse", - "memchr", - "mime", - "spin", - "version_check", -] - [[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", @@ -6201,7 +5464,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", "url", ] @@ -6450,7 +5713,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -6462,12 +5725,6 @@ dependencies = [ "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "nybbles" version = "0.2.1" @@ -6484,18 +5741,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" 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" @@ -6523,9 +5780,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-float" -version = "4.2.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" +checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537" dependencies = [ "num-traits", ] @@ -6596,9 +5853,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" @@ -6643,7 +5900,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -6679,12 +5936,6 @@ dependencies = [ "hmac 0.12.1", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "3.0.4" @@ -6703,9 +5954,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", "thiserror", @@ -6714,10 +5965,11 @@ dependencies = [ [[package]] name = "ph" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b7b74d575d7c11fb653fae69688be5206cafc1ead33c01ce61ac7f36eae45b" +checksum = "2662713b3e8e02977b289a7ada32d672ae5477b5c23f290e5999122d53658847" dependencies = [ + "aligned-vec", "binout", "bitm", "dyn_size_of", @@ -6732,7 +5984,7 @@ 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]] @@ -6765,7 +6017,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -6779,22 +6031,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -6816,7 +6068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.0", + "fastrand 2.1.1", "futures-io", ] @@ -6832,9 +6084,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" @@ -6847,9 +6099,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", @@ -6860,15 +6112,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", ] @@ -6889,7 +6141,7 @@ dependencies = [ "reth-primitives", "reth-provider", "reth-tracing", - "secp256k1 0.29.0", + "secp256k1", "serde_json", "tokio", "tokio-stream", @@ -6909,9 +6161,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "poseidon" @@ -6924,13 +6176,13 @@ dependencies = [ [[package]] name = "postcard" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" dependencies = [ "cobs", - "embedded-io", - "heapless", + "embedded-io 0.4.0", + "embedded-io 0.6.1", "serde", ] @@ -6999,12 +6251,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -7031,11 +6283,11 @@ dependencies = [ [[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]] @@ -7064,9 +6316,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" dependencies = [ "unicode-ident", ] @@ -7097,29 +6349,6 @@ dependencies = [ "hex", ] -[[package]] -name = "prometheus-client" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" -dependencies = [ - "dtoa", - "itoa", - "parking_lot 0.12.3", - "prometheus-client-derive-encode", -] - -[[package]] -name = "prometheus-client-derive-encode" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - [[package]] name = "proptest" version = "1.5.0" @@ -7134,7 +6363,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", @@ -7151,6 +6380,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "proptest-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "quanta" version = "0.12.3" @@ -7192,9 +6432,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" dependencies = [ "bytes", "pin-project-lite", @@ -7210,9 +6450,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.6" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" dependencies = [ "bytes", "rand 0.8.5", @@ -7227,22 +6467,22 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" dependencies = [ "libc", "once_cell", "socket2 0.5.7", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -7285,6 +6525,7 @@ dependencies = [ "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", + "serde", ] [[package]] @@ -7357,7 +6598,7 @@ dependencies = [ "lru", "paste", "stability", - "strum 0.26.3", + "strum", "unicode-segmentation", "unicode-truncate", "unicode-width", @@ -7365,9 +6606,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.1.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ "bitflags 2.6.0", ] @@ -7409,18 +6650,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" 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", @@ -7429,14 +6670,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.6" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -7450,13 +6691,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -7467,9 +6708,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" @@ -7483,18 +6724,18 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ "base64 0.22.1", "bytes", "futures-core", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-rustls", "hyper-util", "ipnet", @@ -7506,13 +6747,13 @@ dependencies = [ "pin-project-lite", "quinn", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.8.0", "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper", "tokio", "tokio-rustls", "tokio-util", @@ -7523,7 +6764,7 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -7665,7 +6906,7 @@ dependencies = [ "reth-revm", "reth-tasks", "reth-transaction-pool", - "revm-fluent", + "revm", "tokio", "tracing", ] @@ -7811,10 +7052,10 @@ dependencies = [ "alloy-chains", "alloy-eips", "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-trie", - "derive_more", + "derive_more 0.99.18", "fluentbase-genesis", "nybbles", "once_cell", @@ -7844,12 +7085,12 @@ dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "bytes", "modular-bitfield", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "reth-codecs-derive", "serde", "serde_json", @@ -7864,7 +7105,7 @@ dependencies = [ "proc-macro2", "quote", "similar-asserts", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -7931,7 +7172,7 @@ dependencies = [ "assert_matches", "bytes", "criterion", - "derive_more", + "derive_more 0.99.18", "eyre", "iai-callgrind", "metrics 0.22.3", @@ -7954,7 +7195,7 @@ dependencies = [ "rustc-hash 1.1.0", "serde", "serde_json", - "strum 0.26.3", + "strum", "sysinfo", "tempfile", "test-fuzz", @@ -7969,7 +7210,7 @@ dependencies = [ "assert_matches", "bytes", "criterion", - "derive_more", + "derive_more 0.99.18", "iai-callgrind", "metrics 0.22.3", "modular-bitfield", @@ -7977,7 +7218,7 @@ dependencies = [ "paste", "pprof", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "reth-codecs", "reth-primitives", @@ -8017,7 +7258,7 @@ dependencies = [ name = "reth-discv4" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "assert_matches", "discv5", @@ -8032,7 +7273,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "schnellru", - "secp256k1 0.29.0", + "secp256k1", "serde", "thiserror", "tokio", @@ -8044,9 +7285,9 @@ dependencies = [ name = "reth-discv5" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", - "derive_more", + "derive_more 0.99.18", "discv5", "enr", "futures", @@ -8060,7 +7301,7 @@ dependencies = [ "reth-metrics", "reth-network-peers", "reth-tracing", - "secp256k1 0.29.0", + "secp256k1", "thiserror", "tokio", "tracing", @@ -8071,7 +7312,7 @@ name = "reth-dns-discovery" version = "1.0.0-rc.2" dependencies = [ "alloy-chains", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "data-encoding", "enr", @@ -8084,7 +7325,7 @@ dependencies = [ "reth-network-peers", "reth-tracing", "schnellru", - "secp256k1 0.29.0", + "secp256k1", "serde", "serde_with", "thiserror", @@ -8163,7 +7404,7 @@ name = "reth-ecies" version = "1.0.0-rc.2" dependencies = [ "aes 0.8.4", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "block-padding", "byteorder", @@ -8177,7 +7418,7 @@ dependencies = [ "pin-project", "rand 0.8.5", "reth-network-peers", - "secp256k1 0.29.0", + "secp256k1", "sha2 0.10.8", "sha3", "thiserror", @@ -8217,11 +7458,11 @@ dependencies = [ "arbitrary", "async-stream", "bytes", - "derive_more", + "derive_more 0.99.18", "futures", "pin-project", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "reth-chainspec", "reth-codecs", @@ -8233,7 +7474,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-tracing", - "secp256k1 0.29.0", + "secp256k1", "serde", "snap", "test-fuzz", @@ -8252,9 +7493,9 @@ dependencies = [ "arbitrary", "async-stream", "bytes", - "derive_more", + "derive_more 0.99.18", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "reth-chainspec", "reth-codecs-derive", @@ -8300,12 +7541,12 @@ name = "reth-ethereum-forks" version = "1.0.0-rc.2" dependencies = [ "alloy-chains", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "arbitrary", "crc", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "serde", "thiserror-no-std", ] @@ -8323,7 +7564,7 @@ dependencies = [ "reth-provider", "reth-revm", "reth-transaction-pool", - "revm-fluent", + "revm", "tracing", ] @@ -8331,7 +7572,7 @@ dependencies = [ name = "reth-etl" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "rayon", "reth-db-api", "tempfile", @@ -8350,7 +7591,7 @@ dependencies = [ "reth-primitives", "reth-prune-types", "reth-storage-errors", - "revm-fluent", + "revm", "revm-primitives", ] @@ -8369,7 +7610,7 @@ dependencies = [ "reth-revm", "reth-testing-utils", "revm-primitives", - "secp256k1 0.29.0", + "secp256k1", "serde_json", ] @@ -8386,7 +7627,7 @@ dependencies = [ "reth-provider", "reth-prune-types", "reth-revm", - "revm-fluent", + "revm", "revm-primitives", "thiserror", "tracing", @@ -8397,7 +7638,7 @@ name = "reth-execution-errors" version = "1.0.0-rc.2" dependencies = [ "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "reth-consensus", "reth-prune-types", "reth-storage-errors", @@ -8410,12 +7651,12 @@ name = "reth-execution-types" version = "1.0.0-rc.2" dependencies = [ "alloy-eips", - "alloy-primitives", + "alloy-primitives 0.7.7", "reth-chainspec", "reth-execution-errors", "reth-primitives", "reth-trie", - "revm-fluent", + "revm", ] [[package]] @@ -8472,7 +7713,7 @@ dependencies = [ name = "reth-exex-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", ] [[package]] @@ -8513,8 +7754,8 @@ dependencies = [ "byteorder", "criterion", "dashmap", - "derive_more", - "indexmap 2.4.0", + "derive_more 0.99.18", + "indexmap 2.6.0", "parking_lot 0.12.3", "pprof", "rand 0.8.5", @@ -8529,7 +7770,7 @@ dependencies = [ name = "reth-mdbx-sys" version = "1.0.0-rc.2" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.69.5", "cc", ] @@ -8554,7 +7795,7 @@ dependencies = [ "quote", "regex", "serial_test", - "syn 2.0.75", + "syn 2.0.79", "trybuild", ] @@ -8562,7 +7803,7 @@ dependencies = [ name = "reth-net-common" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "tokio", ] @@ -8588,7 +7829,7 @@ dependencies = [ "aquamarine", "auto_impl", "criterion", - "derive_more", + "derive_more 0.99.18", "discv5", "enr", "fnv", @@ -8621,7 +7862,7 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "schnellru", - "secp256k1 0.29.0", + "secp256k1", "serde", "serde_json", "serial_test", @@ -8638,7 +7879,7 @@ dependencies = [ name = "reth-network-api" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "enr", "reth-eth-wire", "reth-network-peers", @@ -8670,11 +7911,11 @@ dependencies = [ name = "reth-network-peers" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "enr", "rand 0.8.5", - "secp256k1 0.29.0", + "secp256k1", "serde_json", "serde_with", "thiserror", @@ -8689,7 +7930,7 @@ dependencies = [ "anyhow", "bincode", "cuckoofilter", - "derive_more", + "derive_more 0.99.18", "lz4_flex", "memmap2 0.7.1", "ph", @@ -8762,7 +8003,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "reth-transaction-pool", - "secp256k1 0.29.0", + "secp256k1", "tempfile", "tokio", "tokio-stream", @@ -8775,7 +8016,7 @@ dependencies = [ "alloy-rpc-types-engine", "clap", "const-str", - "derive_more", + "derive_more 0.99.18", "dirs-next", "eyre", "futures", @@ -8819,7 +8060,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "reth-transaction-pool", - "secp256k1 0.29.0", + "secp256k1", "serde", "serde_json", "shellexpand", @@ -8837,7 +8078,7 @@ name = "reth-node-ethereum" version = "1.0.0-rc.2" dependencies = [ "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "eyre", "futures", "futures-util", @@ -8890,7 +8131,7 @@ dependencies = [ name = "reth-node-optimism" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "async-trait", "clap", "eyre", @@ -8956,7 +8197,7 @@ dependencies = [ "reth-rpc-types", "reth-rpc-types-compat", "reth-transaction-pool", - "revm-fluent", + "revm", "sha2 0.10.8", "thiserror", "tracing", @@ -8980,7 +8221,7 @@ dependencies = [ "reth-provider", "reth-rpc-types", "reth-transaction-pool", - "revm-fluent", + "revm", "serde_json", "thiserror", "tokio", @@ -9019,7 +8260,7 @@ dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-rpc-types", "alloy-trie", @@ -9029,20 +8270,13 @@ dependencies = [ "bytes", "c-kzg", "criterion", - "derive_more", - "fluentbase-core", - "fuel-core", - "fuel-core-executor", - "fuel-core-storage", - "fuel-core-types", - "fuel-tx", - "fuel-vm", + "derive_more 0.99.18", "modular-bitfield", "nybbles", "once_cell", "pprof", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "rayon", "reth-chainspec", @@ -9051,10 +8285,10 @@ dependencies = [ "reth-primitives-traits", "reth-static-file-types", "reth-trie-common", - "revm-fluent", + "revm", "revm-primitives", "roaring", - "secp256k1 0.29.0", + "secp256k1", "serde", "serde_json", "sucds", @@ -9073,17 +8307,16 @@ dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-rpc-types-eth", "arbitrary", "bytes", - "derive_more", - "fluentbase-genesis", + "derive_more 0.99.18", "fluentbase-poseidon", "modular-bitfield", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "reth-codecs", "revm-primitives", @@ -9125,8 +8358,8 @@ dependencies = [ "reth-storage-errors", "reth-testing-utils", "reth-trie", - "revm-fluent", - "strum 0.26.3", + "revm", + "strum", "tempfile", "tokio", "tokio-stream", @@ -9137,7 +8370,7 @@ dependencies = [ name = "reth-prune" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "assert_matches", "itertools 0.12.1", "metrics 0.22.3", @@ -9165,14 +8398,14 @@ dependencies = [ name = "reth-prune-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "assert_matches", "bytes", - "derive_more", + "derive_more 0.99.18", "modular-bitfield", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "reth-codecs", "serde", "serde_json", @@ -9196,7 +8429,7 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie", - "revm-fluent", + "revm", "tracing", ] @@ -9205,17 +8438,17 @@ name = "reth-rpc" version = "1.0.0-rc.2" dependencies = [ "alloy-dyn-abi", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-sol-types", "assert_matches", "async-trait", - "derive_more", + "derive_more 0.99.18", "dyn-clone", "futures", "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", + "http-body", + "hyper", "jsonrpsee", "jsonwebtoken", "metrics 0.22.3", @@ -9242,11 +8475,11 @@ dependencies = [ "reth-tasks", "reth-testing-utils", "reth-transaction-pool", - "revm-fluent", + "revm", "revm-inspectors", "revm-primitives", "schnellru", - "secp256k1 0.29.0", + "secp256k1", "serde", "serde_json", "tempfile", @@ -9324,7 +8557,7 @@ dependencies = [ "thiserror", "tokio", "tower", - "tower-http 0.5.2", + "tower-http", "tracing", ] @@ -9382,16 +8615,16 @@ dependencies = [ name = "reth-rpc-server-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "serde", - "strum 0.26.3", + "strum", ] [[package]] name = "reth-rpc-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", @@ -9404,7 +8637,7 @@ dependencies = [ "bytes", "jsonrpsee-types", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "serde", "serde_json", @@ -9471,7 +8704,7 @@ dependencies = [ name = "reth-stages-api" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "aquamarine", "assert_matches", "auto_impl", @@ -9500,12 +8733,12 @@ dependencies = [ name = "reth-stages-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "arbitrary", "bytes", "modular-bitfield", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "rand 0.8.5", "reth-codecs", "reth-trie-common", @@ -9517,7 +8750,7 @@ dependencies = [ name = "reth-static-file" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "assert_matches", "parking_lot 0.12.3", "rayon", @@ -9539,11 +8772,11 @@ dependencies = [ name = "reth-static-file-types" version = "1.0.0-rc.2" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "clap", - "derive_more", + "derive_more 0.99.18", "serde", - "strum 0.26.3", + "strum", ] [[package]] @@ -9559,7 +8792,7 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie", - "revm-fluent", + "revm", ] [[package]] @@ -9594,7 +8827,7 @@ dependencies = [ "alloy-genesis", "rand 0.8.5", "reth-primitives", - "secp256k1 0.29.0", + "secp256k1", ] [[package]] @@ -9665,7 +8898,7 @@ dependencies = [ "alloy-rlp", "auto_impl", "criterion", - "derive_more", + "derive_more 0.99.18", "metrics 0.22.3", "once_cell", "proptest", @@ -9680,7 +8913,7 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "revm-fluent", + "revm", "serde_json", "similar-asserts", "tokio", @@ -9695,19 +8928,19 @@ version = "1.0.0-rc.2" dependencies = [ "alloy-consensus", "alloy-genesis", - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rlp", "alloy-trie", "arbitrary", "assert_matches", "bytes", - "derive_more", + "derive_more 0.99.18", "hash-db", "itertools 0.12.1", "nybbles", "plain_hasher", "proptest", - "proptest-derive", + "proptest-derive 0.4.0", "reth-codecs", "reth-primitives-traits", "revm-primitives", @@ -9723,7 +8956,7 @@ version = "1.0.0-rc.2" dependencies = [ "alloy-rlp", "criterion", - "derive_more", + "derive_more 0.99.18", "itertools 0.12.1", "metrics 0.22.3", "proptest", @@ -9743,22 +8976,18 @@ dependencies = [ ] [[package]] -name = "revm-fluent" +name = "revm" version = "9.0.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "auto_impl", "cfg-if", "dyn-clone", "fluentbase-core", - "fluentbase-genesis", "fluentbase-runtime", "fluentbase-sdk", - "fluentbase-types", - "lazy_static", "revm-interpreter", "revm-precompile", - "rwasm", "serde", "serde_json", ] @@ -9766,16 +8995,16 @@ dependencies = [ [[package]] name = "revm-inspectors" version = "0.1.0" -source = "git+https://github.com/fluentlabs-xyz/revm-inspectors.git?branch=devel#9ef3cf5aeccb8ca371ca11385322a7dd5c72cd77" +source = "git+https://github.com/fluentlabs-xyz/revm-inspectors.git?branch=devel#d38b042475301ff5b655ad8dfc6caf90d8fb2bcb" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "alloy-rpc-types", "alloy-sol-types", "anstyle", "boa_engine", "boa_gc", "colorchoice", - "revm-fluent", + "revm", "serde_json", "thiserror", ] @@ -9783,7 +9012,7 @@ dependencies = [ [[package]] name = "revm-interpreter" version = "5.0.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "revm-primitives", "serde", @@ -9792,7 +9021,7 @@ dependencies = [ [[package]] name = "revm-precompile" version = "7.0.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ "aurora-engine-modexp", "blst", @@ -9802,7 +9031,7 @@ dependencies = [ "p256", "revm-primitives", "ripemd", - "secp256k1 0.29.0", + "secp256k1", "sha2 0.10.8", "substrate-bn", ] @@ -9810,15 +9039,15 @@ dependencies = [ [[package]] name = "revm-primitives" version = "4.0.0" -source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#9804e18f91a7c852fab3d7da90e593559f145884" +source = "git+https://github.com/fluentlabs-xyz/fluentbase?branch=devel#947cf41fa59f3567f242945b15b7d4d655f1258b" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.7.7", "auto_impl", "bitflags 2.6.0", "bitvec", "c-kzg", "cfg-if", - "derive_more", + "derive_more 0.99.18", "dyn-clone", "enumn", "hashbrown 0.14.5", @@ -9839,9 +9068,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.48" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f86ae463694029097b846d8f99fd5536740602ae00022c0c50c5600720b2f71" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] @@ -9878,9 +9107,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", ] @@ -9905,16 +9134,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "rocksdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" -dependencies = [ - "libc", - "librocksdb-sys", -] - [[package]] name = "rolling-file" version = "0.2.0" @@ -10025,18 +9244,18 @@ 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", ] [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -10047,9 +9266,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" dependencies = [ "log", "once_cell", @@ -10062,9 +9281,22 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.2" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" +checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -10075,25 +9307,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" [[package]] name = "rustls-platform-verifier" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bda3f493b9abe5b93b3e7e3ecde0df292f2bd28c0296b90586ee0055ff5123" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ "core-foundation", "core-foundation-sys", @@ -10101,7 +9332,7 @@ dependencies = [ "log", "once_cell", "rustls", - "rustls-native-certs", + "rustls-native-certs 0.7.3", "rustls-platform-verifier-android", "rustls-webpki", "security-framework", @@ -10118,9 +9349,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -10159,7 +9390,7 @@ dependencies = [ [[package]] name = "rwasm" version = "0.30.0" -source = "git+https://github.com/fluentlabs-xyz/rwasm?branch=devel#a6bf66574d29462f934c12b449622c639eb10e8b" +source = "git+https://github.com/fluentlabs-xyz/rwasm?branch=devel#4196dee18c5f1ed4b9e3e1e7bd210ad016aeeb0b" dependencies = [ "byteorder", "downcast-rs", @@ -10169,8 +9400,8 @@ dependencies = [ "paste", "smallvec", "spin", - "strum 0.26.3", - "strum_macros 0.26.4", + "strum", + "strum_macros", "wasmparser-nostd", ] @@ -10197,20 +9428,20 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.16" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb7ac86243095b70a7920639507b71d51a63390d1ba26c4f60a552fbb914a37" +checksum = "836f1e0f4963ef5288b539b643b35e043e76a32d0f4e47e67febf69576527f50" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -10232,9 +9463,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0495e4577c672de8254beb68d01a9b62d0e8a13c099edecdbedccce3223cd29f" +checksum = "60a7b59a5d9b0099720b417b6325d91a52cbf5b3dcb5041d864be53eefa58abc" [[package]] name = "sec1" @@ -10252,52 +9483,24 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4124a35fe33ae14259c490fd70fa199a32b9ce9502f2ee6bc4f81ec06fa65894" -dependencies = [ - "rand 0.8.5", - "secp256k1-sys 0.8.1", -] - -[[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 0.10.0", + "secp256k1-sys", "serde", ] [[package]] name = "secp256k1-sys" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" -dependencies = [ - "cc", -] - -[[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 = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "zeroize", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -10314,9 +9517,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -10363,9 +9566,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -10381,22 +9584,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.208" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] name = "serde_json" -version = "1.0.125" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -10416,9 +9619,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -10437,15 +9640,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.4.0", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -10455,14 +9658,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -10487,7 +9690,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -10548,9 +9751,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d79b758b7cb2085612b11a235055e485605a5103faccdd633f35bd7aee69dd" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -10632,9 +9835,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", @@ -10730,9 +9933,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spinning" @@ -10766,7 +9966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -10798,12 +9998,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "static_assertions_next" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766" - [[package]] name = "str_stack" version = "0.1.0" @@ -10825,35 +10019,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros 0.24.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", + "strum_macros", ] [[package]] @@ -10862,11 +10034,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.75", + "syn 2.0.79", ] [[package]] @@ -10900,21 +10072,21 @@ dependencies = [ [[package]] name = "symbolic-common" -version = "12.10.0" +version = "12.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16629323a4ec5268ad23a575110a724ad4544aae623451de600c747bf87b36cf" +checksum = "366f1b4c6baf6cfefc234bbd4899535fca0b06c74443039a73f6dfb2fad88d77" dependencies = [ "debugid", - "memmap2 0.9.4", + "memmap2 0.9.5", "stable_deref_trait", "uuid", ] [[package]] name = "symbolic-demangle" -version = "12.10.0" +version = "12.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c043a45f08f41187414592b3ceb53fb0687da57209cc77401767fb69d5b596" +checksum = "aba05ba5b9962ea5617baf556293720a8b2d0a282aa14ee4bf10e22efc7da8c8" dependencies = [ "cpp_demangle", "rustc-demangle", @@ -10934,9 +10106,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.75" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -10952,20 +10124,17 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - [[package]] name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -10975,7 +10144,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -10992,15 +10161,6 @@ dependencies = [ "windows 0.52.0", ] -[[package]] -name = "tai64" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7401421025f4132e6c1f7af5e7f8287383969f36e6628016cd509b8d3da9dc" -dependencies = [ - "serde", -] - [[package]] name = "tap" version = "1.0.1" @@ -11009,12 +10169,12 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", - "fastrand 2.1.0", + "fastrand 2.1.1", "once_cell", "rustix", "windows-sys 0.59.0", @@ -11070,7 +10230,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -11094,22 +10254,22 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -11268,9 +10428,9 @@ checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" [[package]] name = "tokio" -version = "1.39.3" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", @@ -11292,17 +10452,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", -] - -[[package]] -name = "tokio-rayon" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cf33a76e0b1dd03b778f83244137bd59887abf25c0e87bc3e7071105f457693" -dependencies = [ - "rayon", - "tokio", + "syn 2.0.79", ] [[package]] @@ -11318,9 +10468,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -11346,9 +10496,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -11368,7 +10518,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -11382,26 +10532,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -11425,27 +10564,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tower-http" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" -dependencies = [ - "bitflags 1.3.2", - "bytes", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "http-range-header 0.3.1", - "pin-project-lite", - "tokio", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower-http" version = "0.5.2" @@ -11459,9 +10577,9 @@ dependencies = [ "futures-core", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "http-body-util", - "http-range-header 0.4.1", + "http-range-header", "httpdate", "iri-string", "mime", @@ -11521,7 +10639,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -11540,8 +10658,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "futures", - "futures-task", "pin-project", "tracing", ] @@ -11725,9 +10841,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" @@ -11759,30 +10875,30 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[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" @@ -11797,9 +10913,15 @@ dependencies = [ [[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-xid" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -11960,9 +11082,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -11971,24 +11093,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -11998,9 +11120,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12008,28 +11130,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" dependencies = [ "futures-util", "js-sys", @@ -12049,9 +11171,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -12069,9 +11191,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ "rustls-pki-types", ] @@ -12125,7 +11247,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -12146,11 +11268,11 @@ dependencies = [ [[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-core 0.58.0", "windows-targets 0.52.6", ] @@ -12165,47 +11287,69 @@ dependencies = [ [[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-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.75", + "syn 2.0.79", ] [[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.75", + "syn 2.0.79", +] + +[[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 = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +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", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -12356,18 +11500,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.40" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -12382,16 +11517,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" @@ -12415,7 +11540,7 @@ dependencies = [ "js-sys", "log", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "send_wrapper 0.6.0", "thiserror", "wasm-bindgen", @@ -12461,7 +11586,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "synstructure", ] @@ -12483,7 +11608,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -12503,7 +11628,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", "synstructure", ] @@ -12524,7 +11649,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] @@ -12546,7 +11671,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.75", + "syn 2.0.79", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 198110d43..1a43d8964 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -348,19 +348,16 @@ reth-trie-parallel = { path = "crates/trie/parallel" } # "std", #], default-features = false } #revm-inspectors = { git = "https://github.com/paradigmxyz/revm-inspectors", rev = "4fe17f0" } - -revm = { package = "revm-fluent", git = "https://github.com/fluentlabs-xyz/fluentbase", branch = "devel", features = [ +revm = { git = "https://github.com/fluentlabs-xyz/fluentbase", branch = "devel", features = [ "std", "secp256k1", "blst", "rwasm", - # "debug_print", + # "debug_print", ], default-features = false } -revm-primitives = { git = "https://github.com/fluentlabs-xyz/fluentbase", branch = "devel", features = ["rwasm"] } -revm-inspectors = { git = "https://github.com/fluentlabs-xyz/revm-inspectors.git", branch = "devel", features = [ - "rwasm", -] } -#revm = { package = "revm-fluent", path = "../fluentbase/revm/crates/revm_fluent", features = [ +revm-primitives = { git = "https://github.com/fluentlabs-xyz/fluentbase", branch = "devel" } +revm-inspectors = { git = "https://github.com/fluentlabs-xyz/revm-inspectors.git", branch = "devel" } +#revm = { path = "../fluentbase/revm/crates/revm", features = [ # "std", # "secp256k1", # "blst", @@ -381,19 +378,6 @@ fluentbase-genesis = { git = "https://github.com/fluentlabs-xyz/fluentbase", bra #fluentbase-sdk = { path = "../fluentbase/crates/sdk", default-features = false } #fluentbase-genesis = { path = "../fluentbase/crates/genesis", default-features = false } -fuel-tx = { git = "https://github.com/fluentlabs-xyz/fuel-vm", branch = "develop", default-features = false, features = ["alloc"] } -fuel-vm = { git = "https://github.com/fluentlabs-xyz/fuel-vm", branch = "develop", default-features = false, features = ["alloc"] } -fuel-core = { git = "https://github.com/fluentlabs-xyz/fuel-core", branch = "devel" } -fuel-core-types = { git = "https://github.com/fluentlabs-xyz/fuel-core", branch = "devel", default-features = false, features = ["serde", "alloc"] } -fuel-core-executor = { git = "https://github.com/fluentlabs-xyz/fuel-core", branch = "devel", default-features = false, features = ["alloc"] } -fuel-core-storage = { git = "https://github.com/fluentlabs-xyz/fuel-core", branch = "devel", default-features = false, features = ["alloc"] } -#fuel-tx = { path = "../../fluentlabs-xyz/fuel-vm/fuel-tx", default-features = false, features = ["alloc"] } -#fuel-vm = { path = "../../fluentlabs-xyz/fuel-vm/fuel-vm", default-features = false, features = ["alloc"] } -#fuel-core = { path = "../fuel-core/crates/fuel-core" } -#fuel-core-types = { path = "../fuel-core/crates/types", default-features = false, features = ["serde", "alloc"] } -#fuel-core-executor = { path = "../fuel-core/crates/services/executor", default-features = false, features = ["alloc"] } -#fuel-core-storage = { path = "../fuel-core/crates/storage", default-features = false, features = ["alloc"] } - # eth alloy-chains = "0.1.15" alloy-primitives = "0.7.2" diff --git a/crates/primitives-traits/Cargo.toml b/crates/primitives-traits/Cargo.toml index 87c1d94a8..00c97e220 100644 --- a/crates/primitives-traits/Cargo.toml +++ b/crates/primitives-traits/Cargo.toml @@ -14,7 +14,6 @@ workspace = true [dependencies] # fluentbase fluentbase-poseidon.workspace = true -fluentbase-genesis.workspace = true reth-codecs.workspace = true @@ -54,4 +53,5 @@ arbitrary = [ "dep:proptest", "dep:proptest-derive" ] -alloy-compat = ["alloy-rpc-types-eth"] \ No newline at end of file +alloy-compat = ["alloy-rpc-types-eth"] +rwasm = [] \ No newline at end of file diff --git a/crates/primitives-traits/src/account.rs b/crates/primitives-traits/src/account.rs index 1e1e060bc..738225a6c 100644 --- a/crates/primitives-traits/src/account.rs +++ b/crates/primitives-traits/src/account.rs @@ -2,8 +2,6 @@ use alloy_consensus::constants::KECCAK_EMPTY; use alloy_genesis::GenesisAccount; use alloy_primitives::{keccak256, B256, U256}; use reth_codecs::{main_codec, Compact}; -use std::ops::Deref; -use fluentbase_genesis::devnet::{GENESIS_POSEIDON_HASH_SLOT, GENESIS_KECCAK_HASH_SLOT}; use fluentbase_poseidon::poseidon_hash; /// An Ethereum account. @@ -16,8 +14,6 @@ pub struct Account { pub balance: U256, /// Hash of the account's bytecode. pub bytecode_hash: Option, - /// Hash of the rWASM bytecode - pub rwasm_hash: Option, } impl Account { @@ -26,7 +22,7 @@ impl Account { self.bytecode_hash.is_some() } - /// After `SpuriousDragon` empty account is defined as account with nonce == 0 && balance == 0 + /// After `SpuriousDragon` empty account is defined as an account with nonce == 0 && balance == 0 /// && bytecode = None (or hash is [`KECCAK_EMPTY`]). pub fn is_empty(&self) -> bool { self.nonce == 0 && @@ -36,26 +32,15 @@ impl Account { /// Makes an [Account] from [`GenesisAccount`] type pub fn from_genesis_account(value: &GenesisAccount) -> Self { - // let bytecode_hash = value.storage - // .as_ref() - // .and_then(|s| s.get(&GENESIS_KECCAK_HASH_SLOT)) - // .cloned() - // .or_else(|| { - // value.code.as_ref().map(|bytes| keccak256(bytes.as_ref())) - // }); - let rwasm_hash = value.storage - .as_ref() - .and_then(|s| s.get(&GENESIS_KECCAK_HASH_SLOT)) - .cloned() - .or_else(|| { - value.code.as_ref().map(|bytes| B256::from(poseidon_hash(bytes.as_ref()))) - }); Self { // nonce must exist, so we default to zero when converting a genesis account nonce: value.nonce.unwrap_or_default(), balance: value.balance, - bytecode_hash: value.code.as_ref().map(keccak256), - rwasm_hash, + bytecode_hash: value.code.as_ref().map(|v| if cfg!(feature = "rwasm") { + B256::from(poseidon_hash(v)) + } else { + keccak256(v) + }), } } diff --git a/crates/primitives/Cargo.toml b/crates/primitives/Cargo.toml index 455994bdf..bafcf554f 100644 --- a/crates/primitives/Cargo.toml +++ b/crates/primitives/Cargo.toml @@ -22,17 +22,6 @@ reth-chainspec.workspace = true revm.workspace = true revm-primitives = { workspace = true, features = ["serde"] } -# fluentbase -fluentbase-core.workspace = true - -# fuel -fuel-vm = { workspace = true, default-features = false, features = ["alloc"] } -fuel-tx = { workspace = true, default-features = false, features = ["alloc"] } -fuel-core = { workspace = true } -fuel-core-types = { workspace = true, default-features = false, features = ["serde", "alloc"] } -fuel-core-executor = { workspace = true, default-features = false, features = ["alloc"] } -fuel-core-storage = { workspace = true, default-features = false, features = ["alloc"] } - # ethereum alloy-consensus = { workspace = true, features = ["serde"] } alloy-primitives = { workspace = true, features = ["rand", "rlp"] } @@ -77,9 +66,6 @@ alloy-trie = { workspace = true, features = ["arbitrary"] } alloy-eips = { workspace = true, features = ["arbitrary"] } alloy-consensus = { workspace = true, features = ["arbitrary"] } -# fuel-vm -fuel-vm = { workspace = true, default-features = false, features = ["test-helpers"] } - assert_matches.workspace = true arbitrary = { workspace = true, features = ["derive"] } proptest.workspace = true @@ -137,6 +123,7 @@ alloy-compat = [ ] std = ["thiserror-no-std/std"] test-utils = ["reth-primitives-traits/test-utils"] +rwasm = [] [[bench]] name = "recover_ecdsa_crit" diff --git a/crates/primitives/src/alloy_compat.rs b/crates/primitives/src/alloy_compat.rs index 6ec3592ab..e373d28b5 100644 --- a/crates/primitives/src/alloy_compat.rs +++ b/crates/primitives/src/alloy_compat.rs @@ -5,11 +5,10 @@ use alloc::vec::Vec; use alloy_primitives::TxKind; use alloy_rlp::Error as RlpError; -use revm_primitives::{hex, Bytes}; use crate::{ constants::EMPTY_TRANSACTIONS, - transaction::{extract_chain_id, ExecutionEnvironment}, + transaction::{extract_chain_id}, Block, Signature, Transaction, TransactionSigned, TransactionSignedEcRecovered, TxEip1559, TxEip2930, TxEip4844, TxLegacy, TxType, }; @@ -210,38 +209,6 @@ impl TryFrom for Transaction { is_system_transaction: tx.from == crate::constants::OP_SYSTEM_TX_FROM_ADDR, input: tx.input, })), - Some(TxType::FluentV1) => { - let execution_environment_type = tx - .other - .get_deserialized::("executionEnvironment") - .ok_or_else(|| { - ConversionError::Custom("MissingExecutionEnvironment".to_string()) - })? - .map_err(|_| { - ConversionError::Custom("InvalidExecutionEnvironment".to_string()) - })?; - let raw_data = tx - .other - .get_deserialized::("rawData") - .ok_or_else(|| ConversionError::Custom("MissingRawData".to_string()))? - .map_err(|_| ConversionError::Custom("InvalidRawData".to_string()))?; - - let raw_data = raw_data.trim_start_matches("0x"); - let raw_data = hex::decode(raw_data) - .map_err(|_| ConversionError::Custom("InvalidRawData".to_string()))?; - let raw_data = Bytes::from(raw_data); - - let execution_environment = ExecutionEnvironment::from_str_with_data( - &execution_environment_type, - raw_data.clone().into(), - ) - .map_err(|_| ConversionError::Custom("InvalidExecutionEnvironment".to_string()))?; - - Ok(Self::FluentV1(crate::transaction::TxFluentV1 { - execution_environment, - data: raw_data.into(), - })) - } } } } diff --git a/crates/primitives/src/lib.rs b/crates/primitives/src/lib.rs index 4041c4d57..ba394d1b0 100644 --- a/crates/primitives/src/lib.rs +++ b/crates/primitives/src/lib.rs @@ -83,8 +83,8 @@ pub use transaction::{ AccessList, AccessListItem, IntoRecoveredTransaction, InvalidTransactionError, Signature, Transaction, TransactionMeta, TransactionSigned, TransactionSignedEcRecovered, TransactionSignedNoHash, TryFromRecoveredTransaction, TxEip1559, TxEip2930, TxEip4844, - TxFluentV1, TxHashOrNumber, TxLegacy, TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, - EIP4844_TX_TYPE_ID, FLUENT_TX_V1_TYPE_ID, LEGACY_TX_TYPE_ID, + TxHashOrNumber, TxLegacy, TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, + EIP4844_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; pub use withdrawal::{Withdrawal, Withdrawals}; diff --git a/crates/primitives/src/receipt.rs b/crates/primitives/src/receipt.rs index b7a74d477..32d2a4cd8 100644 --- a/crates/primitives/src/receipt.rs +++ b/crates/primitives/src/receipt.rs @@ -377,11 +377,6 @@ impl Decodable for ReceiptWithBloom { buf.advance(1); Self::decode_receipt(buf, TxType::Deposit) } - 0x34 => { - // 0x34 == 52 - buf.advance(1); - Self::decode_receipt(buf, TxType::FluentV1) - } _ => Err(alloy_rlp::Error::Custom("invalid receipt type")), } } @@ -513,9 +508,6 @@ impl<'a> ReceiptWithBloomEncoder<'a> { TxType::Deposit => { out.put_u8(0x7E); } - TxType::FluentV1 => { - out.put_u8(0x52); - } } out.put_slice(payload.as_ref()); } diff --git a/crates/primitives/src/revm/compat.rs b/crates/primitives/src/revm/compat.rs index e51bd2431..a51798e3e 100644 --- a/crates/primitives/src/revm/compat.rs +++ b/crates/primitives/src/revm/compat.rs @@ -1,6 +1,5 @@ -use crate::{revm_primitives::AccountInfo, Account, Address, TxKind, KECCAK_EMPTY, U256}; +use crate::{revm_primitives::{AccountInfo, POSEIDON_EMPTY}, Account, Address, TxKind, KECCAK_EMPTY, U256}; use revm::{interpreter::gas::validate_initial_tx_gas, primitives::SpecId}; -use revm_primitives::POSEIDON_EMPTY; #[cfg(not(feature = "std"))] use alloc::vec::Vec; @@ -9,13 +8,10 @@ use alloc::vec::Vec; /// /// Sets `bytecode_hash` to `None` if `code_hash` is [`KECCAK_EMPTY`]. pub fn into_reth_acc(revm_acc: AccountInfo) -> Account { - let code_hash = revm_acc.code_hash; - let rwasm_code_hash = revm_acc.rwasm_code_hash; Account { balance: revm_acc.balance, nonce: revm_acc.nonce, - bytecode_hash: (code_hash != KECCAK_EMPTY).then_some(code_hash), - rwasm_hash: (revm_acc.rwasm_code_hash != POSEIDON_EMPTY).then_some(rwasm_code_hash), + bytecode_hash: (!revm_acc.is_empty_code_hash()).then_some(revm_acc.code_hash), } } @@ -26,10 +22,12 @@ pub fn into_revm_acc(reth_acc: Account) -> AccountInfo { AccountInfo { balance: reth_acc.balance, nonce: reth_acc.nonce, - code_hash: reth_acc.bytecode_hash.unwrap_or(KECCAK_EMPTY), - rwasm_code_hash: reth_acc.rwasm_hash.unwrap_or(POSEIDON_EMPTY), + code_hash: reth_acc.bytecode_hash.unwrap_or(if cfg!(feature = "rwasm") { + POSEIDON_EMPTY + } else { + KECCAK_EMPTY + }), code: None, - rwasm_code: None, } } diff --git a/crates/primitives/src/revm/env.rs b/crates/primitives/src/revm/env.rs index 979796546..45f20eb2c 100644 --- a/crates/primitives/src/revm/env.rs +++ b/crates/primitives/src/revm/env.rs @@ -12,7 +12,6 @@ use revm_primitives::OptimismFields; #[cfg(not(feature = "std"))] use alloc::vec::Vec; -use revm_primitives::ExecutionEnvironment; /// Fill block environment from Block. pub fn fill_block_env( @@ -341,19 +340,6 @@ where tx_env.chain_id = None; tx_env.nonce = None; } - Transaction::FluentV1(tx) => { - // TODO: d1r1 we need to use the ExecutionEnvironment from the transaction - let exec_env_u8: u8 = tx.execution_environment.clone().into(); - let exec_env = ExecutionEnvironment::try_from(exec_env_u8).unwrap(); - - tx_env.gas_limit = tx.gas_limit(); - tx_env.gas_price = U256::from(tx.gas_price()); - tx_env.gas_priority_fee = Some(U256::from(tx.max_priority_fee_per_gas().unwrap())); - tx_env.transact_to = TransactTo::Blended(exec_env, tx.data.clone()); - tx_env.value = *tx.value(); - tx_env.chain_id = tx.chain_id(); - tx_env.nonce = Some(tx.nonce()); - } } } diff --git a/crates/primitives/src/transaction/fluent/fluent_v1.rs b/crates/primitives/src/transaction/fluent/fluent_v1.rs deleted file mode 100644 index 16691e615..000000000 --- a/crates/primitives/src/transaction/fluent/fluent_v1.rs +++ /dev/null @@ -1,493 +0,0 @@ -use core::{fmt::Debug, mem}; -use std::io::BufRead; - -use alloy_eips::eip2930::AccessList; -use alloy_primitives::Address; -use alloy_rlp::{length_of_length, Decodable, Encodable, Error as RlpError, Header}; -use bytes::{Buf, BufMut}; -use fuel_core_types::fuel_types::canonical::Deserialize; -use fuel_tx::{ - field::{Inputs, Witnesses}, - Chargeable, UniqueIdentifier, -}; -use proptest::prelude::*; - -use crate::{ - hex, - transaction::fluent::{fuel::FuelEnvironment, svm::SolanaEnvironment}, - Bytes, ChainId, Signature, TxKind, TxType, B256, U256, -}; -use reth_codecs::{main_codec, Compact}; - -/// Trait that must be implemented by each execution environment -trait IExecutionEnvironment { - fn chain_id(&self) -> Option; - fn tx_kind(&self) -> TxKind; - fn value(&self) -> U256; - fn set_value(&mut self, value: U256); - fn nonce(&self) -> u64; - fn set_nonce(&mut self, nonce: u64); - fn gas_limit(&self) -> u64; - fn set_gas_limit(&mut self, gas_limit: u64); - fn max_fee_per_gas(&self) -> u128; - fn max_priority_fee_per_gas(&self) -> Option; - fn blob_versioned_hashes(&self) -> Option>; - fn priority_fee_or_price(&self) -> u128; - fn effective_gas_price(&self, base_fee: Option) -> u128; - fn input(&self) -> &Bytes; - fn set_input(&mut self, input: Bytes); -} - -#[derive(Debug, Clone, PartialEq, Eq, Compact, Hash, serde::Serialize, serde::Deserialize)] -#[repr(u8)] -pub enum ExecutionEnvironment { - Fuel(FuelEnvironment) = 0, - Solana(SolanaEnvironment) = 1, -} - -impl From for u8 { - fn from(env: ExecutionEnvironment) -> Self { - match env { - ExecutionEnvironment::Fuel(_) => 0, - ExecutionEnvironment::Solana(_) => 1, - } - } -} - -impl ExecutionEnvironment { - pub fn new(env_type: u8, data: Bytes) -> Result { - match env_type { - 0 => Ok(ExecutionEnvironment::Fuel(FuelEnvironment::new(data)?)), - 1 => Ok(ExecutionEnvironment::Solana(SolanaEnvironment::new())), - _ => Err(RlpError::Custom("Invalid execution environment type")), - } - } - - pub fn from_str_with_data(env_type: &str, data: Bytes) -> Result { - let s = hex::decode(env_type).map_err(|v| RlpError::Custom("Invalid env type string"))?; - ExecutionEnvironment::new(s[0], data) - } - - pub fn env_type(&self) -> u8 { - match self { - ExecutionEnvironment::Fuel(_) => 0, - ExecutionEnvironment::Solana(_) => 1, - } - } -} - -impl Default for ExecutionEnvironment { - fn default() -> Self { - ExecutionEnvironment::Fuel(FuelEnvironment::default()) - } -} - -impl ExecutionEnvironment { - pub fn set_chain_id(&mut self, chain_id: Option) { - match self { - ExecutionEnvironment::Fuel(env) => env.set_chain_id(chain_id), - ExecutionEnvironment::Solana(env) => env.set_chain_id(chain_id), - } - } - const fn chain_id(&self) -> Option { - match self { - ExecutionEnvironment::Fuel(env) => env.chain_id(), - ExecutionEnvironment::Solana(env) => env.chain_id(), - } - } - - const fn tx_kind(&self) -> TxKind { - match self { - ExecutionEnvironment::Fuel(env) => env.tx_kind(), - ExecutionEnvironment::Solana(env) => env.tx_kind(), - } - } - - const fn value(&self) -> &U256 { - match self { - ExecutionEnvironment::Fuel(env) => env.value(), - ExecutionEnvironment::Solana(env) => env.value(), - } - } - - fn set_value(&mut self, value: U256) { - match self { - ExecutionEnvironment::Fuel(env) => env.set_value(value), - ExecutionEnvironment::Solana(env) => env.set_value(value), - } - } - - pub const fn access_list(&self) -> Option<&AccessList> { - match self { - ExecutionEnvironment::Fuel(env) => env.access_list(), - ExecutionEnvironment::Solana(env) => env.access_list(), - } - } - - pub const fn is_dynamic_fee(&self) -> bool { - match self { - ExecutionEnvironment::Fuel(env) => env.is_dynamic_fee(), - ExecutionEnvironment::Solana(env) => env.is_dynamic_fee(), - } - } - - const fn nonce(&self) -> u64 { - match self { - ExecutionEnvironment::Fuel(env) => env.nonce(), - ExecutionEnvironment::Solana(env) => env.nonce(), - } - } - - fn set_nonce(&mut self, nonce: u64) { - match self { - ExecutionEnvironment::Fuel(env) => env.set_nonce(nonce), - ExecutionEnvironment::Solana(env) => env.set_nonce(nonce), - } - } - - const fn gas_limit(&self) -> u64 { - match self { - ExecutionEnvironment::Fuel(env) => env.gas_limit(), - ExecutionEnvironment::Solana(env) => env.gas_limit(), - } - } - - fn set_gas_limit(&mut self, gas_limit: u64) { - match self { - ExecutionEnvironment::Fuel(env) => env.set_gas_limit(gas_limit), - ExecutionEnvironment::Solana(env) => env.set_gas_limit(gas_limit), - } - } - - const fn max_fee_per_gas(&self) -> u128 { - match self { - ExecutionEnvironment::Fuel(env) => env.max_fee_per_gas(), - ExecutionEnvironment::Solana(env) => env.max_fee_per_gas(), - } - } - - const fn max_priority_fee_per_gas(&self) -> Option { - match self { - ExecutionEnvironment::Fuel(env) => env.max_priority_fee_per_gas(), - ExecutionEnvironment::Solana(env) => env.max_priority_fee_per_gas(), - } - } - - fn blob_versioned_hashes(&self) -> Option> { - match self { - ExecutionEnvironment::Fuel(env) => env.blob_versioned_hashes(), - ExecutionEnvironment::Solana(env) => env.blob_versioned_hashes(), - } - } - - pub const fn priority_fee_or_price(&self) -> u128 { - match self { - ExecutionEnvironment::Fuel(env) => env.priority_fee_or_price(), - ExecutionEnvironment::Solana(env) => env.priority_fee_or_price(), - } - } - - pub const fn effective_gas_price(&self, base_fee: Option) -> u128 { - match self { - ExecutionEnvironment::Fuel(env) => env.effective_gas_price(base_fee), - ExecutionEnvironment::Solana(env) => env.effective_gas_price(base_fee), - } - } - - pub const fn input(&self) -> &Bytes { - match self { - ExecutionEnvironment::Fuel(env) => env.input(), - ExecutionEnvironment::Solana(env) => env.input(), - } - } - - fn set_input(&mut self, input: Bytes) { - match self { - ExecutionEnvironment::Fuel(env) => env.set_input(input), - ExecutionEnvironment::Solana(env) => env.set_input(input), - } - } -} - -#[cfg(any(test, feature = "arbitrary"))] -impl<'a> arbitrary::Arbitrary<'a> for ExecutionEnvironment { - fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { - let env_type = ::arbitrary(u)?; - match env_type { - ExecutionEnvironment::Fuel(_) => Ok(ExecutionEnvironment::Fuel( - ::arbitrary(u)?, - )), - ExecutionEnvironment::Solana(_) => Ok(ExecutionEnvironment::Solana( - ::arbitrary(u)?, - )), - } - } -} - -#[cfg(any(test, feature = "arbitrary"))] -impl Arbitrary for ExecutionEnvironment { - type Parameters = (); - type Strategy = BoxedStrategy; - - fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy { - prop_oneof![ - any::().prop_map(ExecutionEnvironment::Fuel), - any::().prop_map(ExecutionEnvironment::Solana) - ] - .boxed() - } - - fn arbitrary() -> Self::Strategy { - Self::arbitrary_with(()) - } -} - -#[main_codec] -#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)] -pub struct TxFluentV1 { - pub execution_environment: ExecutionEnvironment, - pub data: Bytes, -} - -impl TxFluentV1 { - pub fn new(execution_environment: ExecutionEnvironment, data: Bytes) -> TxFluentV1 { - Self { execution_environment, data } - } - - #[inline] - pub fn size(&self) -> usize { - mem::size_of::() + // execution_environment - mem::size_of::() + // data - self.data.len() - } - - pub(crate) fn fields_len(&self) -> usize { - let data_len = self.data.len(); - // 1 for env type - 1 + length_of_length(data_len) + self.data.len() - } - - pub(crate) fn payload_len(&self) -> usize { - let fields_len = self.fields_len(); - length_of_length(fields_len) + fields_len - } - - pub(crate) fn payload_len_for_signature(&self) -> usize { - let payload_length = self.fields_len(); - // 'transaction type byte length' + 'header length' + 'payload length' - 1 + length_of_length(payload_length) + payload_length - } - - pub(crate) fn payload_len_without_header(&self) -> usize { - let payload_length = self.fields_len(); - 1 + length_of_length(payload_length) + payload_length - } - - pub(crate) fn encode_with_signature( - &self, - _signature: &Signature, - out: &mut dyn BufMut, - with_header: bool, - ) { - let payload_length = self.fields_len()/* + signature.payload_len()*/; - - if with_header { - Header { - list: false, - payload_length: 1 + length_of_length(payload_length) + payload_length, - } - .encode(out); - } - - out.put_u8(self.tx_type() as u8); - - let header = Header { list: true, payload_length }; - header.encode(out); - - self.encode_fields(out); - // signature.encode(out); - } - - /// Encodes only the transaction's fields into the desired buffer, without a RLP header. - pub(crate) fn encode_fields(&self, out: &mut dyn BufMut) { - // Encode the execution environment as a single byte - out.put_u8(self.execution_environment.env_type()); - - // Encode the data - self.data.encode(out); - } - - /// Output the length of the RLP signed transaction encoding. This encodes with a RLP header. - pub(crate) fn payload_len_with_signature(&self, signature: &Signature) -> usize { - let len = self.payload_len_with_signature_without_header(signature); - length_of_length(len) + len - } - /// Output the length of the RLP signed transaction encoding, _without_ a RLP string header. - pub(crate) fn payload_len_with_signature_without_header( - &self, - _signature: &Signature, - ) -> usize { - let payload_length = self.fields_len() - /* + signature.payload_len()*/; - // 'transaction type byte length' + 'header length' + 'payload length' - 1 + length_of_length(payload_length) + payload_length - } - - pub(crate) const fn tx_type(&self) -> TxType { - TxType::FluentV1 - } - - pub(crate) fn signature_hash(&self) -> B256 { - B256::ZERO - } - - pub(crate) fn recover_owner(&self) -> Option { - match &self.execution_environment { - ExecutionEnvironment::Fuel(ee) => { - let Ok(transaction) = ee.original_transaction_wrapper() else { return None }; - let Some(chain_id) = ee.chain_id() else { return None }; - transaction.recover_first_owner(&chain_id.into()).map_or_else(|_| None, |a| Some(a)) - } - ExecutionEnvironment::Solana(_) => None, - } - } - - pub(crate) fn hash(&self) -> Option { - match &self.execution_environment { - ExecutionEnvironment::Fuel(ee) => { - let Ok(transaction) = ee.original_transaction_wrapper() else { return None }; - Some(B256::new(transaction.id(&ee.chain_id()?.into()).into())) - } - ExecutionEnvironment::Solana(_) => None, - } - } - - pub fn set_chain_id(&mut self, chain_id: Option) { - self.execution_environment.set_chain_id(chain_id) - } - - pub(crate) const fn chain_id(&self) -> Option { - self.execution_environment.chain_id() - } - - pub(crate) const fn tx_kind(&self) -> TxKind { - self.execution_environment.tx_kind() - } - - pub const fn value(&self) -> &U256 { - self.execution_environment.value() - } - - pub fn set_value(&mut self, value: U256) { - self.execution_environment.set_value(value) - } - - pub const fn nonce(&self) -> u64 { - self.execution_environment.nonce() - } - - pub fn set_nonce(&mut self, nonce: u64) { - self.execution_environment.set_nonce(nonce) - } - - pub const fn gas_limit(&self) -> u64 { - self.execution_environment.gas_limit() - } - - pub fn set_gas_limit(&mut self, gas_limit: u64) { - self.execution_environment.set_gas_limit(gas_limit) - } - - pub const fn max_fee_per_gas(&self) -> u128 { - self.execution_environment.max_fee_per_gas() - } - - pub const fn max_priority_fee_per_gas(&self) -> Option { - self.execution_environment.max_priority_fee_per_gas() - } - - pub fn blob_versioned_hashes(&self) -> Option> { - self.execution_environment.blob_versioned_hashes() - } - - pub const fn priority_fee_or_price(&self) -> u128 { - self.execution_environment.priority_fee_or_price() - } - - pub const fn effective_gas_price(&self, base_fee: Option) -> u128 { - self.execution_environment.effective_gas_price(base_fee) - } - - pub const fn is_dynamic_fee(&self) -> bool { - self.execution_environment.is_dynamic_fee() - } - pub fn gas_price(&self) -> u128 { - 1_000_000_000_u128 - } - - pub const fn access_list(&self) -> Option<&AccessList> { - self.execution_environment.access_list() - } - - pub const fn input(&self) -> &Bytes { - self.execution_environment.input() - } - - pub fn set_input(&mut self, input: Bytes) { - self.execution_environment.set_input(input) - } - - pub(crate) fn decode_inner(buf: &mut &[u8]) -> alloy_rlp::Result { - let env_type = if let Some(v) = buf.first() { - *v - } else { - return Err(RlpError::InputTooShort); - }; - buf.advance(1); - - let header = Header::decode(buf)?; - let data: Bytes = buf[..header.payload_length].to_vec().into(); - buf.advance(header.payload_length); - - let execution_environment = ExecutionEnvironment::new(env_type, data.clone())?; - - Ok(Self { execution_environment, data }) - } -} - -impl Encodable for TxFluentV1 { - fn encode(&self, out: &mut dyn BufMut) { - // let header = Header { list: true, payload_length: 1 + self.data.len() }; - // header.encode(out); - // - // out.put_u8(self.execution_environment.env_type()); - // out.put_slice(&self.data); - let mut buf = Vec::::with_capacity(1 + self.data.len()); - buf.push(self.execution_environment.env_type()); - buf.extend_from_slice(self.data.as_ref()); - buf.as_slice().encode(out); - } - - fn length(&self) -> usize { - // let payload_length = 1 + self.data.len(); - // let header = Header { list: true, payload_length }; - // header.length() + payload_length - 1 + self.data.len() - } -} - -impl Decodable for TxFluentV1 { - fn decode(buf: &mut &[u8]) -> Result { - let header = Header::decode(buf)?; - if !header.list { - return Err(RlpError::Custom("Expected list")); - } - - let env_type = ::decode(buf)?; - let data = Bytes::decode(buf)?; - - let execution_environment = ExecutionEnvironment::new(env_type, data.clone())?; - - Ok(TxFluentV1 { execution_environment, data }) - } -} diff --git a/crates/primitives/src/transaction/fluent/fuel.rs b/crates/primitives/src/transaction/fluent/fuel.rs deleted file mode 100644 index eb4763b67..000000000 --- a/crates/primitives/src/transaction/fluent/fuel.rs +++ /dev/null @@ -1,247 +0,0 @@ -use crate::{Bytes, ChainId, TxKind, TxType, B256, U256}; -use alloy_eips::eip2930::{AccessList, AccessListItem}; -use alloy_primitives::Address; -use alloy_rlp::{Decodable, Encodable, Error as RlpError}; -use fluentbase_core::fvm::helpers::fuel_testnet_consensus_params_from; -use fuel_core_types::{fuel_types, fuel_types::canonical::Deserialize}; -use fuel_tx::{ - field::{Inputs, Witnesses}, - Chargeable, ConsensusParameters, Transaction, UniqueIdentifier, Witness, -}; -use proptest::prelude::BoxedStrategy; -use reth_codecs::Compact; - -pub struct FuelTransaction(Transaction); -impl FuelTransaction { - pub fn new(transaction: Transaction) -> Self { - Self(transaction) - } - pub fn original_tx(self) -> Transaction { - self.0 - } - pub fn id(&self, chain_id: &fuel_types::ChainId) -> fuel_types::Bytes32 { - self.0.id(chain_id) - } - pub fn inputs(&self) -> Result<&Vec, RlpError> { - match &self.0 { - Transaction::Script(t) => Ok(t.inputs()), - Transaction::Create(t) => Ok(t.inputs()), - Transaction::Upload(t) => Ok(t.inputs()), - Transaction::Upgrade(t) => Ok(t.inputs()), - Transaction::Mint(_) => Err(alloy_rlp::Error::Custom("mint tx unsupported")), - } - } - pub fn first_input(&self) -> Result { - Ok(self.inputs()?.first().cloned().ok_or(RlpError::Custom("at least 1 input expected"))?) - } - pub fn gas_limit(&self, cp: &ConsensusParameters) -> Result { - match &self.0 { - Transaction::Script(t) => Ok(t.max_gas(cp.gas_costs(), cp.fee_params())), - Transaction::Create(t) => Ok(t.max_gas(cp.gas_costs(), cp.fee_params())), - Transaction::Upload(t) => Ok(t.max_gas(cp.gas_costs(), cp.fee_params())), - Transaction::Upgrade(t) => Ok(t.max_gas(cp.gas_costs(), cp.fee_params())), - Transaction::Mint(_) => Err(RlpError::Custom("mint tx unsupported")), - } - } - pub fn first_owner(&self) -> Result<&fuel_types::Address, RlpError> { - let Some(input) = self.inputs()?.first() else { - return Err(RlpError::Custom("fuel: only txs with exactly 1 input are supported")); - }; - let Some(owner) = input.input_owner() else { - return Err(RlpError::Custom("fuel: only txs with owner are supported")); - }; - Ok(owner) - } - pub fn recover_first_owner( - &self, - cid: &fuel_types::ChainId, - ) -> Result { - let owner = self - .first_witness()? - .recover_witness(&self.0.id(cid), 0) - .map_err(|v| RlpError::Custom("failed to recover first witness"))?; - Ok(owner) - } - pub fn witnesses(&self) -> Result<&Vec, RlpError> { - match &self.0 { - Transaction::Script(t) => Ok(t.witnesses()), - Transaction::Create(t) => Ok(t.witnesses()), - Transaction::Upload(t) => Ok(t.witnesses()), - Transaction::Upgrade(t) => Ok(t.witnesses()), - Transaction::Mint(_) => Err(RlpError::Custom("mint tx unsupported")), - } - } - pub fn first_witness(&self) -> Result<&Witness, RlpError> { - match &self.0 { - Transaction::Script(t) => Ok(t - .witnesses() - .first() - .ok_or(RlpError::Custom("at least 1 witness must be presented"))?), - Transaction::Create(t) => Ok(t - .witnesses() - .first() - .ok_or(RlpError::Custom("at least 1 witness must be presented"))?), - Transaction::Upload(t) => Ok(t - .witnesses() - .first() - .ok_or(RlpError::Custom("at least 1 witness must be presented"))?), - Transaction::Upgrade(t) => Ok(t - .witnesses() - .first() - .ok_or(RlpError::Custom("at least 1 witness must be presented"))?), - Transaction::Mint(_) => Err(RlpError::Custom("mint tx unsupported")), - } - } -} - -#[derive( - Debug, Default, Clone, PartialEq, Eq, Hash, Compact, serde::Serialize, serde::Deserialize, -)] -pub struct FuelEnvironment { - original_tx_bytes: Bytes, - chain_id: Option, - access_list: Option, - gas_limit: u64, - tx_kind: TxKind, - owner: B256, - input: Bytes, -} - -impl FuelEnvironment { - pub fn new(data: Bytes) -> Result { - let tx: Transaction = Self::fuel_tx_from_bytes(&data)?; - let fuel_tx = FuelTransaction(tx); - let consensus_params = Self::generate_consensus_params(20993); - let mut alt = Vec::::new(); - let owner = fuel_tx.first_owner()?; - let recovered_first_owner = fuel_tx.recover_first_owner(&consensus_params.chain_id())?; - if owner != &recovered_first_owner { - return Err(RlpError::Custom("provided owner doesn't match recovered")) - } - alt.push(AccessListItem { - address: Address::from_slice(&owner[12..]), - storage_keys: Default::default(), - }); - let instance = Self { - original_tx_bytes: data, - chain_id: Some(ChainId::from(consensus_params.chain_id())), - access_list: Some(AccessList(alt)), - gas_limit: fuel_tx - .gas_limit(&consensus_params) - .map_err(|e| RlpError::Custom("failed to get gas limit from tx"))?, - // TODO setup custom kind? - tx_kind: TxKind::Create, - owner: owner.0.into(), - ..Default::default() - }; - - Ok(instance) - } - pub fn fuel_tx_from_bytes(data: &Bytes) -> Result { - Transaction::from_bytes(data.as_ref()) - .map_err(|e| RlpError::Custom(&"failed to parse fuel tx")) - } - pub fn generate_consensus_params(chain_id: u64) -> ConsensusParameters { - fuel_testnet_consensus_params_from( - None, - None, - None, - fuel_types::ChainId::new(chain_id), - None, - ) - } - pub fn consensus_params(&self) -> ConsensusParameters { - fuel_testnet_consensus_params_from( - None, - None, - None, - fuel_types::ChainId::new(self.chain_id.unwrap_or_default()), - None, - ) - } - pub fn original_transaction(&self) -> Result { - Self::fuel_tx_from_bytes(&self.original_tx_bytes) - } - pub fn original_transaction_wrapper(&self) -> Result { - Ok(FuelTransaction::new(self.original_transaction()?)) - } - pub fn set_chain_id(&mut self, chain_id: Option) { - self.chain_id = chain_id - } - pub const fn chain_id(&self) -> Option { - self.chain_id - } - pub const fn tx_type(&self) -> TxType { - TxType::FluentV1 - } - pub const fn value(&self) -> &U256 { - &U256::ZERO - } - pub const fn nonce(&self) -> u64 { - 0 - } - pub const fn access_list(&self) -> Option<&AccessList> { - self.access_list.as_ref() - } - pub const fn gas_limit(&self) -> u64 { - self.gas_limit - } - pub const fn is_dynamic_fee(&self) -> bool { - false - } - pub const fn max_fee_per_gas(&self) -> u128 { - 1_000_000_000_u128 - } - pub const fn max_priority_fee_per_gas(&self) -> Option { - Some(1) - } - pub const fn max_fee_per_blob_gas(&self) -> Option { - None - } - pub const fn priority_fee_or_price(&self) -> u128 { - 1 - } - pub const fn effective_gas_price(&self, _base_fee: Option) -> u128 { - 1 - } - pub const fn input(&self) -> &Bytes { - &self.input - } - - pub const fn tx_kind(&self) -> TxKind { - // TODO use custom kind? - self.tx_kind - } - - pub fn blob_versioned_hashes(&self) -> Option> { - None - } - - pub fn set_value(&mut self, _value: U256) {} - pub fn set_nonce(&mut self, _nonce: u64) {} - pub fn set_gas_limit(&mut self, _gas_limit: u64) {} - pub fn set_input(&mut self, _input: Bytes) {} -} - -#[cfg(any(test, feature = "arbitrary"))] -impl<'a> arbitrary::Arbitrary<'a> for FuelEnvironment { - fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { - // Implement arbitrary generation for FuelEnvironment - todo!("Implement arbitrary for FuelEnvironment") - } -} - -#[cfg(any(test, feature = "arbitrary"))] -impl proptest::arbitrary::Arbitrary for FuelEnvironment { - type Parameters = (); - type Strategy = BoxedStrategy; - - fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy { - // Implement arbitrary strategy for FuelEnvironment - todo!("Implement arbitrary strategy for FuelEnvironment") - } - - fn arbitrary() -> Self::Strategy { - Self::arbitrary_with(()) - } -} diff --git a/crates/primitives/src/transaction/fluent/mod.rs b/crates/primitives/src/transaction/fluent/mod.rs deleted file mode 100644 index 987df31e9..000000000 --- a/crates/primitives/src/transaction/fluent/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod fluent_v1; -pub mod fuel; -pub mod svm; diff --git a/crates/primitives/src/transaction/fluent/svm.rs b/crates/primitives/src/transaction/fluent/svm.rs deleted file mode 100644 index fa6fdbed7..000000000 --- a/crates/primitives/src/transaction/fluent/svm.rs +++ /dev/null @@ -1,189 +0,0 @@ -use crate::{TxType, U256}; -use alloy_eips::eip2930::AccessList; -use alloy_primitives::{Address, Bytes, ChainId, TxKind, B256}; -use proptest::prelude::BoxedStrategy; -use reth_codecs::Compact; - -#[derive( - Debug, Default, Clone, PartialEq, Eq, Hash, Compact, serde::Serialize, serde::Deserialize, -)] -pub struct SolanaEnvironment { - /// Added as EIP-pub 155: Simple replay attack protection - pub chain_id: Option, - /// A scalar value equal to the number of transactions sent by the sender; formally Tn. - pub nonce: u64, - /// A scalar value equal to the number of - /// Wei to be paid per unit of gas for all computation - /// costs incurred as a result of the execution of this transaction; formally Tp. - /// - /// As ethereum circulation is around 120mil eth as of 2022 that is around - /// 120000000000000000000000000 wei we are safe to use u128 as its max number is: - /// 340282366920938463463374607431768211455 - pub gas_price: u128, - /// A scalar value equal to the maximum - /// amount of gas that should be used in executing - /// this transaction. This is paid up-front, before any - /// computation is done and may not be increased - /// later; formally Tg. - pub gas_limit: u64, - /// A scalar value equal to the maximum - /// amount of gas that should be used in executing - /// this transaction. This is paid up-front, before any - /// computation is done and may not be increased - /// later; formally Tg. - /// - /// As ethereum circulation is around 120mil eth as of 2022 that is around - /// 120000000000000000000000000 wei we are safe to use u128 as its max number is: - /// 340282366920938463463374607431768211455 - /// - /// This is also known as `GasFeeCap` - pub max_fee_per_gas: u128, - /// Max Priority fee that transaction is paying - /// - /// As ethereum circulation is around 120mil eth as of 2022 that is around - /// 120000000000000000000000000 wei we are safe to use u128 as its max number is: - /// 340282366920938463463374607431768211455 - /// - /// This is also known as `GasTipCap` - pub max_priority_fee_per_gas: Option, - /// The 160-bit address of the message call’s recipient or, for a contract creation - /// transaction, ∅, used here to denote the only member of B0 ; formally Tt. - pub to: TxKind, - /// A scalar value equal to the number of Wei to - /// be transferred to the message call’s recipient or, - /// in the case of contract creation, as an endowment - /// to the newly created account; formally Tv. - pub value: U256, - - /// Input has two uses depending if transaction is Create or Call (if `to` field is None or - /// Some). pub init: An unlimited size byte array specifying the - /// EVM-code for the account initialisation procedure CREATE, - /// data: An unlimited size byte array specifying the - /// input data of the message call, formally Td. - pub input: Bytes, -} - -impl SolanaEnvironment { - pub fn new() -> Self { - Self { - chain_id: None, - nonce: 0, - gas_price: 0, - gas_limit: 0, - max_fee_per_gas: 0, - max_priority_fee_per_gas: None, - to: TxKind::Call(Address::ZERO), - value: U256::from(0), - input: Bytes::new(), - } - } - pub fn set_chain_id(&mut self, chain_id: Option) { - self.chain_id = chain_id; - } - pub const fn chain_id(&self) -> Option { - self.chain_id - } - pub const fn kind(&self) -> TxKind { - self.to - } - pub const fn tx_type(&self) -> TxType { - TxType::FluentV1 - } - pub const fn value(&self) -> &U256 { - &self.value - } - pub const fn nonce(&self) -> u64 { - self.nonce - } - pub const fn access_list(&self) -> Option<&AccessList> { - None - } - pub const fn gas_limit(&self) -> u64 { - self.gas_limit - } - pub const fn is_dynamic_fee(&self) -> bool { - false - } - pub const fn max_fee_per_gas(&self) -> u128 { - self.max_fee_per_gas - } - pub const fn max_priority_fee_per_gas(&self) -> Option { - self.max_priority_fee_per_gas - } - - pub const fn priority_fee_or_price(&self) -> u128 { - if let Some(max_priority_fee_per_gas) = self.max_priority_fee_per_gas { - max_priority_fee_per_gas - } else { - self.gas_price - } - } - pub const fn effective_gas_price(&self, base_fee: Option) -> u128 { - match base_fee { - None => self.max_fee_per_gas, - Some(base_fee) => { - // if the tip is greater than the max priority fee per gas, set it to the max - // priority fee per gas + base fee - let tip = self.max_fee_per_gas.saturating_sub(base_fee as u128); - - let max_priority_fee_per_gas = - if let Some(max_priority_fee_per_gas) = self.max_priority_fee_per_gas { - max_priority_fee_per_gas - } else { - self.gas_price - }; - if tip > max_priority_fee_per_gas { - max_priority_fee_per_gas + base_fee as u128 - } else { - // otherwise return the max fee per gas - self.max_fee_per_gas - } - } - } - } - pub const fn input(&self) -> &Bytes { - &self.input - } - pub const fn tx_kind(&self) -> TxKind { - self.to - } - pub fn blob_versioned_hashes(&self) -> Option> { - None - } - pub fn set_value(&mut self, value: U256) { - self.value = value; - } - pub fn set_nonce(&mut self, nonce: u64) { - self.nonce = nonce; - } - pub fn set_gas_limit(&mut self, gas_limit: u64) { - self.gas_limit = gas_limit; - } - pub fn set_input(&mut self, input: Bytes) { - self.input = input; - } -} - -#[cfg(any(test, feature = "arbitrary"))] -impl<'a> arbitrary::Arbitrary<'a> for SolanaEnvironment { - fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { - // Implement arbitrary generation for SolanaEnvironment - todo!("Implement arbitrary for SolanaEnvironment") - } -} - -#[cfg(any(test, feature = "arbitrary"))] -impl proptest::arbitrary::Arbitrary for SolanaEnvironment { - type Parameters = (); - type Strategy = BoxedStrategy; - - fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy { - // Implement arbitrary strategy for SolanaEnvironment - // TODO: fluent_tx_d1r1 add implementation - todo!("Implement arbitrary strategy for SolanaEnvironment") - } - - fn arbitrary() -> Self::Strategy { - Self::arbitrary_with(()) - } -} diff --git a/crates/primitives/src/transaction/mod.rs b/crates/primitives/src/transaction/mod.rs index 181b6ef05..4319f8d3e 100644 --- a/crates/primitives/src/transaction/mod.rs +++ b/crates/primitives/src/transaction/mod.rs @@ -3,7 +3,7 @@ #[cfg(not(feature = "std"))] use alloc::vec::Vec; use alloy_rlp::{ - Decodable, Encodable, Error as RlpError, Error, Header, EMPTY_LIST_CODE, EMPTY_STRING_CODE, + Decodable, Encodable, Error as RlpError, Header, EMPTY_LIST_CODE, EMPTY_STRING_CODE, }; use bytes::Buf; use core::mem; @@ -20,7 +20,6 @@ pub use eip4844::TxEip4844; pub use error::{ InvalidTransactionError, TransactionConversionError, TryFromRecoveredTransactionError, }; -pub use fluent::fluent_v1::{ExecutionEnvironment, TxFluentV1}; pub use legacy::TxLegacy; pub use meta::TransactionMeta; #[cfg(feature = "optimism")] @@ -36,7 +35,7 @@ pub use signature::{extract_chain_id, Signature}; #[cfg(feature = "optimism")] pub use tx_type::DEPOSIT_TX_TYPE_ID; pub use tx_type::{ - TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, EIP4844_TX_TYPE_ID, FLUENT_TX_V1_TYPE_ID, + TxType, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, EIP4844_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; pub use variant::TransactionSignedVariant; @@ -62,8 +61,6 @@ mod variant; #[cfg(feature = "optimism")] mod optimism; -pub mod fluent; - /// Either a transaction hash or number. pub type TxHashOrNumber = BlockHashOrNumber; @@ -138,9 +135,6 @@ pub enum Transaction { /// Optimism deposit transaction. #[cfg(feature = "optimism")] Deposit(TxDeposit), - - /// FLUENT V1 transaction. - FluentV1(TxFluentV1), } // === impl Transaction === @@ -156,7 +150,6 @@ impl Transaction { Self::Eip4844(tx) => tx.signature_hash(), #[cfg(feature = "optimism")] Self::Deposit(_) => B256::ZERO, - Self::FluentV1(tx) => tx.signature_hash(), } } @@ -169,8 +162,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { chain_id, .. }) => Some(*chain_id), #[cfg(feature = "optimism")] Self::Deposit(_) => None, - - Self::FluentV1(tx) => tx.chain_id(), } } @@ -183,9 +174,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { chain_id: ref mut c, .. }) => *c = chain_id, #[cfg(feature = "optimism")] Self::Deposit(_) => { /* noop */ } - Self::FluentV1(TxFluentV1 { execution_environment: ref mut ee, .. }) => { - ee.set_chain_id(Some(chain_id)); - } } } @@ -199,7 +187,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { to, .. }) => TxKind::Call(*to), #[cfg(feature = "optimism")] Self::Deposit(TxDeposit { to, .. }) => *to, - Self::FluentV1(fluent_tx) => fluent_tx.tx_kind(), } } @@ -220,8 +207,6 @@ impl Transaction { Self::Eip4844(blob_tx) => blob_tx.tx_type(), #[cfg(feature = "optimism")] Self::Deposit(deposit_tx) => deposit_tx.tx_type(), - - Self::FluentV1(tx) => tx.tx_type(), } } @@ -234,7 +219,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { value, .. }) => value, #[cfg(feature = "optimism")] Self::Deposit(TxDeposit { value, .. }) => value, - Self::FluentV1(tx) => tx.value(), } } @@ -248,7 +232,6 @@ impl Transaction { // Deposit transactions do not have nonces. #[cfg(feature = "optimism")] Self::Deposit(_) => 0, - Self::FluentV1(tx) => tx.nonce(), } } @@ -263,7 +246,6 @@ impl Transaction { Self::Eip4844(tx) => Some(&tx.access_list), #[cfg(feature = "optimism")] Self::Deposit(_) => None, - Self::FluentV1(tx) => tx.access_list(), } } @@ -276,7 +258,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { gas_limit, .. }) => *gas_limit, #[cfg(feature = "optimism")] Self::Deposit(TxDeposit { gas_limit, .. }) => *gas_limit, - Self::FluentV1(tx) => tx.gas_limit(), } } @@ -287,7 +268,6 @@ impl Transaction { Self::Eip1559(_) | Self::Eip4844(_) => true, #[cfg(feature = "optimism")] Self::Deposit(_) => false, - Self::FluentV1(tx) => tx.is_dynamic_fee(), } } @@ -304,7 +284,6 @@ impl Transaction { // refundable. #[cfg(feature = "optimism")] Self::Deposit(_) => 0, - Self::FluentV1(tx) => tx.max_fee_per_gas(), } } @@ -321,7 +300,6 @@ impl Transaction { } #[cfg(feature = "optimism")] Self::Deposit(_) => None, - Self::FluentV1(tx) => tx.max_priority_fee_per_gas(), } } @@ -337,7 +315,6 @@ impl Transaction { } #[cfg(feature = "optimism")] Self::Deposit(_) => None, - Self::FluentV1(tx) => tx.blob_versioned_hashes(), } } @@ -377,7 +354,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { max_priority_fee_per_gas, .. }) => *max_priority_fee_per_gas, #[cfg(feature = "optimism")] Self::Deposit(_) => 0, - Self::FluentV1(tx) => tx.priority_fee_or_price(), } } @@ -392,7 +368,6 @@ impl Transaction { Self::Eip4844(dynamic_tx) => dynamic_tx.effective_gas_price(base_fee), #[cfg(feature = "optimism")] Self::Deposit(_) => 0, - Self::FluentV1(tx) => tx.effective_gas_price(base_fee), } } @@ -436,7 +411,6 @@ impl Transaction { Self::Eip4844(TxEip4844 { input, .. }) => input, #[cfg(feature = "optimism")] Self::Deposit(TxDeposit { input, .. }) => input, - Self::FluentV1(tx) => tx.input(), } } @@ -504,9 +478,6 @@ impl Transaction { Self::Eip4844(blob_tx) => blob_tx.encode_with_signature(signature, out, with_header), #[cfg(feature = "optimism")] Self::Deposit(deposit_tx) => deposit_tx.encode(out, with_header), - Self::FluentV1(fluent_tx) => { - fluent_tx.encode_with_signature(signature, out, with_header) - } } } @@ -519,7 +490,6 @@ impl Transaction { Self::Eip4844(tx) => tx.gas_limit = gas_limit, #[cfg(feature = "optimism")] Self::Deposit(tx) => tx.gas_limit = gas_limit, - Self::FluentV1(tx) => tx.set_gas_limit(gas_limit), } } @@ -532,7 +502,6 @@ impl Transaction { Self::Eip4844(tx) => tx.nonce = nonce, #[cfg(feature = "optimism")] Self::Deposit(_) => { /* noop */ } - Self::FluentV1(tx) => tx.set_nonce(nonce), } } @@ -545,7 +514,6 @@ impl Transaction { Self::Eip4844(tx) => tx.value = value, #[cfg(feature = "optimism")] Self::Deposit(tx) => tx.value = value, - Self::FluentV1(tx) => tx.set_value(value), } } @@ -558,7 +526,6 @@ impl Transaction { Self::Eip4844(tx) => tx.input = input, #[cfg(feature = "optimism")] Self::Deposit(tx) => tx.input = input, - Self::FluentV1(tx) => tx.set_input(input), } } @@ -572,7 +539,6 @@ impl Transaction { Self::Eip4844(tx) => tx.size(), #[cfg(feature = "optimism")] Self::Deposit(tx) => tx.size(), - Self::FluentV1(tx) => tx.size(), } } @@ -631,14 +597,6 @@ impl Transaction { _ => None, } } - - /// Returns the [`FluentV1`] variant if the transaction is a FLUENT V1 transaction. - pub const fn as_fluent_v1(&self) -> Option<&TxFluentV1> { - match self { - Self::FluentV1(tx) => Some(tx), - _ => None, - } - } } impl From for Transaction { @@ -665,12 +623,6 @@ impl From for Transaction { } } -impl From for Transaction { - fn from(tx: TxFluentV1) -> Self { - Self::FluentV1(tx) - } -} - impl Compact for Transaction { // Serializes the TxType to the buffer if necessary, returning 2 bits of the type as an // identifier instead of the length. @@ -696,9 +648,6 @@ impl Compact for Transaction { Self::Deposit(tx) => { tx.to_compact(buf); } - Self::FluentV1(tx) => { - tx.to_compact(buf); - } } identifier } @@ -742,10 +691,6 @@ impl Compact for Transaction { let (tx, buf) = TxDeposit::from_compact(buf, buf.len()); (Self::Deposit(tx), buf) } - 127 => { - let (tx, buf) = TxFluentV1::from_compact(buf, buf.len()); - (Self::FluentV1(tx), buf) - } _ => unreachable!("Junk data in database: unknown Transaction variant"), } } @@ -781,7 +726,6 @@ impl Encodable for Transaction { Self::Deposit(deposit_tx) => { deposit_tx.encode(out, true); } - Self::FluentV1(fluent_tx) => fluent_tx.encode(out), } } @@ -793,7 +737,6 @@ impl Encodable for Transaction { Self::Eip4844(blob_tx) => blob_tx.payload_len_for_signature(), #[cfg(feature = "optimism")] Self::Deposit(deposit_tx) => deposit_tx.payload_len(), - Self::FluentV1(fluent_tx) => fluent_tx.payload_len_for_signature(), } } } @@ -816,10 +759,6 @@ impl TransactionSignedNoHash { /// Calculates the transaction hash. If used more than once, it's better to convert it to /// [`TransactionSigned`] first. pub fn hash(&self) -> B256 { - match &self.transaction { - Transaction::FluentV1(fluent_tx) => return fluent_tx.hash().unwrap_or_default(), - _ => {} - } // pre-allocate buffer for the transaction let mut buf = Vec::with_capacity(128 + self.transaction.input().len()); self.transaction.encode_with_signature(&self.signature, &mut buf, false); @@ -836,12 +775,6 @@ impl TransactionSignedNoHash { if let Transaction::Deposit(TxDeposit { from, .. }) = self.transaction { return Some(from) } - match &self.transaction { - Transaction::FluentV1(fluent_tx) => { - return fluent_tx.recover_owner().map(|a| Address::from_word(a.0.into())) - } - _ => {} - } let signature_hash = self.signature_hash(); self.signature.recover_signer(signature_hash) @@ -880,12 +813,6 @@ impl TransactionSignedNoHash { return Some(Address::ZERO) } } - match &self.transaction { - _ => {} - Transaction::FluentV1(fluent_tx) => { - return fluent_tx.recover_owner().map(|a| Address::from_word(a.0.into())) - } - } self.signature.recover_signer_unchecked(keccak256(buffer)) } @@ -1101,12 +1028,6 @@ impl TransactionSigned { if let Transaction::Deposit(TxDeposit { from, .. }) = self.transaction { return Some(from) } - match &self.transaction { - Transaction::FluentV1(tx) => { - return tx.recover_owner().map(|a| Address::from_word(a.0.into())) - } - _ => {} - } let signature_hash = self.signature_hash(); self.signature.recover_signer(signature_hash) } @@ -1123,12 +1044,6 @@ impl TransactionSigned { if let Transaction::Deposit(TxDeposit { from, .. }) = self.transaction { return Some(from) } - match &self.transaction { - _ => {} - Transaction::FluentV1(fluent_tx) => { - return fluent_tx.recover_owner().map(|a| Address::from_word(a.0.into())) - } - } let signature_hash = self.signature_hash(); self.signature.recover_signer_unchecked(signature_hash) } @@ -1257,19 +1172,12 @@ impl TransactionSigned { Transaction::Eip4844(blob_tx) => blob_tx.payload_len_with_signature(&self.signature), #[cfg(feature = "optimism")] Transaction::Deposit(deposit_tx) => deposit_tx.payload_len(), - Transaction::FluentV1(fluent_tx) => { - fluent_tx.payload_len_with_signature(&self.signature) - } } } /// Calculate transaction hash, eip2728 transaction does not contain rlp header and start with /// tx type. pub fn recalculate_hash(&self) -> B256 { - match &self.transaction { - Transaction::FluentV1(tx) => return tx.hash().unwrap_or_default(), - _ => {} - } let mut buf = Vec::new(); self.encode_inner(&mut buf, false); keccak256(&buf) @@ -1390,23 +1298,10 @@ impl TransactionSigned { TxType::Eip4844 => Transaction::Eip4844(TxEip4844::decode_inner(data)?), #[cfg(feature = "optimism")] TxType::Deposit => Transaction::Deposit(TxDeposit::decode_inner(data)?), - TxType::FluentV1 => Transaction::FluentV1(TxFluentV1::decode_inner(data)?), TxType::Legacy => return Err(RlpError::Custom("unexpected legacy tx type")), }; - #[cfg(not(feature = "optimism"))] - let signature = if let Transaction::FluentV1(ref tx) = transaction { - match &tx.execution_environment { - ExecutionEnvironment::Fuel(_) => { - Signature { r: U256::ZERO, s: U256::ZERO, odd_y_parity: false } - } - ExecutionEnvironment::Solana(_) => { - Signature { r: U256::ZERO, s: U256::ZERO, odd_y_parity: false } - } - } - } else { - Signature::decode(data)? - }; + let signature = Signature::decode(data)?; #[cfg(feature = "optimism")] let signature = if tx_type == TxType::Deposit { @@ -1420,18 +1315,7 @@ impl TransactionSigned { return Err(RlpError::UnexpectedLength) } - let hash = match tx_type { - TxType::FluentV1 => { - if let Transaction::FluentV1(tx) = &transaction { - tx.hash().unwrap_or_default() - } else { - return Err(Error::Custom( - "when tx_type is fluent decoded transaction must be always fluent too", - )) - } - } - _ => keccak256(&original_encoding_without_header[..tx_length]), - }; + let hash = keccak256(&original_encoding_without_header[..tx_length]); let signed = Self { transaction, hash, signature }; Ok(signed) } @@ -1489,7 +1373,6 @@ impl TransactionSigned { } #[cfg(feature = "optimism")] Transaction::Deposit(deposit_tx) => deposit_tx.payload_len_without_header(), - Transaction::FluentV1(fluent_tx) => fluent_tx.payload_len_without_header(), } } } @@ -1768,14 +1651,14 @@ mod tests { use crate::{ hex, sign_message, transaction::{ - fluent::fuel::FuelEnvironment, from_compact_zstd_unaware, signature::Signature, - to_compact_ztd_unaware, ExecutionEnvironment, TxEip1559, TxKind, TxLegacy, + from_compact_zstd_unaware, signature::Signature, + to_compact_ztd_unaware, TxEip1559, TxKind, TxLegacy, MIN_LENGTH_EIP1559_TX_ENCODED, MIN_LENGTH_EIP2930_TX_ENCODED, MIN_LENGTH_EIP4844_TX_ENCODED, MIN_LENGTH_FLUENT_V1_TX_ENCODED, MIN_LENGTH_LEGACY_TX_ENCODED, PARALLEL_SENDER_RECOVERY_THRESHOLD, }, Address, Bytes, Transaction, TransactionSigned, TransactionSignedEcRecovered, - TransactionSignedNoHash, TxEip2930, TxEip4844, TxFluentV1, B256, U256, + TransactionSignedNoHash, TxEip2930, TxEip4844, B256, U256, }; #[test] @@ -2188,27 +2071,6 @@ mod tests { TransactionSigned::decode(&mut &encoded[..]).unwrap(); } - #[ignore] - #[test] - fn min_length_encoded_fluent_v1_transaction() { - let transaction = TxFluentV1::new( - ExecutionEnvironment::Fuel(FuelEnvironment::default()), - Bytes::default(), - ); - let signature = Signature::default(); - - let signed_tx = TransactionSigned::from_transaction_and_signature( - Transaction::FluentV1(transaction), - signature, - ); - - let encoded = alloy_rlp::encode(signed_tx); - println!("encoded {}", hex::encode(&encoded)); - assert_eq!(MIN_LENGTH_FLUENT_V1_TX_ENCODED, encoded.len()); - - TransactionSigned::decode(&mut &encoded[..]).unwrap(); - } - #[cfg(feature = "optimism")] #[test] fn min_length_encoded_deposit_transaction() { diff --git a/crates/primitives/src/transaction/pooled.rs b/crates/primitives/src/transaction/pooled.rs index 329e22f4f..42b946d17 100644 --- a/crates/primitives/src/transaction/pooled.rs +++ b/crates/primitives/src/transaction/pooled.rs @@ -1,7 +1,7 @@ //! Defines the types for blob transactions, legacy, and other EIP-2718 transactions included in a //! response to `GetPooledTransactions`. -use super::{error::TransactionConversionError, ExecutionEnvironment, TxFluentV1}; +use super::{error::TransactionConversionError}; use crate::{ Address, BlobTransaction, BlobTransactionSidecar, Bytes, Signature, Transaction, TransactionSigned, TransactionSignedEcRecovered, TxEip1559, TxEip2930, TxEip4844, TxHash, @@ -50,15 +50,6 @@ pub enum PooledTransactionsElement { }, /// A blob transaction, which includes the transaction, blob data, commitments, and proofs. BlobTransaction(BlobTransaction), - /// A FluentV1 transaction - FluentV1 { - /// The inner transaction - transaction: TxFluentV1, - /// The signature - signature: Signature, - /// The hash of the transaction - hash: TxHash, - }, } impl PooledTransactionsElement { @@ -83,9 +74,6 @@ impl PooledTransactionsElement { #[cfg(feature = "optimism")] // Not supported because deposit transactions are never pooled tx @ TransactionSigned { transaction: Transaction::Deposit(_), .. } => Err(tx), - TransactionSigned { transaction: Transaction::FluentV1(tx), signature, hash } => { - Ok(Self::FluentV1 { transaction: tx, signature, hash }) - } } } @@ -118,7 +106,6 @@ impl PooledTransactionsElement { Self::Eip2930 { transaction, .. } => transaction.signature_hash(), Self::Eip1559 { transaction, .. } => transaction.signature_hash(), Self::BlobTransaction(blob_tx) => blob_tx.transaction.signature_hash(), - Self::FluentV1 { transaction, .. } => transaction.signature_hash(), } } @@ -129,7 +116,6 @@ impl PooledTransactionsElement { hash } Self::BlobTransaction(tx) => &tx.hash, - Self::FluentV1 { hash, .. } => hash, } } @@ -140,7 +126,6 @@ impl PooledTransactionsElement { Self::Eip2930 { signature, .. } | Self::Eip1559 { signature, .. } => signature, Self::BlobTransaction(blob_tx) => &blob_tx.signature, - Self::FluentV1 { signature, .. } => signature, } } @@ -151,7 +136,6 @@ impl PooledTransactionsElement { Self::Eip2930 { transaction, .. } => transaction.nonce, Self::Eip1559 { transaction, .. } => transaction.nonce, Self::BlobTransaction(blob_tx) => blob_tx.transaction.nonce, - Self::FluentV1 { transaction, .. } => transaction.nonce(), } } @@ -159,14 +143,6 @@ impl PooledTransactionsElement { /// /// Returns `None` if the transaction's signature is invalid, see also [`Self::recover_signer`]. pub fn recover_signer(&self) -> Option
{ - match &self { - PooledTransactionsElement::FluentV1 { transaction, .. } => { - return Some(Address::from_word( - transaction.recover_owner().unwrap_or_default().0.into(), - )); - } - _ => {} - } self.signature().recover_signer(self.signature_hash()) } @@ -264,11 +240,6 @@ impl PooledTransactionsElement { }), #[cfg(feature = "optimism")] Transaction::Deposit(_) => Err(RlpError::Custom("Optimism deposit transaction cannot be decoded to PooledTransactionsElement")), - Transaction::FluentV1(tx) => Ok(Self::FluentV1 { - transaction: tx, - signature: typed_tx.signature, - hash: typed_tx.hash, - }) } } } @@ -297,11 +268,6 @@ impl PooledTransactionsElement { hash, }, Self::BlobTransaction(blob_tx) => blob_tx.into_parts().0, - Self::FluentV1 { transaction, signature, hash } => TransactionSigned { - transaction: Transaction::FluentV1(transaction), - signature, - hash, - }, } } @@ -324,10 +290,6 @@ impl PooledTransactionsElement { // the encoding does not use a header, so we set `with_header` to false blob_tx.payload_len_with_type(false) } - Self::FluentV1 { transaction, .. } => { - // method computes the payload len without a RLP header - transaction.payload_len_without_header() - } } } @@ -370,9 +332,6 @@ impl PooledTransactionsElement { // `tx_type || rlp([transaction_payload_body, blobs, commitments, proofs]))` blob_tx.encode_with_type_inner(out, false); } - Self::FluentV1 { transaction, signature, .. } => { - transaction.encode_with_signature(signature, out, false) - } } } @@ -444,7 +403,6 @@ impl PooledTransactionsElement { Self::Legacy { .. } | Self::Eip2930 { .. } => None, Self::Eip1559 { transaction, .. } => Some(transaction.max_priority_fee_per_gas), Self::BlobTransaction(tx) => Some(tx.transaction.max_priority_fee_per_gas), - Self::FluentV1 { transaction, .. } => transaction.max_priority_fee_per_gas(), } } @@ -457,7 +415,6 @@ impl PooledTransactionsElement { Self::Eip2930 { transaction, .. } => transaction.gas_price, Self::Eip1559 { transaction, .. } => transaction.max_fee_per_gas, Self::BlobTransaction(tx) => tx.transaction.max_fee_per_gas, - Self::FluentV1 { transaction, .. } => transaction.max_fee_per_gas(), } } } @@ -494,10 +451,6 @@ impl Encodable for PooledTransactionsElement { // `rlp(tx_type || rlp([transaction_payload_body, blobs, commitments, proofs]))` blob_tx.encode_with_type_inner(out, true); } - Self::FluentV1 { transaction, signature, .. } => { - // encodes with string header - transaction.encode_with_signature(signature, out, true) - } } } @@ -519,10 +472,6 @@ impl Encodable for PooledTransactionsElement { // the encoding uses a header, so we set `with_header` to true blob_tx.payload_len_with_type(true) } - Self::FluentV1 { transaction, signature, .. } => { - // method computes the payload len with a RLP header - transaction.payload_len_with_signature(signature) - } } } } @@ -626,7 +575,6 @@ impl Decodable for PooledTransactionsElement { }), #[cfg(feature = "optimism")] Transaction::Deposit(_) => Err(RlpError::Custom("Optimism deposit transaction cannot be decoded to PooledTransactionsElement")), - Transaction::FluentV1(_) => Err(RlpError::Custom("FluentV1 transaction cannot be decoded to PooledTransactionsElement")) } } } diff --git a/crates/primitives/src/transaction/tx_type.rs b/crates/primitives/src/transaction/tx_type.rs index f5f7bd118..56d6815e9 100644 --- a/crates/primitives/src/transaction/tx_type.rs +++ b/crates/primitives/src/transaction/tx_type.rs @@ -23,9 +23,6 @@ pub const EIP4844_TX_TYPE_ID: u8 = 3; #[cfg(feature = "optimism")] pub const DEPOSIT_TX_TYPE_ID: u8 = 126; -/// Identifier for [`TxFluentV1`](crate::TxFluentV1) transaction. -pub const FLUENT_TX_V1_TYPE_ID: u8 = 82; // 0x52 = R in ASCII (RWASM) - /// Transaction Type /// /// Currently being used as 2-bit type when encoding it to [`Compact`] on @@ -50,8 +47,6 @@ pub enum TxType { /// Optimism Deposit transaction. #[cfg(feature = "optimism")] Deposit = 126_isize, - /// Fluent V1 transaction. - FluentV1 = FLUENT_TX_V1_TYPE_ID as isize, } impl TxType { @@ -65,7 +60,6 @@ impl TxType { Self::Eip2930 | Self::Eip1559 | Self::Eip4844 => true, #[cfg(feature = "optimism")] Self::Deposit => false, - Self::FluentV1 => false, } } } @@ -79,7 +73,6 @@ impl From for u8 { TxType::Eip4844 => EIP4844_TX_TYPE_ID, #[cfg(feature = "optimism")] TxType::Deposit => DEPOSIT_TX_TYPE_ID, - TxType::FluentV1 => FLUENT_TX_V1_TYPE_ID, } } } @@ -107,8 +100,6 @@ impl TryFrom for TxType { return Ok(Self::Eip1559) } else if value == Self::Eip4844 { return Ok(Self::Eip4844) - } else if value == Self::FluentV1 { - return Ok(Self::FluentV1) } Err("invalid tx type") @@ -153,10 +144,6 @@ impl Compact for TxType { buf.put_u8(self as u8); 3 } - Self::FluentV1 => { - buf.put_u8(self as u8); - 3 - } } } @@ -173,7 +160,6 @@ impl Compact for TxType { let extended_identifier = buf.get_u8(); match extended_identifier { EIP4844_TX_TYPE_ID => Self::Eip4844, - FLUENT_TX_V1_TYPE_ID => Self::FluentV1, #[cfg(feature = "optimism")] DEPOSIT_TX_TYPE_ID => Self::Deposit, _ => panic!("Unsupported TxType identifier: {extended_identifier}"), @@ -240,8 +226,6 @@ mod tests { #[cfg(feature = "optimism")] assert_eq!(TxType::try_from(U64::from(126)).unwrap(), TxType::Deposit); - assert_eq!(TxType::try_from(U64::from(FLUENT_TX_V1_TYPE_ID)).unwrap(), TxType::FluentV1); - // For transactions with unsupported values assert!(TxType::try_from(U64::from(4)).is_err()); } @@ -255,7 +239,6 @@ mod tests { (TxType::Eip4844, 3, vec![EIP4844_TX_TYPE_ID]), #[cfg(feature = "optimism")] (TxType::Deposit, 3, vec![DEPOSIT_TX_TYPE_ID]), - (TxType::FluentV1, 3, vec![FLUENT_TX_V1_TYPE_ID]), ]; for (tx_type, expected_identifier, expected_buf) in cases { @@ -278,7 +261,6 @@ mod tests { (TxType::Eip4844, 3, vec![EIP4844_TX_TYPE_ID]), #[cfg(feature = "optimism")] (TxType::Deposit, 3, vec![DEPOSIT_TX_TYPE_ID]), - (TxType::FluentV1, 3, vec![FLUENT_TX_V1_TYPE_ID]), ]; for (expected_type, identifier, buf) in cases { @@ -321,12 +303,5 @@ mod tests { let tx_type = TxType::decode(&mut &buf[..]).unwrap(); assert_eq!(tx_type, TxType::Deposit); } - - // Test for FluentV1 transaction - { - let buf = [FLUENT_TX_V1_TYPE_ID]; - let tx_type = TxType::decode(&mut &buf[..]).unwrap(); - assert_eq!(tx_type, TxType::FluentV1); - } } } diff --git a/crates/revm/Cargo.toml b/crates/revm/Cargo.toml index 5a70a7bd2..239584546 100644 --- a/crates/revm/Cargo.toml +++ b/crates/revm/Cargo.toml @@ -40,3 +40,4 @@ reth-trie.workspace = true [features] test-utils = ["dep:reth-trie"] +rwasm = ["reth-primitives/rwasm"] diff --git a/crates/revm/src/database.rs b/crates/revm/src/database.rs index effad50eb..d2fa43af5 100644 --- a/crates/revm/src/database.rs +++ b/crates/revm/src/database.rs @@ -138,10 +138,12 @@ impl DatabaseRef for StateProviderDatabase { Ok(self.basic_account(address)?.map(|account| AccountInfo { balance: account.balance, nonce: account.nonce, - code_hash: account.bytecode_hash.unwrap_or(KECCAK_EMPTY), - rwasm_code_hash: account.rwasm_hash.unwrap_or(POSEIDON_EMPTY), + code_hash: account.bytecode_hash.unwrap_or(if cfg!(feature = "rwasm") { + POSEIDON_EMPTY + } else { + KECCAK_EMPTY + }), code: None, - rwasm_code: None, })) } diff --git a/crates/storage/db-common/src/init.rs b/crates/storage/db-common/src/init.rs index 1d2be3c65..12bb3c037 100644 --- a/crates/storage/db-common/src/init.rs +++ b/crates/storage/db-common/src/init.rs @@ -197,7 +197,6 @@ pub fn insert_state<'a, 'b, DB: Database>( nonce: account.nonce.unwrap_or_default(), balance: account.balance, bytecode_hash: bytecode_hash.map(|v| v.0), - rwasm_hash: bytecode_hash.map(|v| v.1), }), storage, ), diff --git a/crates/storage/provider/src/test_utils/mock.rs b/crates/storage/provider/src/test_utils/mock.rs index bfd86ef09..974982121 100644 --- a/crates/storage/provider/src/test_utils/mock.rs +++ b/crates/storage/provider/src/test_utils/mock.rs @@ -63,7 +63,7 @@ impl ExtendedAccount { /// Create new instance of extended account pub fn new(nonce: u64, balance: U256) -> Self { Self { - account: Account { nonce, balance, bytecode_hash: None, rwasm_hash: None }, + account: Account { nonce, balance, bytecode_hash: None }, bytecode: None, storage: Default::default(), } diff --git a/crates/transaction-pool/src/traits.rs b/crates/transaction-pool/src/traits.rs index 8f9835fd3..41d57e941 100644 --- a/crates/transaction-pool/src/traits.rs +++ b/crates/transaction-pool/src/traits.rs @@ -14,7 +14,7 @@ use reth_primitives::{ BlobTransactionSidecar, BlobTransactionValidationError, FromRecoveredPooledTransaction, IntoRecoveredTransaction, PooledTransactionsElement, PooledTransactionsElementEcRecovered, SealedBlock, Transaction, TransactionSignedEcRecovered, TryFromRecoveredTransaction, TxHash, - TxKind, B256, EIP1559_TX_TYPE_ID, EIP4844_TX_TYPE_ID, FLUENT_TX_V1_TYPE_ID, U256, + TxKind, B256, EIP1559_TX_TYPE_ID, EIP4844_TX_TYPE_ID, U256, }; #[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; @@ -842,11 +842,6 @@ pub trait PoolTransaction: self.tx_type() == EIP4844_TX_TYPE_ID } - /// Returns true if the transaction is an fluent_v1 transaction. - fn is_fluent_v1(&self) -> bool { - self.tx_type() == FLUENT_TX_V1_TYPE_ID - } - /// Returns the length of the rlp encoded transaction object /// /// Note: Implementations should cache this value. @@ -1029,7 +1024,6 @@ impl PoolTransaction for EthPooledTransaction { Transaction::Eip2930(tx) => tx.gas_price, Transaction::Eip1559(tx) => tx.max_fee_per_gas, Transaction::Eip4844(tx) => tx.max_fee_per_gas, - Transaction::FluentV1(tx) => tx.max_fee_per_gas(), _ => 0, } } @@ -1136,7 +1130,7 @@ impl TryFromRecoveredTransaction for EthPooledTransaction { ) -> Result { // ensure we can handle the transaction type and its format match tx.tx_type() as u8 { - 0..=EIP1559_TX_TYPE_ID | FLUENT_TX_V1_TYPE_ID => { + 0..=EIP1559_TX_TYPE_ID => { // supported } EIP4844_TX_TYPE_ID => { diff --git a/crates/transaction-pool/src/validate/eth.rs b/crates/transaction-pool/src/validate/eth.rs index d8ea69224..45b03170f 100644 --- a/crates/transaction-pool/src/validate/eth.rs +++ b/crates/transaction-pool/src/validate/eth.rs @@ -18,7 +18,7 @@ use reth_primitives::{ kzg::KzgSettings, revm::compat::calculate_intrinsic_gas_after_merge, GotExpected, InvalidTransactionError, SealedBlock, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, - EIP4844_TX_TYPE_ID, FLUENT_TX_V1_TYPE_ID, LEGACY_TX_TYPE_ID, + EIP4844_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; use reth_provider::{AccountReader, BlockReaderIdExt, StateProviderFactory}; use reth_tasks::TaskSpawner; @@ -187,9 +187,6 @@ where ) } } - FLUENT_TX_V1_TYPE_ID => { - // additional validation rules - } _ => { return TransactionValidationOutcome::Invalid( @@ -730,9 +727,6 @@ pub fn ensure_intrinsic_gas( ); if tx_gas_limit < intrinsic_gas_after_merge { - if transaction.is_fluent_v1() && tx_gas_limit * 2 > intrinsic_gas_after_merge { - return Ok(()) - } Err(InvalidPoolTransactionError::IntrinsicGasTooLow) } else { Ok(()) diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 000000000..b61ebfcfb --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +nightly-2024-07-01 \ No newline at end of file