aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go')
-rw-r--r--vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go
index 9b980c0fb..90848ce7a 100644
--- a/vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go
+++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/total-ordering.go
@@ -58,6 +58,8 @@ var (
ErrForwardAck = errors.New("forward ack")
// ErrUnexpected means general (I'm lazy) errors.
ErrUnexpected = errors.New("unexpected")
+ // ErrTotalOrderingPhiRatio means invalid phi ratio
+ ErrTotalOrderingPhiRatio = errors.New("invalid total ordering phi ratio")
)
// totalOrderingConfig is the configuration for total ordering.
@@ -83,14 +85,6 @@ func (config *totalOrderingConfig) fromConfig(round uint64, cfg *types.Config) {
config.setupRoundBasedFields(round, cfg)
}
-func newGenesisTotalOrderingConfig(
- dMoment time.Time, config *types.Config) *totalOrderingConfig {
- c := &totalOrderingConfig{}
- c.fromConfig(0, config)
- c.setRoundBeginTime(dMoment)
- return c
-}
-
func newTotalOrderingConfig(
prev *totalOrderingConfig, cur *types.Config) *totalOrderingConfig {
c := &totalOrderingConfig{}
@@ -798,7 +792,10 @@ type totalOrdering struct {
}
// newTotalOrdering constructs an totalOrdering instance.
-func newTotalOrdering(config *totalOrderingConfig) *totalOrdering {
+func newTotalOrdering(dMoment time.Time, cfg *types.Config) *totalOrdering {
+ config := &totalOrderingConfig{}
+ config.fromConfig(0, cfg)
+ config.setRoundBeginTime(dMoment)
candidates := make([]*totalOrderingCandidateInfo, config.numChains)
to := &totalOrdering{
pendings: make(map[common.Hash]*types.Block),
@@ -822,6 +819,9 @@ func (to *totalOrdering) appendConfig(
if round != uint64(len(to.configs))+to.configs[0].roundID {
return ErrRoundNotIncreasing
}
+ if config.PhiRatio < 0.5 || config.PhiRatio > 1.0 {
+ return ErrTotalOrderingPhiRatio
+ }
to.configs = append(
to.configs,
newTotalOrderingConfig(to.configs[len(to.configs)-1], config))