Browse Source

BlockWeight: data fix

refactoring
cl-refactor
winsvega 10 years ago
parent
commit
3e945094c2
  1. 4
      libdevcore/CommonData.h
  2. 8
      test/TestHelper.cpp
  3. 2
      test/fuzzTesting/createRandomVMTest.cpp
  4. 2
      test/libethereum/BlockTestsFiller/bcValidBlockTestFiller.json
  5. 8
      test/libethereum/blockchain.cpp
  6. 2
      test/libethereum/transaction.cpp
  7. 10
      test/libevm/vm.cpp

4
libdevcore/CommonData.h

@ -50,13 +50,13 @@ enum class HexPrefix
/// @param _w specifies the width of the first of the elements. Defaults to two - enough to represent a byte. /// @param _w specifies the width of the first of the elements. Defaults to two - enough to represent a byte.
/// @example toHex("A\x69") == "4169" /// @example toHex("A\x69") == "4169"
template <class _T> template <class _T>
std::string toHex(_T const& _data, int _w = 2) std::string toHex(_T const& _data, int _w = 2, HexPrefix _prefix = HexPrefix::DontAdd)
{ {
std::ostringstream ret; std::ostringstream ret;
unsigned ii = 0; unsigned ii = 0;
for (auto i: _data) for (auto i: _data)
ret << std::hex << std::setfill('0') << std::setw(ii++ ? 2 : _w) << (int)(typename std::make_unsigned<decltype(i)>::type)i; ret << std::hex << std::setfill('0') << std::setw(ii++ ? 2 : _w) << (int)(typename std::make_unsigned<decltype(i)>::type)i;
return ret.str(); return (_prefix == HexPrefix::Add) ? "0x" + ret.str() : ret.str();
} }
/// Converts a (printable) ASCII hex character into the correspnding integer value. /// Converts a (printable) ASCII hex character into the correspnding integer value.

8
test/TestHelper.cpp

@ -327,7 +327,7 @@ void ImportTest::checkExpectedState(State const& _stateExpect, State const& _sta
void ImportTest::exportTest(bytes const& _output, State const& _statePost) void ImportTest::exportTest(bytes const& _output, State const& _statePost)
{ {
// export output // export output
m_TestObject["out"] = "0x" + toString(_output); m_TestObject["out"] = toHex(_output, 2, HexPrefix::Add);
// export logs // export logs
m_TestObject["logs"] = exportLog(_statePost.pending().size() ? _statePost.log(0) : LogEntries()); m_TestObject["logs"] = exportLog(_statePost.pending().size() ? _statePost.log(0) : LogEntries());
@ -356,7 +356,7 @@ json_spirit::mObject fillJsonWithTransaction(Transaction _txn)
{ {
json_spirit::mObject txObject; json_spirit::mObject txObject;
txObject["nonce"] = toCompactHex(_txn.nonce(), HexPrefix::Add); txObject["nonce"] = toCompactHex(_txn.nonce(), HexPrefix::Add);
txObject["data"] = "0x"+toString(_txn.data()); txObject["data"] = toHex(_txn.data(), 2, HexPrefix::Add);
txObject["gasLimit"] = toCompactHex(_txn.gas(), HexPrefix::Add); txObject["gasLimit"] = toCompactHex(_txn.gas(), HexPrefix::Add);
txObject["gasPrice"] = toCompactHex(_txn.gasPrice(), HexPrefix::Add); txObject["gasPrice"] = toCompactHex(_txn.gasPrice(), HexPrefix::Add);
txObject["r"] = toCompactHex(_txn.signature().r, HexPrefix::Add); txObject["r"] = toCompactHex(_txn.signature().r, HexPrefix::Add);
@ -381,7 +381,7 @@ json_spirit::mObject fillJsonWithState(State _state)
store[toCompactHex(s.first, HexPrefix::Add)] = toCompactHex(s.second, HexPrefix::Add); store[toCompactHex(s.first, HexPrefix::Add)] = toCompactHex(s.second, HexPrefix::Add);
o["storage"] = store; o["storage"] = store;
} }
o["code"] = "0x" + toString(_state.code(a.first)); o["code"] = toHex(_state.code(a.first), 2, HexPrefix::Add);
oState[toString(a.first)] = o; oState[toString(a.first)] = o;
} }
return oState; return oState;
@ -399,7 +399,7 @@ json_spirit::mArray exportLog(eth::LogEntries _logs)
for (auto const& t: l.topics) for (auto const& t: l.topics)
topics.push_back(toString(t)); topics.push_back(toString(t));
o["topics"] = topics; o["topics"] = topics;
o["data"] = "0x" + toString(l.data); o["data"] = toHex(l.data, 2, HexPrefix::Add);
o["bloom"] = toString(l.bloom()); o["bloom"] = toString(l.bloom());
ret.push_back(o); ret.push_back(o);
} }

