diff --git a/core/state_processor.go b/core/state_processor.go index a0eb4d63b3..60e4a11893 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -141,6 +141,9 @@ func applyTransaction(msg *Message, config *params.ChainConfig, gp *GasPool, sta statedb.AddBalance(result.BurntContractAddress, result.FeeBurnt) } + // TODO(raneet10) Double check + statedb.AddBalance(evm.Context.Coinbase, result.FeeTipped) + if result.Err == vm.ErrInterrupt { return nil, result.Err } diff --git a/core/state_transition.go b/core/state_transition.go index e541fe3f53..b71fcbf88d 100644 --- a/core/state_transition.go +++ b/core/state_transition.go @@ -441,15 +441,16 @@ func (st *StateTransition) TransitionDb(interruptCtx context.Context) (*Executio effectiveTip = cmath.BigMin(msg.GasTipCap, new(big.Int).Sub(msg.GasFeeCap, st.evm.Context.BaseFee)) } - if st.evm.Config.NoBaseFee && msg.GasFeeCap.Sign() == 0 && msg.GasTipCap.Sign() == 0 { - // Skip fee payment when NoBaseFee is set and the fee fields - // are 0. This avoids a negative effectiveTip being applied to - // the coinbase when simulating calls. - } else { - fee := new(big.Int).SetUint64(st.gasUsed()) - fee.Mul(fee, effectiveTip) - st.state.AddBalance(st.evm.Context.Coinbase, fee) - } + // TODO(raneet10): Double check. We might want to inculcate this fix in a separate condition + // if st.evm.Config.NoBaseFee && msg.GasFeeCap.Sign() == 0 && msg.GasTipCap.Sign() == 0 { + // // Skip fee payment when NoBaseFee is set and the fee fields + // // are 0. This avoids a negative effectiveTip being applied to + // // the coinbase when simulating calls. + // } else { + // fee := new(big.Int).SetUint64(st.gasUsed()) + // fee.Mul(fee, effectiveTip) + // st.state.AddBalance(st.evm.Context.Coinbase, fee) + // } amount := new(big.Int).Mul(new(big.Int).SetUint64(st.gasUsed()), effectiveTip) diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer/inner_revert_reason.json b/eth/tracers/internal/tracetest/testdata/call_tracer/inner_revert_reason.json index ad0627ccd6..9d8356e4dd 100644 --- a/eth/tracers/internal/tracetest/testdata/call_tracer/inner_revert_reason.json +++ b/eth/tracers/internal/tracetest/testdata/call_tracer/inner_revert_reason.json @@ -37,6 +37,13 @@ "clique": { "period": 0, "epoch": 30000 + }, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } } } }, diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create.json index 1b09622474..9cc9561e54 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create.json @@ -41,7 +41,14 @@ "londonBlock": 12965000, "arrowGlacierBlock": 13773000, "grayGlacierBlock": 15050000, - "ethash": {} + "ethash": {}, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } + } } }, "context": { diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json index e80dad5667..2f6e08e707 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_failed.json @@ -56,7 +56,14 @@ "arrowGlacierBlock": 13773000, "grayGlacierBlock": 15050000, "terminalTotalDifficultyPassed": true, - "ethash": {} + "ethash": {}, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x0000000000000000000000000000000000000dead" + } + } } }, "context": { diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_suicide.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_suicide.json index fdeb0e5067..dbe97a36fe 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_suicide.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/create_suicide.json @@ -53,7 +53,14 @@ "londonBlock": 12965000, "arrowGlacierBlock": 13773000, "grayGlacierBlock": 15050000, - "ethash": {} + "ethash": {}, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } + } } }, "context": { diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/inner_create.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/inner_create.json index 9c0030a0a8..ca6504450e 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/inner_create.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/inner_create.json @@ -189,7 +189,14 @@ "londonBlock": 12965000, "arrowGlacierBlock": 13773000, "grayGlacierBlock": 15050000, - "ethash": {} + "ethash": {}, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } + } } }, "context": { diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/simple.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/simple.json index 01cc3c5058..e674b3d8f5 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/simple.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/simple.json @@ -41,7 +41,14 @@ "eip155Block": 10, "eip158Block": 10, "ethash": {}, - "homesteadBlock": 0 + "homesteadBlock": 0, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } + } }, "difficulty": "3509749784", "extraData": "0x4554482e45544846414e532e4f52472d4641313738394444", diff --git a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/suicide.json b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/suicide.json index 5021bda192..42ba267027 100644 --- a/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/suicide.json +++ b/eth/tracers/internal/tracetest/testdata/prestate_tracer_with_diff_mode/suicide.json @@ -61,7 +61,14 @@ "londonBlock": 12965000, "arrowGlacierBlock": 13773000, "grayGlacierBlock": 15050000, - "ethash": {} + "ethash": {}, + "bor": { + "validatorContract": "0x0000000000000000000000000000000000001000", + "stateReceiverContract": "0x0000000000000000000000000000000000001001", + "burntContract": { + "0": "0x00000000000000000000000000000000000000000" + } + } } }, "context": {