From e4067d26dfffe81e35927bd48583b0eb1a88bd3c Mon Sep 17 00:00:00 2001 From: marioevz Date: Mon, 1 Nov 2021 21:18:55 +0000 Subject: [PATCH] Changes required for ArrowGlacier --- retesteth/configs/Options.h | 2 + retesteth/configs/clientconfigs/besu.cpp | 3 +- retesteth/configs/clientconfigs/t8ntool.cpp | 3 +- .../configs/genesis/default/ArrowGlacier.cpp | 46 +++++++++++++++++++ .../session/ToolBackend/ToolChainManager.cpp | 2 + retesteth/testSuites/DifficultyTest.cpp | 1 + 6 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 retesteth/configs/genesis/default/ArrowGlacier.cpp diff --git a/retesteth/configs/Options.h b/retesteth/configs/Options.h index 330852656..e6d100100 100644 --- a/retesteth/configs/Options.h +++ b/retesteth/configs/Options.h @@ -24,6 +24,7 @@ class genConstantinopleFixCfg { public: genConstantinopleFixCfg(); }; class genIstanbulCfg { public: genIstanbulCfg(); }; class genBerlinCfg { public: genBerlinCfg(); }; class genLondonCfg { public: genLondonCfg(); }; +class genArrowGlacierCfg { public: genArrowGlacierCfg(); }; // Transition genesis configs class genFrontierToHomesteadCfg { public: genFrontierToHomesteadCfg(); }; @@ -58,6 +59,7 @@ class OptionsInit genIstanbulCfg genIstanbuil; genBerlinCfg genBerlin; genLondonCfg genLondon; + genArrowGlacierCfg genArrowGlacier; // Transition genesis configs genFrontierToHomesteadCfg genFrontierToHomestead; diff --git a/retesteth/configs/clientconfigs/besu.cpp b/retesteth/configs/clientconfigs/besu.cpp index ff3477a6c..e245a77ef 100644 --- a/retesteth/configs/clientconfigs/besu.cpp +++ b/retesteth/configs/clientconfigs/besu.cpp @@ -34,7 +34,8 @@ string const besu_config = R"({ "EIP158ToByzantiumAt5", "HomesteadToDaoAt5", "ByzantiumToConstantinopleFixAt5", - "BerlinToLondonAt5" + "BerlinToLondonAt5", + "ArrowGlacier" ], "exceptions" : { "ExtraDataTooBig" : "extra-data too long", diff --git a/retesteth/configs/clientconfigs/t8ntool.cpp b/retesteth/configs/clientconfigs/t8ntool.cpp index 88ff9120f..fd68eb80d 100644 --- a/retesteth/configs/clientconfigs/t8ntool.cpp +++ b/retesteth/configs/clientconfigs/t8ntool.cpp @@ -25,7 +25,8 @@ string const t8ntool_config = R"({ "EIP158ToByzantiumAt5", "HomesteadToDaoAt5", "ByzantiumToConstantinopleFixAt5", - "BerlinToLondonAt5" + "BerlinToLondonAt5", + "ArrowGlacier" ], "exceptions" : { "AddressTooShort" : "input string too short for common.Address", diff --git a/retesteth/configs/genesis/default/ArrowGlacier.cpp b/retesteth/configs/genesis/default/ArrowGlacier.cpp new file mode 100644 index 000000000..90aa39b60 --- /dev/null +++ b/retesteth/configs/genesis/default/ArrowGlacier.cpp @@ -0,0 +1,46 @@ +#include +#include +using namespace std; +using namespace dataobject; + +const string default_ArrowGlacier_config = R"({ + "params" : { + "homesteadForkBlock" : "0x00", + "EIP150ForkBlock" : "0x00", + "EIP158ForkBlock" : "0x00", + "byzantiumForkBlock" : "0x00", + "constantinopleForkBlock" : "0x00", + "constantinopleFixForkBlock" : "0x00", + "istanbulForkBlock" : "0x00", + "berlinForkBlock" : "0x00", + "londonForkBlock" : "0x00", + "arrowGlacierForkBlock" : "0x00", + "chainID" : "0x01" + }, + "accounts" : { + } +})"; + +const string t8ntool_ArrowGlacier_config = R"({ + "params" : { + "fork" : "ArrowGlacier", + "constantinopleForkBlock" : "0x00", + "byzantiumForkBlock" : "0x00", + "homesteadForkBlock" : "0x00" + }, + "accounts" : { + } +})"; + +genArrowGlacierCfg::genArrowGlacierCfg() +{ + spDataObject obj(new DataObject()); + (*obj)["path"] = "besu/genesis/ArrowGlacier.json"; + (*obj)["content"] = default_ArrowGlacier_config; + map_configs.addArrayObject(obj); + + spDataObject obj2(new DataObject()); + (*obj2)["path"] = "default/genesis/ArrowGlacier.json"; + (*obj2)["content"] = t8ntool_ArrowGlacier_config; + map_configs.addArrayObject(obj2); +} diff --git a/retesteth/session/ToolBackend/ToolChainManager.cpp b/retesteth/session/ToolBackend/ToolChainManager.cpp index c78deaf9c..bac5a364c 100644 --- a/retesteth/session/ToolBackend/ToolChainManager.cpp +++ b/retesteth/session/ToolBackend/ToolChainManager.cpp @@ -292,6 +292,8 @@ VALUE ToolChainManager::test_calculateDifficulty(FORK const& _fork, VALUE const& // Set uncle hash to non empty if (_uncleNumber > 0) headerA.setUnclesHash(FH32("0x2dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347")); + else + headerA.setUnclesHash(FH32("0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347")); BlockHeader& headerB = blockB.headerUnsafe().getContent(); headerB.setTimestamp(_currentTimestamp); diff --git a/retesteth/testSuites/DifficultyTest.cpp b/retesteth/testSuites/DifficultyTest.cpp index 97a699a77..6b69379bd 100644 --- a/retesteth/testSuites/DifficultyTest.cpp +++ b/retesteth/testSuites/DifficultyTest.cpp @@ -143,6 +143,7 @@ TestSuite::FillerPath DifficultyTestSuite::suiteFillerFolder() const using DifficultyTestsFixture = TestFixture; BOOST_FIXTURE_TEST_SUITE(DifficultyTests, DifficultyTestsFixture) +BOOST_AUTO_TEST_CASE(dfArrowGlacier) {} BOOST_AUTO_TEST_CASE(dfExample) {} BOOST_AUTO_TEST_SUITE_END()