diff --git a/.monorepo b/.config/monorepo similarity index 100% rename from .monorepo rename to .config/monorepo diff --git a/.github/codecov.yml b/.github/codecov.yml index c05145a5b0..aa7344d876 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -22,10 +22,11 @@ ignore: - "**/test_utils*" - "**/test_util*" - "**/tests*" - - "crates/providers-alloy" - - "crates/mpt/src/noop.rs" + - "crates/providers/providers-alloy" + - "crates/providers/providers-local" + - "crates/proof/mpt/src/noop.rs" # Interop - not yet integrated - - "crates/proof-sdk/proof-interop" + - "crates/proof/proof-interop" - "bin/host/src/interop" - "bin/client/src/interop" diff --git a/.github/workflows/deny.yaml b/.github/workflows/deny.yaml new file mode 100644 index 0000000000..0835a73f94 --- /dev/null +++ b/.github/workflows/deny.yaml @@ -0,0 +1,17 @@ +name: Deny + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: [cron: "00 00 * * *"] + +jobs: + cargo-deny: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: EmbarkStudios/cargo-deny-action@v2 diff --git a/.github/workflows/no_std.yml b/.github/workflows/no_std.yml new file mode 100644 index 0000000000..71fbc050b8 --- /dev/null +++ b/.github/workflows/no_std.yml @@ -0,0 +1,28 @@ +name: no_std checks + +on: + push: + branches: [main] + merge_group: + pull_request: + +env: + CARGO_TERM_COLOR: always + +jobs: + no-std: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + - uses: dtolnay/rust-toolchain@stable + with: + target: riscv32imac-unknown-none-elf + - uses: taiki-e/install-action@cargo-hack + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: check + run: ./scripts/check_no_std.sh diff --git a/.github/workflows/sync.yaml b/.github/workflows/sync.yaml new file mode 100644 index 0000000000..c143c230f9 --- /dev/null +++ b/.github/workflows/sync.yaml @@ -0,0 +1,43 @@ +name: Synchronize Git Submodules + +on: + push: + branches: [main] + schedule: + - cron: '30 5 * * *' + workflow_dispatch: + +jobs: + submodule-sync: + name: Synchronize the git submodule + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + token: ${{ secrets.PAT_TOKEN }} + - uses: taiki-e/install-action@just + - uses: dtolnay/rust-toolchain@stable + - name: Update Submodule + run: just source && just bind + - name: Create Pull Request + id: cpr + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.PAT_TOKEN }} + commit-message: Update Submodules + signoff: false + branch: bot/update-submodules + base: main + delete-branch: true + title: '[BOT] Update Submodules' + body: | + ### Description + + Automated PR to update git submodules. + labels: | + A-submodules + C-bot + assignees: refcell + draft: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..7de135575d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contributing + +Thank you for wanting to contribute! Before contributing to this repository, +please read through this document and discuss the change you wish to make via issue. + +## Dependencies + +Before working with this repository locally, you'll need to install the following dependencies. + +- [just][just] for our command-runner scripts. +- The [Rust toolchain][rust] + +**Optional** + +- [mdbook](https://github.com/rust-lang/mdBook) to contribute to the [book][book] + - [mdbook-template](https://github.com/sgoudham/mdbook-template) + - [mdbook-mermaid](https://github.com/badboy/mdbook-mermaid) + +## Pull Request Process + +1. Before anything, [create an issue][create-an-issue] to discuss the change you're + wanting to make, if it is significant or changes functionality. Feel free to skip this step for trivial changes. +1. Once your change is implemented, ensure that all checks are passing before creating a PR. The full CI pipeline can + be run locally via the `justfile`s in the repository. +1. Make sure to update any documentation that has gone stale as a result of the change, in the `README` files, the [book][book], + and in rustdoc comments. +1. Once you have sign-off from a maintainer, you may merge your pull request yourself if you have permissions to do so. + If not, the maintainer who approves your pull request will add it to the merge queue. + + + +[just]: https://github.com/casey/just +[rust]: https://rustup.rs/ + +[book]: https://op-rs.github.io/kona + +[create-an-issue]: https://github.com/op-rs/kona/issues/new diff --git a/Cargo.lock b/Cargo.lock index 9c04f88cb0..02d323077e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -106,13 +106,31 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.1.61" +version = "0.1.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a754dbb534198644cb8355b8c23f4aaecf03670fb9409242be1fa1e25897ee9" +checksum = "1317fde6d2d3cd6082a15144c23230697a5e1a91a27d1facc146715d3b4b2046" dependencies = [ "alloy-primitives", + "alloy-rlp", "num_enum", - "strum", + "serde", + "strum 0.27.1", +] + +[[package]] +name = "alloy-consensus" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "auto_impl", + "c-kzg", + "derive_more 1.0.0", + "serde", ] [[package]] @@ -121,15 +139,17 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" dependencies = [ - "alloy-eips", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", - "alloy-trie", + "alloy-serde 0.11.1", + "alloy-trie 0.7.9", + "arbitrary", "auto_impl", "c-kzg", - "derive_more", + "derive_more 1.0.0", "k256", + "rand 0.8.5", "serde", ] @@ -139,11 +159,11 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.11.1", "serde", ] @@ -155,7 +175,10 @@ checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" dependencies = [ "alloy-primitives", "alloy-rlp", + "arbitrary", "crc", + "rand 0.8.5", + "serde", "thiserror 2.0.11", ] @@ -167,6 +190,20 @@ checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ "alloy-primitives", "alloy-rlp", + "arbitrary", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "k256", "serde", ] @@ -178,9 +215,29 @@ checksum = "cabf647eb4650c91a9d38cb6f972bb320009e7e9d61765fb688a86f1563b33e8" dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more", + "arbitrary", + "derive_more 1.0.0", "k256", + "rand 0.8.5", + "serde", +] + +[[package]] +name = "alloy-eips" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702 0.1.1", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "c-kzg", + "derive_more 1.0.0", + "once_cell", "serde", + "sha2 0.10.8", ] [[package]] @@ -191,13 +248,14 @@ checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" dependencies = [ "alloy-eip2124", "alloy-eip2930", - "alloy-eip7702", + "alloy-eip7702 0.5.0", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.11.1", + "arbitrary", "auto_impl", "c-kzg", - "derive_more", + "derive_more 1.0.0", "ethereum_ssz", "ethereum_ssz_derive", "once_cell", @@ -205,6 +263,17 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "alloy-genesis" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" +dependencies = [ + "alloy-primitives", + "alloy-serde 0.4.2", + "serde", +] + [[package]] name = "alloy-json-abi" version = "0.8.21" @@ -237,15 +306,15 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be03f2ebc00cf88bd06d3c6caf387dceaa9c7e6b268216779fa68a9bf8ab4e6" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-consensus-any", - "alloy-eips", + "alloy-eips 0.11.1", "alloy-json-rpc", - "alloy-network-primitives", + "alloy-network-primitives 0.11.1", "alloy-primitives", "alloy-rpc-types-any", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.11.1", + "alloy-serde 0.11.1", "alloy-signer", "alloy-sol-types", "async-trait", @@ -256,16 +325,29 @@ dependencies = [ "thiserror 2.0.11", ] +[[package]] +name = "alloy-network-primitives" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-serde 0.4.2", + "serde", +] + [[package]] name = "alloy-network-primitives" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.11.1", "serde", ] @@ -281,11 +363,11 @@ dependencies = [ "cfg-if", "const-hex", "derive_arbitrary", - "derive_more", + "derive_more 1.0.0", "foldhash", "getrandom 0.2.15", "hashbrown 0.15.2", - "indexmap", + "indexmap 2.7.1", "itoa", "k256", "keccak-asm", @@ -307,15 +389,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbe0a2acff0c4bd1669c71251ce10fc455cbffa1b4d0a817d5ea4ba7e5bb3db7" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-json-rpc", "alloy-network", - "alloy-network-primitives", + "alloy-network-primitives 0.11.1", "alloy-primitives", "alloy-pubsub", "alloy-rpc-client", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.11.1", "alloy-sol-types", "alloy-transport", "alloy-transport-http", @@ -355,7 +437,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", ] @@ -401,12 +483,25 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower", + "tower 0.5.2", "tracing", "url", "wasmtimer", ] +[[package]] +name = "alloy-rpc-types" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine 0.4.2", + "alloy-rpc-types-eth 0.4.2", + "alloy-serde 0.4.2", + "serde", +] + [[package]] name = "alloy-rpc-types" version = "0.11.1" @@ -415,8 +510,8 @@ checksum = "6f18e68a3882f372e045ddc89eb455469347767d17878ca492cfbac81e71a111" dependencies = [ "alloy-primitives", "alloy-rpc-types-debug", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.11.1", + "alloy-serde 0.11.1", "serde", ] @@ -427,8 +522,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "318ae46dd12456df42527c3b94c1ae9001e1ceb707f7afe2c7807ac4e49ebad9" dependencies = [ "alloy-consensus-any", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.11.1", + "alloy-serde 0.11.1", ] [[package]] @@ -437,9 +532,9 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "799103aa44270c7bea076ec5d3d7b6c6d29557ab5485c91a74d3068327adb485" dependencies = [ - "alloy-eips", + "alloy-eips 0.11.1", "alloy-primitives", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "serde", "serde_with", "thiserror 2.0.11", @@ -455,22 +550,54 @@ dependencies = [ "serde", ] +[[package]] +name = "alloy-rpc-types-engine" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "derive_more 1.0.0", + "serde", + "strum 0.26.3", +] + [[package]] name = "alloy-rpc-types-engine" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e83dde9fcf1ccb9b815cc0c89bba26bbbbaae5150a53ae624ed0fc63cb3676c1" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", - "derive_more", + "alloy-serde 0.11.1", + "derive_more 1.0.0", "ethereum_ssz", "ethereum_ssz_derive", "serde", - "strum", + "strum 0.26.3", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-network-primitives 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-sol-types", + "derive_more 1.0.0", + "itertools 0.13.0", ] [[package]] @@ -479,13 +606,13 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b4dbee4d82f8a22dde18c28257bed759afeae7ba73da4a1479a039fd1445d04" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-consensus-any", - "alloy-eips", - "alloy-network-primitives", + "alloy-eips 0.11.1", + "alloy-network-primitives 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.11.1", "alloy-sol-types", "itertools 0.14.0", "serde", @@ -493,6 +620,17 @@ dependencies = [ "thiserror 2.0.11", ] +[[package]] +name = "alloy-serde" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + [[package]] name = "alloy-serde" version = "0.11.1" @@ -500,6 +638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" dependencies = [ "alloy-primitives", + "arbitrary", "serde", "serde_json", ] @@ -542,7 +681,7 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap", + "indexmap 2.7.1", "proc-macro-error2", "proc-macro2", "quote", @@ -602,7 +741,7 @@ dependencies = [ "serde_json", "thiserror 2.0.11", "tokio", - "tower", + "tower 0.5.2", "tracing", "url", "wasmtimer", @@ -618,7 +757,7 @@ dependencies = [ "alloy-transport", "reqwest", "serde_json", - "tower", + "tower 0.5.2", "tracing", "url", ] @@ -661,6 +800,21 @@ dependencies = [ "ws_stream_wasm", ] +[[package]] +name = "alloy-trie" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "derive_more 1.0.0", + "nybbles 0.2.1", + "serde", + "smallvec", + "tracing", +] + [[package]] name = "alloy-trie" version = "0.7.9" @@ -670,13 +824,28 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", - "derive_more", - "nybbles", + "derive_more 1.0.0", + "nybbles 0.3.4", "serde", "smallvec", "tracing", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anes" version = "0.1.6" @@ -739,6 +908,20 @@ version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +[[package]] +name = "aquamarine" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "arbitrary" version = "1.4.1" @@ -1117,6 +1300,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" @@ -1135,6 +1324,15 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bindgen" version = "0.69.5" @@ -1155,6 +1353,24 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.8.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.98", +] + [[package]] name = "bit-set" version = "0.8.0" @@ -1181,6 +1397,9 @@ name = "bitflags" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +dependencies = [ + "serde", +] [[package]] name = "bitvec" @@ -1190,6 +1409,7 @@ checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ "funty", "radium", + "serde", "tap", "wyz", ] @@ -1353,15 +1573,21 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.13" +version = "1.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" +checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" dependencies = [ "jobserver", "libc", "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -1413,8 +1639,13 @@ version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", + "windows-targets 0.52.6", ] [[package]] @@ -1468,9 +1699,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.29" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184" +checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d" dependencies = [ "clap_builder", "clap_derive", @@ -1478,9 +1709,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.29" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9" +checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c" dependencies = [ "anstream", "anstyle", @@ -1512,6 +1743,16 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1560,6 +1801,24 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -1654,6 +1913,15 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" version = "0.8.6" @@ -1880,6 +2148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -1910,7 +2179,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "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]] @@ -1919,6 +2197,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ + "convert_case 0.6.0", + "proc-macro2", + "quote", + "syn 2.0.98", + "unicode-xid", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "convert_case 0.7.1", "proc-macro2", "quote", "syn 2.0.98", @@ -1958,7 +2250,7 @@ dependencies = [ "arrayvec", "ctr", "delay_map", - "enr", + "enr 0.13.0", "fnv", "futures", "hashlink", @@ -2085,6 +2377,22 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "enr" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "972070166c68827e64bd1ebc8159dd8e32d9bc2da7ebe8f20b61308f7974ad30" +dependencies = [ + "alloy-rlp", + "base64 0.21.7", + "bytes", + "hex", + "log", + "rand 0.8.5", + "sha3", + "zeroize", +] + [[package]] name = "enr" version = "0.13.0" @@ -2149,9 +2457,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" @@ -2160,7 +2468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2224,6 +2532,16 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -2268,6 +2586,18 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + [[package]] name = "findshlibs" version = "0.10.2" @@ -2329,8 +2659,17 @@ dependencies = [ ] [[package]] -name = "funty" -version = "2.0.0" +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "funty" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" @@ -2443,6 +2782,10 @@ name = "futures-timer" version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] [[package]] name = "futures-util" @@ -2526,6 +2869,52 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +[[package]] +name = "gloo-net" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" +dependencies = [ + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "http 1.2.0", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "group" version = "0.13.0" @@ -2549,7 +2938,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -2558,9 +2947,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" dependencies = [ "atomic-waker", "bytes", @@ -2568,7 +2957,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.2.0", - "indexmap", + "indexmap 2.7.1", "slab", "tokio", "tokio-util", @@ -2585,6 +2974,18 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "hashbrown" version = "0.14.5" @@ -2650,9 +3051,9 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] name = "hickory-proto" -version = "0.24.3" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad3d6d98c648ed628df039541a5577bee1a7c83e9e16fe3dbedeea4cdfeb971" +checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" dependencies = [ "async-trait", "cfg-if", @@ -2675,9 +3076,9 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.24.3" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf287bde7b776e85d7188e6e5db7cf410a2f9531fe82817eb87feed034c8d14" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" dependencies = [ "cfg-if", "futures-util", @@ -2845,7 +3246,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.7", + "h2 0.4.8", "http 1.2.0", "http-body 1.0.1", "httparse", @@ -2866,6 +3267,7 @@ dependencies = [ "http 1.2.0", "hyper 1.6.0", "hyper-util", + "log", "rustls", "rustls-pki-types", "tokio", @@ -2908,6 +3310,29 @@ dependencies = [ "tracing", ] +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "icu_collections" version = "1.5.0" @@ -3083,7 +3508,7 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows", + "windows 0.53.0", ] [[package]] @@ -3125,6 +3550,42 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "include_dir" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" +dependencies = [ + "include_dir_macros", +] + +[[package]] +name = "include_dir_macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + [[package]] name = "indexmap" version = "2.7.1" @@ -3144,7 +3605,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ "ahash", - "indexmap", + "indexmap 2.7.1", "is-terminal", "itoa", "log", @@ -3155,6 +3616,26 @@ dependencies = [ "str_stack", ] +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + [[package]] name = "inout" version = "0.1.3" @@ -3214,7 +3695,7 @@ checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" dependencies = [ "hermit-abi 0.4.0", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3265,6 +3746,26 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.32" @@ -3284,6 +3785,148 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "834af00800e962dee8f7bfc0f60601de215e73e78e5497d733a2919da837d3c8" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-types", + "jsonrpsee-wasm-client", + "jsonrpsee-ws-client", + "tracing", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def0fd41e2f53118bd1620478d12305b2c75feef57ea1f93ef70568c98081b7e" +dependencies = [ + "base64 0.22.1", + "futures-channel", + "futures-util", + "gloo-net", + "http 1.2.0", + "jsonrpsee-core", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76637f6294b04e747d68e69336ef839a3493ca62b35bf488ead525f7da75c5bb" +dependencies = [ + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http 1.2.0", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types", + "parking_lot", + "pin-project", + "rand 0.8.5", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "wasm-bindgen-futures", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c24e981ad17798bbca852b0738bfb7b94816ed687bd0d5da60bfa35fa0fdc3" +dependencies = [ + "async-trait", + "base64 0.22.1", + "http-body 1.0.1", + "hyper 1.6.0", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types", + "rustls", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower 0.4.13", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fcae0c6c159e11541080f1f829873d8f374f81eda0abc67695a13fc8dc1a580" +dependencies = [ + "heck", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddb81adb1a5ae9182df379e374a79e24e992334e7346af4d065ae5b2acb8d4c6" +dependencies = [ + "http 1.2.0", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonrpsee-wasm-client" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e41af42ca39657313748174d02766e5287d3a57356f16756dbd8065b933977" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f4f3642a292f5b76d8a16af5c88c16a0860f2ccc778104e5c848b28183d9538" +dependencies = [ + "http 1.2.0", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", + "url", +] + [[package]] name = "k256" version = "0.13.4" @@ -3321,30 +3964,30 @@ dependencies = [ name = "kona-client" version = "0.1.0" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "async-trait", "cfg-if", "kona-derive", "kona-driver", "kona-executor", + "kona-genesis", "kona-interop", "kona-mpt", "kona-preimage", "kona-proof", "kona-proof-interop", + "kona-protocol", + "kona-registry", "kona-std-fpvm", "kona-std-fpvm-proc", "lru 0.13.0", - "maili-genesis", - "maili-protocol", - "maili-registry", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", - "revm", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", + "revm 19.5.0", "serde", "serde_json", "spin 0.9.8", @@ -3356,18 +3999,18 @@ dependencies = [ name = "kona-derive" version = "0.2.3" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "async-trait", - "maili-genesis", - "maili-protocol", - "maili-registry", - "maili-rpc", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "kona-genesis", + "kona-protocol", + "kona-registry", + "kona-rpc", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", "proptest", "serde_json", "spin 0.9.8", @@ -3381,17 +4024,17 @@ dependencies = [ name = "kona-driver" version = "0.2.3" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-primitives", "alloy-rlp", "async-trait", "kona-derive", "kona-executor", - "maili-genesis", - "maili-protocol", - "maili-rpc", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "kona-genesis", + "kona-protocol", + "kona-rpc", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", "spin 0.9.8", "thiserror 2.0.11", "tracing", @@ -3401,26 +4044,26 @@ dependencies = [ name = "kona-executor" version = "0.2.3" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-provider", "alloy-rlp", "alloy-rpc-client", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "alloy-transport", "alloy-transport-http", - "alloy-trie", + "alloy-trie 0.7.9", "criterion", + "kona-genesis", "kona-host", "kona-mpt", - "maili-genesis", - "maili-registry", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "kona-registry", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", "pprof", "rand 0.9.0", - "revm", + "revm 19.5.0", "rstest", "serde", "serde_json", @@ -3430,19 +4073,38 @@ dependencies = [ "tracing", ] +[[package]] +name = "kona-genesis" +version = "0.1.0" +dependencies = [ + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", + "alloy-primitives", + "alloy-sol-types", + "arbitrary", + "derive_more 2.0.1", + "kona-serde", + "rand 0.9.0", + "revm 19.5.0", + "serde", + "serde_json", + "serde_repr", + "thiserror 2.0.11", +] + [[package]] name = "kona-host" version = "0.1.0" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-provider", "alloy-rlp", "alloy-rpc-client", - "alloy-rpc-types", + "alloy-rpc-types 0.11.1", "alloy-rpc-types-beacon", - "alloy-serde", + "alloy-serde 0.11.1", "alloy-transport-http", "anyhow", "async-trait", @@ -3451,21 +4113,21 @@ dependencies = [ "kona-derive", "kona-driver", "kona-executor", + "kona-genesis", "kona-mpt", "kona-preimage", "kona-proof", "kona-proof-interop", + "kona-protocol", "kona-providers-alloy", + "kona-registry", + "kona-rpc", "kona-std-fpvm", - "maili-genesis", - "maili-protocol", - "maili-registry", - "maili-rpc", "op-alloy-network", - "op-alloy-rpc-types-engine", + "op-alloy-rpc-types-engine 0.10.5", "proptest", "reqwest", - "revm", + "revm 19.5.0", "rocksdb", "serde", "serde_json", @@ -3478,17 +4140,18 @@ dependencies = [ name = "kona-interop" version = "0.1.1" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-primitives", "alloy-rlp", "alloy-sol-types", "arbitrary", "async-trait", - "maili-genesis", - "maili-registry", - "op-alloy-consensus", + "kona-genesis", + "kona-registry", + "op-alloy-consensus 0.10.5", "rand 0.9.0", "serde", + "serde_json", "thiserror 2.0.11", "tokio", "tracing", @@ -3498,15 +4161,15 @@ dependencies = [ name = "kona-mpt" version = "0.1.2" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-primitives", "alloy-provider", "alloy-rlp", - "alloy-rpc-types", + "alloy-rpc-types 0.11.1", "alloy-transport-http", - "alloy-trie", + "alloy-trie 0.7.9", "criterion", - "op-alloy-rpc-types-engine", + "op-alloy-rpc-types-engine 0.10.5", "pprof", "proptest", "rand 0.9.0", @@ -3523,7 +4186,7 @@ version = "0.1.0" dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "arbitrary", "arbtest", "discv5", @@ -3531,7 +4194,7 @@ dependencies = [ "lazy_static", "libp2p", "libp2p-identity", - "op-alloy-rpc-types-engine", + "op-alloy-rpc-types-engine 0.10.5", "openssl", "snap", "thiserror 2.0.11", @@ -3558,23 +4221,23 @@ dependencies = [ name = "kona-proof" version = "0.2.3" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", "async-trait", "kona-derive", "kona-driver", "kona-executor", + "kona-genesis", "kona-mpt", "kona-preimage", + "kona-protocol", + "kona-registry", + "kona-rpc", "lru 0.13.0", - "maili-genesis", - "maili-protocol", - "maili-registry", - "maili-rpc", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", "serde", "serde_json", "spin 0.9.8", @@ -3587,22 +4250,22 @@ dependencies = [ name = "kona-proof-interop" version = "0.1.1" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-rpc-types-engine", + "alloy-rpc-types-engine 0.11.1", "arbitrary", "async-trait", "kona-executor", + "kona-genesis", "kona-interop", "kona-mpt", "kona-preimage", "kona-proof", - "maili-genesis", - "maili-registry", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "kona-registry", + "op-alloy-consensus 0.10.5", + "op-alloy-rpc-types-engine 0.10.5", "rand 0.9.0", "serde", "serde_json", @@ -3612,27 +4275,122 @@ dependencies = [ ] [[package]] -name = "kona-providers-alloy" +name = "kona-protocol" version = "0.1.0" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloc-no-stdlib", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", - "alloy-provider", "alloy-rlp", - "alloy-rpc-types-beacon", - "alloy-serde", - "alloy-transport", + "alloy-serde 0.11.1", + "alloy-sol-types", + "arbitrary", "async-trait", - "kona-derive", - "lru 0.13.0", - "maili-genesis", - "maili-protocol", - "op-alloy-consensus", - "reqwest", - "serde", - "thiserror 2.0.11", - "tokio", + "brotli", + "kona-genesis", + "miniz_oxide", + "op-alloy-consensus 0.10.5", + "op-alloy-flz", + "proptest", + "rand 0.9.0", + "revm 19.5.0", + "rstest", + "serde", + "serde_json", + "spin 0.9.8", + "thiserror 2.0.11", + "tokio", + "tracing", + "tracing-subscriber", + "unsigned-varint 0.8.0", +] + +[[package]] +name = "kona-providers-alloy" +version = "0.1.0" +dependencies = [ + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", + "alloy-primitives", + "alloy-provider", + "alloy-rlp", + "alloy-rpc-types-beacon", + "alloy-serde 0.11.1", + "alloy-transport", + "async-trait", + "kona-derive", + "kona-genesis", + "kona-protocol", + "lru 0.13.0", + "op-alloy-consensus 0.10.5", + "reqwest", + "serde", + "thiserror 2.0.11", + "tokio", +] + +[[package]] +name = "kona-providers-local" +version = "0.1.0" +dependencies = [ + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", + "alloy-primitives", + "async-trait", + "derive_more 2.0.1", + "kona-derive", + "kona-genesis", + "kona-protocol", + "op-alloy-consensus 0.10.5", + "parking_lot", + "reth-primitives", + "reth-provider", +] + +[[package]] +name = "kona-registry" +version = "0.1.0" +dependencies = [ + "alloy-eips 0.11.1", + "alloy-primitives", + "kona-genesis", + "lazy_static", + "serde", + "serde_json", + "toml", +] + +[[package]] +name = "kona-rpc" +version = "0.1.0" +dependencies = [ + "alloy-eips 0.11.1", + "alloy-primitives", + "alloy-sol-types", + "async-trait", + "derive_more 2.0.1", + "getrandom 0.2.15", + "jsonrpsee", + "kona-genesis", + "kona-interop", + "kona-protocol", + "op-alloy-rpc-jsonrpsee", + "op-alloy-rpc-types-engine 0.10.5", + "serde", + "serde_json", + "thiserror 2.0.11", + "tokio", +] + +[[package]] +name = "kona-serde" +version = "0.1.0" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", + "toml", ] [[package]] @@ -3658,6 +4416,26 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "kqueue" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -3686,7 +4464,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -3944,7 +4722,7 @@ dependencies = [ "parking_lot", "quinn", "rand 0.8.5", - "ring 0.17.8", + "ring 0.17.9", "rustls", "socket2", "thiserror 1.0.69", @@ -4016,7 +4794,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "rcgen", - "ring 0.17.8", + "ring 0.17.9", "rustls", "rustls-webpki 0.101.7", "thiserror 1.0.69", @@ -4055,13 +4833,24 @@ dependencies = [ "yamux 0.13.4", ] +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.8.0", + "libc", + "redox_syscall", +] + [[package]] name = "librocksdb-sys" version = "0.16.0+8.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" dependencies = [ - "bindgen", + "bindgen 0.69.5", "bzip2-sys", "cc", "glob", @@ -4199,106 +4988,61 @@ dependencies = [ ] [[package]] -name = "maili-genesis" -version = "0.2.8" +name = "lz4_flex" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cd47cb5724e3ddb8a1fb0257aff60d39dd89d0f808a4b89f6e5ba6e6be8ce8" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-sol-types", - "derive_more", - "maili-serde", - "revm", - "serde", - "serde_repr", - "thiserror 2.0.11", -] +checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" [[package]] -name = "maili-protocol" -version = "0.2.8" +name = "match_cfg" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "648d272ab7280e1a97fdb8fd6cab2709f9489c4bb92d163f811d9b1a0fb832f4" -dependencies = [ - "alloc-no-stdlib", - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "async-trait", - "brotli", - "maili-genesis", - "miniz_oxide", - "op-alloy-consensus", - "op-alloy-flz", - "rand 0.9.0", - "serde", - "thiserror 2.0.11", - "tracing", - "tracing-subscriber", - "unsigned-varint 0.8.0", -] +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" [[package]] -name = "maili-registry" -version = "0.2.8" +name = "matchers" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c1187e922d30c0fbf0e5791c52a5d92f6583abafa753cc1e94e2d160005c5c" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "alloy-primitives", - "lazy_static", - "maili-genesis", - "serde", - "serde_json", - "toml", + "regex-automata 0.1.10", ] [[package]] -name = "maili-rpc" -version = "0.2.8" +name = "memchr" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c2a413f4eecb92ba7d4b63ab45afbfd4b02cdfd6d81a3a122fe8b289377e71" -dependencies = [ - "alloy-eips", - "alloy-primitives", - "derive_more", - "maili-protocol", - "op-alloy-rpc-types-engine", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] -name = "maili-serde" -version = "0.2.8" +name = "memmap2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3408631b6fce29e04044ea7ae0bb5ad51338904868ef929cbef25714d194ccc" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ - "alloy-primitives", - "serde", - "serde_json", + "libc", ] [[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "memchr" -version = "2.7.4" +name = "metrics" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" +dependencies = [ + "ahash", + "portable-atomic", +] [[package]] -name = "memmap2" -version = "0.9.5" +name = "metrics-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" dependencies = [ - "libc", + "proc-macro2", + "quote", + "regex", + "syn 2.0.98", ] [[package]] @@ -4322,6 +5066,18 @@ dependencies = [ "adler2", ] +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + [[package]] name = "mio" version = "1.0.3" @@ -4333,6 +5089,27 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "modular-bitfield" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +dependencies = [ + "modular-bitfield-impl", + "static_assertions", +] + +[[package]] +name = "modular-bitfield-impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "more-asserts" version = "0.3.1" @@ -4415,9 +5192,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" dependencies = [ "libc", "log", @@ -4521,6 +5298,33 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "notify" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +dependencies = [ + "bitflags 2.8.0", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio 0.8.11", + "walkdir", + "windows-sys 0.48.0", +] + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -4651,6 +5455,19 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "nybbles" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + [[package]] name = "nybbles" version = "0.3.4" @@ -4694,73 +5511,145 @@ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "op-alloy-consensus" -version = "0.10.3" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ea7162170c6f3cad8f67f4dd7108e3f78349fd553da5b8bebff1e7ef8f38896" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "derive_more 1.0.0", + "serde", + "spin 0.9.8", +] + +[[package]] +name = "op-alloy-consensus" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23f7ff02e5f3ba62c8dd5d9a630c818f50147bca7b0d78e89de59ed46b5d02e1" +checksum = "621e69964165285ce750bf7ba961707e26c31df9f0b25652d6219dcee1f7f5b5" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", - "derive_more", + "alloy-serde 0.11.1", + "arbitrary", + "derive_more 1.0.0", "serde", "thiserror 2.0.11", ] [[package]] name = "op-alloy-flz" -version = "0.10.3" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbee9e684edfb73081bc22337be374b1b454d5eea87790b61ca95a6564953807" + +[[package]] +name = "op-alloy-genesis" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740324977f089db5b2cd96975260308c3f52daeaa103570995211748d282e560" +checksum = "9f3d31dfbbd8dd898c7512f8ce7d30103980485416f668566100b0ed0994b958" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_repr", +] [[package]] name = "op-alloy-network" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab4dd4e260be40a7ab8debf5300baf1f02f1d2a6e0c1ab5741732d612de7d6e" +checksum = "c45f90eaee907df6f1c75d9295c303cfc018fdb3ef91b13b9f46e9922bfb1625" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.11.1", "alloy-network", "alloy-primitives", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.11.1", "alloy-signer", - "op-alloy-consensus", + "op-alloy-consensus 0.10.5", "op-alloy-rpc-types", ] [[package]] -name = "op-alloy-rpc-types" -version = "0.10.3" +name = "op-alloy-protocol" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9af4583c4b3ea93f54092ebfe41172974de2042672e9850500f4d1f99844e" +checksum = "310873e4fbfc41986716c4fb6000a8b49d025d932d2c261af58271c434b05288" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "derive_more", - "op-alloy-consensus", + "alloy-rlp", + "alloy-serde 0.4.2", + "derive_more 1.0.0", + "op-alloy-consensus 0.4.0", + "op-alloy-genesis", "serde", - "serde_json", ] [[package]] -name = "op-alloy-rpc-types-engine" -version = "0.10.3" +name = "op-alloy-rpc-jsonrpsee" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20120c629465e52e5cdb0ac8df0ba45e184b456fcd55d17ea9ec1247d6968bb4" +checksum = "409274d1940cdd6806c431157eb2b68b93ec2d019785f625b665d1c72c51d04e" dependencies = [ - "alloy-consensus", - "alloy-eips", "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-serde", - "derive_more", - "ethereum_ssz", - "op-alloy-consensus", + "jsonrpsee", +] + +[[package]] +name = "op-alloy-rpc-types" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a206be9e4aab37bfa352352d63d8dfa9d48d9df1f30478e4a9477865fd88ad6" +dependencies = [ + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", + "alloy-network-primitives 0.11.1", + "alloy-primitives", + "alloy-rpc-types-eth 0.11.1", + "alloy-serde 0.11.1", + "derive_more 1.0.0", + "op-alloy-consensus 0.10.5", + "serde", + "serde_json", +] + +[[package]] +name = "op-alloy-rpc-types-engine" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349e7b420f45d1a00216ec4c65fcf3f0057a841bc39732c405c85ae782b94121" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine 0.4.2", + "alloy-serde 0.4.2", + "derive_more 1.0.0", + "op-alloy-protocol", + "serde", +] + +[[package]] +name = "op-alloy-rpc-types-engine" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "158a8f5cec81cd301a2bdf97474b9918dda6318447619fbdfcf3f5bbc394d6be" +dependencies = [ + "alloy-consensus 0.11.1", + "alloy-eips 0.11.1", + "alloy-primitives", + "alloy-rpc-types-engine 0.11.1", + "alloy-serde 0.11.1", + "derive_more 1.0.0", + "ethereum_ssz", + "op-alloy-consensus 0.10.5", "serde", "snap", "thiserror 2.0.11", @@ -4774,9 +5663,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.70" +version = "0.10.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6" +checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -4815,9 +5704,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.105" +version = "0.9.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc" +checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" dependencies = [ "cc", "libc", @@ -4844,6 +5733,16 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "parity-scale-codec" version = "3.7.4" @@ -4853,6 +5752,7 @@ dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "bytes", "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", @@ -5058,6 +5958,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" + [[package]] name = "powerfmt" version = "0.2.0" @@ -5125,6 +6031,30 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro-error-attr2" version = "2.0.0" @@ -5193,7 +6123,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -5295,7 +6225,7 @@ dependencies = [ "bytes", "getrandom 0.2.15", "rand 0.8.5", - "ring 0.17.8", + "ring 0.17.9", "rustc-hash 2.1.1", "rustls", "rustls-pki-types", @@ -5308,16 +6238,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" +checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944" dependencies = [ "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5363,8 +6293,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.0", - "zerocopy 0.8.17", + "rand_core 0.9.1", + "zerocopy 0.8.19", ] [[package]] @@ -5384,7 +6314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.0", + "rand_core 0.9.1", ] [[package]] @@ -5398,12 +6328,12 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff" +checksum = "a88e0da7a2c97baa202165137c158d0a2e824ac465d13d81046727b34cb247d3" dependencies = [ "getrandom 0.3.1", - "zerocopy 0.8.17", + "zerocopy 0.8.19", ] [[package]] @@ -5470,8 +6400,17 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -5482,9 +6421,15 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.5", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.5" @@ -5517,7 +6462,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.4.7", + "h2 0.4.8", "http 1.2.0", "http-body 1.0.1", "http-body-util", @@ -5541,7 +6486,7 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tower", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -5560,6 +6505,731 @@ dependencies = [ "quick-error", ] +[[package]] +name = "reth-blockchain-tree-api" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "reth-consensus", + "reth-execution-errors", + "reth-primitives", + "reth-storage-errors", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-chain-state" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "auto_impl", + "derive_more 1.0.0", + "metrics", + "parking_lot", + "pin-project", + "reth-chainspec", + "reth-errors", + "reth-execution-types", + "reth-metrics", + "reth-primitives", + "reth-storage-api", + "reth-trie", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-chainspec" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-chains", + "alloy-eips 0.4.2", + "alloy-genesis", + "alloy-primitives", + "alloy-trie 0.6.0", + "auto_impl", + "derive_more 1.0.0", + "once_cell", + "reth-ethereum-forks", + "reth-network-peers", + "reth-primitives-traits", + "reth-trie-common", + "serde_json", +] + +[[package]] +name = "reth-codecs" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-genesis", + "alloy-primitives", + "alloy-trie 0.6.0", + "bytes", + "modular-bitfield", + "reth-codecs-derive", +] + +[[package]] +name = "reth-codecs-derive" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "convert_case 0.6.0", + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "reth-consensus" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "auto_impl", + "derive_more 1.0.0", + "reth-primitives", +] + +[[package]] +name = "reth-db" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "bytes", + "derive_more 1.0.0", + "eyre", + "metrics", + "page_size", + "paste", + "reth-db-api", + "reth-fs-util", + "reth-libmdbx", + "reth-metrics", + "reth-nippy-jar", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-stages-types", + "reth-storage-errors", + "reth-tracing", + "reth-trie-common", + "rustc-hash 2.1.1", + "serde", + "strum 0.26.3", + "sysinfo", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-db-api" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-genesis", + "alloy-primitives", + "bytes", + "derive_more 1.0.0", + "metrics", + "modular-bitfield", + "parity-scale-codec", + "reth-codecs", + "reth-db-models", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-stages-types", + "reth-storage-errors", + "reth-trie-common", + "serde", +] + +[[package]] +name = "reth-db-models" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "bytes", + "modular-bitfield", + "reth-codecs", + "reth-primitives", + "serde", +] + +[[package]] +name = "reth-engine-primitives" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "reth-execution-types", + "reth-payload-primitives", + "reth-primitives", + "reth-trie", + "serde", +] + +[[package]] +name = "reth-errors" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "reth-blockchain-tree-api", + "reth-consensus", + "reth-execution-errors", + "reth-fs-util", + "reth-storage-errors", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-eth-wire-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-chains", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "bytes", + "derive_more 1.0.0", + "reth-chainspec", + "reth-codecs-derive", + "reth-primitives", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-ethereum-forks" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-chains", + "alloy-primitives", + "alloy-rlp", + "auto_impl", + "crc", + "dyn-clone", + "once_cell", + "rustc-hash 2.1.1", + "serde", + "thiserror-no-std", +] + +[[package]] +name = "reth-evm" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "auto_impl", + "futures-util", + "metrics", + "reth-chainspec", + "reth-execution-errors", + "reth-execution-types", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-storage-errors", + "revm 14.0.3", + "revm-primitives 10.0.0", +] + +[[package]] +name = "reth-execution-errors" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "derive_more 1.0.0", + "nybbles 0.2.1", + "reth-consensus", + "reth-prune-types", + "reth-storage-errors", + "revm-primitives 10.0.0", +] + +[[package]] +name = "reth-execution-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "reth-execution-errors", + "reth-primitives", + "reth-trie", + "revm 14.0.3", +] + +[[package]] +name = "reth-fs-util" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-libmdbx" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "bitflags 2.8.0", + "byteorder", + "dashmap", + "derive_more 1.0.0", + "indexmap 2.7.1", + "parking_lot", + "reth-mdbx-sys", + "smallvec", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "reth-mdbx-sys" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "bindgen 0.70.1", + "cc", +] + +[[package]] +name = "reth-metrics" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "metrics", + "metrics-derive", +] + +[[package]] +name = "reth-net-banlist" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", +] + +[[package]] +name = "reth-network-p2p" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "auto_impl", + "derive_more 1.0.0", + "futures", + "reth-consensus", + "reth-eth-wire-types", + "reth-network-peers", + "reth-network-types", + "reth-primitives", + "reth-storage-errors", + "tokio", + "tracing", +] + +[[package]] +name = "reth-network-peers" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "enr 0.12.1", + "serde_with", + "thiserror 1.0.69", + "url", +] + +[[package]] +name = "reth-network-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "reth-ethereum-forks", + "reth-net-banlist", + "reth-network-peers", + "serde_json", + "tracing", +] + +[[package]] +name = "reth-nippy-jar" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "anyhow", + "bincode", + "derive_more 1.0.0", + "lz4_flex", + "memmap2", + "reth-fs-util", + "serde", + "thiserror 1.0.69", + "tracing", + "zstd", +] + +[[package]] +name = "reth-node-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "reth-chainspec", + "reth-db-api", + "reth-engine-primitives", +] + +[[package]] +name = "reth-payload-primitives" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types 0.4.2", + "async-trait", + "op-alloy-rpc-types-engine 0.4.0", + "pin-project", + "reth-chain-state", + "reth-chainspec", + "reth-errors", + "reth-primitives", + "reth-transaction-pool", + "serde", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-primitives" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "bytes", + "c-kzg", + "derive_more 1.0.0", + "k256", + "modular-bitfield", + "once_cell", + "rayon", + "reth-codecs", + "reth-ethereum-forks", + "reth-primitives-traits", + "reth-static-file-types", + "reth-trie-common", + "revm-primitives 10.0.0", + "secp256k1", + "serde", + "zstd", +] + +[[package]] +name = "reth-primitives-traits" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "byteorder", + "bytes", + "derive_more 1.0.0", + "modular-bitfield", + "reth-codecs", + "revm-primitives 10.0.0", + "roaring", + "serde", +] + +[[package]] +name = "reth-provider" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rpc-types-engine 0.4.2", + "auto_impl", + "dashmap", + "itertools 0.13.0", + "metrics", + "notify", + "parking_lot", + "rayon", + "reth-blockchain-tree-api", + "reth-chain-state", + "reth-chainspec", + "reth-codecs", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-evm", + "reth-execution-types", + "reth-fs-util", + "reth-metrics", + "reth-network-p2p", + "reth-nippy-jar", + "reth-node-types", + "reth-primitives", + "reth-prune-types", + "reth-stages-types", + "reth-storage-api", + "reth-storage-errors", + "reth-trie", + "reth-trie-db", + "revm 14.0.3", + "strum 0.26.3", + "tokio", + "tracing", +] + +[[package]] +name = "reth-prune-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "bytes", + "derive_more 1.0.0", + "modular-bitfield", + "reth-codecs", + "serde", + "thiserror 1.0.69", +] + +[[package]] +name = "reth-stages-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "bytes", + "modular-bitfield", + "reth-codecs", + "reth-trie-common", + "serde", +] + +[[package]] +name = "reth-static-file-types" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "derive_more 1.0.0", + "serde", + "strum 0.26.3", +] + +[[package]] +name = "reth-storage-api" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "auto_impl", + "reth-chainspec", + "reth-db-api", + "reth-db-models", + "reth-execution-types", + "reth-primitives", + "reth-prune-types", + "reth-stages-types", + "reth-storage-errors", + "reth-trie", +] + +[[package]] +name = "reth-storage-errors" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "derive_more 1.0.0", + "reth-fs-util", + "reth-primitives", +] + +[[package]] +name = "reth-tasks" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "auto_impl", + "dyn-clone", + "futures-util", + "metrics", + "reth-metrics", + "thiserror 1.0.69", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "reth-tracing" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "clap", + "eyre", + "rolling-file", + "tracing", + "tracing-appender", + "tracing-journald", + "tracing-logfmt", + "tracing-subscriber", +] + +[[package]] +name = "reth-transaction-pool" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "aquamarine", + "auto_impl", + "bitflags 2.8.0", + "futures-util", + "metrics", + "parking_lot", + "reth-chain-state", + "reth-chainspec", + "reth-eth-wire-types", + "reth-execution-types", + "reth-fs-util", + "reth-metrics", + "reth-primitives", + "reth-storage-api", + "reth-tasks", + "revm 14.0.3", + "rustc-hash 2.1.1", + "schnellru", + "serde", + "smallvec", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "reth-trie" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "auto_impl", + "derive_more 1.0.0", + "itertools 0.13.0", + "metrics", + "rayon", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-stages-types", + "reth-storage-errors", + "reth-trie-common", + "revm 14.0.3", + "tracing", +] + +[[package]] +name = "reth-trie-common" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-trie 0.6.0", + "bytes", + "derive_more 1.0.0", + "itertools 0.13.0", + "nybbles 0.2.1", + "reth-codecs", + "reth-primitives-traits", + "revm-primitives 10.0.0", + "serde", +] + +[[package]] +name = "reth-trie-db" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.1.0#1ba631ba9581973e7c6cadeea92cfe1802aceb4a" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "auto_impl", + "derive_more 1.0.0", + "itertools 0.13.0", + "metrics", + "rayon", + "reth-db", + "reth-db-api", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-stages-types", + "reth-storage-errors", + "reth-trie", + "reth-trie-common", + "revm 14.0.3", + "tracing", +] + +[[package]] +name = "revm" +version = "14.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "641702b12847f9ed418d552f4fcabe536d867a2c980e96b6e7e25d7b992f929f" +dependencies = [ + "auto_impl", + "cfg-if", + "dyn-clone", + "revm-interpreter 10.0.3", + "revm-precompile 11.0.3", + "serde", + "serde_json", +] + [[package]] name = "revm" version = "19.5.0" @@ -5570,22 +7240,51 @@ dependencies = [ "cfg-if", "dyn-clone", "once_cell", - "revm-interpreter", - "revm-precompile", + "revm-interpreter 15.2.0", + "revm-precompile 16.1.0", "serde", "serde_json", ] +[[package]] +name = "revm-interpreter" +version = "10.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e5e14002afae20b5bf1566f22316122f42f57517000e559c55b25bf7a49cba2" +dependencies = [ + "revm-primitives 10.0.0", + "serde", +] + [[package]] name = "revm-interpreter" version = "15.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dcab7ef2064057acfc84731205f4bc77f4ec1b35630800b26ff6a185731c5ab" dependencies = [ - "revm-primitives", + "revm-primitives 15.2.0", "serde", ] +[[package]] +name = "revm-precompile" +version = "11.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3198c06247e8d4ad0d1312591edf049b0de4ddffa9fecb625c318fd67db8639b" +dependencies = [ + "aurora-engine-modexp", + "blst", + "c-kzg", + "cfg-if", + "k256", + "once_cell", + "revm-primitives 10.0.0", + "ripemd", + "secp256k1", + "sha2 0.10.8", + "substrate-bn", +] + [[package]] name = "revm-precompile" version = "16.1.0" @@ -5599,13 +7298,33 @@ dependencies = [ "k256", "once_cell", "p256", - "revm-primitives", + "revm-primitives 15.2.0", "ripemd", "secp256k1", "sha2 0.10.8", "substrate-bn", ] +[[package]] +name = "revm-primitives" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702 0.1.1", + "alloy-primitives", + "auto_impl", + "bitflags 2.8.0", + "bitvec", + "c-kzg", + "cfg-if", + "dyn-clone", + "enumn", + "hex", + "serde", +] + [[package]] name = "revm-primitives" version = "15.2.0" @@ -5613,7 +7332,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f987564210317706def498421dfba2ae1af64a8edce82c6102758b48133fcb" dependencies = [ "alloy-eip2930", - "alloy-eip7702", + "alloy-eip7702 0.5.0", "alloy-primitives", "auto_impl", "bitflags 2.8.0", @@ -5662,15 +7381,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24" dependencies = [ "cc", "cfg-if", "getrandom 0.2.15", "libc", - "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] @@ -5693,7 +7411,7 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.15.2", - "indexmap", + "indexmap 2.7.1", "munge", "ptr_meta", "rancor", @@ -5724,6 +7442,16 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "roaring" +version = "0.10.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652edd001c53df0b3f96a36a8dc93fce6866988efc16808235653c6bcac8bf2" +dependencies = [ + "bytemuck", + "byteorder", +] + [[package]] name = "rocksdb" version = "0.22.0" @@ -5734,6 +7462,15 @@ dependencies = [ "librocksdb-sys", ] +[[package]] +name = "rolling-file" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8395b4f860856b740f20a296ea2cd4d823e81a2658cf05ef61be22916026a906" +dependencies = [ + "chrono", +] + [[package]] name = "rstest" version = "0.24.0" @@ -5832,6 +7569,9 @@ name = "rustc-hash" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +dependencies = [ + "rand 0.8.5", +] [[package]] name = "rustc-hex" @@ -5876,7 +7616,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5885,14 +7625,28 @@ version = "0.23.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" dependencies = [ + "log", "once_cell", - "ring 0.17.8", + "ring 0.17.9", "rustls-pki-types", "rustls-webpki 0.102.8", "subtle", "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-pemfile" version = "2.2.0" @@ -5911,13 +7665,40 @@ dependencies = [ "web-time", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework", + "security-framework-sys", + "webpki-roots", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.8", + "ring 0.17.9", "untrusted 0.9.0", ] @@ -5927,7 +7708,7 @@ version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "ring 0.17.8", + "ring 0.17.9", "rustls-pki-types", "untrusted 0.9.0", ] @@ -5985,6 +7766,17 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schnellru" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" +dependencies = [ + "ahash", + "cfg-if", + "hashbrown 0.13.2", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -6034,6 +7826,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] @@ -6071,6 +7864,12 @@ dependencies = [ "pest", ] +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + [[package]] name = "send_wrapper" version = "0.6.0" @@ -6103,7 +7902,7 @@ version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ - "indexmap", + "indexmap 2.7.1", "itoa", "memchr", "ryu", @@ -6151,6 +7950,8 @@ dependencies = [ "base64 0.22.1", "chrono", "hex", + "indexmap 1.9.3", + "indexmap 2.7.1", "serde", "serde_derive", "serde_json", @@ -6276,9 +8077,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" dependencies = [ "serde", ] @@ -6300,7 +8101,7 @@ dependencies = [ "chacha20poly1305", "curve25519-dalek", "rand_core 0.6.4", - "ring 0.17.8", + "ring 0.17.9", "rustc_version 0.4.1", "sha2 0.10.8", "subtle", @@ -6316,6 +8117,21 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "soketto" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha1", +] + [[package]] name = "spin" version = "0.5.2" @@ -6380,7 +8196,16 @@ version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros", + "strum_macros 0.26.4", +] + +[[package]] +name = "strum" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +dependencies = [ + "strum_macros 0.27.1", ] [[package]] @@ -6396,6 +8221,19 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "strum_macros" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.98", +] + [[package]] name = "substrate-bn" version = "0.6.0" @@ -6492,6 +8330,19 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "sysinfo" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" +dependencies = [ + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "windows 0.57.0", +] + [[package]] name = "system-configuration" version = "0.6.1" @@ -6521,16 +8372,16 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.16.0" +version = "3.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" +checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" dependencies = [ "cfg-if", "fastrand", "getrandom 0.3.1", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6573,6 +8424,26 @@ dependencies = [ "syn 2.0.98", ] +[[package]] +name = "thiserror-impl-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "thiserror-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" +dependencies = [ + "thiserror-impl-no-std", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -6676,7 +8547,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio", + "mio 1.0.3", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -6730,9 +8601,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4bf6fecd69fcdede0ec680aaf474cdab988f9de6bc73d3758f0160e3b7025a" +checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", @@ -6752,6 +8623,7 @@ checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", + "futures-io", "futures-sink", "pin-project-lite", "slab", @@ -6785,13 +8657,28 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap", + "indexmap 2.7.1", "serde", "serde_spanned", "toml_datetime", "winnow", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower" version = "0.5.2" @@ -6831,6 +8718,18 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber", +] + [[package]] name = "tracing-attributes" version = "0.1.28" @@ -6852,6 +8751,27 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-journald" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" +dependencies = [ + "libc", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-log" version = "0.2.0" @@ -6863,19 +8783,47 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-logfmt" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1f47d22deb79c3f59fcf2a1f00f60cbdc05462bf17d1cd356c1fefa3f444bd" +dependencies = [ + "time", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-serde" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" +dependencies = [ + "serde", + "tracing-core", +] + [[package]] name = "tracing-subscriber" version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ + "matchers", "nu-ansi-term", + "once_cell", + "regex", "serde", + "serde_json", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", "tracing-log", + "tracing-serde", ] [[package]] @@ -6886,17 +8834,16 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413083a99c579593656008130e29255e54dcaae495be556cc26888f211648c24" +checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "byteorder", "bytes", "data-encoding", "http 1.2.0", "httparse", "log", - "rand 0.8.5", + "rand 0.9.0", "rustls", "rustls-pki-types", "sha1", @@ -6906,9 +8853,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -6948,9 +8895,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" +checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-xid" @@ -7029,9 +8982,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" +checksum = "8c1f41ffb7cf259f1ecc2876861a17e7142e63ead296f671f81f6ae85903e0d6" [[package]] name = "valuable" @@ -7242,7 +9195,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -7257,7 +9210,26 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" dependencies = [ - "windows-core", + "windows-core 0.53.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ "windows-targets 0.52.6", ] @@ -7271,6 +9243,40 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "windows-registry" version = "0.2.0" @@ -7510,7 +9516,7 @@ dependencies = [ "log", "pharos", "rustc_version 0.4.1", - "send_wrapper", + "send_wrapper 0.6.0", "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", @@ -7646,11 +9652,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.17" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713" +checksum = "8207f485579465f62ae51a983e42c906736a17efd2de48b021e64f1bbd8e98c7" dependencies = [ - "zerocopy-derive 0.8.17", + "zerocopy-derive 0.8.19", ] [[package]] @@ -7666,9 +9672,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.8.17" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626" +checksum = "7dbe1304a711c6eb4cf1ed333aa0d9b344685e71f6f00c3b176072213bd3783e" dependencies = [ "proc-macro2", "quote", @@ -7737,3 +9743,31 @@ dependencies = [ "quote", "syn 2.0.98", ] + +[[package]] +name = "zstd" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "7.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +dependencies = [ + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.13+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml index b3b33d1ce3..d6fee32ce7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,9 @@ members = [ "bin/*", "crates/proof/*", "crates/protocol/*", - "crates/services/*" + "crates/external/*", + "crates/providers/*", + "crates/utilities/*" ] default-members = ["bin/host", "bin/client"] @@ -65,14 +67,21 @@ kona-client = { path = "bin/client", version = "0.1.0", default-features = false # Workspace Protocol kona-derive = { path = "crates/protocol/derive", version = "0.2.3", default-features = false } +kona-protocol = { path = "crates/protocol/protocol", version = "0.1.0", default-features = false } +kona-genesis = { path = "crates/protocol/genesis", version = "0.1.0", default-features = false } +kona-registry = { path = "crates/protocol/registry", version = "0.1.0", default-features = false } kona-driver = { path = "crates/protocol/driver", version = "0.2.3", default-features = false } kona-interop = { path = "crates/protocol/interop", version = "0.1.1", default-features = false } -# Workspace Services -kona-net = { path = "crates/services/net", version = "0.1.0", default-features = false } -kona-providers-alloy = { path = "crates/services/providers-alloy", version = "0.1.0", default-features = false } +# External +kona-net = { path = "crates/external/net", version = "0.1.0", default-features = false } +kona-rpc = { path = "crates/external/rpc", version = "0.1.0", default-features = false } -# Workspace Proof +# Providers +kona-providers-local = { path = "crates/providers/providers-local", version = "0.1.0", default-features = false } +kona-providers-alloy = { path = "crates/providers/providers-alloy", version = "0.1.0", default-features = false } + +# Proof kona-mpt = { path = "crates/proof/mpt", version = "0.1.2", default-features = false } kona-proof = { path = "crates/proof/proof", version = "0.2.3", default-features = false } kona-executor = { path = "crates/proof/executor", version = "0.2.3", default-features = false } @@ -81,11 +90,8 @@ kona-preimage = { path = "crates/proof/preimage", version = "0.2.1", default-fea kona-std-fpvm-proc = { path = "crates/proof/std-fpvm-proc", version = "0.1.2", default-features = false } kona-proof-interop = { path = "crates/proof/proof-interop", version = "0.1.1", default-features = false } -# Maili -maili-rpc = { version = "0.2.8", default-features = false } -maili-genesis = { version = "0.2.8", default-features = false } -maili-protocol = { version = "0.2.8", default-features = false } -maili-registry = { version = "0.2.8", default-features = false } +# Workspace Utilities +kona-serde = { path = "crates/utilities/serde", version = "0.1.0", default-features = false } # Alloy alloy-rlp = { version = "0.3.11", default-features = false } @@ -105,14 +111,19 @@ alloy-rpc-types-engine = { version = "0.11.1", default-features = false } alloy-rpc-types-beacon = { version = "0.11.1", default-features = false } # OP Alloy -op-alloy-network = { version = "0.10.3", default-features = false } -op-alloy-consensus = { version = "0.10.3", default-features = false } -op-alloy-rpc-types-engine = { version = "0.10.3", default-features = false } +op-alloy-flz = { version = "0.10.5", default-features = false } +op-alloy-network = { version = "0.10.5", default-features = false } +op-alloy-consensus = { version = "0.10.5", default-features = false } +op-alloy-rpc-jsonrpsee = { version = "0.10.5", default-features = false } +op-alloy-rpc-types-engine = { version = "0.10.5", default-features = false } + +# Reth +reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.1.0", default-features = false } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.1.0", default-features = false } # General lru = "0.13.0" spin = "0.9.8" -rand = "0.9.0" clap = "4.5.29" tokio = "1.43.0" cfg-if = "1.0.0" @@ -121,16 +132,35 @@ futures = "0.3.31" reqwest = "0.12.12" tempfile = "3.16.0" arbitrary = "1.4.1" +parking_lot = "0.12.3" async-trait = "0.1.86" async-channel = "2.3.1" linked_list_allocator = "0.10.5" -lazy_static = { version = "1.5.0", default-features = false } + +# Compression +miniz_oxide = "0.8.3" +alloc-no-stdlib = "2.0.4" +brotli = { version = "7.0.0", default-features = false } +getrandom = "0.2.15" + +# rpc +jsonrpsee = { version = "0.24.8", features = [ + "jsonrpsee-core", + "client-core", + "server-core", + "macros", +] } +jsonrpsee-core = "0.24.8" +jsonrpsee-types = "0.24.8" # General +rand = { version = "0.9.0", default-features = false } sha2 = { version = "0.10.8", default-features = false } c-kzg = { version = "2.0.0", default-features = false } anyhow = { version = "1.0.95", default-features = false } thiserror = { version = "2.0.11", default-features = false } +derive_more = { version = "2.0.1", default-features = false } +lazy_static = { version = "1.5.0", default-features = false } # Networking snap = "1.1.1" @@ -152,7 +182,9 @@ criterion = "0.5.1" # Serialization rkyv = "0.8.10" +serde_repr = "0.1.19" serde = { version = "1.0.217", default-features = false } +toml = { version = "0.8.19", default-features = false } serde_json = { version = "1.0.138", default-features = false } # Ethereum diff --git a/justfile b/Justfile similarity index 89% rename from justfile rename to Justfile index 3375c92066..aa812eec24 100644 --- a/justfile +++ b/Justfile @@ -102,7 +102,7 @@ build-cannon *args='': --rm \ -v `pwd`/:/workdir \ -w="/workdir" \ - ghcr.io/op-rs/kona/cannon-builder:main cargo build --workspace -Zbuild-std=core,alloc $@ --exclude kona-host --exclude kona-providers-alloy --exclude kona-net + ghcr.io/op-rs/kona/cannon-builder:main cargo build --workspace -Zbuild-std=core,alloc $@ --exclude kona-host --exclude kona-net --exclude kona-providers-alloy --exclude kona-providers-local # Build for the `asterisc` target. Any crates that require the stdlib are excluded from the build for this target. build-asterisc *args='': @@ -110,14 +110,22 @@ build-asterisc *args='': --rm \ -v `pwd`/:/workdir \ -w="/workdir" \ - ghcr.io/op-rs/kona/asterisc-builder:main cargo build --workspace -Zbuild-std=core,alloc $@ --exclude kona-host --exclude kona-providers-alloy --exclude kona-net + ghcr.io/op-rs/kona/asterisc-builder:main cargo build --workspace -Zbuild-std=core,alloc $@ --exclude kona-host --exclude kona-net --exclude kona-providers-alloy --exclude kona-providers-local # Clones and checks out the monorepo at the commit present in `.monorepo` monorepo: ([ ! -d monorepo ] && git clone https://github.com/ethereum-optimism/monorepo) || exit 0 - cd monorepo && git checkout $(cat ../.monorepo) + cd monorepo && git checkout $(cat ../.config/monorepo) # Updates the pinned version of the monorepo update-monorepo: [ ! -d monorepo ] && git clone https://github.com/ethereum-optimism/monorepo - cd monorepo && git rev-parse HEAD > ../.monorepo + cd monorepo && git rev-parse HEAD > ../.config/monorepo + +# Updates the git submodule source +source: + @just --justfile ./crates/registry/Justfile source + +# Generate file bindings for super-registry +bind: + @just --justfile ./crates/registry/Justfile bind diff --git a/README.md b/README.md index a2e76586ce..d2fe270cb5 100644 --- a/README.md +++ b/README.md @@ -3,31 +3,51 @@
What's Kona? • Overview • + MSRV • Contributing • - Credits + Credits • + License
+ ## What's Kona? -Kona is a suite of portable implementations of the OP Stack rollup state transition, namely the [derivation pipeline][g-derivation-pipeline] and -the block execution logic. +Originally a suite of portable implementations of the OP Stack rollup state transition, +Kona has been extended to be _the monorepo_ for OP Stack +types, components, and services built in Rust. Kona provides an ecosystem of extensible, low-level +crates that compose into components and services required for the OP Stack. + +Kona contains many foundational crates including: +- The [derivation pipeline][g-derivation-pipeline]. +- A stateless block executor. + +Built on top of these libraries, this repository also features a [fault proof program][fpp-specs] +designed to deterministically execute the rollup state transition in order to verify an +[L2 output root][g-output-root] from the L1 inputs it was [derived from][g-derivation-pipeline]. + +The [book][book] contains a more in-depth overview of the project, contributor guidelines, tutorials for +getting started with building your own programs, and a reference for the libraries and tools provided by Kona. + + +> [!IMPORTANT] +> +> Ethereum (Alloy) types modified for the OP Stack live in [op-alloy](https://github.com/alloy-rs/op-alloy). -Built on top of these libraries, this repository also features a [fault proof program][fpp-specs] designed to deterministically execute the -rollup state transition in order to verify an [L2 output root][g-output-root] from the L1 inputs it was [derived from][g-derivation-pipeline]. ### Alternative Backends @@ -42,7 +62,9 @@ see the [SDK section of the book](https://op-rs.github.io/kona/sdk/intro.html). ### Development Status -`kona` is currently in active development, and is not yet ready for use in production. +> [!WARNING] +> +> `kona` is currently in active development, and is not yet ready for use in production. ## Overview @@ -53,9 +75,12 @@ see the [SDK section of the book](https://op-rs.github.io/kona/sdk/intro.html). **Protocol** +- [`genesis`](./crates/protocol/genesis): Genesis types for OP Stack chains. +- [`protocol`](./crates/protocol/protocol): Core protocol types used across OP Stack rust crates. - [`derive`](./crates/protocol/derive): `no_std` compatible implementation of the [derivation pipeline][g-derivation-pipeline]. - - [`driver`](./crates/protocol/driver): Stateful derivation pipeline driver. +- [`driver`](./crates/protocol/driver): Stateful derivation pipeline driver. - [`interop`](./crates/protocol/interop): Core functionality and primitives for the [Interop feature](https://specs.optimism.io/interop/overview.html) of the OP Stack. +- [`registry`](./crates/protocol/registry): Rust bindings for the [superchain-registry][superchain-registry]. **Proof** @@ -67,10 +92,38 @@ see the [SDK section of the book](https://op-rs.github.io/kona/sdk/intro.html). - [`std-fpvm`](./crates/proof/std-fpvm): Platform specific [Fault Proof VM][g-fault-proof-vm] kernel APIs. - [`std-fpvm-proc`](./crates/proof/std-fpvm-proc): Proc macro for [Fault Proof Program][fpp-specs] entrypoints. -## Book +**External** + +- [`rpc`](./crates/external/rpc): OP Stack RPC types and extensions. +- [`net`](./crates/external/net): OP Stack Networking including P2P and Discovery. + +**Providers** + +- [`providers-alloy`](./crates/providers/providers-alloy): Provider implementations for `kona-derive` backed by [Alloy][alloy]. +- [`providers-local`](./crates/providers/providers-local): Local provider implementations for `kona-derive`. + +**Utilities** + +- [`serde`](./crates/utilities/serde): Serialization helpers. + + +## MSRV + +The current MSRV (minimum supported rust version) is 1.81. + +The MSRV is not increased automatically, and will be updated +only as part of a patch (pre-1.0) or minor (post-1.0) release. + + +## Contributing + +`kona` is built by open source contributors like you, thank you for improving the project! + +A [contributing guide][contributing] is available that sets guidelines for contributing. + +Pull requests will not be merged unless CI passes, so please ensure that your contribution +follows the linting rules and passes clippy. -The [book][book] contains a more in-depth overview of the project, contributor guidelines, tutorials for -getting started with building your own programs, and a reference for the libraries and tools provided by Kona. ## Credits @@ -79,10 +132,25 @@ getting started with building your own programs, and a reference for the librari `kona` is also built on rust types in [alloy][alloy], [op-alloy][op-alloy], and [maili][maili]. + +## License + +Licensed under the MIT license. + +> [!NOTE] +> +> Contributions intentionally submitted for inclusion in these crates by you +> shall be licensed as above, without any additional terms or conditions. + + + + [alloy]: https://github.com/alloy-rs/alloy [maili]: https://github.com/op-rs/maili [op-alloy]: https://github.com/alloy-rs/op-alloy +[contributing]: https://op-rs.github.io/kona/CONTRIBUTING.html [op-stack]: https://github.com/ethereum-optimism/optimism +[superchain-registry]: https://github.com/ethereum-optimism/superchain-registry [op-program]: https://github.com/ethereum-optimism/optimism/tree/develop/op-program [cannon]: https://github.com/ethereum-optimism/optimism/tree/develop/cannon [cannon-rs]: https://github.com/op-rs/cannon-rs diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000..ce24b55ba1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Contact security at oplabs.co. diff --git a/bin/client/Cargo.toml b/bin/client/Cargo.toml index 0d5f1731db..80a8baa0b1 100644 --- a/bin/client/Cargo.toml +++ b/bin/client/Cargo.toml @@ -9,22 +9,22 @@ homepage.workspace = true repository.workspace = true [dependencies] -# Workspace +# Proof kona-mpt.workspace = true -kona-derive.workspace = true -kona-driver.workspace = true kona-preimage.workspace = true kona-executor.workspace = true -kona-interop.workspace = true kona-proof.workspace = true kona-proof-interop.workspace = true kona-std-fpvm.workspace = true kona-std-fpvm-proc.workspace = true -# Maili -maili-protocol.workspace = true -maili-genesis = { workspace = true, features = ["serde"] } -maili-registry.workspace = true +# Protocol +kona-derive.workspace = true +kona-driver.workspace = true +kona-interop.workspace = true +kona-registry.workspace = true +kona-protocol.workspace = true +kona-genesis = { workspace = true, features = ["serde"] } # Alloy alloy-rlp.workspace = true diff --git a/bin/client/src/interop/consolidate.rs b/bin/client/src/interop/consolidate.rs index 9039e0441e..bee2a2ebf8 100644 --- a/bin/client/src/interop/consolidate.rs +++ b/bin/client/src/interop/consolidate.rs @@ -9,7 +9,7 @@ use kona_proof::{l2::OracleL2ChainProvider, CachingOracle}; use kona_proof_interop::{ BootInfo, HintType, OracleInteropProvider, PreState, SuperchainConsolidator, }; -use maili_registry::{HashMap, ROLLUP_CONFIGS}; +use kona_registry::{HashMap, ROLLUP_CONFIGS}; use tracing::info; /// Executes the consolidation phase of the interop proof with the given [PreimageOracleClient] and diff --git a/bin/host/Cargo.toml b/bin/host/Cargo.toml index 5b93ceed16..80495802fc 100644 --- a/bin/host/Cargo.toml +++ b/bin/host/Cargo.toml @@ -12,23 +12,25 @@ publish = false workspace = true [dependencies] -# Workspace +# Proof kona-mpt.workspace = true -kona-derive.workspace = true -kona-std-fpvm.workspace = true -kona-preimage = { workspace = true, features = ["std"] } -kona-proof = { workspace = true, features = ["std"] } -kona-proof-interop.workspace = true kona-client.workspace = true -kona-providers-alloy.workspace = true kona-executor.workspace = true +kona-std-fpvm.workspace = true +kona-proof-interop.workspace = true +kona-proof = { workspace = true, features = ["std"] } +kona-preimage = { workspace = true, features = ["std"] } + +# Protocol kona-driver.workspace = true +kona-derive.workspace = true +kona-registry.workspace = true +kona-protocol = { workspace = true, features = ["std", "serde"] } +kona-genesis = { workspace = true, features = ["std", "serde"] } -# Maili -maili-rpc.workspace = true -maili-registry.workspace = true -maili-protocol = { workspace = true, features = ["std", "serde"] } -maili-genesis = { workspace = true, features = ["std", "serde"] } +# Services +kona-rpc.workspace = true +kona-providers-alloy.workspace = true # Alloy alloy-rlp.workspace = true diff --git a/bin/host/src/interop/cfg.rs b/bin/host/src/interop/cfg.rs index 1e35e52f0c..90f23ddaa9 100644 --- a/bin/host/src/interop/cfg.rs +++ b/bin/host/src/interop/cfg.rs @@ -14,13 +14,13 @@ use alloy_primitives::{Bytes, B256}; use alloy_provider::{Provider, RootProvider}; use anyhow::{anyhow, Result}; use clap::Parser; +use kona_genesis::RollupConfig; use kona_preimage::{ BidirectionalChannel, Channel, HintReader, HintWriter, OracleReader, OracleServer, }; use kona_proof_interop::HintType; use kona_providers_alloy::{OnlineBeaconClient, OnlineBlobProvider}; use kona_std_fpvm::{FileChannel, FileDescriptor}; -use maili_genesis::RollupConfig; use op_alloy_network::Optimism; use serde::Serialize; use std::{collections::HashMap, path::PathBuf, sync::Arc}; diff --git a/bin/host/src/interop/handler.rs b/bin/host/src/interop/handler.rs index af0f6f8376..d55bcf5fa2 100644 --- a/bin/host/src/interop/handler.rs +++ b/bin/host/src/interop/handler.rs @@ -30,8 +30,8 @@ use kona_proof::{ CachingOracle, Hint, }; use kona_proof_interop::{HintType, PreState}; -use maili_protocol::BlockInfo; -use maili_registry::ROLLUP_CONFIGS; +use kona_protocol::BlockInfo; +use kona_registry::ROLLUP_CONFIGS; use std::sync::Arc; use tokio::task; use tracing::warn; diff --git a/bin/host/src/single/cfg.rs b/bin/host/src/single/cfg.rs index 105d397505..181a32c673 100644 --- a/bin/host/src/single/cfg.rs +++ b/bin/host/src/single/cfg.rs @@ -11,13 +11,13 @@ use alloy_primitives::B256; use alloy_provider::RootProvider; use anyhow::{anyhow, Result}; use clap::Parser; +use kona_genesis::RollupConfig; use kona_preimage::{ BidirectionalChannel, Channel, HintReader, HintWriter, OracleReader, OracleServer, }; use kona_proof::HintType; use kona_providers_alloy::{OnlineBeaconClient, OnlineBlobProvider}; use kona_std_fpvm::{FileChannel, FileDescriptor}; -use maili_genesis::RollupConfig; use op_alloy_network::Optimism; use serde::Serialize; use std::{path::PathBuf, sync::Arc}; diff --git a/bin/host/src/single/handler.rs b/bin/host/src/single/handler.rs index 6f7b0abfc5..68b78cf1b6 100644 --- a/bin/host/src/single/handler.rs +++ b/bin/host/src/single/handler.rs @@ -17,7 +17,7 @@ use anyhow::{anyhow, ensure, Result}; use async_trait::async_trait; use kona_preimage::{PreimageKey, PreimageKeyType}; use kona_proof::{Hint, HintType}; -use maili_protocol::BlockInfo; +use kona_protocol::BlockInfo; use op_alloy_rpc_types_engine::OpPayloadAttributes; use std::collections::HashMap; use tracing::warn; diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 4f37d0b212..0a019fdca1 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -18,5 +18,20 @@ - [Custom Providers](./sdk/pipeline/providers.md) - [Stage Swapping](./sdk/pipeline/stages.md) - [Signaling](./sdk/pipeline/signaling.md) + - [Genesis](./sdk/genesis/README.md) + - [Rollup Config](./sdk/genesis/rollup-config.md) + - [System Config](./sdk/genesis/system-config.md) + - [Consensus](./sdk/consensus.md) + - [Engine RPC Types](./sdk/engine.md) + - [Protocol](./sdk/protocol/README.md) + - [BlockInfo and L2BlockInfo Types](./sdk/protocol/block-info.md) + - [Frames](./sdk/protocol/frames.md) + - [Channels](./sdk/protocol/channels.md) + - [Batches](./sdk/protocol/batches.md) +- [Examples](./examples/README.md) + - [Load a Rollup Config](./examples/load-a-rollup-config.md) + - [Create a new L1BlockInfoTx Hardfork Variant](./examples/new-l1-block-info-tx-hardfork.md) + - [Transform Frames to a Batch](./examples/frames-to-batch.md) + - [Transform a Batch into Frames](./examples/batch-to-frames.md) - [Glossary](./glossary.md) - [Contributing](./CONTRIBUTING.md) diff --git a/book/src/examples/README.md b/book/src/examples/README.md new file mode 100644 index 0000000000..e3808657e6 --- /dev/null +++ b/book/src/examples/README.md @@ -0,0 +1,8 @@ +# Examples + +Examples for working with `maili` crates. + +- [Load a Rollup Config for a Chain ID](./load-a-rollup-config.md) +- [Create a new L1BlockInfoTx Hardfork Variant](./new-l1-block-info-tx-hardfork.md) +- [Transform Frames to a Batch](./frames-to-batch.md) +- [Transform a Batch to Frames](./batch-to-frames.md) diff --git a/book/src/examples/batch-to-frames.md b/book/src/examples/batch-to-frames.md new file mode 100644 index 0000000000..2d27523f6d --- /dev/null +++ b/book/src/examples/batch-to-frames.md @@ -0,0 +1,62 @@ +# Transform a Batch into Frames + +> [!NOTE] +> +> This example performs the reverse transformation as the [frames-to-batch][frames-to-batch] example. + +> [!CAUTION] +> +> Steps and handling of types with respect to chain tip, ordering of frames, re-orgs, and +> more are not covered by this example. This example solely demonstrates the most trivial +> way to transform an individual [`Batch`][batch] into [`Frame`][frame]s. + +This example walks through transforming a [`Batch`][batch] into [`Frame`][frame]s. + +Effectively, this example demonstrates the _encoding_ process from an L2 batch into the +serialized bytes that are posted to the data availability layer. + +## Walkthrough + +The high level transformation is the following. + +``` +Batch -> decompressed batch data -> ChannelOut -> frames[] -> bytes[] +``` + +Given the [`Batch`][batch], the first step to encode the batch +using the [`Batch::encode()`][encode-batch] method. The output bytes +need to then be compressed prior to adding them to the +[`ChannelOut`][channel-out]. + +> [!NOTE] +> +> The [`ChannelOut`][channel-out] type also provides a method for adding +> the [`Batch`][batch] itself, handling encoding and compression, but +> this method is not available yet. + +Once compressed using the [`compress_brotli`][compress-brotli] method, the +compressed bytes can be added to a newly constructed [`ChannelOut`][channel-out]. +As long as the [`ChannelOut`][channel-out] has [`ready_bytes()`][ready-bytes], +[`Frame`][frame]s can be constructed using the +[`ChannelOut::output_frame()`][output-frame] method, specifying the maximum +frame size. + +Once [`Frame`][frame]s are returned from the [`ChannelOut`][channel-out], +they can be [`Frame::encode`][encode-frame] into raw, serialized data +ready to be batch-submitted to the data-availability layer. + + +## Running this example: + +- Clone the examples repository: `git clone git@github.com:op-rs/maili.git` +- Run: `cargo run --example batch_to_frames` + +```rust +{{#include ../../../crates/protocol/examples/batch_to_frames.rs}} +``` + + + +[frames-to-batch]: ./frames-to-batch.md + +{{#include ../links.md}} diff --git a/book/src/examples/frames-to-batch.md b/book/src/examples/frames-to-batch.md new file mode 100644 index 0000000000..c73b559ae6 --- /dev/null +++ b/book/src/examples/frames-to-batch.md @@ -0,0 +1,57 @@ +# Transform Frames into a Batch + +> [!NOTE] +> +> This example performs the reverse transformation as the [batch-to-frames][batch-to-frames] example. + +> [!CAUTION] +> +> Steps and handling of types with respect to chain tip, ordering of frames, re-orgs, and +> more are not covered by this example. This example solely demonstrates the most trivial +> way to transform individual [`Frame`][frame]s into a [`Batch`][batch] type. + +This example walks through transforming [`Frame`][frame]s into the [`Batch`][batch] types. + +## Walkthrough + +The high level transformation is the following. + +``` +raw bytes[] -> frames[] -> channel -> decompressed channel data -> Batch +``` + +Given the raw, batch-submitted frame data as bytes (read in with the [`hex!` macro][hex]), +the first step is to decode the frame data into [`Frame`][frame]s using +[`Frame::decode`][decode-frame]. Once all the [`Frame`][frame]s are decoded, +the [`Channel`][channel] can be constructed using the [`ChannelId`][channel-id] +of the first frame. + +> [!Note] +> +> [`Frame`][frame]s may also be added to a [`Channel`][channel] +> once decoded with the [`Channel::add_frame`][add-frame] method. + +When the [`Channel`][channel] is [`Channel::is_ready()`][is-ready], +the frame data can taken from the [`Channel`][channel] using +[`Channel::frame_data()`][frame-data]. This data is represented as [`Bytes`][bytes] +and needs to be decompressed using the respective compression algorithm depending on +which hardforks are activated (using the `RollupConfig`). For the sake of this example, +`brotli` is used (which was activated in the [Fjord hardfork][fjord]). Decompressed +brotli bytes can then be passed right into [`Batch::decode`][decode-batch] +to wind up with the example's desired [`Batch`][batch]. + + +## Running this example: + +- Clone the examples repository: `git clone git@github.com:op-rs/maili.git` +- Run: `cargo run --example frames_to_batch` + +```rust +{{#include ../../../crates/protocol/examples/frames_to_batch.rs}} +``` + + + +[batch-to-frames]: ./batch-to-frames.md + +{{#include ../links.md}} diff --git a/book/src/examples/load-a-rollup-config.md b/book/src/examples/load-a-rollup-config.md new file mode 100644 index 0000000000..90762a04cd --- /dev/null +++ b/book/src/examples/load-a-rollup-config.md @@ -0,0 +1,27 @@ +# Loading a Rollup Config from a Chain ID + +In this section, the code examples demonstrate loading the +rollup config for the given L2 Chain ID. + +Let's load the Rollup Config for OP Mainnet which hash chain id 10. + +```rust +use maili_registry::ROLLUP_CONFIGS; +use maili_genesis::OP_MAINNET_CHAIN_ID; + +// Load a rollup config from the chain id. +let op_mainnet_config = ROLLUP_CONFIGS.get(&OP_MAINNET_CHAIN_ID).expect("infallible"); + +// The chain id should match the hardcoded chain id. +assert_eq!(op_mainnet_config.chain_id, OP_MAINNET_CHAIN_ID); +``` + +> Available Configs +> +> [maili-registry][maili-registry] dynamically provides all rollup configs +> from the [superchain-registry][registry] for their respective chain ids. +> Note though, that this requires `serde` since it deserializes the rollup +> configs dynamically from json files. + +[maili-registry]: https://crates.io/crates/maili-registry +[registry]: https://github.com/ethereum-optimism/superchain-registry diff --git a/book/src/examples/new-l1-block-info-tx-hardfork.md b/book/src/examples/new-l1-block-info-tx-hardfork.md new file mode 100644 index 0000000000..1e6a01f106 --- /dev/null +++ b/book/src/examples/new-l1-block-info-tx-hardfork.md @@ -0,0 +1,113 @@ +# Create a `L1BlockInfoTx` Variant for a new `Hardfork` + +This example walks through creating a variant of the [`L1BlockInfoTx`][info-tx] +for a new Hardfork. + +> [!NOTE] +> +> This example is very verbose. +> To grok required changes, view [this PR diff][pr-diff] +> which introduces Isthmus hardfork changes to the `L1BlockInfoTx` with a new variant. + + +## Required Genesis Updates + +The first updates that need to be made are to [`maili-genesis`][genesis] +types, namely the [`RollupConfig`][rc] and [`HardForkConfiguration`][hfc]. + +First, add a timestamp field to the [`RollupConfig`][rc]. Let's use the +hardfork name "Glacier" as an example. + +```rust +pub struct RollupConfig { + ... + /// `glacier_time` sets the activation time for the Glacier network upgrade. + /// Active if `glacier_time` != None && L2 block timestamp >= Some(glacier_time), inactive + /// otherwise. + #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))] + pub glacier_time: Option= L1Traversal
;
type L1RetrievalStage
where
@@ -191,10 +191,10 @@ mod test {
test_utils::{CollectingLayer, TestNextFrameProvider, TraceStorage},
};
use alloc::{sync::Arc, vec};
- use maili_genesis::{
+ use kona_genesis::{
RollupConfig, MAX_RLP_BYTES_PER_CHANNEL_BEDROCK, MAX_RLP_BYTES_PER_CHANNEL_FJORD,
};
- use maili_protocol::BlockInfo;
+ use kona_protocol::BlockInfo;
use tracing::Level;
use tracing_subscriber::layer::SubscriberExt;
diff --git a/crates/protocol/derive/src/stages/channel/channel_bank.rs b/crates/protocol/derive/src/stages/channel/channel_bank.rs
index e101d5e0e1..7500459570 100644
--- a/crates/protocol/derive/src/stages/channel/channel_bank.rs
+++ b/crates/protocol/derive/src/stages/channel/channel_bank.rs
@@ -11,8 +11,8 @@ use alloc::{boxed::Box, collections::VecDeque, sync::Arc};
use alloy_primitives::{hex, map::HashMap, Bytes};
use async_trait::async_trait;
use core::fmt::Debug;
-use maili_genesis::RollupConfig;
-use maili_protocol::{BlockInfo, Channel, ChannelId, Frame};
+use kona_genesis::RollupConfig;
+use kona_protocol::{BlockInfo, Channel, ChannelId, Frame};
/// The maximum size of a channel bank.
pub(crate) const MAX_CHANNEL_BANK_SIZE: usize = 100_000_000;
@@ -429,11 +429,11 @@ mod tests {
assert!(channel_bank.channels.is_empty());
assert_eq!(trace_store.lock().iter().filter(|(l, _)| matches!(l, &Level::WARN)).count(), 0);
assert_eq!(channel_bank.ingest_frame(frame.clone()), Ok(()));
- assert_eq!(channel_bank.size(), maili_protocol::FRAME_OVERHEAD);
+ assert_eq!(channel_bank.size(), kona_protocol::FRAME_OVERHEAD);
assert_eq!(channel_bank.channels.len(), 1);
// This should fail since the frame is already ingested.
assert_eq!(channel_bank.ingest_frame(frame), Ok(()));
- assert_eq!(channel_bank.size(), maili_protocol::FRAME_OVERHEAD);
+ assert_eq!(channel_bank.size(), kona_protocol::FRAME_OVERHEAD);
assert_eq!(channel_bank.channels.len(), 1);
assert_eq!(trace_store.lock().iter().filter(|(l, _)| matches!(l, &Level::WARN)).count(), 1);
}
@@ -508,8 +508,8 @@ mod tests {
let _guard = tracing::subscriber::set_default(subscriber);
let configs: [RollupConfig; 2] = [
- maili_registry::ROLLUP_CONFIGS.get(&10).cloned().unwrap(),
- maili_registry::ROLLUP_CONFIGS.get(&8453).cloned().unwrap(),
+ kona_registry::ROLLUP_CONFIGS.get(&10).cloned().unwrap(),
+ kona_registry::ROLLUP_CONFIGS.get(&8453).cloned().unwrap(),
];
for cfg in configs {
diff --git a/crates/protocol/derive/src/stages/channel/channel_provider.rs b/crates/protocol/derive/src/stages/channel/channel_provider.rs
index 0e686c3d73..139f659fb9 100644
--- a/crates/protocol/derive/src/stages/channel/channel_provider.rs
+++ b/crates/protocol/derive/src/stages/channel/channel_provider.rs
@@ -10,8 +10,8 @@ use alloc::{boxed::Box, sync::Arc};
use alloy_primitives::Bytes;
use async_trait::async_trait;
use core::fmt::Debug;
-use maili_genesis::RollupConfig;
-use maili_protocol::BlockInfo;
+use kona_genesis::RollupConfig;
+use kona_protocol::BlockInfo;
/// The [ChannelProvider] stage is a mux between the [ChannelBank] and [ChannelAssembler] stages.
///
@@ -163,8 +163,8 @@ mod test {
types::ResetSignal,
};
use alloc::{sync::Arc, vec};
- use maili_genesis::RollupConfig;
- use maili_protocol::BlockInfo;
+ use kona_genesis::RollupConfig;
+ use kona_protocol::BlockInfo;
#[test]
fn test_channel_provider_assembler_active() {
diff --git a/crates/protocol/derive/src/stages/channel/channel_reader.rs b/crates/protocol/derive/src/stages/channel/channel_reader.rs
index 1b67a09987..b6854535d9 100644
--- a/crates/protocol/derive/src/stages/channel/channel_reader.rs
+++ b/crates/protocol/derive/src/stages/channel/channel_reader.rs
@@ -10,10 +10,10 @@ use alloc::{boxed::Box, sync::Arc};
use alloy_primitives::Bytes;
use async_trait::async_trait;
use core::fmt::Debug;
-use maili_genesis::{
+use kona_genesis::{
RollupConfig, MAX_RLP_BYTES_PER_CHANNEL_BEDROCK, MAX_RLP_BYTES_PER_CHANNEL_FJORD,
};
-use maili_protocol::{Batch, BatchReader, BlockInfo};
+use kona_protocol::{Batch, BatchReader, BlockInfo};
use tracing::{debug, warn};
/// The [ChannelReader] provider trait.
diff --git a/crates/protocol/derive/src/stages/channel/mod.rs b/crates/protocol/derive/src/stages/channel/mod.rs
index d65c3d5013..67771f495b 100644
--- a/crates/protocol/derive/src/stages/channel/mod.rs
+++ b/crates/protocol/derive/src/stages/channel/mod.rs
@@ -5,16 +5,16 @@
//! is responsible for decoding the [Channel]s into [Batch]es, forwarding the [Batch]es to the
//! [BatchQueue] stage.
//!
-//! [Frame]: maili_protocol::Frame
-//! [Channel]: maili_protocol::Channel
-//! [Batch]: maili_protocol::Batch
+//! [Frame]: kona_protocol::Frame
+//! [Channel]: kona_protocol::Channel
+//! [Batch]: kona_protocol::Batch
//! [FrameQueue]: crate::stages::FrameQueue
//! [BatchQueue]: crate::stages::BatchQueue
use crate::types::PipelineResult;
use alloc::boxed::Box;
use async_trait::async_trait;
-use maili_protocol::Frame;
+use kona_protocol::Frame;
pub(crate) mod channel_provider;
pub use channel_provider::ChannelProvider;
diff --git a/crates/protocol/derive/src/stages/frame_queue.rs b/crates/protocol/derive/src/stages/frame_queue.rs
index 083fd0ae46..f57b0c0567 100644
--- a/crates/protocol/derive/src/stages/frame_queue.rs
+++ b/crates/protocol/derive/src/stages/frame_queue.rs
@@ -10,8 +10,8 @@ use alloc::{boxed::Box, collections::VecDeque, sync::Arc};
use alloy_primitives::Bytes;
use async_trait::async_trait;
use core::fmt::Debug;
-use maili_genesis::RollupConfig;
-use maili_protocol::{BlockInfo, Frame};
+use kona_genesis::RollupConfig;
+use kona_protocol::{BlockInfo, Frame};
/// Provides data frames for the [FrameQueue] stage.
#[async_trait]
diff --git a/crates/protocol/derive/src/stages/l1_retrieval.rs b/crates/protocol/derive/src/stages/l1_retrieval.rs
index 3615a94088..56a4ac743f 100644
--- a/crates/protocol/derive/src/stages/l1_retrieval.rs
+++ b/crates/protocol/derive/src/stages/l1_retrieval.rs
@@ -9,7 +9,7 @@ use crate::{
use alloc::boxed::Box;
use alloy_primitives::Address;
use async_trait::async_trait;
-use maili_protocol::BlockInfo;
+use kona_protocol::BlockInfo;
/// Provides L1 blocks for the [L1Retrieval] stage.
/// This is the previous stage in the pipeline.
@@ -23,7 +23,7 @@ pub trait L1RetrievalProvider {
/// [L1Traversal]: crate::stages::L1Traversal
async fn next_l1_block(&mut self) -> PipelineResult