mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #324 from CJentzsch/develop
Added system operation tests. Switched to a primarily use of boost::exception.
This commit is contained in:
commit
69ff5582e6
437
vm.cpp
437
vm.cpp
@ -14,121 +14,146 @@
|
|||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/** @file state.cpp
|
/** @file vm.cpp
|
||||||
* @author Gav Wood <i@gavwood.com>
|
* @author Gav Wood <i@gavwood.com>
|
||||||
* @date 2014
|
* @date 2014
|
||||||
* State test functions.
|
* vm test functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <fstream>
|
#include "vm.h"
|
||||||
#include <cstdint>
|
|
||||||
#include <libdevcore/Log.h>
|
#define FILL_TESTS
|
||||||
#include <libevmface/Instruction.h>
|
|
||||||
#include <libevm/ExtVMFace.h>
|
|
||||||
#include <libevm/VM.h>
|
|
||||||
#include <liblll/Compiler.h>
|
|
||||||
#include <libethereum/Transaction.h>
|
|
||||||
#include "JsonSpiritHeaders.h"
|
|
||||||
#include <boost/test/unit_test.hpp>
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace json_spirit;
|
using namespace json_spirit;
|
||||||
using namespace dev;
|
using namespace dev;
|
||||||
using namespace dev::eth;
|
using namespace dev::eth;
|
||||||
|
using namespace dev::test;
|
||||||
|
|
||||||
namespace dev { namespace test {
|
FakeExtVM::FakeExtVM(eth::BlockInfo const& _previousBlock, eth::BlockInfo const& _currentBlock):
|
||||||
|
ExtVMFace(Address(), Address(), Address(), 0, 1, bytesConstRef(), bytesConstRef(), _previousBlock, _currentBlock) {}
|
||||||
|
|
||||||
class FakeExtVM: public ExtVMFace
|
h160 FakeExtVM::create(u256 _endowment, u256* _gas, bytesConstRef _init, OnOpFunc)
|
||||||
{
|
{
|
||||||
public:
|
|
||||||
FakeExtVM()
|
|
||||||
{}
|
|
||||||
FakeExtVM(BlockInfo const& _previousBlock, BlockInfo const& _currentBlock):
|
|
||||||
ExtVMFace(Address(), Address(), Address(), 0, 1, bytesConstRef(), bytesConstRef(), _previousBlock, _currentBlock)
|
|
||||||
{}
|
|
||||||
|
|
||||||
u256 store(u256 _n)
|
|
||||||
{
|
|
||||||
return get<2>(addresses[myAddress])[_n];
|
|
||||||
}
|
|
||||||
void setStore(u256 _n, u256 _v)
|
|
||||||
{
|
|
||||||
get<2>(addresses[myAddress])[_n] = _v;
|
|
||||||
}
|
|
||||||
u256 balance(Address _a) { return get<0>(addresses[_a]); }
|
|
||||||
void subBalance(u256 _a) { get<0>(addresses[myAddress]) -= _a; }
|
|
||||||
u256 txCount(Address _a) { return get<1>(addresses[_a]); }
|
|
||||||
void suicide(Address _a)
|
|
||||||
{
|
|
||||||
get<0>(addresses[_a]) += get<0>(addresses[myAddress]);
|
|
||||||
addresses.erase(myAddress);
|
|
||||||
}
|
|
||||||
h160 create(u256 _endowment, u256* _gas, bytesConstRef _init, OnOpFunc)
|
|
||||||
{
|
|
||||||
Address na = right160(sha3(rlpList(myAddress, get<1>(addresses[myAddress]))));
|
|
||||||
/* if (get<0>(addresses[myAddress]) >= _endowment)
|
|
||||||
{
|
|
||||||
get<1>(addresses[myAddress])++;
|
|
||||||
get<0>(addresses[na]) = _endowment;
|
|
||||||
// TODO: actually execute...
|
|
||||||
}*/
|
|
||||||
Transaction t;
|
Transaction t;
|
||||||
t.value = _endowment;
|
t.value = _endowment;
|
||||||
t.gasPrice = gasPrice;
|
t.gasPrice = gasPrice;
|
||||||
t.gas = *_gas;
|
t.gas = *_gas;
|
||||||
t.data = _init.toBytes();
|
t.data = _init.toBytes();
|
||||||
callcreates.push_back(t);
|
callcreates.push_back(t);
|
||||||
return na;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool call(Address _receiveAddress, u256 _value, bytesConstRef _data, u256* _gas, bytesRef _out, OnOpFunc, Address, Address)
|
m_s.noteSending(myAddress);
|
||||||
{
|
m_ms.internal.resize(m_ms.internal.size() + 1);
|
||||||
/* if (get<0>(addresses[myAddress]) >= _value)
|
auto ret = m_s.create(myAddress, _endowment, gasPrice, _gas, _init, origin, &suicides, &posts, &m_ms ? &(m_ms.internal.back()) : nullptr, OnOpFunc(), 1);
|
||||||
|
if (!m_ms.internal.back().from)
|
||||||
|
m_ms.internal.pop_back();
|
||||||
|
|
||||||
|
if (get<0>(addresses[myAddress]) >= _endowment)
|
||||||
{
|
{
|
||||||
get<1>(addresses[myAddress])++;
|
get<1>(addresses[myAddress])++;
|
||||||
get<0>(addresses[_receiveAddress]) += _value;
|
get<0>(addresses[ret]) = _endowment;
|
||||||
// TODO: actually execute...
|
get<3>(addresses[ret]) = m_s.code(ret);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FakeExtVM::call(Address _receiveAddress, u256 _value, bytesConstRef _data, u256* _gas, bytesRef _out, OnOpFunc, Address, Address)
|
||||||
|
{
|
||||||
Transaction t;
|
Transaction t;
|
||||||
t.value = _value;
|
t.value = _value;
|
||||||
t.gasPrice = gasPrice;
|
t.gasPrice = gasPrice;
|
||||||
t.gas = *_gas;
|
t.gas = *_gas;
|
||||||
t.data = _data.toVector();
|
t.data = _data.toVector();
|
||||||
t.receiveAddress = _receiveAddress;
|
t.receiveAddress = _receiveAddress;
|
||||||
callcreates.push_back(t);
|
|
||||||
(void)_out;
|
string codeOf_receiveAddress = toHex(get<3>(addresses[_receiveAddress]) );
|
||||||
return true;
|
string sizeOfCode = toHex(toCompactBigEndian((codeOf_receiveAddress.size()+1)/2));
|
||||||
|
|
||||||
|
if (codeOf_receiveAddress.size())
|
||||||
|
{
|
||||||
|
// create init code that returns given contract code
|
||||||
|
string initStringHex = "{ (CODECOPY 0 (- (CODESIZE) 0x" + sizeOfCode + " ) 0x" + sizeOfCode + ") (RETURN 0 0x" + sizeOfCode +")}";
|
||||||
|
bytes initBytes = compileLLL(initStringHex, true, NULL);
|
||||||
|
initBytes += fromHex(codeOf_receiveAddress);
|
||||||
|
bytesConstRef init(&initBytes);
|
||||||
|
|
||||||
|
if (!m_s.addresses().count(_receiveAddress))
|
||||||
|
{
|
||||||
|
m_s.noteSending(myAddress);
|
||||||
|
m_ms.internal.resize(m_ms.internal.size() + 1);
|
||||||
|
auto na = m_s.create(myAddress, 0, gasPrice, _gas, init, origin, &suicides, &posts, &m_ms ? &(m_ms.internal.back()) : nullptr, OnOpFunc(), 1);
|
||||||
|
if (!m_ms.internal.back().from)
|
||||||
|
m_ms.internal.pop_back();
|
||||||
|
if (!m_s.addresses().count(_receiveAddress))
|
||||||
|
{
|
||||||
|
cnote << "not able to call to : " << _receiveAddress << "\n";
|
||||||
|
cnote << "in FakeExtVM you can only make a call to " << na << "\n";
|
||||||
|
BOOST_THROW_EXCEPTION(FakeExtVMFailure() << errinfo_comment("Address not callable in FakeExtVM\n") << errinfo_wrongAddress(_receiveAddress));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setTransaction(Address _caller, u256 _value, u256 _gasPrice, bytes const& _data)
|
m_ms.internal.resize(m_ms.internal.size() + 1);
|
||||||
|
auto ret = m_s.call(_receiveAddress, Address() ? Address() : _receiveAddress, Address() ? Address() : myAddress, _value, gasPrice, _data, _gas, _out, origin, &suicides, &posts, &(m_ms.internal.back()), OnOpFunc(), 1);
|
||||||
|
if (!m_ms.internal.back().from)
|
||||||
|
m_ms.internal.pop_back();
|
||||||
|
if (!ret)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (get<0>(addresses[myAddress]) >= _value)
|
||||||
{
|
{
|
||||||
|
get<1>(addresses[myAddress])++;
|
||||||
|
get<0>(addresses[_receiveAddress]) += _value;
|
||||||
|
|
||||||
|
for (auto const& j: m_s.storage(_receiveAddress))
|
||||||
|
{
|
||||||
|
u256 adr(j.first);
|
||||||
|
if ((j.second != 0) )
|
||||||
|
get<2>(addresses[_receiveAddress])[adr] = j.second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
addresses.erase(_receiveAddress); // for the sake of comparison
|
||||||
|
|
||||||
|
callcreates.push_back(t);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FakeExtVM::setTransaction(Address _caller, u256 _value, u256 _gasPrice, bytes const& _data)
|
||||||
|
{
|
||||||
caller = origin = _caller;
|
caller = origin = _caller;
|
||||||
value = _value;
|
value = _value;
|
||||||
data = &(thisTxData = _data);
|
data = &(thisTxData = _data);
|
||||||
gasPrice = _gasPrice;
|
gasPrice = _gasPrice;
|
||||||
}
|
}
|
||||||
void setContract(Address _myAddress, u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage, bytes const& _code)
|
|
||||||
{
|
void FakeExtVM::setContract(Address _myAddress, u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage, bytes const& _code)
|
||||||
|
{
|
||||||
myAddress = _myAddress;
|
myAddress = _myAddress;
|
||||||
set(myAddress, _myBalance, _myNonce, _storage, _code);
|
set(myAddress, _myBalance, _myNonce, _storage, _code);
|
||||||
}
|
}
|
||||||
void set(Address _a, u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage, bytes const& _code)
|
|
||||||
{
|
void FakeExtVM::set(Address _a, u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage, bytes const& _code)
|
||||||
|
{
|
||||||
get<0>(addresses[_a]) = _myBalance;
|
get<0>(addresses[_a]) = _myBalance;
|
||||||
get<1>(addresses[_a]) = _myNonce;
|
get<1>(addresses[_a]) = _myNonce;
|
||||||
get<2>(addresses[_a]) = _storage;
|
get<2>(addresses[_a]) = _storage;
|
||||||
get<3>(addresses[_a]) = _code;
|
get<3>(addresses[_a]) = _code;
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset(u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage)
|
void FakeExtVM::reset(u256 _myBalance, u256 _myNonce, map<u256, u256> const& _storage)
|
||||||
{
|
{
|
||||||
callcreates.clear();
|
callcreates.clear();
|
||||||
addresses.clear();
|
addresses.clear();
|
||||||
set(myAddress, _myBalance, _myNonce, _storage, get<3>(addresses[myAddress]));
|
set(myAddress, _myBalance, _myNonce, _storage, get<3>(addresses[myAddress]));
|
||||||
}
|
}
|
||||||
|
|
||||||
static u256 toInt(mValue const& _v)
|
u256 FakeExtVM::toInt(mValue const& _v)
|
||||||
{
|
{
|
||||||
switch (_v.type())
|
switch (_v.type())
|
||||||
{
|
{
|
||||||
case str_type: return u256(_v.get_str());
|
case str_type: return u256(_v.get_str());
|
||||||
@ -138,10 +163,10 @@ public:
|
|||||||
default: cwarn << "Bad type for scalar: " << _v.type();
|
default: cwarn << "Bad type for scalar: " << _v.type();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static byte toByte(mValue const& _v)
|
byte FakeExtVM::toByte(mValue const& _v)
|
||||||
{
|
{
|
||||||
switch (_v.type())
|
switch (_v.type())
|
||||||
{
|
{
|
||||||
case str_type: return (byte)stoi(_v.get_str());
|
case str_type: return (byte)stoi(_v.get_str());
|
||||||
@ -151,26 +176,26 @@ public:
|
|||||||
default: cwarn << "Bad type for scalar: " << _v.type();
|
default: cwarn << "Bad type for scalar: " << _v.type();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void push(mObject& o, string const& _n, u256 _v)
|
void FakeExtVM::push(mObject& o, string const& _n, u256 _v)
|
||||||
{
|
{
|
||||||
// if (_v < (u256)1 << 64)
|
// if (_v < (u256)1 << 64)
|
||||||
// o[_n] = (uint64_t)_v;
|
// o[_n] = (uint64_t)_v;
|
||||||
// else
|
// else
|
||||||
o[_n] = toString(_v);
|
o[_n] = toString(_v);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void push(mArray& a, u256 _v)
|
void FakeExtVM::push(mArray& a, u256 _v)
|
||||||
{
|
{
|
||||||
// if (_v < (u256)1 << 64)
|
// if (_v < (u256)1 << 64)
|
||||||
// a.push_back((uint64_t)_v);
|
// a.push_back((uint64_t)_v);
|
||||||
// else
|
// else
|
||||||
a.push_back(toString(_v));
|
a.push_back(toString(_v));
|
||||||
}
|
}
|
||||||
|
|
||||||
mObject exportEnv()
|
mObject FakeExtVM::exportEnv()
|
||||||
{
|
{
|
||||||
mObject ret;
|
mObject ret;
|
||||||
ret["previousHash"] = toString(previousBlock.hash);
|
ret["previousHash"] = toString(previousBlock.hash);
|
||||||
push(ret, "currentDifficulty", currentBlock.difficulty);
|
push(ret, "currentDifficulty", currentBlock.difficulty);
|
||||||
@ -179,10 +204,10 @@ public:
|
|||||||
push(ret, "currentNumber", currentBlock.number);
|
push(ret, "currentNumber", currentBlock.number);
|
||||||
push(ret, "currentGasLimit", currentBlock.gasLimit);
|
push(ret, "currentGasLimit", currentBlock.gasLimit);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void importEnv(mObject& _o)
|
void FakeExtVM::importEnv(mObject& _o)
|
||||||
{
|
{
|
||||||
BOOST_REQUIRE(_o.count("previousHash") > 0);
|
BOOST_REQUIRE(_o.count("previousHash") > 0);
|
||||||
BOOST_REQUIRE(_o.count("currentGasLimit") > 0);
|
BOOST_REQUIRE(_o.count("currentGasLimit") > 0);
|
||||||
BOOST_REQUIRE(_o.count("currentDifficulty") > 0);
|
BOOST_REQUIRE(_o.count("currentDifficulty") > 0);
|
||||||
@ -196,10 +221,10 @@ public:
|
|||||||
currentBlock.difficulty = toInt(_o["currentDifficulty"]);
|
currentBlock.difficulty = toInt(_o["currentDifficulty"]);
|
||||||
currentBlock.timestamp = toInt(_o["currentTimestamp"]);
|
currentBlock.timestamp = toInt(_o["currentTimestamp"]);
|
||||||
currentBlock.coinbaseAddress = Address(_o["currentCoinbase"].get_str());
|
currentBlock.coinbaseAddress = Address(_o["currentCoinbase"].get_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
mObject exportState()
|
mObject FakeExtVM::exportState()
|
||||||
{
|
{
|
||||||
mObject ret;
|
mObject ret;
|
||||||
for (auto const& a: addresses)
|
for (auto const& a: addresses)
|
||||||
{
|
{
|
||||||
@ -211,12 +236,13 @@ public:
|
|||||||
mObject store;
|
mObject store;
|
||||||
string curKey;
|
string curKey;
|
||||||
u256 li = 0;
|
u256 li = 0;
|
||||||
|
bool isOutOfRange = false;
|
||||||
mArray curVal;
|
mArray curVal;
|
||||||
for (auto const& s: get<2>(a.second))
|
for (auto const& s: get<2>(a.second))
|
||||||
{
|
{
|
||||||
if (!li || s.first > li + 8)
|
if (!li || s.first > li + 8)
|
||||||
{
|
{
|
||||||
if (li)
|
if (li || isOutOfRange)
|
||||||
store[curKey] = curVal;
|
store[curKey] = curVal;
|
||||||
li = s.first;
|
li = s.first;
|
||||||
curKey = "0x"+toHex(toCompactBigEndian(li));
|
curKey = "0x"+toHex(toCompactBigEndian(li));
|
||||||
@ -226,9 +252,11 @@ public:
|
|||||||
for (; li != s.first; ++li)
|
for (; li != s.first; ++li)
|
||||||
curVal.push_back(0);
|
curVal.push_back(0);
|
||||||
curVal.push_back("0x"+toHex(toCompactBigEndian(s.second)));
|
curVal.push_back("0x"+toHex(toCompactBigEndian(s.second)));
|
||||||
|
if ( toHex(toCompactBigEndian(li)) == "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")
|
||||||
|
isOutOfRange = true;
|
||||||
++li;
|
++li;
|
||||||
}
|
}
|
||||||
if (li)
|
if (li || isOutOfRange)
|
||||||
store[curKey] = curVal;
|
store[curKey] = curVal;
|
||||||
o["storage"] = store;
|
o["storage"] = store;
|
||||||
}
|
}
|
||||||
@ -237,10 +265,10 @@ public:
|
|||||||
ret[toString(a.first)] = o;
|
ret[toString(a.first)] = o;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void importState(mObject& _object)
|
void FakeExtVM::importState(mObject& _object)
|
||||||
{
|
{
|
||||||
for (auto const& i: _object)
|
for (auto const& i: _object)
|
||||||
{
|
{
|
||||||
mObject o = i.second.get_obj();
|
mObject o = i.second.get_obj();
|
||||||
@ -256,7 +284,11 @@ public:
|
|||||||
{
|
{
|
||||||
u256 adr(j.first);
|
u256 adr(j.first);
|
||||||
for (auto const& k: j.second.get_array())
|
for (auto const& k: j.second.get_array())
|
||||||
get<2>(a)[adr++] = toInt(k);
|
{
|
||||||
|
if ((toInt(k) != 0) || (j.second.get_array().size() == 1))
|
||||||
|
get<2>(a)[adr] = toInt(k);
|
||||||
|
adr++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (o["code"].type() == str_type)
|
if (o["code"].type() == str_type)
|
||||||
@ -271,10 +303,10 @@ public:
|
|||||||
get<3>(a).push_back(toByte(j));
|
get<3>(a).push_back(toByte(j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mObject exportExec()
|
mObject FakeExtVM::exportExec()
|
||||||
{
|
{
|
||||||
mObject ret;
|
mObject ret;
|
||||||
ret["address"] = toString(myAddress);
|
ret["address"] = toString(myAddress);
|
||||||
ret["caller"] = toString(caller);
|
ret["caller"] = toString(caller);
|
||||||
@ -285,10 +317,10 @@ public:
|
|||||||
ret["data"] = "0x" + toHex(data);
|
ret["data"] = "0x" + toHex(data);
|
||||||
ret["code"] = "0x" + toHex(code);
|
ret["code"] = "0x" + toHex(code);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void importExec(mObject& _o)
|
void FakeExtVM::importExec(mObject& _o)
|
||||||
{
|
{
|
||||||
BOOST_REQUIRE(_o.count("address")> 0);
|
BOOST_REQUIRE(_o.count("address")> 0);
|
||||||
BOOST_REQUIRE(_o.count("caller") > 0);
|
BOOST_REQUIRE(_o.count("caller") > 0);
|
||||||
BOOST_REQUIRE(_o.count("origin") > 0);
|
BOOST_REQUIRE(_o.count("origin") > 0);
|
||||||
@ -327,10 +359,10 @@ public:
|
|||||||
for (auto const& j: _o["data"].get_array())
|
for (auto const& j: _o["data"].get_array())
|
||||||
thisTxData.push_back(toByte(j));
|
thisTxData.push_back(toByte(j));
|
||||||
data = &thisTxData;
|
data = &thisTxData;
|
||||||
}
|
}
|
||||||
|
|
||||||
mArray exportCallCreates()
|
mArray FakeExtVM::exportCallCreates()
|
||||||
{
|
{
|
||||||
mArray ret;
|
mArray ret;
|
||||||
for (Transaction const& tx: callcreates)
|
for (Transaction const& tx: callcreates)
|
||||||
{
|
{
|
||||||
@ -342,10 +374,10 @@ public:
|
|||||||
ret.push_back(o);
|
ret.push_back(o);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCallCreates(mArray& _callcreates)
|
void FakeExtVM::importCallCreates(mArray& _callcreates)
|
||||||
{
|
{
|
||||||
for (mValue& v: _callcreates)
|
for (mValue& v: _callcreates)
|
||||||
{
|
{
|
||||||
auto tx = v.get_obj();
|
auto tx = v.get_obj();
|
||||||
@ -367,14 +399,10 @@ public:
|
|||||||
t.data.push_back(toByte(j));
|
t.data.push_back(toByte(j));
|
||||||
callcreates.push_back(t);
|
callcreates.push_back(t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
map<Address, tuple<u256, u256, map<u256, u256>, bytes>> addresses;
|
|
||||||
Transactions callcreates;
|
namespace dev { namespace test {
|
||||||
bytes thisTxData;
|
|
||||||
bytes thisTxCode;
|
|
||||||
u256 gas;
|
|
||||||
};
|
|
||||||
|
|
||||||
void doTests(json_spirit::mValue& v, bool _fillin)
|
void doTests(json_spirit::mValue& v, bool _fillin)
|
||||||
{
|
{
|
||||||
@ -401,8 +429,40 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
fev.thisTxCode = get<3>(fev.addresses.at(fev.myAddress));
|
fev.thisTxCode = get<3>(fev.addresses.at(fev.myAddress));
|
||||||
fev.code = &fev.thisTxCode;
|
fev.code = &fev.thisTxCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
vm.reset(fev.gas);
|
vm.reset(fev.gas);
|
||||||
bytes output = vm.go(fev).toBytes();
|
bytes output;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
output = vm.go(fev).toBytes();
|
||||||
|
}
|
||||||
|
catch (Exception const& _e)
|
||||||
|
{
|
||||||
|
cnote << "VM did throw an exception: " << diagnostic_information(_e);
|
||||||
|
//BOOST_ERROR("Failed VM Test with Exception: " << e.what());
|
||||||
|
}
|
||||||
|
catch (std::exception const& _e)
|
||||||
|
{
|
||||||
|
cnote << "VM did throw an exception: " << _e.what();
|
||||||
|
//BOOST_ERROR("Failed VM Test with Exception: " << e.what());
|
||||||
|
}
|
||||||
|
|
||||||
|
// delete null entries in storage for the sake of comparison
|
||||||
|
|
||||||
|
for (auto &a: fev.addresses)
|
||||||
|
{
|
||||||
|
vector<u256> keystoDelete;
|
||||||
|
for (auto &s: get<2>(a.second))
|
||||||
|
{
|
||||||
|
if (s.second == 0)
|
||||||
|
keystoDelete.push_back(s.first);
|
||||||
|
}
|
||||||
|
for (auto const key: keystoDelete )
|
||||||
|
{
|
||||||
|
get<2>(a.second).erase(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (_fillin)
|
if (_fillin)
|
||||||
{
|
{
|
||||||
@ -427,7 +487,7 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
if (o["out"].type() == array_type)
|
if (o["out"].type() == array_type)
|
||||||
for (auto const& d: o["out"].get_array())
|
for (auto const& d: o["out"].get_array())
|
||||||
{
|
{
|
||||||
BOOST_CHECK_MESSAGE(output[i] == FakeExtVM::toInt(d), "Output byte [" << i << "] different!");
|
BOOST_CHECK_MESSAGE(output[i] == test.toInt(d), "Output byte [" << i << "] different!");
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
else if (o["out"].get_str().find("0x") == 0)
|
else if (o["out"].get_str().find("0x") == 0)
|
||||||
@ -435,7 +495,7 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
else
|
else
|
||||||
BOOST_CHECK(output == fromHex(o["out"].get_str()));
|
BOOST_CHECK(output == fromHex(o["out"].get_str()));
|
||||||
|
|
||||||
BOOST_CHECK(FakeExtVM::toInt(o["gas"]) == vm.gas());
|
BOOST_CHECK(test.toInt(o["gas"]) == vm.gas());
|
||||||
BOOST_CHECK(test.addresses == fev.addresses);
|
BOOST_CHECK(test.addresses == fev.addresses);
|
||||||
BOOST_CHECK(test.callcreates == fev.callcreates);
|
BOOST_CHECK(test.callcreates == fev.callcreates);
|
||||||
}
|
}
|
||||||
@ -470,65 +530,92 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
return json_spirit::write_string(json_spirit::mValue(o), true);
|
return json_spirit::write_string(json_spirit::mValue(o), true);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
void executeTests(const string& _name)
|
||||||
|
{
|
||||||
|
#ifdef FILL_TESTS
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cnote << "Populating VM tests...";
|
||||||
|
json_spirit::mValue v;
|
||||||
|
string s = asString(contents("../../../cpp-ethereum/test/" + _name + "Filler.json"));
|
||||||
|
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of " + _name + "Filler.json is empty.");
|
||||||
|
json_spirit::read_string(s, v);
|
||||||
|
dev::test::doTests(v, true);
|
||||||
|
writeFile("../../../tests/" + _name + ".json", asBytes(json_spirit::write_string(v, true)));
|
||||||
|
}
|
||||||
|
catch (Exception const& _e)
|
||||||
|
{
|
||||||
|
BOOST_ERROR("Failed VM Test with Exception: " << diagnostic_information(_e));
|
||||||
|
}
|
||||||
|
catch (std::exception const& _e)
|
||||||
|
{
|
||||||
|
BOOST_ERROR("Failed VM Test with Exception: " << _e.what());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cnote << "Testing VM..." << _name;
|
||||||
|
json_spirit::mValue v;
|
||||||
|
string s = asString(contents("../../../tests/" + _name + ".json"));
|
||||||
|
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of " + _name + ".json is empty. Have you cloned the 'tests' repo branch develop?");
|
||||||
|
json_spirit::read_string(s, v);
|
||||||
|
dev::test::doTests(v, false);
|
||||||
|
}
|
||||||
|
catch (Exception const& _e)
|
||||||
|
{
|
||||||
|
BOOST_ERROR("Failed VM Test with Exception: " << diagnostic_information(_e));
|
||||||
|
}
|
||||||
|
catch (std::exception const& _e)
|
||||||
|
{
|
||||||
|
BOOST_ERROR("Failed VM Test with Exception: " << _e.what());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} } // Namespace Close
|
} } // Namespace Close
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(vm_tests)
|
BOOST_AUTO_TEST_CASE(vm_tests)
|
||||||
{
|
{
|
||||||
/*
|
dev::test::executeTests("vmtests");
|
||||||
// Populate tests first:
|
|
||||||
try
|
|
||||||
{
|
|
||||||
cnote << "Populating VM tests...";
|
|
||||||
json_spirit::mValue v;
|
|
||||||
string s = asString(contents("../../../cpp-ethereum/test/vmtests.json"));
|
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty.");
|
|
||||||
json_spirit::read_string(s, v);
|
|
||||||
dev::test::doTests(v, true);
|
|
||||||
writeFile("../../../tests/vmtests.json", asBytes(json_spirit::write_string(v, true)));
|
|
||||||
}
|
|
||||||
catch (std::exception const& e)
|
|
||||||
{
|
|
||||||
BOOST_ERROR("Failed VM Test with Exception: " << e.what());
|
|
||||||
}*/
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
cnote << "Testing VM...";
|
|
||||||
json_spirit::mValue v;
|
|
||||||
string s = asString(contents("../../../tests/vmtests.json"));
|
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
|
||||||
json_spirit::read_string(s, v);
|
|
||||||
dev::test::doTests(v, false);
|
|
||||||
}
|
|
||||||
catch (std::exception const& e)
|
|
||||||
{
|
|
||||||
BOOST_ERROR("Failed VM Test with Exception: " << e.what());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(vmArithmeticTest)
|
BOOST_AUTO_TEST_CASE(vmArithmeticTest)
|
||||||
{
|
{
|
||||||
/*
|
dev::test::executeTests("vmArithmeticTest");
|
||||||
cnote << "Populating VM tests...";
|
}
|
||||||
json_spirit::mValue v;
|
|
||||||
string s = asString(contents("../../../cpp-ethereum/test/vmArithmeticTestFiller.json"));
|
BOOST_AUTO_TEST_CASE(vmBitwiseLogicOperationTest)
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty.");
|
{
|
||||||
json_spirit::read_string(s, v);
|
dev::test::executeTests("vmBitwiseLogicOperationTest");
|
||||||
dev::test::doTests(v, true);
|
}
|
||||||
writeFile("../../../tests/vmArithmeticTest.json", asBytes(json_spirit::write_string(v, true)));
|
|
||||||
*/
|
BOOST_AUTO_TEST_CASE(vmSha3Test)
|
||||||
|
{
|
||||||
try
|
dev::test::executeTests("vmSha3Test");
|
||||||
{
|
}
|
||||||
cnote << "Testing VM arithmetic commands...";
|
|
||||||
json_spirit::mValue v;
|
BOOST_AUTO_TEST_CASE(vmEnvironmentalInfoTest)
|
||||||
string s = asString(contents("../../../tests/vmArithmeticTest.json"));
|
{
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmArithmeticTest.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
dev::test::executeTests("vmEnvironmentalInfoTest");
|
||||||
json_spirit::read_string(s, v);
|
}
|
||||||
dev::test::doTests(v, false);
|
|
||||||
}
|
BOOST_AUTO_TEST_CASE(vmBlockInfoTest)
|
||||||
catch (std::exception const& e)
|
{
|
||||||
{
|
dev::test::executeTests("vmBlockInfoTest");
|
||||||
BOOST_ERROR("Failed VM arithmetic test with Exception: " << e.what());
|
}
|
||||||
}
|
|
||||||
|
BOOST_AUTO_TEST_CASE(vmIOandFlowOperationsTest)
|
||||||
|
{
|
||||||
|
dev::test::executeTests("vmIOandFlowOperationsTest");
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(vmPushDupSwapTest)
|
||||||
|
{
|
||||||
|
dev::test::executeTests("vmPushDupSwapTest");
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(vmSystemOperationsTest)
|
||||||
|
{
|
||||||
|
dev::test::executeTests("vmSystemOperationsTest");
|
||||||
}
|
}
|
||||||
|
86
vm.h
Normal file
86
vm.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
This file is part of cpp-ethereum.
|
||||||
|
|
||||||
|
cpp-ethereum is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
cpp-ethereum is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
/** @file vm.h
|
||||||
|
* @author Christoph Jentzsch <jentzsch.simulationsoftware@gmail.com>
|
||||||
|
* @author Gav Wood <i@gavwood.com>
|
||||||
|
* @date 2014
|
||||||
|
* vm test functions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <boost/test/unit_test.hpp>
|
||||||
|
#include "JsonSpiritHeaders.h"
|
||||||
|
#include <libdevcore/Log.h>
|
||||||
|
#include <libevmface/Instruction.h>
|
||||||
|
#include <libevm/ExtVMFace.h>
|
||||||
|
#include <libevm/VM.h>
|
||||||
|
#include <liblll/Compiler.h>
|
||||||
|
#include <libethereum/Transaction.h>
|
||||||
|
#include <libethereum/ExtVM.h>
|
||||||
|
#include <libethereum/State.h>
|
||||||
|
|
||||||
|
namespace dev { namespace test {
|
||||||
|
|
||||||
|
struct FakeExtVMFailure : virtual Exception {};
|
||||||
|
|
||||||
|
class FakeExtVM: public eth::ExtVMFace
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FakeExtVM() {}
|
||||||
|
FakeExtVM(eth::BlockInfo const& _previousBlock, eth::BlockInfo const& _currentBlock);
|
||||||
|
|
||||||
|
u256 store(u256 _n) { return std::get<2>(addresses[myAddress])[_n]; }
|
||||||
|
void setStore(u256 _n, u256 _v) { std::get<2>(addresses[myAddress])[_n] = _v; }
|
||||||
|
u256 balance(Address _a) { return std::get<0>(addresses[_a]); }
|
||||||
|
void subBalance(u256 _a) { std::get<0>(addresses[myAddress]) -= _a; }
|
||||||
|
u256 txCount(Address _a) { return std::get<1>(addresses[_a]); }
|
||||||
|
void suicide(Address _a) { std::get<0>(addresses[_a]) += std::get<0>(addresses[myAddress]); addresses.erase(myAddress); }
|
||||||
|
bytes const& codeAt(Address _a) { return std::get<3>(addresses[_a]); }
|
||||||
|
h160 create(u256 _endowment, u256* _gas, bytesConstRef _init, eth::OnOpFunc);
|
||||||
|
bool call(Address _receiveAddress, u256 _value, bytesConstRef _data, u256* _gas, bytesRef _out, eth::OnOpFunc, Address, Address);
|
||||||
|
void setTransaction(Address _caller, u256 _value, u256 _gasPrice, bytes const& _data);
|
||||||
|
void setContract(Address _myAddress, u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage, bytes const& _code);
|
||||||
|
void set(Address _a, u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage, bytes const& _code);
|
||||||
|
void reset(u256 _myBalance, u256 _myNonce, std::map<u256, u256> const& _storage);
|
||||||
|
u256 toInt(json_spirit::mValue const& _v);
|
||||||
|
byte toByte(json_spirit::mValue const& _v);
|
||||||
|
void push(json_spirit::mObject& o, std::string const& _n, u256 _v);
|
||||||
|
void push(json_spirit::mArray& a, u256 _v);
|
||||||
|
json_spirit::mObject exportEnv();
|
||||||
|
void importEnv(json_spirit::mObject& _o);
|
||||||
|
json_spirit::mObject exportState();
|
||||||
|
void importState(json_spirit::mObject& _object);
|
||||||
|
json_spirit::mObject exportExec();
|
||||||
|
void importExec(json_spirit::mObject& _o);
|
||||||
|
json_spirit::mArray exportCallCreates();
|
||||||
|
void importCallCreates(json_spirit::mArray& _callcreates);
|
||||||
|
|
||||||
|
std::map<Address, std::tuple<u256, u256, std::map<u256, u256>, bytes>> addresses;
|
||||||
|
eth::Transactions callcreates;
|
||||||
|
bytes thisTxData;
|
||||||
|
bytes thisTxCode;
|
||||||
|
u256 gas;
|
||||||
|
|
||||||
|
private:
|
||||||
|
eth::State m_s;
|
||||||
|
eth::Manifest m_ms;
|
||||||
|
};
|
||||||
|
|
||||||
|
} } // Namespace Close
|
1236
vmBitwiseLogicOperationTestFiller.json
Normal file
1236
vmBitwiseLogicOperationTestFiller.json
Normal file
File diff suppressed because it is too large
Load Diff
169
vmBlockInfoTestFiller.json
Normal file
169
vmBlockInfoTestFiller.json
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
{
|
||||||
|
"prevhash": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (PREVHASH) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"coinbase": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (COINBASE) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"timestamp": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (TIMESTAMP) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"number": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (NUMBER) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"difficulty": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (DIFFICULTY) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"gaslimit": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (GASLIMIT) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
723
vmEnvironmentalInfoTestFiller.json
Normal file
723
vmEnvironmentalInfoTestFiller.json
Normal file
@ -0,0 +1,723 @@
|
|||||||
|
{
|
||||||
|
"address0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (ADDRESS)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"address1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (ADDRESS)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"origin" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"caller" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"balance0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (BALANCE 0xcd1722f3947def4cf144679da39c4c32bdc35681 )}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"balance1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (BALANCE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 )}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"balanceAddress2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (EQ (BALANCE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) (BALANCE (ADDRESS)))}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"balanceCaller3": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (EQ (BALANCE 0xcd1722f3947def4cf144679da39c4c32bdc35681) (BALANCE (CALLER)))}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"origin": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (ORIGIN)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"caller": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLER)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"callvalue": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLVALUE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"calldataload0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATALOAD 0)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x256",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldataload1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATALOAD 1)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff23",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldataload2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATALOAD 5)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x123456789abcdef0000000000000000000000000000000000000000000000000024",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"calldatasize0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x256",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldatasize1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff23",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldatasize2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x230000000000000000000000000000000000000000000000000000000000000023",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldatacopy0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CALLDATACOPY 0 1 2 ) [[ 0 ]] @0}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldatacopy1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CALLDATACOPY 0 1 1 ) [[ 0 ]] @0}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"calldatacopy2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CALLDATACOPY 0 1 0 ) [[ 0 ]] @0}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"codesize": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CODESIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"codecopy0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CODECOPY 0 0 5 ) [[ 0 ]] @0 }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"codecopy1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CODECOPY 0 0 (CODESIZE) ) [[ 0 ]] @0 }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"gasprice": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (GASPRICE) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "123456789",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"extcodesize0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (EQ (EXTCODESIZE (CALLER)) (CODESIZE) ) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (EQ (EXTCODESIZE (CALLER)) (CODESIZE) ) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "123456789",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extcodesize1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (CODESIZE) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (EXTCODESIZE (CALLER) ) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"origin" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"caller" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "123456789",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"extcodecopy0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (EXTCODECOPY (CALLER) 0 0 (EXTCODESIZE (CALLER) ) ) [[ 0 ]] @0 }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] 5 }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0x1234567890abcdef01234567890abcdef",
|
||||||
|
"gasPrice" : "123456789",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
813
vmIOandFlowOperationsTestFiller.json
Normal file
813
vmIOandFlowOperationsTestFiller.json
Normal file
@ -0,0 +1,813 @@
|
|||||||
|
{
|
||||||
|
"pop0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x6002600360045057",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"pop1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x5060026003600457",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"dupAt51doesNotExistAnymore": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x600260035157",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"swapAt52doesNotExistAnymore": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x600260035257",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore_mload0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 23) [[ 1 ]] (MLOAD 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mloadError0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{[[ 0 ]] (MLOAD 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mloadError1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 1 23) [[ 1 ]] (MLOAD 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mloadOutOfGasError2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 1 ]] (MLOAD 7489573) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 1 ]] (MLOAD 1) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 1 (+ 2 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) ) [[ 1 ]] (MLOAD 1) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstoreWordToBigError": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff23 ) [[ 1 ]] (MLOAD 1) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore8WordToBigError": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE8 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff23 ) [[ 1 ]] (MLOAD 1) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore8_0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE8 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ) [[ 1 ]] (MLOAD 1) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"mstore8_1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE8 1 0xff) (MSTORE8 2 0xee) [[ 1 ]] (MLOAD 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sstore_load_0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SSTORE 0 0xff) (SSTORE 10 0xee) [[ 20 ]] (SLOAD 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sstore_load_1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SSTORE 0 0xff) (SSTORE 10 0xee) [[ 20 ]] (SLOAD 100) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sstore_load_2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SSTORE 0 0xff) (SSTORE 1 0xee) (SSTORE 2 0xdd) [[ 10 ]] (SLOAD 1) [[ 20 ]] (SLOAD 2) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"jump0_foreverOutOfGas": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x6023600058",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"jump0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x60236007586001600257",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"jumpi0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x602360016009596001600257",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"jumpi1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x602360006009596001600257",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"pc0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (PC)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"pc1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(SSTORE 0 0xff) [[ 0 ]] (PC)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"msize0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 0xff) [[ 0 ]] (MSIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"msize1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 0xffffffffff) [[ 0 ]] (MSIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"msize2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 0xffffffffff) (MSTORE 32 0xeeee) [[ 0 ]] (MSIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"msize3": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 0xffffffffff) (MSTORE 90 0xeeee) [[ 0 ]] (MSIZE)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"gas0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{(MSTORE 0 0xffffffffff) (MSTORE 90 0xeeee) [[ 0 ]] (GAS)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"gas1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{[[ 0 ]] (GAS)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1878
vmPushDupSwapTestFiller.json
Normal file
1878
vmPushDupSwapTestFiller.json
Normal file
File diff suppressed because it is too large
Load Diff
144
vmSha3TestFiller.json
Normal file
144
vmSha3TestFiller.json
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"sha3_0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (SHA3 0 0)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1000000000",
|
||||||
|
"gas" : "100000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sha3_1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (SHA3 4 5)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sha3_2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (SHA3 10 10)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sha3_3": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (SHA3 1000 0xfffff)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sha3_3": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (SHA3 0xfffffffff 100)}",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
814
vmSystemOperationsTestFiller.json
Normal file
814
vmSystemOperationsTestFiller.json
Normal file
@ -0,0 +1,814 @@
|
|||||||
|
{
|
||||||
|
"createNameRegistrator": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0x601080600c6000396000f200600035560f6009590060203560003557) [[ 0 ]] (CREATE 23 4 28) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"createNameRegistratorValueTooHigh": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "100",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0x601080600c6000396000f200600035560f6009590060203560003557) [[ 0 ]] (CREATE 230 4 28) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"createNameRegistratorOutOfMemoryBonds0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "100",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0x601080600c6000396000f200600035560f6009590060203560003557) [[ 0 ]] (CREATE 23 0xfffffffffff 28) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"createNameRegistratorOutOfMemoryBonds1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "100",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0x601080600c6000396000f200600035560f6009590060203560003557) [[ 0 ]] (CREATE 23 4 0xffffffff) }",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToNameRegistrator0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToReturn1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x6001600157603760005560026000f2",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"PostToReturn1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) (POST 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 ) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x603760005560026000f2",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"callstatelessToReturn1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLSTATELESS 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2 ) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x6001600157603760005560026000f2",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"CallToNameRegistratorOutOfGas": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToNameRegistratorTooMuchMemory0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654321 64 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToNameRegistratorTooMuchMemory1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 9865432 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToNameRegistratorTooMuchMemory2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 1) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"CallToNameRegistratorNotMuchMemory0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallToNameRegistratorNotMuchMemory1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654 0 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"CallRecursiveBomb": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "20000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (CALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 224) (ADDRESS) 0 0 0 0 0) } ",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "1",
|
||||||
|
"gas" : "20000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"suicide0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SUICIDE (CALLER))}",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"suicideNotExistingAccount": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SUICIDE 0xaa1722f3947def4cf144679da39c4c32bdc35681 )}",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"suicideSendEtherToMe": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (SUICIDE (ADDRESS) )}",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"return0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "{ (MSTORE8 0 55) (RETURN 0 1)}",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"origin" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"caller" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "0xaa",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"return1": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "{ (MSTORE8 0 55) (RETURN 0 2)}",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"origin" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"caller" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "0xaa",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"return2": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "{ (MSTORE8 0 55) (RETURN 0 33)}",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"origin" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"caller" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "0xaa",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "1000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"PostToNameRegistrator0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) (POST 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 ) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"callstatelessToNameRegistrator0": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "10000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLSTATELESS 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||||
|
"storage": {}
|
||||||
|
},
|
||||||
|
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||||
|
"balance" : "23",
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"nonce" : "0",
|
||||||
|
"storage" : {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "100000",
|
||||||
|
"data" : "",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000000000000"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"TestNameRegistrator": {
|
||||||
|
"env" : {
|
||||||
|
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||||
|
"currentNumber" : "0",
|
||||||
|
"currentGasLimit" : "1000000",
|
||||||
|
"currentDifficulty" : "256",
|
||||||
|
"currentTimestamp" : 1,
|
||||||
|
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||||
|
},
|
||||||
|
"pre" : {
|
||||||
|
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||||
|
"balance" : "1000000000000000000",
|
||||||
|
"nonce" : 0,
|
||||||
|
"code" : "0x600035560f6009590060203560003557",
|
||||||
|
"storage": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exec" : {
|
||||||
|
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||||
|
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||||
|
"value" : "1000000000000000000",
|
||||||
|
"data" : "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa",
|
||||||
|
"gasPrice" : "100000000000000",
|
||||||
|
"gas" : "10000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user