aboutsummaryrefslogtreecommitdiffstats
path: root/blockchain.cpp
diff options
context:
space:
mode:
authorCJentzsch <jentzsch.software@gmail.com>2015-03-09 17:28:48 +0800
committerCJentzsch <jentzsch.software@gmail.com>2015-03-11 00:51:08 +0800
commitf0a216943fb12a2db60cad3ca0c5079cb30776a5 (patch)
tree4c312633e915669e9ca924bacd4620343c77d378 /blockchain.cpp
parent2026871882e2ed988bde3a63b94f49b4206a8bfc (diff)
downloaddexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar.gz
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar.bz2
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar.lz
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar.xz
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.tar.zst
dexon-solidity-f0a216943fb12a2db60cad3ca0c5079cb30776a5.zip
blockchain tests fixes
Diffstat (limited to 'blockchain.cpp')
-rw-r--r--blockchain.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/blockchain.cpp b/blockchain.cpp
index 0e1128ef..27d15c60 100644
--- a/blockchain.cpp
+++ b/blockchain.cpp
@@ -52,6 +52,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
ImportTest importer(o["pre"].get_obj());
State state(Address(), OverlayDB(), BaseState::Empty);
importer.importState(o["pre"].get_obj(), state);
+ o["pre"] = fillJsonWithState(state);
state.commit();
if (_fillin)
@@ -87,7 +88,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
// get txs
TransactionQueue txs;
- TrivialGasPricer gp;
+ ZeroGasPricer gp;
BOOST_REQUIRE(blObj.count("transactions"));
for (auto const& txObj: blObj["transactions"].get_array())
{
@@ -101,10 +102,18 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
BlockQueue uncleBlockQueue;
mArray aUncleList;
vector<BlockInfo> vBiUncles;
+ mObject uncleHeaderObj_pre;
for (auto const& uHObj: blObj["uncleHeaders"].get_array())
{
mObject uncleHeaderObj = uHObj.get_obj();
+ if ( uncleHeaderObj.count("theSameAsBefore") )
+ {
+ writeBlockHeaderToJson(uncleHeaderObj_pre, vBiUncles[vBiUncles.size()-1]);
+ aUncleList.push_back(uncleHeaderObj_pre);
+ vBiUncles.push_back(vBiUncles[vBiUncles.size()-1]);
+ continue;
+ }
BlockInfo uncleBlockFromFields = constructBlock(uncleHeaderObj);
// make uncle header valid
@@ -123,6 +132,8 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
cnote << "import uncle in blockQueue";
RLPStream uncle = createFullBlockFromHeader(uncleBlockFromFields);
uncleBlockQueue.import(&uncle.out(), bc);
+
+ uncleHeaderObj_pre = uncleHeaderObj;
}
blObj["uncleHeaders"] = aUncleList;
@@ -579,6 +590,7 @@ void updatePoW(BlockInfo& _bi)
ret = pow.mine(_bi, 10000, true, true); // tie(ret, blockFromFields.nonce)
Ethash::assignResult(ret.second, _bi);
}
+ _bi.hash = _bi.headerHash(WithNonce);
}
void writeBlockHeaderToJson(mObject& _o, const BlockInfo& _bi)