Skip to content

Commit f266410

Browse files
committed
fix(core): gate coinbase owner refresh behind prague
Refreshing the coinbase owner during block execution changes fee-credit routing and therefore consensus state. Keep the historical block-level owner semantics before Prague and only re-read the current owner per transaction after Prague. Add unit tests covering both TRC21 and native-fee paths for the pre-Prague and post-Prague behaviors.
1 parent f5fe86c commit f266410

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

core/state_processor.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,7 @@ func ApplyTransactionWithEVM(msg *Message, gp *GasPool, statedb *state.StateDB,
458458
// End Bypass denylist address
459459

460460
// Apply the transaction to the current state (included in the env)
461+
coinbaseOwner = statedb.GetOwner(evm.Context.Coinbase)
461462
result, err := ApplyMessage(evm, msg, gp, coinbaseOwner)
462463
if err != nil {
463464
return nil, 0, false, err

0 commit comments

Comments
 (0)