Skip to content

Commit 640924b

Browse files
committed
Complete merge
1 parent 567092f commit 640924b

File tree

14 files changed

+759
-52
lines changed

14 files changed

+759
-52
lines changed

apps/evm/go.sum

Lines changed: 176 additions & 0 deletions
Large diffs are not rendered by default.

apps/grpc/go.sum

Lines changed: 176 additions & 0 deletions
Large diffs are not rendered by default.

apps/testapp/cmd/run.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import (
1818
blobrpc "github.com/evstack/ev-node/pkg/da/jsonrpc"
1919
da "github.com/evstack/ev-node/pkg/da/types"
2020
"github.com/evstack/ev-node/pkg/genesis"
21-
"github.com/evstack/ev-node/pkg/p2p"
2221
"github.com/evstack/ev-node/pkg/p2p/key"
2322
"github.com/evstack/ev-node/pkg/sequencers/based"
2423
"github.com/evstack/ev-node/pkg/sequencers/single"
@@ -96,12 +95,7 @@ var RunCmd = &cobra.Command{
9695
return err
9796
}
9897

99-
p2pClient, err := p2p.NewClient(nodeConfig.P2P, nodeKey.PrivKey, datastore, genesis.ChainID, logger, p2p.NopMetrics())
100-
if err != nil {
101-
return err
102-
}
103-
104-
return cmd.StartNode(logger, command, executor, sequencer, p2pClient, datastore, nodeConfig, genesis, node.NodeOptions{})
98+
return cmd.StartNode(logger, command, executor, sequencer, nodeKey, datastore, nodeConfig, genesis, node.NodeOptions{})
10599
},
106100
}
107101

apps/testapp/go.sum

Lines changed: 176 additions & 0 deletions
Large diffs are not rendered by default.

block/internal/executing/executor.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ func (e *Executor) Stop() error {
161161
return nil
162162
}
163163

164-
// getLastState returns the current state.
165164
// getLastState should never directly mutate.
166165
func (e *Executor) getLastState() types.State {
167166
state := e.lastState.Load()

block/internal/executing/executor_restart_test.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -317,20 +317,18 @@ func TestExecutor_RestartNoPendingHeader(t *testing.T) {
317317
}, nil
318318
}).Times(numBlocks)
319319

320+
mockSeq1.EXPECT().GetDAHeight().Return(uint64(0)).Times(numBlocks)
321+
320322
lastStateRoot := initStateRoot
321323
for i := range numBlocks {
322324
newStateRoot := []byte(fmt.Sprintf("new_root_%d", i+1))
323325
mockExec1.EXPECT().ExecuteTxs(mock.Anything, mock.Anything, gen.InitialHeight+uint64(i), mock.AnythingOfType("time.Time"), lastStateRoot).
324326
Return(newStateRoot, uint64(1024), nil).Once()
325327
lastStateRoot = newStateRoot
328+
326329
require.NoError(t, exec1.produceBlock())
327330
}
328-
require.Equal(t, uint64(numBlocks), exec1.GetLastState().LastBlockHeight)
329-
330-
mockSeq1.EXPECT().GetDAHeight().Return(uint64(0)).Once()
331-
332-
err = exec1.produceBlock()
333-
require.NoError(t, err)
331+
require.Equal(t, uint64(numBlocks), exec1.getLastState().LastBlockHeight)
334332

335333
// Stop first executor
336334
exec1.cancel()

