diff options
author | Mission Liao <mission.liao@dexon.org> | 2018-12-26 10:15:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-26 10:15:51 +0800 |
commit | d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2 (patch) | |
tree | f615cfa34cca680dd3e4a5930e06a6ff03ac1664 /simulation/utils.go | |
parent | dce509a13ef5873b9cae3c1cabdb97e219b6fb7d (diff) | |
download | dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar.gz dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar.bz2 dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar.lz dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar.xz dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.tar.zst dexon-consensus-d333dc1a24df26ae8e8e3ffa2d700c1116a93ba2.zip |
simulation: support config change (#381)
Diffstat (limited to 'simulation/utils.go')
-rw-r--r-- | simulation/utils.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/simulation/utils.go b/simulation/utils.go index a18e8a4..a305d2b 100644 --- a/simulation/utils.go +++ b/simulation/utils.go @@ -20,6 +20,9 @@ package simulation import ( "math" "sort" + + "github.com/dexon-foundation/dexon-consensus/core/test" + "github.com/dexon-foundation/dexon-consensus/simulation/config" ) func calculateMeanStdDeviationFloat64s(a []float64) (float64, float64) { @@ -57,3 +60,18 @@ func getMinMedianMaxFloat64s(a []float64) (float64, float64, float64) { sort.Float64s(aCopied) return aCopied[0], aCopied[len(aCopied)/2], aCopied[len(aCopied)-1] } + +func prepareConfigs( + round uint64, cfgs []config.Change, gov *test.Governance) { + for _, c := range cfgs { + if c.Round != round { + continue + } + t := config.StateChangeTypeFromString(c.Type) + if err := gov.State().RequestChange( + t, config.StateChangeValueFromString(t, c.Value)); err != nil { + panic(err) + } + } + gov.CatchUpWithRound(round) +} |