diff options
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.go | 18 |
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)) |