Browse Source

Merge branch 'develop' into quickgui

Conflicts:
	libethereum/State.cpp
cl-refactor
Gav Wood 11 years ago
parent
commit
a218495503
  1. 12
      libethereum/State.cpp
  2. 84
      test/vmtests.json

12
libethereum/State.cpp

@ -661,6 +661,7 @@ void State::executeBare(Transaction const& _t, Address _sender)
if (isContractAddress(_t.receiveAddress))
{
// Once we get here, there's no going back.
try
{
MinerFeeAdder feeAdder({this, 0}); // will add fee on destruction.
@ -670,6 +671,14 @@ void State::executeBare(Transaction const& _t, Address _sender)
{
clog(StateChat) << "VM Exception: " << _e.description();
}
catch (Exception const& _e)
{
clog(StateChat) << "Exception in VM: " << _e.description();
}
catch (std::exception const& _e)
{
clog(StateChat) << "std::exception in VM: " << _e.what();
}
}
}
else
@ -695,6 +704,9 @@ void State::executeBare(Transaction const& _t, Address _sender)
// Increment associated nonce for sender.
noteSending(_sender);
// Increment associated nonce for sender.
noteSending(_sender);
// All OK - set it up.
m_cache[newAddress] = AddressState(0, 0, AddressType::Contract);
auto& mem = m_cache[newAddress].memory();

84
test/vmtests.json

@ -0,0 +1,84 @@
{
"suicide": {
"env" : {
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"feeMultiplier" : 1
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"nonce" : 0,
"code" : "(suicide (txsender))"
}
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000,
"data" : [
]
}
]
},
"mktx": {
"env" : {
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"feeMultiplier" : 1
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 1000000000000000000,
"nonce" : 0,
"code" : "(mktx (txsender) 500000000000000000 0)"
}
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000,
"data" : [
]
}
]
},
"fan": {
"env" : {
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
"previousNonce" : "9c9c6567b5ec0c5f3f25df79be42707090f1e62e9db84cbb556ae2a2f6ccccae",
"currentDifficulty" : "256",
"currentTimestamp" : 1,
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"feeMultiplier" : 1
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : 0,
"nonce" : 0,
"code" : "(seq (unless (gt (txvalue) 100finney) (stop)) (\"value\" (div (sub (txvalue) 100finney) (txdatan))) (\"i\" 0) (for (lt (\"i\") (txdatan)) (seq (mktx (txdata (\"i\")) (\"value\") 0) (\"i\" (add (\"i\") 1)) ) ) )"
}
},
"exec" : [
{
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"sender" : "cd1722f3947def4cf144679da39c4c32bdc35681",
"value" : 1000000000000000000,
"data" : [
"0xcd1722f3947def4cf144679da39c4c32bdc35681",
"0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
]
}
]
}
}
Loading…
Cancel
Save