Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Commit

Permalink
Istanbul test config (#5657)
Browse files Browse the repository at this point in the history
Istanbul test config
  • Loading branch information
gumb0 authored Jul 8, 2019
2 parents e8a3466 + d9f42f1 commit 85229da
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 1 deletion.
6 changes: 5 additions & 1 deletion libethashseal/GenesisInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,16 @@ using namespace dev;
#include "genesis/test/byzantiumNoProofTest.cpp"
#include "genesis/test/byzantiumTest.cpp"
#include "genesis/test/byzantiumTransitionTest.cpp"
#include "genesis/test/constantinopleFixTest.cpp"
#include "genesis/test/constantinopleNoProofTest.cpp"
#include "genesis/test/constantinopleTest.cpp"
#include "genesis/test/constantinopleFixTest.cpp"
#include "genesis/test/eip150Test.cpp"
#include "genesis/test/eip158Test.cpp"
#include "genesis/test/experimentalTransitionTest.cpp"
#include "genesis/test/frontierNoProofTest.cpp"
#include "genesis/test/frontierTest.cpp"
#include "genesis/test/homesteadTest.cpp"
#include "genesis/test/istanbulTransitionTest.cpp"
#include "genesis/test/mainNetworkNoProofTest.cpp"
#include "genesis/test/mainNetworkTest.cpp"

Expand Down Expand Up @@ -77,6 +78,8 @@ std::string const& dev::eth::genesisInfo(Network _n)
return c_genesisInfoExperimentalTransitionTest;
case Network::ConstantinopleFixTest:
return c_genesisInfoConstantinopleFixTest;
case Network::IstanbulTransitionTest:
return c_genesisInfoIstanbulTransitionTest;


//Transition test genesis
Expand Down Expand Up @@ -108,6 +111,7 @@ h256 const& dev::eth::genesisStateRoot(Network _n)
case Network::ByzantiumTest:
case Network::ConstantinopleTest:
case Network::ConstantinopleFixTest:
case Network::IstanbulTransitionTest:
case Network::ExperimentalTransitionTest:
return c_genesisDefaultStateRoot;
default:
Expand Down
2 changes: 2 additions & 0 deletions libethashseal/GenesisInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ enum class Network
ConstantinopleNoProofTest = 82,
/// Byzantium + Constantinople + ConstantinopleFix active from block 0
ConstantinopleFixTest = 83,
/// ConstantinopleFixTest + Istanbul active from block 2
IstanbulTransitionTest = 84,

// TransitionTest networks
FrontierToHomesteadAt5 = 100,
Expand Down
54 changes: 54 additions & 0 deletions libethashseal/genesis/test/istanbulTransitionTest.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// Aleth: Ethereum C++ client, tools and libraries.
// Copyright 2019 Aleth Authors.
// Licensed under the GNU General Public License, Version 3.

#include "../../GenesisInfo.h"

static std::string const c_genesisInfoIstanbulTransitionTest = std::string() +
R"E(
{
"sealEngine": "NoProof",
"params": {
"accountStartNonce": "0x00",
"maximumExtraDataSize": "0x20",
"homesteadForkBlock": "0x00",
"EIP150ForkBlock": "0x00",
"EIP158ForkBlock": "0x00",
"byzantiumForkBlock": "0x00",
"constantinopleForkBlock": "0x00",
"constantinopleFixForkBlock": "0x00",
"istanbulForkBlock": "0x02",
"minGasLimit": "0x1388",
"maxGasLimit": "7fffffffffffffff",
"tieBreakingGas": false,
"gasLimitBoundDivisor": "0x0400",
"minimumDifficulty": "0x020000",
"difficultyBoundDivisor": "0x0800",
"durationLimit": "0x0d",
"blockReward": "0x4563918244F40000",
"networkID" : "0x1",
"chainID": "0x01",
"allowFutureBlocks" : true
},
"genesis": {
"nonce": "0x0000000000000042",
"difficulty": "0x020000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"author": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
"gasLimit": "0x1388"
},
"accounts": {
"0000000000000000000000000000000000000001": { "precompiled": { "name": "ecrecover", "linear": { "base": 3000, "word": 0 } } },
"0000000000000000000000000000000000000002": { "precompiled": { "name": "sha256", "linear": { "base": 60, "word": 12 } } },
"0000000000000000000000000000000000000003": { "precompiled": { "name": "ripemd160", "linear": { "base": 600, "word": 120 } } },
"0000000000000000000000000000000000000004": { "precompiled": { "name": "identity", "linear": { "base": 15, "word": 3 } } },
"0000000000000000000000000000000000000005": { "precompiled": { "name": "modexp" } },
"0000000000000000000000000000000000000006": { "precompiled": { "name": "alt_bn128_G1_add", "linear": { "base": 500, "word": 0 } } },
"0000000000000000000000000000000000000007": { "precompiled": { "name": "alt_bn128_G1_mul", "linear": { "base": 40000, "word": 0 } } },
"0000000000000000000000000000000000000008": { "precompiled": { "name": "alt_bn128_pairing_product"} }
}
}
)E";
1 change: 1 addition & 0 deletions libethcore/ChainOperationParams.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ struct ChainOperationParams
u256 constantinopleFixForkBlock = c_infiniteBlockNumber;
u256 daoHardforkBlock = c_infiniteBlockNumber;
u256 experimentalForkBlock = c_infiniteBlockNumber;
u256 istanbulForkBlock = c_infiniteBlockNumber;
int chainID = 0; // Distinguishes different chains (mainnet, Ropsten, etc).
int networkID = 0; // Distinguishes different sub protocols.

Expand Down
1 change: 1 addition & 0 deletions libethereum/ChainParams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ ChainParams ChainParams::loadConfig(
setOptionalU256Parameter(cp.eWASMForkBlock, c_eWASMForkBlock);
setOptionalU256Parameter(cp.constantinopleForkBlock, c_constantinopleForkBlock);
setOptionalU256Parameter(cp.constantinopleFixForkBlock, c_constantinopleFixForkBlock);
setOptionalU256Parameter(cp.istanbulForkBlock, c_istanbulForkBlock);
setOptionalU256Parameter(cp.daoHardforkBlock, c_daoHardforkBlock);
setOptionalU256Parameter(cp.experimentalForkBlock, c_experimentalForkBlock);
setOptionalU256Parameter(cp.minimumDifficulty, c_minimumDifficulty);
Expand Down
1 change: 1 addition & 0 deletions libethereum/ValidationSchemes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ string const c_byzantiumForkBlock = "byzantiumForkBlock";
string const c_eWASMForkBlock = "eWASMForkBlock";
string const c_constantinopleForkBlock = "constantinopleForkBlock";
string const c_constantinopleFixForkBlock = "constantinopleFixForkBlock";
string const c_istanbulForkBlock = "istanbulForkBlock";
string const c_experimentalForkBlock = "experimentalForkBlock";
string const c_accountStartNonce = "accountStartNonce";
string const c_maximumExtraDataSize = "maximumExtraDataSize";
Expand Down
1 change: 1 addition & 0 deletions libethereum/ValidationSchemes.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ extern std::string const c_byzantiumForkBlock;
extern std::string const c_eWASMForkBlock;
extern std::string const c_constantinopleForkBlock;
extern std::string const c_constantinopleFixForkBlock;
extern std::string const c_istanbulForkBlock;
extern std::string const c_experimentalForkBlock;
extern std::string const c_accountStartNonce;
extern std::string const c_maximumExtraDataSize;
Expand Down

0 comments on commit 85229da

Please sign in to comment.