diff --git a/.gitignore b/.gitignore index a5a621904..7e7576c6d 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ docs/.vitepress/cache .claude .gocache .gomodcache +/.cache diff --git a/CLAUDE.md b/CLAUDE.md index c0688f0a8..ead38632a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,15 +44,15 @@ The project uses a zero-dependency core package pattern: - **core/** - Contains only interfaces and types, no external dependencies - **block/** - Block management, creation, validation, and synchronization -- **p2p/** - Networking layer built on libp2p -- **sequencing/** - Modular sequencer implementations -- **testapp/** - Reference implementation for testing +- **pkg/p2p/** - Networking layer built on libp2p +- **pkg/sequencers/** - Modular sequencer implementations +- **apps/testapp/** - Reference implementation for testing ### Key Interfaces -- **Executor** (core/executor.go) - Handles state transitions -- **Sequencer** (core/sequencer.go) - Orders transactions -- **DA** (pkg/da/types) - Data availability layer abstraction +- **Executor** (`core/executor.go`) - Handles state transitions +- **Sequencer** (`core/sequencer.go`) - Orders transactions +- **DA** (`pkg/da/types`) - Data availability layer abstraction ### Modular Design diff --git a/apps/evm/cmd/run.go b/apps/evm/cmd/run.go index cb1431f13..808a63c70 100644 --- a/apps/evm/cmd/run.go +++ b/apps/evm/cmd/run.go @@ -26,9 +26,9 @@ import ( genesispkg "github.com/evstack/ev-node/pkg/genesis" "github.com/evstack/ev-node/pkg/p2p" "github.com/evstack/ev-node/pkg/p2p/key" + "github.com/evstack/ev-node/pkg/sequencers/based" + "github.com/evstack/ev-node/pkg/sequencers/single" "github.com/evstack/ev-node/pkg/store" - "github.com/evstack/ev-node/sequencers/based" - "github.com/evstack/ev-node/sequencers/single" "github.com/evstack/ev-node/apps/evm/server" ) diff --git a/apps/grpc/Dockerfile b/apps/grpc/Dockerfile index 3f7be5c13..19fae6246 100644 --- a/apps/grpc/Dockerfile +++ b/apps/grpc/Dockerfile @@ -12,7 +12,6 @@ COPY go.mod go.sum ./ COPY apps/grpc/go.mod apps/grpc/go.sum ./apps/grpc/ COPY core/go.mod ./core/ COPY execution/grpc/go.mod execution/grpc/go.sum ./execution/grpc/ -COPY sequencers/single/go.mod sequencers/single/go.sum ./sequencers/single/ # Download dependencies RUN go mod download diff --git a/apps/grpc/README.md b/apps/grpc/README.md index 3c1f24ba4..22d94a223 100644 --- a/apps/grpc/README.md +++ b/apps/grpc/README.md @@ -151,4 +151,4 @@ If you have issues connecting to the DA layer: - [Evolve Documentation](https://ev.xyz) - [gRPC Execution Interface](../../execution/grpc/README.md) -- [Single Sequencer Documentation](../../sequencers/single/README.md) +- [Single Sequencer Documentation](../../pkg/sequencers/single/README.md) diff --git a/apps/grpc/cmd/run.go b/apps/grpc/cmd/run.go index 6198fb772..0eac1aaac 100644 --- a/apps/grpc/cmd/run.go +++ b/apps/grpc/cmd/run.go @@ -22,9 +22,9 @@ import ( rollgenesis "github.com/evstack/ev-node/pkg/genesis" "github.com/evstack/ev-node/pkg/p2p" "github.com/evstack/ev-node/pkg/p2p/key" + "github.com/evstack/ev-node/pkg/sequencers/based" + "github.com/evstack/ev-node/pkg/sequencers/single" "github.com/evstack/ev-node/pkg/store" - "github.com/evstack/ev-node/sequencers/based" - "github.com/evstack/ev-node/sequencers/single" ) const ( diff --git a/apps/testapp/cmd/run.go b/apps/testapp/cmd/run.go index 78c8bdaea..03dbd98ac 100644 --- a/apps/testapp/cmd/run.go +++ b/apps/testapp/cmd/run.go @@ -20,9 +20,9 @@ import ( "github.com/evstack/ev-node/pkg/genesis" "github.com/evstack/ev-node/pkg/p2p" "github.com/evstack/ev-node/pkg/p2p/key" + "github.com/evstack/ev-node/pkg/sequencers/based" + "github.com/evstack/ev-node/pkg/sequencers/single" "github.com/evstack/ev-node/pkg/store" - "github.com/evstack/ev-node/sequencers/based" - "github.com/evstack/ev-node/sequencers/single" ) const testDbName = "testapp" diff --git a/sequencers/based/README.md b/pkg/sequencers/based/README.md similarity index 99% rename from sequencers/based/README.md rename to pkg/sequencers/based/README.md index 6b1510547..9feb7537b 100644 --- a/sequencers/based/README.md +++ b/pkg/sequencers/based/README.md @@ -16,7 +16,7 @@ This design ensures that all transactions are force-included from DA, making the ### Key Interfaces -The Based Sequencer implements the `Sequencer` interface from `core/sequencer.go`: +The Based Sequencer implements the `Sequencer` interface from `core/sequencer/sequencing.go`: - `SubmitBatchTxs()` - No-op for based sequencer (transactions are not accepted) - `GetNextBatch()` - Retrieves the next batch from DA via forced inclusion diff --git a/sequencers/based/sequencer.go b/pkg/sequencers/based/sequencer.go similarity index 99% rename from sequencers/based/sequencer.go rename to pkg/sequencers/based/sequencer.go index 4e7c6cfca..124b21e8b 100644 --- a/sequencers/based/sequencer.go +++ b/pkg/sequencers/based/sequencer.go @@ -14,7 +14,7 @@ import ( coresequencer "github.com/evstack/ev-node/core/sequencer" datypes "github.com/evstack/ev-node/pkg/da/types" "github.com/evstack/ev-node/pkg/genesis" - seqcommon "github.com/evstack/ev-node/sequencers/common" + seqcommon "github.com/evstack/ev-node/pkg/sequencers/common" ) // ForcedInclusionRetriever defines the interface for retrieving forced inclusion transactions from DA diff --git a/sequencers/based/sequencer_test.go b/pkg/sequencers/based/sequencer_test.go similarity index 100% rename from sequencers/based/sequencer_test.go rename to pkg/sequencers/based/sequencer_test.go diff --git a/sequencers/common/checkpoint.go b/pkg/sequencers/common/checkpoint.go similarity index 100% rename from sequencers/common/checkpoint.go rename to pkg/sequencers/common/checkpoint.go diff --git a/sequencers/common/checkpoint_test.go b/pkg/sequencers/common/checkpoint_test.go similarity index 100% rename from sequencers/common/checkpoint_test.go rename to pkg/sequencers/common/checkpoint_test.go diff --git a/sequencers/single/README.md b/pkg/sequencers/single/README.md similarity index 100% rename from sequencers/single/README.md rename to pkg/sequencers/single/README.md diff --git a/sequencers/single/queue.go b/pkg/sequencers/single/queue.go similarity index 100% rename from sequencers/single/queue.go rename to pkg/sequencers/single/queue.go diff --git a/sequencers/single/queue_test.go b/pkg/sequencers/single/queue_test.go similarity index 100% rename from sequencers/single/queue_test.go rename to pkg/sequencers/single/queue_test.go diff --git a/sequencers/single/sequencer.go b/pkg/sequencers/single/sequencer.go similarity index 99% rename from sequencers/single/sequencer.go rename to pkg/sequencers/single/sequencer.go index 417582ca0..0b2603e15 100644 --- a/sequencers/single/sequencer.go +++ b/pkg/sequencers/single/sequencer.go @@ -17,7 +17,7 @@ import ( coresequencer "github.com/evstack/ev-node/core/sequencer" datypes "github.com/evstack/ev-node/pkg/da/types" "github.com/evstack/ev-node/pkg/genesis" - seqcommon "github.com/evstack/ev-node/sequencers/common" + seqcommon "github.com/evstack/ev-node/pkg/sequencers/common" ) // ErrInvalidId is returned when the chain id is invalid diff --git a/sequencers/single/sequencer_test.go b/pkg/sequencers/single/sequencer_test.go similarity index 100% rename from sequencers/single/sequencer_test.go rename to pkg/sequencers/single/sequencer_test.go