aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-03-28 18:21:00 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:59 +0800
commit3cb8ea02990fe36da2498f5df736e2eb1d0f43b2 (patch)
treebafe34fe0dc4424ee830801aa336289f03d26dff /core
parent08c893f4942ea84ed13ecdd6058bcf39585a4566 (diff)
downloaddexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar.gz
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar.bz2
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar.lz
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar.xz
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.tar.zst
dexon-3cb8ea02990fe36da2498f5df736e2eb1d0f43b2.zip
dex: rebuild connection if dkg reset, core/vm: fix gov (#308)
* dex: rebuild connection if dkg reset * core: vm: fix governance contract
Diffstat (limited to 'core')
-rw-r--r--core/governance.go4
-rw-r--r--core/vm/oracle_contracts.go12
2 files changed, 16 insertions, 0 deletions
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 {