From 515366cc1b4aac9dd49a74e960a6ea34ba52d576 Mon Sep 17 00:00:00 2001 From: clabby Date: Thu, 14 Nov 2024 13:31:53 -0500 Subject: [PATCH] chore(workspace): Reorganize SDK (#816) * reorg common * lint * feat(mpt): Extend `TrieProvider` in `kona-executor` * lint * reorg common * lint * feat(workspace): Reorganize SDK --- Cargo.toml | 15 +++++++++++---- README.md | 14 +++++++------- crates/{ => proof-sdk}/common-proc/CHANGELOG.md | 0 crates/{ => proof-sdk}/common-proc/Cargo.toml | 0 crates/{ => proof-sdk}/common-proc/src/lib.rs | 0 crates/{ => proof-sdk}/common/CHANGELOG.md | 0 crates/{ => proof-sdk}/common/Cargo.toml | 0 crates/{ => proof-sdk}/common/README.md | 0 crates/{ => proof-sdk}/common/src/errors.rs | 0 crates/{ => proof-sdk}/common/src/executor.rs | 0 crates/{ => proof-sdk}/common/src/io.rs | 0 crates/{ => proof-sdk}/common/src/lib.rs | 0 crates/{ => proof-sdk}/common/src/linux.rs | 0 crates/{ => proof-sdk}/common/src/malloc.rs | 0 crates/{ => proof-sdk}/common/src/mips32/io.rs | 0 crates/{ => proof-sdk}/common/src/mips32/mod.rs | 0 .../{ => proof-sdk}/common/src/mips32/syscall.rs | 0 crates/{ => proof-sdk}/common/src/riscv64/io.rs | 0 crates/{ => proof-sdk}/common/src/riscv64/mod.rs | 0 .../{ => proof-sdk}/common/src/riscv64/syscall.rs | 0 crates/{ => proof-sdk}/common/src/traits/basic.rs | 0 crates/{ => proof-sdk}/common/src/traits/mod.rs | 0 crates/{ => proof-sdk}/common/src/types.rs | 0 crates/{ => proof-sdk}/common/src/zkvm/io.rs | 0 crates/{ => proof-sdk}/common/src/zkvm/mod.rs | 0 crates/{ => proof-sdk}/preimage/CHANGELOG.md | 0 crates/{ => proof-sdk}/preimage/Cargo.toml | 0 crates/{ => proof-sdk}/preimage/README.md | 0 crates/{ => proof-sdk}/preimage/src/errors.rs | 0 crates/{ => proof-sdk}/preimage/src/hint.rs | 0 crates/{ => proof-sdk}/preimage/src/key.rs | 0 crates/{ => proof-sdk}/preimage/src/lib.rs | 0 crates/{ => proof-sdk}/preimage/src/oracle.rs | 0 crates/{ => proof-sdk}/preimage/src/pipe.rs | 0 crates/{ => proof-sdk}/preimage/src/test_utils.rs | 0 crates/{ => proof-sdk}/preimage/src/traits.rs | 0 36 files changed, 18 insertions(+), 11 deletions(-) rename crates/{ => proof-sdk}/common-proc/CHANGELOG.md (100%) rename crates/{ => proof-sdk}/common-proc/Cargo.toml (100%) rename crates/{ => proof-sdk}/common-proc/src/lib.rs (100%) rename crates/{ => proof-sdk}/common/CHANGELOG.md (100%) rename crates/{ => proof-sdk}/common/Cargo.toml (100%) rename crates/{ => proof-sdk}/common/README.md (100%) rename crates/{ => proof-sdk}/common/src/errors.rs (100%) rename crates/{ => proof-sdk}/common/src/executor.rs (100%) rename crates/{ => proof-sdk}/common/src/io.rs (100%) rename crates/{ => proof-sdk}/common/src/lib.rs (100%) rename crates/{ => proof-sdk}/common/src/linux.rs (100%) rename crates/{ => proof-sdk}/common/src/malloc.rs (100%) rename crates/{ => proof-sdk}/common/src/mips32/io.rs (100%) rename crates/{ => proof-sdk}/common/src/mips32/mod.rs (100%) rename crates/{ => proof-sdk}/common/src/mips32/syscall.rs (100%) rename crates/{ => proof-sdk}/common/src/riscv64/io.rs (100%) rename crates/{ => proof-sdk}/common/src/riscv64/mod.rs (100%) rename crates/{ => proof-sdk}/common/src/riscv64/syscall.rs (100%) rename crates/{ => proof-sdk}/common/src/traits/basic.rs (100%) rename crates/{ => proof-sdk}/common/src/traits/mod.rs (100%) rename crates/{ => proof-sdk}/common/src/types.rs (100%) rename crates/{ => proof-sdk}/common/src/zkvm/io.rs (100%) rename crates/{ => proof-sdk}/common/src/zkvm/mod.rs (100%) rename crates/{ => proof-sdk}/preimage/CHANGELOG.md (100%) rename crates/{ => proof-sdk}/preimage/Cargo.toml (100%) rename crates/{ => proof-sdk}/preimage/README.md (100%) rename crates/{ => proof-sdk}/preimage/src/errors.rs (100%) rename crates/{ => proof-sdk}/preimage/src/hint.rs (100%) rename crates/{ => proof-sdk}/preimage/src/key.rs (100%) rename crates/{ => proof-sdk}/preimage/src/lib.rs (100%) rename crates/{ => proof-sdk}/preimage/src/oracle.rs (100%) rename crates/{ => proof-sdk}/preimage/src/pipe.rs (100%) rename crates/{ => proof-sdk}/preimage/src/test_utils.rs (100%) rename crates/{ => proof-sdk}/preimage/src/traits.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index f85fe6ea9..659fdc27c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,14 @@ categories = ["cryptography", "cryptography::cryptocurrencies"] exclude = ["**/target"] [workspace] -members = ["crates/*", "bin/*"] +members = [ + "crates/derive", + "crates/driver", + "crates/executor", + "crates/mpt", + "crates/proof-sdk/*", + "bin/*" +] default-members = ["bin/host", "bin/client"] # Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021 @@ -57,12 +64,12 @@ lto = "fat" # Workspace kona-mpt = { path = "crates/mpt", version = "0.0.6", default-features = false } kona-client = { path = "bin/client", version = "0.1.0", default-features = false } -kona-common = { path = "crates/common", version = "0.0.4", default-features = false } kona-derive = { path = "crates/derive", version = "0.0.6", default-features = false } kona-driver = { path = "crates/driver", version = "0.0.0", default-features = false } -kona-preimage = { path = "crates/preimage", version = "0.0.4", default-features = false } kona-executor = { path = "crates/executor", version = "0.0.5", default-features = false } -kona-common-proc = { path = "crates/common-proc", version = "0.0.5", default-features = false } +kona-common = { path = "crates/proof-sdk/common", version = "0.0.4", default-features = false } +kona-common-proc = { path = "crates/proof-sdk/common-proc", version = "0.0.5", default-features = false } +kona-preimage = { path = "crates/proof-sdk/preimage", version = "0.0.4", default-features = false } # Alloy alloy-rlp = { version = "0.3.9", default-features = false } diff --git a/README.md b/README.md index 236e547cf..c0a35bd16 100644 --- a/README.md +++ b/README.md @@ -55,17 +55,17 @@ see the [SDK section of the book](https://anton-rs.github.io/kona/sdk/intro.html - [`cannon`](./build/cannon): Docker image for compiling to the bare-metal `mips-unknown-none` target. - [`asterisc`](./build/asterisc): Docker image for compiling to the bare-metal `riscv64gc-unknown-none-elf` target. -**`client` / `host` SDK** - -- [`common`](./crates/common): A suite of utilities for developing `client` programs to be run on top of Fault Proof VMs. -- [`common-proc`](./crates/common-proc): Proc macro for the `client` program entrypoint. -- [`preimage`](./crates/preimage): High level interfaces to the [`PreimageOracle`][fpp-specs] ABI - **Protocol** - [`mpt`](./crates/mpt): Utilities for interacting with the Merkle Patricia Trie in the client program. - [`executor`](./crates/executor): `no_std` stateless block executor for the [OP Stack][op-stack]. - [`derive`](./crates/derive): `no_std` compatible implementation of the [derivation pipeline][g-derivation-pipeline]. - - [`derive-alloy`](./crates/derive-alloy/): Online, `alloy`-backed derivation pipeline. + - [`driver`](./crates/driver): Stateful derivation pipeline driver. + +**Proof SDK** + +- [`common`](./crates/proof-sdk/common): A suite of utilities for developing `client` programs to be run on top of Fault Proof VMs. +- [`common-proc`](./crates/proof-sdk/common-proc): Proc macro for the `client` program entrypoint. +- [`preimage`](./crates/proof-sdk/preimage): High level interfaces to the [`PreimageOracle`][fpp-specs] ABI ## Book diff --git a/crates/common-proc/CHANGELOG.md b/crates/proof-sdk/common-proc/CHANGELOG.md similarity index 100% rename from crates/common-proc/CHANGELOG.md rename to crates/proof-sdk/common-proc/CHANGELOG.md diff --git a/crates/common-proc/Cargo.toml b/crates/proof-sdk/common-proc/Cargo.toml similarity index 100% rename from crates/common-proc/Cargo.toml rename to crates/proof-sdk/common-proc/Cargo.toml diff --git a/crates/common-proc/src/lib.rs b/crates/proof-sdk/common-proc/src/lib.rs similarity index 100% rename from crates/common-proc/src/lib.rs rename to crates/proof-sdk/common-proc/src/lib.rs diff --git a/crates/common/CHANGELOG.md b/crates/proof-sdk/common/CHANGELOG.md similarity index 100% rename from crates/common/CHANGELOG.md rename to crates/proof-sdk/common/CHANGELOG.md diff --git a/crates/common/Cargo.toml b/crates/proof-sdk/common/Cargo.toml similarity index 100% rename from crates/common/Cargo.toml rename to crates/proof-sdk/common/Cargo.toml diff --git a/crates/common/README.md b/crates/proof-sdk/common/README.md similarity index 100% rename from crates/common/README.md rename to crates/proof-sdk/common/README.md diff --git a/crates/common/src/errors.rs b/crates/proof-sdk/common/src/errors.rs similarity index 100% rename from crates/common/src/errors.rs rename to crates/proof-sdk/common/src/errors.rs diff --git a/crates/common/src/executor.rs b/crates/proof-sdk/common/src/executor.rs similarity index 100% rename from crates/common/src/executor.rs rename to crates/proof-sdk/common/src/executor.rs diff --git a/crates/common/src/io.rs b/crates/proof-sdk/common/src/io.rs similarity index 100% rename from crates/common/src/io.rs rename to crates/proof-sdk/common/src/io.rs diff --git a/crates/common/src/lib.rs b/crates/proof-sdk/common/src/lib.rs similarity index 100% rename from crates/common/src/lib.rs rename to crates/proof-sdk/common/src/lib.rs diff --git a/crates/common/src/linux.rs b/crates/proof-sdk/common/src/linux.rs similarity index 100% rename from crates/common/src/linux.rs rename to crates/proof-sdk/common/src/linux.rs diff --git a/crates/common/src/malloc.rs b/crates/proof-sdk/common/src/malloc.rs similarity index 100% rename from crates/common/src/malloc.rs rename to crates/proof-sdk/common/src/malloc.rs diff --git a/crates/common/src/mips32/io.rs b/crates/proof-sdk/common/src/mips32/io.rs similarity index 100% rename from crates/common/src/mips32/io.rs rename to crates/proof-sdk/common/src/mips32/io.rs diff --git a/crates/common/src/mips32/mod.rs b/crates/proof-sdk/common/src/mips32/mod.rs similarity index 100% rename from crates/common/src/mips32/mod.rs rename to crates/proof-sdk/common/src/mips32/mod.rs diff --git a/crates/common/src/mips32/syscall.rs b/crates/proof-sdk/common/src/mips32/syscall.rs similarity index 100% rename from crates/common/src/mips32/syscall.rs rename to crates/proof-sdk/common/src/mips32/syscall.rs diff --git a/crates/common/src/riscv64/io.rs b/crates/proof-sdk/common/src/riscv64/io.rs similarity index 100% rename from crates/common/src/riscv64/io.rs rename to crates/proof-sdk/common/src/riscv64/io.rs diff --git a/crates/common/src/riscv64/mod.rs b/crates/proof-sdk/common/src/riscv64/mod.rs similarity index 100% rename from crates/common/src/riscv64/mod.rs rename to crates/proof-sdk/common/src/riscv64/mod.rs diff --git a/crates/common/src/riscv64/syscall.rs b/crates/proof-sdk/common/src/riscv64/syscall.rs similarity index 100% rename from crates/common/src/riscv64/syscall.rs rename to crates/proof-sdk/common/src/riscv64/syscall.rs diff --git a/crates/common/src/traits/basic.rs b/crates/proof-sdk/common/src/traits/basic.rs similarity index 100% rename from crates/common/src/traits/basic.rs rename to crates/proof-sdk/common/src/traits/basic.rs diff --git a/crates/common/src/traits/mod.rs b/crates/proof-sdk/common/src/traits/mod.rs similarity index 100% rename from crates/common/src/traits/mod.rs rename to crates/proof-sdk/common/src/traits/mod.rs diff --git a/crates/common/src/types.rs b/crates/proof-sdk/common/src/types.rs similarity index 100% rename from crates/common/src/types.rs rename to crates/proof-sdk/common/src/types.rs diff --git a/crates/common/src/zkvm/io.rs b/crates/proof-sdk/common/src/zkvm/io.rs similarity index 100% rename from crates/common/src/zkvm/io.rs rename to crates/proof-sdk/common/src/zkvm/io.rs diff --git a/crates/common/src/zkvm/mod.rs b/crates/proof-sdk/common/src/zkvm/mod.rs similarity index 100% rename from crates/common/src/zkvm/mod.rs rename to crates/proof-sdk/common/src/zkvm/mod.rs diff --git a/crates/preimage/CHANGELOG.md b/crates/proof-sdk/preimage/CHANGELOG.md similarity index 100% rename from crates/preimage/CHANGELOG.md rename to crates/proof-sdk/preimage/CHANGELOG.md diff --git a/crates/preimage/Cargo.toml b/crates/proof-sdk/preimage/Cargo.toml similarity index 100% rename from crates/preimage/Cargo.toml rename to crates/proof-sdk/preimage/Cargo.toml diff --git a/crates/preimage/README.md b/crates/proof-sdk/preimage/README.md similarity index 100% rename from crates/preimage/README.md rename to crates/proof-sdk/preimage/README.md diff --git a/crates/preimage/src/errors.rs b/crates/proof-sdk/preimage/src/errors.rs similarity index 100% rename from crates/preimage/src/errors.rs rename to crates/proof-sdk/preimage/src/errors.rs diff --git a/crates/preimage/src/hint.rs b/crates/proof-sdk/preimage/src/hint.rs similarity index 100% rename from crates/preimage/src/hint.rs rename to crates/proof-sdk/preimage/src/hint.rs diff --git a/crates/preimage/src/key.rs b/crates/proof-sdk/preimage/src/key.rs similarity index 100% rename from crates/preimage/src/key.rs rename to crates/proof-sdk/preimage/src/key.rs diff --git a/crates/preimage/src/lib.rs b/crates/proof-sdk/preimage/src/lib.rs similarity index 100% rename from crates/preimage/src/lib.rs rename to crates/proof-sdk/preimage/src/lib.rs diff --git a/crates/preimage/src/oracle.rs b/crates/proof-sdk/preimage/src/oracle.rs similarity index 100% rename from crates/preimage/src/oracle.rs rename to crates/proof-sdk/preimage/src/oracle.rs diff --git a/crates/preimage/src/pipe.rs b/crates/proof-sdk/preimage/src/pipe.rs similarity index 100% rename from crates/preimage/src/pipe.rs rename to crates/proof-sdk/preimage/src/pipe.rs diff --git a/crates/preimage/src/test_utils.rs b/crates/proof-sdk/preimage/src/test_utils.rs similarity index 100% rename from crates/preimage/src/test_utils.rs rename to crates/proof-sdk/preimage/src/test_utils.rs diff --git a/crates/preimage/src/traits.rs b/crates/proof-sdk/preimage/src/traits.rs similarity index 100% rename from crates/preimage/src/traits.rs rename to crates/proof-sdk/preimage/src/traits.rs