aboutsummaryrefslogtreecommitdiffstats
path: root/dex/downloader
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2019-03-20 11:55:01 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:58 +0800
commitbbd2910687e9e5cd5c52e887f837f5c992ba2261 (patch)
tree5b76316f47ca4437fab3e0ae29dee4a112e2d805 /dex/downloader
parent614cca7f39b8d63a5da938e56509e6fa5fc467cf (diff)
downloaddexon-bbd2910687e9e5cd5c52e887f837f5c992ba2261.tar.gz
dexon-bbd2910687e9e5cd5c52e887f837f5c992ba2261.tar.zst
dexon-bbd2910687e9e5cd5c52e887f837f5c992ba2261.zip
consensus: dexcon: disqualify dead node (#280)
Since a qualified node might fail stopped, we need to remove them from qualified nodes to maintain network integrity. We do this by inspect the previous round to see if there are dead nodes. A dead node is a notary set node that does not propose any block in the previous round. We disqualify them by fining them so their staked value is 1 wei below minStake. This make them unqualified for being notary set in the follow on rounds.
Diffstat (limited to 'dex/downloader')
-rw-r--r--dex/downloader/testchain_test.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/dex/downloader/testchain_test.go b/dex/downloader/testchain_test.go
index 722159bc0..15528c509 100644
--- a/dex/downloader/testchain_test.go
+++ b/dex/downloader/testchain_test.go
@@ -342,3 +342,7 @@ func (g *govStateFetcher) GetStateForConfigAtRound(round uint64) *vm.GovernanceS
}
return nil
}
+
+func (g *govStateFetcher) NotarySetNodeKeyAddresses(round uint64) (map[common.Address]struct{}, error) {
+ return make(map[common.Address]struct{}), nil
+}