Skip to content

Commit 2c153b9

Browse files
refactor(juno): renames/cosmetics after Pending and PendingData removal (#3521)
* chore: cleanups, remove dead code * fix: get rid of unused `ErrUnsupportedPendingDataVariant` * refactor: drop support for pre-0.14.0 pending block * refactor: remove the pending data wrappers * chore: linter issues * refactor: move `PendingState` from sync to rpc helpers * chore: address the comments * test: mock syncer should return * chore: address comments * chore: ErrPendingDataNotFound cleanup * chore: last cleanups * chore: cleanups, remove dead code * fix: get rid of unused `ErrUnsupportedPendingDataVariant` * refactor: get rid of `PendingData` interface * refactor: remove the pending data wrappers * refactor: drop support for pre-0.14.0 pending block * refactor: get rid of pending data * chore: cleanups after rebase * chore: renames after rebase * refactor: remaining renames, tests cleanups * chore: merge pollPendingData and runPreConfirmedPhase * chore: fixes after the rebase * chore: minor cleanups after rebase * test: fixes for the unit tests * chore: minor fixes after rebase * chore: fix unit tests * chore: linter * chore: linter fixes * chore: clean-ups, address the comments * chore: address flaky comment * test: fix the unit test
1 parent 7c22412 commit 2c153b9

92 files changed

Lines changed: 921 additions & 1009 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

blockchain/blockchain.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type Reader interface {
5959
EventFilter(
6060
addresses []felt.Address,
6161
keys [][]felt.Felt,
62-
pendingDataFn func() (*core.PreConfirmed, error),
62+
preConfirmedFn func() (*core.PreConfirmed, error),
6363
) (EventFilterer, error)
6464

6565
Network() *utils.Network
@@ -390,7 +390,7 @@ func (b *Blockchain) StateAtBlockHash(
390390
func (b *Blockchain) EventFilter(
391391
addresses []felt.Address,
392392
keys [][]felt.Felt,
393-
pendingDataFn func() (*core.PreConfirmed, error),
393+
preConfirmedFn func() (*core.PreConfirmed, error),
394394
) (EventFilterer, error) {
395395
b.listener.OnRead("EventFilter")
396396
latest, err := core.GetChainHeight(b.database)
@@ -404,7 +404,7 @@ func (b *Blockchain) EventFilter(
404404
keys,
405405
0,
406406
latest,
407-
pendingDataFn,
407+
preConfirmedFn,
408408
b.cachedFilters,
409409
b.runningFilter,
410410
b.transactionLayout,

blockchain/blockchain_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ func TestState(t *testing.T) {
450450

451451
func TestEvents(t *testing.T) {
452452
var pendingB *core.Block
453-
pendingDataFunc := func() (*core.PreConfirmed, error) { //nolint:unparam // used in tests
453+
preConfirmedFunc := func() (*core.PreConfirmed, error) { //nolint:unparam // used in tests
454454
preConfirmed := core.NewPreConfirmed(pendingB, nil, nil, nil)
455455
return &preConfirmed, nil
456456
}
@@ -480,7 +480,7 @@ func TestEvents(t *testing.T) {
480480
}
481481

482482
t.Run("filter non-existent", func(t *testing.T) {
483-
filter, err := chain.EventFilter(nil, nil, pendingDataFunc)
483+
filter, err := chain.EventFilter(nil, nil, preConfirmedFunc)
484484

485485
t.Run("block number", func(t *testing.T) {
486486
err = filter.SetRangeEndBlockByNumber(blockchain.EventFilterTo, uint64(44))
@@ -505,7 +505,7 @@ func TestEvents(t *testing.T) {
505505
),
506506
}
507507
t.Run("filter with no keys", func(t *testing.T) {
508-
filter, err := chain.EventFilter(from, nil, pendingDataFunc)
508+
filter, err := chain.EventFilter(from, nil, preConfirmedFunc)
509509
require.NoError(t, err)
510510

511511
require.NoError(t, filter.SetRangeEndBlockByNumber(blockchain.EventFilterFrom, 0))
@@ -561,7 +561,7 @@ func TestEvents(t *testing.T) {
561561
key := felt.NewUnsafeFromString[felt.Felt](
562562
"0x3774b0545aabb37c45c1eddc6a7dae57de498aae6d5e3589e362d4b4323a533",
563563
)
564-
filter, err := chain.EventFilter(from, [][]felt.Felt{{*key}}, pendingDataFunc)
564+
filter, err := chain.EventFilter(from, [][]felt.Felt{{*key}}, preConfirmedFunc)
565565
require.NoError(t, err)
566566

567567
require.NoError(t, filter.SetRangeEndBlockByHash(blockchain.EventFilterFrom,
@@ -589,7 +589,7 @@ func TestEvents(t *testing.T) {
589589
)},
590590
{*felt.NewUnsafeFromString[felt.Felt]("0xDEADBEEF")},
591591
},
592-
pendingDataFunc,
592+
preConfirmedFunc,
593593
)
594594
require.NoError(t, err)
595595
require.NoError(t, filter.SetRangeEndBlockByNumber(blockchain.EventFilterFrom, 0))
@@ -610,7 +610,7 @@ func TestEvents(t *testing.T) {
610610
)
611611

612612
addresses := []felt.Address{address1, address1, address1}
613-
filter, err := chain.EventFilter(addresses, nil, pendingDataFunc)
613+
filter, err := chain.EventFilter(addresses, nil, preConfirmedFunc)
614614
require.NoError(t, err)
615615

616616
require.NoError(t, filter.SetRangeEndBlockByNumber(blockchain.EventFilterFrom, 0))
@@ -642,7 +642,7 @@ func TestEvents(t *testing.T) {
642642
}
643643
for _, testCase := range testCases {
644644
t.Run("filter with no addresses ("+testCase.name+")", func(t *testing.T) {
645-
filter, err := chain.EventFilter(testCase.addresses, nil, pendingDataFunc)
645+
filter, err := chain.EventFilter(testCase.addresses, nil, preConfirmedFunc)
646646
require.NoError(t, err)
647647

648648
require.NoError(t, filter.SetRangeEndBlockByNumber(blockchain.EventFilterFrom, 0))

blockchain/event_filter.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ type EventFilterer interface {
2525
}
2626

2727
type EventFilter struct {
28-
txn db.KeyValueStore
29-
fromBlock uint64
30-
toBlock uint64
31-
matcher EventMatcher
32-
maxScanned uint // maximum number of scanned blocks in single call.
33-
pendingDataFn func() (*core.PreConfirmed, error)
34-
cachedFilters *AggregatedBloomFilterCache
35-
runningFilter *core.RunningEventFilter
36-
layout core.TransactionLayout
28+
txn db.KeyValueStore
29+
fromBlock uint64
30+
toBlock uint64
31+
matcher EventMatcher
32+
maxScanned uint // maximum number of scanned blocks in single call.
33+
preConfirmedFn func() (*core.PreConfirmed, error)
34+
cachedFilters *AggregatedBloomFilterCache
35+
runningFilter *core.RunningEventFilter
36+
layout core.TransactionLayout
3737
}
3838

3939
type EventFilterRange uint
@@ -48,21 +48,21 @@ func newEventFilter(
4848
contractAddresses []felt.Address,
4949
keys [][]felt.Felt,
5050
fromBlock, toBlock uint64,
51-
pendingDataFn func() (*core.PreConfirmed, error),
51+
preConfirmedFn func() (*core.PreConfirmed, error),
5252
cachedFilters *AggregatedBloomFilterCache,
5353
runningFilter *core.RunningEventFilter,
5454
layout core.TransactionLayout,
5555
) *EventFilter {
5656
return &EventFilter{
57-
txn: txn,
58-
matcher: NewEventMatcher(contractAddresses, keys),
59-
fromBlock: fromBlock,
60-
toBlock: toBlock,
61-
maxScanned: math.MaxUint,
62-
pendingDataFn: pendingDataFn,
63-
cachedFilters: cachedFilters,
64-
runningFilter: runningFilter,
65-
layout: layout,
57+
txn: txn,
58+
matcher: NewEventMatcher(contractAddresses, keys),
59+
fromBlock: fromBlock,
60+
toBlock: toBlock,
61+
maxScanned: math.MaxUint,
62+
preConfirmedFn: preConfirmedFn,
63+
cachedFilters: cachedFilters,
64+
runningFilter: runningFilter,
65+
layout: layout,
6666
}
6767
}
6868

@@ -290,15 +290,15 @@ func (e *EventFilter) pendingEvents(
290290
skippedEvents,
291291
chunkSize uint64,
292292
) ([]FilteredEvent, ContinuationToken, error) {
293-
pendingData, err := e.pendingDataFn()
293+
preConfirmed, err := e.preConfirmedFn()
294294
if err != nil {
295295
if errors.Is(err, core.ErrPreConfirmedNotFound) {
296296
return matchedEvents, ContinuationToken{}, nil
297297
}
298298
return nil, ContinuationToken{}, err
299299
}
300300

301-
preLatest := pendingData.GetPreLatest()
301+
preLatest := preConfirmed.GetPreLatest()
302302
if preLatest != nil && fromBlock <= preLatest.Block.Number {
303303
var cToken ContinuationToken
304304
var err error
@@ -318,7 +318,7 @@ func (e *EventFilter) pendingEvents(
318318
skippedEvents = 0
319319
}
320320
// Process pre-confirmed block
321-
return e.processPreConfirmedBlock(matchedEvents, pendingData, skippedEvents, chunkSize)
321+
return e.processPreConfirmedBlock(matchedEvents, preConfirmed, skippedEvents, chunkSize)
322322
}
323323

324324
// processPreLatestBlock processes pre-latest block events
@@ -359,11 +359,11 @@ func (e *EventFilter) processPreLatestBlock(
359359
// processPreConfirmedBlock processes pre-confirmed block events
360360
func (e *EventFilter) processPreConfirmedBlock(
361361
matchedEvents []FilteredEvent,
362-
pendingData *core.PreConfirmed,
362+
preConfirmed *core.PreConfirmed,
363363
skippedEvents,
364364
chunkSize uint64,
365365
) ([]FilteredEvent, ContinuationToken, error) {
366-
pendingHeader := pendingData.GetHeader()
366+
pendingHeader := preConfirmed.GetHeader()
367367
if !e.matcher.TestBloom(pendingHeader.EventsBloom) {
368368
return matchedEvents, ContinuationToken{}, nil
369369
}
@@ -373,15 +373,15 @@ func (e *EventFilter) processPreConfirmedBlock(
373373
matchedEvents, processedEvents, err = e.matcher.AppendBlockEvents(
374374
matchedEvents,
375375
pendingHeader,
376-
pendingData.GetBlock().Receipts,
376+
preConfirmed.GetBlock().Receipts,
377377
skippedEvents,
378378
chunkSize,
379379
false,
380380
)
381381
if err != nil {
382382
if errors.Is(err, errChunkSizeReached) {
383383
cToken := ContinuationToken{
384-
fromBlock: pendingData.GetBlock().Number,
384+
fromBlock: preConfirmed.GetBlock().Number,
385385
processedEvents: processedEvents,
386386
}
387387
return matchedEvents, cToken, nil

builder/builder.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func (b *Builder) InitPreconfirmedBlock(params *BuildParams) (*BuildState, error
110110
}
111111

112112
return &BuildState{
113-
Preconfirmed: &preconfirmed,
113+
PreConfirmed: &preconfirmed,
114114
RevealedBlockHash: revealedBlockHash,
115115
L2GasConsumed: 0,
116116
}, nil
@@ -131,7 +131,7 @@ func (b *Builder) getRevealedBlockHash(blockHeight uint64) (*felt.Felt, error) {
131131
func (b *Builder) PendingState(
132132
buildState *BuildState,
133133
) (core.StateReader, func() error, error) {
134-
if buildState.Preconfirmed == nil {
134+
if buildState.PreConfirmed == nil {
135135
return nil, nil, core.ErrPreConfirmedNotFound
136136
}
137137

@@ -142,10 +142,10 @@ func (b *Builder) PendingState(
142142

143143
// TODO: remove the state closer once we refactor the state
144144
return core.NewPendingState(
145-
buildState.Preconfirmed.StateUpdate.StateDiff,
146-
buildState.Preconfirmed.NewClasses,
145+
buildState.PreConfirmed.StateUpdate.StateDiff,
146+
buildState.PreConfirmed.NewClasses,
147147
headState,
148-
buildState.Preconfirmed.Block.Number,
148+
buildState.PreConfirmed.Block.Number,
149149
),
150150
headCloser, nil
151151
}
@@ -174,7 +174,7 @@ func (b *Builder) Finish(state *BuildState) (BuildResult, error) {
174174

175175
// Todo: we ignore some values until the spec is Finalised: VersionConstantCommitment, NextL2GasPriceFRI
176176
buildResult := BuildResult{
177-
Preconfirmed: state.Preconfirmed,
177+
PreConfirmed: state.PreConfirmed,
178178
SimulateResult: &simulatedResult,
179179
L2GasConsumed: state.L2GasConsumed,
180180
}

builder/executor.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ func (e *executor) RunTxns(state *BuildState, txns []mempool.BroadcastedTransact
5959

6060
// Create a state writer for the transaction execution
6161
stateWriter := core.NewPendingStateWriter(
62-
state.Preconfirmed.StateUpdate.StateDiff,
63-
state.Preconfirmed.NewClasses,
62+
state.PreConfirmed.StateUpdate.StateDiff,
63+
state.PreConfirmed.NewClasses,
6464
headState,
6565
)
6666

@@ -84,7 +84,7 @@ func (e *executor) RunTxns(state *BuildState, txns []mempool.BroadcastedTransact
8484
declaredClasses,
8585
paidFeesOnL1,
8686
&vm.BlockInfo{
87-
Header: state.Preconfirmed.Block.Header,
87+
Header: state.PreConfirmed.Block.Header,
8888
BlockHashToBeRevealed: state.RevealedBlockHash,
8989
},
9090
stateWriter,
@@ -121,7 +121,7 @@ func (e *executor) RunTxns(state *BuildState, txns []mempool.BroadcastedTransact
121121
}
122122

123123
// Update preconfirmed block with transaction results
124-
updatePreconfirmedBlock(state.Preconfirmed, receipts, coreTxns, stateDiffs)
124+
updatePreconfirmedBlock(state.PreConfirmed, receipts, coreTxns, stateDiffs)
125125

126126
for i := range vmResults.GasConsumed {
127127
state.L2GasConsumed += vmResults.GasConsumed[i].L2Gas
@@ -171,5 +171,10 @@ func updatePreconfirmedBlock(
171171
}
172172

173173
func (e *executor) Finish(state *BuildState) (blockchain.SimulateResult, error) {
174-
return e.blockchain.Simulate(state.Preconfirmed.Block, state.Preconfirmed.StateUpdate, state.Preconfirmed.NewClasses, nil)
174+
return e.blockchain.Simulate(
175+
state.PreConfirmed.Block,
176+
state.PreConfirmed.StateUpdate,
177+
state.PreConfirmed.NewClasses,
178+
nil,
179+
)
175180
}

builder/result.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,33 @@ import (
99
)
1010

1111
type BuildResult struct {
12-
Preconfirmed *core.PreConfirmed
12+
PreConfirmed *core.PreConfirmed
1313
SimulateResult *blockchain.SimulateResult
1414
L2GasConsumed uint64
1515
}
1616

1717
func (b *BuildResult) ProposalCommitment() (types.ProposalCommitment, error) {
18-
version, err := semver.NewVersion(b.Preconfirmed.Block.ProtocolVersion)
18+
version, err := semver.NewVersion(b.PreConfirmed.Block.ProtocolVersion)
1919
if err != nil {
2020
return types.ProposalCommitment{}, err
2121
}
2222

2323
return types.ProposalCommitment{
24-
BlockNumber: b.Preconfirmed.Block.Number,
25-
Builder: *b.Preconfirmed.Block.SequencerAddress,
26-
ParentCommitment: *b.Preconfirmed.Block.ParentHash,
27-
Timestamp: b.Preconfirmed.Block.Timestamp,
24+
BlockNumber: b.PreConfirmed.Block.Number,
25+
Builder: *b.PreConfirmed.Block.SequencerAddress,
26+
ParentCommitment: *b.PreConfirmed.Block.ParentHash,
27+
Timestamp: b.PreConfirmed.Block.Timestamp,
2828
ProtocolVersion: *version,
29-
OldStateRoot: *b.Preconfirmed.StateUpdate.OldRoot,
29+
OldStateRoot: *b.PreConfirmed.StateUpdate.OldRoot,
3030
StateDiffCommitment: *b.SimulateResult.BlockCommitments.StateDiffCommitment,
3131
TransactionCommitment: *b.SimulateResult.BlockCommitments.TransactionCommitment,
3232
EventCommitment: *b.SimulateResult.BlockCommitments.EventCommitment,
3333
ReceiptCommitment: *b.SimulateResult.BlockCommitments.ReceiptCommitment,
3434
ConcatenatedCounts: b.SimulateResult.ConcatCount,
35-
L1GasPriceFRI: *b.Preconfirmed.Block.L1GasPriceSTRK,
36-
L1DataGasPriceFRI: *b.Preconfirmed.Block.L1DataGasPrice.PriceInFri,
37-
L2GasPriceFRI: *b.Preconfirmed.Block.L2GasPrice.PriceInFri,
35+
L1GasPriceFRI: *b.PreConfirmed.Block.L1GasPriceSTRK,
36+
L1DataGasPriceFRI: *b.PreConfirmed.Block.L1DataGasPrice.PriceInFri,
37+
L2GasPriceFRI: *b.PreConfirmed.Block.L2GasPrice.PriceInFri,
3838
L2GasUsed: *new(felt.Felt).SetUint64(b.L2GasConsumed),
39-
L1DAMode: b.Preconfirmed.Block.L1DAMode,
39+
L1DAMode: b.PreConfirmed.Block.L1DAMode,
4040
}, nil
4141
}

builder/state.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@ import (
1010
)
1111

1212
type BuildState struct {
13-
Preconfirmed *core.PreConfirmed
13+
PreConfirmed *core.PreConfirmed
1414
L2GasConsumed uint64
1515
RevealedBlockHash *felt.Felt
1616
}
1717

18-
func (b *BuildState) PendingBlock() *core.Block {
19-
if b.Preconfirmed == nil {
18+
func (b *BuildState) PreConfirmedBlock() *core.Block {
19+
if b.PreConfirmed == nil {
2020
return nil
2121
}
22-
return b.Preconfirmed.Block
22+
return b.PreConfirmed.Block
2323
}
2424

2525
func (b *BuildState) ClearPending() error {
2626
b.L2GasConsumed = 0
27-
b.Preconfirmed = &core.PreConfirmed{}
27+
b.PreConfirmed = &core.PreConfirmed{}
2828
b.RevealedBlockHash = nil
2929

3030
return nil
@@ -37,7 +37,7 @@ func (b *BuildState) ClearPending() error {
3737
// - Signatures and EventsBloom are not set before `Finish` is called
3838
func (b *BuildState) Clone() BuildState {
3939
return BuildState{
40-
Preconfirmed: clonePreconfirmed(b.Preconfirmed),
40+
PreConfirmed: clonePreconfirmed(b.PreConfirmed),
4141
RevealedBlockHash: b.RevealedBlockHash, // Safe to reuse an immutable value
4242
L2GasConsumed: b.L2GasConsumed, // Value, safe to shallow copy
4343
}

consensus/driver/commit_listener.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ func (b *commitListener[V, H]) OnCommit(ctx context.Context, height types.Height
5353
}
5454

5555
committedBlock := sync.CommittedBlock{
56-
Block: buildResult.Preconfirmed.Block,
57-
StateUpdate: buildResult.Preconfirmed.StateUpdate,
58-
NewClasses: buildResult.Preconfirmed.NewClasses,
56+
Block: buildResult.PreConfirmed.Block,
57+
StateUpdate: buildResult.PreConfirmed.StateUpdate,
58+
NewClasses: buildResult.PreConfirmed.NewClasses,
5959
Persisted: make(chan struct{}),
6060
}
6161

0 commit comments

Comments
 (0)