aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go1
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/configuration-chain.go7
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go6
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/utils/vote-filter.go13
-rw-r--r--vendor/vendor.json44
5 files changed, 43 insertions, 28 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
index 4e6f230dc..af0adf259 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/agreement-mgr.go
@@ -257,6 +257,7 @@ func (mgr *agreementMgr) processVote(v *types.Vote) (err error) {
}
if err = mgr.baModule.processVote(v); err == nil {
mgr.baModule.updateFilter(mgr.voteFilter)
+ mgr.voteFilter.AddVote(v)
}
return
}
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 fbd504d24..4a99d3dcc 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
@@ -662,7 +662,7 @@ func (cc *configurationChain) untouchTSigHash(hash common.Hash) {
}
func (cc *configurationChain) runTSig(
- round uint64, hash common.Hash) (
+ round uint64, hash common.Hash, wait time.Duration) (
crypto.Signature, error) {
npks, _, _ := cc.getDKGInfo(round, false)
if npks == nil {
@@ -687,8 +687,7 @@ func (cc *configurationChain) runTSig(
}()
timeout := make(chan struct{}, 1)
go func() {
- // TODO(jimmy-dexon): make timeout configurable.
- time.Sleep(5 * time.Second)
+ time.Sleep(wait)
timeout <- struct{}{}
cc.tsigReady.Broadcast()
}()
@@ -714,7 +713,7 @@ func (cc *configurationChain) runTSig(
func (cc *configurationChain) runCRSTSig(
round uint64, crs common.Hash) ([]byte, error) {
- sig, err := cc.runTSig(round, crs)
+ sig, err := cc.runTSig(round, crs, cc.gov.Configuration(round).LambdaDKG*5)
cc.logger.Info("CRS",
"nodeID", cc.ID,
"round", round+1,
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
index adaf51d62..ca7d10f2e 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go
@@ -1084,7 +1084,11 @@ func (con *Consensus) generateBlockRandomness(blocks []*types.Block) {
"proposer", psig.ProposerID,
"block", block)
con.network.BroadcastDKGPartialSignature(psig)
- sig, err := con.cfgModule.runTSig(block.Position.Round, block.Hash)
+ sig, err := con.cfgModule.runTSig(
+ block.Position.Round,
+ block.Hash,
+ 60*time.Minute,
+ )
if err != nil {
con.logger.Error("Failed to run Block Tsig",
"block", block,
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/vote-filter.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/vote-filter.go
index a19902758..2fc18bb34 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/vote-filter.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/utils/vote-filter.go
@@ -24,6 +24,7 @@ import (
// VoteFilter filters votes that are useless for now.
// To maximize performance, this structure is not thread-safe and will never be.
type VoteFilter struct {
+ Voted map[types.VoteHeader]struct{}
Height uint64
LockIter uint64
Period uint64
@@ -32,7 +33,9 @@ type VoteFilter struct {
// NewVoteFilter creates a new vote filter instance.
func NewVoteFilter() *VoteFilter {
- return &VoteFilter{}
+ return &VoteFilter{
+ Voted: make(map[types.VoteHeader]struct{}),
+ }
}
// Filter checks if the vote should be filtered out.
@@ -57,5 +60,13 @@ func (vf *VoteFilter) Filter(vote *types.Vote) bool {
vote.BlockHash == types.SkipBlockHash {
return true
}
+ if _, exist := vf.Voted[vote.VoteHeader]; exist {
+ return true
+ }
return false
}
+
+// AddVote to the filter so the same vote will be filtered.
+func (vf *VoteFilter) AddVote(vote *types.Vote) {
+ vf.Voted[vote.VoteHeader] = struct{}{}
+}
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 1b9700655..bfad63954 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -141,16 +141,16 @@
{
"checksumSHA1": "In6vBHYUsX7DUIGiFN2hQggBgvI=",
"path": "github.com/dexon-foundation/dexon-consensus/common",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
- "checksumSHA1": "RYHOTUhiRTYj3z6lXRP5Z1BHbso=",
+ "checksumSHA1": "kUp9PP8aT6Gw6BP2tXaPWcSrqLw=",
"path": "github.com/dexon-foundation/dexon-consensus/core",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
@@ -165,64 +165,64 @@
{
"checksumSHA1": "tQSbYCu5P00lUhKsx3IbBZCuSLY=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "m5lUT04qSHKtFukvxjnFX5Jo2hI=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/dkg",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "BhLKK8RveoLaeXc9UyUKMwQqchU=",
"path": "github.com/dexon-foundation/dexon-consensus/core/crypto/ecdsa",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "hj/KetWUHp+1CX+50V0QnCthfWc=",
"path": "github.com/dexon-foundation/dexon-consensus/core/db",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "DILLD61kp1c3JZnyLZK84mMK9Jw=",
"path": "github.com/dexon-foundation/dexon-consensus/core/syncer",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "zIgCdN4FJiAuPGMhB+/9YGK/Wgk=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
"checksumSHA1": "lbG7yqVgzo2CV/CQPYjG78xp5jg=",
"path": "github.com/dexon-foundation/dexon-consensus/core/types/dkg",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},
{
- "checksumSHA1": "YooeNHTYxH05Ky5vnoyZsQR4/08=",
+ "checksumSHA1": "Ht0TdiYL3/nJ0nV91rTgponeCPg=",
"path": "github.com/dexon-foundation/dexon-consensus/core/utils",
- "revision": "99e3dfee0eb2ffbb4fb0afb8e65664a7c9d91bcd",
- "revisionTime": "2019-04-06T09:04:11Z",
+ "revision": "337b5729c1cea837ac5ee8e1646dca587f52ebbd",
+ "revisionTime": "2019-04-08T07:31:25Z",
"version": "single-chain",
"versionExact": "single-chain"
},