chore: bump alloy-eip7702 (#11986)

Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
This commit is contained in:
Arsenii Kulikov
2024-10-23 16:53:29 +04:00
committed by GitHub
parent 7fd28df2b4
commit ff04de380d
8 changed files with 141 additions and 200 deletions

133
Cargo.lock generated
View File

@ -112,9 +112,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-consensus" name = "alloy-consensus"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42642aed67f938363d9c7543e5ca4163cfb4205d9ec15fe933dc4e865d2932dd" checksum = "cdf02dfacfc815214f9b54ff50d54900ba527a68fd73e2c5637ced3460005045"
dependencies = [ dependencies = [
"alloy-eips", "alloy-eips",
"alloy-primitives", "alloy-primitives",
@ -161,13 +161,14 @@ dependencies = [
[[package]] [[package]]
name = "alloy-eip7702" name = "alloy-eip7702"
version = "0.2.0" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eeffd2590ce780ddfaa9d0ae340eb2b4e08627650c4676eef537cef0b4bf535d" checksum = "64ffc577390ce50234e02d841214b3dc0bea6aaaae8e04bbf3cb82e9a45da9eb"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-rlp", "alloy-rlp",
"arbitrary", "arbitrary",
"derive_more 1.0.0",
"k256", "k256",
"rand 0.8.5", "rand 0.8.5",
"serde", "serde",
@ -176,9 +177,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-eips" name = "alloy-eips"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fbc52a30df46f9831ed74557dfad0d94b12420393662a8b9ef90e2d6c8cb4b0" checksum = "769da342b6bcd945013925ef4c40763cc82f11e002c60702dba8b444bb60e5a7"
dependencies = [ dependencies = [
"alloy-eip2930", "alloy-eip2930",
"alloy-eip7702", "alloy-eip7702",
@ -197,9 +198,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-genesis" name = "alloy-genesis"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0787d1688b9806290313cc335d416cc7ee39b11e3245f3d218544c62572d92ba" checksum = "c698ce0ada980b17f0323e1a28c7da8a2e9abc6dff5be9ee33d1525b28ac46b6"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-serde", "alloy-serde",
@ -220,9 +221,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-json-rpc" name = "alloy-json-rpc"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d55a16a5f9ca498a217c060414bcd1c43e934235dc8058b31b87dcd69ff4f105" checksum = "c1050e1d65524c030b17442b6546b564da51fdab7f71bd534b001ba65f2ebb16"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-sol-types", "alloy-sol-types",
@ -234,9 +235,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-network" name = "alloy-network"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d236a8c3e1d5adc09b1b63c81815fc9b757d9a4ba9482cc899f9679b55dd437" checksum = "da34a18446a27734473af3d77eb21c5ebbdf97ea8eb65c39c0b50916bc659023"
dependencies = [ dependencies = [
"alloy-consensus", "alloy-consensus",
"alloy-eips", "alloy-eips",
@ -255,9 +256,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-network-primitives" name = "alloy-network-primitives"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd15a0990fa8a56d85a42d6a689719aa4eebf5e2f1a5c5354658c0bfc52cac9a" checksum = "9a968c063fcfcb937736665c865a71fc2242b68916156f5ffa41fee7b44bb695"
dependencies = [ dependencies = [
"alloy-consensus", "alloy-consensus",
"alloy-eips", "alloy-eips",
@ -268,9 +269,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-node-bindings" name = "alloy-node-bindings"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2249f3c3ce446cf4063fe3d1aa7530823643c2706a1cc63045e0683ebc497a0a" checksum = "439fc6a933b9f8e8b272a8cac35dbeabaf2b2eaf9590482bebedb5782153118e"
dependencies = [ dependencies = [
"alloy-genesis", "alloy-genesis",
"alloy-primitives", "alloy-primitives",
@ -317,9 +318,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-provider" name = "alloy-provider"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "316f522bb6f9ac3805132112197957013b570e20cfdad058e8339dae6030c849" checksum = "c45dbc0e3630becef9e988b69d43339f68d67e32a854e3c855bc28bd5031895b"
dependencies = [ dependencies = [
"alloy-chains", "alloy-chains",
"alloy-consensus", "alloy-consensus",
@ -358,9 +359,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-pubsub" name = "alloy-pubsub"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "222cd9b17b1c5ad48de51a88ffbdb17f17145170288f22662f80ac88739125e6" checksum = "1e3961a56e10f44bfd69dd3f4b0854b90b84c612b0c43708e738933e8b47f93a"
dependencies = [ dependencies = [
"alloy-json-rpc", "alloy-json-rpc",
"alloy-primitives", "alloy-primitives",
@ -399,9 +400,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-client" name = "alloy-rpc-client"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b2ab59712c594c9624aaa69e38e4d38f180cb569f1fa46cdaf8c21fd50793e5" checksum = "917e5504e4f8f7e39bdc322ff81589ed54c1e462240adaeb58162c2d986a5a2b"
dependencies = [ dependencies = [
"alloy-json-rpc", "alloy-json-rpc",
"alloy-primitives", "alloy-primitives",
@ -424,9 +425,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types" name = "alloy-rpc-types"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba21284319e12d053baa204d438db6c1577aedd94c1298e4becefdac1f9cec87" checksum = "07c7eb2dc6db1dd41e5e7bd2b98a38813854efc30e034afd90d1e420e7f3de2b"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-rpc-types-engine", "alloy-rpc-types-engine",
@ -437,9 +438,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-admin" name = "alloy-rpc-types-admin"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "416cc9f391d0b876c4c8da85f7131e771a88a55b917cc9a35e1724d9409e3b1c" checksum = "bd468a4e3eddcd9d612cad657852de4b7475ac2080e7af9224fbf1df20ddffe0"
dependencies = [ dependencies = [
"alloy-genesis", "alloy-genesis",
"alloy-primitives", "alloy-primitives",
@ -449,9 +450,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-anvil" name = "alloy-rpc-types-anvil"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba40bea86c3102b9ed9b3be579e32e0b3e54e766248d873de5fc0437238c8df2" checksum = "2640928d9b1d43bb1cec7a0d615e10c2b407c5bd8ff1fcbe49e6318a2b62d731"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-serde", "alloy-serde",
@ -460,9 +461,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-beacon" name = "alloy-rpc-types-beacon"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b535781fe224c101c3d957b514cb9f438d165ff0280e5c0b2f87a0d9a2950593" checksum = "64f731ad2ef8d7dd75a4d28214f4922a5b683feee1e6df35bd7b427315f94366"
dependencies = [ dependencies = [
"alloy-eips", "alloy-eips",
"alloy-primitives", "alloy-primitives",
@ -474,9 +475,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-debug" name = "alloy-rpc-types-debug"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4303deacf4cbf12ed4431a5a1bbc3284f0defb4b8b72d9aa2b888656cc5ae657" checksum = "06bd0757bfb3eccde06ee3f4e378f5839fe923d40956cff586018d4427a15bb5"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"serde", "serde",
@ -484,9 +485,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-engine" name = "alloy-rpc-types-engine"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44848fced3b42260b9cb61f22102246636dfe5a2d0132f8d10a617df3cb1a74b" checksum = "7d3d95c3bf03efbb7bdc1d097e2931f520aac47438b709ccd8f065a7793dd371"
dependencies = [ dependencies = [
"alloy-consensus", "alloy-consensus",
"alloy-eips", "alloy-eips",
@ -505,9 +506,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-eth" name = "alloy-rpc-types-eth"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35894711990019fafff0012b82b9176cbb744516eb2a9bbe6b8e5cae522163ee" checksum = "e855b0daccf2320ba415753c3fed422abe9d3ad5d77b2d6cafcc9bcf32fe387f"
dependencies = [ dependencies = [
"alloy-consensus", "alloy-consensus",
"alloy-eips", "alloy-eips",
@ -526,9 +527,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-mev" name = "alloy-rpc-types-mev"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cac6250cad380a005ecb5ffc6d2facf03df0e72628d819a63dd8c3ade7a766ff" checksum = "eca3753b9894235f915437f908644e737d8714c686ce4e8d03afbf585b23f074"
dependencies = [ dependencies = [
"alloy-eips", "alloy-eips",
"alloy-primitives", "alloy-primitives",
@ -539,9 +540,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-trace" name = "alloy-rpc-types-trace"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f568c5624881896d8a25e19acbdcbabadd8df339427ea2f10b2ee447d57c4509" checksum = "ae58a997afde032cd021547c960a53eef6245f47969dd71886e9f63fb45a6048"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-rpc-types-eth", "alloy-rpc-types-eth",
@ -553,9 +554,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-rpc-types-txpool" name = "alloy-rpc-types-txpool"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4a37d2e1ed9b7daf20ad0b3e0092613cbae46737e0e988b23caa556c7067ce6" checksum = "667e45c882fda207d4cc94c4bb35e24a23347955113dcb236a5e4e0eaddef826"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-rpc-types-eth", "alloy-rpc-types-eth",
@ -565,9 +566,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-serde" name = "alloy-serde"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2843c195675f06b29c09a4315cccdc233ab5bdc7c0a3775909f9f0cab5e9ae0f" checksum = "35c2661ca6785add8fc37aff8005439c806ffad58254c19939c6f59ac0d6596e"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"arbitrary", "arbitrary",
@ -577,9 +578,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-signer" name = "alloy-signer"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88b2a00d9803dfef99963303ffe41a7bf2221f3342f0a503d6741a9f4a18e5e5" checksum = "67eca011160d18a7dc6d8cdc1e8dc13e2e86c908f8e41b02aa76e429d6fe7085"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"async-trait", "async-trait",
@ -591,9 +592,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-signer-local" name = "alloy-signer-local"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a2505d4f8c98dcae86152d58d549cb4bcf953f8352fca903410e0a0ef535571" checksum = "1c54b195a6ee5a83f32e7c697b4e6b565966737ed5a2ef9176bbbb39f720d023"
dependencies = [ dependencies = [
"alloy-consensus", "alloy-consensus",
"alloy-network", "alloy-network",
@ -679,9 +680,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-transport" name = "alloy-transport"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dc2c8f6b8c227ef0398f702d954c4ab572c2ead3c1ed4a5157aa1cbaf959747" checksum = "3e4a136e733f55fef0870b81e1f8f1db28e78973d1b1ae5a5df642ba39538a07"
dependencies = [ dependencies = [
"alloy-json-rpc", "alloy-json-rpc",
"base64 0.22.1", "base64 0.22.1",
@ -699,9 +700,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-transport-http" name = "alloy-transport-http"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd328e990d57f4c4e63899fb2c26877597d6503f8e0022a3d71b2d753ecbfc0c" checksum = "1a6b358a89b6d107b92d09b61a61fbc04243942182709752c796f4b29402cead"
dependencies = [ dependencies = [
"alloy-json-rpc", "alloy-json-rpc",
"alloy-transport", "alloy-transport",
@ -714,9 +715,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-transport-ipc" name = "alloy-transport-ipc"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89aea26aaf1d67904a7ff95ec4a24ddd5e7d419a6945f641b885962d7c2803e2" checksum = "4a899c43b7f5e3bc83762dfe5128fccd9cfa99f1f03c5f26bbfb2495ae8dcd35"
dependencies = [ dependencies = [
"alloy-json-rpc", "alloy-json-rpc",
"alloy-pubsub", "alloy-pubsub",
@ -733,9 +734,9 @@ dependencies = [
[[package]] [[package]]
name = "alloy-transport-ws" name = "alloy-transport-ws"
version = "0.5.2" version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e222e950ecc4ea12fbfb524b9a2275cac2cd5f57c8ce25bcaf1bd3ff80dd8fc8" checksum = "d27aac1246e13c9e6fa0c784fbb0c56872c6224f78dbde388bb2213ccdf8af02"
dependencies = [ dependencies = [
"alloy-pubsub", "alloy-pubsub",
"alloy-transport", "alloy-transport",
@ -9264,9 +9265,9 @@ dependencies = [
[[package]] [[package]]
name = "revm" name = "revm"
version = "16.0.0" version = "17.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34e44692d5736cc44c697a372e507890f8797f06d1541c5f4b9bec594d90fd8a" checksum = "2eab16cb0a8cd5ac88b11230b20df588b7e8aae7dfab4b3f830e98aebeb4b365"
dependencies = [ dependencies = [
"auto_impl", "auto_impl",
"cfg-if", "cfg-if",
@ -9279,9 +9280,9 @@ dependencies = [
[[package]] [[package]]
name = "revm-inspectors" name = "revm-inspectors"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a64e2246ad480167548724eb9c9c66945241b867c7d50894de3ca860c9823a45" checksum = "1e29c662f7887f3b659d4b0fd234673419a8fcbeaa1ecc29bf7034c0a75cc8ea"
dependencies = [ dependencies = [
"alloy-primitives", "alloy-primitives",
"alloy-rpc-types-eth", "alloy-rpc-types-eth",
@ -9298,9 +9299,9 @@ dependencies = [
[[package]] [[package]]
name = "revm-interpreter" name = "revm-interpreter"
version = "12.0.0" version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f89940d17d5d077570de1977f52f69049595322e237cb6c754c3d47f668f023" checksum = "fac2034454f8bc69dc7d3c94cdb1b57559e27f5ef0518771f1787de543d7d6a1"
dependencies = [ dependencies = [
"revm-primitives", "revm-primitives",
"serde", "serde",
@ -9308,9 +9309,9 @@ dependencies = [
[[package]] [[package]]
name = "revm-precompile" name = "revm-precompile"
version = "13.0.0" version = "14.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8f816aaea3245cbdbe7fdd84955df33597f9322c7912c3e3ba7bc855e03211f" checksum = "7a88c8c7c5f9b988a9e65fc0990c6ce859cdb74114db705bd118a96d22d08027"
dependencies = [ dependencies = [
"aurora-engine-modexp", "aurora-engine-modexp",
"blst", "blst",
@ -9328,9 +9329,9 @@ dependencies = [
[[package]] [[package]]
name = "revm-primitives" name = "revm-primitives"
version = "12.0.0" version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "532411bbde45a46707c1d434dcdc29866cf261c1b748fb01b303ce3b4310b361" checksum = "0d11fa1e195b0bebaf3fb18596f314a13ba3a4cb1fdd16d3465934d812fd921e"
dependencies = [ dependencies = [
"alloy-eip2930", "alloy-eip2930",
"alloy-eip7702", "alloy-eip7702",

View File

@ -418,9 +418,9 @@ reth-trie-db = { path = "crates/trie/db" }
reth-trie-parallel = { path = "crates/trie/parallel" } reth-trie-parallel = { path = "crates/trie/parallel" }
# revm # revm
revm = { version = "16.0.0", features = ["std"], default-features = false } revm = { version = "17.0.0", features = ["std"], default-features = false }
revm-inspectors = "0.9.0" revm-inspectors = "0.10.0"
revm-primitives = { version = "12.0.0", features = [ revm-primitives = { version = "13.0.0", features = [
"std", "std",
], default-features = false } ], default-features = false }
@ -432,39 +432,39 @@ alloy-rlp = "0.3.4"
alloy-sol-types = "0.8.0" alloy-sol-types = "0.8.0"
alloy-trie = { version = "0.7", default-features = false } alloy-trie = { version = "0.7", default-features = false }
alloy-consensus = { version = "0.5.2", default-features = false } alloy-consensus = { version = "0.5.3", default-features = false }
alloy-eips = { version = "0.5.2", default-features = false } alloy-eips = { version = "0.5.3", default-features = false }
alloy-genesis = { version = "0.5.2", default-features = false } alloy-genesis = { version = "0.5.3", default-features = false }
alloy-json-rpc = { version = "0.5.2", default-features = false } alloy-json-rpc = { version = "0.5.3", default-features = false }
alloy-network = { version = "0.5.2", default-features = false } alloy-network = { version = "0.5.3", default-features = false }
alloy-network-primitives = { version = "0.5.2", default-features = false } alloy-network-primitives = { version = "0.5.3", default-features = false }
alloy-node-bindings = { version = "0.5.2", default-features = false } alloy-node-bindings = { version = "0.5.3", default-features = false }
alloy-provider = { version = "0.5.2", features = [ alloy-provider = { version = "0.5.3", features = [
"reqwest", "reqwest",
], default-features = false } ], default-features = false }
alloy-pubsub = { version = "0.5.2", default-features = false } alloy-pubsub = { version = "0.5.3", default-features = false }
alloy-rpc-client = { version = "0.5.2", default-features = false } alloy-rpc-client = { version = "0.5.3", default-features = false }
alloy-rpc-types = { version = "0.5.2", features = [ alloy-rpc-types = { version = "0.5.3", features = [
"eth", "eth",
], default-features = false } ], default-features = false }
alloy-rpc-types-admin = { version = "0.5.2", default-features = false } alloy-rpc-types-admin = { version = "0.5.3", default-features = false }
alloy-rpc-types-anvil = { version = "0.5.2", default-features = false } alloy-rpc-types-anvil = { version = "0.5.3", default-features = false }
alloy-rpc-types-beacon = { version = "0.5.2", default-features = false } alloy-rpc-types-beacon = { version = "0.5.3", default-features = false }
alloy-rpc-types-debug = { version = "0.5.2", default-features = false } alloy-rpc-types-debug = { version = "0.5.3", default-features = false }
alloy-rpc-types-engine = { version = "0.5.2", default-features = false } alloy-rpc-types-engine = { version = "0.5.3", default-features = false }
alloy-rpc-types-eth = { version = "0.5.2", default-features = false } alloy-rpc-types-eth = { version = "0.5.3", default-features = false }
alloy-rpc-types-mev = { version = "0.5.2", default-features = false } alloy-rpc-types-mev = { version = "0.5.3", default-features = false }
alloy-rpc-types-trace = { version = "0.5.2", default-features = false } alloy-rpc-types-trace = { version = "0.5.3", default-features = false }
alloy-rpc-types-txpool = { version = "0.5.2", default-features = false } alloy-rpc-types-txpool = { version = "0.5.3", default-features = false }
alloy-serde = { version = "0.5.2", default-features = false } alloy-serde = { version = "0.5.3", default-features = false }
alloy-signer = { version = "0.5.2", default-features = false } alloy-signer = { version = "0.5.3", default-features = false }
alloy-signer-local = { version = "0.5.2", default-features = false } alloy-signer-local = { version = "0.5.3", default-features = false }
alloy-transport = { version = "0.5.2" } alloy-transport = { version = "0.5.3" }
alloy-transport-http = { version = "0.5.2", features = [ alloy-transport-http = { version = "0.5.3", features = [
"reqwest-rustls-tls", "reqwest-rustls-tls",
], default-features = false } ], default-features = false }
alloy-transport-ipc = { version = "0.5.2", default-features = false } alloy-transport-ipc = { version = "0.5.3", default-features = false }
alloy-transport-ws = { version = "0.5.2", default-features = false } alloy-transport-ws = { version = "0.5.3", default-features = false }
# op # op
op-alloy-rpc-types = "0.5" op-alloy-rpc-types = "0.5"

View File

@ -1,10 +1,13 @@
[workspace] [workspace]
members = [ members = ["exex/hello-world", "exex/remote", "exex/tracking-state"]
"exex/hello-world",
"exex/remote",
"exex/tracking-state",
]
# Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021 # Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021
# https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html # https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
resolver = "2" resolver = "2"
[patch.'https://github.com/paradigmxyz/reth']
reth = { path = "../../bin/reth" }
reth-exex = { path = "../../crates/exex/exex" }
reth-node-ethereum = { path = "../../crates/ethereum/node" }
reth-tracing = { path = "../../crates/tracing" }
reth-node-api = { path = "../../crates/node/api" }

View File

@ -4,10 +4,10 @@ version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
reth = { git = "https://github.com/paradigmxyz/reth.git" } # Reth reth = { git = "https://github.com/paradigmxyz/reth.git" } # Reth
reth-exex = { git = "https://github.com/paradigmxyz/reth.git" } # Execution Extensions reth-exex = { git = "https://github.com/paradigmxyz/reth.git" } # Execution Extensions
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git" } # Ethereum Node implementation reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git" } # Ethereum Node implementation
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git" } # Logging reth-tracing = { git = "https://github.com/paradigmxyz/reth.git" } # Logging
eyre = "0.6" # Easy error handling eyre = "0.6" # Easy error handling
futures-util = "0.3" # Stream utilities for consuming notifications futures-util = "0.3" # Stream utilities for consuming notifications

View File

@ -5,10 +5,12 @@ edition = "2021"
[dependencies] [dependencies]
reth = { git = "https://github.com/paradigmxyz/reth.git" } reth = { git = "https://github.com/paradigmxyz/reth.git" }
reth-exex = { git = "https://github.com/paradigmxyz/reth.git", features = ["serde"] } reth-exex = { git = "https://github.com/paradigmxyz/reth.git", features = [
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git"} "serde",
] }
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git" }
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git" } reth-tracing = { git = "https://github.com/paradigmxyz/reth.git" }
eyre = "0.6" # Easy error handling eyre = "0.6" # Easy error handling
futures-util = "0.3" # Stream utilities for consuming notifications futures-util = "0.3" # Stream utilities for consuming notifications
alloy-primitives = "0.8.7" alloy-primitives = "0.8.7"

View File

@ -1,11 +1,9 @@
#![cfg_attr(docsrs, doc(cfg(feature = "c-kzg")))] #![cfg_attr(docsrs, doc(cfg(feature = "c-kzg")))]
use crate::{Signature, Transaction, TransactionSigned}; use crate::{Signature, Transaction, TransactionSigned};
use alloy_consensus::{ use alloy_consensus::{constants::EIP4844_TX_TYPE_ID, TxEip4844WithSidecar};
constants::EIP4844_TX_TYPE_ID, transaction::TxEip4844, TxEip4844WithSidecar, use alloy_primitives::TxHash;
}; use alloy_rlp::Header;
use alloy_primitives::{keccak256, TxHash};
use alloy_rlp::{Decodable, Error as RlpError, Header};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[doc(inline)] #[doc(inline)]
@ -14,8 +12,6 @@ pub use alloy_eips::eip4844::BlobTransactionSidecar;
#[cfg(feature = "c-kzg")] #[cfg(feature = "c-kzg")]
pub use alloy_eips::eip4844::BlobTransactionValidationError; pub use alloy_eips::eip4844::BlobTransactionValidationError;
use alloc::vec::Vec;
/// A response to `GetPooledTransactions` that includes blob data, their commitments, and their /// A response to `GetPooledTransactions` that includes blob data, their commitments, and their
/// corresponding proofs. /// corresponding proofs.
/// ///
@ -36,7 +32,7 @@ impl BlobTransaction {
/// Constructs a new [`BlobTransaction`] from a [`TransactionSigned`] and a /// Constructs a new [`BlobTransaction`] from a [`TransactionSigned`] and a
/// [`BlobTransactionSidecar`]. /// [`BlobTransactionSidecar`].
/// ///
/// Returns an error if the signed transaction is not [`TxEip4844`] /// Returns an error if the signed transaction is not [`Transaction::Eip4844`]
pub fn try_from_signed( pub fn try_from_signed(
tx: TransactionSigned, tx: TransactionSigned,
sidecar: BlobTransactionSidecar, sidecar: BlobTransactionSidecar,
@ -57,7 +53,7 @@ impl BlobTransaction {
/// Verifies that the transaction's blob data, commitments, and proofs are all valid. /// Verifies that the transaction's blob data, commitments, and proofs are all valid.
/// ///
/// See also [`TxEip4844::validate_blob`] /// See also [`alloy_consensus::TxEip4844::validate_blob`]
#[cfg(feature = "c-kzg")] #[cfg(feature = "c-kzg")]
pub fn validate( pub fn validate(
&self, &self,
@ -163,7 +159,7 @@ impl BlobTransaction {
// The payload length is the length of the `tranascation_payload_body` list, plus the // The payload length is the length of the `tranascation_payload_body` list, plus the
// length of the blobs, commitments, and proofs. // length of the blobs, commitments, and proofs.
let payload_length = tx_length + self.transaction.sidecar.fields_len(); let payload_length = tx_length + self.transaction.sidecar.rlp_encoded_fields_length();
// We use the calculated payload len to construct the first list header, which encompasses // We use the calculated payload len to construct the first list header, which encompasses
// everything in the tx - the length of the second, inner list header is part of // everything in the tx - the length of the second, inner list header is part of
@ -188,74 +184,17 @@ impl BlobTransaction {
/// Note: this should be used only when implementing other RLP decoding methods, and does not /// Note: this should be used only when implementing other RLP decoding methods, and does not
/// represent the full RLP decoding of the `PooledTransactionsElement` type. /// represent the full RLP decoding of the `PooledTransactionsElement` type.
pub(crate) fn decode_inner(data: &mut &[u8]) -> alloy_rlp::Result<Self> { pub(crate) fn decode_inner(data: &mut &[u8]) -> alloy_rlp::Result<Self> {
// decode the _first_ list header for the rest of the transaction let (transaction, signature, hash) =
let outer_header = Header::decode(data)?; TxEip4844WithSidecar::decode_signed_fields(data)?.into_parts();
if !outer_header.list {
return Err(RlpError::Custom("PooledTransactions blob tx must be encoded as a list"))
}
let outer_remaining_len = data.len(); Ok(Self { transaction, hash, signature })
// Now we need to decode the inner 4844 transaction and its signature:
//
// `[chain_id, nonce, max_priority_fee_per_gas, ..., y_parity, r, s]`
let inner_header = Header::decode(data)?;
if !inner_header.list {
return Err(RlpError::Custom(
"PooledTransactions inner blob tx must be encoded as a list",
))
}
let inner_remaining_len = data.len();
// inner transaction
let transaction = TxEip4844::decode_fields(data)?;
// signature
let signature = Signature::decode_rlp_vrs(data)?;
// the inner header only decodes the transaction and signature, so we check the length here
let inner_consumed = inner_remaining_len - data.len();
if inner_consumed != inner_header.payload_length {
return Err(RlpError::UnexpectedLength)
}
// All that's left are the blobs, commitments, and proofs
let sidecar = BlobTransactionSidecar::decode(data)?;
// # Calculating the hash
//
// The full encoding of the `PooledTransaction` response is:
// `tx_type (0x03) || rlp([tx_payload_body, blobs, commitments, proofs])`
//
// The transaction hash however, is:
// `keccak256(tx_type (0x03) || rlp(tx_payload_body))`
//
// Note that this is `tx_payload_body`, not `[tx_payload_body]`, which would be
// `[[chain_id, nonce, max_priority_fee_per_gas, ...]]`, i.e. a list within a list.
//
// Because the pooled transaction encoding is different than the hash encoding for
// EIP-4844 transactions, we do not use the original buffer to calculate the hash.
//
// Instead, we use `encode_with_signature`, which RLP encodes the transaction with a
// signature for hashing without a header. We then hash the result.
let mut buf = Vec::new();
transaction.encode_with_signature(&signature, &mut buf, false);
let hash = keccak256(&buf);
// the outer header is for the entire transaction, so we check the length here
let outer_consumed = outer_remaining_len - data.len();
if outer_consumed != outer_header.payload_length {
return Err(RlpError::UnexpectedLength)
}
Ok(Self { transaction: TxEip4844WithSidecar { tx: transaction, sidecar }, hash, signature })
} }
} }
/// Generates a [`BlobTransactionSidecar`] structure containing blobs, commitments, and proofs. /// Generates a [`BlobTransactionSidecar`] structure containing blobs, commitments, and proofs.
#[cfg(all(feature = "c-kzg", any(test, feature = "arbitrary")))] #[cfg(all(feature = "c-kzg", any(test, feature = "arbitrary")))]
pub fn generate_blob_sidecar(blobs: Vec<c_kzg::Blob>) -> BlobTransactionSidecar { pub fn generate_blob_sidecar(blobs: Vec<c_kzg::Blob>) -> BlobTransactionSidecar {
use alloc::vec::Vec;
use alloy_eips::eip4844::env_settings::EnvKzgSettings; use alloy_eips::eip4844::env_settings::EnvKzgSettings;
use c_kzg::{KzgCommitment, KzgProof}; use c_kzg::{KzgCommitment, KzgProof};
@ -285,12 +224,12 @@ pub fn generate_blob_sidecar(blobs: Vec<c_kzg::Blob>) -> BlobTransactionSidecar
mod tests { mod tests {
use super::*; use super::*;
use crate::{kzg::Blob, PooledTransactionsElement}; use crate::{kzg::Blob, PooledTransactionsElement};
use alloc::vec::Vec;
use alloy_eips::{ use alloy_eips::{
eip2718::{Decodable2718, Encodable2718}, eip2718::{Decodable2718, Encodable2718},
eip4844::Bytes48, eip4844::Bytes48,
}; };
use alloy_primitives::hex; use alloy_primitives::hex;
use alloy_rlp::Encodable;
use std::{fs, path::PathBuf, str::FromStr}; use std::{fs, path::PathBuf, str::FromStr};
#[test] #[test]
@ -392,7 +331,7 @@ mod tests {
let mut encoded_rlp = Vec::new(); let mut encoded_rlp = Vec::new();
// Encode the inner data of the BlobTransactionSidecar into RLP // Encode the inner data of the BlobTransactionSidecar into RLP
sidecar.encode(&mut encoded_rlp); sidecar.rlp_encode_fields(&mut encoded_rlp);
// Assert the equality between the expected RLP from the JSON and the encoded RLP // Assert the equality between the expected RLP from the JSON and the encoded RLP
assert_eq!(json_value.get("rlp").unwrap().as_str().unwrap(), hex::encode(&encoded_rlp)); assert_eq!(json_value.get("rlp").unwrap().as_str().unwrap(), hex::encode(&encoded_rlp));
@ -423,10 +362,11 @@ mod tests {
let mut encoded_rlp = Vec::new(); let mut encoded_rlp = Vec::new();
// Encode the inner data of the BlobTransactionSidecar into RLP // Encode the inner data of the BlobTransactionSidecar into RLP
sidecar.encode(&mut encoded_rlp); sidecar.rlp_encode_fields(&mut encoded_rlp);
// Decode the RLP-encoded data back into a BlobTransactionSidecar // Decode the RLP-encoded data back into a BlobTransactionSidecar
let decoded_sidecar = BlobTransactionSidecar::decode(&mut encoded_rlp.as_slice()).unwrap(); let decoded_sidecar =
BlobTransactionSidecar::rlp_decode_fields(&mut encoded_rlp.as_slice()).unwrap();
// Assert the equality between the original BlobTransactionSidecar and the decoded one // Assert the equality between the original BlobTransactionSidecar and the decoded one
assert_eq!(sidecar, decoded_sidecar); assert_eq!(sidecar, decoded_sidecar);

View File

@ -44,11 +44,9 @@ impl Compact for SignedAuthorization {
where where
B: bytes::BufMut + AsMut<[u8]>, B: bytes::BufMut + AsMut<[u8]>,
{ {
let signature = self.signature(); buf.put_u8(self.y_parity());
let (v, r, s) = (signature.v(), signature.r(), signature.s()); buf.put_slice(self.r().as_le_slice());
buf.put_u8(v.y_parity_byte()); buf.put_slice(self.s().as_le_slice());
buf.put_slice(r.as_le_slice());
buf.put_slice(s.as_le_slice());
// to_compact doesn't write the len to buffer. // to_compact doesn't write the len to buffer.
// By placing it as last, we don't need to store it either. // By placing it as last, we don't need to store it either.
@ -56,17 +54,15 @@ impl Compact for SignedAuthorization {
} }
fn from_compact(mut buf: &[u8], len: usize) -> (Self, &[u8]) { fn from_compact(mut buf: &[u8], len: usize) -> (Self, &[u8]) {
let y = alloy_primitives::Parity::Parity(buf.get_u8() == 1); let y_parity = buf.get_u8();
let r = U256::from_le_slice(&buf[0..32]); let r = U256::from_le_slice(&buf[0..32]);
buf.advance(32); buf.advance(32);
let s = U256::from_le_slice(&buf[0..32]); let s = U256::from_le_slice(&buf[0..32]);
buf.advance(32); buf.advance(32);
let signature = alloy_primitives::Signature::from_rs_and_parity(r, s, y)
.expect("invalid authorization signature");
let (auth, buf) = AlloyAuthorization::from_compact(buf, len); let (auth, buf) = AlloyAuthorization::from_compact(buf, len);
(auth.into_signed(signature), buf) (Self::new_unchecked(auth, y_parity, r, s), buf)
} }
} }

View File

@ -3,7 +3,6 @@
use crate::blobstore::{BlobStore, BlobStoreCleanupStat, BlobStoreError, BlobStoreSize}; use crate::blobstore::{BlobStore, BlobStoreCleanupStat, BlobStoreError, BlobStoreSize};
use alloy_eips::eip4844::BlobAndProofV1; use alloy_eips::eip4844::BlobAndProofV1;
use alloy_primitives::{TxHash, B256}; use alloy_primitives::{TxHash, B256};
use alloy_rlp::{Decodable, Encodable};
use parking_lot::{Mutex, RwLock}; use parking_lot::{Mutex, RwLock};
use reth_primitives::BlobTransactionSidecar; use reth_primitives::BlobTransactionSidecar;
use schnellru::{ByLength, LruMap}; use schnellru::{ByLength, LruMap};
@ -204,8 +203,8 @@ impl DiskFileBlobStoreInner {
/// Ensures blob is in the blob cache and written to the disk. /// Ensures blob is in the blob cache and written to the disk.
fn insert_one(&self, tx: B256, data: BlobTransactionSidecar) -> Result<(), BlobStoreError> { fn insert_one(&self, tx: B256, data: BlobTransactionSidecar) -> Result<(), BlobStoreError> {
let mut buf = Vec::with_capacity(data.fields_len()); let mut buf = Vec::with_capacity(data.rlp_encoded_fields_length());
data.encode(&mut buf); data.rlp_encode_fields(&mut buf);
self.blob_cache.lock().insert(tx, data); self.blob_cache.lock().insert(tx, data);
let size = self.write_one_encoded(tx, &buf)?; let size = self.write_one_encoded(tx, &buf)?;
@ -219,8 +218,8 @@ impl DiskFileBlobStoreInner {
let raw = txs let raw = txs
.iter() .iter()
.map(|(tx, data)| { .map(|(tx, data)| {
let mut buf = Vec::with_capacity(data.fields_len()); let mut buf = Vec::with_capacity(data.rlp_encoded_fields_length());
data.encode(&mut buf); data.rlp_encode_fields(&mut buf);
(self.blob_disk_file(*tx), buf) (self.blob_disk_file(*tx), buf)
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
@ -312,7 +311,7 @@ impl DiskFileBlobStoreInner {
} }
} }
}; };
BlobTransactionSidecar::decode(&mut data.as_slice()) BlobTransactionSidecar::rlp_decode_fields(&mut data.as_slice())
.map(Some) .map(Some)
.map_err(BlobStoreError::DecodeError) .map_err(BlobStoreError::DecodeError)
} }
@ -322,7 +321,7 @@ impl DiskFileBlobStoreInner {
self.read_many_raw(txs) self.read_many_raw(txs)
.into_iter() .into_iter()
.filter_map(|(tx, data)| { .filter_map(|(tx, data)| {
BlobTransactionSidecar::decode(&mut data.as_slice()) BlobTransactionSidecar::rlp_decode_fields(&mut data.as_slice())
.map(|sidecar| (tx, sidecar)) .map(|sidecar| (tx, sidecar))
.ok() .ok()
}) })