From 6b94e1037f41e0817f2bcb1f1ca5013a5359616a Mon Sep 17 00:00:00 2001 From: File Large Date: Fri, 21 Mar 2025 17:22:49 +0100 Subject: [PATCH 1/7] deps: alloy 0.12.6 (#144) * deps: alloy 0.12.6 * bump jsonrpsee --- Cargo.lock | 264 +++++++++++++++++++++++++++++++++-------------------- Cargo.toml | 14 +-- 2 files changed, 173 insertions(+), 105 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2442753..fdf1b2b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4bffedaddc627520eabdcbfe27a2d2c2f716e15295e2ed1010df3feae67040" +checksum = "6e86967eb559920e4b9102e4cb825fe30f2e9467988353ce4809f0d3f2c90cd4" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -226,9 +226,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a1a0710dbfbab2b33200ef45c650963d63edf6a81b2c7399ede762b3586dfd" +checksum = "874ac9d1249ece0453e262d9ba72da9dbb3b7a2866220ded5940c2e47f1aa04d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -246,9 +246,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e18d94b1036302720b987564560e4a5b85035a17553c53a50afa2bd8762b487" +checksum = "7e13d71eac04513a71af4b3df580f52f2b4dcbff9d971cc9a52519acf55514cb" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -266,9 +266,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9824e1bf92cd7848ca6fabb01c9aca15c9c5fb0ab96da5514ef0543f021c69f6" +checksum = "3a1cd73fc054de6353c7f22ff9b846b0f0f145cd0112da07d4119e41e9959207" dependencies = [ "alloy-primitives", "serde", @@ -737,7 +737,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -773,7 +773,7 @@ dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.12.1", + "itertools 0.10.5", "lazy_static", "lazycell", "log", @@ -1095,6 +1095,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1737,7 +1747,7 @@ dependencies = [ "cfg-if 1.0.0", "libc", "wasi 0.13.3+wasi-0.2.2", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -1990,7 +2000,7 @@ dependencies = [ "hyper-util", "log", "rustls", - "rustls-native-certs 0.8.0", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", @@ -2163,15 +2173,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -2189,16 +2190,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jni" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if 1.0.0", "combine", "jni-sys", "log", "thiserror 1.0.65", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -2227,9 +2230,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" +checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -2245,9 +2248,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e" +checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2" dependencies = [ "base64 0.22.1", "futures-channel", @@ -2270,9 +2273,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" +checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" dependencies = [ "async-trait", "bytes", @@ -2297,9 +2300,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3638bc4617f96675973253b3a45006933bde93c2fd8a6170b33c777cc389e5b" +checksum = "c872b6c9961a4ccc543e321bb5b89f6b2d2c7fe8b61906918273a3333c95400c" dependencies = [ "async-trait", "base64 0.22.1", @@ -2322,9 +2325,9 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" +checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" dependencies = [ "heck", "proc-macro-crate", @@ -2335,9 +2338,9 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" +checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" dependencies = [ "futures-util", "http 1.1.0", @@ -2362,9 +2365,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" +checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" dependencies = [ "http 1.1.0", "serde", @@ -2374,9 +2377,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01cd500915d24ab28ca17527e23901ef1be6d659a2322451e1045532516c25" +checksum = "e6558a9586cad43019dafd0b6311d0938f46efc116b34b28c74778bc11a2edf6" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -2385,9 +2388,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.24.7" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe322e0896d0955a3ebdd5bf813571c53fea29edd713bc315b76620b327e86d" +checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef" dependencies = [ "http 1.1.0", "jsonrpsee-client-transport", @@ -2469,7 +2472,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if 1.0.0", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -2716,7 +2719,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -2838,9 +2841,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" [[package]] name = "op-alloy-consensus" @@ -3093,7 +3096,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3579,8 +3582,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.3.1" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.3.1#8142c6c327e6462f2f6a009036bc5c585afc52a0" +version = "1.3.2" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.3.3#b0d9a6b14bc1c35549979516f4fdd38feed81cfa" dependencies = [ "alloy-rpc-types-engine", "http 1.1.0", @@ -3792,9 +3795,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "aws-lc-rs", "log", @@ -3806,19 +3809,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "rustls-pki-types", - "schannel", - "security-framework", -] - [[package]] name = "rustls-native-certs" version = "0.8.0" @@ -3829,7 +3819,7 @@ dependencies = [ "rustls-pemfile", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 2.11.1", ] [[package]] @@ -3843,29 +3833,29 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" [[package]] name = "rustls-platform-verifier" -version = "0.3.4" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" dependencies = [ - "core-foundation", + "core-foundation 0.10.0", "core-foundation-sys", "jni", "log", "once_cell", "rustls", - "rustls-native-certs 0.7.3", + "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework", + "security-framework 3.2.0", "security-framework-sys", - "webpki-roots", - "winapi", + "webpki-root-certs", + "windows-sys 0.59.0", ] [[package]] @@ -3876,9 +3866,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ "aws-lc-rs", "ring", @@ -3962,18 +3952,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", - "num-bigint", "security-framework-sys", ] [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -4349,7 +4351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -5095,10 +5097,10 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "0.26.6" +name = "webpki-root-certs" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" dependencies = [ "rustls-pki-types", ] @@ -5153,7 +5155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ "windows-core 0.58.0", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5162,7 +5164,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5175,7 +5177,7 @@ dependencies = [ "windows-interface", "windows-result", "windows-strings", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5214,7 +5216,7 @@ checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ "windows-result", "windows-strings", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5223,7 +5225,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5233,7 +5235,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ "windows-result", - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", ] [[package]] @@ -5242,7 +5253,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -5251,7 +5262,22 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -5260,28 +5286,46 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5294,24 +5338,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index 54c53c4..dbaabbc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,12 +5,12 @@ edition = "2024" [dependencies] alloy-primitives = { version = "0.8.20", features = ["rand"] } -alloy-rpc-types-engine = "0.12.5" -alloy-rpc-types-eth = "0.12.5" -alloy-serde = "0.12.5" -alloy-eips = { version = "0.12.5", features = ["serde"] } -op-alloy-rpc-types-engine = "0.11.1" -op-alloy-rpc-types = "0.11.1" +alloy-rpc-types-engine = "0.12.6" +alloy-rpc-types-eth = "0.12.6" +alloy-serde = "0.12.6" +alloy-eips = { version = "0.12.6", features = ["serde"] } +op-alloy-rpc-types-engine = "0.11.2" +op-alloy-rpc-types = "0.11.2" op-alloy-rpc-jsonrpsee = { version = "0.11.1", features = ["client"] } tokio = { version = "1", features = ["full"] } tracing = "0.1.4" @@ -66,7 +66,7 @@ predicates = "3.1.2" tokio-util = { version = "0.7.13" } nix = "0.15.0" bytes = "1.2" -reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.3.1" } +reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.3.3" } ctor = "0.3.5" [features] From e92ac27454f38e87b513b3dbabbc7c9583bff700 Mon Sep 17 00:00:00 2001 From: Cody Wang Date: Thu, 3 Apr 2025 15:36:21 -0400 Subject: [PATCH 2/7] merge conflict --- Cargo.lock | 57 ++++++++------------------------------ src/flashblocks/service.rs | 19 ++++++++++++- src/server.rs | 20 ++++++++----- 3 files changed, 43 insertions(+), 53 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57109f6..35b3c07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -774,7 +774,7 @@ dependencies = [ "bitflags 2.9.0", "cexpr", "clang-sys", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -2270,6 +2270,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -2723,9 +2732,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "29c72f6929239626840b28f919ce8981a317fc5dc63ce25c30d2ab372f94886f" dependencies = [ "adler2", ] @@ -5401,12 +5410,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -5425,12 +5428,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -5449,12 +5446,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5485,12 +5476,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -5509,12 +5494,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -5533,12 +5512,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -5557,12 +5530,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/src/flashblocks/service.rs b/src/flashblocks/service.rs index af7c416..278c2e8 100644 --- a/src/flashblocks/service.rs +++ b/src/flashblocks/service.rs @@ -12,7 +12,7 @@ use std::sync::Arc; use thiserror::Error; use tokio::sync::RwLock; use tokio::sync::mpsc; -use tracing::error; +use tracing::{debug, error}; #[derive(Debug, Error)] pub enum FlashblocksError { #[error("Missing base payload for initial flashblock")] @@ -162,9 +162,16 @@ impl FlashblocksService { ) -> Result, FlashblocksError> { // consume the best payload and reset the builder let payload = { + debug!( + message = + "Acquiring best payload write lock: get_best_payload() to use best_payload" + ); let mut builder = self.best_payload.write().await; std::mem::take(&mut *builder).into_envelope()? }; + debug!( + message = "Acquiring best payload write lock: get_best_payload() to reset best_payload" + ); *self.best_payload.write().await = FlashblockBuilder::new(); Ok(Some(payload)) @@ -172,6 +179,9 @@ impl FlashblocksService { pub async fn set_current_payload_id(&self, payload_id: PayloadId) { tracing::debug!(message = "Setting current payload ID", payload_id = %payload_id); + debug!( + message = "Acquiring current payload id write lock: set_current_payload_id() to use current_payload_id" + ); *self.current_payload_id.write().await = payload_id; } @@ -185,12 +195,19 @@ impl FlashblocksService { ); // make sure the payload id matches the current payload id + debug!( + message = "Acquiring current payload id read lock: on_event() to use current_payload_id" + ); let current_payload_id = *self.current_payload_id.read().await; if current_payload_id != payload.payload_id { error!(message = "Payload ID mismatch", current_payload_id = %current_payload_id, payload_id = %payload.payload_id); return; } + debug!( + message = + "Acquiring best payload write lock: on_event() to extend best_payload" + ); if let Err(e) = self.best_payload.write().await.extend(payload.clone()) { error!(message = "Failed to extend payload", error = %e); } else { diff --git a/src/server.rs b/src/server.rs index 6d36789..427895c 100644 --- a/src/server.rs +++ b/src/server.rs @@ -584,13 +584,19 @@ impl RollupBoostServer { let builder = self.builder_client.clone(); - // Fallback to the get_payload_v3 from the builder if no flashblocks payload is available - let payload = if let Some(payload) = payload { - info!(message = "using flashblocks payload"); - OpExecutionPayloadEnvelope::V3(payload) - } else { - builder.get_payload(payload_id, version).await? - }; + // // Fallback to the get_payload_v3 from the builder if no flashblocks payload is available + // let payload = if let Some(payload) = payload { + // info!(message = "using flashblocks payload"); + // OpExecutionPayloadEnvelope::V3(payload) + // } else { + // builder.get_payload(payload_id, version).await? + // }; + + if let Some(payload) = payload { + info!(message = "flashblocks paylod found, but not using it"); + } + + let payload = builder.get_payload(payload_id, version).await?; // Send the payload to the local execution engine with engine_newPayload to validate the block from the builder. // Otherwise, we do not want to risk the network to a halt since op-node will not be able to propose the block. From 39e712cdf7cbe891f3ff387528a153eb5a8fa042 Mon Sep 17 00:00:00 2001 From: Joe Parks <26990067+jowparks@users.noreply.github.com> Date: Tue, 8 Apr 2025 11:29:20 -0700 Subject: [PATCH 3/7] Enhance RollupBoostServer with error handling and metrics tracking - Added methods to OpExecutionPayloadEnvelope for retrieving transactions and gas used. - Improved error handling in RollupBoostServer when syncing with builder and L2 clients, including metrics for invalid payloads and request limits. - Updated RpcClientError to be public for broader access. --- Cargo.lock | 92 +++++++++++++++++++++++++++++++++++++++++++++++++-- Cargo.toml | 1 + src/server.rs | 81 +++++++++++++++++++++++++++++++++++++++------ 3 files changed, 160 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 94e6353..35b3c07 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -678,7 +678,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9f7720b74ed28ca77f90769a71fd8c637a0137f6fae4ae947e1050229cff57f" dependencies = [ - "bindgen", + "bindgen 0.69.5", "cc", "cmake", "dunce", @@ -788,6 +788,24 @@ dependencies = [ "which", ] +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.9.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.100", +] + [[package]] name = "bit-set" version = "0.8.0" @@ -2524,6 +2542,17 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +[[package]] +name = "libproc" +version = "0.14.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" +dependencies = [ + "bindgen 0.70.1", + "errno", + "libc", +] + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -2571,6 +2600,15 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "mach2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +dependencies = [ + "libc", +] + [[package]] name = "macro-string" version = "0.1.4" @@ -2634,6 +2672,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "metrics-process" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a82c8add4382f29a122fa64fff1891453ed0f6b2867d971e7d60cb8dfa322ff" +dependencies = [ + "libc", + "libproc", + "mach2", + "metrics", + "once_cell", + "procfs", + "rlimit", + "windows", +] + [[package]] name = "metrics-util" version = "0.19.0" @@ -2678,9 +2732,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "29c72f6929239626840b28f919ce8981a317fc5dc63ce25c30d2ab372f94886f" dependencies = [ "adler2", ] @@ -3277,6 +3331,28 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "procfs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" +dependencies = [ + "bitflags 2.9.0", + "hex", + "procfs-core", + "rustix 0.38.44", +] + +[[package]] +name = "procfs-core" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" +dependencies = [ + "bitflags 2.9.0", + "hex", +] + [[package]] name = "proptest" version = "1.6.0" @@ -3588,6 +3664,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rlimit" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" +dependencies = [ + "libc", +] + [[package]] name = "rlp" version = "0.5.2" @@ -3624,6 +3709,7 @@ dependencies = [ "lazy_static", "metrics", "metrics-exporter-prometheus", + "metrics-process", "metrics-util", "moka", "nix", diff --git a/Cargo.toml b/Cargo.toml index a2a5fce..fb88575 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,6 +41,7 @@ tracing-opentelemetry = "0.29.0" futures = "0.3.31" metrics = "0.24.0" metrics-exporter-prometheus = "0.16.0" +metrics-process = "2.3.1" tokio-tungstenite = { version = "0.26.2", features = ["native-tls"] } url = "2.5" metrics-util = "0.19.0" diff --git a/src/server.rs b/src/server.rs index 6d36789..4c05886 100644 --- a/src/server.rs +++ b/src/server.rs @@ -1,7 +1,9 @@ +use crate::RpcClientError; use crate::client::rpc::RpcClient; use crate::debug_api::DebugServer; use crate::flashblocks::FlashblocksService; use alloy_primitives::{B256, Bytes}; +use metrics::{counter, histogram}; use moka::sync::Cache; use opentelemetry::trace::SpanKind; use parking_lot::Mutex; @@ -424,6 +426,38 @@ impl OpExecutionPayloadEnvelope { OpExecutionPayloadEnvelope::V4(_) => Version::V4, } } + pub fn transactions(&self) -> &[Bytes] { + match self { + OpExecutionPayloadEnvelope::V3(v3) => { + &v3.execution_payload + .payload_inner + .payload_inner + .transactions + } + OpExecutionPayloadEnvelope::V4(v4) => { + &v4.execution_payload + .payload_inner + .payload_inner + .payload_inner + .transactions + } + } + } + + pub fn gas_used(&self) -> u64 { + match self { + OpExecutionPayloadEnvelope::V3(v3) => { + v3.execution_payload.payload_inner.payload_inner.gas_used + } + OpExecutionPayloadEnvelope::V4(v4) => { + v4.execution_payload + .payload_inner + .payload_inner + .payload_inner + .gas_used + } + } + } } impl From for ExecutionPayload { @@ -534,10 +568,18 @@ impl RollupBoostServer { let builder = self.builder_client.clone(); let new_payload_clone = new_payload.clone(); tokio::spawn(async move { - let _ = builder.new_payload(new_payload_clone).await; + let result = builder.new_payload(new_payload_clone).await; + if let Err(_) = &result { + counter!("block_building_invalid_builder_payload").increment(1); + } }); } - Ok(self.l2_client.new_payload(new_payload).await?) + let result = self.l2_client.new_payload(new_payload).await; + if let Err(_) = &result { + counter!("block_building_invalid_l2_payload").increment(1); + } + + Ok(result?) } async fn get_payload( @@ -584,17 +626,22 @@ impl RollupBoostServer { let builder = self.builder_client.clone(); - // Fallback to the get_payload_v3 from the builder if no flashblocks payload is available - let payload = if let Some(payload) = payload { - info!(message = "using flashblocks payload"); - OpExecutionPayloadEnvelope::V3(payload) - } else { - builder.get_payload(payload_id, version).await? - }; - + // // Fallback to the get_payload_v3 from the builder if no flashblocks payload is available + // let payload = if let Some(payload) = payload { + // info!(message = "using flashblocks payload"); + // OpExecutionPayloadEnvelope::V3(payload) + // } else { + // builder.get_payload(payload_id, version).await? + // }; // Send the payload to the local execution engine with engine_newPayload to validate the block from the builder. // Otherwise, we do not want to risk the network to a halt since op-node will not be able to propose the block. // If validation fails, return the local block since that one has already been validated. + + if let Some(payload) = payload { + info!(message = "flashblocks paylod found, but not using it"); + } + let payload = builder.get_payload(payload_id, version).await?; + let _ = self .l2_client .new_payload(NewPayload::from(payload.clone())) @@ -604,8 +651,20 @@ impl RollupBoostServer { }); let (l2_payload, builder_payload) = tokio::join!(l2_client_future, builder_client_future); + let (payload, context) = match (builder_payload, l2_payload) { - (Ok(Some(builder)), _) => Ok((builder, PayloadSource::Builder)), + (Ok(Some(builder)), Ok(l2)) => { + histogram!("block_building_gas_difference") + .record((builder.transactions().len() - l2.transactions().len()) as f64); + histogram!("block_building_tx_count_difference") + .record((builder.gas_used() - l2.gas_used()) as f64); + counter!("block_building_builder_payloads_returned").increment(1); + Ok((builder, PayloadSource::Builder)) + } + (Ok(Some(builder)), _) => { + counter!("block_building_builder_payloads_returned").increment(1); + Ok((builder, PayloadSource::Builder)) + } (_, Ok(l2)) => Ok((l2, PayloadSource::L2)), (_, Err(e)) => Err(e), }?; From f346173a273d35136a3b92939756fcdb68c2304b Mon Sep 17 00:00:00 2001 From: Joe Parks <26990067+jowparks@users.noreply.github.com> Date: Tue, 8 Apr 2025 15:35:10 -0700 Subject: [PATCH 4/7] add l2 payload build failure --- src/server.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/server.rs b/src/server.rs index cd0a5cb..df88c46 100644 --- a/src/server.rs +++ b/src/server.rs @@ -633,7 +633,7 @@ impl RollupBoostServer { // builder.get_payload(payload_id, version).await? // }; - if let Some(payload) = payload { + if let Some(_) = payload { info!(message = "flashblocks paylod found, but not using it"); } @@ -643,11 +643,13 @@ impl RollupBoostServer { // Otherwise, we do not want to risk the network to a halt since op-node will not be able to propose the block. // If validation fails, return the local block since that one has already been validated. - let _ = self + let result = self .l2_client .new_payload(NewPayload::from(payload.clone())) - .await?; - + .await; + if let Err(_) = &result { + counter!("block_building_invalid_l2_payload").increment(1); + } Ok(Some(payload)) }); From 064e17591de358cfc972010d3248a4a7975f5186 Mon Sep 17 00:00:00 2001 From: Cody Wang Date: Mon, 14 Apr 2025 15:20:23 -0400 Subject: [PATCH 5/7] reth 1.3.9 --- Cargo.lock | 142 +++++++++++++++++++++++------------------------------ Cargo.toml | 16 +++--- 2 files changed, 70 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 35b3c07..c38fe9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -55,9 +55,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d301f5bcfd37e3aac727c360d8b50c33ddff9169ce0370198dedda36a9927d" +checksum = "c2179ba839ac532f50279f5da2a6c5047f791f03f6f808b4dfab11327b97902f" dependencies = [ "alloy-eips", "alloy-primitives", @@ -66,7 +66,7 @@ dependencies = [ "alloy-trie", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more", "either", "k256", "once_cell", @@ -78,9 +78,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f4f97a85a45965e0e4f9f5b94bbafaa3e4ee6868bdbcf2e4a9acb4b358038fe" +checksum = "aec6f67bdc62aa277e0ec13c1b1fb396c8a62b65c8e9bd8c1d3583cc6d1a8dd3" dependencies = [ "alloy-consensus", "alloy-eips", @@ -92,9 +92,9 @@ dependencies = [ [[package]] name = "alloy-eip2124" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -105,9 +105,9 @@ dependencies = [ [[package]] name = "alloy-eip2930" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +checksum = "dbe3e16484669964c26ac48390245d84c410b1a5f968976076c17184725ef235" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -116,9 +116,9 @@ dependencies = [ [[package]] name = "alloy-eip7702" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" +checksum = "804cefe429015b4244966c006d25bda5545fa9db5990e9c9079faf255052f50a" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -128,9 +128,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b11c382ca8075128d1ae6822b60921cf484c911d9a5831797a01218f98125f" +checksum = "609515c1955b33af3d78d26357540f68c5551a90ef58fd53def04f2aa074ec43" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -140,7 +140,7 @@ dependencies = [ "alloy-serde", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more", "either", "ethereum_ssz", "ethereum_ssz_derive", @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6beff64ad0aa6ad1019a3db26fef565aefeb011736150ab73ed3366c3cfd1b" +checksum = "5189fa9a8797e92396bc4b4454c5f2073a4945f7c2b366af9af60f9536558f7a" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -162,9 +162,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f736e1d1eb1b770dbd32919bdf46d4dcd4617f2eed07947dfb32649962baba" +checksum = "498f2ee2eef38a6db0fc810c7bf7daebdf5f2fa8d04adb8bd53e54e91ddbdea3" dependencies = [ "alloy-consensus", "alloy-eips", @@ -175,17 +175,17 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c77490fe91a0ce933a1f219029521f20fc28c2c0ca95d53fa4da9c00b8d9d4e" +checksum = "70b98b99c1dcfbe74d7f0b31433ff215e7d1555e367d90e62db904f3c9d4ff53" dependencies = [ "alloy-rlp", "bytes", "cfg-if 1.0.0", "const-hex", - "derive_more 2.0.1", + "derive_more", "foldhash", - "getrandom 0.2.15", + "getrandom 0.3.2", "hashbrown 0.15.2", "indexmap 2.8.0", "itoa", @@ -193,7 +193,7 @@ dependencies = [ "keccak-asm", "paste", "proptest", - "rand 0.8.5", + "rand 0.9.0", "ruint", "rustc-hash 2.1.1", "serde", @@ -225,16 +225,16 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "689521777149dabe210ef122605fb00050e038f2e85b8c9897534739f1a904f8" +checksum = "4235d79af20fe5583ca26096258fe9307571a345745c433cfd8c91b41aa2611e" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "ethereum_ssz", "ethereum_ssz_derive", "jsonwebtoken", @@ -245,9 +245,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8b6d55bdaa0c4a08650d4b32f174494cbade56adf6f2fcfa2a4f3490cb5511" +checksum = "f2a9f64e0f69cfb6029e2a044519a1bdd44ce9fc334d5315a7b9837f7a6748e5" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -265,9 +265,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1824791912f468a481dedc1db50feef3e85a078f6d743a62db2ee9c2ca674882" +checksum = "d4dba6ff08916bc0a9cbba121ce21f67c0b554c39cf174bc7b9df6c651bd3c3b" dependencies = [ "alloy-primitives", "serde", @@ -276,9 +276,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10ae8e9a91d328ae954c22542415303919aabe976fe7a92eb06db1b68fd59f2" +checksum = "60fcfa26956bcb22f66ab13407115197f26ef23abca5b48d39a1946897382d74" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -290,9 +290,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83ad5da86c127751bc607c174d6c9fe9b85ef0889a9ca0c641735d77d4f98f26" +checksum = "72a9b402f0013f1ff8c24066eeafc2207a8e52810a2b18b77776ce7fead5af41" dependencies = [ "alloy-sol-macro-input", "const-hex", @@ -308,9 +308,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3d30f0d3f9ba3b7686f3ff1de9ee312647aac705604417a2f40c604f409a9e" +checksum = "d02d61741337bb6b3f4899c2e3173fe17ffa2810e143d3b28acd953197c8dd79" dependencies = [ "const-hex", "dunce", @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d162f8524adfdfb0e4bd0505c734c985f3e2474eb022af32eef0d52a4f3935c" +checksum = "d2b5f5f9f561c29f78ea521ebe2e5ac1633f1b1442dae582f68ecd57c6350042" dependencies = [ "serde", "winnow", @@ -334,9 +334,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d43d5e60466a440230c07761aa67671d4719d46f43be8ea6e7ed334d8db4a9ab" +checksum = "c02635bce18205ff8149fb752c753b0a91ea3f3c8ee04c58846448be4811a640" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -347,14 +347,14 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.7.9" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" +checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", - "derive_more 1.0.0", + "derive_more", "nybbles", "serde", "smallvec", @@ -1317,33 +1317,13 @@ dependencies = [ "syn 2.0.100", ] -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl 1.0.0", -] - [[package]] name = "derive_more" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl 2.0.1", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "derive_more-impl", ] [[package]] @@ -1497,9 +1477,9 @@ dependencies = [ [[package]] name = "ethereum_serde_utils" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" +checksum = "3dc1355dbb41fbbd34ec28d4fb2a57d9a70c67ac3c19f6a5ca4d4a176b9e997a" dependencies = [ "alloy-primitives", "hex", @@ -1510,9 +1490,9 @@ dependencies = [ [[package]] name = "ethereum_ssz" -version = "0.8.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86da3096d1304f5f28476ce383005385459afeaf0eea08592b65ddbc9b258d16" +checksum = "9ca8ba45b63c389c6e115b095ca16381534fdcc03cf58176a3f8554db2dbe19b" dependencies = [ "alloy-primitives", "ethereum_serde_utils", @@ -1525,9 +1505,9 @@ dependencies = [ [[package]] name = "ethereum_ssz_derive" -version = "0.8.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d832a5c38eba0e7ad92592f7a22d693954637fbb332b4f669590d66a5c3183e5" +checksum = "0dd55d08012b4e0dfcc92b8d6081234df65f2986ad34cc76eeed69c5e2ce7506" dependencies = [ "darling", "proc-macro2", @@ -2909,32 +2889,32 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "op-alloy-consensus" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91764ebe0eddf6e3cfff41650332ff4e01defe372386027703f2e7e334734a05" +checksum = "1a09198717ebb22b201442c12a306a62de4a5d9535993b975c6bc0e5a919e2b1" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "serde", "thiserror 2.0.12", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc26f8288839926d0137d39d70628bb5ac00fca449bab24c54cebd66c71b9cf4" +checksum = "b8ec35c34f8b74f329b0a43ab462c65943cf894406126b613e65e0e4313eaadb" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "ethereum_ssz", "op-alloy-consensus", "serde", @@ -3468,6 +3448,7 @@ checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", + "serde", "zerocopy 0.8.24", ] @@ -3507,6 +3488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ "getrandom 0.3.2", + "serde", ] [[package]] @@ -3628,8 +3610,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.3.7" -source = "git+https://github.com/paradigmxyz/reth.git?rev=v1.3.7#ed7da87da4de340a437bf46f39a7e1397ac82065" +version = "1.3.9" +source = "git+https://github.com/paradigmxyz/reth.git?rev=v1.3.9#00e5b6e01e3cf4c86cb3625f7aff52b81960d724" dependencies = [ "alloy-rpc-types-engine", "http", @@ -4358,9 +4340,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.25" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560533fbd6914b94a8fb5cc803ed6801c3455668db3b810702c57612bac9412" +checksum = "34c9c96de1f835488c1501092847b522be88c9ac6fb0d4c0fbea92992324c8f4" dependencies = [ "paste", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index fb88575..e981e02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,12 @@ version = "0.1.0" edition = "2024" [dependencies] -op-alloy-rpc-types-engine = "0.12.0" -alloy-rpc-types-engine = "0.13.0" -alloy-rpc-types-eth = "0.13.0" -alloy-serde = "0.13.0" -alloy-eips = { version = "0.13.0", features = ["serde"], optional = true } -alloy-primitives = { version = "0.8.10", features = ["rand"] } +op-alloy-rpc-types-engine = "0.13.0" +alloy-rpc-types-engine = "0.14.0" +alloy-rpc-types-eth = "0.14.0" +alloy-serde = "0.14.0" +alloy-eips = { version = "0.14.0", features = ["serde"], optional = true } +alloy-primitives = { version = "1.0.0", features = ["rand"] } tokio = { version = "1", features = ["full"] } tracing = "0.1.4" tracing-subscriber = { version = "0.3.11", features = ["env-filter", "json"] } @@ -54,14 +54,14 @@ time = { version = "0.3.36", features = ["macros", "formatting", "parsing"], opt lazy_static = {version = "1.5.0", optional = true } [dev-dependencies] -op-alloy-consensus = "0.12.0" +op-alloy-consensus = "0.13.0" anyhow = "1.0" assert_cmd = "2.0.10" predicates = "3.1.2" tokio-util = { version = "0.7.13" } nix = "0.15.0" bytes = "1.2" -reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.3.7" } +reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth.git", rev = "v1.3.9" } ctor = "0.4.1" [features] From c3f9210b2834d7c0f4e452190798a09de852f08d Mon Sep 17 00:00:00 2001 From: Joe Parks Date: Tue, 15 Apr 2025 15:39:25 -0700 Subject: [PATCH 6/7] Enhance PayloadTraceContext with Debug implementation and add debug logging in RollupBoostServer for payload_id and payload_trace_context (#3) --- src/client/rpc.rs | 7 +++++++ src/server.rs | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/client/rpc.rs b/src/client/rpc.rs index bdf863e..8320b7d 100644 --- a/src/client/rpc.rs +++ b/src/client/rpc.rs @@ -12,6 +12,7 @@ use http::Uri; use jsonrpsee::http_client::transport::HttpBackend; use jsonrpsee::http_client::{HttpClient, HttpClientBuilder}; use jsonrpsee::types::ErrorObjectOwned; +use metrics::counter; use op_alloy_rpc_types_engine::{ OpExecutionPayloadEnvelopeV3, OpExecutionPayloadEnvelopeV4, OpExecutionPayloadV4, OpPayloadAttributes, @@ -153,6 +154,8 @@ impl RpcClient { } if res.is_invalid() { + error!("Invalid payload: {:?}. Payload status: {}", res.payload_id, res.payload_status.status); + counter!(format!("rpc_fork_choice_updated_v3_invalid_payload_{}", self.payload_source)).increment(1); return Err(RpcClientError::InvalidPayload( res.payload_status.status.to_string(), )) @@ -213,6 +216,8 @@ impl RpcClient { .set_code()?; if res.is_invalid() { + error!("Invalid payload (latest hash): {:?}. Payload status: {}", res.latest_valid_hash, res.status); + counter!(format!("rpc_new_payload_v3_invalid_payload_{}", self.payload_source)).increment(1); return Err(RpcClientError::InvalidPayload(res.status.to_string()).set_code()); } @@ -291,6 +296,8 @@ impl RpcClient { .set_code()?; if res.is_invalid() { + error!("Invalid payload (latest hash): {:?}. Payload status: {}", res.latest_valid_hash, res.status); + counter!(format!("rpc_new_payload_v4_invalid_payload_{}", self.payload_source)).increment(1); return Err(RpcClientError::InvalidPayload(res.status.to_string()).set_code()); } diff --git a/src/server.rs b/src/server.rs index df88c46..bcbd56b 100644 --- a/src/server.rs +++ b/src/server.rs @@ -28,6 +28,7 @@ use jsonrpsee::proc_macros::rpc; const CACHE_SIZE: u64 = 100; +#[derive(Debug, Clone)] pub struct PayloadTraceContext { block_hash_to_payload_ids: Cache>, payload_id: Cache)>, @@ -569,12 +570,14 @@ impl RollupBoostServer { tokio::spawn(async move { let result = builder.new_payload(new_payload_clone).await; if let Err(_) = &result { + error!("Invalid payload (builder): {:?}", result); counter!("block_building_invalid_builder_payload").increment(1); } }); } let result = self.l2_client.new_payload(new_payload).await; if let Err(_) = &result { + error!("Invalid payload (l2): {:?}", result); counter!("block_building_invalid_l2_payload").increment(1); } @@ -586,6 +589,9 @@ impl RollupBoostServer { payload_id: PayloadId, version: Version, ) -> RpcResult { + debug!("payload_id: {:?}", payload_id); + debug!("payload_trace_context: {:?}", self.payload_trace_context); + let l2_client_future = self.l2_client.get_payload(payload_id, version); let builder_client_future = Box::pin(async move { let execution_mode = self.execution_mode(); From be2b275affb2be137a082188c76a1b43b336db43 Mon Sep 17 00:00:00 2001 From: Joe Parks Date: Wed, 16 Apr 2025 14:00:07 -0700 Subject: [PATCH 7/7] debug statements as message (#4) --- src/server.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server.rs b/src/server.rs index bcbd56b..4e42006 100644 --- a/src/server.rs +++ b/src/server.rs @@ -589,8 +589,8 @@ impl RollupBoostServer { payload_id: PayloadId, version: Version, ) -> RpcResult { - debug!("payload_id: {:?}", payload_id); - debug!("payload_trace_context: {:?}", self.payload_trace_context); + debug!(message = format!("payload_id: {:?}", payload_id)); + debug!(message = format!("payload_trace_context: {:?}", self.payload_trace_context)); let l2_client_future = self.l2_client.get_payload(payload_id, version); let builder_client_future = Box::pin(async move {