aboutsummaryrefslogtreecommitdiffstats
path: root/core/configuration-chain.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-04-25 11:48:02 +0800
committerGitHub <noreply@github.com>2019-04-25 11:48:02 +0800
commit306d416fc794ddf803a1edc322ad7c7271743c9d (patch)
treec7ec4507628e268a68cc183e97e34b8bfb1514a6 /core/configuration-chain.go
parent3bc4cb2b9bb26c739d7e80daf42509628501758e (diff)
downloaddexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar.gz
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar.bz2
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar.lz
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar.xz
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.tar.zst
dexon-consensus-306d416fc794ddf803a1edc322ad7c7271743c9d.zip
core: fix dkg complaint handling (#578)v1.0.0
Diffstat (limited to 'core/configuration-chain.go')
-rw-r--r--core/configuration-chain.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/core/configuration-chain.go b/core/configuration-chain.go
index 4e70ff0..3b4cdbb 100644
--- a/core/configuration-chain.go
+++ b/core/configuration-chain.go
@@ -70,6 +70,7 @@ type configurationChain struct {
dkgLock sync.RWMutex
dkgSigner map[uint64]*dkgShareSecret
npks map[uint64]*typesDKG.NodePublicKeys
+ complaints []*typesDKG.Complaint
dkgResult sync.RWMutex
tsig map[common.Hash]*tsigProtocol
tsigTouched map[common.Hash]struct{}
@@ -321,8 +322,8 @@ func (cc *configurationChain) runDKGPhaseFour() {
func (cc *configurationChain) runDKGPhaseFiveAndSix(round uint64, reset uint64) {
// Phase 5(T = 2λ): Propose Anti nack complaint.
cc.logger.Debug("Calling Governance.DKGComplaints", "round", round)
- complaints := cc.gov.DKGComplaints(round)
- if err := cc.dkg.processNackComplaints(complaints); err != nil {
+ cc.complaints = cc.gov.DKGComplaints(round)
+ if err := cc.dkg.processNackComplaints(cc.complaints); err != nil {
cc.logger.Error("Failed to process NackComplaint",
"round", round,
"reset", reset,
@@ -333,9 +334,9 @@ func (cc *configurationChain) runDKGPhaseFiveAndSix(round uint64, reset uint64)
// Rebroadcast is done in `processPrivateShare`.
}
-func (cc *configurationChain) runDKGPhaseSeven(complaints []*typesDKG.Complaint) {
+func (cc *configurationChain) runDKGPhaseSeven() {
// Phase 7(T = 4λ): Enforce complaints and nack complaints.
- cc.dkg.enforceNackComplaints(complaints)
+ cc.dkg.enforceNackComplaints(cc.complaints)
// Enforce complaint is done in `processPrivateShare`.
}
@@ -425,8 +426,7 @@ func (cc *configurationChain) initDKGPhasesFunc() {
return nil
},
func(round uint64, reset uint64) error {
- complaints := cc.gov.DKGComplaints(round)
- cc.runDKGPhaseSeven(complaints)
+ cc.runDKGPhaseSeven()
return nil
},
func(round uint64, reset uint64) error {