block/internal/syncing/syncer.go

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ package syncing
33
import (
44
"bytes"
55
"context"
6+
"crypto/sha256"
67
"encoding/binary"
8+
"encoding/hex"
79
"errors"
810
"fmt"
9-
"sync"
11+
"math"
1012
"reflect"
13+
"sync"
1114
"sync/atomic"
1215
"time"
1316

1417
coreexecutor "github.com/evstack/ev-node/core/execution"
18+
datypes "github.com/evstack/ev-node/pkg/da/types"
1519
"github.com/evstack/ev-node/pkg/raft"
1620
pubsub "github.com/libp2p/go-libp2p-pubsub"
1721
"github.com/rs/zerolog"
@@ -156,21 +160,21 @@ func NewSyncer(
156160
blockFullnessEMA.Store(&initialFullness)
157161

158162
s := &Syncer{
159-
store: store,
160-
exec: exec,
161-
cache: cache,
162-
metrics: metrics,
163-
config: config,
164-
genesis: genesis,
165-
options: options,
166-
lastState: &atomic.Pointer[types.State]{},
167-
daClient: daClient,
168-
daRetrieverHeight: daRetrieverHeight,
169-
headerStore: headerStore,
170-
dataStore: dataStore,
171-
heightInCh: make(chan common.DAHeightEvent, 1_000),
172-
errorCh: errorCh,
173-
logger: logger.With().Str("component", "syncer").Logger(),
163+
store: store,
164+
exec: exec,
165+
cache: cache,
166+
metrics: metrics,
167+
config: config,
168+
genesis: genesis,
169+
options: options,
170+
lastState: &atomic.Pointer[types.State]{},
171+
daClient: daClient,
172+
daRetrieverHeight: daRetrieverHeight,
173+
headerStore: headerStore,
174+
dataStore: dataStore,
175+
heightInCh: make(chan common.DAHeightEvent, 1_000),
176+
errorCh: errorCh,
177+
logger: logger.With().Str("component", "syncer").Logger(),
174178
gracePeriodMultiplier: gracePeriodMultiplier,
175179
blockFullnessEMA: blockFullnessEMA,
176180
gracePeriodConfig: newForcedInclusionGracePeriodConfig(),
@@ -241,6 +245,7 @@ func (s *Syncer) Stop() error {
241245
s.cancel = nil
242246
return nil
243247
}
248+
244249
// isCatchingUpState returns true if the syncer has pending events or is behind the current raft height
245250
func (s *Syncer) isCatchingUpState() bool {
246251
return len(s.heightInCh) != 0 || func() bool {
@@ -562,7 +567,7 @@ func (s *Syncer) processHeightEvent(event *common.DAHeightEvent) {
562567
if err := s.trySyncNextBlock(event); err != nil {
563568
s.logger.Error().Err(err).
564569
Uint64("event-height", event.Header.Height()).
565-
Uint64("state-height", s.GetLastState().LastBlockHeight).
570+
Uint64("state-height", s.getLastState().LastBlockHeight).
566571
Msg("failed to sync next block")
567572
// If the error is not due to a validation error, re-store the event as pending
568573
switch {

block/internal/syncing/syncer_forced_inclusion_test.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ func TestVerifyForcedInclusionTxs_AllTransactionsIncluded(t *testing.T) {
344344
ds := dssync.MutexWrap(datastore.NewMapDatastore())
345345
st := store.New(ds)
346346

347-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
347+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
348348
require.NoError(t, err)
349349

350350
addr, pub, signer := buildSyncTestSigner(t)
@@ -385,6 +385,7 @@ func TestVerifyForcedInclusionTxs_AllTransactionsIncluded(t *testing.T) {
385385
zerolog.Nop(),
386386
common.DefaultBlockOptions(),
387387
make(chan error, 1),
388+
nil,
388389
)
389390
s.daRetriever = daRetriever
390391
s.fiRetriever = fiRetriever
@@ -417,7 +418,7 @@ func TestVerifyForcedInclusionTxs_MissingTransactions(t *testing.T) {
417418
ds := dssync.MutexWrap(datastore.NewMapDatastore())
418419
st := store.New(ds)
419420

420-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
421+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
421422
require.NoError(t, err)
422423

423424
addr, pub, signer := buildSyncTestSigner(t)
@@ -458,6 +459,7 @@ func TestVerifyForcedInclusionTxs_MissingTransactions(t *testing.T) {
458459
zerolog.Nop(),
459460
common.DefaultBlockOptions(),
460461
make(chan error, 1),
462+
nil,
461463
)
462464
s.daRetriever = daRetriever
463465
s.fiRetriever = fiRetriever
@@ -520,7 +522,7 @@ func TestVerifyForcedInclusionTxs_PartiallyIncluded(t *testing.T) {
520522
ds := dssync.MutexWrap(datastore.NewMapDatastore())
521523
st := store.New(ds)
522524

523-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
525+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
524526
require.NoError(t, err)
525527

526528
addr, pub, signer := buildSyncTestSigner(t)
@@ -561,6 +563,7 @@ func TestVerifyForcedInclusionTxs_PartiallyIncluded(t *testing.T) {
561563
zerolog.Nop(),
562564
common.DefaultBlockOptions(),
563565
make(chan error, 1),
566+
nil,
564567
)
565568
s.daRetriever = daRetriever
566569
s.fiRetriever = fiRetriever
@@ -627,7 +630,7 @@ func TestVerifyForcedInclusionTxs_NoForcedTransactions(t *testing.T) {
627630
ds := dssync.MutexWrap(datastore.NewMapDatastore())
628631
st := store.New(ds)
629632

630-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
633+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
631634
require.NoError(t, err)
632635

633636
addr, _, _ := buildSyncTestSigner(t)
@@ -668,6 +671,7 @@ func TestVerifyForcedInclusionTxs_NoForcedTransactions(t *testing.T) {
668671
zerolog.Nop(),
669672
common.DefaultBlockOptions(),
670673
make(chan error, 1),
674+
nil,
671675
)
672676
s.daRetriever = daRetriever
673677
s.fiRetriever = fiRetriever
@@ -695,7 +699,7 @@ func TestVerifyForcedInclusionTxs_NamespaceNotConfigured(t *testing.T) {
695699
ds := dssync.MutexWrap(datastore.NewMapDatastore())
696700
st := store.New(ds)
697701

698-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
702+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
699703
require.NoError(t, err)
700704

701705
addr, _, _ := buildSyncTestSigner(t)
@@ -734,6 +738,7 @@ func TestVerifyForcedInclusionTxs_NamespaceNotConfigured(t *testing.T) {
734738
zerolog.Nop(),
735739
common.DefaultBlockOptions(),
736740
make(chan error, 1),
741+
nil,
737742
)
738743
s.daRetriever = daRetriever
739744
s.fiRetriever = fiRetriever
@@ -758,7 +763,7 @@ func TestVerifyForcedInclusionTxs_DeferralWithinEpoch(t *testing.T) {
758763
ds := dssync.MutexWrap(datastore.NewMapDatastore())
759764
st := store.New(ds)
760765

761-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
766+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
762767
require.NoError(t, err)
763768

764769
addr, pub, signer := buildSyncTestSigner(t)
@@ -799,6 +804,7 @@ func TestVerifyForcedInclusionTxs_DeferralWithinEpoch(t *testing.T) {
799804
zerolog.Nop(),
800805
common.DefaultBlockOptions(),
801806
make(chan error, 1),
807+
nil,
802808
)
803809
s.daRetriever = daRetriever
804810
s.fiRetriever = fiRetriever
@@ -881,7 +887,7 @@ func TestVerifyForcedInclusionTxs_MaliciousAfterEpochEnd(t *testing.T) {
881887
ds := dssync.MutexWrap(datastore.NewMapDatastore())
882888
st := store.New(ds)
883889

884-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
890+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
885891
require.NoError(t, err)
886892

887893
addr, pub, signer := buildSyncTestSigner(t)
@@ -922,6 +928,7 @@ func TestVerifyForcedInclusionTxs_MaliciousAfterEpochEnd(t *testing.T) {
922928
zerolog.Nop(),
923929
common.DefaultBlockOptions(),
924930
make(chan error, 1),
931+
nil,
925932
)
926933
s.daRetriever = daRetriever
927934
s.fiRetriever = fiRetriever
@@ -969,7 +976,7 @@ func TestVerifyForcedInclusionTxs_SmoothingExceedsEpoch(t *testing.T) {
969976
ds := dssync.MutexWrap(datastore.NewMapDatastore())
970977
st := store.New(ds)
971978

972-
cm, err := cache.NewCacheManager(config.DefaultConfig(), zerolog.Nop())
979+
cm, err := cache.NewManager(config.DefaultConfig(), st, zerolog.Nop())
973980
require.NoError(t, err)
974981

975982
addr, pub, signer := buildSyncTestSigner(t)
@@ -1011,6 +1018,7 @@ func TestVerifyForcedInclusionTxs_SmoothingExceedsEpoch(t *testing.T) {
10111018
zerolog.Nop(),
10121019
common.DefaultBlockOptions(),
10131020
make(chan error, 1),
1021+
nil,
10141022
)
10151023
s.daRetriever = daRetriever
10161024
s.fiRetriever = fiRetriever

0 commit comments

Comments
 (0)