Skip to content

Commit

Permalink
cmd/puppeth: integrate istanbul into puppeth (ethereum#19926)
Browse files Browse the repository at this point in the history
* cmd/puppeth: integrate istanbul into puppeth

* cmd/puppeth: address comment

* cmd/puppeth: use hexutil.Big for fork indicator

* cmd/puppeth: finalize istanbul fork

* cmd/puppeth: fix 2200 for parity, rename is to eip1283ReenableTransition

* cmd/puppeth: fix eip1108

* cmd/puppeth: add blake2f for parity

* cmd/puppeth: add aleth istanbul precompiled

* cmd/puppeth: use hexutil.Big

* cmd/puppeth: fix unit tests

* cmd/puppeth: update testdata
  • Loading branch information
rjl493456442 authored and millken committed Feb 25, 2021
1 parent 996d925 commit 0596b80
Show file tree
Hide file tree
Showing 6 changed files with 414 additions and 325 deletions.
229 changes: 150 additions & 79 deletions cmd/puppeth/genesis.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion cmd/puppeth/genesis_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func TestParitySturebyConverter(t *testing.T) {
if err := json.Unmarshal(blob, &genesis); err != nil {
t.Fatalf("failed parsing genesis: %v", err)
}
spec, err := newParityChainSpec("Stureby", &genesis, []string{})
spec, err := newParityChainSpec("stureby", &genesis, []string{})
if err != nil {
t.Fatalf("failed creating chainspec: %v", err)
}
Expand Down
177 changes: 89 additions & 88 deletions cmd/puppeth/testdata/stureby_aleth.json
Original file line number Diff line number Diff line change
@@ -1,112 +1,113 @@
{
"sealEngine":"Ethash",
"params":{
"accountStartNonce":"0x00",
"maximumExtraDataSize":"0x20",
"homesteadForkBlock":"0x2710",
"daoHardforkBlock":"0x00",
"EIP150ForkBlock":"0x3a98",
"EIP158ForkBlock":"0x59d8",
"byzantiumForkBlock":"0x7530",
"constantinopleForkBlock":"0x9c40",
"minGasLimit":"0x1388",
"maxGasLimit":"0x7fffffffffffffff",
"tieBreakingGas":false,
"gasLimitBoundDivisor":"0x0400",
"minimumDifficulty":"0x20000",
"difficultyBoundDivisor":"0x0800",
"durationLimit":"0x0d",
"blockReward":"0x4563918244F40000",
"networkID":"0x4cb2e",
"chainID":"0x4cb2e",
"allowFutureBlocks":false
"sealEngine": "Ethash",
"params": {
"accountStartNonce": "0x0",
"maximumExtraDataSize": "0x20",
"homesteadForkBlock": "0x2710",
"daoHardforkBlock": "0x0",
"EIP150ForkBlock": "0x3a98",
"EIP158ForkBlock": "0x59d8",
"byzantiumForkBlock": "0x7530",
"constantinopleForkBlock": "0x9c40",
"constantinopleFixForkBlock": "0x9c40",
"istanbulForkBlock": "0xc350",
"minGasLimit": "0x1388",
"maxGasLimit": "0x7fffffffffffffff",
"tieBreakingGas": false,
"gasLimitBoundDivisor": "0x400",
"minimumDifficulty": "0x20000",
"difficultyBoundDivisor": "0x800",
"durationLimit": "0xd",
"blockReward": "0x4563918244f40000",
"networkID": "0x4cb2e",
"chainID": "0x4cb2e",
"allowFutureBlocks": false
},
"genesis":{
"nonce":"0x0000000000000000",
"difficulty":"0x20000",
"mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"author":"0x0000000000000000000000000000000000000000",
"timestamp":"0x59a4e76d",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData":"0x0000000000000000000000000000000000000000000000000000000b4dc0ffee",
"gasLimit":"0x47b760"
"genesis": {
"nonce": "0x0000000000000000",
"difficulty": "0x20000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"author": "0x0000000000000000000000000000000000000000",
"timestamp": "0x59a4e76d",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0000000000000000000000000000000000000000000000000000000b4dc0ffee",
"gasLimit": "0x47b760"
},
"accounts":{
"0000000000000000000000000000000000000001":{
"balance":"1",
"precompiled":{
"name":"ecrecover",
"linear":{
"base":3000,
"word":0
"accounts": {
"0000000000000000000000000000000000000001": {
"balance": "0x1",
"precompiled": {
"name": "ecrecover",
"linear": {
"base": 3000,
"word": 0
}
}
},
"0000000000000000000000000000000000000002":{
"balance":"1",
"precompiled":{
"name":"sha256",
"linear":{
"base":60,
"word":12
"0000000000000000000000000000000000000002": {
"balance": "0x1",
"precompiled": {
"name": "sha256",
"linear": {
"base": 60,
"word": 12
}
}
},
"0000000000000000000000000000000000000003":{
"balance":"1",
"precompiled":{
"name":"ripemd160",
"linear":{
"base":600,
"word":120
"0000000000000000000000000000000000000003": {
"balance": "0x1",
"precompiled": {
"name": "ripemd160",
"linear": {
"base": 600,
"word": 120
}
}
},
"0000000000000000000000000000000000000004":{
"balance":"1",
"precompiled":{
"name":"identity",
"linear":{
"base":15,
"word":3
"0000000000000000000000000000000000000004": {
"balance": "0x1",
"precompiled": {
"name": "identity",
"linear": {
"base": 15,
"word": 3
}
}
},
"0000000000000000000000000000000000000005":{
"balance":"1",
"precompiled":{
"name":"modexp",
"startingBlock":"0x7530"
"0000000000000000000000000000000000000005": {
"balance": "0x1",
"precompiled": {
"name": "modexp",
"startingBlock": "0x7530"
}
},
"0000000000000000000000000000000000000006":{
"balance":"1",
"precompiled":{
"name":"alt_bn128_G1_add",
"startingBlock":"0x7530",
"linear":{
"base":500,
"word":0
}
"0000000000000000000000000000000000000006": {
"balance": "0x1",
"precompiled": {
"name": "alt_bn128_G1_add",
"startingBlock": "0x7530"
}
},
"0000000000000000000000000000000000000007":{
"balance":"1",
"precompiled":{
"name":"alt_bn128_G1_mul",
"startingBlock":"0x7530",
"linear":{
"base":40000,
"word":0
}
"0000000000000000000000000000000000000007": {
"balance": "0x1",
"precompiled": {
"name": "alt_bn128_G1_mul",
"startingBlock": "0x7530"
}
},
"0000000000000000000000000000000000000008": {
"balance": "0x1",
"precompiled": {
"name": "alt_bn128_pairing_product",
"startingBlock": "0x7530"
}
},
"0000000000000000000000000000000000000008":{
"balance":"1",
"precompiled":{
"name":"alt_bn128_pairing_product",
"startingBlock":"0x7530"
"0000000000000000000000000000000000000009": {
"balance": "0x1",
"precompiled": {
"name": "blake2_compression",
"startingBlock": "0xc350"
}
}
}
}
}
33 changes: 20 additions & 13 deletions cmd/puppeth/testdata/stureby_geth.json
Original file line number Diff line number Diff line change
@@ -1,47 +1,54 @@
{
"config": {
"ethash":{},
"chainId": 314158,
"homesteadBlock": 10000,
"eip150Block": 15000,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 23000,
"eip158Block": 23000,
"byzantiumBlock": 30000,
"constantinopleBlock": 40000
"constantinopleBlock": 40000,
"petersburgBlock": 40000,
"istanbulBlock": 50000,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x59a4e76d",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0000000000000000000000000000000000000000000000000000000b4dc0ffee",
"gasLimit": "0x47b760",
"difficulty": "0x20000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0000000000000000000000000000000000000001": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000002": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000003": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000004": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000005": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000006": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000007": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000008": {
"balance": "0x01"
"balance": "0x1"
},
"0000000000000000000000000000000000000009": {
"balance": "0x1"
}
}
}
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
Loading

0 comments on commit 0596b80

Please sign in to comment.