Skip to content

Commit c593300

Browse files
SharedDomains: step4 towards eliminating txNum field (#19402)
1 parent 2f0c018 commit c593300

File tree

7 files changed

+20
-12
lines changed

7 files changed

+20
-12
lines changed

execution/builder/builderstages/exec.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ func SpawnBuilderExecStage(ctx context.Context, s *stagedsync.StageState, sd *ex
136136

137137
chainReader := stagedsync.NewChainReaderImpl(cfg.chainConfig, tx, cfg.blockReader, logger)
138138

139-
txNum := sd.TxNum()
139+
txNum, _, err := sd.SeekCommitment(ctx, tx)
140+
if err != nil {
141+
return err
142+
}
140143

141144
protocol.InitializeBlockExecution(cfg.engine, chainReader, current.Header, cfg.chainConfig, ibs, &state.NoopWriter{}, logger, nil)
142145
if needBAL {

execution/stagedsync/exec3.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func ExecV3(ctx context.Context,
146146
}
147147

148148
if execStage.SyncMode() == stages.ModeApplyingBlocks {
149-
agg.BuildFilesInBackground(doms.TxNum())
149+
agg.BuildFilesInBackground(initialTxNum)
150150
}
151151

152152
var (
@@ -361,10 +361,6 @@ func ExecV3(ctx context.Context,
361361
lastCommittedBlockNum, lastCommittedTxNum, lastCommitedStep)
362362
}
363363

364-
if execStage.SyncMode() == stages.ModeApplyingBlocks {
365-
agg.BuildFilesInBackground(doms.TxNum())
366-
}
367-
368364
if !shouldReportToTxPool && cfg.notifications != nil && cfg.notifications.Accumulator != nil && !isBlockProduction && lastHeader != nil {
369365
// No reporting to the txn pool has been done since we are not within the "state-stream" window.
370366
// However, we should still at the very least report the last block number to it, so it can update its block progress.

execution/stagedsync/exec3_serial.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ func (se *serialExecutor) exec(ctx context.Context, execStage *StageState, u Unw
240240
se.logger.Info(
241241
"periodic commit check",
242242
"block", b.NumberU64(),
243-
"txNum", se.doms.TxNum(),
243+
"txNum", inputTxNum,
244244
"commitment", times.ComputeCommitment,
245245
)
246246
if isBatchFull {

execution/stagedsync/stage_custom_trace.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,10 @@ func customTraceBatchProduce(ctx context.Context, produce Produce, cfg *exec.Exe
248248
}
249249
}
250250

251-
lastTxNum = doms.TxNum()
251+
lastTxNum, _, err = doms.SeekCommitment(ctx, tx)
252+
if err != nil {
253+
return err
254+
}
252255
if err := tx.Commit(); err != nil {
253256
return err
254257
}

execution/tests/blockgen/chain_makers.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,6 @@ func GenerateChain(config *chain.Config, parent *types.Block, engine rules.Engin
366366
txNumIncrement := func() {
367367
txNum++
368368
stateWriter.SetTxNum(txNum)
369-
domains.SetTxNum(txNum)
370369
}
371370
genblock := func(i int, parent *types.Block, ibs *state.IntraBlockState, stateReader state.StateReader,
372371
stateWriter state.StateWriter) (*types.Block, types.Receipts, error) {

rpc/jsonrpc/receipts/receipts_generator.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,11 @@ func (g *Generator) GetReceipt(ctx context.Context, cfg *chain.Config, tx kv.Tem
365365
var stateRoot []byte
366366
if postState.CommitmentHistory {
367367
sharedDomains.GetCommitmentContext().SetHistoryStateReader(tx, txNum+1)
368-
stateRoot, err = sharedDomains.ComputeCommitment(ctx, tx, false, blockNum, sharedDomains.TxNum(), "getReceipt", nil)
368+
latestTxNum, _, err := sharedDomains.SeekCommitment(ctx, tx)
369+
if err != nil {
370+
return nil, err
371+
}
372+
stateRoot, err = sharedDomains.ComputeCommitment(ctx, tx, false, blockNum, latestTxNum, "getReceipt", nil)
369373
if err != nil {
370374
return nil, err
371375
}
@@ -529,7 +533,11 @@ func (g *Generator) GetReceipts(ctx context.Context, cfg *chain.Config, tx kv.Te
529533
var stateRoot []byte
530534
if commitmentHistory {
531535
sharedDomains.GetCommitmentContext().SetHistoryStateReader(tx, txNum+1)
532-
stateRoot, err = sharedDomains.ComputeCommitment(ctx, tx, false, blockNum, sharedDomains.TxNum(), "getReceipts", nil)
536+
latestTxNum, _, err := sharedDomains.SeekCommitment(ctx, tx)
537+
if err != nil {
538+
return nil, err
539+
}
540+
stateRoot, err = sharedDomains.ComputeCommitment(ctx, tx, false, blockNum, latestTxNum, "getReceipts", nil)
533541
if err != nil {
534542
return nil, err
535543
}

rpc/rpchelper/helper.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ func NewLatestStateWriter(tx kv.TemporalTx, domains *execctx.SharedDomains, bloc
194194
panic(err)
195195
}
196196
txNum := uint64(int(minTxNum) + /* 1 system txNum in beginning of block */ 1)
197-
domains.SetTxNum(txNum)
198197
return state.NewWriter(domains.AsPutDel(tx), nil, txNum)
199198
}
200199

0 commit comments

Comments
 (0)