diff --git a/core/state_transition.go b/core/state_transition.go index 0d79923f2ac7df92a5db07e398f0d651ecd8d376..1f879d9633842db408165a5545c12a5428133f51 100644 --- a/core/state_transition.go +++ b/core/state_transition.go @@ -238,20 +238,18 @@ func (st *StateTransition) TransitionDb() (ret []byte, usedGas uint64, failed bo output2 := new(big.Int).SetBytes(input2.Bytes()) // add transfer log - if amount.Cmp(bigZero) > 0 { - AddFeeTransferLog( - st.state, - - msg.From(), - st.evm.Coinbase, - - amount, - input1, - input2, - output1.Sub(output1, amount), - output2.Add(output2, amount), - ) - } + AddFeeTransferLog( + st.state, + + msg.From(), + st.evm.Coinbase, + + amount, + input1, + input2, + output1.Sub(output1, amount), + output2.Add(output2, amount), + ) return ret, st.gasUsed(), vmerr != nil, err } @@ -348,6 +346,11 @@ func addTransferLog( output1, output2 *big.Int, ) { + // ignore if amount is 0 + if amount.Cmp(bigZero) <= 0 { + return + } + dataInputs := []*big.Int{ amount, input1,