diff options
author | Wei-Ning Huang <w@cobinhood.com> | 2018-10-13 15:22:08 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-03-12 12:19:09 +0800 |
commit | 40b1f02b48cd275b878e9c4308c4373f2c6329e2 (patch) | |
tree | 19353d6d57a0f674b134454fbf59ab0bae0333a4 /core | |
parent | 7774f1809297b1d158cef504a56bf49296f90609 (diff) | |
download | dexon-40b1f02b48cd275b878e9c4308c4373f2c6329e2.tar.gz dexon-40b1f02b48cd275b878e9c4308c4373f2c6329e2.tar.zst dexon-40b1f02b48cd275b878e9c4308c4373f2c6329e2.zip |
dex: implement sendTx related governance methods
Diffstat (limited to 'core')
-rw-r--r-- | core/vm/governance.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/vm/governance.go b/core/vm/governance.go index f5660a92e..5bbb5a1ec 100644 --- a/core/vm/governance.go +++ b/core/vm/governance.go @@ -549,6 +549,7 @@ const abiJSON = ` ` var abiObject abi.ABI +var GovernanceContractName2Method map[string]abi.Method var sig2Method map[string]abi.Method var events map[string]abi.Event @@ -560,10 +561,12 @@ func init() { } sig2Method = make(map[string]abi.Method) + GovernanceContractName2Method = make(map[string]abi.Method) // Construct dispatch table. for _, method := range abiObject.Methods { sig2Method[string(method.Id())] = method + GovernanceContractName2Method[method.Name] = method } events = make(map[string]abi.Event) @@ -1564,9 +1567,11 @@ func (g *GovernanceContract) snapshotRound(round, height *big.Int) ([]byte, erro // Only allow updating the next round. nextRound := g.state.LenRoundHeight() if round.Cmp(nextRound) != 0 { + g.penalize() return nil, errExecutionReverted } g.state.PushRoundHeight(height) + g.contract.UseGas(100000) return nil, nil } |