Skip to content

Commit b584553

Browse files
address PR comments
1 parent 3f1cdd1 commit b584553

File tree

6 files changed

+20
-31
lines changed

6 files changed

+20
-31
lines changed

arbnode/blockmetadata.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func (b *BlockMetadataFetcher) persistBlockMetadata(ctx context.Context, query [
148148
batch := b.db.NewBatch()
149149
queryMap := util.ArrayToSet(query)
150150
for _, elem := range result {
151-
pos, err := util.BlockNumberToMessageIndex(elem.BlockNumber, b.genesisBlockNum)
151+
pos, err := arbutil.BlockNumberToMessageIndex(elem.BlockNumber, b.genesisBlockNum)
152152
if err != nil {
153153
return err
154154
}
@@ -181,8 +181,8 @@ func (b *BlockMetadataFetcher) Update(ctx context.Context) time.Duration {
181181
}
182182

183183
handleQuery := func(query []uint64) bool {
184-
fromBlock := util.MessageIndexToBlockNumber(arbutil.MessageIndex(query[0]), b.genesisBlockNum)
185-
toBlock := util.MessageIndexToBlockNumber(arbutil.MessageIndex(query[len(query)-1]), b.genesisBlockNum)
184+
fromBlock := arbutil.MessageIndexToBlockNumber(arbutil.MessageIndex(query[0]), b.genesisBlockNum)
185+
toBlock := arbutil.MessageIndexToBlockNumber(arbutil.MessageIndex(query[len(query)-1]), b.genesisBlockNum)
186186

187187
result, err := b.fetch(
188188
ctx,
@@ -239,7 +239,7 @@ func (b *BlockMetadataFetcher) Update(ctx context.Context) time.Duration {
239239
func (b *BlockMetadataFetcher) InitializeTrackBlockMetadataFrom() error {
240240
var err error
241241
if b.startBlockNum != 0 {
242-
b.trackBlockMetadataFrom, err = util.BlockNumberToMessageIndex(b.startBlockNum, b.genesisBlockNum)
242+
b.trackBlockMetadataFrom, err = arbutil.BlockNumberToMessageIndex(b.startBlockNum, b.genesisBlockNum)
243243
if err != nil {
244244
return err
245245
}

arbnode/transaction_streamer.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
"github.com/offchainlabs/nitro/broadcaster/message"
3636
"github.com/offchainlabs/nitro/execution"
3737
"github.com/offchainlabs/nitro/staker"
38-
"github.com/offchainlabs/nitro/util"
3938
"github.com/offchainlabs/nitro/util/arbmath"
4039
"github.com/offchainlabs/nitro/util/sharedmetrics"
4140
"github.com/offchainlabs/nitro/util/stopwaiter"
@@ -1525,14 +1524,14 @@ func (s *TransactionStreamer) backfillTrackersForMissingBlockMetadata(ctx contex
15251524
func (s *TransactionStreamer) Start(ctxIn context.Context) error {
15261525
s.StopWaiter.Start(ctxIn, s)
15271526
if s.config().TrackBlockMetadataFrom != 0 {
1528-
trackBlockMetadataFrom, err := util.BlockNumberToMessageIndex(s.config().TrackBlockMetadataFrom, s.chainConfig.ArbitrumChainParams.GenesisBlockNum)
1527+
trackBlockMetadataFrom, err := arbutil.BlockNumberToMessageIndex(s.config().TrackBlockMetadataFrom, s.chainConfig.ArbitrumChainParams.GenesisBlockNum)
15291528
if err != nil {
15301529
return err
15311530
}
15321531
s.trackBlockMetadataFrom = trackBlockMetadataFrom
15331532
}
15341533
if s.config().SyncTillBlock != 0 {
1535-
syncTillMessage, err := util.BlockNumberToMessageIndex(s.config().SyncTillBlock, s.chainConfig.ArbitrumChainParams.GenesisBlockNum)
1534+
syncTillMessage, err := arbutil.BlockNumberToMessageIndex(s.config().SyncTillBlock, s.chainConfig.ArbitrumChainParams.GenesisBlockNum)
15361535
if err != nil {
15371536
return err
15381537
}

arbutil/block_message_relation.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@
33

44
package arbutil
55

6+
import "fmt"
7+
68
// messages are 0-indexed
79
type MessageIndex uint64
810

9-
func BlockNumberToMessageCount(blockNumber uint64, genesisBlockNumber uint64) MessageIndex {
10-
return MessageIndex(blockNumber + 1 - genesisBlockNumber)
11+
func BlockNumberToMessageIndex(blockNum, genesis uint64) (MessageIndex, error) {
12+
if blockNum < genesis {
13+
return 0, fmt.Errorf("blockNum %d < genesis %d", blockNum, genesis)
14+
}
15+
return MessageIndex(blockNum - genesis), nil
1116
}
1217

13-
func MessageCountToBlockNumber(messageCount MessageIndex, genesisBlockNumber uint64) int64 {
14-
// #nosec G115
15-
return int64(uint64(messageCount)+genesisBlockNumber) - 1
18+
func MessageIndexToBlockNumber(msgIdx MessageIndex, genesis uint64) uint64 {
19+
return uint64(msgIdx) + genesis
1620
}

cmd/pruning/pruning.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ func findImportantRoots(ctx context.Context, chainDb ethdb.Database, stack *node
206206
return nil, err
207207
}
208208
if meta.ParentChainBlock <= l1BlockNum {
209-
signedBlockNum := arbutil.MessageCountToBlockNumber(meta.MessageCount, genesisNum)
209+
// #nosec G115
210+
signedBlockNum := int64(arbutil.MessageIndexToBlockNumber(meta.MessageCount, genesisNum)) - 1
210211
// #nosec G115
211212
blockNum := uint64(signedBlockNum)
212213
l2Hash := rawdb.ReadCanonicalHash(chainDb, blockNum)

system_tests/program_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1909,7 +1909,9 @@ func watFile(name string) string {
19091909

19101910
func waitForSequencer(t *testing.T, builder *NodeBuilder, block uint64) {
19111911
t.Helper()
1912-
msgCount := arbutil.BlockNumberToMessageCount(block, 0)
1912+
msgIndex, err := arbutil.BlockNumberToMessageIndex(block, 0)
1913+
Require(t, err)
1914+
msgCount := msgIndex + 1
19131915
doUntil(t, 20*time.Millisecond, 500, func() bool {
19141916
batchCount, err := builder.L2.ConsensusNode.InboxTracker.GetBatchCount()
19151917
Require(t, err)

util/common.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
11
package util
22

3-
import (
4-
"fmt"
5-
6-
"github.com/offchainlabs/nitro/arbutil"
7-
)
8-
93
func ArrayToSet[T comparable](arr []T) map[T]struct{} {
104
ret := make(map[T]struct{})
115
for _, elem := range arr {
126
ret[elem] = struct{}{}
137
}
148
return ret
159
}
16-
17-
func BlockNumberToMessageIndex(blockNum, genesis uint64) (arbutil.MessageIndex, error) {
18-
if blockNum < genesis {
19-
return 0, fmt.Errorf("blockNum %d < genesis %d", blockNum, genesis)
20-
}
21-
return arbutil.MessageIndex(blockNum - genesis), nil
22-
}
23-
24-
func MessageIndexToBlockNumber(msgIdx arbutil.MessageIndex, genesis uint64) uint64 {
25-
return uint64(msgIdx) + genesis
26-
}

0 commit comments

Comments
 (0)