diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index bbaa697e9..98f666dc3 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -27,21 +27,16 @@ runs: with: version: latest - - name: rust-cache - uses: actions/cache@v3 + - name: Setup Rust + uses: dtolnay/rust-toolchain@stable with: - path: | + toolchain: 1.82 + + - name: Rust cache + uses: Swatinem/rust-cache@v2 + with: + shared-key: "stable" + cache-directories: | ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ - target/ - key: rust-nightly-${{ hashFiles('**/Cargo.toml') }} - restore-keys: rust-nightly- - - - name: Setup toolchain - id: rustc-toolchain - shell: bash - run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly -y - source "$HOME/.cargo/env" - rustup default nightly diff --git a/Cargo.lock b/Cargo.lock index e7724ccce..2edbe1eb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,9 +87,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.1.55" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e39f295f876b61a1222d937e1dd31f965e4a1acc3bba98e448dd7e84b1a4566" +checksum = "4d37bc62b68c056e3742265ab73c73d413d07357909e0e4ea1e95453066a7469" dependencies = [ "alloy-primitives", "num_enum 0.7.3", @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.18" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e3b98c37b3218924cd1d2a8570666b89662be54e5b182643855f783ea68b33" +checksum = "7f2d547eba3f2d331b0e08f64a24e202f66d4f291e2a3e0073914c0e1400ced3" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -162,7 +162,7 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow 0.6.24", + "winnow 0.7.1", ] [[package]] @@ -223,9 +223,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24acd2f5ba97c7a320e67217274bc81fe3c3174b8e6144ec875d9d54e760e278" +checksum = "d62cf1b25f5a50ca2d329b0b4aeb0a0dedeaf225ad3c5099d83b1a4c4616186e" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -287,9 +287,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" +checksum = "bc1360603efdfba91151e623f13a4f4d3dc4af4adc1cbd90bf37c81e84db4c77" dependencies = [ "alloy-rlp", "bytes", @@ -298,7 +298,7 @@ dependencies = [ "derive_more", "foldhash", "hashbrown 0.15.2", - "indexmap 2.7.0", + "indexmap 2.7.1", "itoa", "k256", "keccak-asm", @@ -306,7 +306,7 @@ dependencies = [ "proptest", "rand 0.8.5", "ruint", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "serde", "sha3", "tiny-keccak", @@ -389,7 +389,7 @@ checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -496,7 +496,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "thiserror 2.0.11", @@ -545,66 +545,66 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d039d267aa5cbb7732fa6ce1fd9b5e9e29368f580f80ba9d7a8450c794de4b2" +checksum = "13f28f2131dc3a7b8e2cda882758ad4d5231ca26281b9861d4b18c700713e2da" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620ae5eee30ee7216a38027dec34e0585c55099f827f92f50d11e3d2d3a4a954" +checksum = "1ee2da033256a3b27131c030933eab0460a709fbcc4d4bd57bf9a5650b2441c5" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.7.0", + "indexmap 2.7.1", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9f7d057e00f8c5994e4ff4492b76532c51ead39353aa2ed63f8c50c0f4d52e" +checksum = "4e9d9918b0abb632818bf27e2dfb86b209be8433baacf22100b190bbc0904bd4" dependencies = [ "const-hex", "dunce", "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e60b084fe1aef8acecda2743ff2d93c18ff3eb67a2d3b12f62582a1e66ef5e" +checksum = "a971129d242338d92009470a2f750d3b2630bc5da00a40a94d51f5d456b5712f" dependencies = [ "serde", - "winnow 0.6.24", + "winnow 0.7.1", ] [[package]] name = "alloy-sol-types" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1382302752cd751efd275f4d6ef65877ddf61e0e6f5ac84ef4302b79a33a31a" +checksum = "75f306fc801b3aa2e3c4785b7b5252ec8b19f77b30e3b75babfd23849c81bd8c" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -951,18 +951,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "async-trait" -version = "0.1.85" +version = "0.1.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" +checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -984,9 +984,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "aurora-engine-modexp" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aef7712851e524f35fbbb74fa6599c5cd8692056a1c36f9ca0d2001b670e7e5" +checksum = "518bc5745a6264b5fd7b09dffb9667e400ee9e2bbe18555fac75e1fe9afa0df9" dependencies = [ "hex", "num", @@ -1000,7 +1000,7 @@ checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1071,7 +1071,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom", + "getrandom 0.2.15", "instant", "pin-project-lite", "rand 0.8.5", @@ -1150,7 +1150,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1170,7 +1170,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1190,9 +1190,9 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "bitvec" @@ -1217,9 +1217,9 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", @@ -1273,9 +1273,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.1" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1283,9 +1283,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "byte-slice-cast" @@ -1313,7 +1313,7 @@ checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1333,7 +1333,7 @@ checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1344,9 +1344,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" dependencies = [ "serde", ] @@ -1403,7 +1403,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.24", + "semver 1.0.25", "serde", "serde_json", "thiserror 1.0.69", @@ -1417,22 +1417,22 @@ checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" dependencies = [ "clap", "heck 0.4.1", - "indexmap 2.7.0", + "indexmap 2.7.1", "log", "proc-macro2", "quote", "serde", "serde_json", - "syn 2.0.96", + "syn 2.0.98", "tempfile", "toml", ] [[package]] name = "cc" -version = "1.2.9" +version = "1.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" +checksum = "755717a7de9ec452bf7f3f1a3099085deabd7f2962b861dae91ecd7a365903d2" dependencies = [ "jobserver", "libc", @@ -1488,9 +1488,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.27" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", "clap_derive", @@ -1510,14 +1510,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1579,6 +1579,26 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -1613,9 +1633,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -1677,9 +1697,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-bigint" @@ -1755,7 +1775,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1766,7 +1786,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -1915,7 +1935,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "unicode-xid", ] @@ -1969,7 +1989,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2012,23 +2032,20 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35" [[package]] name = "ecdsa" version = "0.16.9" -source = "git+https://github.com/sp1-patches/signatures?tag=patch-0.16.9-sp1-4.0.0#5a0aefaef40c7a4cf991ab63f43650fea3ea0db0" +source = "git+https://github.com/sp1-patches/signatures.git?tag=patch-16.9-sp1-4.1.0#1880299a48fe7ef249edaa616fd411239fb5daf1" dependencies = [ - "cfg-if", "der", "digest 0.10.7", "elliptic-curve", - "hex-literal", "rfc6979", "signature", - "sp1-lib", "spki", ] @@ -2056,6 +2073,7 @@ dependencies = [ "ff 0.13.0", "generic-array 0.14.7", "group 0.13.0", + "hkdf", "pem-rfc7468", "pkcs8", "rand_core 0.6.4", @@ -2109,7 +2127,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2120,7 +2138,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2348,7 +2366,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2423,29 +2441,28 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[package]] -name = "git2" -version = "0.19.0" +name = "getrandom" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" dependencies = [ - "bitflags", + "cfg-if", "libc", - "libgit2-sys", - "log", - "url", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" version = "0.3.2" @@ -2487,7 +2504,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.7.0", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -2580,10 +2597,13 @@ dependencies = [ ] [[package]] -name = "hex-literal" -version = "0.4.1" +name = "hkdf" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] [[package]] name = "hmac" @@ -2630,9 +2650,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "httpdate" @@ -2642,9 +2662,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.5.2" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", @@ -2865,7 +2885,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2912,7 +2932,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -2933,9 +2953,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -2944,9 +2964,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.9" +version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ "console", "number_prefix", @@ -2981,9 +3001,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -3018,6 +3038,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.14" @@ -3060,15 +3089,16 @@ dependencies = [ [[package]] name = "k256" version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +source = "git+https://github.com/sp1-patches/elliptic-curves?tag=patch-k256-13.4-sp1-4.1.0#dbb97456cb6bda207eb212011ac834582263e88b" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", + "hex", "once_cell", "sha2", "signature", + "sp1-lib", ] [[package]] @@ -3093,7 +3123,7 @@ dependencies = [ [[package]] name = "kona-client" version = "0.1.0" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3115,6 +3145,7 @@ dependencies = [ "lru 0.13.0", "maili-genesis", "maili-protocol", + "maili-registry", "op-alloy-consensus", "op-alloy-rpc-types-engine", "revm", @@ -3128,7 +3159,7 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.2.3" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3148,7 +3179,7 @@ dependencies = [ [[package]] name = "kona-driver" version = "0.2.3" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -3169,7 +3200,7 @@ dependencies = [ [[package]] name = "kona-executor" version = "0.2.3" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3188,7 +3219,7 @@ dependencies = [ [[package]] name = "kona-host" version = "0.1.0" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3217,6 +3248,7 @@ dependencies = [ "maili-protocol", "maili-registry", "maili-rpc", + "op-alloy-network", "op-alloy-rpc-types-engine", "reqwest", "revm", @@ -3231,7 +3263,7 @@ dependencies = [ [[package]] name = "kona-interop" version = "0.1.1" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -3247,7 +3279,7 @@ dependencies = [ [[package]] name = "kona-mpt" version = "0.1.2" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -3259,7 +3291,7 @@ dependencies = [ [[package]] name = "kona-preimage" version = "0.2.1" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-primitives", "async-channel", @@ -3273,7 +3305,7 @@ dependencies = [ [[package]] name = "kona-proof" version = "0.2.3" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3303,13 +3335,15 @@ dependencies = [ [[package]] name = "kona-proof-interop" version = "0.1.1" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-engine", "async-trait", + "kona-executor", "kona-interop", "kona-mpt", "kona-preimage", @@ -3317,16 +3351,18 @@ dependencies = [ "maili-genesis", "maili-registry", "op-alloy-consensus", + "op-alloy-rpc-types-engine", "serde", "serde_json", "spin", + "thiserror 2.0.11", "tracing", ] [[package]] name = "kona-providers-alloy" version = "0.1.0" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3350,7 +3386,7 @@ dependencies = [ [[package]] name = "kona-std-fpvm" version = "0.1.2" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "async-trait", "cfg-if", @@ -3363,20 +3399,20 @@ dependencies = [ [[package]] name = "kona-std-fpvm-proc" version = "0.1.2" -source = "git+https://github.com/succinctlabs/kona?rev=b91da21b#b91da21b652cb5c74406bfb630d0e6d0f9f52629" +source = "git+https://github.com/succinctlabs/kona?rev=2e02cbd#2e02cbd190eb437f8b3fa07fcba52ddc9293d5e4" dependencies = [ "cfg-if", "kona-std-fpvm", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "kzg-rs" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08151404e9f89dfc6149ccb2d3e03f2c4ec4f253b721770975da1a1644c6b79f" +checksum = "6efe7b9aea4a6b9454dc95a67f2de13505f6b4fbea885bc7a5c09bda48a85b18" dependencies = [ "ff 0.13.0", "hex", @@ -3406,18 +3442,6 @@ version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - [[package]] name = "libloading" version = "0.8.6" @@ -3465,7 +3489,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa" dependencies = [ "cc", - "libc", "pkg-config", "vcpkg", ] @@ -3503,9 +3526,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "lru" @@ -3527,14 +3550,15 @@ dependencies = [ [[package]] name = "maili-genesis" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05c62ab34636c8280d1a851c6ecadf0360c438f23012670180edd1c6ace264f2" +checksum = "06b7e97a44adfa99280f855cbc23fd91617053110e1b02e32b0b098ce41411fa" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-sol-types", + "derive_more", "maili-serde", "revm", "serde", @@ -3544,9 +3568,9 @@ dependencies = [ [[package]] name = "maili-interop" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d8ccd8ce856694d1b6480c816382341eb51c70dbb2014c7b485a3fc0a6a60a" +checksum = "5c012b9ad9e92b4d8a6cfee4a7a3b4efdee471827f0b48ace3863383fd165c9e" dependencies = [ "alloy-consensus", "alloy-eips", @@ -3560,9 +3584,9 @@ dependencies = [ [[package]] name = "maili-protocol" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c39be02dfcd1ed47723ddcb0dbc1da3a091e467f0b26b06dde86b17aabfdd4d3" +checksum = "2ff2dab30e675a17f683ae5cdaebe15a70d7b16c21c546a36d5cf6b3a9ecc6b7" dependencies = [ "alloc-no-stdlib", "alloy-consensus", @@ -3570,10 +3594,8 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-serde", - "alloy-sol-types", "async-trait", "brotli", - "derive_more", "maili-genesis", "miniz_oxide", "op-alloy-consensus", @@ -3588,14 +3610,13 @@ dependencies = [ [[package]] name = "maili-registry" -version = "0.2.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ff720b9f01c59728ac154b537c5669b067e8e6e5fa0705225d3f1c34dc40b94" +checksum = "3e88d54e608b9b2ba9bb1969ef7ffb524fd6a1286b3b380d321832d968d7792e" dependencies = [ "alloy-primitives", "lazy_static", "maili-genesis", - "maili-superchain", "serde", "serde_json", "toml", @@ -3603,9 +3624,9 @@ dependencies = [ [[package]] name = "maili-rpc" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f01a1b24de201b127ddfa3d5dd45ca57bd22d4179aee4095058665e0e64a98d" +checksum = "48c9694f81bb2002651beeefc47ad985f212aa95ff77f8f018b58b1ac435a360" dependencies = [ "alloy-eips", "alloy-primitives", @@ -3619,26 +3640,15 @@ dependencies = [ [[package]] name = "maili-serde" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22329e318402620eae25b0442c5a359b046ba8da6a60181bf48efd0b1f3120ff" +checksum = "d585b003062590dcec94e9933cb9e7cf7ddc2fd727aeb2b80f2fef23164f558b" dependencies = [ "alloy-primitives", "serde", "serde_json", ] -[[package]] -name = "maili-superchain" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a193eb01b1cff0dec89b04e73429e649ffcb3db1449a01fed9e14e8ab437e7cc" -dependencies = [ - "alloy-primitives", - "maili-genesis", - "serde", -] - [[package]] name = "matchers" version = "0.1.0" @@ -3694,7 +3704,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -3715,14 +3725,14 @@ checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "native-tls" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" dependencies = [ "libc", "log", @@ -3946,16 +3956,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", + "syn 2.0.98", ] [[package]] @@ -3986,15 +3987,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "op-alloy-consensus" -version = "0.10.0" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e8e67b41afd338096ca31f24c5e7800797858b963490be2e8971d17d733f49" +checksum = "23f7ff02e5f3ba62c8dd5d9a630c818f50147bca7b0d78e89de59ed46b5d02e1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4008,15 +4009,15 @@ dependencies = [ [[package]] name = "op-alloy-flz" -version = "0.10.0" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5402b85f0fa22712960498c3a123875d7b53da21928b24a8f8667babb268c4c" +checksum = "740324977f089db5b2cd96975260308c3f52daeaa103570995211748d282e560" [[package]] name = "op-alloy-network" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b062f0c57e8b910f9ec1222b6fba2dddd7e33fb7b139a68556a7390d40b03624" +checksum = "9fc2e8a7501b1e9c0e83bde80b5b9866bf4418caceaf64d919bd608b66ecaa16" dependencies = [ "alloy-consensus", "alloy-network", @@ -4029,9 +4030,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d55acda15bd273d1d9a052536cf46c3520f597ac9884376c9c56241f2f5e9b" +checksum = "77979abf2b8b2be8996da3b434b09d770edbcceccd59251c3373ef553e743cf0" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4047,14 +4048,16 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.10.0" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6735ec88e69917c0cb0a3ee60ad7e5cd14dcb905a6ca55fbc7004b72c5e20" +checksum = "20120c629465e52e5cdb0ac8df0ba45e184b456fcd55d17ea9ec1247d6968bb4" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "alloy-serde", + "derive_more", "op-alloy-consensus", "serde", "thiserror 2.0.11", @@ -4242,9 +4245,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.68" +version = "0.10.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" +checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" dependencies = [ "bitflags", "cfg-if", @@ -4263,20 +4266,20 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.104" +version = "0.9.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" dependencies = [ "cc", "libc", @@ -4299,13 +4302,14 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "p256" version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +source = "git+https://github.com/sp1-patches/elliptic-curves?tag=patch-p256-13.2-sp1-4.1.0#f527279b192e0d1b293108af2faee513495411ca" dependencies = [ "ecdsa", "elliptic-curve", + "hex", "primeorder", "sha2", + "sp1-lib", ] [[package]] @@ -4576,28 +4580,30 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -4709,22 +4715,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" +checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" +checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4783,14 +4789,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +version = "0.13.1" +source = "git+https://github.com/sp1-patches/elliptic-curves?tag=patch-p256-13.2-sp1-4.1.0#f527279b192e0d1b293108af2faee513495411ca" dependencies = [ "elliptic-curve", ] @@ -4822,7 +4827,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.22", + "toml_edit 0.22.23", ] [[package]] @@ -4844,7 +4849,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4896,7 +4901,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4916,7 +4921,7 @@ checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -4935,7 +4940,7 @@ dependencies = [ "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "socket2", "thiserror 2.0.11", @@ -4950,10 +4955,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", - "getrandom", + "getrandom 0.2.15", "rand 0.8.5", "ring", - "rustc-hash 2.1.0", + "rustc-hash 2.1.1", "rustls", "rustls-pki-types", "slab", @@ -5020,7 +5025,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_core 0.9.0", - "zerocopy 0.8.14", + "zerocopy 0.8.17", ] [[package]] @@ -5039,7 +5044,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -5048,7 +5053,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" dependencies = [ - "zerocopy 0.8.14", + "zerocopy 0.8.17", ] [[package]] @@ -5126,7 +5131,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] @@ -5321,7 +5326,7 @@ dependencies = [ [[package]] name = "rfc6979" version = "0.4.0" -source = "git+https://github.com/sp1-patches/signatures?tag=patch-0.16.9-sp1-4.0.0#5a0aefaef40c7a4cf991ab63f43650fea3ea0db0" +source = "git+https://github.com/sp1-patches/signatures.git?tag=patch-16.9-sp1-4.1.0#1880299a48fe7ef249edaa616fd411239fb5daf1" dependencies = [ "hmac", "subtle", @@ -5335,7 +5340,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -5353,14 +5358,14 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323" +checksum = "1e147371c75553e1e2fcdb483944a8540b8438c31426279553b9a8182a9b7b65" dependencies = [ "bytecheck", "bytes", "hashbrown 0.15.2", - "indexmap 2.7.0", + "indexmap 2.7.1", "munge", "ptr_meta", "rancor", @@ -5372,13 +5377,13 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beb382a4d9f53bd5c0be86b10d8179c3f8a14c30bf774ff77096ed6581e35981" +checksum = "246b40ac189af6c675d124b802e8ef6d5246c53e17367ce9501f8f66a81abb7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5470,9 +5475,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -5495,14 +5500,14 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.24", + "semver 1.0.25", ] [[package]] name = "rustix" -version = "0.38.43" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ "bitflags", "errno", @@ -5513,9 +5518,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.21" +version = "0.23.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7" dependencies = [ "log", "once_cell", @@ -5549,9 +5554,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ "web-time", ] @@ -5587,9 +5592,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "scale-info" @@ -5612,14 +5617,14 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "scc" -version = "2.3.0" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e1c91382686d21b5ac7959341fcb9780fa7c03773646995a87c950fa7be640" +checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" dependencies = [ "sdd", ] @@ -5641,9 +5646,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "3.0.5" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478f121bb72bbf63c52c93011ea1791dca40140dfe13f8336c4c5ac952c33aa9" +checksum = "b07779b9b918cc05650cb30f404d4d7835d26df37c235eded8a6832e2fb82cca" [[package]] name = "sec1" @@ -5725,9 +5730,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" dependencies = [ "serde", ] @@ -5774,7 +5779,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5783,7 +5788,7 @@ version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "itoa", "memchr", "ryu", @@ -5808,7 +5813,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5857,7 +5862,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -5882,7 +5887,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6011,8 +6016,9 @@ dependencies = [ [[package]] name = "sp1-build" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a39432d068358ad12648736b147837413ee9bc4cea8b1a755eb02061871a42a" dependencies = [ "anyhow", "cargo_metadata", @@ -6023,8 +6029,9 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c57af17e078ffb3e3520611f1edaa29fc0e27abe4357baebb224a4092af5d9" dependencies = [ "bincode", "bytemuck", @@ -6047,7 +6054,7 @@ dependencies = [ "serde", "serde_json", "sp1-curves", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-stark", "strum", "strum_macros", @@ -6061,8 +6068,9 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb43b3e92337a2fd1ea5201eccb25b683d256f12c18481b497cc02bdaf03240f" dependencies = [ "bincode", "cbindgen", @@ -6101,7 +6109,7 @@ dependencies = [ "sp1-core-executor", "sp1-curves", "sp1-derive", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-stark", "static_assertions", "strum", @@ -6117,8 +6125,9 @@ dependencies = [ [[package]] name = "sp1-cuda" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ea04d8ba35535966e318b0b1bca5f4c099a4c3482a77daec9308d8e08fa844" dependencies = [ "bincode", "ctrlc", @@ -6133,8 +6142,9 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e401b2fdf3202984e06966a2528515a3197f786b67cc130cb08a1fee32f41998" dependencies = [ "cfg-if", "dashu", @@ -6147,15 +6157,16 @@ dependencies = [ "p3-field", "serde", "snowbridge-amcl", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-stark", "typenum", ] [[package]] name = "sp1-derive" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65611e34ec9e9e060d1883d12b8f36360c49ef7220d35f8d2882bdfa3acfa5fe" dependencies = [ "quote", "syn 1.0.109", @@ -6163,37 +6174,21 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2378a017c2159e1ab89ed73ff797771ab8b00b11ee1d86852c00c2c9fabc76ce" +checksum = "ec954a4567f51269fd10c304a8907862d4d2069aa2b479a18d0f063f29a6df8f" dependencies = [ "bincode", + "elliptic-curve", "serde", - "sp1-primitives 4.0.0", + "sp1-primitives", ] [[package]] name = "sp1-primitives" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc7c741d8c2907ac96f71445ed8d7abb0fdbea115c6becbcbc7c35305068320c" -dependencies = [ - "bincode", - "hex", - "lazy_static", - "num-bigint 0.4.6", - "p3-baby-bear", - "p3-field", - "p3-poseidon2", - "p3-symmetric", - "serde", - "sha2", -] - -[[package]] -name = "sp1-primitives" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +checksum = "0a959284c1f0df979160dba98aa5d3d245697a5a3b9c992207afcd9e62e37732" dependencies = [ "bincode", "hex", @@ -6209,8 +6204,9 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98827024debe98d1a6e071a1dafec34432246a8cfdbde824039820a88ac48487" dependencies = [ "anyhow", "bincode", @@ -6237,7 +6233,7 @@ dependencies = [ "sha2", "sp1-core-executor", "sp1-core-machine", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-recursion-circuit", "sp1-recursion-compiler", "sp1-recursion-core", @@ -6251,8 +6247,9 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26acc2712b37c5403c66bf48e66cc13522f9d68d69957f2811979f8ae69d8b7" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -6275,7 +6272,7 @@ dependencies = [ "sp1-core-executor", "sp1-core-machine", "sp1-derive", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-recursion-compiler", "sp1-recursion-core", "sp1-recursion-gnark-ffi", @@ -6285,8 +6282,9 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "654ecabf3dd3685cfec599fb7f6e4d0287d6ab940a16960cbacb68f66b07a324" dependencies = [ "backtrace", "itertools 0.13.0", @@ -6296,7 +6294,7 @@ dependencies = [ "p3-symmetric", "serde", "sp1-core-machine", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-recursion-core", "sp1-recursion-derive", "sp1-stark", @@ -6306,8 +6304,9 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a290b821cf9f60431ab3f371e147cef6866ff4c956951dac3fa48b2eb4dc92c5" dependencies = [ "backtrace", "cbindgen", @@ -6337,7 +6336,7 @@ dependencies = [ "serde", "sp1-core-machine", "sp1-derive", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-stark", "static_assertions", "thiserror 1.0.69", @@ -6348,8 +6347,9 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5de73c4047d3ecad64eaba79f62f84714295e3f242c4be287ff6f9e299b1c0b" dependencies = [ "quote", "syn 1.0.109", @@ -6357,8 +6357,9 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ccb096e3ffc6df91719358b2b291e3a5865e73a1cbc5303403d95e0d243588" dependencies = [ "anyhow", "bincode", @@ -6382,8 +6383,9 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97420f9aa60f88aeb7c7aa3ecae8c0d323e7cf9b7c37e99198234ec7e646e735" dependencies = [ "alloy-primitives", "alloy-signer", @@ -6413,7 +6415,7 @@ dependencies = [ "sp1-core-executor", "sp1-core-machine", "sp1-cuda", - "sp1-primitives 4.0.1", + "sp1-primitives", "sp1-prover", "sp1-stark", "strum", @@ -6424,13 +6426,13 @@ dependencies = [ "tonic", "tracing", "twirp-rs", - "vergen", ] [[package]] name = "sp1-stark" -version = "4.0.1" -source = "git+https://github.com/succinctlabs/sp1?branch=dev#66b599baf177ab7e34034b3f710ecab8d7808fcc" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1baa3bbabfd8518e873212b9e5301bdb6ed1110894b470552139d7b14335a21" dependencies = [ "arrayref", "hashbrown 0.14.5", @@ -6454,7 +6456,7 @@ dependencies = [ "rayon-scan", "serde", "sp1-derive", - "sp1-primitives 4.0.1", + "sp1-primitives", "strum", "strum_macros", "sysinfo 0.30.13", @@ -6463,14 +6465,14 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c9380c49efdf34e6454a735922f794bb1d4b11114c302675087f110c207b56" +checksum = "04bd303b49b54a10dc82b909272b1e971fa851756743070ccf9676554459417f" dependencies = [ "cfg-if", "critical-section", "embedded-alloc", - "getrandom", + "getrandom 0.2.15", "lazy_static", "libm", "p3-baby-bear", @@ -6478,14 +6480,14 @@ dependencies = [ "rand 0.8.5", "sha2", "sp1-lib", - "sp1-primitives 4.0.0", + "sp1-primitives", ] [[package]] name = "sp1_bls12_381" -version = "0.8.0-sp1-4.0.0" +version = "0.8.0-sp1-4.0.0-v2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e07035fec67f2018dbb70359bed671582160bbcb2419deb812e583c8c975a" +checksum = "e0800e0491c38cc686233518fce535d01ba0a0707781766fec38aee9c1b33890" dependencies = [ "cfg-if", "ff 0.13.0", @@ -6561,7 +6563,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6624,9 +6626,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -6635,14 +6637,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84e4d83a0a6704561302b917a932484e1cae2d8c6354c64be8b7bac1c1fe057" +checksum = "b7f6a4b9002584ea56d0a19713b65da44cbbf6070aca9ae0360577cba5c4db68" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6662,7 +6664,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6723,13 +6725,13 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.15.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand", - "getrandom", + "getrandom 0.3.1", "once_cell", "rustix", "windows-sys 0.59.0", @@ -6761,7 +6763,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6772,7 +6774,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6802,9 +6804,7 @@ checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -6887,7 +6887,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -6953,14 +6953,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.22", + "toml_edit 0.22.23", ] [[package]] @@ -6978,22 +6978,22 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" dependencies = [ - "indexmap 2.7.0", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.24", + "winnow 0.7.1", ] [[package]] @@ -7125,7 +7125,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -7261,9 +7261,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-width" @@ -7332,15 +7332,15 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" +checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -7357,19 +7357,6 @@ dependencies = [ "serde", ] -[[package]] -name = "vergen" -version = "8.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" -dependencies = [ - "anyhow", - "cfg-if", - "git2", - "rustversion", - "time", -] - [[package]] name = "version_check" version = "0.9.5" @@ -7378,9 +7365,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -7400,6 +7387,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -7422,7 +7418,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -7457,7 +7453,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7520,9 +7516,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.7" +version = "0.26.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" dependencies = [ "rustls-pki-types", ] @@ -7604,7 +7600,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -7615,7 +7611,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -7816,13 +7812,22 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.24" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a" +checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f" dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + [[package]] name = "write16" version = "1.0.0" @@ -7883,7 +7888,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -7899,11 +7904,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.14" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a367f292d93d4eab890745e75a778da40909cab4d6ff8173693812f79c4a2468" +checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713" dependencies = [ - "zerocopy-derive 0.8.14", + "zerocopy-derive 0.8.17", ] [[package]] @@ -7914,18 +7919,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] name = "zerocopy-derive" -version = "0.8.14" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3931cb58c62c13adec22e38686b559c86a30565e16ad6e8510a337cedc611e1" +checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -7945,7 +7950,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", "synstructure", ] @@ -7966,7 +7971,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -7988,7 +7993,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.96", + "syn 2.0.98", ] [[package]] @@ -8017,3 +8022,8 @@ dependencies = [ "sha3", "subtle", ] + +[[patch.unused]] +name = "bls12_381" +version = "0.8.0" +source = "git+https://github.com/sp1-patches/bls12_381?tag=patch-0.8.0-sp1-4.0.0#36b2a9d68b40dd08d2b0ac2843769a6a16608c91" diff --git a/Cargo.toml b/Cargo.toml index a5b0e59b6..8c2a49e5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ homepage = "https://succinctlabs.github.io/op-succinct/" repository = "https://github.com/succinctlabs/op-succinct" [workspace.dependencies] +# general anyhow = { version = "1.0.86", default-features = false } thiserror = { version = "2.0.3" } cfg-if = "1.0.0" @@ -35,28 +36,23 @@ hex = "0.4.3" bincode = "1.3.3" base64 = "0.22.1" tower-http = { version = "0.5.2", features = ["limit"] } -kzg-rs = { version = "0.2.2" } - -# program tracing tracing = { version = "0.1.40", default-features = false } tracing-subscriber = { version = "0.3.18", features = ["fmt"] } # kona -# Switch back to main `kona` once the SingleChainHostCli is merged. https://github.com/op-rs/kona/issues/982 -kona-mpt = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } -kona-derive = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b", default-features = false } -kona-driver = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } -kona-preimage = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b", features = [ +kona-mpt = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-derive = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd", default-features = false } +kona-driver = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-preimage = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd", features = [ "rkyv", "serde", ] } -kona-executor = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } -kona-proof = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } - -kona-client = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } -kona-host = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } -kona-providers-alloy = { git = "https://github.com/succinctlabs/kona", rev = "b91da21b" } +kona-executor = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-proof = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-client = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-host = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } +kona-providers-alloy = { git = "https://github.com/succinctlabs/kona", rev = "2e02cbd" } # op-succinct op-succinct-prove = { path = "scripts/prove" } @@ -85,7 +81,9 @@ alloy-rpc-types-engine = { version = "0.11.0", default-features = false } alloy-rpc-types-beacon = { version = "0.11.0", default-features = false } # Keccak with the SHA3 patch is more efficient than the default Keccak. -alloy-primitives = { version = "0.8.19", default-features = false, features = ["sha3-keccak"] } +alloy-primitives = { version = "0.8.19", default-features = false, features = [ + "sha3-keccak", +] } alloy-sol-types = { version = "0.8.19", default-features = false } # OP Alloy @@ -95,24 +93,23 @@ op-alloy-rpc-types-engine = { version = "0.10.0", default-features = false } op-alloy-network = { version = "0.10.0", default-features = false } # Maili -maili-consensus = { version = "0.1.6", default-features = false } -maili-rpc = { version = "0.2.0", default-features = false, features = ["serde"] } -maili-protocol = { version = "0.2.0", default-features = false } -maili-registry = { version = "0.2.0", default-features = false } -maili-genesis = { version = "0.2.0", default-features = false } +maili-consensus = { version = "0.2.6", default-features = false } +maili-rpc = { version = "0.2.6", default-features = false, features = [ + "serde", +] } +maili-protocol = { version = "0.2.6", default-features = false } +maili-registry = { version = "0.2.6", default-features = false } +maili-genesis = { version = "0.2.6", default-features = false } # Revm revm = { version = "19.4.0", default-features = false, features = ["kzg-rs"] } - -# sp1 -sp1-lib = { version = "4.0.0", features = ["verify"] } -# sp1-sdk = { version = "4.0.0" } -# TODO: Switch back to version tag once the alloy bump is merged -sp1-sdk = { git = "https://github.com/succinctlabs/sp1", branch = "dev" } -sp1-zkvm = { version = "4.0.0", features = ["verify", "embedded"] } -# TODO: Switch back to version tag once the Docker workspace directory change is merged. -sp1-build = { git = "https://github.com/succinctlabs/sp1", branch = "dev" } +# SP1 +sp1-lib = { version = "4.1.0", features = ["verify"] } +sp1-sdk = { version = "4.1.0" } +sp1-zkvm = { version = "4.1.0", features = ["verify", "embedded"] } +sp1-build = { version = "4.1.0" } +kzg-rs = { version = "0.2.5" } [profile.release-client-lto] inherits = "release" @@ -123,6 +120,8 @@ lto = "fat" [patch.crates-io] tiny-keccak = { git = "https://github.com/sp1-patches/tiny-keccak", tag = "patch-2.0.2-sp1-4.0.0" } sha2 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", tag = "patch-sha2-0.10.8-sp1-4.0.0" } -ecdsa = { git = "https://github.com/sp1-patches/signatures", tag = "patch-0.16.9-sp1-4.0.0" } substrate-bn = { git = "https://github.com/sp1-patches/bn", tag = "patch-0.6.0-sp1-4.0.0" } sha3 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha3", tag = "patch-sha3-0.10.8-sp1-4.0.0" } +p256 = { git = "https://github.com/sp1-patches/elliptic-curves", tag = "patch-p256-13.2-sp1-4.1.0" } +k256 = { git = "https://github.com/sp1-patches/elliptic-curves", tag = "patch-k256-13.4-sp1-4.1.0" } +bls12_381 = { git = "https://github.com/sp1-patches/bls12_381", tag = "patch-0.8.0-sp1-4.0.0", features = ["groups"] } diff --git a/elf/aggregation-elf b/elf/aggregation-elf index 15217431c..31a880b7c 100755 Binary files a/elf/aggregation-elf and b/elf/aggregation-elf differ diff --git a/elf/range-elf b/elf/range-elf index 7e497dfee..9d8045f82 100755 Binary files a/elf/range-elf and b/elf/range-elf differ diff --git a/programs/range/src/main.rs b/programs/range/src/main.rs index aa2d43028..08a460a14 100644 --- a/programs/range/src/main.rs +++ b/programs/range/src/main.rs @@ -13,9 +13,6 @@ extern crate alloc; use alloc::sync::Arc; -use alloy_primitives::B256; -use kona_preimage::{CommsClient, PreimageKeyType}; -use kona_proof::{errors::OracleProviderError, BootInfo, HintType}; use op_succinct_client_utils::{ boot::BootInfoStruct, client::run_opsuccinct_client, precompiles::zkvm_handle_register, }; @@ -55,30 +52,3 @@ fn main() { sp1_zkvm::io::commit(&BootInfoStruct::from(boot_info)); }); } - -/// Fetches the safe head hash of the L2 chain based on the agreed upon L2 output root in the -/// [BootInfo]. -/// -/// Sourced from Kona until it's exposed nicely from a crate that doesn't depend on kona-std-fpvm, which can compile in zkVM mode. -/// https://github.com/op-rs/kona/blob/a59f643d0627320efff49f40f4803741ae9194f1/bin/client/src/single.rs#L153-L155. -pub async fn fetch_safe_head_hash( - caching_oracle: &O, - boot_info: &BootInfo, -) -> Result -where - O: CommsClient, -{ - let mut output_preimage = [0u8; 128]; - HintType::StartingL2Output - .get_exact_preimage( - caching_oracle, - boot_info.agreed_l2_output_root, - PreimageKeyType::Keccak256, - &mut output_preimage, - ) - .await?; - - output_preimage[96..128] - .try_into() - .map_err(OracleProviderError::SliceConversion) -} diff --git a/proposer/succinct/bin/server.rs b/proposer/succinct/bin/server.rs index 5b690b1c0..4e522f856 100644 --- a/proposer/succinct/bin/server.rs +++ b/proposer/succinct/bin/server.rs @@ -169,7 +169,7 @@ async fn request_span_proof( } }; - let mem_kv_store = start_server_and_native_client(&host_cli).await?; + let mem_kv_store = start_server_and_native_client(host_cli).await?; let sp1_stdin = match get_proof_stdin(mem_kv_store) { Ok(stdin) => stdin, @@ -345,7 +345,7 @@ async fn request_mock_span_proof( }; let start_time = Instant::now(); - let oracle = start_server_and_native_client(&host_cli).await?; + let oracle = start_server_and_native_client(host_cli.clone()).await?; let witness_generation_duration = start_time.elapsed(); let sp1_stdin = match get_proof_stdin(oracle) { diff --git a/rust-toolchain b/rust-toolchain index 37db46272..5845576e3 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-12-16" -components = ["llvm-tools", "rustc-dev"] +channel = "stable" +components = ["llvm-tools", "rustc-dev"] \ No newline at end of file diff --git a/scripts/prove/bin/multi.rs b/scripts/prove/bin/multi.rs index 7374276d7..af83c5be6 100644 --- a/scripts/prove/bin/multi.rs +++ b/scripts/prove/bin/multi.rs @@ -37,7 +37,7 @@ async fn main() -> Result<()> { .await?; let start_time = Instant::now(); - let oracle = start_server_and_native_client(&host_cli).await?; + let oracle = start_server_and_native_client(host_cli.clone()).await?; let witness_generation_duration = start_time.elapsed(); // Get the stdin for the block. diff --git a/scripts/prove/tests/multi.rs b/scripts/prove/tests/multi.rs index 3f246c871..bbd97c3b6 100644 --- a/scripts/prove/tests/multi.rs +++ b/scripts/prove/tests/multi.rs @@ -30,7 +30,7 @@ async fn execute_batch() -> Result<()> { ) .await?; - let oracle = start_server_and_native_client(&host_cli).await?; + let oracle = start_server_and_native_client(host_cli.clone()).await?; // Get the stdin for the block. let sp1_stdin = get_proof_stdin(oracle)?; diff --git a/scripts/utils/bin/cost_estimator.rs b/scripts/utils/bin/cost_estimator.rs index 821138a3c..1bc653509 100644 --- a/scripts/utils/bin/cost_estimator.rs +++ b/scripts/utils/bin/cost_estimator.rs @@ -1,7 +1,7 @@ use anyhow::Result; use clap::Parser; use futures::StreamExt; -use kona_host::single::SingleChainHostCli; +use kona_host::single::SingleChainHost; use log::info; use op_succinct_host_utils::{ block_range::{ @@ -26,12 +26,12 @@ use std::{ pub const RANGE_ELF: &[u8] = include_bytes!("../../../elf/range-elf"); -const TWELVE_HOURS: Duration = Duration::from_secs(60 * 60 * 12); +const ONE_WEEK: Duration = Duration::from_secs(60 * 60 * 24 * 7); /// Run the zkVM execution process for each split range in parallel. Writes the execution stats for /// each block range to a CSV file after each execution completes (not guaranteed to be in order). async fn execute_blocks_and_write_stats_csv( - host_clis: &[SingleChainHostCli], + host_clis: &[SingleChainHost], ranges: Vec, l2_chain_id: u64, start: u64, @@ -77,7 +77,7 @@ async fn execute_blocks_and_write_stats_csv( // because the server and client are long-lived tasks. let handles = host_clis.iter().cloned().map(|host_cli| { tokio::spawn(async move { - let oracle = start_server_and_native_client(&host_cli).await.unwrap(); + let oracle = start_server_and_native_client(host_cli).await.unwrap(); get_proof_stdin(oracle).unwrap() }) }); @@ -195,7 +195,7 @@ async fn main() -> Result<()> { let l2_chain_id = data_fetcher.get_l2_chain_id().await?; let (l2_start_block, l2_end_block) = if args.rolling { - get_rolling_block_range(&data_fetcher, TWELVE_HOURS, args.default_range).await? + get_rolling_block_range(&data_fetcher, ONE_WEEK, args.default_range).await? } else { get_validated_block_range(&data_fetcher, args.start, args.end, args.default_range).await? }; diff --git a/scripts/utils/bin/gen_sp1_test_artifacts.rs b/scripts/utils/bin/gen_sp1_test_artifacts.rs index ceb6752d7..74b896f68 100644 --- a/scripts/utils/bin/gen_sp1_test_artifacts.rs +++ b/scripts/utils/bin/gen_sp1_test_artifacts.rs @@ -56,7 +56,9 @@ async fn main() -> Result<()> { let mut successful_ranges = Vec::new(); for (range, host_cli) in split_ranges.iter().zip(host_clis.iter()) { - let oracle = start_server_and_native_client(host_cli).await.unwrap(); + let oracle = start_server_and_native_client(host_cli.clone()) + .await + .unwrap(); let sp1_stdin = get_proof_stdin(oracle).unwrap(); successful_ranges.push((sp1_stdin, range.clone())); } diff --git a/utils/client/src/client.rs b/utils/client/src/client.rs index 371f19979..7cb961f26 100644 --- a/utils/client/src/client.rs +++ b/utils/client/src/client.rs @@ -15,9 +15,7 @@ use kona_driver::DriverResult; use kona_driver::Executor; use kona_driver::TipCursor; use kona_executor::{KonaHandleRegister, TrieDBProvider}; -use kona_preimage::HintWriterClient; -use kona_preimage::PreimageOracleClient; -use kona_preimage::{CommsClient, PreimageKeyType}; +use kona_preimage::{CommsClient, PreimageKey}; use kona_proof::errors::OracleProviderError; use kona_proof::executor::KonaExecutor; use kona_proof::l1::{OracleL1ChainProvider, OraclePipeline}; @@ -38,22 +36,6 @@ use tracing::info; use tracing::warn; use crate::oracle::OPSuccinctOracleBlobProvider; -use crate::precompiles::zkvm_handle_register; -use crate::InMemoryOracle; -use crate::StoreOracle; - -pub async fn run_witnessgen_client( - oracle: Arc>, -) -> Result -where - OR: PreimageOracleClient + Send + Sync + Debug + Clone, - HW: HintWriterClient + Send + Sync + Debug + Clone, -{ - let _ = run_opsuccinct_client(oracle.clone(), Some(zkvm_handle_register)).await?; - let in_memory_oracle = InMemoryOracle::populate_from_store(oracle.as_ref())?; - drop(oracle); - Ok(in_memory_oracle) -} // Sourced from https://github.com/op-rs/kona/tree/main/bin/client/src/single.rs pub async fn run_opsuccinct_client( @@ -78,7 +60,7 @@ where let boot_arc = Arc::new(boot.clone()); let rollup_config = Arc::new(boot.rollup_config); - let safe_head_hash = fetch_safe_head_hash(oracle.as_ref(), boot_arc.as_ref()).await?; + let safe_head_hash = fetch_safe_head_hash(oracle.as_ref(), boot.agreed_l2_output_root).await?; let mut l1_provider = OracleL1ChainProvider::new(boot.l1_head, oracle.clone()); let mut l2_provider = @@ -187,18 +169,20 @@ where /// [BootInfo]. async fn fetch_safe_head_hash( caching_oracle: &O, - boot_info: &BootInfo, + agreed_l2_output_root: B256, ) -> Result where O: CommsClient, { let mut output_preimage = [0u8; 128]; HintType::StartingL2Output - .get_exact_preimage( - caching_oracle, - boot_info.agreed_l2_output_root, - PreimageKeyType::Keccak256, - &mut output_preimage, + .with_data(&[agreed_l2_output_root.as_ref()]) + .send(caching_oracle) + .await?; + caching_oracle + .get_exact( + PreimageKey::new_keccak256(*agreed_l2_output_root), + output_preimage.as_mut(), ) .await?; diff --git a/utils/client/src/oracle/blob_provider.rs b/utils/client/src/oracle/blob_provider.rs index 9f39c17e9..cd6dc0d71 100644 --- a/utils/client/src/oracle/blob_provider.rs +++ b/utils/client/src/oracle/blob_provider.rs @@ -45,10 +45,10 @@ impl OPSuccinctOracleBlobProvider { blob_req_meta[40..48].copy_from_slice(block_ref.timestamp.to_be_bytes().as_ref()); // Send a hint for the blob commitment and field elements. - self.oracle - .write(&HintType::L1Blob.encode_with(&[blob_req_meta.as_ref()])) - .await - .map_err(OracleProviderError::Preimage)?; + HintType::L1Blob + .with_data(&[blob_req_meta.as_ref()]) + .send(self.oracle.as_ref()) + .await?; // Fetch the blob commitment. let mut commitment = [0u8; 48]; diff --git a/utils/host/src/fetcher.rs b/utils/host/src/fetcher.rs index 7f072df0b..cb854f39f 100644 --- a/utils/host/src/fetcher.rs +++ b/utils/host/src/fetcher.rs @@ -8,7 +8,7 @@ use anyhow::Result; use anyhow::{anyhow, bail}; use cargo_metadata::MetadataCommand; use futures::{stream, StreamExt}; -use kona_host::single::SingleChainHostCli; +use kona_host::single::SingleChainHost; use maili_genesis::RollupConfig; use maili_protocol::calculate_tx_l1_cost_fjord; use maili_protocol::L2BlockInfo; @@ -678,7 +678,7 @@ impl OPSuccinctDataFetcher { l2_end_block: u64, multi_block: ProgramType, cache_mode: CacheMode, - ) -> Result { + ) -> Result { // If the rollup config is not already loaded, fetch and save it. if self.rollup_config.is_none() { return Err(anyhow::anyhow!("Rollup config not loaded.")); @@ -781,7 +781,7 @@ impl OPSuccinctDataFetcher { // witness data. fs::create_dir_all(&data_directory)?; - Ok(SingleChainHostCli { + Ok(SingleChainHost { l1_head: l1_head_hash, agreed_l2_output_root, agreed_l2_head_hash, @@ -811,8 +811,8 @@ impl OPSuccinctDataFetcher { .to_string(), ), data_dir: Some(data_directory.into()), - native: true, - server: false, + native: false, + server: true, rollup_config_path: Some(rollup_config_path), }) } diff --git a/utils/host/src/lib.rs b/utils/host/src/lib.rs index 823717bb8..b7e5d7862 100644 --- a/utils/host/src/lib.rs +++ b/utils/host/src/lib.rs @@ -6,25 +6,17 @@ pub mod stats; use alloy_consensus::Header; use alloy_primitives::B256; use alloy_sol_types::sol; -use anyhow::anyhow; use anyhow::Result; -use kona_host::single::SingleChainHostCli; -use kona_host::HostOrchestrator; -use kona_host::PreimageServer; -use kona_preimage::BidirectionalChannel; -use kona_preimage::HintReader; -use kona_preimage::HintWriter; -use kona_preimage::OracleReader; -use kona_preimage::OracleServer; +use kona_host::single::SingleChainHost; +use kona_preimage::{BidirectionalChannel, HintWriter, NativeChannel, OracleReader}; use log::info; -use op_succinct_client_utils::client::run_witnessgen_client; -use op_succinct_client_utils::InMemoryOracle; -use op_succinct_client_utils::StoreOracle; +use op_succinct_client_utils::client::run_opsuccinct_client; +use op_succinct_client_utils::precompiles::zkvm_handle_register; use op_succinct_client_utils::{boot::BootInfoStruct, types::AggregationInputs}; +use op_succinct_client_utils::{InMemoryOracle, StoreOracle}; use rkyv::to_bytes; use sp1_sdk::{HashableKey, SP1Proof, SP1Stdin}; use std::sync::Arc; -use tokio::task; sol! { #[allow(missing_docs)] @@ -55,6 +47,10 @@ sol! { } } +pub struct OPSuccinctHost { + pub kona_args: SingleChainHost, +} + /// Get the stdin to generate a proof for the given L2 claim. pub fn get_proof_stdin(oracle: InMemoryOracle) -> Result { let mut stdin = SP1Stdin::new(); @@ -99,33 +95,50 @@ pub fn get_agg_proof_stdin( /// Start the server and native client. Each server is tied to a single client. pub async fn start_server_and_native_client( - cfg: &SingleChainHostCli, + cfg: SingleChainHost, ) -> Result { - let hint_chan = BidirectionalChannel::new().map_err(|e| anyhow!(e))?; - let preimage_chan = BidirectionalChannel::new().map_err(|e| anyhow!(e))?; - - let kv_store = cfg.create_key_value_store()?; - let providers = cfg.create_providers().await?; - let fetcher = cfg.create_fetcher(providers, kv_store.clone()); - - let server_task = task::spawn( - PreimageServer::new( - OracleServer::new(preimage_chan.host), - HintReader::new(hint_chan.host), - kv_store.clone(), - fetcher, - ) - .start(), - ); - - let oracle = Arc::new(StoreOracle::new( - OracleReader::new(preimage_chan.client), - HintWriter::new(hint_chan.client), - )); + let host = OPSuccinctHost { kona_args: cfg }; info!("Starting preimage server and client program."); - let in_memory_oracle = run_witnessgen_client(oracle.clone()).await?; + let in_memory_oracle = host.run().await?; - server_task.abort(); Ok(in_memory_oracle) } + +impl OPSuccinctHost { + /// Run the host and client program. + /// + /// Returns the in-memory oracle which can be supplied to the zkVM. + pub async fn run(&self) -> Result { + let hint = BidirectionalChannel::new()?; + let preimage = BidirectionalChannel::new()?; + + let server_task = self + .kona_args + .start_server(hint.host, preimage.host) + .await?; + + let in_memory_oracle = self + .run_witnessgen_client(preimage.client, hint.client) + .await?; + // Unlike the upstream, manually abort the server task, as it will hang if you wait for both tasks to complete. + server_task.abort(); + + Ok(in_memory_oracle) + } + + /// Run the witness generation client. + pub async fn run_witnessgen_client( + &self, + preimage_chan: NativeChannel, + hint_chan: NativeChannel, + ) -> Result { + let oracle = Arc::new(StoreOracle::new( + OracleReader::new(preimage_chan), + HintWriter::new(hint_chan), + )); + let _ = run_opsuccinct_client(oracle.clone(), Some(zkvm_handle_register)).await?; + let in_memory_oracle = InMemoryOracle::populate_from_store(oracle.as_ref())?; + Ok(in_memory_oracle) + } +}