diff --git a/Cargo.lock b/Cargo.lock index 5c1658978..a3f52eef4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] @@ -83,14 +83,12 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy-chains" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805f7a974de5804f5c053edc6ca43b20883bdd3a733b3691200ae3a4b454a2db" +checksum = "94c225801d42099570d0674701dddd4142f0ef715282aeb5985042e2ec962df7" dependencies = [ "alloy-rlp", - "arbitrary", "num_enum", - "proptest", "serde", "strum 0.26.3", ] @@ -101,12 +99,28 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "629b62e38d471cc15fea534eb7283d2f8a4e8bdb1811bcc5d66dda6cfce6fae1" dependencies = [ - "alloy-eips", + "alloy-eips 0.3.6", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.3.6", + "c-kzg", + "serde", +] + +[[package]] +name = "alloy-consensus" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" +dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "arbitrary", + "auto_impl", "c-kzg", + "derive_more 1.0.0", "serde", ] @@ -118,11 +132,11 @@ checksum = "0eefe64fd344cffa9cf9e3435ec4e93e6e9c3481bc37269af988bf497faf4a6a" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-network", - "alloy-network-primitives", + "alloy-network 0.3.6", + "alloy-network-primitives 0.3.6", "alloy-primitives", "alloy-provider", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.3.6", "alloy-sol-types", "alloy-transport", "futures", @@ -132,9 +146,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4004925bff5ba0a11739ae84dbb6601a981ea692f3bd45b626935ee90a6b8471" +checksum = "f95d76a38cae906fd394a5afb0736aaceee5432efe76addfd71048e623e208af" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -163,9 +177,9 @@ dependencies = [ [[package]] name = "alloy-eip7702" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d319bb544ca6caeab58c39cea8921c55d924d4f68f2c60f24f914673f9a74a" +checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -185,7 +199,25 @@ dependencies = [ "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.3.6", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-eips" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", "arbitrary", "c-kzg", "derive_more 1.0.0", @@ -196,20 +228,20 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7a18afb0b318616b6b2b0e2e7ac5529d32a966c673b48091c9919e284e6aca" +checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" dependencies = [ "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9996daf962fd0a90d3c93b388033228865953b92de7bb1959b891d78750a4091" +checksum = "03c66eec1acdd96b39b995b8f5ee5239bc0c871d62c527ae1ac9fd1d7fecd455" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -231,20 +263,55 @@ dependencies = [ "tracing", ] +[[package]] +name = "alloy-json-rpc" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fa8a1a3c4cbd221f2b8e3693aeb328fca79a757fe556ed08e47bbbc2a70db7" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "alloy-network" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb3705ce7d8602132bcf5ac7a1dd293a42adc2f183abf5907c30ac535ceca049" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network-primitives", + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-json-rpc 0.3.6", + "alloy-network-primitives 0.3.6", + "alloy-primitives", + "alloy-rpc-types-eth 0.3.6", + "alloy-serde 0.3.6", + "alloy-signer 0.3.6", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "thiserror", +] + +[[package]] +name = "alloy-network" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85fa23a6a9d612b52e402c995f2d582c25165ec03ac6edf64c861a76bc5b87cd" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-json-rpc 0.4.2", + "alloy-network-primitives 0.4.2", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", + "alloy-signer 0.4.2", "alloy-sol-types", "async-trait", "auto_impl", @@ -258,17 +325,30 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94ad40869867ed2d9cd3842b1e800889e5b49e6b92da346e93862b4a741bedf3" dependencies = [ - "alloy-eips", + "alloy-eips 0.3.6", + "alloy-primitives", + "alloy-serde 0.3.6", + "serde", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-primitives" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411aff151f2a73124ee473708e82ed51b2535f68928b6a1caa8bc1246ae6f7cd" +checksum = "8ecb848c43f6b06ae3de2e4a67496cbbabd78ae87db0f1248934f15d76192c6a" dependencies = [ "alloy-rlp", "arbitrary", @@ -277,16 +357,22 @@ dependencies = [ "const-hex", "derive_arbitrary", "derive_more 1.0.0", + "foldhash", "getrandom", + "hashbrown 0.15.0", "hex-literal", + "indexmap 2.6.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", "proptest-derive", "rand", "ruint", + "rustc-hash 2.0.0", "serde", + "sha3", "tiny-keccak", ] @@ -297,14 +383,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "927f708dd457ed63420400ee5f06945df9632d5d101851952056840426a10dc5" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-network-primitives", + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-json-rpc 0.3.6", + "alloy-network 0.3.6", + "alloy-network-primitives 0.3.6", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.3.6", "alloy-transport", "async-stream", "async-trait", @@ -340,7 +426,7 @@ checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -349,7 +435,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d82952dca71173813d4e5733e2c986d8b04aea9e0f3b0a576664c232ad050a5" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 0.3.6", "alloy-transport", "alloy-transport-http", "futures", @@ -364,21 +450,22 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64333d639f2a0cf73491813c629a405744e16343a4bc5640931be707c345ecc5" +checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" dependencies = [ + "alloy-primitives", "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fefd12e99dd6b7de387ed13ad047ce2c90d8950ca62fc48b8a457ebb8f936c61" +checksum = "cb520ed46cc5b7d8c014a73fdd77b6a310383a2a5c0a5ae3c9b8055881f062b7" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -388,22 +475,22 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25cb45ad7c0930dd62eecf164d2afe4c3d2dd2c82af85680ad1f118e1e5cb83" +checksum = "d780adaa5d95b07ad92006b2feb68ecfa7e2015f7d5976ceaac4c906c73ebd07" dependencies = [ "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-rpc-types-beacon" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7081d2206dca51ce23a06338d78d9b536931cc3f15134fc1c6535eb2b77f18" +checksum = "7a8dc5980fe30203d698627cddb5f0cedc57f900c8b5e1229c8b9448e37acb4a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rpc-types-engine", "serde", @@ -413,9 +500,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9f9033796bb3078d11cc9c839f00e277431ef997db2849a46045fcffee3835" +checksum = "59d8f8c5bfb160081a772f1f68eb9a37e8929c4ef74e5d01f5b78c2b645a5c5e" dependencies = [ "alloy-primitives", "serde", @@ -423,18 +510,19 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1464c4dd646e1bdfde86ae65ce5ba168dbb29180b478011fe87117ae46b1629b" +checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "derive_more 1.0.0", - "jsonrpsee-types 0.24.4", + "jsonrpsee-types 0.24.6", "serde", + "strum 0.26.3", ] [[package]] @@ -443,45 +531,64 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83aa984386deda02482660aa31cb8ca1e63d533f1c31a52d7d181ac5ec68e9b8" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-network-primitives 0.3.6", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.3.6", "alloy-sol-types", - "arbitrary", "cfg-if", "derive_more 1.0.0", "hashbrown 0.14.5", "itertools 0.13.0", - "jsonrpsee-types 0.24.4", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-network-primitives 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "alloy-sol-types", + "arbitrary", + "derive_more 1.0.0", + "itertools 0.13.0", + "jsonrpsee-types 0.24.6", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-mev" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "922d92389e5022650c4c60ffd2f9b2467c3f853764f0f74ff16a23106f9017d5" +checksum = "7cec23ce56c869eec5f6b6fd6a8a92b5aa0cfaf8d7be3a96502e537554dc7430" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-trace" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98db35cd42c90b484377e6bc44d95377a7a38a5ebee996e67754ac0446d542ab" +checksum = "017cad3e5793c5613588c1f9732bcbad77e820ba7d0feaba3527749f856fdbc5" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", "serde", "serde_json", "thiserror", @@ -489,13 +596,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bac37082c3b21283b3faf5cc0e08974272aee2f756ce1adeb26db56a5fce0d5" +checksum = "2b230e321c416be7f50530159392b4c41a45596d40d97e185575bcd0b545e521" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", "serde", ] @@ -504,6 +611,17 @@ name = "alloy-serde" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731f75ec5d383107fd745d781619bd9cedf145836c51ecb991623d41278e71fa" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" dependencies = [ "alloy-primitives", "arbitrary", @@ -525,16 +643,30 @@ dependencies = [ "thiserror", ] +[[package]] +name = "alloy-signer" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd4e0ad79c81a27ca659be5d176ca12399141659fef2bcbfdc848da478f4504" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror", +] + [[package]] name = "alloy-signer-local" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fabe917ab1778e760b4701628d1cae8e028ee9d52ac6307de4e1e9286ab6b5f" +checksum = "494e0a256f3e99f2426f994bcd1be312c02cb8f88260088dacb33a8b8936475f" dependencies = [ - "alloy-consensus", - "alloy-network", + "alloy-consensus 0.4.2", + "alloy-network 0.4.2", "alloy-primitives", - "alloy-signer", + "alloy-signer 0.4.2", "async-trait", "k256", "rand", @@ -543,56 +675,56 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0458ccb02a564228fcd76efb8eb5a520521a8347becde37b402afec9a1b83859" +checksum = "661c516eb1fa3294cc7f2fb8955b3b609d639c282ac81a4eedb14d3046db503a" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc65475025fc1e84bf86fc840f04f63fcccdcf3cf12053c99918e4054dfbc69" +checksum = "ecbabb8fc3d75a0c2cea5215be22e7a267e3efde835b0f2a8922f5e3f5d47683" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed10f0715a0b69fde3236ff3b9ae5f6f7c97db5a387747100070d3016b9266b" +checksum = "16517f2af03064485150d89746b8ffdcdbc9b6eeb3d536fb66efd7c2846fbc75" dependencies = [ "const-hex", "dunce", "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3edae8ea1de519ccba896b6834dec874230f72fe695ff3c9c118e90ec7cff783" +checksum = "c07ebb0c1674ff8cbb08378d7c2e0e27919d2a2dae07ad3bca26174deda8d389" dependencies = [ "serde", "winnow", @@ -600,9 +732,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eb88e4da0a1b697ed6a9f811fdba223cf4d5c21410804fd1707836af73a462b" +checksum = "8e448d879903624863f608c552d10efb0e0905ddbee98b0049412799911eb062" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -617,7 +749,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33616b2edf7454302a1d48084db185e52c309f73f6c10be99b0fe39354b3f1e9" dependencies = [ - "alloy-json-rpc", + "alloy-json-rpc 0.3.6", "base64 0.22.1", "futures-util", "futures-utils-wasm", @@ -642,14 +774,13 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a46c9c4fdccda7982e7928904bd85fe235a0404ee3d7e197fff13d61eac8b4f" +checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" dependencies = [ "alloy-primitives", "alloy-rlp", "derive_more 1.0.0", - "hashbrown 0.14.5", "nybbles", "serde", "smallvec", @@ -737,7 +868,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -987,9 +1118,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-compression" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429" dependencies = [ "brotli", "flate2", @@ -1003,9 +1134,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", @@ -1014,24 +1145,24 @@ 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.77", + "syn 2.0.79", ] [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1067,20 +1198,20 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070" +checksum = "cdd82dba44d209fddb11c190e0a94b78651f95299598e472215667417a03ff1d" dependencies = [ "aws-lc-sys", "mirai-annotations", @@ -1090,11 +1221,11 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62" +checksum = "df7a4168111d7eb622a31b214057b8509c0a7e1794f44c546d742330dc793972" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.69.5", "cc", "cmake", "dunce", @@ -1243,14 +1374,14 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "bindgen" -version = "0.69.4" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "bitflags 2.6.0", "cexpr", @@ -1265,10 +1396,28 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.79", "which 4.4.2", ] +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.79", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -1348,7 +1497,7 @@ dependencies = [ "cairo-lang-utils", "cairo-vm", "derive_more 0.99.18", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.10.5", "keccak", "log", @@ -1408,7 +1557,7 @@ dependencies = [ "pin-project-lite", "rustls 0.22.4", "rustls-native-certs 0.7.3", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_derive", @@ -1436,9 +1585,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", @@ -1465,7 +1614,7 @@ dependencies = [ "base64 0.13.1", "bitvec", "hex", - "indexmap 2.5.0", + "indexmap 2.6.0", "js-sys", "once_cell", "rand", @@ -1483,7 +1632,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", ] @@ -1648,7 +1797,7 @@ dependencies = [ "quote", "serde_json", "starknet", - "syn 2.0.77", + "syn 2.0.79", "thiserror", ] @@ -1666,7 +1815,7 @@ dependencies = [ "quote", "serde_json", "starknet", - "syn 2.0.77", + "syn 2.0.79", "thiserror", ] @@ -1684,7 +1833,7 @@ dependencies = [ "quote", "serde_json", "starknet", - "syn 2.0.77", + "syn 2.0.79", "thiserror", ] @@ -1852,7 +2001,7 @@ checksum = "e32e958decd95ae122ee64daa26721da2f76e83231047f947fd9cdc5d3c90cc6" dependencies = [ "quote", "scarb-stable-hash 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1908,7 +2057,7 @@ checksum = "3d55dcf98a6e1a03e0b36129fad4253f9e6666a1746ab9c075d212ba68a4e9c1" dependencies = [ "cairo-lang-debug", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2229,7 +2378,7 @@ checksum = "8bd5c8c127b9362a12ffb9dede38e792c81b4ded5a98b448baec157b745f47d1" dependencies = [ "env_logger", "hashbrown 0.14.5", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "log", "num-bigint", @@ -2305,9 +2454,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.21" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" +checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" dependencies = [ "jobserver", "libc", @@ -2367,9 +2516,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.18" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -2377,9 +2526,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.18" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -2389,9 +2538,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.29" +version = "4.5.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8937760c3f4c60871870b8c3ee5f9b30771f792a7045c48bcbba999d7d6b3b8e" +checksum = "9646e2e245bf62f45d39a0f3f36f1171ad1ea0d6967fd114bca72cb02a8fcdfb" dependencies = [ "clap", ] @@ -2405,7 +2554,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2488,9 +2637,9 @@ checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" [[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", @@ -2732,7 +2881,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2754,7 +2903,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2799,9 +2948,9 @@ dependencies = [ [[package]] name = "deno_task_shell" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1b0c646a53492068b6675af74cecbef486e670be2c0cdd06e7e636d167e50f" +checksum = "4f444918f7102c1a5a143e9d57809e499fb4d365070519bf2e8bdb16d586af2a" dependencies = [ "anyhow", "futures", @@ -2853,38 +3002,38 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "derive_builder" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "derive_builder_macro" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2897,7 +3046,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2918,7 +3067,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "unicode-xid", ] @@ -3056,7 +3205,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3187,7 +3336,7 @@ source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.14#6bafcb55178 dependencies = [ "anyhow", "futures", - "reqwest 0.12.7", + "reqwest 0.12.8", "rpassword", "starknet", "thiserror", @@ -3361,7 +3510,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3372,7 +3521,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3562,9 +3711,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -3576,6 +3725,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 = "foreign-types" version = "0.3.2" @@ -3610,7 +3765,7 @@ dependencies = [ "alloy-json-abi", "alloy-primitives", "foundry-compilers", - "reqwest 0.12.7", + "reqwest 0.12.8", "semver 1.0.23", "serde", "serde_json", @@ -3620,9 +3775,9 @@ dependencies = [ [[package]] name = "foundry-compilers" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d91e510bd537970f68f8462dea0e8df0a2302d4749fb57bc8e10bbd32a283e2" +checksum = "7c6cc925fc9fdd73f1038c528fef17ddbdd7512311809ace7d1860fe3666dbb5" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -3653,9 +3808,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9971eefe4eae1cf2ac707beb4d40f63304b34c81c0961d299e461c14a23b1e7" +checksum = "0d5c999c80c6d702c51522f5b4a805bec5fcae978637f0c337fa5c7a4b43d863" dependencies = [ "foundry-compilers-artifacts-solc", "foundry-compilers-artifacts-vyper", @@ -3663,9 +3818,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-solc" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde3d12776c295ad85bcdbbae18f4601e384f40a62b0e3371d880bbcd91c65c" +checksum = "3747cfeab1fc8299d70ceae0a28b7e2e005324e8eba78ac7d06729d67be5a1ec" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -3685,9 +3840,9 @@ dependencies = [ [[package]] name = "foundry-compilers-artifacts-vyper" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "569a769f6105248816c253715ec39977d61d369e9c67e4774d6870da8f64dffc" +checksum = "dbd5c142355bd4822b8a7ec37268cfafe37b2e36835fa8d067b2b9d5a22c7529" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -3700,14 +3855,13 @@ dependencies = [ [[package]] name = "foundry-compilers-core" -version = "0.11.1" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f10ade77fa0eab75e142a76711c42a258781bad0c4516ad64aa413297ebb72e" +checksum = "e1291c05a4c8c3b4558eb1b50f53ee1f1b599ff2490d62cdc519ad5ae4b088d6" dependencies = [ "alloy-primitives", "cfg-if", "dunce", - "memmap2", "once_cell", "path-slash", "regex", @@ -3723,7 +3877,7 @@ dependencies = [ [[package]] name = "foundry-config" version = "0.2.0" -source = "git+https://github.com/foundry-rs/foundry?branch=master#cba6e97fcdaedc2aad5c3b25f32be20ec2068e87" +source = "git+https://github.com/foundry-rs/foundry?branch=master#a96b8266cf1f11e08ef0dfca9325ea6560d17c55" dependencies = [ "Inflector", "alloy-chains", @@ -3740,7 +3894,7 @@ dependencies = [ "number_prefix", "path-slash", "regex", - "reqwest 0.12.7", + "reqwest 0.12.8", "revm-primitives", "semver 1.0.23", "serde", @@ -3752,6 +3906,7 @@ dependencies = [ "toml_edit", "tracing", "walkdir", + "yansi", ] [[package]] @@ -3805,9 +3960,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", @@ -3820,9 +3975,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", @@ -3830,15 +3985,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", @@ -3847,32 +4002,32 @@ 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-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.77", + "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" @@ -3882,9 +4037,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[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", @@ -3923,7 +4078,7 @@ checksum = "553630feadf7b76442b0849fd25fdf89b860d933623aec9693fed19af0400c78" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3952,9 +4107,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "gix" @@ -4774,8 +4929,8 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -4822,7 +4977,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -4841,7 +4996,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -4874,6 +5029,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 = "hdrhistogram" version = "7.5.4" @@ -4911,6 +5078,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -5064,9 +5237,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[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" @@ -5086,6 +5259,16 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "humantime-serde" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +dependencies = [ + "humantime", + "serde", +] + [[package]] name = "hyper" version = "0.14.30" @@ -5218,7 +5401,7 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "log", - "rustls 0.23.13", + "rustls 0.23.14", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -5254,9 +5437,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -5267,7 +5450,6 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] @@ -5352,7 +5534,7 @@ dependencies = [ "globset", "log", "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.8", "same-file", "walkdir", "winapi-util", @@ -5450,12 +5632,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ + "arbitrary", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "serde", ] @@ -5593,20 +5776,31 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c25163201be6ded9e686703e85532f8f852ea1f92ba625cb3c51f7fe6d07a4a" +checksum = "44bd7eced44cfe2cebc674adb2a7124a754a4b5269288d22e9f39f8fada3562d" dependencies = [ "memchr", "serde", ] +[[package]] +name = "is-terminal" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +dependencies = [ + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -5744,14 +5938,14 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.24.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd1ead9fb95614e8dc5556d12a8681c2f6d352d0c1d3efc8708c7ccbba47bc6" +checksum = "02f01f48e04e0d7da72280ab787c9943695699c9b32b99158ece105e8ad0afea" dependencies = [ - "jsonrpsee-core 0.24.4", - "jsonrpsee-proc-macros 0.24.4", - "jsonrpsee-server 0.24.4", - "jsonrpsee-types 0.24.4", + "jsonrpsee-core 0.24.6", + "jsonrpsee-proc-macros 0.24.6", + "jsonrpsee-server 0.24.6", + "jsonrpsee-types 0.24.6", "tokio", "tracing", ] @@ -5784,9 +5978,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff79651479f69ada7bda604ef2acf3f1aa50755d97cc36d25ff04c2664f9d96f" +checksum = "3c2709a32915d816a6e8f625bf72cf74523ebe5d8829f895d6b041b1d3137818" dependencies = [ "async-trait", "bytes", @@ -5794,7 +5988,7 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "http-body-util", - "jsonrpsee-types 0.24.4", + "jsonrpsee-types 0.24.6", "parking_lot 0.12.3", "rand", "rustc-hash 2.0.0", @@ -5820,15 +6014,15 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d4c6bec4909c966f59f52db3655c0e9d4685faae8b49185973d9d7389bb884" +checksum = "3a9a4b2eaba8cc928f49c4ccf4fcfa65b690a73997682da99ed08f3393b51f07" dependencies = [ "heck 0.5.0", "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5855,9 +6049,9 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.24.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe2198e5fd96cf2153ecc123364f699b6e2151317ea09c7bf799c43c2fe1415" +checksum = "e30110d0f2d7866c8cc6c86483bdab2eb9f4d2f0e20db55518b2bca84651ba8e" dependencies = [ "futures-util", "http 1.1.0", @@ -5865,8 +6059,8 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-util", - "jsonrpsee-core 0.24.4", - "jsonrpsee-types 0.24.4", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", "pin-project", "route-recognizer", "serde", @@ -5896,9 +6090,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.4" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531e386460425e49679587871a056f2895a47dade21457324ad1262cd78ef6d9" +checksum = "1ca331cd7b3fe95b33432825c2d4c9f5a43963e207fdc01ae67f9fd80ab0930f" dependencies = [ "http 1.1.0", "serde", @@ -5906,6 +6100,21 @@ dependencies = [ "thiserror", ] +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem", + "ring 0.17.8", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "k256" version = "0.13.4" @@ -5923,12 +6132,18 @@ dependencies = [ name = "kakarot-rpc" version = "0.7.0" dependencies = [ + "alloy-consensus 0.4.2", "alloy-contract", "alloy-dyn-abi", + "alloy-eips 0.4.2", "alloy-json-abi", "alloy-primitives", "alloy-rlp", - "alloy-signer", + "alloy-rpc-types", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde 0.4.2", + "alloy-signer 0.4.2", "alloy-signer-local", "alloy-sol-types", "anyhow", @@ -5948,7 +6163,7 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "itertools 0.13.0", - "jsonrpsee 0.24.4", + "jsonrpsee 0.24.6", "katana-primitives", "mockall", "mongodb", @@ -5961,15 +6176,15 @@ dependencies = [ "proptest", "rand", "rayon", - "reqwest 0.12.7", + "reqwest 0.12.8", "reth-chainspec", "reth-evm-ethereum", "reth-execution-types", "reth-node-api", "reth-primitives", "reth-revm", + "reth-rpc", "reth-rpc-eth-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-testing-utils", "reth-transaction-pool", @@ -6310,7 +6525,7 @@ dependencies = [ "petgraph", "pico-args", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "string_cache", "term", "tiny-keccak", @@ -6324,14 +6539,14 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata 0.4.7", + "regex-automata 0.4.8", ] [[package]] name = "lambdaworks-crypto" -version = "0.7.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb5d4f22241504f7c7b8d2c3a7d7835d7c07117f10bff2a7d96a9ef6ef217c3" +checksum = "bbc2a4da0d9e52ccfe6306801a112e81a8fc0c76aa3e4449fefeda7fef72bb34" dependencies = [ "lambdaworks-math", "serde", @@ -6341,9 +6556,9 @@ dependencies = [ [[package]] name = "lambdaworks-math" -version = "0.7.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "358e172628e713b80a530a59654154bfc45783a6ed70ea284839800cebdf8f97" +checksum = "d1bd2632acbd9957afc5aeec07ad39f078ae38656654043bf16e046fa2730e23" dependencies = [ "serde", "serde_json", @@ -6366,9 +6581,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" @@ -6388,11 +6603,11 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[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", ] @@ -6405,7 +6620,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall 0.5.4", + "redox_syscall 0.5.7", ] [[package]] @@ -6431,7 +6646,7 @@ checksum = "cb26336e6dc7cc76e7927d2c9e7e3bb376d7af65a6f56a0b16c47d18a9b1abc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6464,11 +6679,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]] @@ -6580,7 +6795,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6594,7 +6809,7 @@ dependencies = [ "hyper 1.4.1", "hyper-rustls 0.27.3", "hyper-util", - "indexmap 2.5.0", + "indexmap 2.6.0", "ipnet", "metrics", "metrics-util", @@ -6616,7 +6831,7 @@ dependencies = [ "once_cell", "procfs", "rlimit", - "windows 0.57.0", + "windows", ] [[package]] @@ -6629,10 +6844,10 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.5.0", + "indexmap 2.6.0", "metrics", "num_cpus", - "ordered-float 4.2.2", + "ordered-float 4.3.0", "quanta", "radix_trie", "sketches-ddsketch", @@ -6697,7 +6912,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "wasi", "windows-sys 0.52.0", @@ -6732,7 +6947,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6816,7 +7031,7 @@ checksum = "3a6dbc533e93429a71c44a14c04547ac783b56d3f22e6c4f12b1b994cf93844e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7101,7 +7316,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -7122,7 +7337,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7155,18 +7370,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +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" @@ -7176,15 +7391,15 @@ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "op-alloy-consensus" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21aad1fbf80d2bcd7406880efc7ba109365f44bbb72896758ddcbfa46bf1592c" +checksum = "c4f7f318f885db6e1455370ca91f74b7faed152c8142f6418f0936d606e582ff" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "derive_more 1.0.0", "serde", "spin 0.9.8", @@ -7192,12 +7407,12 @@ dependencies = [ [[package]] name = "op-alloy-genesis" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1b8a9b70da0e027242ec1762f0f3a386278b6291d00d12ff5a64929dc19f68" +checksum = "c8215c87b74d2fbbaff0fd2887868a8341df33a3c495ee01f813e5ddd5be9c46" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-sol-types", "serde", @@ -7206,16 +7421,16 @@ dependencies = [ [[package]] name = "op-alloy-protocol" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf300a82ae2d30e2255bfea87a2259da49f63a25a44db561ae64cc9e3084139f" +checksum = "fa5c397fbe35e07f9c95a571440ca2e90df754e198496d82ff4127de00b89dd9" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", - "hashbrown 0.14.5", + "alloy-serde 0.4.2", + "derive_more 1.0.0", "op-alloy-consensus", "op-alloy-genesis", "serde", @@ -7223,17 +7438,16 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281fbfc2198b7c0c16457d6524f83d192662bc9f3df70f24c3038d4521616df" +checksum = "547d29c5ab957ff32e14edddb93652dad748d2ef6cbe4b0fe8615ce06b0a3ddb" dependencies = [ - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-network-primitives 0.4.2", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "cfg-if", - "hashbrown 0.14.5", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", "op-alloy-consensus", "serde", "serde_json", @@ -7241,17 +7455,14 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2947272a81ebf988f4804b6f0f6a7c0b2f6f89a908cb410e36f8f3828f81c778" +checksum = "5041122e20b76644cc690bba688671eecdc4626e6384a76eb740535d6ddcef14" dependencies = [ - "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", - "alloy-serde", + "alloy-serde 0.4.2", "derive_more 1.0.0", - "op-alloy-consensus", - "op-alloy-genesis", "op-alloy-protocol", "serde", ] @@ -7285,7 +7496,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7364,7 +7575,7 @@ dependencies = [ "lazy_static", "once_cell", "opentelemetry", - "ordered-float 4.2.2", + "ordered-float 4.3.0", "percent-encoding", "rand", "thiserror", @@ -7389,9 +7600,9 @@ dependencies = [ [[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 0.2.19", ] @@ -7492,7 +7703,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.4", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -7505,7 +7716,7 @@ checksum = "914a1c2265c98e2446911282c6ac86d8524f495792c38c5bd884f80499c7538a" dependencies = [ "parse-display-derive", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -7517,9 +7728,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "structmeta", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7601,7 +7812,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7610,6 +7821,16 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -7634,7 +7855,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap 2.6.0", ] [[package]] @@ -7667,7 +7888,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7696,22 +7917,22 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[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.77", + "syn 2.0.79", ] [[package]] @@ -7744,9 +7965,9 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "portable-atomic" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d30538d42559de6b034bc76fd6dd4c38961b1ee5c6c56e3808c50128fdbc22ce" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "postcard" @@ -7825,7 +8046,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7903,14 +8124,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[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", ] @@ -7923,7 +8144,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "version_check", "yansi", ] @@ -7989,7 +8210,7 @@ dependencies = [ "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -8013,7 +8234,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -8036,7 +8257,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -8071,7 +8292,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.0.0", - "rustls 0.23.13", + "rustls 0.23.14", "socket2", "thiserror", "tokio", @@ -8088,7 +8309,7 @@ dependencies = [ "rand", "ring 0.17.8", "rustc-hash 2.0.0", - "rustls 0.23.13", + "rustls 0.23.14", "slab", "thiserror", "tinyvec", @@ -8152,6 +8373,7 @@ dependencies = [ "libc", "rand_chacha", "rand_core", + "serde", ] [[package]] @@ -8184,9 +8406,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", ] @@ -8237,9 +8459,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] @@ -8257,14 +8479,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]] @@ -8278,13 +8500,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]] @@ -8295,9 +8517,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 = "relative-path" @@ -8355,9 +8577,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.7" +version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ "base64 0.22.1", "bytes", @@ -8381,9 +8603,9 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.13", - "rustls-native-certs 0.7.3", - "rustls-pemfile 2.1.3", + "rustls 0.23.14", + "rustls-native-certs 0.8.0", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", @@ -8411,10 +8633,44 @@ dependencies = [ "quick-error", ] +[[package]] +name = "reth-beacon-consensus" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine", + "futures", + "itertools 0.13.0", + "metrics", + "reth-blockchain-tree-api", + "reth-engine-primitives", + "reth-errors", + "reth-ethereum-consensus", + "reth-metrics", + "reth-network-p2p", + "reth-node-types", + "reth-payload-builder", + "reth-payload-primitives", + "reth-payload-validator", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-stages-api", + "reth-static-file", + "reth-tasks", + "reth-tokio-util", + "schnellru", + "thiserror", + "tokio", + "tokio-stream", + "tracing", +] + [[package]] name = "reth-blockchain-tree-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "reth-consensus", @@ -8426,10 +8682,10 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "auto_impl", "derive_more 1.0.0", @@ -8450,11 +8706,11 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-chains", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-trie", @@ -8470,35 +8726,48 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-trie", "bytes", "modular-bitfield", "reth-codecs-derive", - "serde", ] [[package]] name = "reth-codecs-derive" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", +] + +[[package]] +name = "reth-config" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "eyre", + "humantime-serde", + "reth-network-types", + "reth-prune-types", + "reth-stages-types", + "serde", + "toml 0.8.19", ] [[package]] name = "reth-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "auto_impl", @@ -8508,19 +8777,20 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-primitives", + "revm-primitives", ] [[package]] name = "reth-db" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "bytes", @@ -8531,7 +8801,7 @@ dependencies = [ "paste", "reth-db-api", "reth-fs-util", - "reth-libmdbx 1.0.7", + "reth-libmdbx 1.0.8", "reth-metrics", "reth-nippy-jar", "reth-primitives", @@ -8550,9 +8820,10 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-genesis", "alloy-primitives", "bytes", "derive_more 1.0.0", @@ -8572,8 +8843,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "bytes", @@ -8585,10 +8856,10 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "reth-chainspec", + "alloy-primitives", "reth-execution-types", "reth-payload-primitives", "reth-primitives", @@ -8598,8 +8869,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "reth-blockchain-tree-api", "reth-consensus", @@ -8611,11 +8882,11 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-chains", - "alloy-genesis", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "bytes", @@ -8628,9 +8899,10 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -8640,16 +8912,18 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-engine-primitives", "reth-payload-primitives", "reth-primitives", - "reth-rpc-types", "reth-rpc-types-compat", "serde", "sha2", @@ -8657,8 +8931,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8677,10 +8951,11 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", + "alloy-primitives", "auto_impl", "futures-util", "metrics", @@ -8698,10 +8973,11 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-sol-types", "reth-chainspec", "reth-ethereum-consensus", @@ -8716,10 +8992,10 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "derive_more 1.0.0", @@ -8732,19 +9008,32 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "reth-execution-errors", "reth-primitives", "reth-trie", "revm", ] +[[package]] +name = "reth-exex-types" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "reth-chain-state", + "reth-execution-types", +] + [[package]] name = "reth-fs-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "serde", "serde_json", @@ -8759,7 +9048,7 @@ dependencies = [ "bitflags 2.6.0", "byteorder", "derive_more 0.99.18", - "indexmap 2.5.0", + "indexmap 2.6.0", "libc", "parking_lot 0.12.3", "reth-mdbx-sys 0.1.0-alpha.13", @@ -8768,16 +9057,17 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "bitflags 2.6.0", "byteorder", "dashmap", "derive_more 1.0.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "parking_lot 0.12.3", - "reth-mdbx-sys 1.0.7", + "reth-mdbx-sys 1.0.8", + "smallvec", "thiserror", "tracing", ] @@ -8794,45 +9084,34 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.70.1", "cc", ] [[package]] name = "reth-metrics" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "metrics", - "reth-metrics-derive", -] - -[[package]] -name = "reth-metrics-derive" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" -dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 2.0.77", + "metrics-derive", ] [[package]] name = "reth-net-banlist" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-network-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", @@ -8854,9 +9133,10 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "auto_impl", "derive_more 1.0.0", @@ -8873,12 +9153,13 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "alloy-rlp", "enr", + "secp256k1", "serde_with", "thiserror", "url", @@ -8886,20 +9167,22 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "humantime-serde", "reth-ethereum-forks", "reth-net-banlist", "reth-network-peers", + "serde", "serde_json", "tracing", ] [[package]] name = "reth-nippy-jar" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "anyhow", "bincode 1.3.3", @@ -8915,8 +9198,8 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "reth-engine-primitives", "reth-evm", @@ -8933,8 +9216,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "reth-chainspec", "reth-db-api", @@ -8943,22 +9226,19 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", + "alloy-rpc-types", + "async-trait", "futures-util", "metrics", - "pin-project", - "reth-errors", "reth-ethereum-engine-primitives", "reth-metrics", "reth-payload-primitives", "reth-primitives", "reth-provider", - "reth-rpc-types", - "reth-transaction-pool", - "thiserror", "tokio", "tokio-stream", "tracing", @@ -8966,33 +9246,48 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", + "alloy-rpc-types", + "async-trait", + "op-alloy-rpc-types-engine", + "pin-project", "reth-chain-state", "reth-chainspec", "reth-errors", "reth-primitives", - "reth-rpc-types", "reth-transaction-pool", "serde", "thiserror", "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-payload-validator" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-rpc-types", + "reth-chainspec", + "reth-primitives", + "reth-rpc-types-compat", ] [[package]] name = "reth-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "alloy-rpc-types", - "alloy-serde", + "alloy-serde 0.4.2", "arbitrary", "bytes", "c-kzg", @@ -9002,8 +9297,8 @@ dependencies = [ "once_cell", "op-alloy-rpc-types", "proptest", + "rand", "rayon", - "reth-chainspec", "reth-codecs", "reth-ethereum-forks", "reth-primitives-traits", @@ -9017,15 +9312,14 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-eth", "arbitrary", "byteorder", "bytes", @@ -9041,10 +9335,10 @@ dependencies = [ [[package]] name = "reth-provider" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -9081,10 +9375,36 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-prune" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-primitives", + "itertools 0.13.0", + "metrics", + "rayon", + "reth-chainspec", + "reth-config", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-exex-types", + "reth-metrics", + "reth-provider", + "reth-prune-types", + "reth-static-file-types", + "reth-tokio-util", + "rustc-hash 2.0.0", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "reth-prune-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "bytes", @@ -9097,9 +9417,10 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-primitives", "reth-chainspec", "reth-consensus-common", "reth-execution-errors", @@ -9110,21 +9431,148 @@ dependencies = [ "revm", ] +[[package]] +name = "reth-rpc" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-dyn-abi", + "alloy-eips 0.4.2", + "alloy-genesis", + "alloy-network 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-debug", + "alloy-rpc-types-eth 0.4.2", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde 0.4.2", + "alloy-signer 0.4.2", + "alloy-signer-local", + "async-trait", + "derive_more 1.0.0", + "futures", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "jsonrpsee 0.24.6", + "jsonwebtoken", + "parking_lot 0.12.3", + "pin-project", + "rand", + "reth-chainspec", + "reth-consensus-common", + "reth-errors", + "reth-evm", + "reth-network-api", + "reth-network-peers", + "reth-network-types", + "reth-node-api", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc-api", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-tasks", + "reth-transaction-pool", + "reth-trie", + "revm", + "revm-inspectors", + "revm-primitives", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tracing", + "tracing-futures", +] + +[[package]] +name = "reth-rpc-api" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-json-rpc 0.4.2", + "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-anvil", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth 0.4.2", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde 0.4.2", + "jsonrpsee 0.24.6", + "reth-engine-primitives", + "reth-network-peers", + "reth-primitives", + "reth-rpc-eth-api", +] + +[[package]] +name = "reth-rpc-engine-api" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rpc-types-engine", + "async-trait", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", + "metrics", + "reth-beacon-consensus", + "reth-chainspec", + "reth-engine-primitives", + "reth-evm", + "reth-metrics", + "reth-payload-builder", + "reth-payload-primitives", + "reth-primitives", + "reth-rpc-api", + "reth-rpc-types-compat", + "reth-storage-api", + "reth-tasks", + "reth-transaction-pool", + "serde", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "reth-rpc-eth-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-dyn-abi", - "alloy-json-rpc", - "alloy-network", + "alloy-eips 0.4.2", + "alloy-json-rpc 0.4.2", + "alloy-network 0.4.2", "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-eth 0.4.2", + "alloy-rpc-types-mev", "async-trait", "auto_impl", "dyn-clone", "futures", - "jsonrpsee 0.24.4", - "jsonrpsee-types 0.24.4", + "jsonrpsee 0.24.6", + "jsonrpsee-types 0.24.6", "parking_lot 0.12.3", "reth-chainspec", "reth-errors", @@ -9136,7 +9584,6 @@ dependencies = [ "reth-revm", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-tasks", "reth-transaction-pool", @@ -9150,16 +9597,20 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", "alloy-sol-types", "derive_more 1.0.0", "futures", - "jsonrpsee-core 0.24.4", - "jsonrpsee-types 0.24.4", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", "metrics", "rand", "reth-chain-state", @@ -9171,7 +9622,6 @@ dependencies = [ "reth-primitives", "reth-revm", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", @@ -9190,58 +9640,66 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", - "jsonrpsee-core 0.24.4", - "jsonrpsee-types 0.24.4", + "alloy-rpc-types-engine", + "jsonrpsee-core 0.24.6", + "jsonrpsee-types 0.24.6", "reth-errors", "reth-network-api", "reth-primitives", - "reth-rpc-types", "serde", "strum 0.26.3", ] [[package]] -name = "reth-rpc-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +name = "reth-rpc-types-compat" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-anvil", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "jsonrpsee-types 0.24.4", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", + "reth-primitives", + "reth-trie-common", ] [[package]] -name = "reth-rpc-types-compat" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +name = "reth-stages-api" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types", - "reth-primitives", - "reth-rpc-types", - "reth-trie-common", + "aquamarine", + "auto_impl", + "futures-util", + "metrics", + "reth-consensus", + "reth-errors", + "reth-metrics", + "reth-network-p2p", + "reth-primitives-traits", + "reth-provider", + "reth-prune", + "reth-stages-types", + "reth-static-file", + "reth-static-file-types", + "reth-tokio-util", + "thiserror", + "tokio", + "tracing", ] [[package]] name = "reth-stages-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "bytes", @@ -9251,10 +9709,32 @@ dependencies = [ "serde", ] +[[package]] +name = "reth-static-file" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" +dependencies = [ + "alloy-primitives", + "parking_lot 0.12.3", + "rayon", + "reth-chainspec", + "reth-db", + "reth-db-api", + "reth-nippy-jar", + "reth-node-types", + "reth-provider", + "reth-prune-types", + "reth-stages-types", + "reth-static-file-types", + "reth-storage-errors", + "reth-tokio-util", + "tracing", +] + [[package]] name = "reth-static-file-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "derive_more 1.0.0", @@ -9264,10 +9744,10 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "auto_impl", "reth-chainspec", @@ -9283,10 +9763,10 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "derive_more 1.0.0", @@ -9296,8 +9776,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "auto_impl", "dyn-clone", @@ -9314,10 +9794,11 @@ dependencies = [ [[package]] name = "reth-testing-utils" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "rand", @@ -9327,8 +9808,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "tokio", "tokio-stream", @@ -9337,8 +9818,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "clap", "eyre", @@ -9352,10 +9833,10 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "aquamarine", @@ -9386,8 +9867,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9408,10 +9889,10 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -9428,8 +9909,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.7#75b7172cf77eb4fd65fe1a6924f75066fb09fcd1" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth.git?rev=e427eb2#e427eb202715d12e09ba99df653e537cf5f5926a" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9453,9 +9934,9 @@ dependencies = [ [[package]] name = "revm" -version = "14.0.2" +version = "14.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f3f55d0414c3d73902d876ba3d55a654f05fe937089fbf5f34b1ced26d78d5" +checksum = "641702b12847f9ed418d552f4fcabe536d867a2c980e96b6e7e25d7b992f929f" dependencies = [ "auto_impl", "cfg-if", @@ -9468,12 +9949,12 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57b33a24b5b8b8efa1da3f60d44f02d6e649f06ef925d7780723ff14ff55321" +checksum = "43c44af0bf801f48d25f7baf25cf72aff4c02d610f83b428175228162fef0246" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.4.2", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", @@ -9485,9 +9966,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.2" +version = "10.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713dbb271acd13afb06dcd460c1dc43da211e7ac9bc73cdf13528f615f55f96b" +checksum = "2e5e14002afae20b5bf1566f22316122f42f57517000e559c55b25bf7a49cba2" dependencies = [ "revm-primitives", "serde", @@ -9495,9 +9976,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.2" +version = "11.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73010c271d53fa7904e9845338e95f3955eb1200a0355e0abfdb89c41aaa9cd" +checksum = "3198c06247e8d4ad0d1312591edf049b0de4ddffa9fecb625c318fd67db8639b" dependencies = [ "aurora-engine-modexp", "blst", @@ -9514,11 +9995,12 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "9.0.2" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a6bff9dbde3370a5ac9555104117f7e6039b3cc76e8d5d9d01899088beca2a" +checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" dependencies = [ - "alloy-eips", + "alloy-eip2930", + "alloy-eip7702", "alloy-primitives", "auto_impl", "bitflags 2.6.0", @@ -9527,7 +10009,6 @@ dependencies = [ "cfg-if", "dyn-clone", "enumn", - "hashbrown 0.14.5", "hex", "serde", ] @@ -9686,7 +10167,7 @@ dependencies = [ "regex", "relative-path", "rustc_version 0.4.1", - "syn 2.0.77", + "syn 2.0.79", "unicode-ident", ] @@ -9758,6 +10239,9 @@ name = "rustc-hash" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +dependencies = [ + "rand", +] [[package]] name = "rustc-hex" @@ -9846,9 +10330,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.13" +version = "0.23.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" dependencies = [ "aws-lc-rs", "log", @@ -9879,7 +10363,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "rustls-pki-types", "schannel", "security-framework", @@ -9892,7 +10376,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "rustls-pki-types", "schannel", "security-framework", @@ -9909,19 +10393,18 @@ 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-webpki" @@ -10154,9 +10637,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ "windows-sys 0.59.0", ] @@ -10183,7 +10666,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10355,7 +10838,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10366,7 +10849,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10375,7 +10858,7 @@ version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -10411,14 +10894,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[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 +10920,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.5.0", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -10455,14 +10938,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 0.20.10", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10603,6 +11086,18 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits 0.2.19", + "thiserror", + "time", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -10865,7 +11360,7 @@ checksum = "bbc159a1934c7be9761c237333a57febe060ace2bc9e3b337a59a37af206d19f" dependencies = [ "starknet-curve 0.4.2", "starknet-ff", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10914,7 +11409,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8986a940af916fc0a034f4e42c6ba76d94f1e97216d75447693dfd7aefaf3ef2" dependencies = [ "starknet-core", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10957,9 +11452,9 @@ dependencies = [ [[package]] name = "starknet-types-core" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b889ee5734db8b3c8a6551135c16764bf4ce1ab4955fffbb2ac5b6706542b64" +checksum = "fa1b9e01ccb217ab6d475c5cda05dbb22c30029f7bb52b192a010a00d77a3d74" dependencies = [ "lambdaworks-crypto", "lambdaworks-math", @@ -10980,7 +11475,7 @@ dependencies = [ "cairo-lang-starknet-classes", "derive_more 0.99.18", "hex", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "once_cell", "primitive-types", @@ -11003,7 +11498,7 @@ dependencies = [ "cairo-lang-starknet-classes", "derive_more 0.99.18", "hex", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.12.1", "once_cell", "primitive-types", @@ -11068,7 +11563,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11079,7 +11574,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11126,7 +11621,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11139,7 +11634,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11170,7 +11665,7 @@ dependencies = [ "const-hex", "dirs 5.0.1", "fs4 0.9.1", - "reqwest 0.12.7", + "reqwest 0.12.8", "semver 1.0.23", "serde", "serde_json", @@ -11207,9 +11702,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -11218,14 +11713,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b95156f8b577cb59dc0b1df15c6f29a10afc5f8a7ac9786b0b5c68c19149278" +checksum = "20e7b52ad118b2153644eea95c6fc740b6c1555b2344fdab763fc9de4075f665" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11257,16 +11752,15 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", - "windows 0.52.0", + "windows", ] [[package]] @@ -11304,9 +11798,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" dependencies = [ "filetime", "libc", @@ -11315,9 +11809,9 @@ dependencies = [ [[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", @@ -11360,7 +11854,7 @@ dependencies = [ "log", "memchr", "parse-display", - "reqwest 0.12.7", + "reqwest 0.12.8", "serde", "serde_json", "serde_with", @@ -11388,7 +11882,7 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11523,7 +12017,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11586,7 +12080,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.13", + "rustls 0.23.14", "rustls-pki-types", "tokio", ] @@ -11646,7 +12140,7 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -11664,11 +12158,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.21" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -11833,7 +12327,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11973,7 +12467,7 @@ checksum = "560b82d656506509d43abe30e0ba64c56b1953ab3d4fe7ba5902747a7a3cedd5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11990,9 +12484,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" @@ -12050,9 +12544,9 @@ 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-bom" @@ -12077,9 +12571,9 @@ dependencies = [ [[package]] name = "unicode-properties" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" [[package]] name = "unicode-segmentation" @@ -12229,7 +12723,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-shared", ] @@ -12263,7 +12757,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -12276,9 +12770,9 @@ checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[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", @@ -12394,16 +12888,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.57.0" @@ -12443,7 +12927,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -12454,7 +12938,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -12646,9 +13130,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -12709,6 +13193,9 @@ name = "yansi" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +dependencies = [ + "is-terminal", +] [[package]] name = "zerocopy" @@ -12728,7 +13215,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -12748,7 +13235,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -12782,7 +13269,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.5.0", + "indexmap 2.6.0", "memchr", "thiserror", "zopfli", diff --git a/Cargo.toml b/Cargo.toml index 6c83ea662..71031faa4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,33 +57,38 @@ num-traits = { version = "0.2", default-features = false } # Ethereum dependencies alloy-rlp = { version = "0.3.8", default-features = false } -alloy-sol-types = { version = "0.8.3", default-features = false } +alloy-sol-types = { version = "0.8.4", default-features = false } alloy-contract = { version = "0.3.6", default-features = false } +alloy-rpc-types = { version = "0.4.2", features = [ + "eth", + "arbitrary", +], default-features = false } +alloy-consensus = { version = "0.4.2", default-features = false } +alloy-rpc-types-txpool = { version = "0.4.2", default-features = false } +alloy-rpc-types-trace = { version = "0.4.2", default-features = false } jsonrpsee = { version = "0.24", features = ["macros", "server"] } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, features = [ +reth-chainspec = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false, features = [ "std", ] } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, features = [ +reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false, features = [ "std", ] } -reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false } -reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, features = [ +reth-node-api = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +reth-primitives = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false, features = [ "alloy-compat", "std", "arbitrary", ] } -reth-revm = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, features = [ +reth-revm = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false, features = [ "std", ] } -reth-rpc-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, features = [ - "arbitrary", -] } -reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false } -reth-testing-utils = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false, optional = true } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false } -reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth.git", tag = "v1.0.7", default-features = false } -revm-inspectors = "0.7.4" +reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +reth-testing-utils = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false, optional = true } +reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +reth-execution-types = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +reth-rpc = { git = "https://github.com/paradigmxyz/reth.git", rev = "e427eb2", default-features = false } +revm-inspectors = "0.8.1" # Error eyre = { version = "0.6", default-features = false } @@ -140,11 +145,13 @@ http-body-util = { version = "0.1", default-features = false } pin-project-lite = { version = "0.2", default-features = false } # Testing crates -alloy-dyn-abi = { version = "0.8.3", default-features = false } -alloy-json-abi = { version = "0.8.3", default-features = false, optional = true } -alloy-primitives = { version = "0.8.3", default-features = false, optional = true } -alloy-signer-local = { version = "0.3.6", default-features = false, optional = true } -alloy-signer = { version = "0.3.6", default-features = false, optional = true } +alloy-dyn-abi = { version = "0.8.4", default-features = false } +alloy-json-abi = { version = "0.8.4", default-features = false, optional = true } +alloy-primitives = { version = "0.8.4", default-features = false } +alloy-signer-local = { version = "0.4.2", default-features = false, optional = true } +alloy-signer = { version = "0.4.2", default-features = false, optional = true } +alloy-serde = { version = "0.4.2", default-features = false } +alloy-eips = { version = "0.4.2", default-features = false } anyhow = { version = "1", default-features = false, optional = true } arbitrary = { version = "1", features = ["derive"], optional = true } foundry-config = { git = "https://github.com/foundry-rs/foundry", branch = "master", optional = true } @@ -171,7 +178,7 @@ clap = { version = "4.5.17", optional = true } starknet_api = { version = "0.13.0-rc.0", optional = true } revm-interpreter = { version = "10.0", default-features = false, optional = true } -revm-primitives = { version = "9.0", default-features = false, optional = true } +revm-primitives = { version = "10.0", default-features = false, optional = true } starknet-crypto = { version = "0.7", optional = true } [dev-dependencies] @@ -184,7 +191,6 @@ tempfile = "3.8" [features] testing = [ "alloy-json-abi", - "alloy-primitives", "alloy-signer-local", "alloy-signer", "anyhow", diff --git a/README.md b/README.md index 443315b91..319426dc6 100644 --- a/README.md +++ b/README.md @@ -561,7 +561,7 @@ the following tests are skipped: - debug_getRawHeader/get-invalid-number: debug API is currently not supported by the Kakarot RPC. - debug_getRawTransaction/get-invalid-hash: the Kakarot implementation of the - debug_getRawTransaction endpoint uses `reth_primitives::B256` type when + debug_getRawTransaction endpoint uses `alloy_primitives::B256` type when deserializing the hash. This test is expected to fail as the provided hash in the query doesn't start with `0x`. As this test doesn't bring much, we decide to skip it. @@ -589,7 +589,7 @@ the following tests are skipped: - eth_getProof/get-account-proof: the getProof endpoint is currently not supported by the Kakarot RPC. - eth_getStorage/get-storage-invalid-key-too-large: the Kakarot implementation - of the eth_getStorage endpoint uses `reth_primitives::U256` type when + of the eth_getStorage endpoint uses `alloy_primitives::U256` type when deserializing the number. This test is expected to fail as the provided block number in the query doesn't start with exceeds 32 bytes. As this test doesn't bring much, we decide to skip it. diff --git a/src/bin/hive_chain.rs b/src/bin/hive_chain.rs index 62e2b0ad6..1c8ce0798 100644 --- a/src/bin/hive_chain.rs +++ b/src/bin/hive_chain.rs @@ -1,5 +1,6 @@ #![allow(clippy::significant_drop_tightening)] +use alloy_primitives::bytes::{Buf, BytesMut}; use alloy_rlp::Decodable; use clap::Parser; use kakarot_rpc::{ @@ -7,7 +8,7 @@ use kakarot_rpc::{ into_via_try_wrapper, providers::{eth_provider::starknet::relayer::LockedRelayer, sn_provider::StarknetProvider}, }; -use reth_primitives::{bytes::Buf, Block, BlockBody, BytesMut}; +use reth_primitives::{Block, BlockBody}; use starknet::{ core::types::{BlockId, BlockTag, Felt}, providers::{jsonrpc::HttpTransport, JsonRpcClient, Provider}, diff --git a/src/bin/katana_genesis.rs b/src/bin/katana_genesis.rs index 1d6ddeb3b..2ea5305da 100644 --- a/src/bin/katana_genesis.rs +++ b/src/bin/katana_genesis.rs @@ -1,6 +1,6 @@ +use alloy_primitives::{B256, U256}; use dotenvy::dotenv; use kakarot_rpc::test_utils::katana::genesis::KatanaGenesisBuilder; -use reth_primitives::{B256, U256}; use starknet::core::types::Felt; use std::{ env::var, diff --git a/src/client/mod.rs b/src/client/mod.rs index cfbd16fb8..0117aab9a 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -14,12 +14,16 @@ use crate::{ sn_provider::StarknetProvider, }, }; +use alloy_eips::eip2718::Encodable2718; +use alloy_primitives::{Address, Bytes, B256}; use alloy_rlp::Decodable; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::TxpoolContent; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use reth_chainspec::ChainSpec; -use reth_primitives::{Address, Bytes, TransactionSigned, TransactionSignedEcRecovered, B256}; +use reth_primitives::{TransactionSigned, TransactionSignedEcRecovered}; use reth_rpc_eth_types::TransactionSource; -use reth_rpc_types::{txpool::TxpoolContent, Transaction, WithOtherFields}; use reth_transaction_pool::{ blobstore::NoopBlobStore, AllPoolTransactions, EthPooledTransaction, PoolConfig, PoolTransaction, TransactionOrigin, TransactionPool, @@ -103,7 +107,8 @@ where let transaction_signed_ec_recovered = TransactionSignedEcRecovered::from_signed_transaction(transaction_signed.clone(), signer); - let encoded_length = transaction_signed_ec_recovered.clone().length_without_header(); + let encoded_length = transaction_signed_ec_recovered.clone().encode_2718_len(); + let pool_transaction = EthPooledTransaction::new(transaction_signed_ec_recovered, encoded_length); // Deploy EVM transaction signer if Hive feature is enabled @@ -130,7 +135,9 @@ where ) { content.entry(tx.sender()).or_default().insert( tx.nonce().to_string(), - reth_rpc_types_compat::transaction::from_recovered(tx.clone().into_consensus()), + reth_rpc_types_compat::transaction::from_recovered::( + tx.clone().into_consensus(), + ), ); } @@ -161,7 +168,10 @@ where Ok(self .pool .get(&hash) - .map(|transaction| TransactionSource::Pool(transaction.transaction.transaction().clone()).into()) + .map(|transaction| { + TransactionSource::Pool(transaction.transaction.transaction().clone()) + .into_transaction::() + }) .or(self.eth_provider.transaction_by_hash(hash).await?)) } } diff --git a/src/eth_rpc/api/alchemy_api.rs b/src/eth_rpc/api/alchemy_api.rs index f408065be..ddd7541c4 100644 --- a/src/eth_rpc/api/alchemy_api.rs +++ b/src/eth_rpc/api/alchemy_api.rs @@ -1,6 +1,6 @@ use crate::models::token::{TokenBalances, TokenMetadata}; +use alloy_primitives::{Address, U256}; use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_primitives::{Address, U256}; #[rpc(server, namespace = "alchemy")] #[async_trait] diff --git a/src/eth_rpc/api/debug_api.rs b/src/eth_rpc/api/debug_api.rs index f89d5ffc3..28cdd48ae 100644 --- a/src/eth_rpc/api/debug_api.rs +++ b/src/eth_rpc/api/debug_api.rs @@ -1,9 +1,7 @@ +use alloy_primitives::{Bytes, B256}; +use alloy_rpc_types::{BlockId, BlockNumberOrTag, TransactionRequest}; +use alloy_rpc_types_trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}; use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_primitives::{Bytes, B256}; -use reth_rpc_types::{ - trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}, - BlockId, BlockNumberOrTag, TransactionRequest, -}; /// Debug API /// Taken from Reth's DebugApi trait: diff --git a/src/eth_rpc/api/eth_api.rs b/src/eth_rpc/api/eth_api.rs index 4fb7b7957..a9dd18e9f 100644 --- a/src/eth_rpc/api/eth_api.rs +++ b/src/eth_rpc/api/eth_api.rs @@ -1,10 +1,12 @@ -use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_primitives::{Address, BlockId, BlockNumberOrTag, Bytes, B256, B64, U256, U64}; -use reth_rpc_types::{ +use alloy_primitives::{Address, Bytes, B256, B64, U256, U64}; +use alloy_rpc_types::{ serde_helpers::JsonStorageKey, state::StateOverride, AccessListResult, Block, BlockOverrides, EIP1186AccountProofResponse, FeeHistory, Filter, FilterChanges, Index, SyncStatus, Transaction as EthTransaction, - TransactionReceipt, TransactionRequest, WithOtherFields, Work, + TransactionReceipt, TransactionRequest, Work, }; +use alloy_serde::WithOtherFields; +use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; +use reth_primitives::{BlockId, BlockNumberOrTag}; /// Ethereum JSON-RPC API Trait /// Mostly based on diff --git a/src/eth_rpc/api/net_api.rs b/src/eth_rpc/api/net_api.rs index 76881ca1d..7f946e5ee 100644 --- a/src/eth_rpc/api/net_api.rs +++ b/src/eth_rpc/api/net_api.rs @@ -1,5 +1,5 @@ +use alloy_primitives::U64; use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_primitives::U64; // TODO: Define and implement of methods of Net API #[rpc(server, namespace = "net")] diff --git a/src/eth_rpc/api/trace_api.rs b/src/eth_rpc/api/trace_api.rs index 131dec821..b74ae34d8 100644 --- a/src/eth_rpc/api/trace_api.rs +++ b/src/eth_rpc/api/trace_api.rs @@ -1,5 +1,6 @@ +use alloy_rpc_types::BlockId; +use alloy_rpc_types_trace::parity::LocalizedTransactionTrace; use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_rpc_types::{trace::parity::LocalizedTransactionTrace, BlockId}; /// Trace API #[rpc(server, namespace = "trace")] diff --git a/src/eth_rpc/api/txpool_api.rs b/src/eth_rpc/api/txpool_api.rs index ed3b4aa2a..1d69a0dcd 100644 --- a/src/eth_rpc/api/txpool_api.rs +++ b/src/eth_rpc/api/txpool_api.rs @@ -1,9 +1,8 @@ +use alloy_primitives::Address; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolStatus}; +use alloy_serde::WithOtherFields; use jsonrpsee::{core::RpcResult, proc_macros::rpc}; -use reth_primitives::Address; -use reth_rpc_types::{ - txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolStatus}, - Transaction, WithOtherFields, -}; /// Txpool API #[rpc(server, namespace = "txpool")] diff --git a/src/eth_rpc/api/web3_api.rs b/src/eth_rpc/api/web3_api.rs index 9ad2b4f23..a902a1919 100644 --- a/src/eth_rpc/api/web3_api.rs +++ b/src/eth_rpc/api/web3_api.rs @@ -1,5 +1,5 @@ +use alloy_primitives::{Bytes, B256}; use jsonrpsee::{core::RpcResult as Result, proc_macros::rpc}; -use reth_primitives::{Bytes, B256}; #[rpc(server, namespace = "web3")] #[async_trait] diff --git a/src/eth_rpc/servers/alchemy_rpc.rs b/src/eth_rpc/servers/alchemy_rpc.rs index 98087d01f..2836407d1 100644 --- a/src/eth_rpc/servers/alchemy_rpc.rs +++ b/src/eth_rpc/servers/alchemy_rpc.rs @@ -5,9 +5,9 @@ use crate::{ models::token::{TokenBalances, TokenMetadata}, providers::alchemy_provider::AlchemyProvider, }; +use alloy_primitives::{Address, U256}; use async_trait::async_trait; use jsonrpsee::core::RpcResult as Result; -use reth_primitives::{Address, U256}; /// The RPC module for the Ethereum protocol required by Kakarot. #[derive(Debug)] diff --git a/src/eth_rpc/servers/debug_rpc.rs b/src/eth_rpc/servers/debug_rpc.rs index 73480f090..ad543fff8 100644 --- a/src/eth_rpc/servers/debug_rpc.rs +++ b/src/eth_rpc/servers/debug_rpc.rs @@ -1,11 +1,9 @@ #![allow(clippy::blocks_in_conditions)] use crate::{eth_rpc::api::debug_api::DebugApiServer, providers::debug_provider::DebugProvider}; +use alloy_primitives::{Bytes, B256}; +use alloy_rpc_types::{BlockId, BlockNumberOrTag, TransactionRequest}; +use alloy_rpc_types_trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}; use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_primitives::{Bytes, B256}; -use reth_rpc_types::{ - trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}, - BlockId, BlockNumberOrTag, TransactionRequest, -}; /// The RPC module for the implementing Net api #[derive(Debug)] diff --git a/src/eth_rpc/servers/eth_rpc.rs b/src/eth_rpc/servers/eth_rpc.rs index 6f830e3db..361e6a99f 100644 --- a/src/eth_rpc/servers/eth_rpc.rs +++ b/src/eth_rpc/servers/eth_rpc.rs @@ -8,13 +8,15 @@ use crate::{ ReceiptProvider, StateProvider, TransactionProvider, }, }; -use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_primitives::{Address, BlockId, BlockNumberOrTag, Bytes, B256, B64, U256, U64}; -use reth_rpc_types::{ +use alloy_primitives::{Address, Bytes, B256, B64, U256, U64}; +use alloy_rpc_types::{ serde_helpers::JsonStorageKey, state::StateOverride, AccessListResult, Block, BlockOverrides, EIP1186AccountProofResponse, FeeHistory, Filter, FilterChanges, Index, SyncStatus, Transaction, TransactionReceipt, - TransactionRequest, WithOtherFields, Work, + TransactionRequest, Work, }; +use alloy_serde::WithOtherFields; +use jsonrpsee::core::{async_trait, RpcResult as Result}; +use reth_primitives::{BlockId, BlockNumberOrTag}; use serde_json::Value; use starknet::providers::Provider; use std::sync::Arc; diff --git a/src/eth_rpc/servers/net_rpc.rs b/src/eth_rpc/servers/net_rpc.rs index 4730aa949..62eb78579 100644 --- a/src/eth_rpc/servers/net_rpc.rs +++ b/src/eth_rpc/servers/net_rpc.rs @@ -1,6 +1,6 @@ use crate::{eth_rpc::api::net_api::NetApiServer, providers::eth_provider::provider::EthereumProvider}; +use alloy_primitives::U64; use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_primitives::U64; /// The RPC module for the implementing Net api #[derive(Debug)] diff --git a/src/eth_rpc/servers/trace_rpc.rs b/src/eth_rpc/servers/trace_rpc.rs index 7174686e6..1cd57c236 100644 --- a/src/eth_rpc/servers/trace_rpc.rs +++ b/src/eth_rpc/servers/trace_rpc.rs @@ -2,8 +2,9 @@ use crate::{ eth_rpc::api::trace_api::TraceApiServer, providers::eth_provider::provider::EthereumProvider, tracing::builder::TracerBuilder, }; +use alloy_rpc_types::BlockId; +use alloy_rpc_types_trace::parity::LocalizedTransactionTrace; use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_rpc_types::{trace::parity::LocalizedTransactionTrace, BlockId}; use revm_inspectors::tracing::TracingInspectorConfig; use std::sync::Arc; diff --git a/src/eth_rpc/servers/txpool_rpc.rs b/src/eth_rpc/servers/txpool_rpc.rs index 3f6ad3bbe..3b9a806d1 100644 --- a/src/eth_rpc/servers/txpool_rpc.rs +++ b/src/eth_rpc/servers/txpool_rpc.rs @@ -1,10 +1,9 @@ use crate::{eth_rpc::api::txpool_api::TxPoolApiServer, providers::pool_provider::PoolProvider}; +use alloy_primitives::Address; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolStatus}; +use alloy_serde::WithOtherFields; use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_primitives::Address; -use reth_rpc_types::{ - txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolStatus}, - Transaction, WithOtherFields, -}; use tracing::instrument; /// The RPC module for implementing the Txpool api diff --git a/src/eth_rpc/servers/web3_rpc.rs b/src/eth_rpc/servers/web3_rpc.rs index 2e03acd67..234fbb1a8 100644 --- a/src/eth_rpc/servers/web3_rpc.rs +++ b/src/eth_rpc/servers/web3_rpc.rs @@ -1,6 +1,6 @@ use crate::eth_rpc::api::web3_api::Web3ApiServer; +use alloy_primitives::{keccak256, Bytes, B256}; use jsonrpsee::core::{async_trait, RpcResult as Result}; -use reth_primitives::{keccak256, Bytes, B256}; /// The RPC module for the implementing Web3 Api { i.e rpc endpoints prefixed with web3_ } #[derive(Default, Debug)] diff --git a/src/models/block.rs b/src/models/block.rs index 8f8de4216..bee4cb91b 100644 --- a/src/models/block.rs +++ b/src/models/block.rs @@ -2,7 +2,8 @@ use crate::{ into_via_try_wrapper, providers::eth_provider::{constant::STARKNET_MODULUS, error::EthereumDataFormatError}, }; -use reth_primitives::{BlockId as EthereumBlockId, BlockNumberOrTag, U256}; +use alloy_primitives::U256; +use reth_primitives::{BlockId as EthereumBlockId, BlockNumberOrTag}; use starknet::core::types::{BlockId as StarknetBlockId, BlockTag}; #[derive(Debug)] diff --git a/src/models/felt.rs b/src/models/felt.rs index 527318a58..c7e0a4df0 100644 --- a/src/models/felt.rs +++ b/src/models/felt.rs @@ -1,5 +1,5 @@ use crate::providers::eth_provider::error::EthereumDataFormatError; -use reth_primitives::{Address, B256, U256, U64}; +use alloy_primitives::{Address, B256, U256, U64}; use starknet::core::types::{EthAddress, Felt}; use std::ops::{Deref, DerefMut}; diff --git a/src/models/token.rs b/src/models/token.rs index 4089260de..016023a19 100644 --- a/src/models/token.rs +++ b/src/models/token.rs @@ -1,4 +1,4 @@ -use reth_primitives::{Address, U256}; +use alloy_primitives::{Address, U256}; use serde::{Deserialize, Serialize}; /// Represents the balance of a specific ERC20 token. diff --git a/src/models/transaction.rs b/src/models/transaction.rs index d0003e7a0..c0bc4e2c4 100644 --- a/src/models/transaction.rs +++ b/src/models/transaction.rs @@ -4,7 +4,7 @@ use crate::providers::eth_provider::{ utils::split_u256, }; use alloy_rlp::Encodable; -use reth_primitives::{Transaction, TransactionSigned}; +use reth_primitives::{transaction::legacy_parity, Transaction, TransactionSigned}; use starknet::core::types::Felt; #[cfg(not(feature = "hive"))] use { @@ -19,8 +19,8 @@ pub(crate) fn transaction_signature_to_field_elements(transaction_signed: &Trans let transaction_signature = transaction_signed.signature(); let mut signature = Vec::with_capacity(5); - signature.extend_from_slice(&split_u256(transaction_signature.r)); - signature.extend_from_slice(&split_u256(transaction_signature.s)); + signature.extend_from_slice(&split_u256(transaction_signature.r())); + signature.extend_from_slice(&split_u256(transaction_signature.s())); // Push the last element of the signature // In case of a Legacy Transaction, it is v := {0, 1} + chain_id * 2 + 35 @@ -28,9 +28,9 @@ pub(crate) fn transaction_signature_to_field_elements(transaction_signed: &Trans // Else, it is odd_y_parity if let Transaction::Legacy(_) = transaction_signed.transaction { let chain_id = transaction_signed.chain_id(); - signature.push(transaction_signature.legacy_parity(chain_id).to_u64().into()); + signature.push(legacy_parity(transaction_signature, chain_id).to_u64().into()); } else { - signature.push(u64::from(transaction_signature.odd_y_parity).into()); + signature.push(transaction_signature.v().to_u64().into()); } signature @@ -89,9 +89,10 @@ pub fn transaction_data_to_starknet_calldata( #[cfg(test)] mod tests { use super::*; - use alloy_primitives::{bytes, TxKind, U256}; + use alloy_consensus::TxEip2930; + use alloy_primitives::{bytes, hex, TxKind, U256}; use alloy_rlp::Decodable; - use reth_primitives::{hex, Signature, TxEip2930}; + use reth_primitives::Signature; use std::str::FromStr; #[test] @@ -108,7 +109,9 @@ mod tests { value: U256::ZERO, access_list: Default::default(), input: bytes!("608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220d0232cfa81216c3e4973e570f043b57ccb69ae4a81b8bc064338713721c87a9f64736f6c6343000814003300000000000000000000000009635f643e140090a9a8dcd712ed6285858cebef000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000647a1ac61e00000000000000000000000084ea74d481ee0a5332c457a4d796187f6ba67feb00000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000") - }), Signature { r: U256::from_str("0x6290c177b6ee7b16d87909474a792d9ac022385505161e91191c57d666b61496").unwrap(), s: U256::from_str("0x7ba95168843acb8b888de596c28033c6c66a9cb6c7621cfc996bc5851115634d").unwrap(), odd_y_parity: true }); + }), Signature::from_rs_and_parity(U256::from_str("0x6290c177b6ee7b16d87909474a792d9ac022385505161e91191c57d666b61496").unwrap(), U256::from_str("0x7ba95168843acb8b888de596c28033c6c66a9cb6c7621cfc996bc5851115634d").unwrap(), true).expect("Failed to generate signature") + + ); // Invoke the function to convert the transaction to Starknet format. let calldata = transaction_data_to_starknet_calldata(&transaction, Felt::ZERO).unwrap(); diff --git a/src/pool/mempool.rs b/src/pool/mempool.rs index 983037d38..e1031634c 100644 --- a/src/pool/mempool.rs +++ b/src/pool/mempool.rs @@ -8,10 +8,11 @@ use crate::{ pool::constants::ONE_TENTH_ETH, providers::eth_provider::{database::state::EthDatabase, starknet::relayer::LockedRelayer, BlockProvider}, }; +use alloy_primitives::{Address, U256}; use futures::future::select_all; use reth_chainspec::ChainSpec; use reth_execution_types::ChangedAccount; -use reth_primitives::{Address, BlockNumberOrTag, IntoRecoveredTransaction, U256}; +use reth_primitives::BlockNumberOrTag; use reth_revm::DatabaseRef; use reth_transaction_pool::{ blobstore::NoopBlobStore, BlockInfo, CanonicalStateUpdate, CoinbaseTipOrdering, EthPooledTransaction, Pool, @@ -250,7 +251,7 @@ where ChainSpec { chain: eth_client.eth_provider().chain_id.into(), ..Default::default() }; let info = BlockInfo { block_gas_limit: latest_header.gas_limit, - last_seen_block_hash: latest_header.hash(), + last_seen_block_hash: hash, last_seen_block_number: latest_header.number, pending_basefee: latest_header .next_block_base_fee( @@ -276,7 +277,7 @@ where } let sealed_block = latest_block.seal(hash); - let mined_transactions = sealed_block.body.iter().map(|tx| tx.hash).collect(); + let mined_transactions = sealed_block.body.transactions.iter().map(|tx| tx.hash).collect(); // Canonical update let update = CanonicalStateUpdate { diff --git a/src/pool/validate.rs b/src/pool/validate.rs index 0de1d3483..031aa1bde 100644 --- a/src/pool/validate.rs +++ b/src/pool/validate.rs @@ -4,13 +4,13 @@ use crate::providers::eth_provider::{ database::state::EthDatabase, provider::EthereumProvider, starknet::kakarot_core::get_white_listed_eip_155_transaction_hashes, }; +use alloy_rpc_types::BlockNumberOrTag; use reth_chainspec::ChainSpec; use reth_primitives::{ BlockId, GotExpected, InvalidTransactionError, SealedBlock, EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, EIP4844_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; use reth_revm::DatabaseRef; -use reth_rpc_types::BlockNumberOrTag; use reth_transaction_pool::{ error::InvalidPoolTransactionError, validate::{ensure_intrinsic_gas, ForkTracker, ValidTransaction, DEFAULT_MAX_TX_INPUT_BYTES}, diff --git a/src/providers/alchemy_provider.rs b/src/providers/alchemy_provider.rs index b11e8e226..84483590d 100644 --- a/src/providers/alchemy_provider.rs +++ b/src/providers/alchemy_provider.rs @@ -6,12 +6,13 @@ use crate::{ provider::{EthApiResult, EthereumProvider}, }, }; +use alloy_primitives::{Address, U256}; use async_trait::async_trait; use auto_impl::auto_impl; use eyre::Result; use futures::future::join_all; use mongodb::bson::doc; -use reth_primitives::{Address, BlockId, BlockNumberOrTag, U256}; +use reth_primitives::{BlockId, BlockNumberOrTag}; #[async_trait] #[auto_impl(Arc, &)] diff --git a/src/providers/debug_provider.rs b/src/providers/debug_provider.rs index c5e62cca3..c6e0ab5ca 100644 --- a/src/providers/debug_provider.rs +++ b/src/providers/debug_provider.rs @@ -5,16 +5,14 @@ use crate::{ }, tracing::builder::TracerBuilder, }; +use alloy_eips::eip2718::Encodable2718; +use alloy_primitives::{Bytes, B256}; use alloy_rlp::Encodable; +use alloy_rpc_types::TransactionRequest; +use alloy_rpc_types_trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}; use async_trait::async_trait; use auto_impl::auto_impl; -use reth_primitives::{ - Block, BlockId, BlockNumberOrTag, Bytes, Header, Log, Receipt, ReceiptWithBloom, TransactionSigned, B256, -}; -use reth_rpc_types::{ - trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions, GethTrace, TraceResult}, - TransactionRequest, -}; +use reth_primitives::{Block, BlockId, BlockNumberOrTag, Header, Log, Receipt, ReceiptWithBloom, TransactionSigned}; use std::sync::Arc; #[async_trait] @@ -99,13 +97,15 @@ impl DebugProvider for DebugDataPro let tx = tx.try_into().map_err(|_| EthApiError::EthereumDataFormat(EthereumDataFormatError::Primitive))?; let bytes = TransactionSigned::from_transaction_and_signature( tx, - reth_primitives::Signature { - r: signature.r, - s: signature.s, - odd_y_parity: signature.y_parity.unwrap_or(reth_rpc_types::Parity(false)).0, - }, + reth_primitives::Signature::from_rs_and_parity( + signature.r, + signature.s, + signature.y_parity.map_or(false, |v| v.0), + ) + .expect("Invalid signature"), ) - .envelope_encoded(); + .encoded_2718() + .into(); Ok(Some(bytes)) } else { Ok(None) @@ -121,13 +121,15 @@ impl DebugProvider for DebugDataPro let tx = t.try_into().map_err(|_| EthApiError::EthereumDataFormat(EthereumDataFormatError::Primitive))?; let bytes = TransactionSigned::from_transaction_and_signature( tx, - reth_primitives::Signature { - r: signature.r, - s: signature.s, - odd_y_parity: signature.y_parity.unwrap_or(reth_rpc_types::Parity(false)).0, - }, + reth_primitives::Signature::from_rs_and_parity( + signature.r, + signature.s, + signature.y_parity.map_or(false, |v| v.0), + ) + .expect("Invalid signature"), ) - .envelope_encoded(); + .encoded_2718() + .into(); raw_transactions.push(bytes); } diff --git a/src/providers/eth_provider/blocks.rs b/src/providers/eth_provider/blocks.rs index 8234ee5f7..94ee396b8 100644 --- a/src/providers/eth_provider/blocks.rs +++ b/src/providers/eth_provider/blocks.rs @@ -3,11 +3,13 @@ use crate::providers::eth_provider::{ database::ethereum::EthereumTransactionStore, provider::{EthApiResult, EthDataProvider}, }; +use alloy_primitives::{B256, U256, U64}; +use alloy_rpc_types::{Block, Header, Transaction}; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use auto_impl::auto_impl; use mongodb::bson::doc; -use reth_primitives::{BlockId, BlockNumberOrTag, B256, U256, U64}; -use reth_rpc_types::{Block, Header, Transaction, WithOtherFields}; +use reth_primitives::{BlockId, BlockNumberOrTag}; use tracing::Instrument; /// Ethereum block provider trait. diff --git a/src/providers/eth_provider/chain.rs b/src/providers/eth_provider/chain.rs index d913018d4..c54ecb626 100644 --- a/src/providers/eth_provider/chain.rs +++ b/src/providers/eth_provider/chain.rs @@ -2,10 +2,10 @@ use crate::providers::eth_provider::{ error::KakarotError, provider::{EthApiResult, EthDataProvider}, }; +use alloy_primitives::{U256, U64}; +use alloy_rpc_types::{SyncInfo, SyncStatus}; use async_trait::async_trait; use auto_impl::auto_impl; -use reth_primitives::{U256, U64}; -use reth_rpc_types::{SyncInfo, SyncStatus}; use starknet::core::types::SyncStatusType; use tracing::Instrument; diff --git a/src/providers/eth_provider/constant.rs b/src/providers/eth_provider/constant.rs index e410ba6e9..8fbbe3ca8 100644 --- a/src/providers/eth_provider/constant.rs +++ b/src/providers/eth_provider/constant.rs @@ -1,7 +1,6 @@ -use std::{str::FromStr, sync::LazyLock}; - -use reth_primitives::{B256, U256}; +use alloy_primitives::{B256, U256}; use serde::{Deserialize, Serialize}; +use std::{str::FromStr, sync::LazyLock}; /// Maximum priority fee per gas pub static MAX_PRIORITY_FEE_PER_GAS: LazyLock = LazyLock::new(|| 0); @@ -11,7 +10,7 @@ pub static MAX_LOGS: LazyLock> = LazyLock::new(|| std::env::var("MAX_LOGS").ok().and_then(|val| u64::from_str(&val).ok())); /// Gas limit for estimate gas and call -pub const CALL_REQUEST_GAS_LIMIT: u128 = 50_000_000; +pub const CALL_REQUEST_GAS_LIMIT: u64 = 50_000_000; /// Number of characters for representing a U256 in a hex string form. Used for padding hashes pub const HASH_HEX_STRING_LEN: usize = 64; /// Number of characters for representing logs topics in a hex string form. Used for padding logs topics diff --git a/src/providers/eth_provider/contracts/erc20.rs b/src/providers/eth_provider/contracts/erc20.rs index 054c8905c..daf9d564d 100644 --- a/src/providers/eth_provider/contracts/erc20.rs +++ b/src/providers/eth_provider/contracts/erc20.rs @@ -5,9 +5,10 @@ use crate::providers::eth_provider::{ provider::{EthApiResult, EthereumProvider}, }; use alloy_dyn_abi::DynSolType; +use alloy_primitives::{Address, Bytes, TxKind, U256}; +use alloy_rpc_types::{request::TransactionInput, TransactionRequest}; use alloy_sol_types::{sol, SolCall}; -use reth_primitives::{Address, BlockId, Bytes, TxKind, U256}; -use reth_rpc_types::{request::TransactionInput, TransactionRequest}; +use reth_primitives::BlockId; sol! { #[sol(rpc)] diff --git a/src/providers/eth_provider/database/ethereum.rs b/src/providers/eth_provider/database/ethereum.rs index 30381ac1e..3de142e0f 100644 --- a/src/providers/eth_provider/database/ethereum.rs +++ b/src/providers/eth_provider/database/ethereum.rs @@ -6,11 +6,13 @@ use super::{ Database, }; use crate::providers::eth_provider::error::{EthApiError, EthereumDataFormatError}; +use alloy_primitives::{B256, U256}; use alloy_rlp::Encodable; +use alloy_rpc_types::{Block, BlockHashOrNumber, BlockTransactions, Header, Transaction}; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use mongodb::bson::doc; -use reth_primitives::{constants::EMPTY_ROOT_HASH, TransactionSigned, B256, U256}; -use reth_rpc_types::{Block, BlockHashOrNumber, BlockTransactions, Header, Transaction, WithOtherFields}; +use reth_primitives::{constants::EMPTY_ROOT_HASH, TransactionSigned}; use tracing::instrument; /// Trait for interacting with a database that stores Ethereum typed @@ -137,11 +139,13 @@ impl EthereumBlockStore for Database { .collect::, _>>()?; let block = reth_primitives::Block { - body: signed_transactions, + body: reth_primitives::BlockBody { + transactions: signed_transactions, + withdrawals: Some(Default::default()), + ..Default::default() + }, header: reth_primitives::Header::try_from(header.clone()) .map_err(|_| EthereumDataFormatError::Primitive)?, - withdrawals: Some(Default::default()), - ..Default::default() }; // This is how Reth computes the block size. @@ -325,10 +329,12 @@ mod tests { transactions.into_iter().map(TransactionSigned::try_from).collect::, _>>().unwrap(); let block = reth_primitives::Block { - body: signed_transactions, + body: reth_primitives::BlockBody { + transactions: signed_transactions, + withdrawals: Some(Default::default()), + ..Default::default() + }, header: reth_primitives::Header::try_from(header.clone()).unwrap(), - withdrawals: Some(Default::default()), - ..Default::default() }; let size = block.length(); diff --git a/src/providers/eth_provider/database/filter.rs b/src/providers/eth_provider/database/filter.rs index b0edb8280..c1826d884 100644 --- a/src/providers/eth_provider/database/filter.rs +++ b/src/providers/eth_provider/database/filter.rs @@ -2,9 +2,9 @@ use crate::providers::eth_provider::constant::{ ADDRESS_HEX_STRING_LEN, BLOCK_NUMBER_HEX_STRING_LEN, HASH_HEX_STRING_LEN, LOGS_TOPICS_HEX_STRING_LEN, U64_HEX_STRING_LEN, }; +use alloy_primitives::{Address, B256}; +use alloy_rpc_types::{BlockHashOrNumber, Index, Topic}; use mongodb::bson::{doc, Document}; -use reth_primitives::{Address, B256}; -use reth_rpc_types::{BlockHashOrNumber, Index, Topic}; use std::fmt::{Display, LowerHex}; /// A trait that defines possible key filters for blocks in the @@ -279,7 +279,7 @@ where mod tests { use super::*; use alloy_primitives::b256; - use reth_rpc_types::FilterSet; + use alloy_rpc_types::FilterSet; #[test] fn test_into_filter_with_padding() { diff --git a/src/providers/eth_provider/database/state.rs b/src/providers/eth_provider/database/state.rs index 35c5d05a3..8775e9810 100644 --- a/src/providers/eth_provider/database/state.rs +++ b/src/providers/eth_provider/database/state.rs @@ -1,11 +1,11 @@ use crate::providers::eth_provider::{error::EthApiError, provider::EthereumProvider}; -use reth_primitives::{Address, B256, U256}; +use alloy_primitives::{Address, B256, U256}; +use alloy_rpc_types::{serde_helpers::JsonStorageKey, BlockHashOrNumber, BlockId, BlockNumberOrTag}; use reth_revm::{ db::CacheDB, primitives::{AccountInfo, Bytecode}, DatabaseRef, }; -use reth_rpc_types::{serde_helpers::JsonStorageKey, BlockHashOrNumber, BlockId, BlockNumberOrTag}; use tokio::runtime::Handle; #[derive(Debug, Clone)] diff --git a/src/providers/eth_provider/database/types/header.rs b/src/providers/eth_provider/database/types/header.rs index dae4ec87d..bcb35a985 100644 --- a/src/providers/eth_provider/database/types/header.rs +++ b/src/providers/eth_provider/database/types/header.rs @@ -1,10 +1,11 @@ -use reth_rpc_types::Header; +use alloy_rpc_types::Header; use serde::{Deserialize, Serialize}; use std::ops::Deref; #[cfg(any(test, feature = "arbitrary", feature = "testing"))] use { + alloy_primitives::{B256, B64, U256}, arbitrary::Arbitrary, - reth_primitives::{constants::EMPTY_ROOT_HASH, B256, B64, U256}, + reth_primitives::constants::EMPTY_ROOT_HASH, }; /// A header as stored in the database @@ -44,11 +45,11 @@ impl Arbitrary<'_> for StoredHeader { mix_hash: Some(B256::arbitrary(u).unwrap()), nonce: Some(B64::arbitrary(u).unwrap()), withdrawals_root: Some(EMPTY_ROOT_HASH), - base_fee_per_gas: Some(u128::from(u64::arbitrary(u).unwrap())), - blob_gas_used: Some(u128::from(u64::arbitrary(u).unwrap())), - excess_blob_gas: Some(u128::from(u64::arbitrary(u).unwrap())), - gas_limit: u128::from(u64::arbitrary(u).unwrap()), - gas_used: u128::from(u64::arbitrary(u).unwrap()), + base_fee_per_gas: Some(u64::arbitrary(u).unwrap()), + blob_gas_used: Some(u64::arbitrary(u).unwrap()), + excess_blob_gas: Some(u64::arbitrary(u).unwrap()), + gas_limit: u64::arbitrary(u).unwrap(), + gas_used: u64::arbitrary(u).unwrap(), number: u64::arbitrary(u).unwrap(), ..Header::arbitrary(u)? }, diff --git a/src/providers/eth_provider/database/types/log.rs b/src/providers/eth_provider/database/types/log.rs index 4d2ac83a4..9cdf96bf7 100644 --- a/src/providers/eth_provider/database/types/log.rs +++ b/src/providers/eth_provider/database/types/log.rs @@ -1,5 +1,5 @@ use super::receipt::StoredTransactionReceipt; -use reth_rpc_types::Log; +use alloy_rpc_types::Log; use serde::{Deserialize, Serialize}; use std::ops::Deref; @@ -47,10 +47,10 @@ impl<'a> arbitrary::Arbitrary<'a> for StoredLog { fn arbitrary(u: &mut arbitrary::Unstructured<'a>) -> arbitrary::Result { Ok(Self { log: Log { - block_hash: Some(reth_primitives::B256::arbitrary(u)?), + block_hash: Some(alloy_primitives::B256::arbitrary(u)?), block_number: Some(u64::arbitrary(u)?), block_timestamp: Some(u64::arbitrary(u)?), - transaction_hash: Some(reth_primitives::B256::arbitrary(u)?), + transaction_hash: Some(alloy_primitives::B256::arbitrary(u)?), transaction_index: Some(u64::arbitrary(u)?), log_index: Some(u64::arbitrary(u)?), ..Log::arbitrary(u)? diff --git a/src/providers/eth_provider/database/types/receipt.rs b/src/providers/eth_provider/database/types/receipt.rs index 5dcf0f836..7068a6a6d 100644 --- a/src/providers/eth_provider/database/types/receipt.rs +++ b/src/providers/eth_provider/database/types/receipt.rs @@ -1,6 +1,7 @@ +use alloy_primitives::{Address, Bloom, B256}; +use alloy_rpc_types::TransactionReceipt; #[cfg(any(test, feature = "arbitrary", feature = "testing"))] -use reth_primitives::{Address, Bloom, Receipt, B256}; -use reth_rpc_types::TransactionReceipt; +use reth_primitives::Receipt; use serde::{Deserialize, Serialize}; /// A transaction receipt as stored in the database @@ -24,7 +25,7 @@ impl<'a> arbitrary::Arbitrary<'a> for StoredTransactionReceipt { let mut logs = Vec::new(); for log in receipt.logs { - logs.push(reth_rpc_types::Log { + logs.push(alloy_rpc_types::Log { transaction_index: Some(u64::arbitrary(u)?), log_index: Some(u64::arbitrary(u)?), removed: bool::arbitrary(u)?, @@ -36,8 +37,8 @@ impl<'a> arbitrary::Arbitrary<'a> for StoredTransactionReceipt { }); } - let receipt = reth_rpc_types::ReceiptWithBloom { - receipt: reth_rpc_types::Receipt { + let receipt = alloy_rpc_types::ReceiptWithBloom { + receipt: alloy_rpc_types::Receipt { status: bool::arbitrary(u)?.into(), cumulative_gas_used: u128::from(u64::arbitrary(u)?), logs, @@ -60,10 +61,10 @@ impl<'a> arbitrary::Arbitrary<'a> for StoredTransactionReceipt { contract_address: Some(Address::arbitrary(u)?), state_root: Some(B256::arbitrary(u)?), inner: match u.int_in_range(0..=3)? { - 0 => reth_rpc_types::ReceiptEnvelope::Legacy(receipt), - 1 => reth_rpc_types::ReceiptEnvelope::Eip2930(receipt), - 2 => reth_rpc_types::ReceiptEnvelope::Eip1559(receipt), - 3 => reth_rpc_types::ReceiptEnvelope::Eip4844(receipt), + 0 => alloy_consensus::ReceiptEnvelope::Legacy(receipt), + 1 => alloy_consensus::ReceiptEnvelope::Eip2930(receipt), + 2 => alloy_consensus::ReceiptEnvelope::Eip1559(receipt), + 3 => alloy_consensus::ReceiptEnvelope::Eip4844(receipt), _ => unreachable!(), }, authorization_list: None, diff --git a/src/providers/eth_provider/database/types/transaction.rs b/src/providers/eth_provider/database/types/transaction.rs index 9ce12e5be..8d8dcff94 100644 --- a/src/providers/eth_provider/database/types/transaction.rs +++ b/src/providers/eth_provider/database/types/transaction.rs @@ -1,12 +1,14 @@ -use reth_primitives::B256; -use reth_rpc_types::{Transaction, WithOtherFields}; +use alloy_primitives::B256; +use alloy_rpc_types::Transaction; +use alloy_serde::WithOtherFields; use serde::{Deserialize, Serialize}; use std::ops::Deref; #[cfg(any(test, feature = "arbitrary", feature = "testing"))] use { + alloy_primitives::U256, arbitrary::Arbitrary, rand::Rng, - reth_primitives::U256, + reth_primitives::transaction::legacy_parity, reth_testing_utils::generators::{self}, }; @@ -53,19 +55,12 @@ impl Arbitrary<'_> for StoredTransaction { // Create a `primitive_tx` of a specific transaction type based on the random choice. let primitive_tx = match random_choice { - 0 => reth_primitives::Transaction::Legacy(reth_primitives::transaction::TxLegacy { + 0 => reth_primitives::Transaction::Legacy(alloy_consensus::TxLegacy { chain_id: Some(u8::arbitrary(u)?.into()), - gas_limit: u64::arbitrary(u)?.into(), - ..Arbitrary::arbitrary(u)? - }), - 1 => reth_primitives::Transaction::Eip2930(reth_primitives::TxEip2930 { - gas_limit: u64::arbitrary(u)?.into(), - ..Arbitrary::arbitrary(u)? - }), - _ => reth_primitives::Transaction::Eip1559(reth_primitives::TxEip1559 { - gas_limit: u64::arbitrary(u)?.into(), ..Arbitrary::arbitrary(u)? }), + 1 => reth_primitives::Transaction::Eip2930(alloy_consensus::TxEip2930::arbitrary(u)?), + _ => reth_primitives::Transaction::Eip1559(alloy_consensus::TxEip1559::arbitrary(u)?), }; // Sign the generated transaction with a randomly generated key pair. @@ -78,15 +73,15 @@ impl Arbitrary<'_> for StoredTransaction { block_hash: Some(B256::arbitrary(u)?), block_number: Some(u64::arbitrary(u)?), transaction_index: Some(u64::arbitrary(u)?), - signature: Some(reth_rpc_types::Signature { - r: transaction_signed.signature.r, - s: transaction_signed.signature.s, + signature: Some(alloy_rpc_types::Signature { + r: transaction_signed.signature.r(), + s: transaction_signed.signature.s(), v: if transaction_signed.is_legacy() { - U256::from(transaction_signed.signature.legacy_parity(transaction_signed.chain_id()).to_u64()) + U256::from(legacy_parity(&transaction_signed.signature, transaction_signed.chain_id()).to_u64()) } else { - U256::from(transaction_signed.signature.odd_y_parity) + U256::from(transaction_signed.signature.v().to_u64()) }, - y_parity: Some(transaction_signed.signature.odd_y_parity.into()), + y_parity: Some((transaction_signed.signature.v().y_parity()).into()), }), nonce: transaction_signed.nonce(), value: transaction_signed.value(), @@ -94,7 +89,7 @@ impl Arbitrary<'_> for StoredTransaction { chain_id: transaction_signed.chain_id(), transaction_type: Some(transaction_signed.tx_type().into()), to: transaction_signed.to(), - gas: transaction_signed.gas_limit().into(), + gas: transaction_signed.gas_limit(), ..Default::default() }; diff --git a/src/providers/eth_provider/error.rs b/src/providers/eth_provider/error.rs index eb6113387..5c29c865a 100644 --- a/src/providers/eth_provider/error.rs +++ b/src/providers/eth_provider/error.rs @@ -1,9 +1,9 @@ +use alloy_primitives::{Bytes, B256}; +use alloy_rpc_types::BlockHashOrNumber; use alloy_sol_types::decode_revert_reason; use jsonrpsee::types::ErrorObject; use num_traits::cast::ToPrimitive; -use reth_primitives::{Bytes, B256}; -use reth_rpc_eth_types::EthApiError as RethEthApiError; -use reth_rpc_types::{BlockHashOrNumber, ToRpcError}; +use reth_rpc_eth_types::{error::ToRpcError, EthApiError as RethEthApiError}; use reth_transaction_pool::error::PoolError; use starknet::core::types::Felt; use thiserror::Error; diff --git a/src/providers/eth_provider/gas.rs b/src/providers/eth_provider/gas.rs index 3d602e367..07544b869 100644 --- a/src/providers/eth_provider/gas.rs +++ b/src/providers/eth_provider/gas.rs @@ -10,12 +10,13 @@ use crate::{ provider::{EthApiResult, EthDataProvider}, }, }; +use alloy_primitives::{U256, U64}; +use alloy_rpc_types::{FeeHistory, TransactionRequest}; use async_trait::async_trait; use auto_impl::auto_impl; use eyre::eyre; use mongodb::bson::doc; -use reth_primitives::{BlockId, BlockNumberOrTag, U256, U64}; -use reth_rpc_types::{FeeHistory, TransactionRequest}; +use reth_primitives::{BlockId, BlockNumberOrTag}; use tracing::Instrument; #[async_trait] @@ -43,7 +44,7 @@ where { async fn estimate_gas(&self, request: TransactionRequest, block_id: Option) -> EthApiResult { // Set a high gas limit to make sure the transaction will not fail due to gas. - let request = TransactionRequest { gas: Some(u128::from(u64::MAX)), ..request }; + let request = TransactionRequest { gas: Some(u64::MAX), ..request }; let gas_used = self.estimate_gas(request, block_id).await?; @@ -97,7 +98,7 @@ where base_fee_per_gas.extend_from_within((base_fee_per_gas.len() - 1)..); Ok(FeeHistory { - base_fee_per_gas, + base_fee_per_gas: base_fee_per_gas.into_iter().map(Into::into).collect(), gas_used_ratio, oldest_block: start_block, reward: Some(vec![]), diff --git a/src/providers/eth_provider/logs.rs b/src/providers/eth_provider/logs.rs index 246eb40dc..818ae7b42 100644 --- a/src/providers/eth_provider/logs.rs +++ b/src/providers/eth_provider/logs.rs @@ -11,9 +11,9 @@ use crate::providers::eth_provider::{ provider::{EthApiResult, EthDataProvider}, BlockProvider, }; +use alloy_rpc_types::{Filter, FilterChanges}; use async_trait::async_trait; use auto_impl::auto_impl; -use reth_rpc_types::{Filter, FilterChanges}; #[async_trait] #[auto_impl(Arc, &)] diff --git a/src/providers/eth_provider/provider.rs b/src/providers/eth_provider/provider.rs index 8aef651cf..c42c2e3be 100644 --- a/src/providers/eth_provider/provider.rs +++ b/src/providers/eth_provider/provider.rs @@ -17,13 +17,14 @@ use crate::{ sn_provider::StarknetProvider, }, }; +use alloy_primitives::{TxKind, U256}; +use alloy_rpc_types::{BlockHashOrNumber, TransactionRequest}; use cainome::cairo_serde::CairoArrayLegacy; use eyre::Result; use itertools::Itertools; use mongodb::bson::doc; use num_traits::cast::ToPrimitive; -use reth_primitives::{BlockId, BlockNumberOrTag, TxKind, U256}; -use reth_rpc_types::{BlockHashOrNumber, TransactionRequest}; +use reth_primitives::{BlockId, BlockNumberOrTag}; use starknet::core::types::Felt; use tracing::{instrument, Instrument}; #[cfg(feature = "hive")] @@ -33,7 +34,7 @@ use { account_contract::AccountContractReader, starknet_address, }, crate::providers::eth_provider::utils::contract_not_found, - reth_primitives::Address, + alloy_primitives::Address, }; /// A type alias representing a result type for Ethereum API operations. diff --git a/src/providers/eth_provider/receipts.rs b/src/providers/eth_provider/receipts.rs index 75faea1c6..1b729c3ad 100644 --- a/src/providers/eth_provider/receipts.rs +++ b/src/providers/eth_provider/receipts.rs @@ -6,11 +6,12 @@ use crate::providers::eth_provider::{ }, provider::{EthApiResult, EthDataProvider}, }; +use alloy_primitives::B256; +use alloy_rpc_types::TransactionReceipt; use async_trait::async_trait; use auto_impl::auto_impl; use mongodb::bson::doc; -use reth_primitives::{BlockId, BlockNumberOrTag, B256}; -use reth_rpc_types::TransactionReceipt; +use reth_primitives::{BlockId, BlockNumberOrTag}; #[async_trait] #[auto_impl(Arc, &)] diff --git a/src/providers/eth_provider/starknet/kakarot_core.rs b/src/providers/eth_provider/starknet/kakarot_core.rs index b485578df..d2ab7d661 100644 --- a/src/providers/eth_provider/starknet/kakarot_core.rs +++ b/src/providers/eth_provider/starknet/kakarot_core.rs @@ -1,9 +1,9 @@ #![allow(clippy::too_many_arguments)] use crate::into_via_wrapper; +use alloy_primitives::{Address, B256}; use cainome::rs::abigen_legacy; use dotenvy::dotenv; -use reth_primitives::{Address, B256}; use starknet::{ core::{types::Felt, utils::get_contract_address}, macros::selector, diff --git a/src/providers/eth_provider/state.rs b/src/providers/eth_provider/state.rs index d51915884..34538d4c9 100644 --- a/src/providers/eth_provider/state.rs +++ b/src/providers/eth_provider/state.rs @@ -11,20 +11,21 @@ use crate::{ BlockProvider, ChainProvider, }, }; +use alloy_primitives::{Address, Bytes, B256, U256}; +use alloy_rpc_types::{ + serde_helpers::JsonStorageKey, + state::{EvmOverrides, StateOverride}, + BlockOverrides, TransactionRequest, +}; use async_trait::async_trait; use auto_impl::auto_impl; use mongodb::bson::doc; use num_traits::cast::ToPrimitive; use reth_evm_ethereum::EthEvmConfig; use reth_node_api::ConfigureEvm; -use reth_primitives::{Address, BlockId, Bytes, B256, U256}; +use reth_primitives::BlockId; use reth_revm::db::CacheDB; use reth_rpc_eth_types::error::ensure_success; -use reth_rpc_types::{ - serde_helpers::JsonStorageKey, - state::{EvmOverrides, StateOverride}, - BlockOverrides, TransactionRequest, -}; use starknet::core::utils::get_storage_var_address; use std::sync::Arc; use tracing::Instrument; diff --git a/src/providers/eth_provider/transactions.rs b/src/providers/eth_provider/transactions.rs index 6c5b0c87e..2e83304af 100644 --- a/src/providers/eth_provider/transactions.rs +++ b/src/providers/eth_provider/transactions.rs @@ -12,11 +12,13 @@ use crate::{ ChainProvider, }, }; +use alloy_primitives::{Address, B256, U256}; +use alloy_rpc_types::{Index, Transaction}; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use auto_impl::auto_impl; use mongodb::bson::doc; -use reth_primitives::{Address, BlockId, BlockNumberOrTag, B256, U256}; -use reth_rpc_types::{Index, Transaction, WithOtherFields}; +use reth_primitives::{BlockId, BlockNumberOrTag}; use tracing::Instrument; #[async_trait] diff --git a/src/providers/eth_provider/tx_pool.rs b/src/providers/eth_provider/tx_pool.rs index f7571a1c1..cf734dba4 100644 --- a/src/providers/eth_provider/tx_pool.rs +++ b/src/providers/eth_provider/tx_pool.rs @@ -1,8 +1,10 @@ use crate::providers::eth_provider::provider::EthApiResult; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::TxpoolContent; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use auto_impl::auto_impl; use mongodb::bson::doc; -use reth_rpc_types::{txpool::TxpoolContent, Transaction, WithOtherFields}; /// Ethereum provider trait. Used to abstract away the database and the network. #[async_trait] diff --git a/src/providers/eth_provider/utils.rs b/src/providers/eth_provider/utils.rs index 79f3ea5f5..4fa9511fe 100644 --- a/src/providers/eth_provider/utils.rs +++ b/src/providers/eth_provider/utils.rs @@ -1,5 +1,5 @@ +use alloy_primitives::{U128, U256}; use cainome::cairo_serde::Error; -use reth_primitives::{U128, U256}; use starknet::{ core::types::{ContractErrorData, StarknetError}, providers::ProviderError, diff --git a/src/providers/pool_provider.rs b/src/providers/pool_provider.rs index 1210c5a74..845dd8881 100644 --- a/src/providers/pool_provider.rs +++ b/src/providers/pool_provider.rs @@ -1,12 +1,11 @@ use super::eth_provider::TxPoolProvider; use crate::providers::eth_provider::provider::EthApiResult; +use alloy_primitives::Address; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolInspectSummary, TxpoolStatus}; +use alloy_serde::WithOtherFields; use async_trait::async_trait; use auto_impl::auto_impl; -use reth_primitives::Address; -use reth_rpc_types::{ - txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolInspectSummary, TxpoolStatus}, - Transaction, WithOtherFields, -}; #[async_trait] #[auto_impl(Arc, &)] @@ -49,7 +48,7 @@ impl PoolProvider for PoolDataProvide TxpoolInspectSummary { to: transaction.to, value: transaction.value, - gas: transaction.gas, + gas: transaction.gas.into(), gas_price: transaction.gas_price.unwrap_or_default(), }, ); @@ -64,7 +63,7 @@ impl PoolProvider for PoolDataProvide TxpoolInspectSummary { to: transaction.to, value: transaction.value, - gas: transaction.gas, + gas: transaction.gas.into(), gas_price: transaction.gas_price.unwrap_or_default(), }, ); diff --git a/src/providers/sn_provider/starknet_provider.rs b/src/providers/sn_provider/starknet_provider.rs index 9a1a525ea..02d4fffd5 100644 --- a/src/providers/sn_provider/starknet_provider.rs +++ b/src/providers/sn_provider/starknet_provider.rs @@ -6,7 +6,7 @@ use crate::{ utils::{class_hash_not_declared, contract_not_found}, }, }; -use reth_primitives::U256; +use alloy_primitives::U256; use starknet::{ core::types::{BlockId, Felt}, providers::Provider, diff --git a/src/test_utils/eoa.rs b/src/test_utils/eoa.rs index 2b277d7fe..f1592c0ea 100644 --- a/src/test_utils/eoa.rs +++ b/src/test_utils/eoa.rs @@ -10,15 +10,14 @@ use crate::{ tx_waiter::watch_tx, }, }; +use alloy_consensus::TxEip1559; use alloy_dyn_abi::DynSolValue; +use alloy_eips::eip2718::Encodable2718; use alloy_json_abi::ContractObject; +use alloy_primitives::{Address, TxKind, B256, U256}; use alloy_signer_local::PrivateKeySigner; use async_trait::async_trait; -use reth_primitives::{ - sign_message, Address, Transaction, TransactionSigned, TransactionSignedEcRecovered, TxEip1559, TxKind, B256, U256, -}; -use reth_rpc_types::WithOtherFields; -use reth_rpc_types_compat::transaction::from_recovered; +use reth_primitives::{sign_message, Transaction, TransactionSigned}; use starknet::{ accounts::{Account, SingleOwnerAccount}, core::{ @@ -31,8 +30,8 @@ use starknet::{ use std::sync::Arc; use tokio::sync::Mutex; -pub const TX_GAS_LIMIT: u128 = 5_000_000; -pub const TX_GAS_PRICE: u128 = 10; +pub const TX_GAS_LIMIT: u64 = 5_000_000; +pub const TX_GAS_PRICE: u64 = 10; /// EOA is an Ethereum-like Externally Owned Account (EOA) that can sign transactions and send them to the underlying Starknet provider. #[async_trait] @@ -71,7 +70,7 @@ pub trait Eoa { async fn send_transaction(&self, tx: TransactionSigned) -> Result { let eth_client = self.eth_client(); let mut v = Vec::new(); - tx.encode_enveloped(&mut v); + tx.encode_2718(&mut v); Ok(eth_client.send_raw_transaction(v.into()).await?) } } @@ -137,7 +136,7 @@ impl KakarotEOA

{ chain_id, nonce, gas_limit: TX_GAS_LIMIT, - max_fee_per_gas: TX_GAS_PRICE, + max_fee_per_gas: TX_GAS_PRICE.into(), ..Default::default() }) } else { @@ -282,7 +281,7 @@ impl KakarotEOA

{ chain_id: self.eth_client.eth_provider().chain_id().await?.unwrap_or_default().try_into()?, nonce: self.nonce().await?.try_into()?, gas_limit: TX_GAS_LIMIT, - max_fee_per_gas: TX_GAS_PRICE, + max_fee_per_gas: TX_GAS_PRICE.into(), to: TxKind::Call(to), value: U256::from(value), ..Default::default() @@ -293,24 +292,4 @@ impl KakarotEOA

{ let _ = self.send_transaction(tx_signed).await; Ok(tx) } - - /// Mocks a transaction with the given nonce without executing it - pub async fn mock_transaction_with_nonce( - &self, - nonce: u64, - ) -> Result, eyre::Error> { - let chain_id = self.eth_client.eth_provider().chain_id().await?.unwrap_or_default().to(); - Ok(from_recovered(TransactionSignedEcRecovered::from_signed_transaction( - self.sign_transaction(Transaction::Eip1559(TxEip1559 { - chain_id, - nonce, - gas_limit: 21000, - to: TxKind::Call(Address::random()), - value: U256::from(1000), - max_fee_per_gas: TX_GAS_PRICE, - ..Default::default() - }))?, - self.evm_address()?, - ))) - } } diff --git a/src/test_utils/evm_contract.rs b/src/test_utils/evm_contract.rs index 594a01429..797dab1d5 100644 --- a/src/test_utils/evm_contract.rs +++ b/src/test_utils/evm_contract.rs @@ -1,9 +1,11 @@ use super::eoa::{TX_GAS_LIMIT, TX_GAS_PRICE}; use crate::{models::felt::Felt252Wrapper, root_project_path}; +use alloy_consensus::{TxEip1559, TxLegacy}; use alloy_dyn_abi::{DynSolValue, JsonAbiExt}; use alloy_json_abi::ContractObject; +use alloy_primitives::{TxKind, U256}; use foundry_config::{find_project_root, load_config}; -use reth_primitives::{Transaction, TxEip1559, TxKind, TxLegacy, U256}; +use reth_primitives::Transaction; use starknet::core::types::Felt; use std::{fs, path::Path}; @@ -89,7 +91,7 @@ pub trait EvmContract { chain_id: tx_info.chain_id.expect("chain id required"), nonce: tx_info.nonce, gas_limit: TX_GAS_LIMIT, - max_fee_per_gas: TX_GAS_PRICE, + max_fee_per_gas: TX_GAS_PRICE.into(), input: deploy_data.into(), ..Default::default() })) diff --git a/src/test_utils/fixtures.rs b/src/test_utils/fixtures.rs index ae3af126b..b33bdf02b 100644 --- a/src/test_utils/fixtures.rs +++ b/src/test_utils/fixtures.rs @@ -6,7 +6,7 @@ use { super::mongo::RANDOM_BYTES_SIZE, crate::test_utils::evm_contract::KakarotEvmContract, alloy_dyn_abi::DynSolValue, - reth_primitives::{Address, U256}, + alloy_primitives::{Address, U256}, }; /// This fixture deploys a counter contract on Katana. diff --git a/src/test_utils/hive/account.rs b/src/test_utils/hive/account.rs index 13daa58ae..b52b9083d 100644 --- a/src/test_utils/hive/account.rs +++ b/src/test_utils/hive/account.rs @@ -1,7 +1,7 @@ #![allow(unreachable_pub)] use crate::providers::eth_provider::utils::split_u256; -use alloy_primitives::Bytes; -use reth_primitives::{alloy_primitives::keccak256, Address, KECCAK_EMPTY, U256}; +use alloy_primitives::{keccak256, Address, Bytes, U256}; +use reth_primitives::KECCAK_EMPTY; use revm_interpreter::analysis::to_analysed; use revm_primitives::Bytecode; use starknet::core::utils::get_storage_var_address; @@ -162,7 +162,7 @@ fn pack_byte_array_to_starkfelt_array(bytes: &[u8]) -> impl Iterator Genesis { @@ -109,7 +106,8 @@ impl<'a> Katana { #[cfg(any(test, feature = "arbitrary", feature = "testing"))] pub async fn new_empty() -> Self { - use reth_primitives::{constants::EMPTY_ROOT_HASH, B64, U256}; + use alloy_primitives::{B256, B64}; + use reth_primitives::constants::EMPTY_ROOT_HASH; let sequencer = katana_sequencer().await; let starknet_provider = Arc::new(JsonRpcClient::new(HttpTransport::new(sequencer.url()))); diff --git a/src/test_utils/mock_provider.rs b/src/test_utils/mock_provider.rs index 9d146ed0d..f88dd661b 100644 --- a/src/test_utils/mock_provider.rs +++ b/src/test_utils/mock_provider.rs @@ -2,13 +2,14 @@ use crate::providers::eth_provider::{ provider::EthApiResult, BlockProvider, ChainProvider, GasProvider, LogProvider, ReceiptProvider, StateProvider, TransactionProvider, }; -use async_trait::async_trait; -use mockall::mock; -use reth_primitives::{Address, BlockId, BlockNumberOrTag, Bytes, B256, U256, U64}; -use reth_rpc_types::{ +use alloy_primitives::{Address, Bytes, B256, U256, U64}; +use alloy_rpc_types::{ Block, Filter, FilterChanges, Header, SyncStatus, Transaction, TransactionReceipt, TransactionRequest, - WithOtherFields, }; +use alloy_serde::WithOtherFields; +use async_trait::async_trait; +use mockall::mock; +use reth_primitives::{BlockId, BlockNumberOrTag}; mock! { #[derive(Clone, Debug)] @@ -51,7 +52,7 @@ mock! { impl GasProvider for EthereumProviderStruct { async fn estimate_gas(&self, call: TransactionRequest, block_id: Option) -> EthApiResult; - async fn fee_history(&self, block_count: U64, newest_block: BlockNumberOrTag, reward_percentiles: Option>) -> EthApiResult; + async fn fee_history(&self, block_count: U64, newest_block: BlockNumberOrTag, reward_percentiles: Option>) -> EthApiResult; async fn gas_price(&self) -> EthApiResult; } @@ -72,20 +73,20 @@ mock! { impl StateProvider for EthereumProviderStruct { async fn balance(&self, address: Address, block_id: Option) -> EthApiResult; - async fn storage_at(&self, address: Address, index: reth_rpc_types::serde_helpers::JsonStorageKey, block_id: Option) -> EthApiResult; + async fn storage_at(&self, address: Address, index: alloy_rpc_types::serde_helpers::JsonStorageKey, block_id: Option) -> EthApiResult; async fn get_code(&self, address: Address, block_id: Option) -> EthApiResult; - async fn call(&self, request: TransactionRequest, block_id: Option, state_overrides: Option, block_overrides: Option>) -> EthApiResult; + async fn call(&self, request: TransactionRequest, block_id: Option, state_overrides: Option, block_overrides: Option>) -> EthApiResult; } #[async_trait] impl TransactionProvider for EthereumProviderStruct { async fn transaction_by_hash(&self, hash: B256) -> EthApiResult>>; - async fn transaction_by_block_hash_and_index(&self, hash: B256, index: reth_rpc_types::Index) -> EthApiResult>>; + async fn transaction_by_block_hash_and_index(&self, hash: B256, index: alloy_rpc_types::Index) -> EthApiResult>>; - async fn transaction_by_block_number_and_index(&self, number_or_tag: BlockNumberOrTag, index: reth_rpc_types::Index) -> EthApiResult>>; + async fn transaction_by_block_number_and_index(&self, number_or_tag: BlockNumberOrTag, index: alloy_rpc_types::Index) -> EthApiResult>>; async fn transaction_count(&self, address: Address, block_id: Option) -> EthApiResult; } diff --git a/src/test_utils/mongo/mod.rs b/src/test_utils/mongo/mod.rs index eb322a40c..539f2f5fb 100644 --- a/src/test_utils/mongo/mod.rs +++ b/src/test_utils/mongo/mod.rs @@ -7,14 +7,15 @@ use crate::providers::eth_provider::{ CollectionName, Database, }, }; +use alloy_primitives::{B256, U256}; +use alloy_rpc_types::Transaction; use arbitrary::Arbitrary; use mongodb::{ bson::{self, doc, Document}, options::{DatabaseOptions, ReadConcern, UpdateModifications, UpdateOptions, WriteConcern}, Client, }; -use reth_primitives::{TxType, B256, U256}; -use reth_rpc_types::Transaction; +use reth_primitives::TxType; use serde::Serialize; use std::sync::LazyLock; use strum::{EnumIter, IntoEnumIterator}; @@ -220,11 +221,11 @@ impl MongoFuzzer { receipt.receipt.block_number = transaction.block_number; receipt.receipt.block_hash = transaction.block_hash; receipt.receipt.inner = match transaction.transaction_type.unwrap_or_default().try_into() { - Ok(TxType::Legacy) => reth_rpc_types::ReceiptEnvelope::Legacy(modified_logs), - Ok(TxType::Eip2930) => reth_rpc_types::ReceiptEnvelope::Eip2930(modified_logs), - Ok(TxType::Eip1559) => reth_rpc_types::ReceiptEnvelope::Eip1559(modified_logs), - Ok(TxType::Eip4844) => reth_rpc_types::ReceiptEnvelope::Eip4844(modified_logs), - Ok(TxType::Eip7702) => reth_rpc_types::ReceiptEnvelope::Eip7702(modified_logs), + Ok(TxType::Legacy) => alloy_rpc_types::ReceiptEnvelope::Legacy(modified_logs), + Ok(TxType::Eip2930) => alloy_rpc_types::ReceiptEnvelope::Eip2930(modified_logs), + Ok(TxType::Eip1559) => alloy_rpc_types::ReceiptEnvelope::Eip1559(modified_logs), + Ok(TxType::Eip4844) => alloy_rpc_types::ReceiptEnvelope::Eip4844(modified_logs), + Ok(TxType::Eip7702) => alloy_rpc_types::ReceiptEnvelope::Eip7702(modified_logs), Err(_) => unreachable!(), }; receipt diff --git a/src/tracing/builder.rs b/src/tracing/builder.rs index e05bc5c81..8d1e958a8 100644 --- a/src/tracing/builder.rs +++ b/src/tracing/builder.rs @@ -4,15 +4,14 @@ use crate::providers::eth_provider::{ error::{EthApiError, TransactionError}, provider::EthereumProvider, }; -use reth_primitives::{B256, U256}; +use alloy_primitives::{B256, U256}; +use alloy_rpc_types::{Block, BlockHashOrNumber, BlockId, BlockTransactions, Header, Transaction}; +use alloy_rpc_types_trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions}; +use alloy_serde::WithOtherFields; use reth_revm::{ db::CacheDB, primitives::{BlockEnv, CfgEnv, Env, EnvWithHandlerCfg, HandlerCfg, SpecId}, }; -use reth_rpc_types::{ - trace::geth::{GethDebugTracingCallOptions, GethDebugTracingOptions}, - Block, BlockHashOrNumber, BlockId, BlockTransactions, Header, Transaction, WithOtherFields, -}; use revm_inspectors::tracing::TracingInspectorConfig; #[derive(Debug, Clone)] @@ -151,7 +150,7 @@ impl TracerBuilder { /// # Returns /// /// Returns the block if it exists, otherwise returns None - async fn block(&self, block_id: BlockId) -> TracerResult>> { + async fn block(&self, block_id: BlockId) -> TracerResult>> { let block = match block_id { BlockId::Hash(hash) => self.eth_provider.block_by_hash(hash.block_hash, true).await?, BlockId::Number(number) => self.eth_provider.block_by_number(number, true).await?, @@ -229,9 +228,11 @@ impl TracerBuilder { mod tests { use super::*; use crate::test_utils::mock_provider::MockEthereumProviderStruct; - use reth_primitives::U64; - use reth_rpc_types::{Transaction, WithOtherFields}; + use alloy_primitives::U64; + use alloy_rpc_types::Transaction; + use alloy_serde::WithOtherFields; use std::sync::Arc; + #[tokio::test] async fn test_tracer_builder_block_failure_with_none_block_number() { // Create a mock Ethereum provider diff --git a/src/tracing/mod.rs b/src/tracing/mod.rs index b95d90922..72977c9fd 100644 --- a/src/tracing/mod.rs +++ b/src/tracing/mod.rs @@ -8,24 +8,23 @@ use crate::{ }, tracing::builder::TracingOptions, }; +use alloy_primitives::{ruint::FromUintError, B256}; +use alloy_rpc_types::{TransactionInfo, TransactionRequest}; +use alloy_rpc_types_trace::{ + geth::{ + GethDebugBuiltInTracerType, GethDebugTracerType, GethDebugTracingCallOptions, GethDebugTracingOptions, + GethTrace, TraceResult, + }, + parity::LocalizedTransactionTrace, +}; +use alloy_serde::WithOtherFields; use eyre::eyre; use reth_evm_ethereum::EthEvmConfig; use reth_node_api::{ConfigureEvm, ConfigureEvmEnv}; -use reth_primitives::{ruint::FromUintError, B256}; use reth_revm::{ primitives::{Env, EnvWithHandlerCfg}, DatabaseCommit, }; -use reth_rpc_types::{ - trace::{ - geth::{ - GethDebugBuiltInTracerType, GethDebugTracerType, GethDebugTracingCallOptions, GethDebugTracingOptions, - GethTrace, TraceResult, - }, - parity::LocalizedTransactionTrace, - }, - TransactionInfo, TransactionRequest, WithOtherFields, -}; use revm_inspectors::tracing::{TracingInspector, TracingInspectorConfig}; use std::{collections::HashMap, sync::Arc}; @@ -63,10 +62,10 @@ impl TracingResult { } /// Creates a default failure [`TracingResult`] based on the [`TracingOptions`]. - fn default_failure(tracing_options: &TracingOptions, tx: &WithOtherFields) -> Self { + fn default_failure(tracing_options: &TracingOptions, tx: &WithOtherFields) -> Self { match tracing_options { TracingOptions::Geth(_) | TracingOptions::GethCall(_) => Self::Geth(vec![TraceResult::Success { - result: GethTrace::Default(reth_rpc_types::trace::geth::DefaultFrame { + result: GethTrace::Default(alloy_rpc_types_trace::geth::DefaultFrame { failed: true, ..Default::default() }), @@ -83,7 +82,7 @@ impl TracingResult { #[derive(Debug)] pub struct Tracer { - transactions: Vec>, + transactions: Vec>, env: EnvWithHandlerCfg, db: EthCacheDatabase

, tracing_options: TracingOptions, @@ -94,7 +93,7 @@ impl Tracer

{ fn trace_geth( env: EnvWithHandlerCfg, db: &EthCacheDatabase

, - tx: &WithOtherFields, + tx: &WithOtherFields, opts: GethDebugTracingOptions, ) -> TracingStateResult { // Extract options @@ -172,7 +171,7 @@ impl Tracer

{ fn trace_parity( env: EnvWithHandlerCfg, db: &EthCacheDatabase

, - tx: &WithOtherFields, + tx: &WithOtherFields, tracing_config: TracingInspectorConfig, ) -> TracingStateResult { // Get block base fee @@ -331,7 +330,7 @@ impl Tracer

{ fn trace_transactions( self, convert_result: fn(&TracingResult) -> Option<&Vec>, - transactions: &[WithOtherFields], + transactions: &[WithOtherFields], ) -> TracerResult> { let mut traces: Vec = Vec::with_capacity(self.transactions.len()); let mut transactions = transactions.iter().peekable(); @@ -373,7 +372,7 @@ impl Tracer

{ /// Returns the environment with the transaction env updated to the given transaction. fn env_with_tx( env: &EnvWithHandlerCfg, - tx: WithOtherFields, + tx: WithOtherFields, ) -> TracerResult { // Convert the transaction to an ec recovered transaction and update the env with it. let tx_ec_recovered = tx.try_into().map_err(|_| EthereumDataFormatError::TransactionConversion)?; diff --git a/tests/tests/alchemy_api.rs b/tests/tests/alchemy_api.rs index badc582c8..22b11e475 100644 --- a/tests/tests/alchemy_api.rs +++ b/tests/tests/alchemy_api.rs @@ -2,7 +2,7 @@ #![cfg(feature = "testing")] use alloy_dyn_abi::DynSolValue; -use alloy_primitives::address; +use alloy_primitives::{address, Address, U256}; use kakarot_rpc::{ models::{ felt::Felt252Wrapper, @@ -16,7 +16,6 @@ use kakarot_rpc::{ rpc::{start_kakarot_rpc_server, RawRpcParamsBuilder}, }, }; -use reth_primitives::{Address, U256}; use rstest::*; use serde_json::Value; diff --git a/tests/tests/debug_api.rs b/tests/tests/debug_api.rs index 4a8dbb11d..3f9952b12 100644 --- a/tests/tests/debug_api.rs +++ b/tests/tests/debug_api.rs @@ -1,6 +1,10 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] +use alloy_eips::eip2718::{Decodable2718, Encodable2718}; +use alloy_primitives::Bytes; use alloy_rlp::Encodable; +use alloy_rpc_types::{Transaction, TransactionInfo}; +use alloy_serde::WithOtherFields; use kakarot_rpc::{ client::TransactionHashProvider, providers::eth_provider::{BlockProvider, ReceiptProvider}, @@ -11,9 +15,8 @@ use kakarot_rpc::{ }, }; use reth_primitives::{ - Block, BlockNumberOrTag, Bytes, Log, Receipt, ReceiptWithBloom, TransactionSigned, TransactionSignedEcRecovered, + Block, BlockNumberOrTag, Log, Receipt, ReceiptWithBloom, TransactionSigned, TransactionSignedEcRecovered, }; -use reth_rpc_types::{Transaction, TransactionInfo, WithOtherFields}; use reth_rpc_types_compat::transaction::from_recovered_with_block_context; use rstest::*; use serde_json::Value; @@ -44,16 +47,16 @@ async fn test_raw_transaction(#[future] katana: Katana, _setup: ()) { let rlp_bytes: Option = serde_json::from_value(raw["result"].clone()).expect("Failed to deserialize result"); assert!(rlp_bytes.is_some()); // We can decode the RLP bytes to get the transaction and compare it with the original transaction - let transaction = TransactionSigned::decode_enveloped(&mut rlp_bytes.unwrap().as_ref()).unwrap(); + let transaction = TransactionSigned::decode_2718(&mut rlp_bytes.unwrap().as_ref()).unwrap(); let signer = transaction.recover_signer().unwrap(); - let mut transaction = from_recovered_with_block_context( + let mut transaction = from_recovered_with_block_context::( TransactionSignedEcRecovered::from_signed_transaction(transaction, signer), TransactionInfo { hash: Some(tx.hash), block_hash: tx.block_hash, block_number: tx.block_number, - base_fee: header.base_fee_per_gas, + base_fee: header.base_fee_per_gas.map(Into::into), index: tx.transaction_index, }, ); @@ -67,12 +70,12 @@ async fn test_raw_transaction(#[future] katana: Katana, _setup: ()) { .expect("Failed to call Debug RPC"); let response = res.text().await.expect("Failed to get response body"); let response: Value = serde_json::from_str(&response).expect("Failed to deserialize response body"); - let rpc_transaction: reth_rpc_types::Transaction = + let rpc_transaction: alloy_rpc_types::Transaction = serde_json::from_value(response["result"].clone()).expect("Failed to deserialize result"); // As per https://github.com/paradigmxyz/reth/blob/603e39ab74509e0863fc023461a4c760fb2126d1/crates/rpc/rpc-types-compat/src/transaction/signature.rs#L17 if rpc_transaction.transaction_type.unwrap() == 0 { - transaction.signature = Some(reth_rpc_types::Signature { + transaction.signature = Some(alloy_rpc_types::Signature { y_parity: rpc_transaction.signature.unwrap().y_parity, ..transaction.signature.unwrap() }); @@ -147,7 +150,7 @@ async fn test_raw_transactions(#[future] katana: Katana, _setup: ()) { let eth_provider = katana.eth_provider(); for (i, actual_tx) in eth_provider - .block_transactions(Some(reth_rpc_types::BlockId::Number(BlockNumberOrTag::Number(block_number)))) + .block_transactions(Some(alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Number(block_number)))) .await .unwrap() .unwrap() @@ -161,13 +164,14 @@ async fn test_raw_transactions(#[future] katana: Katana, _setup: ()) { // Convert the transaction to a primitives transactions and encode it. let rlp_bytes = TransactionSigned::from_transaction_and_signature( tx.try_into().unwrap(), - reth_primitives::Signature { - r: signature.r, - s: signature.s, - odd_y_parity: signature.y_parity.unwrap_or(reth_rpc_types::Parity(false)).0, - }, + reth_primitives::Signature::from_rs_and_parity( + signature.r, + signature.s, + signature.y_parity.map_or(false, |v| v.0), + ) + .expect("Invalid signature"), ) - .envelope_encoded(); + .encoded_2718(); // Assert the equality of the constructed receipt with the corresponding receipt from both block hash and block number. assert_eq!(rlp_bytes_by_block_number[i], rlp_bytes); @@ -237,7 +241,7 @@ async fn test_raw_receipts(#[future] katana: Katana, _setup: ()) { let eth_provider = katana.eth_provider(); for (i, receipt) in eth_provider - .block_receipts(Some(reth_rpc_types::BlockId::Number(BlockNumberOrTag::Number(block_number)))) + .block_receipts(Some(alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Number(block_number)))) .await .unwrap() .unwrap() @@ -315,7 +319,7 @@ async fn test_raw_block(#[future] katana: Katana, _setup: ()) { .expect("Failed to call Debug RPC"); let response = res.text().await.expect("Failed to get response body"); let response: Value = serde_json::from_str(&response).expect("Failed to deserialize response body"); - let rpc_block: WithOtherFields>> = + let rpc_block: WithOtherFields>> = serde_json::from_value(response["result"].clone()).expect("Failed to deserialize result"); let primitive_block = Block::try_from(rpc_block.inner).unwrap(); diff --git a/tests/tests/eth_provider.rs b/tests/tests/eth_provider.rs index 0db7e15e3..7bc33127b 100644 --- a/tests/tests/eth_provider.rs +++ b/tests/tests/eth_provider.rs @@ -1,7 +1,15 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] use crate::tests::mempool::create_sample_transactions; -use alloy_primitives::{address, bytes}; +use alloy_consensus::{TxEip1559, TxLegacy}; +use alloy_eips::eip2718::Encodable2718; +use alloy_primitives::{address, bytes, Address, Bytes, TxKind, B256, U256, U64}; +use alloy_rpc_types::{ + request::TransactionInput, + serde_helpers::JsonStorageKey, + state::{AccountOverride, StateOverride}, + Filter, FilterBlockOption, FilterChanges, Log, RpcBlockHash, Topic, TransactionRequest, +}; use alloy_sol_types::{sol, SolCall}; use arbitrary::Arbitrary; use kakarot_rpc::{ @@ -24,14 +32,7 @@ use kakarot_rpc::{ }, }; use rand::Rng; -use reth_primitives::{ - sign_message, transaction::Signature, Address, BlockNumberOrTag, Bytes, Transaction, TransactionSigned, TxEip1559, - TxKind, TxLegacy, B256, U256, U64, -}; -use reth_rpc_types::{ - request::TransactionInput, serde_helpers::JsonStorageKey, state::AccountOverride, Filter, FilterBlockOption, - FilterChanges, Log, RpcBlockHash, Topic, TransactionRequest, -}; +use reth_primitives::{sign_message, transaction::Signature, BlockNumberOrTag, Transaction, TransactionSigned}; use reth_transaction_pool::{TransactionOrigin, TransactionPool}; use rstest::*; use starknet::{ @@ -39,7 +40,7 @@ use starknet::{ core::types::{BlockId, BlockTag, Felt}, providers::Provider, }; -use std::{collections::HashMap, sync::Arc}; +use std::sync::Arc; use tokio::sync::Mutex; #[rstest] @@ -641,7 +642,7 @@ async fn test_block_receipts(#[future] katana: Katana, _setup: ()) { // Then: Retrieve receipts by block number let receipts = eth_provider - .block_receipts(Some(reth_rpc_types::BlockId::Number(BlockNumberOrTag::Number( + .block_receipts(Some(alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Number( transaction.block_number.unwrap(), )))) .await @@ -655,7 +656,7 @@ async fn test_block_receipts(#[future] katana: Katana, _setup: ()) { // Then: Retrieve receipts by block hash let receipts = eth_provider - .block_receipts(Some(reth_rpc_types::BlockId::Hash(RpcBlockHash::from(transaction.block_hash.unwrap())))) + .block_receipts(Some(alloy_rpc_types::BlockId::Hash(RpcBlockHash::from(transaction.block_hash.unwrap())))) .await .unwrap() .unwrap(); @@ -667,7 +668,7 @@ async fn test_block_receipts(#[future] katana: Katana, _setup: ()) { // Then: Attempt to retrieve receipts for a non-existing block let receipts = eth_provider - .block_receipts(Some(reth_rpc_types::BlockId::Hash(RpcBlockHash::from(B256::from(U256::from(0x00c0_fefe)))))) + .block_receipts(Some(alloy_rpc_types::BlockId::Hash(RpcBlockHash::from(B256::from(U256::from(0x00c0_fefe)))))) .await .unwrap(); assert!(receipts.is_none()); @@ -682,19 +683,19 @@ async fn test_to_starknet_block_id(#[future] katana: Katana, _setup: ()) { let transaction = katana.most_recent_transaction().unwrap(); // When: Convert block number identifier to StarkNet block identifier - let block_id = reth_rpc_types::BlockId::Number(BlockNumberOrTag::Number(transaction.block_number.unwrap())); + let block_id = alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Number(transaction.block_number.unwrap())); let pending_starknet_block_id = eth_provider.to_starknet_block_id(block_id).await.unwrap(); // When: Convert block hash identifier to StarkNet block identifier - let some_block_hash = reth_rpc_types::BlockId::Hash(RpcBlockHash::from(transaction.block_hash.unwrap())); + let some_block_hash = alloy_rpc_types::BlockId::Hash(RpcBlockHash::from(transaction.block_hash.unwrap())); let some_starknet_block_hash = eth_provider.to_starknet_block_id(some_block_hash).await.unwrap(); // When: Convert block tag identifier to StarkNet block identifier - let pending_block_tag = reth_rpc_types::BlockId::Number(BlockNumberOrTag::Pending); + let pending_block_tag = alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Pending); let pending_block_tag_starknet = eth_provider.to_starknet_block_id(pending_block_tag).await.unwrap(); // When: Attempt to convert an unknown block number identifier to StarkNet block identifier - let unknown_block_number = reth_rpc_types::BlockId::Number(BlockNumberOrTag::Number(u64::MAX)); + let unknown_block_number = alloy_rpc_types::BlockId::Number(BlockNumberOrTag::Number(u64::MAX)); let unknown_starknet_block_number = eth_provider.to_starknet_block_id(unknown_block_number).await; // Then: Ensure the converted StarkNet block identifiers match the expected values @@ -746,7 +747,7 @@ async fn test_send_raw_transaction(#[future] katana_empty: Katana, _setup: ()) { // Send the transaction let _ = eth_client - .send_raw_transaction(transaction_signed.envelope_encoded()) + .send_raw_transaction(transaction_signed.encoded_2718().into()) .await .expect("failed to send transaction"); @@ -812,7 +813,7 @@ async fn test_send_raw_transaction_wrong_nonce(#[future] katana_empty: Katana, _ // Send the transaction let tx_hash = eth_client - .send_raw_transaction(transaction_signed.envelope_encoded()) + .send_raw_transaction(transaction_signed.encoded_2718().into()) .await .expect("failed to send transaction"); @@ -829,10 +830,12 @@ async fn test_send_raw_transaction_wrong_nonce(#[future] katana_empty: Katana, _ assert_eq!(katana_empty.eth_client.mempool().pool_size().total, 0); // Insert a wrong field in the transaction signature to mimic a wrong signature - transaction_signed.signature.r = U256::from(0); + transaction_signed.signature = + Signature::from_rs_and_parity(U256::ZERO, transaction_signed.signature.s(), transaction_signed.signature.v()) + .unwrap(); // Attempt to send the transaction with the wrong signature and assert that it fails - assert!(eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await.is_err()); + assert!(eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await.is_err()); // Retrieve the current size of the mempool let mempool_size_after_wrong_send = eth_client.mempool().pool_size(); @@ -873,7 +876,7 @@ async fn test_send_raw_transaction_exceed_size_limit(#[future] katana: Katana, _ assert_eq!(mempool_size.pending, 0); assert_eq!(mempool_size.total, 0); - let _ = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let _ = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; // Retrieve the current size of the mempool let mempool_size_after_send = eth_client.mempool().pool_size(); @@ -914,7 +917,7 @@ async fn test_send_raw_transaction_exceed_max_priority_fee_per_gas(#[future] kat assert_eq!(mempool_size.pending, 0); assert_eq!(mempool_size.total, 0); - let _ = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let _ = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; // Retrieve the current size of the mempool let mempool_size_after_send = eth_client.mempool().pool_size(); @@ -936,7 +939,7 @@ async fn test_send_raw_transaction_exceed_gas_limit(#[future] katana: Katana, _s let transaction = Transaction::Eip1559(TxEip1559 { chain_id, nonce: 0, - gas_limit: u64::MAX.into(), + gas_limit: u64::MAX, to: TxKind::Call(Address::random()), value: U256::from(1000), input: Bytes::default(), @@ -955,7 +958,7 @@ async fn test_send_raw_transaction_exceed_gas_limit(#[future] katana: Katana, _s assert_eq!(mempool_size.pending, 0); assert_eq!(mempool_size.total, 0); - let _ = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let _ = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; // Retrieve the current size of the mempool let mempool_size_after_send = eth_client.mempool().pool_size(); @@ -995,7 +998,7 @@ async fn test_send_raw_transaction_pre_eip_155(#[future] katana_empty: Katana, _ // Send the transaction let _ = eth_client - .send_raw_transaction(transaction_signed.envelope_encoded()) + .send_raw_transaction(transaction_signed.encoded_2718().into()) .await .expect("failed to send transaction"); @@ -1071,7 +1074,7 @@ async fn test_send_raw_transaction_wrong_signature(#[future] katana: Katana, _se let mut transaction_signed = TransactionSigned::from_transaction_and_signature(transaction, signature); // Set an incorrect signature - transaction_signed.signature = Signature::default(); + transaction_signed.signature = Signature::from_rs_and_parity(U256::ZERO, U256::ZERO, false).unwrap(); let mempool_size = eth_client.mempool().pool_size(); // Assert that the number of pending and total transactions in the mempool is 0 @@ -1079,7 +1082,7 @@ async fn test_send_raw_transaction_wrong_signature(#[future] katana: Katana, _se assert_eq!(mempool_size.total, 0); // Send the transaction - let _ = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let _ = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; let mempool_size_after_send = eth_client.mempool().pool_size(); // Verify that the number of pending transactions in the mempool remains unchanged (0 tx) @@ -1118,7 +1121,7 @@ async fn test_send_raw_transaction_wrong_chain_id(#[future] katana: Katana, _set assert_eq!(mempool_size.total, 0); // Attempt to send the transaction - let result = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let result = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; // Then assert!(result.is_err()); // Ensure the transaction is rejected @@ -1162,7 +1165,7 @@ async fn test_send_raw_transaction_insufficient_balance(#[future] katana: Katana assert_eq!(mempool_size.total, 0); // Attempt to send the transaction - let _ = eth_client.send_raw_transaction(transaction_signed.envelope_encoded()).await; + let _ = eth_client.send_raw_transaction(transaction_signed.encoded_2718().into()).await; let mempool_size_after_send = eth_client.mempool().pool_size(); // Verify that the number of pending transactions in the mempool remains unchanged (0 tx) @@ -1216,7 +1219,7 @@ async fn test_call_with_state_override_balance_success(#[future] katana: Katana, }; // Initialize state override with the EOA address having a lower balance than the required value - let mut state_override: HashMap = HashMap::new(); + let mut state_override = StateOverride::default(); state_override .insert(eoa_address, AccountOverride { balance: Some(U256::from(1_000_000_000)), ..Default::default() }); @@ -1250,7 +1253,7 @@ async fn test_call_with_state_override_balance_failure(#[future] katana: Katana, }; // Initialize state override with the EOA address having a lower balance than the required value - let mut state_override: HashMap = HashMap::new(); + let mut state_override = StateOverride::default(); state_override .insert(eoa_address, AccountOverride { balance: Some(U256::from(1_000_000_000)), ..Default::default() }); @@ -1306,7 +1309,7 @@ async fn test_call_with_state_override_bytecode(#[future] plain_opcodes: (Katana let calldata = Counter::setNumberCall { newNumber: U256::from(10) }.abi_encode(); // State override with the Counter bytecode - let mut state_override: HashMap = HashMap::new(); + let mut state_override = StateOverride::default(); state_override.insert(contract_address, AccountOverride { code: Some(bytecode.into()), ..Default::default() }); // Define the transaction request for invoking the setNumber function @@ -1362,7 +1365,7 @@ async fn test_transaction_by_hash(#[future] katana_empty: Katana, _setup: ()) { // Send the transaction let _ = katana_empty .eth_client - .send_raw_transaction(transaction_signed.envelope_encoded()) + .send_raw_transaction(transaction_signed.encoded_2718().into()) .await .expect("failed to send transaction"); diff --git a/tests/tests/kakarot_api.rs b/tests/tests/kakarot_api.rs index 8be05efb5..88c39080a 100644 --- a/tests/tests/kakarot_api.rs +++ b/tests/tests/kakarot_api.rs @@ -1,5 +1,6 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] +use alloy_primitives::B256; use kakarot_rpc::{ providers::eth_provider::constant::Constant, test_utils::{ @@ -8,7 +9,6 @@ use kakarot_rpc::{ rpc::{start_kakarot_rpc_server, RawRpcParamsBuilder}, }, }; -use reth_primitives::B256; use rstest::*; use serde_json::Value; use std::str::FromStr; diff --git a/tests/tests/mempool.rs b/tests/tests/mempool.rs index 4703be435..1c85aadc8 100644 --- a/tests/tests/mempool.rs +++ b/tests/tests/mempool.rs @@ -1,5 +1,8 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] +use alloy_consensus::TxEip1559; +use alloy_eips::eip2718::Encodable2718; +use alloy_primitives::{Address, TxKind, U256}; use kakarot_rpc::{ providers::eth_provider::{error::SignatureError, ChainProvider}, test_utils::{ @@ -8,9 +11,7 @@ use kakarot_rpc::{ katana::Katana, }, }; -use reth_primitives::{ - sign_message, Address, Transaction, TransactionSigned, TransactionSignedEcRecovered, TxEip1559, TxKind, U256, -}; +use reth_primitives::{sign_message, Transaction, TransactionSigned, TransactionSignedEcRecovered}; use reth_transaction_pool::{EthPooledTransaction, TransactionOrigin, TransactionPool}; use rstest::*; @@ -340,7 +341,7 @@ pub async fn create_sample_transactions( TransactionSignedEcRecovered::from_signed_transaction(transaction_signed.clone(), signer); // Get the encoded length of the transaction - let encoded_length = transaction_signed_ec_recovered.clone().length_without_header(); + let encoded_length = transaction_signed_ec_recovered.clone().encode_2718_len(); // Create a pooled transaction let eth_pooled_transaction = EthPooledTransaction::new(transaction_signed_ec_recovered, encoded_length); diff --git a/tests/tests/trace_api.rs b/tests/tests/trace_api.rs index a53452883..d439f20bd 100644 --- a/tests/tests/trace_api.rs +++ b/tests/tests/trace_api.rs @@ -1,6 +1,13 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] use alloy_dyn_abi::DynSolValue; +use alloy_primitives::{Address, TxKind, B256, U256}; +use alloy_rpc_types::{request::TransactionInput, TransactionRequest}; +use alloy_rpc_types_trace::geth::{ + CallFrame, GethDebugBuiltInTracerType, GethDebugTracerType, GethDebugTracingCallOptions, GethDebugTracingOptions, + GethTrace, +}; +use alloy_serde::{OtherFields, WithOtherFields}; use alloy_sol_types::{sol, SolCall}; use kakarot_rpc::{ providers::eth_provider::ChainProvider, @@ -12,15 +19,7 @@ use kakarot_rpc::{ rpc::{start_kakarot_rpc_server, RawRpcParamsBuilder}, }, }; -use reth_primitives::{Address, BlockId, TxKind, B256, U256}; -use reth_rpc_types::{ - request::TransactionInput, - trace::geth::{ - CallFrame, GethDebugBuiltInTracerType, GethDebugTracerType, GethDebugTracingCallOptions, - GethDebugTracingOptions, GethTrace, - }, - OtherFields, TransactionRequest, WithOtherFields, -}; +use reth_primitives::BlockId; use rstest::*; use serde_json::Value; use starknet::{core::types::MaybePendingBlockWithTxHashes, providers::Provider}; @@ -31,12 +30,12 @@ const TRACING_BLOCK_NUMBER: u64 = 0x3; const TRACING_TRANSACTIONS_COUNT: usize = 5; /// Helper to create a header. -fn header(block_number: u64, hash: B256, parent_hash: B256, base_fee: u128) -> reth_rpc_types::Header { - reth_rpc_types::Header { +fn header(block_number: u64, hash: B256, parent_hash: B256, base_fee: u64) -> alloy_rpc_types::Header { + alloy_rpc_types::Header { number: block_number, hash, parent_hash, - gas_limit: u128::from(u64::MAX), + gas_limit: u64::MAX, base_fee_per_gas: Some(base_fee), ..Default::default() } @@ -73,7 +72,7 @@ pub async fn tracing( .expect("Failed to prepare call transaction"); // Sign the transaction and convert it to a RPC transaction. let tx_signed = eoa.sign_transaction(tx.clone()).expect("Failed to sign transaction"); - let tx = reth_rpc_types::Transaction { + let tx = alloy_rpc_types::Transaction { transaction_type: Some(2), nonce: tx.nonce(), hash: tx_signed.hash(), @@ -81,13 +80,13 @@ pub async fn tracing( from: eoa_address, block_number: Some(TRACING_BLOCK_NUMBER), chain_id: tx.chain_id(), - gas: u128::from(tx.gas_limit()), + gas: tx.gas_limit(), input: tx.input().clone(), - signature: Some(reth_rpc_types::Signature { - r: tx_signed.signature().r, - s: tx_signed.signature().s, - v: U256::from(tx_signed.signature().odd_y_parity), - y_parity: Some(reth_rpc_types::Parity(tx_signed.signature().odd_y_parity)), + signature: Some(alloy_rpc_types::Signature { + r: tx_signed.signature().r(), + s: tx_signed.signature().s(), + v: U256::from(tx_signed.signature().v().to_u64()), + y_parity: Some(alloy_rpc_types::Parity(tx_signed.signature().v().y_parity())), }), max_fee_per_gas: Some(max_fee_per_gas), gas_price: Some(max_fee_per_gas), @@ -123,8 +122,8 @@ pub async fn tracing( }; let parent_block_hash = B256::from_slice(&parent_block_hash.to_bytes_be()[..]); - let parent_header = header(TRACING_BLOCK_NUMBER - 1, parent_block_hash, B256::random(), max_fee_per_gas); - let header = header(TRACING_BLOCK_NUMBER, B256::random(), parent_block_hash, max_fee_per_gas); + let parent_header = header(TRACING_BLOCK_NUMBER - 1, parent_block_hash, B256::random(), max_fee_per_gas as u64); + let header = header(TRACING_BLOCK_NUMBER, B256::random(), parent_block_hash, max_fee_per_gas as u64); katana.add_transactions_with_header_to_database(vec![], parent_header).await; katana.add_transactions_with_header_to_database(txs, header).await; } @@ -245,7 +244,7 @@ async fn test_trace_call_counter(#[future] plain_opcodes: (Katana, KakarotEvmCon tracing_options: GethDebugTracingOptions::default() .with_tracer(GethDebugTracerType::BuiltInTracer(GethDebugBuiltInTracerType::CallTracer)) .with_timeout(std::time::Duration::from_secs(300)) - .with_call_config(reth_rpc_types::trace::geth::CallConfig { only_top_call: Some(false), with_log: None }), + .with_call_config(alloy_rpc_types_trace::geth::CallConfig { only_top_call: Some(false), with_log: None }), state_overrides: Default::default(), block_overrides: Default::default(), }; diff --git a/tests/tests/tracer.rs b/tests/tests/tracer.rs index f02bf1282..fb61c2da2 100644 --- a/tests/tests/tracer.rs +++ b/tests/tests/tracer.rs @@ -1,6 +1,12 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] use alloy_dyn_abi::DynSolValue; +use alloy_primitives::{Address, Bytes, B256, B64, U256}; +use alloy_rpc_types_trace::{ + geth::{GethDebugTracingOptions, GethTrace, TraceResult}, + parity::{Action, CallAction, CallOutput, CallType, TraceOutput, TransactionTrace}, +}; +use alloy_serde::{OtherFields, WithOtherFields}; use kakarot_rpc::{ providers::eth_provider::{BlockProvider, ChainProvider}, test_utils::{ @@ -11,14 +17,6 @@ use kakarot_rpc::{ }, tracing::builder::TracerBuilder, }; -use reth_primitives::{Address, Bytes, B256, U256}; -use reth_rpc_types::{ - trace::{ - geth::{GethDebugTracingOptions, GethTrace, TraceResult}, - parity::{Action, CallAction, CallOutput, CallType, TraceOutput, TransactionTrace}, - }, - OtherFields, WithOtherFields, -}; use revm_inspectors::tracing::TracingInspectorConfig; use rstest::*; use serde_json::json; @@ -31,13 +29,15 @@ const TRACING_BLOCK_NUMBER: u64 = 0x3; const TRACING_TRANSACTIONS_COUNT: usize = 5; /// Helper to create a header. -fn header(block_number: u64, hash: B256, parent_hash: B256, base_fee: u128) -> reth_rpc_types::Header { - reth_rpc_types::Header { +fn header(block_number: u64, hash: B256, parent_hash: B256, base_fee: u64) -> alloy_rpc_types::Header { + alloy_rpc_types::Header { number: block_number, hash, parent_hash, - gas_limit: u128::from(u64::MAX), + gas_limit: u64::MAX, base_fee_per_gas: Some(base_fee), + mix_hash: Some(B256::ZERO), + nonce: Some(B64::ZERO), ..Default::default() } } @@ -73,7 +73,7 @@ pub async fn tracing( .expect("Failed to prepare call transaction"); // Sign the transaction and convert it to a RPC transaction. let tx_signed = eoa.sign_transaction(tx.clone()).expect("Failed to sign transaction"); - let tx = reth_rpc_types::Transaction { + let tx = alloy_rpc_types::Transaction { transaction_type: Some(2), nonce: tx.nonce(), hash: tx_signed.hash(), @@ -81,13 +81,13 @@ pub async fn tracing( from: eoa_address, block_number: Some(TRACING_BLOCK_NUMBER), chain_id: tx.chain_id(), - gas: u128::from(tx.gas_limit()), + gas: tx.gas_limit(), input: tx.input().clone(), - signature: Some(reth_rpc_types::Signature { - r: tx_signed.signature().r, - s: tx_signed.signature().s, - v: U256::from(tx_signed.signature().odd_y_parity), - y_parity: Some(reth_rpc_types::Parity(tx_signed.signature().odd_y_parity)), + signature: Some(alloy_rpc_types::Signature { + r: tx_signed.signature().r(), + s: tx_signed.signature().s(), + v: U256::from(tx_signed.signature().v().to_u64()), + y_parity: Some(alloy_rpc_types::Parity(tx_signed.signature().v().y_parity())), }), max_fee_per_gas: Some(max_fee_per_gas), gas_price: Some(max_fee_per_gas), @@ -123,8 +123,8 @@ pub async fn tracing( }; let parent_block_hash = B256::from_slice(&parent_block_hash.to_bytes_be()[..]); - let parent_header = header(TRACING_BLOCK_NUMBER - 1, parent_block_hash, B256::random(), max_fee_per_gas); - let header = header(TRACING_BLOCK_NUMBER, B256::random(), parent_block_hash, max_fee_per_gas); + let parent_header = header(TRACING_BLOCK_NUMBER - 1, parent_block_hash, B256::random(), max_fee_per_gas as u64); + let header = header(TRACING_BLOCK_NUMBER, B256::random(), parent_block_hash, max_fee_per_gas as u64); katana.add_transactions_with_header_to_database(vec![], parent_header).await; katana.add_transactions_with_header_to_database(txs, header).await; } @@ -280,7 +280,7 @@ async fn test_debug_trace_transaction(#[future] plain_opcodes: (Katana, KakarotE .build() .expect("Failed to build block_trace"); let block_traces = block_trace.debug_block().expect("Failed to trace block by number"); - let reth_rpc_types::trace::geth::TraceResult::Success { result: expected_trace, .. } = + let alloy_rpc_types_trace::geth::TraceResult::Success { result: expected_trace, .. } = block_traces.get(index).cloned().unwrap() else { panic!("Failed to get expected trace") @@ -296,7 +296,7 @@ async fn test_debug_trace_transaction(#[future] plain_opcodes: (Katana, KakarotE match run_out_of_resource_trace { TraceResult::Success { result, .. } => assert_eq!( result.clone(), - GethTrace::Default(reth_rpc_types::trace::geth::DefaultFrame { failed: true, ..Default::default() }) + GethTrace::Default(alloy_rpc_types_trace::geth::DefaultFrame { failed: true, ..Default::default() }) ), TraceResult::Error { .. } => panic!("Expected a success trace result"), }; diff --git a/tests/tests/txpool_api.rs b/tests/tests/txpool_api.rs index 3444514ed..9d87374b0 100644 --- a/tests/tests/txpool_api.rs +++ b/tests/tests/txpool_api.rs @@ -1,16 +1,15 @@ #![allow(clippy::used_underscore_binding)] #![cfg(feature = "testing")] use crate::tests::mempool::create_sample_transactions; +use alloy_rpc_types::Transaction; +use alloy_rpc_types_txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolInspectSummary, TxpoolStatus}; +use alloy_serde::WithOtherFields; use jsonrpsee::server::ServerHandle; use kakarot_rpc::test_utils::{ fixtures::{katana_empty, setup}, katana::Katana, rpc::{start_kakarot_rpc_server, RawRpcParamsBuilder}, }; -use reth_rpc_types::{ - txpool::{TxpoolContent, TxpoolContentFrom, TxpoolInspect, TxpoolInspectSummary, TxpoolStatus}, - Transaction, WithOtherFields, -}; use reth_transaction_pool::{TransactionOrigin, TransactionPool}; use rstest::*; use serde::{de::DeserializeOwned, Serialize};