mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
cmd/puppeth: finalize istanbul fork
This commit is contained in:
parent
657496fb08
commit
9eb762e61e
2 changed files with 24 additions and 1 deletions
|
|
@ -239,6 +239,7 @@ type parityChainSpec struct {
|
||||||
MaxCodeSizeTransition hexutil.Uint64 `json:"maxCodeSizeTransition"`
|
MaxCodeSizeTransition hexutil.Uint64 `json:"maxCodeSizeTransition"`
|
||||||
EIP98Transition hexutil.Uint64 `json:"eip98Transition"`
|
EIP98Transition hexutil.Uint64 `json:"eip98Transition"`
|
||||||
EIP150Transition hexutil.Uint64 `json:"eip150Transition"`
|
EIP150Transition hexutil.Uint64 `json:"eip150Transition"`
|
||||||
|
EIP152Transition hexutil.Uint64 `json:"eip152Transition"`
|
||||||
EIP160Transition hexutil.Uint64 `json:"eip160Transition"`
|
EIP160Transition hexutil.Uint64 `json:"eip160Transition"`
|
||||||
EIP161abcTransition hexutil.Uint64 `json:"eip161abcTransition"`
|
EIP161abcTransition hexutil.Uint64 `json:"eip161abcTransition"`
|
||||||
EIP161dTransition hexutil.Uint64 `json:"eip161dTransition"`
|
EIP161dTransition hexutil.Uint64 `json:"eip161dTransition"`
|
||||||
|
|
@ -250,8 +251,13 @@ type parityChainSpec struct {
|
||||||
EIP145Transition hexutil.Uint64 `json:"eip145Transition"`
|
EIP145Transition hexutil.Uint64 `json:"eip145Transition"`
|
||||||
EIP1014Transition hexutil.Uint64 `json:"eip1014Transition"`
|
EIP1014Transition hexutil.Uint64 `json:"eip1014Transition"`
|
||||||
EIP1052Transition hexutil.Uint64 `json:"eip1052Transition"`
|
EIP1052Transition hexutil.Uint64 `json:"eip1052Transition"`
|
||||||
|
EIP1108Transition hexutil.Uint64 `json:"eip1108Transition"`
|
||||||
EIP1283Transition hexutil.Uint64 `json:"eip1283Transition"`
|
EIP1283Transition hexutil.Uint64 `json:"eip1283Transition"`
|
||||||
EIP1283DisableTransition hexutil.Uint64 `json:"eip1283DisableTransition"`
|
EIP1283DisableTransition hexutil.Uint64 `json:"eip1283DisableTransition"`
|
||||||
|
EIP1344Transition hexutil.Uint64 `json:"eip1344Transition"`
|
||||||
|
EIP1884Transition hexutil.Uint64 `json:"eip1884Transition"`
|
||||||
|
EIP2028Transition hexutil.Uint64 `json:"eip2028Transition"`
|
||||||
|
EIP2200Transition hexutil.Uint64 `json:"eip2200Transition"`
|
||||||
} `json:"params"`
|
} `json:"params"`
|
||||||
|
|
||||||
Genesis struct {
|
Genesis struct {
|
||||||
|
|
@ -358,7 +364,10 @@ func newParityChainSpec(network string, genesis *core.Genesis, bootnodes []strin
|
||||||
if num := genesis.Config.PetersburgBlock; num != nil {
|
if num := genesis.Config.PetersburgBlock; num != nil {
|
||||||
spec.setConstantinopleFix(num)
|
spec.setConstantinopleFix(num)
|
||||||
}
|
}
|
||||||
|
// Istanbul
|
||||||
|
if num := genesis.Config.IstanbulBlock; num != nil {
|
||||||
|
spec.setIstanbul(num)
|
||||||
|
}
|
||||||
spec.Params.MaximumExtraDataSize = (hexutil.Uint64)(params.MaximumExtraDataSize)
|
spec.Params.MaximumExtraDataSize = (hexutil.Uint64)(params.MaximumExtraDataSize)
|
||||||
spec.Params.MinGasLimit = (hexutil.Uint64)(params.MinGasLimit)
|
spec.Params.MinGasLimit = (hexutil.Uint64)(params.MinGasLimit)
|
||||||
spec.Params.GasLimitBoundDivisor = (math2.HexOrDecimal64)(params.GasLimitBoundDivisor)
|
spec.Params.GasLimitBoundDivisor = (math2.HexOrDecimal64)(params.GasLimitBoundDivisor)
|
||||||
|
|
@ -457,6 +466,15 @@ func (spec *parityChainSpec) setConstantinopleFix(num *big.Int) {
|
||||||
spec.Params.EIP1283DisableTransition = hexutil.Uint64(num.Uint64())
|
spec.Params.EIP1283DisableTransition = hexutil.Uint64(num.Uint64())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (spec *parityChainSpec) setIstanbul(num *big.Int) {
|
||||||
|
spec.Params.EIP152Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
spec.Params.EIP1108Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
spec.Params.EIP1344Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
spec.Params.EIP1884Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
spec.Params.EIP2028Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
spec.Params.EIP2200Transition = hexutil.Uint64(num.Uint64())
|
||||||
|
}
|
||||||
|
|
||||||
// pyEthereumGenesisSpec represents the genesis specification format used by the
|
// pyEthereumGenesisSpec represents the genesis specification format used by the
|
||||||
// Python Ethereum implementation.
|
// Python Ethereum implementation.
|
||||||
type pyEthereumGenesisSpec struct {
|
type pyEthereumGenesisSpec struct {
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ func (w *wizard) makeGenesis() {
|
||||||
ByzantiumBlock: big.NewInt(0),
|
ByzantiumBlock: big.NewInt(0),
|
||||||
ConstantinopleBlock: big.NewInt(0),
|
ConstantinopleBlock: big.NewInt(0),
|
||||||
PetersburgBlock: big.NewInt(0),
|
PetersburgBlock: big.NewInt(0),
|
||||||
|
IstanbulBlock: big.NewInt(0),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
// Figure out which consensus engine to choose
|
// Figure out which consensus engine to choose
|
||||||
|
|
@ -230,6 +231,10 @@ func (w *wizard) manageGenesis() {
|
||||||
fmt.Printf("Which block should Petersburg come into effect? (default = %v)\n", w.conf.Genesis.Config.PetersburgBlock)
|
fmt.Printf("Which block should Petersburg come into effect? (default = %v)\n", w.conf.Genesis.Config.PetersburgBlock)
|
||||||
w.conf.Genesis.Config.PetersburgBlock = w.readDefaultBigInt(w.conf.Genesis.Config.PetersburgBlock)
|
w.conf.Genesis.Config.PetersburgBlock = w.readDefaultBigInt(w.conf.Genesis.Config.PetersburgBlock)
|
||||||
|
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Printf("Which block should Istanbul come into effect? (default = %v)\n", w.conf.Genesis.Config.IstanbulBlock)
|
||||||
|
w.conf.Genesis.Config.IstanbulBlock = w.readDefaultBigInt(w.conf.Genesis.Config.IstanbulBlock)
|
||||||
|
|
||||||
out, _ := json.MarshalIndent(w.conf.Genesis.Config, "", " ")
|
out, _ := json.MarshalIndent(w.conf.Genesis.Config, "", " ")
|
||||||
fmt.Printf("Chain configuration updated:\n\n%s\n", out)
|
fmt.Printf("Chain configuration updated:\n\n%s\n", out)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue