aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2019-04-10 10:41:21 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-15 22:09:55 +0800
commit1bbface79d499243aa836140b7ee295ba9f572a5 (patch)
tree1b713685cec8eb7c4bb5b6fa714159c0863695e6
parent33e70e61e04cfab68bcb6ce26665f7947be77a5f (diff)
downloadgo-tangerine-1bbface79d499243aa836140b7ee295ba9f572a5.tar.gz
go-tangerine-1bbface79d499243aa836140b7ee295ba9f572a5.tar.zst
go-tangerine-1bbface79d499243aa836140b7ee295ba9f572a5.zip
vendor: sync to latest core
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go62
-rw-r--r--vendor/vendor.json42
2 files changed, 63 insertions, 41 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go
index 4a99d3dcc..76917a310 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go
@@ -580,31 +580,31 @@ func (cc *configurationChain) recoverDKGInfo(
return ErrDKGNotReady
}
+ threshold := utils.GetDKGThreshold(
+ utils.GetConfigWithPanic(cc.gov, round, cc.logger))
+ cc.logger.Debug("Calling Governance.DKGMasterPublicKeys for recoverDKGInfo",
+ "round", round)
+ mpk := cc.gov.DKGMasterPublicKeys(round)
+ cc.logger.Debug("Calling Governance.DKGComplaints for recoverDKGInfo",
+ "round", round)
+ comps := cc.gov.DKGComplaints(round)
+ qualifies, _, err := typesDKG.CalcQualifyNodes(mpk, comps, threshold)
+ if err != nil {
+ return err
+ }
+ if len(qualifies) <
+ utils.GetDKGValidThreshold(utils.GetConfigWithPanic(
+ cc.gov, round, cc.logger)) {
+ return typesDKG.ErrNotReachThreshold
+ }
+
if !npksExists {
- threshold := utils.GetDKGThreshold(
- utils.GetConfigWithPanic(cc.gov, round, cc.logger))
- // Restore group public key.
- cc.logger.Debug("Calling Governance.DKGMasterPublicKeys for recoverDKGInfo",
- "round", round)
- mpk := cc.gov.DKGMasterPublicKeys(round)
- cc.logger.Debug("Calling Governance.DKGComplaints for recoverDKGInfo",
- "round", round)
- comps := cc.gov.DKGComplaints(round)
- qualifies, _, err := typesDKG.CalcQualifyNodes(mpk, comps, threshold)
- if err != nil {
- return err
- }
- if len(qualifies) <
- utils.GetDKGValidThreshold(utils.GetConfigWithPanic(
- cc.gov, round, cc.logger)) {
- return typesDKG.ErrNotReachThreshold
- }
npks, err := typesDKG.NewNodePublicKeys(round,
cc.gov.DKGMasterPublicKeys(round),
cc.gov.DKGComplaints(round),
threshold)
if err != nil {
- cc.logger.Warn("Failed to create DKGGroupPublicKey",
+ cc.logger.Warn("Failed to create DKGNodePublicKeys",
"round", round, "error", err)
return err
}
@@ -620,7 +620,29 @@ func (cc *configurationChain) recoverDKGInfo(
if err != nil {
cc.logger.Warn("Failed to create DKGPrivateKey",
"round", round, "error", err)
- return err
+ dkgProtocolInfo, err := cc.db.GetDKGProtocol()
+ if err != nil {
+ cc.logger.Warn("Unable to recover DKGProtocolInfo",
+ "round", round, "error", err)
+ return err
+ }
+ if dkgProtocolInfo.Round != round {
+ cc.logger.Warn("DKGProtocolInfo round mismatch",
+ "round", round, "infoRound", dkgProtocolInfo.Round)
+ return err
+ }
+ prvKeyRecover, err :=
+ dkgProtocolInfo.PrvShares.RecoverPrivateKey(qualifies)
+ if err != nil {
+ cc.logger.Warn("Failed to recover DKGPrivateKey",
+ "round", round, "error", err)
+ return err
+ }
+ if err = cc.db.PutDKGPrivateKey(round, *prvKeyRecover); err != nil {
+ cc.logger.Warn("Failed to save DKGPrivateKey",
+ "round", round, "error", err)
+ }
+ prvKey = *prvKeyRecover
}
func() {
cc.dkgResult.Lock()
diff --git a/vendor/vendor.json b/vendor/vendor.json
index f98477f06..e07c1a557 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -141,16 +141,16 @@
{
"checksumSHA1": "In6vBHYUsX7DUIGiFN2hQggBgvI=",
"path": "github.com/dexon-foundation/dexon-consensus/common",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
- "checksumSHA1": "+omcW5A0/pD0ScXpN2SWIP6RC7A=",
+ "checksumSHA1": "lY1KAGWRuwd7OpzAz5yN7IysMvU=",
"path": "github.com/dexon-foundation/dexon-consensus/core",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
@@ -165,64 +165,64 @@
{
"checksumSHA1": "tQSbYCu5P00lUhKsx3IbBZCuSLY=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "m5lUT04qSHKtFukvxjnFX5Jo2hI=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/dkg",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "BhLKK8RveoLaeXc9UyUKMwQqchU=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/ecdsa",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "hj/KetWUHp+1CX+50V0QnCthfWc=",
"path": "github.com/dexon-foundation/dexon-consensus/core/db",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "/OcEQKdtWDyRZibazIsAxJWHUyg=",
"path": "github.com/dexon-foundation/dexon-consensus/core/syncer",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "zIgCdN4FJiAuPGMhB+/9YGK/Wgk=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "lbG7yqVgzo2CV/CQPYjG78xp5jg=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types/dkg",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "1VsJIshz0loXnGwCtrMM8SuIo6Y=",
"path": "github.com/dexon-foundation/dexon-consensus/core/utils",
- "revision": "948be08a7294e26f3b52f94f9af803f69680f9df",
- "revisionTime": "2019-04-09T09:36:40Z",
+ "revision": "b9492bc09f8bb53b2a36e505ddad0d26373e71a3",
+ "revisionTime": "2019-04-10T01:52:20Z",
"version": "single-chain",
"versionExact": "single-chain"
},