Closed AntonieDavid closed 1 month ago
trait method EthTransaction::transaction_receipt
needs an override in impl EthTransactions for OpEthApi<N>
at second look, it appears the reth code is correct, and bugs are caused by op-alloy
. ref https://github.com/alloy-rs/op-alloy/pull/53.
l1FeeScalar
shouldn't be set after ecotone, so we're probably mistakenly still setting this for fjord. we need new types to contain in op receipt envelopes, this type safety will help us setting these fields correctly, issue open https://github.com/alloy-rs/op-alloy/issues/54
l1_fee
computation is off
op-reth
: "l1Fee": "0x84aaa7"
op-geth
: "l1Fee": "0x125f723f3"
this bug also caught by new unit test https://github.com/paradigmxyz/reth/pull/10620
seems like there is a new func for calculating l1Fee
and L1GasUsed
since Fjord
thanks for addressing parts of the issue, waiting for the l1Fee/L1GasUsed
functions to be updated
Describe the bug
I've been testing the op-reth client on base mainnet and found a big difference when comparing the results from the node running on op-reth to the ones from a node running op-geth. for simplicity, the main difference is the
l1Fee
value, which should be identical and also the reth node is missing some paramsl1BaseFeeScalar/l1BlobBaseFee/l1BlobBaseFeeScalar
and also there isl1FeeScalar
this parameter in op-reth which isn't present in the op-geth result.Steps to reproduce
payload for that request:
{"method": "eth_getTransactionReceipt", "params": ["0xca564948e3e825f65731424da063240eec34ba921dd117ac5d06b8c2e0b2d962"], "id": 52, "jsonrpc": "2.0"}
op-reth service file flags/description:ExecStart=/usr/local/bin/op-reth node \ --ws --ws.port=8546 --ws.addr=0.0.0.0 --ws.origins="*" \ --http --http.port=8545 --http.addr=0.0.0.0 \ --http.corsdomain="*" \ --authrpc.addr=0.0.0.0 \ --authrpc.jwtsecret=/node/data/secret.jwt \ --authrpc.port=8551 \ --datadir=/node/data/reth/ \ --rollup.sequencer-http=https://mainnet-sequencer.base.org \ --http.api=admin,debug,eth,net,trace,web3,rpc,reth,ots,eth-call-bundle \ --ws.api=admin,debug,eth,net,trace,web3,rpc,reth,ots,eth-call-bundle \ --metrics 0.0.0.0:6060 \ --chain base \ --rpc.gascap 18446744073709551615 \ --rpc.max-connections 429496729 \ --rpc.max-logs-per-response 0 \ --rpc.max-subscriptions-per-connection 10000 \ --rollup.disable-tx-pool-gossip
Node logs
Platform(s)
Linux (x86)
What version/commit are you on?
op-reth --version reth Version: 1.0.3 Commit SHA: 390f30aadebcdd509e72cc04327c3b854de076a6 Build Timestamp: 2024-08-05T23:59:17.371843433Z Build Features: jemalloc,optimism Build Profile: maxperf
What database version are you on?
op-reth db version 2024-08-22T18:23:51.766359Z INFO Initialized tracing, debug log directory: /root/.cache/reth/logs/optimism Error: Datadir does not exist: "/root/.local/share/reth/optimism"
Location: /root/reth/crates/cli/commands/src/db/mod.rs:71:9
Which chain / network are you on?
base mainnet
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
source "$HOME/.cargo/env" && RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features jemalloc,asm-keccak,optimism --bin op-reth
Code of Conduct