Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
0b04da3
wip
alpe Nov 26, 2025
044903f
x
alpe Nov 27, 2025
2c9a212
Review feedback
alpe Nov 28, 2025
e2b0520
Encapsulate hint in sync package
alpe Nov 28, 2025
aaacbde
Async DA pull
alpe Nov 28, 2025
74be668
Merge branch 'main' into alex/2609_hints
alpe Dec 1, 2025
b9b5f5b
Minor cleanup
alpe Dec 1, 2025
e3336ce
Merge branch 'main' into alex/2609_hints
alpe Dec 8, 2025
c40b96b
Indipendent types for p2p store
alpe Dec 15, 2025
f3fb315
Merge branch 'main' into alex/2609_hints
alpe Dec 15, 2025
56c278f
Merge updates
alpe Dec 15, 2025
413b40d
Merge branch 'main' into alex/2609_hints
alpe Dec 15, 2025
a585190
Bump sonic version
alpe Dec 15, 2025
d09c8ab
Make tidy-all
alpe Dec 15, 2025
f0a505f
Merge branch 'main' into alex/2609_hints
alpe Dec 16, 2025
4ecf0a0
Use envelope for p2p store
alpe Dec 19, 2025
6c85d8d
Merge branch 'main' into alex/2609_hints
alpe Dec 19, 2025
7abfecc
Minor cleanup
alpe Dec 19, 2025
e593848
Better test data
alpe Dec 19, 2025
993c2b1
Merge branch 'main' into alex/2609_hints
alpe Dec 22, 2025
8b99828
Merge branch 'main' into alex/2609_hints
alpe Jan 8, 2026
544c0b9
Linter
alpe Jan 8, 2026
e1446a3
Merge branch 'main' into alex/2609_hints
alpe Jan 19, 2026
570ac06
Resolve merge conflicts
alpe Jan 19, 2026
1f6c405
Merge branch 'main' into alex/2609_hints
alpe Jan 19, 2026
4907c92
Tidy all
alpe Jan 19, 2026
6e4554d
Merge branch 'main' into alex/2609_hints
alpe Jan 19, 2026
6962e6f
Merge branch 'main' into alex/2609_hints
alpe Jan 20, 2026
158bcad
Merge branch 'main' into alex/2609_hints
alpe Jan 21, 2026
66b6db8
Integrate changes
alpe Jan 21, 2026
94fe911
Merge branch 'main' into alex/2609_hints
alpe Jan 22, 2026
a20e483
Merge branch 'main' into alex/2609_hints
alpe Jan 26, 2026
69bf91b
Merge branch 'main' into alex/2609_hints
alpe Jan 27, 2026
b8ec42f
Merge branch 'main' into alex/2609_hints
alpe Jan 28, 2026
eb5aff5
Merge branch 'main' into alex/2609_hints
julienrbrt Feb 2, 2026
9c95101
updates
julienrbrt Feb 2, 2026
19835e8
build fixes
julienrbrt Feb 2, 2026
c6e5696
fixes
julienrbrt Feb 2, 2026
b7b2100
cleanup
julienrbrt Feb 2, 2026
7b1c802
updates
julienrbrt Feb 2, 2026
14b83ff
implement setting
julienrbrt Feb 2, 2026
3a2ba3f
limit abstractions
julienrbrt Feb 2, 2026
c9d3251
linting
julienrbrt Feb 2, 2026
fcb3e75
use same key as sequencer
julienrbrt Feb 2, 2026
1b3802e
fix unit test
julienrbrt Feb 2, 2026
aac3f47
rename working pool to avoid naming confusion
julienrbrt Feb 2, 2026
68b3bcb
persist da/height for da synced nodes as well for consistency
julienrbrt Feb 2, 2026
1b394e0
Merge branch 'main' into alex/2609_hints
julienrbrt Feb 2, 2026
025ee3f
fixes
julienrbrt Feb 2, 2026
0298cea
use height instead of hashes
julienrbrt Feb 3, 2026
4905677
Merge branch 'main' into alex/2609_hints
julienrbrt Feb 3, 2026
d6ba01d
fixes
julienrbrt Feb 3, 2026
f662a50
add docs
julienrbrt Feb 3, 2026
0a8e542
remove worker pool
julienrbrt Feb 3, 2026
2485ab5
fix mocks
julienrbrt Feb 3, 2026
ffc9ff4
cleanup (syncer should not care about da included height)
julienrbrt Feb 3, 2026
7f39a41
rename for clarity
julienrbrt Feb 3, 2026
c5e0ac7
Update syncer_test.go
julienrbrt Feb 3, 2026
627b798
speed-up queue
julienrbrt Feb 3, 2026
8948354
Merge branch 'main' into alex/2609_hints
julienrbrt Feb 3, 2026
86e91a5
uncomment replaces
julienrbrt Feb 3, 2026
de03ad9
go mod tidy
julienrbrt Feb 3, 2026
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
1 change: 1 addition & 0 deletions .mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ packages:
dir: ./block/internal/syncing
pkgname: syncing
filename: syncer_mock.go

github.com/evstack/ev-node/block/internal/common:
interfaces:
Broadcaster:
Expand Down
8 changes: 4 additions & 4 deletions apps/evm/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ module github.com/evstack/ev-node/apps/evm

go 1.25.0

//replace (
// github.com/evstack/ev-node => ../../
// github.com/evstack/ev-node/execution/evm => ../../execution/evm
//)
replace (
github.com/evstack/ev-node => ../../
github.com/evstack/ev-node/execution/evm => ../../execution/evm
)

require (
github.com/ethereum/go-ethereum v1.16.8
Expand Down
4 changes: 0 additions & 4 deletions apps/evm/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -409,12 +409,8 @@ github.com/ethereum/go-ethereum v1.16.8 h1:LLLfkZWijhR5m6yrAXbdlTeXoqontH+Ga2f9i
github.com/ethereum/go-ethereum v1.16.8/go.mod h1:Fs6QebQbavneQTYcA39PEKv2+zIjX7rPUZ14DER46wk=
github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cnFk8=
github.com/ethereum/go-verkle v0.2.2/go.mod h1:M3b90YRnzqKyyzBEWJGqj8Qff4IDeXnzFw0P9bFw3uk=
github.com/evstack/ev-node v1.0.0-rc.2 h1:gUQzLTkCj6D751exm/FIR/yw2aXWiW2aEREEwtxMvw0=
github.com/evstack/ev-node v1.0.0-rc.2/go.mod h1:Qa2nN1D6PJQRU2tiarv6X5Der5OZg/+2QGY/K2mA760=
github.com/evstack/ev-node/core v1.0.0-rc.1 h1:Dic2PMUMAYUl5JW6DkDj6HXDEWYzorVJQuuUJOV0FjE=
github.com/evstack/ev-node/core v1.0.0-rc.1/go.mod h1:n2w/LhYQTPsi48m6lMj16YiIqsaQw6gxwjyJvR+B3sY=
github.com/evstack/ev-node/execution/evm v1.0.0-rc.2 h1:t7os7ksmPhf2rWY2psVBowyc+iuneMDPwBGQaxSckus=
github.com/evstack/ev-node/execution/evm v1.0.0-rc.2/go.mod h1:ahxKQfPlJ5C7g15Eq9Mjn2tQnn59T0kIm9B10zDhcTI=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
Expand Down
8 changes: 4 additions & 4 deletions apps/grpc/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ module github.com/evstack/ev-node/apps/grpc

go 1.25.0

//replace (
// github.com/evstack/ev-node => ../../
// github.com/evstack/ev-node/execution/grpc => ../../execution/grpc
//)
replace (
github.com/evstack/ev-node => ../../
github.com/evstack/ev-node/execution/grpc => ../../execution/grpc
)

require (
github.com/evstack/ev-node v1.0.0-rc.2
Expand Down
4 changes: 0 additions & 4 deletions apps/grpc/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -365,12 +365,8 @@ github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6Ni
github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss=
github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs=
github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
github.com/evstack/ev-node v1.0.0-rc.2 h1:gUQzLTkCj6D751exm/FIR/yw2aXWiW2aEREEwtxMvw0=
github.com/evstack/ev-node v1.0.0-rc.2/go.mod h1:Qa2nN1D6PJQRU2tiarv6X5Der5OZg/+2QGY/K2mA760=
github.com/evstack/ev-node/core v1.0.0-rc.1 h1:Dic2PMUMAYUl5JW6DkDj6HXDEWYzorVJQuuUJOV0FjE=
github.com/evstack/ev-node/core v1.0.0-rc.1/go.mod h1:n2w/LhYQTPsi48m6lMj16YiIqsaQw6gxwjyJvR+B3sY=
github.com/evstack/ev-node/execution/grpc v1.0.0-rc.1 h1:OzrWLDDY6/9+LWx0XmUqPzxs/CHZRJICOwQ0Me/i6dY=
github.com/evstack/ev-node/execution/grpc v1.0.0-rc.1/go.mod h1:Pr/sF6Zx8am9ZeWFcoz1jYPs0kXmf+OmL8Tz2Gyq7E4=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
Expand Down
20 changes: 12 additions & 8 deletions block/components.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"errors"
"fmt"

"github.com/celestiaorg/go-header"
"github.com/rs/zerolog"

"github.com/evstack/ev-node/block/internal/cache"
Expand All @@ -20,6 +21,7 @@ import (
"github.com/evstack/ev-node/pkg/genesis"
"github.com/evstack/ev-node/pkg/signer"
"github.com/evstack/ev-node/pkg/store"
"github.com/evstack/ev-node/pkg/sync"
"github.com/evstack/ev-node/pkg/telemetry"
"github.com/evstack/ev-node/types"
)
Expand Down Expand Up @@ -127,8 +129,10 @@ func NewSyncComponents(
store store.Store,
exec coreexecutor.Executor,
daClient da.Client,
headerStore common.Broadcaster[*types.SignedHeader],
dataStore common.Broadcaster[*types.Data],
headerStore header.Store[*types.P2PSignedHeader],
dataStore header.Store[*types.P2PData],
headerDAHintAppender submitting.DAHintAppender,
dataDAHintAppender submitting.DAHintAppender,
logger zerolog.Logger,
metrics *Metrics,
blockOpts BlockOptions,
Expand Down Expand Up @@ -163,7 +167,7 @@ func NewSyncComponents(
}

// Create submitter for sync nodes (no signer, only DA inclusion processing)
var daSubmitter submitting.DASubmitterAPI = submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger)
var daSubmitter submitting.DASubmitterAPI = submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger, headerDAHintAppender, dataDAHintAppender)
if config.Instrumentation.IsTracingEnabled() {
daSubmitter = submitting.WithTracingDASubmitter(daSubmitter)
}
Expand Down Expand Up @@ -200,8 +204,8 @@ func NewAggregatorComponents(
sequencer coresequencer.Sequencer,
daClient da.Client,
signer signer.Signer,
headerBroadcaster common.Broadcaster[*types.SignedHeader],
dataBroadcaster common.Broadcaster[*types.Data],
headerSyncService *sync.HeaderSyncService,
dataSyncService *sync.DataSyncService,
logger zerolog.Logger,
metrics *Metrics,
blockOpts BlockOptions,
Expand Down Expand Up @@ -229,8 +233,8 @@ func NewAggregatorComponents(
metrics,
config,
genesis,
headerBroadcaster,
dataBroadcaster,
headerSyncService,
dataSyncService,
logger,
blockOpts,
errorCh,
Expand Down Expand Up @@ -266,7 +270,7 @@ func NewAggregatorComponents(
}, nil
}

var daSubmitter submitting.DASubmitterAPI = submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger)
var daSubmitter submitting.DASubmitterAPI = submitting.NewDASubmitter(daClient, config, genesis, blockOpts, metrics, logger, headerSyncService, dataSyncService)
if config.Instrumentation.IsTracingEnabled() {
daSubmitter = submitting.WithTracingDASubmitter(daSubmitter)
}
Expand Down
23 changes: 21 additions & 2 deletions block/components_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,17 @@ import (
"github.com/evstack/ev-node/pkg/signer/noop"
"github.com/evstack/ev-node/pkg/store"
testmocks "github.com/evstack/ev-node/test/mocks"
extmocks "github.com/evstack/ev-node/test/mocks/external"
"github.com/evstack/ev-node/types"
)

// noopDAHintAppender is a no-op implementation of DAHintAppender for testing
type noopDAHintAppender struct{}

func (n noopDAHintAppender) AppendDAHint(ctx context.Context, daHeight uint64, heights ...uint64) error {
return nil
}

func TestBlockComponents_ExecutionClientFailure_StopsNode(t *testing.T) {
// Test the error channel mechanism works as intended

Expand Down Expand Up @@ -86,6 +95,14 @@ func TestNewSyncComponents_Creation(t *testing.T) {
daClient.On("GetForcedInclusionNamespace").Return([]byte(nil)).Maybe()
daClient.On("HasForcedInclusionNamespace").Return(false).Maybe()

// Create mock P2P stores
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)

// Create noop DAHintAppenders for testing
headerHintAppender := noopDAHintAppender{}
dataHintAppender := noopDAHintAppender{}

// Just test that the constructor doesn't panic - don't start the components
// to avoid P2P store dependencies
components, err := NewSyncComponents(
Expand All @@ -94,8 +111,10 @@ func TestNewSyncComponents_Creation(t *testing.T) {
memStore,
mockExec,
daClient,
nil,
nil,
mockHeaderStore,
mockDataStore,
headerHintAppender,
dataHintAppender,
zerolog.Nop(),
NopMetrics(),
DefaultBlockOptions(),
Expand Down
3 changes: 3 additions & 0 deletions block/internal/common/event.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,7 @@ type DAHeightEvent struct {
DaHeight uint64
// Source indicates where this event originated from (DA or P2P)
Source EventSource

// Optional DA height hints from P2P. first is the DA height hint for the header, second is the DA height hint for the data
DaHeightHints [2]uint64
}
6 changes: 6 additions & 0 deletions block/internal/common/expected_interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,17 @@ package common
import (
"context"

"github.com/evstack/ev-node/types"
pubsub "github.com/libp2p/go-libp2p-pubsub"

"github.com/celestiaorg/go-header"
)

type (
HeaderP2PBroadcaster = Broadcaster[*types.P2PSignedHeader]
DataP2PBroadcaster = Broadcaster[*types.P2PData]
)

// Broadcaster interface for P2P broadcasting
type Broadcaster[H header.Header[H]] interface {
WriteToStoreAndBroadcast(ctx context.Context, payload H, opts ...pubsub.PubOpt) error
Expand Down
18 changes: 11 additions & 7 deletions block/internal/executing/executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ type Executor struct {
metrics *common.Metrics

// Broadcasting
headerBroadcaster common.Broadcaster[*types.SignedHeader]
dataBroadcaster common.Broadcaster[*types.Data]
headerBroadcaster common.HeaderP2PBroadcaster
dataBroadcaster common.DataP2PBroadcaster

// Configuration
config config.Config
Expand Down Expand Up @@ -90,8 +90,8 @@ func NewExecutor(
metrics *common.Metrics,
config config.Config,
genesis genesis.Genesis,
headerBroadcaster common.Broadcaster[*types.SignedHeader],
dataBroadcaster common.Broadcaster[*types.Data],
headerBroadcaster common.HeaderP2PBroadcaster,
dataBroadcaster common.DataP2PBroadcaster,
logger zerolog.Logger,
options common.BlockOptions,
errorCh chan<- error,
Expand Down Expand Up @@ -547,9 +547,13 @@ func (e *Executor) ProduceBlock(ctx context.Context) error {
e.setLastState(newState)

// broadcast header and data to P2P network
g, broadcastCtx := errgroup.WithContext(ctx)
g.Go(func() error { return e.headerBroadcaster.WriteToStoreAndBroadcast(broadcastCtx, header) })
g.Go(func() error { return e.dataBroadcaster.WriteToStoreAndBroadcast(broadcastCtx, data) })
g, broadcastCtx := errgroup.WithContext(e.ctx)
g.Go(func() error {
return e.headerBroadcaster.WriteToStoreAndBroadcast(broadcastCtx, &types.P2PSignedHeader{SignedHeader: header})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

})
g.Go(func() error {
return e.dataBroadcaster.WriteToStoreAndBroadcast(broadcastCtx, &types.P2PData{Data: data})
})
if err := g.Wait(); err != nil {
e.logger.Error().Err(err).Msg("failed to broadcast header and/data")
// don't fail block production on broadcast error
Expand Down
8 changes: 4 additions & 4 deletions block/internal/executing/executor_lazy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ func TestLazyMode_ProduceBlockLogic(t *testing.T) {

mockExec := testmocks.NewMockExecutor(t)
mockSeq := testmocks.NewMockSequencer(t)
hb := common.NewMockBroadcaster[*types.SignedHeader](t)
hb := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db := common.NewMockBroadcaster[*types.Data](t)
db := common.NewMockBroadcaster[*types.P2PData](t)
db.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec, err := NewExecutor(
Expand Down Expand Up @@ -163,9 +163,9 @@ func TestRegularMode_ProduceBlockLogic(t *testing.T) {

mockExec := testmocks.NewMockExecutor(t)
mockSeq := testmocks.NewMockSequencer(t)
hb := common.NewMockBroadcaster[*types.SignedHeader](t)
hb := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db := common.NewMockBroadcaster[*types.Data](t)
db := common.NewMockBroadcaster[*types.P2PData](t)
db.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec, err := NewExecutor(
Expand Down
8 changes: 4 additions & 4 deletions block/internal/executing/executor_logic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ func TestProduceBlock_EmptyBatch_SetsEmptyDataHash(t *testing.T) {
mockSeq := testmocks.NewMockSequencer(t)

// Broadcasters are required by produceBlock; use generated mocks
hb := common.NewMockBroadcaster[*types.SignedHeader](t)
hb := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db := common.NewMockBroadcaster[*types.Data](t)
db := common.NewMockBroadcaster[*types.P2PData](t)
db.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec, err := NewExecutor(
Expand Down Expand Up @@ -160,9 +160,9 @@ func TestPendingLimit_SkipsProduction(t *testing.T) {

mockExec := testmocks.NewMockExecutor(t)
mockSeq := testmocks.NewMockSequencer(t)
hb := common.NewMockBroadcaster[*types.SignedHeader](t)
hb := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db := common.NewMockBroadcaster[*types.Data](t)
db := common.NewMockBroadcaster[*types.P2PData](t)
db.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec, err := NewExecutor(
Expand Down
16 changes: 8 additions & 8 deletions block/internal/executing/executor_restart_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ func TestExecutor_RestartUsesPendingHeader(t *testing.T) {
// Create first executor instance
mockExec1 := testmocks.NewMockExecutor(t)
mockSeq1 := testmocks.NewMockSequencer(t)
hb1 := common.NewMockBroadcaster[*types.SignedHeader](t)
hb1 := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb1.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db1 := common.NewMockBroadcaster[*types.Data](t)
db1 := common.NewMockBroadcaster[*types.P2PData](t)
db1.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec1, err := NewExecutor(
Expand Down Expand Up @@ -171,9 +171,9 @@ func TestExecutor_RestartUsesPendingHeader(t *testing.T) {
// Create second executor instance (restart scenario)
mockExec2 := testmocks.NewMockExecutor(t)
mockSeq2 := testmocks.NewMockSequencer(t)
hb2 := common.NewMockBroadcaster[*types.SignedHeader](t)
hb2 := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb2.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db2 := common.NewMockBroadcaster[*types.Data](t)
db2 := common.NewMockBroadcaster[*types.P2PData](t)
db2.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec2, err := NewExecutor(
Expand Down Expand Up @@ -275,9 +275,9 @@ func TestExecutor_RestartNoPendingHeader(t *testing.T) {
// Create first executor and produce one block
mockExec1 := testmocks.NewMockExecutor(t)
mockSeq1 := testmocks.NewMockSequencer(t)
hb1 := common.NewMockBroadcaster[*types.SignedHeader](t)
hb1 := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb1.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db1 := common.NewMockBroadcaster[*types.Data](t)
db1 := common.NewMockBroadcaster[*types.P2PData](t)
db1.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec1, err := NewExecutor(
Expand Down Expand Up @@ -336,9 +336,9 @@ func TestExecutor_RestartNoPendingHeader(t *testing.T) {
// Create second executor (restart)
mockExec2 := testmocks.NewMockExecutor(t)
mockSeq2 := testmocks.NewMockSequencer(t)
hb2 := common.NewMockBroadcaster[*types.SignedHeader](t)
hb2 := common.NewMockBroadcaster[*types.P2PSignedHeader](t)
hb2.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()
db2 := common.NewMockBroadcaster[*types.Data](t)
db2 := common.NewMockBroadcaster[*types.P2PData](t)
db2.EXPECT().WriteToStoreAndBroadcast(mock.Anything, mock.Anything).Return(nil).Maybe()

exec2, err := NewExecutor(
Expand Down
Loading
Loading