From 1a26392d20f4d3d3d7c7af6b6f04d8d7760b8036 Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Thu, 18 Oct 2018 21:56:12 +0800 Subject: core: set governance owner in genesis --- params/config.go | 28 +++++++++++++++------------- params/gen_dexcon_config.go | 7 +++++++ 2 files changed, 22 insertions(+), 13 deletions(-) (limited to 'params') diff --git a/params/config.go b/params/config.go index ec5fe0f79..bab7fd546 100644 --- a/params/config.go +++ b/params/config.go @@ -222,18 +222,19 @@ func (c *CliqueConfig) String() string { // DexconConfig is the consensus engine configs for DEXON consensus. type DexconConfig struct { - GenesisCRSText string `json:"genesisCRSText"` - NumChains uint32 `json:"numChains"` - LambdaBA uint64 `json:"lambdaBA"` - LambdaDKG uint64 `json:"lambdaDKG"` - K int `json:"k"` - PhiRatio float32 `json:"phiRatio"` - NotarySetSize uint32 `json:"notarySetSize"` - DKGSetSize uint32 `json:"dkgSetSize"` - RoundInterval uint64 `json:"roundInterval"` - MinBlockInterval uint64 `json:"minBlockInterval"` - MaxBlockInterval uint64 `json:"maxBlockInterval"` - BlockReward *big.Int `json:"blockReward"` + Owner common.Address `json:"owner"` + GenesisCRSText string `json:"genesisCRSText"` + NumChains uint32 `json:"numChains"` + LambdaBA uint64 `json:"lambdaBA"` + LambdaDKG uint64 `json:"lambdaDKG"` + K int `json:"k"` + PhiRatio float32 `json:"phiRatio"` + NotarySetSize uint32 `json:"notarySetSize"` + DKGSetSize uint32 `json:"dkgSetSize"` + RoundInterval uint64 `json:"roundInterval"` + MinBlockInterval uint64 `json:"minBlockInterval"` + MaxBlockInterval uint64 `json:"maxBlockInterval"` + BlockReward *big.Int `json:"blockReward"` } type dexconConfigSpecMarshaling struct { @@ -242,7 +243,8 @@ type dexconConfigSpecMarshaling struct { // String implements the stringer interface, returning the consensus engine details. func (d *DexconConfig) String() string { - return fmt.Sprintf("{GenesisCRSText: %v NumChains: %v LambdaBA: %v LambdaDKG: %v K: %v PhiRatio: %v NotarySetSize: %v DKGSetSize: %v RoundInterval: %v MinBlockInterval: %v MaxBlockInterval: %v BlockReward: %v", + return fmt.Sprintf("{Owner: %v GenesisCRSText: %v NumChains: %v LambdaBA: %v LambdaDKG: %v K: %v PhiRatio: %v NotarySetSize: %v DKGSetSize: %v RoundInterval: %v MinBlockInterval: %v MaxBlockInterval: %v BlockReward: %v", + d.Owner, d.GenesisCRSText, d.NumChains, d.LambdaBA, diff --git a/params/gen_dexcon_config.go b/params/gen_dexcon_config.go index bd169584f..e53560e47 100644 --- a/params/gen_dexcon_config.go +++ b/params/gen_dexcon_config.go @@ -6,6 +6,7 @@ import ( "encoding/json" "math/big" + "github.com/dexon-foundation/dexon/common" "github.com/dexon-foundation/dexon/common/math" ) @@ -14,6 +15,7 @@ var _ = (*dexconConfigSpecMarshaling)(nil) // MarshalJSON marshals as JSON. func (d DexconConfig) MarshalJSON() ([]byte, error) { type DexconConfig struct { + Owner common.Address `json:"owner"` GenesisCRSText string `json:"genesisCRSText"` NumChains uint32 `json:"numChains"` LambdaBA uint64 `json:"lambdaBA"` @@ -28,6 +30,7 @@ func (d DexconConfig) MarshalJSON() ([]byte, error) { BlockReward *math.HexOrDecimal256 `json:"blockReward"` } var enc DexconConfig + enc.Owner = d.Owner enc.GenesisCRSText = d.GenesisCRSText enc.NumChains = d.NumChains enc.LambdaBA = d.LambdaBA @@ -46,6 +49,7 @@ func (d DexconConfig) MarshalJSON() ([]byte, error) { // UnmarshalJSON unmarshals from JSON. func (d *DexconConfig) UnmarshalJSON(input []byte) error { type DexconConfig struct { + Owner *common.Address `json:"owner"` GenesisCRSText *string `json:"genesisCRSText"` NumChains *uint32 `json:"numChains"` LambdaBA *uint64 `json:"lambdaBA"` @@ -63,6 +67,9 @@ func (d *DexconConfig) UnmarshalJSON(input []byte) error { if err := json.Unmarshal(input, &dec); err != nil { return err } + if dec.Owner != nil { + d.Owner = *dec.Owner + } if dec.GenesisCRSText != nil { d.GenesisCRSText = *dec.GenesisCRSText } -- cgit