From 3cb8ea02990fe36da2498f5df736e2eb1d0f43b2 Mon Sep 17 00:00:00 2001 From: Jimmy Hu Date: Thu, 28 Mar 2019 18:21:00 +0800 Subject: dex: rebuild connection if dkg reset, core/vm: fix gov (#308) * dex: rebuild connection if dkg reset * core: vm: fix governance contract --- core/governance.go | 4 ++++ core/vm/oracle_contracts.go | 12 ++++++++++++ 2 files changed, 16 insertions(+) (limited to 'core') diff --git a/core/governance.go b/core/governance.go index b39fdc3c6..d40432301 100644 --- a/core/governance.go +++ b/core/governance.go @@ -170,6 +170,10 @@ func (d *Governance) NodeSet(round uint64) []coreCrypto.PublicKey { return pks } +func (d *Governance) PurgeNotarySet(round uint64) { + d.nodeSetCache.Purge(round) +} + func (d *Governance) NotarySet(round uint64) (map[string]struct{}, error) { notarySet, err := d.nodeSetCache.GetNotarySet(round) if err != nil { diff --git a/core/vm/oracle_contracts.go b/core/vm/oracle_contracts.go index dc09df194..3da5e3335 100644 --- a/core/vm/oracle_contracts.go +++ b/core/vm/oracle_contracts.go @@ -2349,6 +2349,18 @@ func (g *GovernanceContract) Run(evm *EVM, input []byte, contract *Contract) (re return nil, errExecutionReverted } return res, nil + case "notaryParamAlpha": + res, err := method.Outputs.Pack(g.state.NotaryParamAlpha()) + if err != nil { + return nil, errExecutionReverted + } + return res, nil + case "notaryParamBeta": + res, err := method.Outputs.Pack(g.state.NotaryParamBeta()) + if err != nil { + return nil, errExecutionReverted + } + return res, nil case "owner": res, err := method.Outputs.Pack(g.state.Owner()) if err != nil { -- cgit v1.2.3