Skip to content

Commit 9b1d88a

Browse files
committed
Disable all EIP-7685 request handling
Essentially, the arbitrum chains do not support anything analogous to the L1 ethereum consensus layer. So, there is no need to perform special handling for those requests when running arbitrum nodes.
1 parent 372e3e9 commit 9b1d88a

File tree

4 files changed

+11
-8
lines changed

4 files changed

+11
-8
lines changed

cmd/evm/internal/t8ntool/execution.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,8 @@ func (pre *Prestate) Apply(vmConfig vm.Config, chainConfig *params.ChainConfig,
355355

356356
// Gather the execution-layer triggered requests.
357357
var requests [][]byte
358-
if chainConfig.IsPrague(vmContext.BlockNumber, vmContext.Time, vmContext.ArbOSVersion) {
358+
// Arbitrum doesn't support Deposit/Withdrawal/Consolidation requests.
359+
if !chainConfig.IsArbitrum() && chainConfig.IsPrague(vmContext.BlockNumber, vmContext.Time, vmContext.ArbOSVersion) {
359360
requests = [][]byte{}
360361
// EIP-6110
361362
var allLogs []*types.Log

core/chain_makers.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,8 @@ func (b *BlockGen) collectRequests(readonly bool) (requests [][]byte) {
316316
}
317317

318318
blockContext := NewEVMBlockContext(b.header, b.cm, &b.header.Coinbase)
319-
if b.cm.config.IsPrague(b.header.Number, b.header.Time, blockContext.ArbOSVersion) {
319+
// Arbitrum doesn't support Deposit, Withdrawal, or Consolidation requests.
320+
if !b.cm.config.IsArbitrum() && b.cm.config.IsPrague(b.header.Number, b.header.Time, blockContext.ArbOSVersion) {
320321
requests = [][]byte{}
321322
// EIP-6110 deposits
322323
var blockLogs []*types.Log

core/state_processor.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
107107

108108
// Read requests if Prague is enabled.
109109
var requests [][]byte
110-
if p.config.IsPrague(block.Number(), block.Time(), context.ArbOSVersion) {
110+
// Arbitrum has no Deposit, Witdrawal, or Consolidation requests.
111+
if !p.config.IsArbitrum() && p.config.IsPrague(block.Number(), block.Time(), context.ArbOSVersion) {
111112
requests = [][]byte{}
112113
// EIP-6110
113114
if err := ParseDepositLogs(&requests, allLogs, p.config); err != nil {

internal/ethapi/simulate.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ func (sim *simulator) processBlock(ctx context.Context, block *simBlock, header,
208208
if precompiles != nil {
209209
evm.SetPrecompiles(precompiles)
210210
}
211-
if sim.chainConfig.IsPrague(header.Number, header.Time, arbOSVersion) || sim.chainConfig.IsVerkle(header.Number, header.Time) {
211+
if sim.chainConfig.IsPrague(header.Number, header.Time, parentArbOSVersion) || sim.chainConfig.IsVerkle(header.Number, header.Time) {
212212
core.ProcessParentBlockHash(header.ParentHash, evm)
213213
}
214214
var allLogs []*types.Log
@@ -257,8 +257,8 @@ func (sim *simulator) processBlock(ctx context.Context, block *simBlock, header,
257257
callResults[i] = callRes
258258
}
259259
var requests [][]byte
260-
// Process EIP-7685 requests
261-
if sim.chainConfig.IsPrague(header.Number, header.Time, arbOSVersion) {
260+
// Process EIP-7685 requests unless Arbitrum is enabled.
261+
if !sim.chainConfig.IsArbitrum() && sim.chainConfig.IsPrague(header.Number, header.Time, parentArbOSVersion) {
262262
requests = [][]byte{}
263263
// EIP-6110
264264
if err := core.ParseDepositLogs(&requests, allLogs, sim.chainConfig); err != nil {
@@ -271,11 +271,11 @@ func (sim *simulator) processBlock(ctx context.Context, block *simBlock, header,
271271
}
272272
header.Root = sim.state.IntermediateRoot(true)
273273
header.GasUsed = gasUsed
274-
if sim.chainConfig.IsCancun(header.Number, header.Time, arbOSVersion) {
274+
if sim.chainConfig.IsCancun(header.Number, header.Time, parentArbOSVersion) {
275275
header.BlobGasUsed = &blobGasUsed
276276
}
277277
var withdrawals types.Withdrawals
278-
if sim.chainConfig.IsShanghai(header.Number, header.Time, arbOSVersion) {
278+
if sim.chainConfig.IsShanghai(header.Number, header.Time, parentArbOSVersion) {
279279
withdrawals = make([]*types.Withdrawal, 0)
280280
}
281281
if requests != nil {

0 commit comments

Comments
 (0)