You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let tx =makeTx(recipient, amount)
xp.addLocal(tx, force =true)
xp.jobCommit()
var blk = xp.ethBlock()
let body =BlockBody(
transactions: blk.txs,
uncles: blk.uncles
)
clique.prepare(parent, blk.header)
clique.seal(blk)
chain.persistBlocks([blk.header], [body])
Both gasTip and baseFee in tx_packer.nim are different from priorityFee and baseFee in process_transaction.nim. Because of that, stateRoot produced by txPool is not equal to the one produced by persistBlocks.
This issue reveals, probably we need to lift EIP1559 tx normalization up higher near tx entry point to txPool.
Also need to harmonize between two different baseFee.
Using steps below(some code omitted for clarity):
nimbus-eth1/nimbus/utils/tx_pool/tx_tasks/tx_packer.nim
Line 105 in 6a90937
nimbus-eth1/nimbus/p2p/executor/process_transaction.nim
Line 99 in 6a90937
Both
gasTip
andbaseFee
intx_packer.nim
are different frompriorityFee
andbaseFee
inprocess_transaction.nim
. Because of that,stateRoot
produced by txPool is not equal to the one produced by persistBlocks.This issue reveals, probably we need to lift EIP1559 tx normalization up higher near tx entry point to txPool.
Also need to harmonize between two different
baseFee
.nimbus-eth1/nimbus/utils/tx_pool/tx_item.nim
Line 160 in 6a90937
Also in
effectiveGasTip
, for just one transaction, there are 3 differentbaseFee
The text was updated successfully, but these errors were encountered: