mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: bump alloy-eip7702 (#11986)
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
This commit is contained in:
133
Cargo.lock
generated
133
Cargo.lock
generated
@ -112,9 +112,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-consensus"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "42642aed67f938363d9c7543e5ca4163cfb4205d9ec15fe933dc4e865d2932dd"
|
||||
checksum = "cdf02dfacfc815214f9b54ff50d54900ba527a68fd73e2c5637ced3460005045"
|
||||
dependencies = [
|
||||
"alloy-eips",
|
||||
"alloy-primitives",
|
||||
@ -161,13 +161,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-eip7702"
|
||||
version = "0.2.0"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eeffd2590ce780ddfaa9d0ae340eb2b4e08627650c4676eef537cef0b4bf535d"
|
||||
checksum = "64ffc577390ce50234e02d841214b3dc0bea6aaaae8e04bbf3cb82e9a45da9eb"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-rlp",
|
||||
"arbitrary",
|
||||
"derive_more 1.0.0",
|
||||
"k256",
|
||||
"rand 0.8.5",
|
||||
"serde",
|
||||
@ -176,9 +177,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-eips"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fbc52a30df46f9831ed74557dfad0d94b12420393662a8b9ef90e2d6c8cb4b0"
|
||||
checksum = "769da342b6bcd945013925ef4c40763cc82f11e002c60702dba8b444bb60e5a7"
|
||||
dependencies = [
|
||||
"alloy-eip2930",
|
||||
"alloy-eip7702",
|
||||
@ -197,9 +198,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-genesis"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0787d1688b9806290313cc335d416cc7ee39b11e3245f3d218544c62572d92ba"
|
||||
checksum = "c698ce0ada980b17f0323e1a28c7da8a2e9abc6dff5be9ee33d1525b28ac46b6"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-serde",
|
||||
@ -220,9 +221,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-json-rpc"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d55a16a5f9ca498a217c060414bcd1c43e934235dc8058b31b87dcd69ff4f105"
|
||||
checksum = "c1050e1d65524c030b17442b6546b564da51fdab7f71bd534b001ba65f2ebb16"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-sol-types",
|
||||
@ -234,9 +235,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-network"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d236a8c3e1d5adc09b1b63c81815fc9b757d9a4ba9482cc899f9679b55dd437"
|
||||
checksum = "da34a18446a27734473af3d77eb21c5ebbdf97ea8eb65c39c0b50916bc659023"
|
||||
dependencies = [
|
||||
"alloy-consensus",
|
||||
"alloy-eips",
|
||||
@ -255,9 +256,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-network-primitives"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cd15a0990fa8a56d85a42d6a689719aa4eebf5e2f1a5c5354658c0bfc52cac9a"
|
||||
checksum = "9a968c063fcfcb937736665c865a71fc2242b68916156f5ffa41fee7b44bb695"
|
||||
dependencies = [
|
||||
"alloy-consensus",
|
||||
"alloy-eips",
|
||||
@ -268,9 +269,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-node-bindings"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2249f3c3ce446cf4063fe3d1aa7530823643c2706a1cc63045e0683ebc497a0a"
|
||||
checksum = "439fc6a933b9f8e8b272a8cac35dbeabaf2b2eaf9590482bebedb5782153118e"
|
||||
dependencies = [
|
||||
"alloy-genesis",
|
||||
"alloy-primitives",
|
||||
@ -317,9 +318,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-provider"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "316f522bb6f9ac3805132112197957013b570e20cfdad058e8339dae6030c849"
|
||||
checksum = "c45dbc0e3630becef9e988b69d43339f68d67e32a854e3c855bc28bd5031895b"
|
||||
dependencies = [
|
||||
"alloy-chains",
|
||||
"alloy-consensus",
|
||||
@ -358,9 +359,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-pubsub"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "222cd9b17b1c5ad48de51a88ffbdb17f17145170288f22662f80ac88739125e6"
|
||||
checksum = "1e3961a56e10f44bfd69dd3f4b0854b90b84c612b0c43708e738933e8b47f93a"
|
||||
dependencies = [
|
||||
"alloy-json-rpc",
|
||||
"alloy-primitives",
|
||||
@ -399,9 +400,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-client"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b2ab59712c594c9624aaa69e38e4d38f180cb569f1fa46cdaf8c21fd50793e5"
|
||||
checksum = "917e5504e4f8f7e39bdc322ff81589ed54c1e462240adaeb58162c2d986a5a2b"
|
||||
dependencies = [
|
||||
"alloy-json-rpc",
|
||||
"alloy-primitives",
|
||||
@ -424,9 +425,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba21284319e12d053baa204d438db6c1577aedd94c1298e4becefdac1f9cec87"
|
||||
checksum = "07c7eb2dc6db1dd41e5e7bd2b98a38813854efc30e034afd90d1e420e7f3de2b"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-rpc-types-engine",
|
||||
@ -437,9 +438,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-admin"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "416cc9f391d0b876c4c8da85f7131e771a88a55b917cc9a35e1724d9409e3b1c"
|
||||
checksum = "bd468a4e3eddcd9d612cad657852de4b7475ac2080e7af9224fbf1df20ddffe0"
|
||||
dependencies = [
|
||||
"alloy-genesis",
|
||||
"alloy-primitives",
|
||||
@ -449,9 +450,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-anvil"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba40bea86c3102b9ed9b3be579e32e0b3e54e766248d873de5fc0437238c8df2"
|
||||
checksum = "2640928d9b1d43bb1cec7a0d615e10c2b407c5bd8ff1fcbe49e6318a2b62d731"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-serde",
|
||||
@ -460,9 +461,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-beacon"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b535781fe224c101c3d957b514cb9f438d165ff0280e5c0b2f87a0d9a2950593"
|
||||
checksum = "64f731ad2ef8d7dd75a4d28214f4922a5b683feee1e6df35bd7b427315f94366"
|
||||
dependencies = [
|
||||
"alloy-eips",
|
||||
"alloy-primitives",
|
||||
@ -474,9 +475,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-debug"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4303deacf4cbf12ed4431a5a1bbc3284f0defb4b8b72d9aa2b888656cc5ae657"
|
||||
checksum = "06bd0757bfb3eccde06ee3f4e378f5839fe923d40956cff586018d4427a15bb5"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"serde",
|
||||
@ -484,9 +485,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-engine"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44848fced3b42260b9cb61f22102246636dfe5a2d0132f8d10a617df3cb1a74b"
|
||||
checksum = "7d3d95c3bf03efbb7bdc1d097e2931f520aac47438b709ccd8f065a7793dd371"
|
||||
dependencies = [
|
||||
"alloy-consensus",
|
||||
"alloy-eips",
|
||||
@ -505,9 +506,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-eth"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "35894711990019fafff0012b82b9176cbb744516eb2a9bbe6b8e5cae522163ee"
|
||||
checksum = "e855b0daccf2320ba415753c3fed422abe9d3ad5d77b2d6cafcc9bcf32fe387f"
|
||||
dependencies = [
|
||||
"alloy-consensus",
|
||||
"alloy-eips",
|
||||
@ -526,9 +527,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-mev"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cac6250cad380a005ecb5ffc6d2facf03df0e72628d819a63dd8c3ade7a766ff"
|
||||
checksum = "eca3753b9894235f915437f908644e737d8714c686ce4e8d03afbf585b23f074"
|
||||
dependencies = [
|
||||
"alloy-eips",
|
||||
"alloy-primitives",
|
||||
@ -539,9 +540,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-trace"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f568c5624881896d8a25e19acbdcbabadd8df339427ea2f10b2ee447d57c4509"
|
||||
checksum = "ae58a997afde032cd021547c960a53eef6245f47969dd71886e9f63fb45a6048"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-rpc-types-eth",
|
||||
@ -553,9 +554,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-rpc-types-txpool"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d4a37d2e1ed9b7daf20ad0b3e0092613cbae46737e0e988b23caa556c7067ce6"
|
||||
checksum = "667e45c882fda207d4cc94c4bb35e24a23347955113dcb236a5e4e0eaddef826"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-rpc-types-eth",
|
||||
@ -565,9 +566,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-serde"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2843c195675f06b29c09a4315cccdc233ab5bdc7c0a3775909f9f0cab5e9ae0f"
|
||||
checksum = "35c2661ca6785add8fc37aff8005439c806ffad58254c19939c6f59ac0d6596e"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"arbitrary",
|
||||
@ -577,9 +578,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-signer"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88b2a00d9803dfef99963303ffe41a7bf2221f3342f0a503d6741a9f4a18e5e5"
|
||||
checksum = "67eca011160d18a7dc6d8cdc1e8dc13e2e86c908f8e41b02aa76e429d6fe7085"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"async-trait",
|
||||
@ -591,9 +592,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-signer-local"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a2505d4f8c98dcae86152d58d549cb4bcf953f8352fca903410e0a0ef535571"
|
||||
checksum = "1c54b195a6ee5a83f32e7c697b4e6b565966737ed5a2ef9176bbbb39f720d023"
|
||||
dependencies = [
|
||||
"alloy-consensus",
|
||||
"alloy-network",
|
||||
@ -679,9 +680,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-transport"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9dc2c8f6b8c227ef0398f702d954c4ab572c2ead3c1ed4a5157aa1cbaf959747"
|
||||
checksum = "3e4a136e733f55fef0870b81e1f8f1db28e78973d1b1ae5a5df642ba39538a07"
|
||||
dependencies = [
|
||||
"alloy-json-rpc",
|
||||
"base64 0.22.1",
|
||||
@ -699,9 +700,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-transport-http"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd328e990d57f4c4e63899fb2c26877597d6503f8e0022a3d71b2d753ecbfc0c"
|
||||
checksum = "1a6b358a89b6d107b92d09b61a61fbc04243942182709752c796f4b29402cead"
|
||||
dependencies = [
|
||||
"alloy-json-rpc",
|
||||
"alloy-transport",
|
||||
@ -714,9 +715,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-transport-ipc"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89aea26aaf1d67904a7ff95ec4a24ddd5e7d419a6945f641b885962d7c2803e2"
|
||||
checksum = "4a899c43b7f5e3bc83762dfe5128fccd9cfa99f1f03c5f26bbfb2495ae8dcd35"
|
||||
dependencies = [
|
||||
"alloy-json-rpc",
|
||||
"alloy-pubsub",
|
||||
@ -733,9 +734,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alloy-transport-ws"
|
||||
version = "0.5.2"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e222e950ecc4ea12fbfb524b9a2275cac2cd5f57c8ce25bcaf1bd3ff80dd8fc8"
|
||||
checksum = "d27aac1246e13c9e6fa0c784fbb0c56872c6224f78dbde388bb2213ccdf8af02"
|
||||
dependencies = [
|
||||
"alloy-pubsub",
|
||||
"alloy-transport",
|
||||
@ -9264,9 +9265,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "revm"
|
||||
version = "16.0.0"
|
||||
version = "17.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34e44692d5736cc44c697a372e507890f8797f06d1541c5f4b9bec594d90fd8a"
|
||||
checksum = "2eab16cb0a8cd5ac88b11230b20df588b7e8aae7dfab4b3f830e98aebeb4b365"
|
||||
dependencies = [
|
||||
"auto_impl",
|
||||
"cfg-if",
|
||||
@ -9279,9 +9280,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "revm-inspectors"
|
||||
version = "0.9.0"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a64e2246ad480167548724eb9c9c66945241b867c7d50894de3ca860c9823a45"
|
||||
checksum = "1e29c662f7887f3b659d4b0fd234673419a8fcbeaa1ecc29bf7034c0a75cc8ea"
|
||||
dependencies = [
|
||||
"alloy-primitives",
|
||||
"alloy-rpc-types-eth",
|
||||
@ -9298,9 +9299,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "revm-interpreter"
|
||||
version = "12.0.0"
|
||||
version = "13.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6f89940d17d5d077570de1977f52f69049595322e237cb6c754c3d47f668f023"
|
||||
checksum = "fac2034454f8bc69dc7d3c94cdb1b57559e27f5ef0518771f1787de543d7d6a1"
|
||||
dependencies = [
|
||||
"revm-primitives",
|
||||
"serde",
|
||||
@ -9308,9 +9309,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "revm-precompile"
|
||||
version = "13.0.0"
|
||||
version = "14.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8f816aaea3245cbdbe7fdd84955df33597f9322c7912c3e3ba7bc855e03211f"
|
||||
checksum = "7a88c8c7c5f9b988a9e65fc0990c6ce859cdb74114db705bd118a96d22d08027"
|
||||
dependencies = [
|
||||
"aurora-engine-modexp",
|
||||
"blst",
|
||||
@ -9328,9 +9329,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "revm-primitives"
|
||||
version = "12.0.0"
|
||||
version = "13.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "532411bbde45a46707c1d434dcdc29866cf261c1b748fb01b303ce3b4310b361"
|
||||
checksum = "0d11fa1e195b0bebaf3fb18596f314a13ba3a4cb1fdd16d3465934d812fd921e"
|
||||
dependencies = [
|
||||
"alloy-eip2930",
|
||||
"alloy-eip7702",
|
||||
|
||||
60
Cargo.toml
60
Cargo.toml
@ -418,9 +418,9 @@ reth-trie-db = { path = "crates/trie/db" }
|
||||
reth-trie-parallel = { path = "crates/trie/parallel" }
|
||||
|
||||
# revm
|
||||
revm = { version = "16.0.0", features = ["std"], default-features = false }
|
||||
revm-inspectors = "0.9.0"
|
||||
revm-primitives = { version = "12.0.0", features = [
|
||||
revm = { version = "17.0.0", features = ["std"], default-features = false }
|
||||
revm-inspectors = "0.10.0"
|
||||
revm-primitives = { version = "13.0.0", features = [
|
||||
"std",
|
||||
], default-features = false }
|
||||
|
||||
@ -432,39 +432,39 @@ alloy-rlp = "0.3.4"
|
||||
alloy-sol-types = "0.8.0"
|
||||
alloy-trie = { version = "0.7", default-features = false }
|
||||
|
||||
alloy-consensus = { version = "0.5.2", default-features = false }
|
||||
alloy-eips = { version = "0.5.2", default-features = false }
|
||||
alloy-genesis = { version = "0.5.2", default-features = false }
|
||||
alloy-json-rpc = { version = "0.5.2", default-features = false }
|
||||
alloy-network = { version = "0.5.2", default-features = false }
|
||||
alloy-network-primitives = { version = "0.5.2", default-features = false }
|
||||
alloy-node-bindings = { version = "0.5.2", default-features = false }
|
||||
alloy-provider = { version = "0.5.2", features = [
|
||||
alloy-consensus = { version = "0.5.3", default-features = false }
|
||||
alloy-eips = { version = "0.5.3", default-features = false }
|
||||
alloy-genesis = { version = "0.5.3", default-features = false }
|
||||
alloy-json-rpc = { version = "0.5.3", default-features = false }
|
||||
alloy-network = { version = "0.5.3", default-features = false }
|
||||
alloy-network-primitives = { version = "0.5.3", default-features = false }
|
||||
alloy-node-bindings = { version = "0.5.3", default-features = false }
|
||||
alloy-provider = { version = "0.5.3", features = [
|
||||
"reqwest",
|
||||
], default-features = false }
|
||||
alloy-pubsub = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-client = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types = { version = "0.5.2", features = [
|
||||
alloy-pubsub = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-client = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types = { version = "0.5.3", features = [
|
||||
"eth",
|
||||
], default-features = false }
|
||||
alloy-rpc-types-admin = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-anvil = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-beacon = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-debug = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-engine = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-eth = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-mev = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-trace = { version = "0.5.2", default-features = false }
|
||||
alloy-rpc-types-txpool = { version = "0.5.2", default-features = false }
|
||||
alloy-serde = { version = "0.5.2", default-features = false }
|
||||
alloy-signer = { version = "0.5.2", default-features = false }
|
||||
alloy-signer-local = { version = "0.5.2", default-features = false }
|
||||
alloy-transport = { version = "0.5.2" }
|
||||
alloy-transport-http = { version = "0.5.2", features = [
|
||||
alloy-rpc-types-admin = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-anvil = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-beacon = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-debug = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-engine = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-eth = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-mev = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-trace = { version = "0.5.3", default-features = false }
|
||||
alloy-rpc-types-txpool = { version = "0.5.3", default-features = false }
|
||||
alloy-serde = { version = "0.5.3", default-features = false }
|
||||
alloy-signer = { version = "0.5.3", default-features = false }
|
||||
alloy-signer-local = { version = "0.5.3", default-features = false }
|
||||
alloy-transport = { version = "0.5.3" }
|
||||
alloy-transport-http = { version = "0.5.3", features = [
|
||||
"reqwest-rustls-tls",
|
||||
], default-features = false }
|
||||
alloy-transport-ipc = { version = "0.5.2", default-features = false }
|
||||
alloy-transport-ws = { version = "0.5.2", default-features = false }
|
||||
alloy-transport-ipc = { version = "0.5.3", default-features = false }
|
||||
alloy-transport-ws = { version = "0.5.3", default-features = false }
|
||||
|
||||
# op
|
||||
op-alloy-rpc-types = "0.5"
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
[workspace]
|
||||
members = [
|
||||
"exex/hello-world",
|
||||
"exex/remote",
|
||||
"exex/tracking-state",
|
||||
]
|
||||
members = ["exex/hello-world", "exex/remote", "exex/tracking-state"]
|
||||
|
||||
# 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
|
||||
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" }
|
||||
|
||||
@ -5,8 +5,10 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
reth = { git = "https://github.com/paradigmxyz/reth.git" }
|
||||
reth-exex = { git = "https://github.com/paradigmxyz/reth.git", features = ["serde"] }
|
||||
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git"}
|
||||
reth-exex = { git = "https://github.com/paradigmxyz/reth.git", features = [
|
||||
"serde",
|
||||
] }
|
||||
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth.git" }
|
||||
reth-tracing = { git = "https://github.com/paradigmxyz/reth.git" }
|
||||
|
||||
eyre = "0.6" # Easy error handling
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
#![cfg_attr(docsrs, doc(cfg(feature = "c-kzg")))]
|
||||
|
||||
use crate::{Signature, Transaction, TransactionSigned};
|
||||
use alloy_consensus::{
|
||||
constants::EIP4844_TX_TYPE_ID, transaction::TxEip4844, TxEip4844WithSidecar,
|
||||
};
|
||||
use alloy_primitives::{keccak256, TxHash};
|
||||
use alloy_rlp::{Decodable, Error as RlpError, Header};
|
||||
use alloy_consensus::{constants::EIP4844_TX_TYPE_ID, TxEip4844WithSidecar};
|
||||
use alloy_primitives::TxHash;
|
||||
use alloy_rlp::Header;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[doc(inline)]
|
||||
@ -14,8 +12,6 @@ pub use alloy_eips::eip4844::BlobTransactionSidecar;
|
||||
#[cfg(feature = "c-kzg")]
|
||||
pub use alloy_eips::eip4844::BlobTransactionValidationError;
|
||||
|
||||
use alloc::vec::Vec;
|
||||
|
||||
/// A response to `GetPooledTransactions` that includes blob data, their commitments, and their
|
||||
/// corresponding proofs.
|
||||
///
|
||||
@ -36,7 +32,7 @@ impl BlobTransaction {
|
||||
/// Constructs a new [`BlobTransaction`] from a [`TransactionSigned`] and a
|
||||
/// [`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(
|
||||
tx: TransactionSigned,
|
||||
sidecar: BlobTransactionSidecar,
|
||||
@ -57,7 +53,7 @@ impl BlobTransaction {
|
||||
|
||||
/// 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")]
|
||||
pub fn validate(
|
||||
&self,
|
||||
@ -163,7 +159,7 @@ impl BlobTransaction {
|
||||
|
||||
// The payload length is the length of the `tranascation_payload_body` list, plus the
|
||||
// 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
|
||||
// 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
|
||||
/// represent the full RLP decoding of the `PooledTransactionsElement` type.
|
||||
pub(crate) fn decode_inner(data: &mut &[u8]) -> alloy_rlp::Result<Self> {
|
||||
// decode the _first_ list header for the rest of the transaction
|
||||
let outer_header = Header::decode(data)?;
|
||||
if !outer_header.list {
|
||||
return Err(RlpError::Custom("PooledTransactions blob tx must be encoded as a list"))
|
||||
}
|
||||
let (transaction, signature, hash) =
|
||||
TxEip4844WithSidecar::decode_signed_fields(data)?.into_parts();
|
||||
|
||||
let outer_remaining_len = data.len();
|
||||
|
||||
// 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 })
|
||||
Ok(Self { transaction, hash, signature })
|
||||
}
|
||||
}
|
||||
|
||||
/// Generates a [`BlobTransactionSidecar`] structure containing blobs, commitments, and proofs.
|
||||
#[cfg(all(feature = "c-kzg", any(test, feature = "arbitrary")))]
|
||||
pub fn generate_blob_sidecar(blobs: Vec<c_kzg::Blob>) -> BlobTransactionSidecar {
|
||||
use alloc::vec::Vec;
|
||||
use alloy_eips::eip4844::env_settings::EnvKzgSettings;
|
||||
use c_kzg::{KzgCommitment, KzgProof};
|
||||
|
||||
@ -285,12 +224,12 @@ pub fn generate_blob_sidecar(blobs: Vec<c_kzg::Blob>) -> BlobTransactionSidecar
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::{kzg::Blob, PooledTransactionsElement};
|
||||
use alloc::vec::Vec;
|
||||
use alloy_eips::{
|
||||
eip2718::{Decodable2718, Encodable2718},
|
||||
eip4844::Bytes48,
|
||||
};
|
||||
use alloy_primitives::hex;
|
||||
use alloy_rlp::Encodable;
|
||||
use std::{fs, path::PathBuf, str::FromStr};
|
||||
|
||||
#[test]
|
||||
@ -392,7 +331,7 @@ mod tests {
|
||||
let mut encoded_rlp = Vec::new();
|
||||
|
||||
// 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_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();
|
||||
|
||||
// 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
|
||||
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_eq!(sidecar, decoded_sidecar);
|
||||
|
||||
@ -44,11 +44,9 @@ impl Compact for SignedAuthorization {
|
||||
where
|
||||
B: bytes::BufMut + AsMut<[u8]>,
|
||||
{
|
||||
let signature = self.signature();
|
||||
let (v, r, s) = (signature.v(), signature.r(), signature.s());
|
||||
buf.put_u8(v.y_parity_byte());
|
||||
buf.put_slice(r.as_le_slice());
|
||||
buf.put_slice(s.as_le_slice());
|
||||
buf.put_u8(self.y_parity());
|
||||
buf.put_slice(self.r().as_le_slice());
|
||||
buf.put_slice(self.s().as_le_slice());
|
||||
|
||||
// to_compact doesn't write the len to buffer.
|
||||
// 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]) {
|
||||
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]);
|
||||
buf.advance(32);
|
||||
let s = U256::from_le_slice(&buf[0..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);
|
||||
|
||||
(auth.into_signed(signature), buf)
|
||||
(Self::new_unchecked(auth, y_parity, r, s), buf)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
use crate::blobstore::{BlobStore, BlobStoreCleanupStat, BlobStoreError, BlobStoreSize};
|
||||
use alloy_eips::eip4844::BlobAndProofV1;
|
||||
use alloy_primitives::{TxHash, B256};
|
||||
use alloy_rlp::{Decodable, Encodable};
|
||||
use parking_lot::{Mutex, RwLock};
|
||||
use reth_primitives::BlobTransactionSidecar;
|
||||
use schnellru::{ByLength, LruMap};
|
||||
@ -204,8 +203,8 @@ impl DiskFileBlobStoreInner {
|
||||
|
||||
/// Ensures blob is in the blob cache and written to the disk.
|
||||
fn insert_one(&self, tx: B256, data: BlobTransactionSidecar) -> Result<(), BlobStoreError> {
|
||||
let mut buf = Vec::with_capacity(data.fields_len());
|
||||
data.encode(&mut buf);
|
||||
let mut buf = Vec::with_capacity(data.rlp_encoded_fields_length());
|
||||
data.rlp_encode_fields(&mut buf);
|
||||
self.blob_cache.lock().insert(tx, data);
|
||||
let size = self.write_one_encoded(tx, &buf)?;
|
||||
|
||||
@ -219,8 +218,8 @@ impl DiskFileBlobStoreInner {
|
||||
let raw = txs
|
||||
.iter()
|
||||
.map(|(tx, data)| {
|
||||
let mut buf = Vec::with_capacity(data.fields_len());
|
||||
data.encode(&mut buf);
|
||||
let mut buf = Vec::with_capacity(data.rlp_encoded_fields_length());
|
||||
data.rlp_encode_fields(&mut buf);
|
||||
(self.blob_disk_file(*tx), buf)
|
||||
})
|
||||
.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_err(BlobStoreError::DecodeError)
|
||||
}
|
||||
@ -322,7 +321,7 @@ impl DiskFileBlobStoreInner {
|
||||
self.read_many_raw(txs)
|
||||
.into_iter()
|
||||
.filter_map(|(tx, data)| {
|
||||
BlobTransactionSidecar::decode(&mut data.as_slice())
|
||||
BlobTransactionSidecar::rlp_decode_fields(&mut data.as_slice())
|
||||
.map(|sidecar| (tx, sidecar))
|
||||
.ok()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user