From 5893ab04fe50d5712bba896c6f6b166b4762b4da Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Sun, 19 May 2019 21:12:55 +0800 Subject: core: vm: fix payFine function --- core/vm/oracle_contracts.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'core/vm/oracle_contracts.go') diff --git a/core/vm/oracle_contracts.go b/core/vm/oracle_contracts.go index 47a680455..eebfa9a3a 100644 --- a/core/vm/oracle_contracts.go +++ b/core/vm/oracle_contracts.go @@ -1919,7 +1919,9 @@ func (g *GovernanceContract) payFine(nodeAddr common.Address) ([]byte, error) { g.state.UpdateNode(nodeOffset, node) // Pay the fine to governance owner. - g.evm.StateDB.AddBalance(g.state.Owner(), g.contract.Value()) + if !g.transfer(GovernanceContractAddress, g.state.Owner(), g.contract.Value()) { + return nil, errExecutionReverted + } g.state.emitFinePaid(nodeAddr, g.contract.Value()) -- cgit v1.2.3