Skip to content

EIP-7002 WithdrawalRequestAddress syscall failure on custom PoS testnet in Erigon #17026

@SyedMuhamadYasir

Description

@SyedMuhamadYasir

Hi, I’m running a custom PoS testnet with Erigon + Lighthouse + Validator client.
Everything starts fine, but when block proposals begin, Erigon refuses to finalize execution with the following error:

[EIP-7002] Syscall failure: Empty Code at WithdrawalRequestAddress=00000961ef480eb55e80d19ad83579a64c007002
error=gas uint64 overflow

Erigon log: shows Empty Code at WithdrawalRequestAddress ...

Lighthouse log: reports BAD_REQUEST: GetPayloadFailed(EngineError(...))

Validator log: shows the same withdrawal address and fails to propose blocks.

I already tried adding the following into my genesis.json alloc:

"0x00000961ef480eb55e80d19ad83579a64c007002": {
  "balance": "0x0",
  "code": "0x33600060003760006000f3"
}

and also precompiles at 0x1 and 0x2, but the error persists.

Questions:

Is Erigon expecting a different address for the EIP-7002 withdrawal precompile in testnets?

Is the 0x33600060003760006000f3 code correct for WithdrawalRequest, or does Erigon require a different implementation?

Why do Geth/Reth not complain here, but Erigon strictly enforces this check?

What is the recommended way to configure genesis.json for custom PoS testnets so withdrawals work?

Below are the logs (Erigon, Lighthouse, Validator) for context.

Image Image Image

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions