Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions apps/evm/single/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
"github.com/evstack/ev-node/pkg/p2p/key"
"github.com/evstack/ev-node/pkg/store"
"github.com/evstack/ev-node/sequencers/based"
seqcommon "github.com/evstack/ev-node/sequencers/common"
"github.com/evstack/ev-node/sequencers/single"
)

Expand Down Expand Up @@ -57,7 +58,7 @@ var RunCmd = &cobra.Command{

logger.Info().Str("headerNamespace", headerNamespace.HexString()).Str("dataNamespace", dataNamespace.HexString()).Msg("namespaces")

daJrpc, err := jsonrpc.NewClient(context.Background(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, rollcmd.DefaultMaxBlobSize)
daJrpc, err := jsonrpc.NewClient(context.Background(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, seqcommon.AbsoluteMaxBlobSize)
if err != nil {
return err
}
Expand Down Expand Up @@ -113,18 +114,16 @@ func createSequencer(
nodeConfig config.Config,
genesis genesis.Genesis,
) (coresequencer.Sequencer, error) {
daRetriever, err := block.NewDARetriever(da, nodeConfig, genesis, logger)
if err != nil {
return nil, fmt.Errorf("failed to create DA retriever: %w", err)
}
daClient := block.NewDAClient(da, nodeConfig, logger)
fiRetriever := block.NewForcedInclusionRetriever(daClient, genesis, logger)

if nodeConfig.Node.BasedSequencer {
// Based sequencer mode - fetch transactions only from DA
if !nodeConfig.Node.Aggregator {
return nil, fmt.Errorf("based sequencer mode requires aggregator mode to be enabled")
}

basedSeq := based.NewBasedSequencer(daRetriever, da, nodeConfig, genesis, logger)
basedSeq := based.NewBasedSequencer(fiRetriever, da, nodeConfig, genesis, logger)

logger.Info().
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Expand All @@ -149,15 +148,14 @@ func createSequencer(
singleMetrics,
nodeConfig.Node.Aggregator,
1000,
daRetriever,
fiRetriever,
genesis,
)
if err != nil {
return nil, fmt.Errorf("failed to create single sequencer: %w", err)
}

logger.Info().
Bool("forced_inclusion_enabled", daRetriever != nil).
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Msg("single sequencer initialized")

Expand Down
2 changes: 2 additions & 0 deletions apps/evm/single/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
14 changes: 6 additions & 8 deletions apps/grpc/single/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/evstack/ev-node/pkg/p2p/key"
"github.com/evstack/ev-node/pkg/store"
"github.com/evstack/ev-node/sequencers/based"
seqcommon "github.com/evstack/ev-node/sequencers/common"
"github.com/evstack/ev-node/sequencers/single"
)

Expand Down Expand Up @@ -59,7 +60,7 @@ The execution client must implement the Evolve execution gRPC interface.`,
logger.Info().Str("headerNamespace", headerNamespace.HexString()).Str("dataNamespace", dataNamespace.HexString()).Msg("namespaces")

// Create DA client
daJrpc, err := jsonrpc.NewClient(cmd.Context(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, rollcmd.DefaultMaxBlobSize)
daJrpc, err := jsonrpc.NewClient(cmd.Context(), logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, seqcommon.AbsoluteMaxBlobSize)
if err != nil {
return err
}
Expand Down Expand Up @@ -122,18 +123,16 @@ func createSequencer(
nodeConfig config.Config,
genesis genesis.Genesis,
) (coresequencer.Sequencer, error) {
daRetriever, err := block.NewDARetriever(da, nodeConfig, genesis, logger)
if err != nil {
return nil, fmt.Errorf("failed to create DA retriever: %w", err)
}
daClient := block.NewDAClient(da, nodeConfig, logger)
fiRetriever := block.NewForcedInclusionRetriever(daClient, genesis, logger)

if nodeConfig.Node.BasedSequencer {
// Based sequencer mode - fetch transactions only from DA
if !nodeConfig.Node.Aggregator {
return nil, fmt.Errorf("based sequencer mode requires aggregator mode to be enabled")
}

basedSeq := based.NewBasedSequencer(daRetriever, da, nodeConfig, genesis, logger)
basedSeq := based.NewBasedSequencer(fiRetriever, da, nodeConfig, genesis, logger)

logger.Info().
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Expand All @@ -158,15 +157,14 @@ func createSequencer(
singleMetrics,
nodeConfig.Node.Aggregator,
1000,
daRetriever,
fiRetriever,
genesis,
)
if err != nil {
return nil, fmt.Errorf("failed to create single sequencer: %w", err)
}

logger.Info().
Bool("forced_inclusion_enabled", daRetriever != nil).
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Msg("single sequencer initialized")

Expand Down
2 changes: 2 additions & 0 deletions apps/grpc/single/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
17 changes: 7 additions & 10 deletions apps/testapp/cmd/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ import (
"github.com/evstack/ev-node/pkg/cmd"
"github.com/evstack/ev-node/pkg/config"
"github.com/evstack/ev-node/pkg/genesis"
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/store"
"github.com/evstack/ev-node/sequencers/based"
seqcommon "github.com/evstack/ev-node/sequencers/common"
"github.com/evstack/ev-node/sequencers/single"
)

Expand Down Expand Up @@ -58,7 +58,7 @@ var RunCmd = &cobra.Command{

logger.Info().Str("headerNamespace", headerNamespace.HexString()).Str("dataNamespace", dataNamespace.HexString()).Msg("namespaces")

daJrpc, err := jsonrpc.NewClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, cmd.DefaultMaxBlobSize)
daJrpc, err := jsonrpc.NewClient(ctx, logger, nodeConfig.DA.Address, nodeConfig.DA.AuthToken, seqcommon.AbsoluteMaxBlobSize)
if err != nil {
return err
}
Expand All @@ -85,7 +85,7 @@ var RunCmd = &cobra.Command{
}

genesisPath := filepath.Join(filepath.Dir(nodeConfig.ConfigPath()), "genesis.json")
genesis, err := genesispkg.LoadGenesis(genesisPath)
genesis, err := genesis.LoadGenesis(genesisPath)
if err != nil {
return fmt.Errorf("failed to load genesis: %w", err)
}
Expand Down Expand Up @@ -120,18 +120,16 @@ func createSequencer(
nodeConfig config.Config,
genesis genesis.Genesis,
) (coresequencer.Sequencer, error) {
daRetriever, err := block.NewDARetriever(da, nodeConfig, genesis, logger)
if err != nil {
return nil, fmt.Errorf("failed to create DA retriever: %w", err)
}
daClient := block.NewDAClient(da, nodeConfig, logger)
fiRetriever := block.NewForcedInclusionRetriever(daClient, genesis, logger)

if nodeConfig.Node.BasedSequencer {
// Based sequencer mode - fetch transactions only from DA
if !nodeConfig.Node.Aggregator {
return nil, fmt.Errorf("based sequencer mode requires aggregator mode to be enabled")
}

basedSeq := based.NewBasedSequencer(daRetriever, da, nodeConfig, genesis, logger)
basedSeq := based.NewBasedSequencer(fiRetriever, da, nodeConfig, genesis, logger)

logger.Info().
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Expand All @@ -156,15 +154,14 @@ func createSequencer(
singleMetrics,
nodeConfig.Node.Aggregator,
1000,
daRetriever,
fiRetriever,
genesis,
)
if err != nil {
return nil, fmt.Errorf("failed to create single sequencer: %w", err)
}

logger.Info().
Bool("forced_inclusion_enabled", daRetriever != nil).
Str("forced_inclusion_namespace", nodeConfig.DA.GetForcedInclusionNamespace()).
Msg("single sequencer initialized")

Expand Down
2 changes: 2 additions & 0 deletions apps/testapp/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
Expand Down
10 changes: 6 additions & 4 deletions block/components.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,9 @@ func NewSyncComponents(
errorCh,
)

// Create DA submitter for sync nodes (no signer, only DA inclusion processing)
daSubmitter := submitting.NewDASubmitter(da, config, genesis, blockOpts, metrics, logger)
// Create DA client and submitter for sync nodes (no signer, only DA inclusion processing)
daClient := NewDAClient(da, config, logger)
daSubmitter := submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger)
submitter := submitting.NewSubmitter(
store,
exec,
Expand Down Expand Up @@ -252,8 +253,9 @@ func NewAggregatorComponents(
}, nil
}

// Create DA submitter for aggregator nodes (with signer for submission)
daSubmitter := submitting.NewDASubmitter(da, config, genesis, blockOpts, metrics, logger)
// Create DA client and submitter for aggregator nodes (with signer for submission)
daClient := NewDAClient(da, config, logger)
daSubmitter := submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger)
submitter := submitting.NewSubmitter(
store,
exec,
Expand Down
3 changes: 0 additions & 3 deletions block/internal/common/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,4 @@ var (

// ErrOversizedItem is an unrecoverable error indicating a single item exceeds DA blob size limit
ErrOversizedItem = errors.New("single item exceeds DA blob size limit")

// ErrForceInclusionNotConfigured is returned when the forced inclusion namespace is not configured.
ErrForceInclusionNotConfigured = errors.New("forced inclusion namespace not configured")
)
7 changes: 0 additions & 7 deletions block/internal/common/event.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,3 @@ type DAHeightEvent = struct {
// Source indicates where this event originated from (DA or P2P)
Source EventSource
}

// ForcedIncluded represents a forced inclusion event for caching
type ForcedIncludedEvent = struct {
Txs [][]byte
StartDaHeight uint64
EndDaHeight uint64
}
Loading
Loading