aboutsummaryrefslogtreecommitdiffstats
path: root/core/utils/crypto.go
diff options
context:
space:
mode:
authorMission Liao <mission.liao@dexon.org>2019-03-20 17:29:22 +0800
committerGitHub <noreply@github.com>2019-03-20 17:29:22 +0800
commitc852eda00f781abafaab2b41d2c1a85fe9d3177f (patch)
tree931680bf76590c4bdb74c247582f213c17db9274 /core/utils/crypto.go
parent448935829700500ecf512b9e0a6437cbb63504b3 (diff)
downloaddexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar.gz
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar.bz2
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar.lz
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar.xz
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.tar.zst
dexon-consensus-c852eda00f781abafaab2b41d2c1a85fe9d3177f.zip
core: reset DKG (#502)
* Allow utils.NodeSetCache to purge by rounds. * Purge utils.NodeSetCache when DKG reset. * Add a utils.RoundEvent handler to abort all previous running DKG * Fix test.App hangs in BlockDelivered when utils.RoundEvent is attached. ValidateNextRound is a blocking call and would block test.App.BlockDelivered.
Diffstat (limited to 'core/utils/crypto.go')
-rw-r--r--core/utils/crypto.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/utils/crypto.go b/core/utils/crypto.go
index 7532d29..8be503f 100644
--- a/core/utils/crypto.go
+++ b/core/utils/crypto.go
@@ -323,3 +323,12 @@ func VerifyDKGFinalizeSignature(
}
return true, nil
}
+
+// Rehash hashes the hash again and again and again...
+func Rehash(hash common.Hash, count uint) common.Hash {
+ result := hash
+ for i := uint(0); i < count; i++ {
+ result = crypto.Keccak256Hash(result[:])
+ }
+ return result
+}