2
test/fuzzTesting/createRandomVMTest.cpp

@ -200,7 +200,7 @@ void doMyTests(json_spirit::mValue& _v)
{ {
o["post"] = mValue(fev.exportState()); o["post"] = mValue(fev.exportState());
o["callcreates"] = fev.exportCallCreates(); o["callcreates"] = fev.exportCallCreates();
o["out"] = "0x" + toString(output); o["out"] = toHex(output, 2, HexPrefix::Add);
o["gas"] = toCompactHex(gas, HexPrefix::Add); o["gas"] = toCompactHex(gas, HexPrefix::Add);
o["logs"] = test::exportLog(fev.sub.logs); o["logs"] = test::exportLog(fev.sub.logs);
} }

2
test/libethereum/BlockTestsFiller/bcValidBlockTestFiller.json

@ -430,7 +430,7 @@
] ]
}, },
"DifferentExtraData1024" : { "ExtraData1024" : {
"genesisBlockHeader" : { "genesisBlockHeader" : {
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1", "coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",

8
test/libethereum/blockchain.cpp

@ -81,7 +81,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
// create new "genesis" block // create new "genesis" block
RLPStream rlpGenesisBlock = createFullBlockFromHeader(biGenesisBlock); RLPStream rlpGenesisBlock = createFullBlockFromHeader(biGenesisBlock);
biGenesisBlock.verifyInternals(&rlpGenesisBlock.out()); biGenesisBlock.verifyInternals(&rlpGenesisBlock.out());
o["genesisRLP"] = "0x" + toString(rlpGenesisBlock.out()); o["genesisRLP"] = toHex(rlpGenesisBlock.out(), 2, HexPrefix::Add);
// construct blockchain // construct blockchain
TransientDirectory td; TransientDirectory td;
@ -149,7 +149,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
return; return;
} }
blObj["rlp"] = "0x"+toString(state.blockData()); blObj["rlp"] = toHex(state.blockData(), 2, HexPrefix::Add);
//get valid transactions //get valid transactions
Transactions txList; Transactions txList;
@ -188,7 +188,7 @@ void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
RLPStream block2 = createFullBlockFromHeader(current_BlockHeader, txStream.out(), uncleStream.out()); RLPStream block2 = createFullBlockFromHeader(current_BlockHeader, txStream.out(), uncleStream.out());
blObj["rlp"] = "0x" + toString(block2.out()); blObj["rlp"] = toHex(block2.out(), 2, HexPrefix::Add);
if (sha3(RLP(state.blockData())[0].data()) != sha3(RLP(block2.out())[0].data())) if (sha3(RLP(state.blockData())[0].data()) != sha3(RLP(block2.out())[0].data()))
cnote << "block header mismatch\n"; cnote << "block header mismatch\n";
@ -640,7 +640,7 @@ mObject writeBlockHeaderToJson(mObject& _o, BlockInfo const& _bi)
_o["gasLimit"] = toCompactHex(_bi.gasLimit, HexPrefix::Add); _o["gasLimit"] = toCompactHex(_bi.gasLimit, HexPrefix::Add);
_o["gasUsed"] = toCompactHex(_bi.gasUsed, HexPrefix::Add); _o["gasUsed"] = toCompactHex(_bi.gasUsed, HexPrefix::Add);
_o["timestamp"] = toCompactHex(_bi.timestamp, HexPrefix::Add); _o["timestamp"] = toCompactHex(_bi.timestamp, HexPrefix::Add);
_o["extraData"] = "0x" + toString(_bi.extraData); _o["extraData"] = toHex(_bi.extraData, 2, HexPrefix::Add);
_o["mixHash"] = toString(_bi.mixHash); _o["mixHash"] = toString(_bi.mixHash);
_o["nonce"] = toString(_bi.nonce); _o["nonce"] = toString(_bi.nonce);
_o["hash"] = toString(_bi.hash()); _o["hash"] = toString(_bi.hash());

2
test/libethereum/transaction.cpp

@ -43,7 +43,7 @@ void doTransactionTests(json_spirit::mValue& _v, bool _fillin)
//Construct Rlp of the given transaction //Construct Rlp of the given transaction
RLPStream rlpStream = createRLPStreamFromTransactionFields(tObj); RLPStream rlpStream = createRLPStreamFromTransactionFields(tObj);
o["rlp"] = "0x"+toString(rlpStream.out()); o["rlp"] = toHex(rlpStream.out(), 2, HexPrefix::Add);
try try
{ {

10
test/libevm/vm.cpp

@ -128,7 +128,7 @@ mObject FakeExtVM::exportState()
store[toCompactHex(s.first, HexPrefix::Add)] = toCompactHex(s.second, HexPrefix::Add); store[toCompactHex(s.first, HexPrefix::Add)] = toCompactHex(s.second, HexPrefix::Add);
o["storage"] = store; o["storage"] = store;
} }
o["code"] = "0x"+toString(get<3>(a.second)); o["code"] = toHex(get<3>(a.second), 2, HexPrefix::Add);
ret[toString(a.first)] = o; ret[toString(a.first)] = o;
} }
return ret; return ret;
@ -164,8 +164,8 @@ mObject FakeExtVM::exportExec()
ret["value"] = toCompactHex(value, HexPrefix::Add); ret["value"] = toCompactHex(value, HexPrefix::Add);
ret["gasPrice"] = toCompactHex(gasPrice, HexPrefix::Add); ret["gasPrice"] = toCompactHex(gasPrice, HexPrefix::Add);
ret["gas"] = toCompactHex(gas, HexPrefix::Add); ret["gas"] = toCompactHex(gas, HexPrefix::Add);
ret["data"] = "0x" + toString(data); ret["data"] = toHex(data, 2, HexPrefix::Add);
ret["code"] = "0x" + toString(code); ret["code"] = toHex(code, 2, HexPrefix::Add);
return ret; return ret;
} }
@ -209,7 +209,7 @@ mArray FakeExtVM::exportCallCreates()
o["destination"] = tx.isCreation() ? "" : toString(tx.receiveAddress()); o["destination"] = tx.isCreation() ? "" : toString(tx.receiveAddress());
o["gasLimit"] = toCompactHex(tx.gas(), HexPrefix::Add); o["gasLimit"] = toCompactHex(tx.gas(), HexPrefix::Add);
o["value"] = toCompactHex(tx.value(), HexPrefix::Add); o["value"] = toCompactHex(tx.value(), HexPrefix::Add);
o["data"] = "0x" + toString(tx.data()); o["data"] = toHex(tx.data(), 2, HexPrefix::Add);
ret.push_back(o); ret.push_back(o);
} }
return ret; return ret;
@ -388,7 +388,7 @@ void doVMTests(json_spirit::mValue& v, bool _fillin)
} }
o["callcreates"] = fev.exportCallCreates(); o["callcreates"] = fev.exportCallCreates();
o["out"] = "0x" + toString(output); o["out"] = toHex(output, 2, HexPrefix::Add);
o["gas"] = toCompactHex(gas, HexPrefix::Add); o["gas"] = toCompactHex(gas, HexPrefix::Add);
o["logs"] = exportLog(fev.sub.logs); o["logs"] = exportLog(fev.sub.logs);
} }

Loading…
Cancel
Save