mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge branch 'develop' into p2p
This commit is contained in:
commit
c46b429993
@ -26,7 +26,7 @@ target_link_libraries(testeth ethereum)
|
||||
target_link_libraries(testeth ethcore)
|
||||
target_link_libraries(testeth secp256k1)
|
||||
target_link_libraries(testeth solidity)
|
||||
if (NOT HEADLESS)
|
||||
if (NOT HEADLESS AND NOT JUSTTESTS)
|
||||
target_link_libraries(testeth webthree)
|
||||
target_link_libraries(testeth natspec)
|
||||
endif()
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include <libdevcrypto/TrieCommon.h>
|
||||
#include <libdevcrypto/SHA3.h>
|
||||
#include <libethcore/CommonEth.h>
|
||||
#include <libethcore/Common.h>
|
||||
using namespace std;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Unit tests for the solidity compiler JSON Interface output.
|
||||
*/
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
#include <libsolidity/CompilerStack.h>
|
||||
#include <json/json.h>
|
||||
#include <libdevcore/Exceptions.h>
|
||||
@ -39,15 +39,7 @@ public:
|
||||
|
||||
void checkInterface(std::string const& _code, std::string const& _expectedInterfaceString)
|
||||
{
|
||||
try
|
||||
{
|
||||
m_compilerStack.parse(_code);
|
||||
}
|
||||
catch(boost::exception const& _e)
|
||||
{
|
||||
auto msg = std::string("Parsing contract failed with: ") + boost::diagnostic_information(_e);
|
||||
BOOST_FAIL(msg);
|
||||
}
|
||||
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parse(_code), "Parsing contract failed");
|
||||
std::string generatedInterfaceString = m_compilerStack.getMetadata("", DocumentationType::ABIInterface);
|
||||
Json::Value generatedInterface;
|
||||
m_reader.parse(generatedInterfaceString, generatedInterface);
|
||||
|
@ -2949,6 +2949,164 @@ BOOST_AUTO_TEST_CASE(array_copy_storage_storage_struct)
|
||||
BOOST_CHECK(m_state.storage(m_contractAddress).empty());
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(external_array_args)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
function test(uint[8] a, uint[] b, uint[5] c, uint a_index, uint b_index, uint c_index)
|
||||
external returns (uint av, uint bv, uint cv) {
|
||||
av = a[a_index];
|
||||
bv = b[b_index];
|
||||
cv = c[c_index];
|
||||
}
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
bytes params = encodeArgs(
|
||||
1, 2, 3, 4, 5, 6, 7, 8, // a
|
||||
3, // b.length
|
||||
21, 22, 23, 24, 25, // c
|
||||
0, 1, 2, // (a,b,c)_index
|
||||
11, 12, 13 // b
|
||||
);
|
||||
BOOST_CHECK(callContractFunction("test(uint256[8],uint256[],uint256[5],uint256,uint256,uint256)", params) == encodeArgs(1, 12, 23));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(bytes_index_access)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
bytes data;
|
||||
function direct(bytes arg, uint index) external returns (uint) {
|
||||
return uint(arg[index]);
|
||||
}
|
||||
function storageCopyRead(bytes arg, uint index) external returns (uint) {
|
||||
data = arg;
|
||||
return uint(data[index]);
|
||||
}
|
||||
function storageWrite() external returns (uint) {
|
||||
data.length = 35;
|
||||
data[31] = 0x77;
|
||||
data[32] = 0x14;
|
||||
|
||||
data[31] = 1;
|
||||
data[31] |= 8;
|
||||
data[30] = 1;
|
||||
data[32] = 3;
|
||||
return uint(data[30]) * 0x100 | uint(data[31]) * 0x10 | uint(data[32]);
|
||||
}
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
string array{
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
|
||||
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
||||
30, 31, 32, 33};
|
||||
BOOST_CHECK(callContractFunction("direct(bytes,uint256)", u256(array.length()), 32, array) == encodeArgs(32));
|
||||
BOOST_CHECK(callContractFunction("storageCopyRead(bytes,uint256)", u256(array.length()), 32, array) == encodeArgs(32));
|
||||
BOOST_CHECK(callContractFunction("storageWrite()") == encodeArgs(0x193));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_copy_calldata_storage)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
uint[9] m_data;
|
||||
uint[] m_data_dyn;
|
||||
uint8[][] m_byte_data;
|
||||
function store(uint[9] a, uint8[3][] b) external returns (uint8) {
|
||||
m_data = a;
|
||||
m_data_dyn = a;
|
||||
m_byte_data = b;
|
||||
return b[3][1]; // note that access and declaration are reversed to each other
|
||||
}
|
||||
function retrieve() returns (uint a, uint b, uint c, uint d, uint e, uint f, uint g) {
|
||||
a = m_data.length;
|
||||
b = m_data[7];
|
||||
c = m_data_dyn.length;
|
||||
d = m_data_dyn[7];
|
||||
e = m_byte_data.length;
|
||||
f = m_byte_data[3].length;
|
||||
g = m_byte_data[3][1];
|
||||
}
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
BOOST_CHECK(callContractFunction("store(uint256[9],uint8[3][])", encodeArgs(
|
||||
21, 22, 23, 24, 25, 26, 27, 28, 29, // a
|
||||
4, // size of b
|
||||
1, 2, 3, // b[0]
|
||||
11, 12, 13, // b[1]
|
||||
21, 22, 23, // b[2]
|
||||
31, 32, 33 // b[3]
|
||||
)) == encodeArgs(32));
|
||||
BOOST_CHECK(callContractFunction("retrieve()") == encodeArgs(
|
||||
9, 28, 9, 28,
|
||||
4, 3, 32));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_copy_nested_array)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
uint[4][] a;
|
||||
uint[5][] b;
|
||||
uint[][] c;
|
||||
function test(uint[2][] d) external returns (uint) {
|
||||
a = d;
|
||||
b = a;
|
||||
c = b;
|
||||
return c[1][1] | c[1][2] | c[1][3] | c[1][4];
|
||||
}
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
BOOST_CHECK(callContractFunction("test(uint256[2][])", encodeArgs(
|
||||
3,
|
||||
7, 8,
|
||||
9, 10,
|
||||
11, 12
|
||||
)) == encodeArgs(10));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_copy_including_mapping)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
mapping(uint=>uint)[90][] large;
|
||||
mapping(uint=>uint)[3][] small;
|
||||
function test() returns (uint r) {
|
||||
large.length = small.length = 7;
|
||||
large[3][2][0] = 2;
|
||||
large[1] = large[3];
|
||||
small[3][2][0] = 2;
|
||||
small[1] = small[2];
|
||||
r = ((
|
||||
small[3][2][0] * 0x100 |
|
||||
small[1][2][0]) * 0x100 |
|
||||
large[3][2][0]) * 0x100 |
|
||||
large[1][2][0];
|
||||
delete small;
|
||||
delete large;
|
||||
}
|
||||
function clear() returns (uint r) {
|
||||
large.length = small.length = 7;
|
||||
small[3][2][0] = 0;
|
||||
large[3][2][0] = 0;
|
||||
small.length = large.length = 0;
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
)";
|
||||
compileAndRun(sourceCode);
|
||||
BOOST_CHECK(callContractFunction("test()") == encodeArgs(0x02000200));
|
||||
// storage is not empty because we cannot delete the mappings
|
||||
BOOST_CHECK(!m_state.storage(m_contractAddress).empty());
|
||||
BOOST_CHECK(callContractFunction("clear()") == encodeArgs(7));
|
||||
BOOST_CHECK(m_state.storage(m_contractAddress).empty());
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(pass_dynamic_arguments_to_the_base)
|
||||
{
|
||||
char const* sourceCode = R"(
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include <libsolidity/CompilerContext.h>
|
||||
#include <libsolidity/ExpressionCompiler.h>
|
||||
#include <libsolidity/AST.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -72,8 +72,8 @@ private:
|
||||
Expression* m_expression;
|
||||
};
|
||||
|
||||
Declaration const& resolveDeclaration(vector<string> const& _namespacedName,
|
||||
NameAndTypeResolver const& _resolver)
|
||||
Declaration const& resolveDeclaration(
|
||||
vector<string> const& _namespacedName, NameAndTypeResolver const& _resolver)
|
||||
{
|
||||
Declaration const* declaration = nullptr;
|
||||
// bracers are required, cause msvc couldnt handle this macro in for statement
|
||||
@ -112,13 +112,13 @@ bytes compileFirstExpression(const string& _sourceCode, vector<vector<string>> _
|
||||
for (ASTPointer<ASTNode> const& node: sourceUnit->getNodes())
|
||||
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
|
||||
{
|
||||
BOOST_REQUIRE_NO_THROW(resolver.resolveNamesAndTypes(*contract));
|
||||
ETH_TEST_REQUIRE_NO_THROW(resolver.resolveNamesAndTypes(*contract), "Resolving names failed");
|
||||
inheritanceHierarchy = vector<ContractDefinition const*>(1, contract);
|
||||
}
|
||||
for (ASTPointer<ASTNode> const& node: sourceUnit->getNodes())
|
||||
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
|
||||
{
|
||||
BOOST_REQUIRE_NO_THROW(resolver.checkTypeRequirements(*contract));
|
||||
ETH_TEST_REQUIRE_NO_THROW(resolver.checkTypeRequirements(*contract), "Checking type Requirements failed");
|
||||
}
|
||||
for (ASTPointer<ASTNode> const& node: sourceUnit->getNodes())
|
||||
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Unit tests for generating source interfaces for Solidity contracts.
|
||||
*/
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
#include <libsolidity/CompilerStack.h>
|
||||
#include <libsolidity/AST.h>
|
||||
|
||||
@ -42,9 +42,9 @@ public:
|
||||
ContractDefinition const& checkInterface(string const& _code, string const& _contractName = "")
|
||||
{
|
||||
m_code = _code;
|
||||
BOOST_REQUIRE_NO_THROW(m_compilerStack.parse(_code));
|
||||
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parse(_code), "Parsing failed");
|
||||
m_interface = m_compilerStack.getMetadata("", DocumentationType::ABISolidityInterface);
|
||||
BOOST_REQUIRE_NO_THROW(m_reCompiler.parse(m_interface));
|
||||
ETH_TEST_REQUIRE_NO_THROW(m_reCompiler.parse(m_interface), "Interface parsing failed");
|
||||
return m_reCompiler.getContractDefinition(_contractName);
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <libsolidity/Parser.h>
|
||||
#include <libsolidity/NameAndTypeResolver.h>
|
||||
#include <libsolidity/Exceptions.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -58,30 +58,6 @@ ASTPointer<SourceUnit> parseTextAndResolveNames(std::string const& _source)
|
||||
return sourceUnit;
|
||||
}
|
||||
|
||||
ASTPointer<SourceUnit> parseTextAndResolveNamesWithChecks(std::string const& _source)
|
||||
{
|
||||
Parser parser;
|
||||
ASTPointer<SourceUnit> sourceUnit;
|
||||
try
|
||||
{
|
||||
sourceUnit = parser.parse(std::make_shared<Scanner>(CharStream(_source)));
|
||||
NameAndTypeResolver resolver({});
|
||||
resolver.registerDeclarations(*sourceUnit);
|
||||
for (ASTPointer<ASTNode> const& node: sourceUnit->getNodes())
|
||||
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
|
||||
resolver.resolveNamesAndTypes(*contract);
|
||||
for (ASTPointer<ASTNode> const& node: sourceUnit->getNodes())
|
||||
if (ContractDefinition* contract = dynamic_cast<ContractDefinition*>(node.get()))
|
||||
resolver.checkTypeRequirements(*contract);
|
||||
}
|
||||
catch(boost::exception const& _e)
|
||||
{
|
||||
auto msg = std::string("Parsing text and resolving names failed with: \n") + boost::diagnostic_information(_e);
|
||||
BOOST_FAIL(msg);
|
||||
}
|
||||
return sourceUnit;
|
||||
}
|
||||
|
||||
static ContractDefinition const* retrieveContract(ASTPointer<SourceUnit> _source, unsigned index)
|
||||
{
|
||||
ContractDefinition* contract;
|
||||
@ -109,7 +85,7 @@ BOOST_AUTO_TEST_CASE(smoke_test)
|
||||
" uint256 stateVariable1;\n"
|
||||
" function fun(uint256 arg1) { var x; uint256 y; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(double_stateVariable_declaration)
|
||||
@ -144,7 +120,7 @@ BOOST_AUTO_TEST_CASE(name_shadowing)
|
||||
" uint256 variable;\n"
|
||||
" function f() { uint32 variable ; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(name_references)
|
||||
@ -153,7 +129,7 @@ BOOST_AUTO_TEST_CASE(name_references)
|
||||
" uint256 variable;\n"
|
||||
" function f(uint256 arg) returns (uint out) { f(variable); test; out; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(undeclared_name)
|
||||
@ -171,7 +147,7 @@ BOOST_AUTO_TEST_CASE(reference_to_later_declaration)
|
||||
" function g() { f(); }"
|
||||
" function f() { }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(struct_definition_directly_recursive)
|
||||
@ -209,7 +185,7 @@ BOOST_AUTO_TEST_CASE(struct_definition_recursion_via_mapping)
|
||||
" mapping(uint => MyStructName1) x;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_inference_smoke_test)
|
||||
@ -217,7 +193,7 @@ BOOST_AUTO_TEST_CASE(type_inference_smoke_test)
|
||||
char const* text = "contract test {\n"
|
||||
" function f(uint256 arg1, uint32 arg2) returns (bool ret) { var x = arg1 + arg2 == 8; ret = x; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_checking_return)
|
||||
@ -225,7 +201,7 @@ BOOST_AUTO_TEST_CASE(type_checking_return)
|
||||
char const* text = "contract test {\n"
|
||||
" function f() returns (bool r) { return 1 >= 2; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_checking_return_wrong_number)
|
||||
@ -250,7 +226,7 @@ BOOST_AUTO_TEST_CASE(type_checking_function_call)
|
||||
" function f() returns (bool r) { return g(12, true) == 3; }\n"
|
||||
" function g(uint256 a, bool b) returns (uint256 r) { }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_conversion_for_comparison)
|
||||
@ -258,7 +234,7 @@ BOOST_AUTO_TEST_CASE(type_conversion_for_comparison)
|
||||
char const* text = "contract test {\n"
|
||||
" function f() { uint32(2) == int64(2); }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_conversion_for_comparison_invalid)
|
||||
@ -274,7 +250,7 @@ BOOST_AUTO_TEST_CASE(type_inference_explicit_conversion)
|
||||
char const* text = "contract test {\n"
|
||||
" function f() returns (int256 r) { var x = int256(uint32(2)); return x; }"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(large_string_literal)
|
||||
@ -292,7 +268,7 @@ BOOST_AUTO_TEST_CASE(balance)
|
||||
" uint256 x = address(0).balance;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(balance_invalid)
|
||||
@ -332,7 +308,7 @@ BOOST_AUTO_TEST_CASE(assignment_to_struct)
|
||||
" data = a;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(returns_in_constructor)
|
||||
@ -356,7 +332,7 @@ BOOST_AUTO_TEST_CASE(forward_function_reference)
|
||||
" if (First(2).fun() == true) return 1;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(comparison_bitop_precedence)
|
||||
@ -366,7 +342,7 @@ BOOST_AUTO_TEST_CASE(comparison_bitop_precedence)
|
||||
" return 1 & 2 == 8 & 9 && 1 ^ 2 < 4 | 6;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(function_canonical_signature)
|
||||
@ -423,7 +399,7 @@ BOOST_AUTO_TEST_CASE(inheritance_basic)
|
||||
function f() { baseMember = 7; }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(inheritance_diamond_basic)
|
||||
@ -436,7 +412,7 @@ BOOST_AUTO_TEST_CASE(inheritance_diamond_basic)
|
||||
function g() { f(); rootFunction(); }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(cyclic_inheritance)
|
||||
@ -492,7 +468,7 @@ BOOST_AUTO_TEST_CASE(complex_inheritance)
|
||||
contract B { function f() {} function g() returns (uint8 r) {} }
|
||||
contract C is A, B { }
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(constructor_visibility)
|
||||
@ -502,7 +478,7 @@ BOOST_AUTO_TEST_CASE(constructor_visibility)
|
||||
contract A { function A() { } }
|
||||
contract B is A { function f() { A x = A(0); } }
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(overriding_constructor)
|
||||
@ -512,7 +488,7 @@ BOOST_AUTO_TEST_CASE(overriding_constructor)
|
||||
contract A { function A() { } }
|
||||
contract B is A { function A() returns (uint8 r) {} }
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(missing_base_constructor_arguments)
|
||||
@ -541,7 +517,7 @@ BOOST_AUTO_TEST_CASE(implicit_derived_to_base_conversion)
|
||||
function f() { A a = B(1); }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(implicit_base_to_derived_conversion)
|
||||
@ -564,7 +540,7 @@ BOOST_AUTO_TEST_CASE(function_modifier_invocation)
|
||||
modifier mod2(string7 a) { while (a == "1234567") _ }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(invalid_function_modifier_type)
|
||||
@ -587,7 +563,7 @@ BOOST_AUTO_TEST_CASE(function_modifier_invocation_parameters)
|
||||
modifier mod2(string7 a) { while (a == "1234567") _ }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(function_modifier_invocation_local_variables)
|
||||
@ -598,7 +574,7 @@ BOOST_AUTO_TEST_CASE(function_modifier_invocation_local_variables)
|
||||
modifier mod(uint a) { if (a > 0) _ }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(legal_modifier_override)
|
||||
@ -607,7 +583,7 @@ BOOST_AUTO_TEST_CASE(legal_modifier_override)
|
||||
contract A { modifier mod(uint a) {} }
|
||||
contract B is A { modifier mod(uint a) {} }
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(illegal_modifier_override)
|
||||
@ -661,7 +637,7 @@ BOOST_AUTO_TEST_CASE(state_variable_accessors)
|
||||
|
||||
ASTPointer<SourceUnit> source;
|
||||
ContractDefinition const* contract;
|
||||
BOOST_CHECK_NO_THROW(source = parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(source = parseTextAndResolveNames(text), "Parsing and Resolving names failed");
|
||||
BOOST_REQUIRE((contract = retrieveContract(source, 0)) != nullptr);
|
||||
FunctionTypePointer function = retrieveFunctionBySignature(contract, "foo()");
|
||||
BOOST_REQUIRE(function && function->hasDeclaration());
|
||||
@ -711,7 +687,7 @@ BOOST_AUTO_TEST_CASE(private_state_variable)
|
||||
|
||||
ASTPointer<SourceUnit> source;
|
||||
ContractDefinition const* contract;
|
||||
BOOST_CHECK_NO_THROW(source = parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(source = parseTextAndResolveNames(text), "Parsing and Resolving names failed");
|
||||
BOOST_CHECK((contract = retrieveContract(source, 0)) != nullptr);
|
||||
FunctionTypePointer function;
|
||||
function = retrieveFunctionBySignature(contract, "foo()");
|
||||
@ -729,7 +705,7 @@ BOOST_AUTO_TEST_CASE(base_class_state_variable_accessor)
|
||||
"contract Child is Parent{\n"
|
||||
" function foo() returns (uint256) { return Parent.m_aMember; }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(base_class_state_variable_internal_member)
|
||||
@ -740,7 +716,7 @@ BOOST_AUTO_TEST_CASE(base_class_state_variable_internal_member)
|
||||
"contract Child is Parent{\n"
|
||||
" function foo() returns (uint256) { return Parent.m_aMember; }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(state_variable_member_of_wrong_class1)
|
||||
@ -780,7 +756,7 @@ BOOST_AUTO_TEST_CASE(fallback_function)
|
||||
function() { x = 2; }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(fallback_function_with_arguments)
|
||||
@ -817,7 +793,7 @@ BOOST_AUTO_TEST_CASE(fallback_function_inheritance)
|
||||
function() { x = 2; }
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event)
|
||||
@ -827,7 +803,7 @@ BOOST_AUTO_TEST_CASE(event)
|
||||
event e(uint indexed a, string3 indexed s, bool indexed b);
|
||||
function f() { e(2, "abc", true); }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event_too_many_indexed)
|
||||
@ -847,7 +823,7 @@ BOOST_AUTO_TEST_CASE(event_call)
|
||||
event e(uint a, string3 indexed s, bool indexed b);
|
||||
function f() { e(2, "abc", true); }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event_inheritance)
|
||||
@ -859,7 +835,7 @@ BOOST_AUTO_TEST_CASE(event_inheritance)
|
||||
contract c is base {
|
||||
function f() { e(2, "abc", true); }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_events_argument_clash)
|
||||
@ -869,7 +845,7 @@ BOOST_AUTO_TEST_CASE(multiple_events_argument_clash)
|
||||
event e1(uint a, uint e1, uint e2);
|
||||
event e2(uint a, uint e1, uint e2);
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(access_to_default_function_visibility)
|
||||
@ -881,7 +857,7 @@ BOOST_AUTO_TEST_CASE(access_to_default_function_visibility)
|
||||
contract d {
|
||||
function g() { c(0).f(); }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(access_to_internal_function)
|
||||
@ -917,7 +893,7 @@ BOOST_AUTO_TEST_CASE(access_to_internal_state_variable)
|
||||
contract d {
|
||||
function g() { c(0).a(); }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(error_count_in_named_args)
|
||||
@ -963,7 +939,7 @@ BOOST_AUTO_TEST_CASE(empty_name_input_parameter)
|
||||
function f(uint){
|
||||
}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(empty_name_return_parameter)
|
||||
@ -973,7 +949,7 @@ BOOST_AUTO_TEST_CASE(empty_name_return_parameter)
|
||||
function f() returns(bool){
|
||||
}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(empty_name_input_parameter_with_named_one)
|
||||
@ -984,7 +960,7 @@ BOOST_AUTO_TEST_CASE(empty_name_input_parameter_with_named_one)
|
||||
return k;
|
||||
}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(empty_name_return_parameter_with_named_one)
|
||||
@ -1014,7 +990,8 @@ BOOST_AUTO_TEST_CASE(overflow_caused_by_ether_units)
|
||||
}
|
||||
uint256 a;
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(sourceCodeFine));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(sourceCodeFine),
|
||||
"Parsing and Resolving names failed");
|
||||
char const* sourceCode = R"(
|
||||
contract c {
|
||||
function c ()
|
||||
@ -1056,7 +1033,7 @@ BOOST_AUTO_TEST_CASE(enum_member_access)
|
||||
ActionChoices choices;
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(enum_invalid_member_access)
|
||||
@ -1088,7 +1065,7 @@ BOOST_AUTO_TEST_CASE(enum_explicit_conversion_is_okay)
|
||||
uint64 b;
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(int_to_enum_explicit_conversion_is_okay)
|
||||
@ -1105,7 +1082,7 @@ BOOST_AUTO_TEST_CASE(int_to_enum_explicit_conversion_is_okay)
|
||||
ActionChoices b;
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(enum_implicit_conversion_is_not_okay)
|
||||
@ -1225,7 +1202,7 @@ BOOST_AUTO_TEST_CASE(test_for_bug_override_function_with_bytearray_type)
|
||||
function f(bytes _a) external returns (uint256 r) {r = 42;}
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(sourceCode));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(sourceCode), "Parsing and Name Resolving failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_with_nonconstant_length)
|
||||
@ -1267,7 +1244,7 @@ BOOST_AUTO_TEST_CASE(array_copy_with_different_types_conversion_possible)
|
||||
uint8[] b;
|
||||
function f() { a = b; }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_copy_with_different_types_static_dynamic)
|
||||
@ -1278,7 +1255,7 @@ BOOST_AUTO_TEST_CASE(array_copy_with_different_types_static_dynamic)
|
||||
uint8[80] b;
|
||||
function f() { a = b; }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextAndResolveNames(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseTextAndResolveNames(text), "Parsing and Name Resolving Failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(array_copy_with_different_types_dynamic_static)
|
||||
@ -1292,6 +1269,24 @@ BOOST_AUTO_TEST_CASE(array_copy_with_different_types_dynamic_static)
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(storage_variable_initialization_with_incorrect_type_int)
|
||||
{
|
||||
char const* text = R"(
|
||||
contract c {
|
||||
uint8 a = 1000;
|
||||
})";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(storage_variable_initialization_with_incorrect_type_string)
|
||||
{
|
||||
char const* text = R"(
|
||||
contract c {
|
||||
uint a = "abc";
|
||||
})";
|
||||
BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
}
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Unit tests for the solidity compiler JSON Interface output.
|
||||
*/
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
#include <json/json.h>
|
||||
#include <libsolidity/CompilerStack.h>
|
||||
#include <libsolidity/Exceptions.h>
|
||||
@ -43,15 +43,7 @@ public:
|
||||
bool _userDocumentation)
|
||||
{
|
||||
std::string generatedDocumentationString;
|
||||
try
|
||||
{
|
||||
m_compilerStack.parse(_code);
|
||||
}
|
||||
catch(boost::exception const& _e)
|
||||
{
|
||||
auto msg = std::string("Parsing contract failed with: ") + boost::diagnostic_information(_e);
|
||||
BOOST_FAIL(msg);
|
||||
}
|
||||
ETH_TEST_REQUIRE_NO_THROW(m_compilerStack.parse(_code), "Parsing failed");
|
||||
|
||||
if (_userDocumentation)
|
||||
generatedDocumentationString = m_compilerStack.getMetadata("", DocumentationType::NatspecUser);
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include <libsolidity/Scanner.h>
|
||||
#include <libsolidity/Parser.h>
|
||||
#include <libsolidity/Exceptions.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -50,22 +50,6 @@ ASTPointer<ContractDefinition> parseText(std::string const& _source)
|
||||
return ASTPointer<ContractDefinition>();
|
||||
}
|
||||
|
||||
ASTPointer<ContractDefinition> parseTextExplainError(std::string const& _source)
|
||||
{
|
||||
try
|
||||
{
|
||||
return parseText(_source);
|
||||
}
|
||||
catch (Exception const& exception)
|
||||
{
|
||||
// LTODO: Print the error in a kind of a better way?
|
||||
// In absence of CompilerStack we can't use SourceReferenceFormatter
|
||||
cout << "Exception while parsing: " << diagnostic_information(exception);
|
||||
// rethrow to signal test failure
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
static void checkFunctionNatspec(ASTPointer<FunctionDefinition> _function,
|
||||
std::string const& _expectedDoc)
|
||||
{
|
||||
@ -84,7 +68,7 @@ BOOST_AUTO_TEST_CASE(smoke_test)
|
||||
char const* text = "contract test {\n"
|
||||
" uint256 stateVariable1;\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(missing_variable_name_in_declaration)
|
||||
@ -103,7 +87,7 @@ BOOST_AUTO_TEST_CASE(empty_function)
|
||||
" returns (int id)\n"
|
||||
" { }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(no_function_params)
|
||||
@ -112,7 +96,7 @@ BOOST_AUTO_TEST_CASE(no_function_params)
|
||||
" uint256 stateVar;\n"
|
||||
" function functionName() {}\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(single_function_param)
|
||||
@ -121,7 +105,7 @@ BOOST_AUTO_TEST_CASE(single_function_param)
|
||||
" uint256 stateVar;\n"
|
||||
" function functionName(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed.");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(missing_parameter_name_in_named_args)
|
||||
@ -151,9 +135,9 @@ BOOST_AUTO_TEST_CASE(function_natspec_documentation)
|
||||
" /// This is a test function\n"
|
||||
" function functionName(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is a test function");
|
||||
}
|
||||
|
||||
@ -166,9 +150,9 @@ BOOST_AUTO_TEST_CASE(function_normal_comments)
|
||||
" // We won't see this comment\n"
|
||||
" function functionName(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
BOOST_CHECK_MESSAGE(function->getDocumentation() == nullptr,
|
||||
"Should not have gotten a Natspecc comment for this function");
|
||||
}
|
||||
@ -188,20 +172,20 @@ BOOST_AUTO_TEST_CASE(multiple_functions_natspec_documentation)
|
||||
" /// This is test function 4\n"
|
||||
" function functionName4(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is test function 1");
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(1));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(1), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is test function 2");
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(2));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(2), "Failed to retrieve function");
|
||||
BOOST_CHECK_MESSAGE(function->getDocumentation() == nullptr,
|
||||
"Should not have gotten natspec comment for functionName3()");
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(3));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(3), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is test function 4");
|
||||
}
|
||||
|
||||
@ -215,10 +199,10 @@ BOOST_AUTO_TEST_CASE(multiline_function_documentation)
|
||||
" /// and it has 2 lines\n"
|
||||
" function functionName1(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is a test function\n"
|
||||
" and it has 2 lines");
|
||||
}
|
||||
@ -240,13 +224,13 @@ BOOST_AUTO_TEST_CASE(natspec_comment_in_function_body)
|
||||
" /// and it has 2 lines\n"
|
||||
" function fun(hash hashin) returns (hash hashout) {}\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "fun1 description");
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(1));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(1), "Failed to retrieve function");
|
||||
checkFunctionNatspec(function, "This is a test function\n"
|
||||
" and it has 2 lines");
|
||||
}
|
||||
@ -266,10 +250,10 @@ BOOST_AUTO_TEST_CASE(natspec_docstring_between_keyword_and_signature)
|
||||
" string name = \"Solidity\";"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
BOOST_CHECK_MESSAGE(!function->getDocumentation(),
|
||||
"Shouldn't get natspec docstring for this function");
|
||||
}
|
||||
@ -289,10 +273,10 @@ BOOST_AUTO_TEST_CASE(natspec_docstring_after_signature)
|
||||
" string name = \"Solidity\";"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_REQUIRE_NO_THROW(contract = parseText(text));
|
||||
ETH_TEST_REQUIRE_NO_THROW(contract = parseText(text), "Parsing failed");
|
||||
auto functions = contract->getDefinedFunctions();
|
||||
|
||||
BOOST_REQUIRE_NO_THROW(function = functions.at(0));
|
||||
ETH_TEST_REQUIRE_NO_THROW(function = functions.at(0), "Failed to retrieve function");
|
||||
BOOST_CHECK_MESSAGE(!function->getDocumentation(),
|
||||
"Shouldn't get natspec docstring for this function");
|
||||
}
|
||||
@ -306,7 +290,7 @@ BOOST_AUTO_TEST_CASE(struct_definition)
|
||||
" uint256 count;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(mapping)
|
||||
@ -314,7 +298,7 @@ BOOST_AUTO_TEST_CASE(mapping)
|
||||
char const* text = "contract test {\n"
|
||||
" mapping(address => string) names;\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(mapping_in_struct)
|
||||
@ -326,7 +310,7 @@ BOOST_AUTO_TEST_CASE(mapping_in_struct)
|
||||
" mapping(hash => test_struct) self_reference;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(mapping_to_mapping_in_struct)
|
||||
@ -337,7 +321,7 @@ BOOST_AUTO_TEST_CASE(mapping_to_mapping_in_struct)
|
||||
" mapping (uint64 => mapping (hash => uint)) complex_mapping;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(variable_definition)
|
||||
@ -350,7 +334,7 @@ BOOST_AUTO_TEST_CASE(variable_definition)
|
||||
" customtype varname;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(variable_definition_with_initialization)
|
||||
@ -364,7 +348,7 @@ BOOST_AUTO_TEST_CASE(variable_definition_with_initialization)
|
||||
" customtype varname;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(variable_definition_in_function_parameter)
|
||||
@ -408,7 +392,7 @@ BOOST_AUTO_TEST_CASE(operator_expression)
|
||||
" uint256 x = (1 + 4) || false && (1 - 12) + -9;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(complex_expression)
|
||||
@ -418,7 +402,7 @@ BOOST_AUTO_TEST_CASE(complex_expression)
|
||||
" uint256 x = (1 + 4).member(++67)[a/=9] || true;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(exp_expression)
|
||||
@ -429,7 +413,7 @@ BOOST_AUTO_TEST_CASE(exp_expression)
|
||||
uint256 x = 3 ** a;
|
||||
}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(while_loop)
|
||||
@ -439,7 +423,7 @@ BOOST_AUTO_TEST_CASE(while_loop)
|
||||
" while (true) { uint256 x = 1; break; continue; } x = 9;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_loop_vardef_initexpr)
|
||||
@ -450,7 +434,7 @@ BOOST_AUTO_TEST_CASE(for_loop_vardef_initexpr)
|
||||
" { uint256 x = i; break; continue; }\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_loop_simple_initexpr)
|
||||
@ -462,7 +446,7 @@ BOOST_AUTO_TEST_CASE(for_loop_simple_initexpr)
|
||||
" { uint256 x = i; break; continue; }\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_loop_simple_noexpr)
|
||||
@ -474,7 +458,7 @@ BOOST_AUTO_TEST_CASE(for_loop_simple_noexpr)
|
||||
" { uint256 x = i; break; continue; }\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(for_loop_single_stmt_body)
|
||||
@ -486,7 +470,7 @@ BOOST_AUTO_TEST_CASE(for_loop_single_stmt_body)
|
||||
" continue;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(if_statement)
|
||||
@ -496,7 +480,7 @@ BOOST_AUTO_TEST_CASE(if_statement)
|
||||
" if (a >= 8) return 2; else { var b = 7; }\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(else_if_statement)
|
||||
@ -506,7 +490,7 @@ BOOST_AUTO_TEST_CASE(else_if_statement)
|
||||
" if (a < 0) b = 0x67; else if (a == 0) b = 0x12; else b = 0x78;\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(statement_starting_with_type_conversion)
|
||||
@ -518,7 +502,7 @@ BOOST_AUTO_TEST_CASE(statement_starting_with_type_conversion)
|
||||
" uint64[](3);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(type_conversion_to_dynamic_array)
|
||||
@ -528,7 +512,7 @@ BOOST_AUTO_TEST_CASE(type_conversion_to_dynamic_array)
|
||||
" var x = uint64[](3);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(import_directive)
|
||||
@ -539,7 +523,7 @@ BOOST_AUTO_TEST_CASE(import_directive)
|
||||
" uint64(2);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_contracts)
|
||||
@ -554,7 +538,7 @@ BOOST_AUTO_TEST_CASE(multiple_contracts)
|
||||
" uint64(2);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_contracts_and_imports)
|
||||
@ -572,7 +556,7 @@ BOOST_AUTO_TEST_CASE(multiple_contracts_and_imports)
|
||||
" }\n"
|
||||
"}\n"
|
||||
"import \"ghi\";\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(contract_inheritance)
|
||||
@ -587,7 +571,7 @@ BOOST_AUTO_TEST_CASE(contract_inheritance)
|
||||
" uint64(2);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(contract_multiple_inheritance)
|
||||
@ -602,7 +586,7 @@ BOOST_AUTO_TEST_CASE(contract_multiple_inheritance)
|
||||
" uint64(2);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(contract_multiple_inheritance_with_arguments)
|
||||
@ -617,7 +601,7 @@ BOOST_AUTO_TEST_CASE(contract_multiple_inheritance_with_arguments)
|
||||
" uint64(2);\n"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(placeholder_in_function_context)
|
||||
@ -628,7 +612,7 @@ BOOST_AUTO_TEST_CASE(placeholder_in_function_context)
|
||||
" return _ + 1;"
|
||||
" }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(modifier)
|
||||
@ -636,7 +620,7 @@ BOOST_AUTO_TEST_CASE(modifier)
|
||||
char const* text = "contract c {\n"
|
||||
" modifier mod { if (msg.sender == 0) _ }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(modifier_arguments)
|
||||
@ -644,7 +628,7 @@ BOOST_AUTO_TEST_CASE(modifier_arguments)
|
||||
char const* text = "contract c {\n"
|
||||
" modifier mod(uint a) { if (msg.sender == a) _ }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(modifier_invocation)
|
||||
@ -654,7 +638,7 @@ BOOST_AUTO_TEST_CASE(modifier_invocation)
|
||||
" modifier mod2 { if (msg.sender == 2) _ }\n"
|
||||
" function f() mod1(7) mod2 { }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(fallback_function)
|
||||
@ -662,7 +646,7 @@ BOOST_AUTO_TEST_CASE(fallback_function)
|
||||
char const* text = "contract c {\n"
|
||||
" function() { }\n"
|
||||
"}\n";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event)
|
||||
@ -671,7 +655,7 @@ BOOST_AUTO_TEST_CASE(event)
|
||||
contract c {
|
||||
event e();
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event_arguments)
|
||||
@ -680,7 +664,7 @@ BOOST_AUTO_TEST_CASE(event_arguments)
|
||||
contract c {
|
||||
event e(uint a, string32 s);
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(event_arguments_indexed)
|
||||
@ -689,7 +673,7 @@ BOOST_AUTO_TEST_CASE(event_arguments_indexed)
|
||||
contract c {
|
||||
event e(uint a, string32 indexed s, bool indexed b);
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(visibility_specifiers)
|
||||
@ -705,7 +689,7 @@ BOOST_AUTO_TEST_CASE(visibility_specifiers)
|
||||
function f_public() public {}
|
||||
function f_internal() internal {}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multiple_visibility_specifiers)
|
||||
@ -733,7 +717,7 @@ BOOST_AUTO_TEST_CASE(literal_constants_with_ether_subdenominations)
|
||||
uint256 c;
|
||||
uint256 d;
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(literal_constants_with_ether_subdenominations_in_expressions)
|
||||
@ -746,7 +730,7 @@ BOOST_AUTO_TEST_CASE(literal_constants_with_ether_subdenominations_in_expression
|
||||
}
|
||||
uint256 a;
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(enum_valid_declaration)
|
||||
@ -760,7 +744,7 @@ BOOST_AUTO_TEST_CASE(enum_valid_declaration)
|
||||
}
|
||||
uint256 a;
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(empty_enum_declaration)
|
||||
@ -769,7 +753,7 @@ BOOST_AUTO_TEST_CASE(empty_enum_declaration)
|
||||
contract c {
|
||||
enum foo { }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(malformed_enum_declaration)
|
||||
@ -787,7 +771,7 @@ BOOST_AUTO_TEST_CASE(external_function)
|
||||
contract c {
|
||||
function x() external {}
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseTextExplainError(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(external_variable)
|
||||
@ -808,7 +792,7 @@ BOOST_AUTO_TEST_CASE(arrays_in_storage)
|
||||
struct x { uint[2**20] b; y[0] c; }
|
||||
struct y { uint d; mapping(uint=>x)[] e; }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(arrays_in_events)
|
||||
@ -817,7 +801,7 @@ BOOST_AUTO_TEST_CASE(arrays_in_events)
|
||||
contract c {
|
||||
event e(uint[10] a, string7[8] indexed b, c[3] x);
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(arrays_in_expressions)
|
||||
@ -826,7 +810,7 @@ BOOST_AUTO_TEST_CASE(arrays_in_expressions)
|
||||
contract c {
|
||||
function f() { c[10] a = 7; uint8[10 * 2] x; }
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multi_arrays)
|
||||
@ -835,7 +819,7 @@ BOOST_AUTO_TEST_CASE(multi_arrays)
|
||||
contract c {
|
||||
mapping(uint => mapping(uint => int8)[8][][9])[] x;
|
||||
})";
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
ETH_TEST_CHECK_NO_THROW(parseText(text), "Parsing failed");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
@ -264,6 +264,23 @@ BOOST_AUTO_TEST_CASE(ether_subdenominations)
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubEther);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(time_subdenominations)
|
||||
{
|
||||
Scanner scanner(CharStream("seconds minutes hours days weeks years"));
|
||||
BOOST_CHECK_EQUAL(scanner.getCurrentToken(), Token::SubSecond);
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubMinute);
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubHour);
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubDay);
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubWeek);
|
||||
BOOST_CHECK_EQUAL(scanner.next(), Token::SubYear);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(time_after)
|
||||
{
|
||||
Scanner scanner(CharStream("after 1"));
|
||||
BOOST_CHECK_EQUAL(scanner.getCurrentToken(), Token::After);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ namespace test
|
||||
struct ValueTooLarge: virtual Exception {};
|
||||
bigint const c_max256plus1 = bigint(1) << 256;
|
||||
|
||||
ImportTest::ImportTest(json_spirit::mObject& _o, bool isFiller): m_TestObject(_o)
|
||||
ImportTest::ImportTest(json_spirit::mObject& _o, bool isFiller) : m_statePre(Address(_o["env"].get_obj()["currentCoinbase"].get_str()), OverlayDB(), eth::BaseState::Empty), m_statePost(Address(_o["env"].get_obj()["currentCoinbase"].get_str()), OverlayDB(), eth::BaseState::Empty), m_TestObject(_o)
|
||||
{
|
||||
importEnv(_o["env"].get_obj());
|
||||
importState(_o["pre"].get_obj(), m_statePre);
|
||||
@ -183,13 +183,8 @@ void ImportTest::exportTest(bytes const& _output, State const& _statePost)
|
||||
// export post state
|
||||
json_spirit::mObject postState;
|
||||
|
||||
std::map<Address, Account> genesis = genesisState();
|
||||
|
||||
for (auto const& a: _statePost.addresses())
|
||||
{
|
||||
if (genesis.count(a.first))
|
||||
continue;
|
||||
|
||||
json_spirit::mObject o;
|
||||
o["balance"] = toString(_statePost.balance(a.first));
|
||||
o["nonce"] = toString(_statePost.transactionsFrom(a.first));
|
||||
@ -205,14 +200,13 @@ void ImportTest::exportTest(bytes const& _output, State const& _statePost)
|
||||
}
|
||||
m_TestObject["post"] = json_spirit::mValue(postState);
|
||||
|
||||
m_TestObject["postStateRoot"] = toHex(_statePost.rootHash().asBytes());
|
||||
|
||||
// export pre state
|
||||
json_spirit::mObject preState;
|
||||
|
||||
for (auto const& a: m_statePre.addresses())
|
||||
{
|
||||
if (genesis.count(a.first))
|
||||
continue;
|
||||
|
||||
json_spirit::mObject o;
|
||||
o["balance"] = toString(m_statePre.balance(a.first));
|
||||
o["nonce"] = toString(m_statePre.transactionsFrom(a.first));
|
||||
|
40
TestHelper.h
40
TestHelper.h
@ -44,12 +44,48 @@ void connectClients(Client& c1, Client& c2);
|
||||
namespace test
|
||||
{
|
||||
|
||||
/// Make sure that no Exception is thrown during testing. If one is thrown show its info and fail the test.
|
||||
/// Our version of BOOST_REQUIRE_NO_THROW()
|
||||
/// @param _expression The expression for which to make sure no exceptions are thrown
|
||||
/// @param _message A message to act as a prefix to the expression's error information
|
||||
#define ETH_TEST_REQUIRE_NO_THROW(_expression, _message) \
|
||||
do \
|
||||
{ \
|
||||
try \
|
||||
{ \
|
||||
_expression; \
|
||||
} \
|
||||
catch (boost::exception const& _e) \
|
||||
{ \
|
||||
auto msg = std::string(_message"\n") + boost::diagnostic_information(_e); \
|
||||
BOOST_FAIL(msg); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/// Check if an Exception is thrown during testing. If one is thrown show its info and continue the test
|
||||
/// Our version of BOOST_CHECK_NO_THROW()
|
||||
/// @param _expression The expression for which to make sure no exceptions are thrown
|
||||
/// @param _message A message to act as a prefix to the expression's error information
|
||||
#define ETH_TEST_CHECK_NO_THROW(_expression, _message) \
|
||||
do \
|
||||
{ \
|
||||
try \
|
||||
{ \
|
||||
_expression; \
|
||||
} \
|
||||
catch (boost::exception const& _e) \
|
||||
{ \
|
||||
auto msg = std::string(_message"\n") + boost::diagnostic_information(_e); \
|
||||
BOOST_MESSAGE(msg); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
class ImportTest
|
||||
{
|
||||
public:
|
||||
ImportTest(json_spirit::mObject& _o) : m_TestObject(_o) {}
|
||||
ImportTest(json_spirit::mObject& _o) : m_statePre(Address(), OverlayDB(), eth::BaseState::Empty), m_statePost(Address(), OverlayDB(), eth::BaseState::Empty), m_TestObject(_o) {}
|
||||
ImportTest(json_spirit::mObject& _o, bool isFiller);
|
||||
|
||||
// imports
|
||||
void importEnv(json_spirit::mObject& _o);
|
||||
void importState(json_spirit::mObject& _o, eth::State& _state);
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
#include <libdevcrypto/TrieCommon.h>
|
||||
#include <libdevcrypto/SHA3.h>
|
||||
#include <libethcore/CommonEth.h>
|
||||
#include <libethcore/Common.h>
|
||||
using namespace std;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
62
bcBlockChainTestFiller.json
Normal file
62
bcBlockChainTestFiller.json
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
"minDifficulty" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "8000000",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
774
bcInvalidHeaderTestFiller.json
Normal file
774
bcInvalidHeaderTestFiller.json
Normal file
@ -0,0 +1,774 @@
|
||||
{
|
||||
"log1_wrongBlockNumber" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"number" : "2"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"log1_wrongBloom" : {
|
||||
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongCoinbase" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongDifficulty" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"difficulty" : "10000"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"DifferentExtraData" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"extraData" : "0x42"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongGasLimit" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"gasLimit" : "100000"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
|
||||
"wrongGasUsed" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"gasUsed" : "0"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongNumber" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"number" : "0"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongParentHash" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongReceiptTrie" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongStateRoot" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongTimestamp" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"timestamp" : "0x54c98c80"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongTransactionsTrie" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"transactionsTrie" : "0x55e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"wrongUncleHash" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"blockHeader" : {
|
||||
"uncleHash" : "0x0dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
539
bcUncleTestFiller.json
Normal file
539
bcUncleTestFiller.json
Normal file
@ -0,0 +1,539 @@
|
||||
{
|
||||
"uncleHeaderAtBlock2" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "1",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"oneUncle" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "2",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"twoEqualUncle" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "2",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"twoUncle" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "2",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b55af905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"threeUncle" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "100000000",
|
||||
"gasUsed" : "0",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "1",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "80000050",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "2",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b557f905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "b55af905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
{
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0000000000000000000000000000000000000000",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x",
|
||||
"gasLimit" : "99902343",
|
||||
"gasUsed" : "0",
|
||||
"hash" : "9de9879b6a81d1b6c4993c63c90a3c9d1e775f14572694778e828bc64972ae04",
|
||||
"mixHash" : "a55af905d29ed0fca99d65d0adcce698dee97cf72a13c7cd8d7a7826b8eee770",
|
||||
"nonce" : "18a524c1790fa83b",
|
||||
"number" : "2",
|
||||
"parentHash" : "6134fc6b5d99ee03c4aab1592640f6f9dcbc850668d75d631aee34989b938fae",
|
||||
"receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
|
||||
"stateRoot" : "ff640b30d613c35dad43e3693329e1b1ee6350f989cf46a288025a1cbfdab9cd",
|
||||
"timestamp" : "0x54c98c82",
|
||||
"transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
}
|
397
bcValidBlockTestFiller.json
Normal file
397
bcValidBlockTestFiller.json
Normal file
@ -0,0 +1,397 @@
|
||||
{
|
||||
|
||||
"diff1024" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "85000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
"gasPrice0" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "85000",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"gasLimitTooHigh" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1000001",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"SimpleTx" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"txOrder" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "7000000000"
|
||||
},
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "8000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"txEqualValue" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
},
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "9",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"log1_correct" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "0",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"dataTx" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "131072",
|
||||
"extraData" : "0x42",
|
||||
"gasLimit" : "125000",
|
||||
"gasUsed" : "100",
|
||||
"mixHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"seedHash" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"nonce" : "0x0102030405060708",
|
||||
"number" : "0",
|
||||
"parentHash" : "0xefb4db878627027c81b3bb1c7dd3a18dae3914a49cdd24a3e40ab3bbfbb240c5",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"blocks" : [
|
||||
{
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "0x60056013565b6101918061001d6000396000f35b3360008190555056006001600060e060020a6000350480630a874df61461003a57806341c0e1b514610058578063a02b161e14610066578063dbbdf0831461007757005b610045600435610149565b80600160a060020a031660005260206000f35b610060610161565b60006000f35b6100716004356100d4565b60006000f35b61008560043560243561008b565b60006000f35b600054600160a060020a031632600160a060020a031614156100ac576100b1565b6100d0565b8060018360005260205260406000208190555081600060005260206000a15b5050565b600054600160a060020a031633600160a060020a031614158015610118575033600160a060020a0316600182600052602052604060002054600160a060020a031614155b61012157610126565b610146565b600060018260005260205260406000208190555080600060005260206000a15b50565b60006001826000526020526040600020549050919050565b600054600160a060020a031633600160a060020a0316146101815761018f565b600054600160a060020a0316ff5b56",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "50",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "",
|
||||
"value" : ""
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,687 +0,0 @@
|
||||
{
|
||||
"log1_wrongBlockNumber" : {
|
||||
"blockHeader" : {
|
||||
"number" : "2"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"log1_wrongBloom" : {
|
||||
"blockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongCoinbase" : {
|
||||
"blockHeader" : {
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongDifficulty" : {
|
||||
"blockHeader" : {
|
||||
"difficulty" : "10000"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"DifferentExtraData" : {
|
||||
"blockHeader" : {
|
||||
"extraData" : "42"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongGasLimit" : {
|
||||
"blockHeader" : {
|
||||
"gasLimit" : "100000"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongGasUsed" : {
|
||||
"blockHeader" : {
|
||||
"gasUsed" : "0"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongNumber" : {
|
||||
"blockHeader" : {
|
||||
"number" : "0"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongParentHash" : {
|
||||
"blockHeader" : {
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongReceiptTrie" : {
|
||||
"blockHeader" : {
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongStateRoot" : {
|
||||
"blockHeader" : {
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongTimestamp" : {
|
||||
"blockHeader" : {
|
||||
"timestamp" : "0x54c98c80"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongTransactionsTrie" : {
|
||||
"blockHeader" : {
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"wrongUncleHash" : {
|
||||
"blockHeader" : {
|
||||
"uncleHash" : "0x0dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
}
|
||||
}
|
@ -1,381 +0,0 @@
|
||||
{
|
||||
"diffTooLowToChange" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "1023",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "850",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"diff1024" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "1024",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "850",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"gasPrice0" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "850",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"gasLimitTooHigh" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "1000000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "850",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"SimpleTx" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"txOrder" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "7000000000"
|
||||
},
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "8000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"txEqualValue" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
},
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "9",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
]
|
||||
},
|
||||
|
||||
"log1_correct" : {
|
||||
"genesisBlockHeader" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "10000",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "100000",
|
||||
"gasUsed" : "0",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "0",
|
||||
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
},
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "100",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
}
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasPrice" : "10",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "5000000000"
|
||||
}
|
||||
],
|
||||
"uncleHeaders" : [
|
||||
],
|
||||
|
||||
"firstBlockTest" : {
|
||||
"block" : {
|
||||
"bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"coinbase" : "0x8888f1f195afa192cfee860698584c030f4c9db1",
|
||||
"difficulty" : "023101",
|
||||
"extraData" : "42",
|
||||
"gasLimit" : "0x0dddb6",
|
||||
"gasUsed" : "100",
|
||||
"nonce" : "0x498e88f5c14b0b60d6e14ce9c6cc958cbe16a1df8dd90210e50d2d77562a348d",
|
||||
"number" : "62",
|
||||
"parentHash" : "0xefb4db878627027c81b3bb1c7dd3a18dae3914a49cdd24a3e40ab3bbfbb240c5",
|
||||
"receiptTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"stateRoot" : "0xf99eb1626cfa6db435c0836235942d7ccaa935f1ae247d3f1c21e495685f903a",
|
||||
"timestamp" : "0x54c98c81",
|
||||
"transactionsTrie" : "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
|
||||
"uncleHash" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
|
||||
},
|
||||
"pre" : {
|
||||
},
|
||||
"transactions" : [
|
||||
{
|
||||
"data" : "0x60056013565b6101918061001d6000396000f35b3360008190555056006001600060e060020a6000350480630a874df61461003a57806341c0e1b514610058578063a02b161e14610066578063dbbdf0831461007757005b610045600435610149565b80600160a060020a031660005260206000f35b610060610161565b60006000f35b6100716004356100d4565b60006000f35b61008560043560243561008b565b60006000f35b600054600160a060020a031632600160a060020a031614156100ac576100b1565b6100d0565b8060018360005260205260406000208190555081600060005260206000a15b5050565b600054600160a060020a031633600160a060020a031614158015610118575033600160a060020a0316600182600052602052604060002054600160a060020a031614155b61012157610126565b610146565b600060018260005260205260406000208190555080600060005260206000a15b50565b60006001826000526020526040600020549050919050565b600054600160a060020a031633600160a060020a0316146101815761018f565b600054600160a060020a0316ff5b56",
|
||||
"gasLimit" : "0x0f3e6f",
|
||||
"gasPrice" : "0x09184e72a000",
|
||||
"nonce" : "0",
|
||||
"r" : "0xd4287e915ebac7a8af390560fa53c8f0b7f13802ba0393d7afa5823c2560ca89",
|
||||
"s" : "0xae75db31a34f7e386ad459646de98ec3a1c88cc91b11620b4ffd86871f579942",
|
||||
"to" : "",
|
||||
"v" : "0x1b",
|
||||
"value" : ""
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
521
block.cpp
521
block.cpp
@ -1,521 +0,0 @@
|
||||
/*
|
||||
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 block.cpp
|
||||
* @author Christoph Jentzsch <cj@ethdev.com>
|
||||
* @date 2015
|
||||
* block test functions.
|
||||
*/
|
||||
|
||||
#include <libdevcrypto/FileSystem.h>
|
||||
#include <libethereum/CanonBlockChain.h>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace json_spirit;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
||||
namespace dev { namespace test {
|
||||
|
||||
bytes createBlockRLPFromFields(mObject& _tObj)
|
||||
{
|
||||
RLPStream rlpStream;
|
||||
rlpStream.appendList(_tObj.size());
|
||||
|
||||
if (_tObj.count("parentHash"))
|
||||
rlpStream << importByteArray(_tObj["parentHash"].get_str());
|
||||
|
||||
if (_tObj.count("uncleHash"))
|
||||
rlpStream << importByteArray(_tObj["uncleHash"].get_str());
|
||||
|
||||
if (_tObj.count("coinbase"))
|
||||
rlpStream << importByteArray(_tObj["coinbase"].get_str());
|
||||
|
||||
if (_tObj.count("stateRoot"))
|
||||
rlpStream << importByteArray(_tObj["stateRoot"].get_str());
|
||||
|
||||
if (_tObj.count("transactionsTrie"))
|
||||
rlpStream << importByteArray(_tObj["transactionsTrie"].get_str());
|
||||
|
||||
if (_tObj.count("receiptTrie"))
|
||||
rlpStream << importByteArray(_tObj["receiptTrie"].get_str());
|
||||
|
||||
if (_tObj.count("bloom"))
|
||||
rlpStream << importByteArray(_tObj["bloom"].get_str());
|
||||
|
||||
if (_tObj.count("difficulty"))
|
||||
rlpStream << bigint(_tObj["difficulty"].get_str());
|
||||
|
||||
if (_tObj.count("number"))
|
||||
rlpStream << bigint(_tObj["number"].get_str());
|
||||
|
||||
if (_tObj.count("gasLimit"))
|
||||
rlpStream << bigint(_tObj["gasLimit"].get_str());
|
||||
|
||||
if (_tObj.count("gasUsed"))
|
||||
rlpStream << bigint(_tObj["gasUsed"].get_str());
|
||||
|
||||
if (_tObj.count("timestamp"))
|
||||
rlpStream << bigint(_tObj["timestamp"].get_str());
|
||||
|
||||
if (_tObj.count("extraData"))
|
||||
rlpStream << importByteArray(_tObj["extraData"].get_str());
|
||||
|
||||
if (_tObj.count("nonce"))
|
||||
rlpStream << importByteArray(_tObj["nonce"].get_str());
|
||||
|
||||
return rlpStream.out();
|
||||
}
|
||||
|
||||
void overwriteBlockHeader(mObject& _o, BlockInfo _current_BlockHeader)
|
||||
{
|
||||
if (_o.count("blockHeader"))
|
||||
{
|
||||
if (_o["blockHeader"].get_obj().size() != 14)
|
||||
{
|
||||
|
||||
BlockInfo tmp = _current_BlockHeader;
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("parentHash"))
|
||||
tmp.parentHash = h256(_o["blockHeader"].get_obj()["parentHash"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("uncleHash"))
|
||||
tmp.sha3Uncles = h256(_o["blockHeader"].get_obj()["uncleHash"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("coinbase"))
|
||||
tmp.coinbaseAddress = Address(_o["blockHeader"].get_obj()["coinbase"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("stateRoot"))
|
||||
tmp.stateRoot = h256(_o["blockHeader"].get_obj()["stateRoot"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("transactionsTrie"))
|
||||
tmp.transactionsRoot = h256(_o["blockHeader"].get_obj()["transactionsTrie"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("receiptTrie"))
|
||||
tmp.receiptsRoot = h256(_o["blockHeader"].get_obj()["receiptTrie"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("bloom"))
|
||||
tmp.logBloom = LogBloom(_o["blockHeader"].get_obj()["bloom"].get_str());
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("difficulty"))
|
||||
tmp.difficulty = toInt(_o["blockHeader"].get_obj()["difficulty"]);
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("number"))
|
||||
tmp.number = toInt(_o["blockHeader"].get_obj()["number"]);
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("gasLimit"))
|
||||
tmp.gasLimit = toInt(_o["blockHeader"].get_obj()["gasLimit"]);
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("gasUsed"))
|
||||
tmp.gasUsed = toInt(_o["blockHeader"].get_obj()["gasUsed"]);
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("timestamp"))
|
||||
tmp.timestamp = toInt(_o["blockHeader"].get_obj()["timestamp"]);
|
||||
|
||||
if (_o["blockHeader"].get_obj().count("extraData"))
|
||||
tmp.extraData = importByteArray(_o["blockHeader"].get_obj()["extraData"].get_str());
|
||||
|
||||
// find new valid nonce
|
||||
|
||||
if (tmp != _current_BlockHeader)
|
||||
{
|
||||
_current_BlockHeader = tmp;
|
||||
cout << "new header!\n";
|
||||
ProofOfWork pow;
|
||||
MineInfo ret;
|
||||
while (!ProofOfWork::verify(_current_BlockHeader.headerHash(WithoutNonce), _current_BlockHeader.nonce, _current_BlockHeader.difficulty))
|
||||
tie(ret, _current_BlockHeader.nonce) = pow.mine(_current_BlockHeader.headerHash(WithoutNonce), _current_BlockHeader.difficulty, 10000, true, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// take the blockheader as is
|
||||
const bytes c_blockRLP = createBlockRLPFromFields(_o["blockHeader"].get_obj());
|
||||
const RLP c_bRLP(c_blockRLP);
|
||||
_current_BlockHeader.populateFromHeader(c_bRLP, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void doBlockTests(json_spirit::mValue& _v, bool _fillin)
|
||||
{
|
||||
for (auto& i: _v.get_obj())
|
||||
{
|
||||
cerr << i.first << endl;
|
||||
mObject& o = i.second.get_obj();
|
||||
|
||||
BOOST_REQUIRE(o.count("genesisBlockHeader"));
|
||||
BlockInfo blockFromFields;
|
||||
try
|
||||
{
|
||||
// construct genesis block
|
||||
const bytes c_blockRLP = createBlockRLPFromFields(o["genesisBlockHeader"].get_obj());
|
||||
const RLP c_bRLP(c_blockRLP);
|
||||
blockFromFields.populateFromHeader(c_bRLP, false);
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "block population did throw an exception: " << diagnostic_information(_e);
|
||||
BOOST_ERROR("Failed block population with Exception: " << _e.what());
|
||||
continue;
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
BOOST_ERROR("Failed block population with Exception: " << _e.what());
|
||||
continue;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
cnote << "block population did throw an unknown exception\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
BOOST_REQUIRE(o.count("pre"));
|
||||
|
||||
ImportTest importer(o["pre"].get_obj());
|
||||
State state(Address(), OverlayDB(), BaseState::Empty);
|
||||
importer.importState(o["pre"].get_obj(), state);
|
||||
state.commit();
|
||||
|
||||
if (_fillin)
|
||||
blockFromFields.stateRoot = state.rootHash();
|
||||
else
|
||||
BOOST_CHECK_MESSAGE(blockFromFields.stateRoot == state.rootHash(), "root hash does not match");
|
||||
|
||||
if (_fillin)
|
||||
{
|
||||
// find new valid nonce
|
||||
ProofOfWork pow;
|
||||
MineInfo ret;
|
||||
while (!ProofOfWork::verify(blockFromFields.headerHash(WithoutNonce), blockFromFields.nonce, blockFromFields.difficulty))
|
||||
tie(ret, blockFromFields.nonce) = pow.mine(blockFromFields.headerHash(WithoutNonce), blockFromFields.difficulty, 1000, true, true);
|
||||
|
||||
//update genesis block in json file
|
||||
o["genesisBlockHeader"].get_obj()["stateRoot"] = toString(blockFromFields.stateRoot);
|
||||
o["genesisBlockHeader"].get_obj()["nonce"] = toString(blockFromFields.nonce);
|
||||
}
|
||||
|
||||
// create new "genesis" block
|
||||
RLPStream rlpStream;
|
||||
blockFromFields.streamRLP(rlpStream, WithNonce);
|
||||
|
||||
RLPStream block(3);
|
||||
block.appendRaw(rlpStream.out());
|
||||
block.appendRaw(RLPEmptyList);
|
||||
block.appendRaw(RLPEmptyList);
|
||||
|
||||
blockFromFields.verifyInternals(&block.out());
|
||||
|
||||
// construct blockchain
|
||||
BlockChain bc(block.out(), string(), true);
|
||||
|
||||
if (_fillin)
|
||||
{
|
||||
BOOST_REQUIRE(o.count("transactions"));
|
||||
|
||||
TransactionQueue txs;
|
||||
|
||||
for (auto const& txObj: o["transactions"].get_array())
|
||||
{
|
||||
mObject tx = txObj.get_obj();
|
||||
importer.importTransaction(tx);
|
||||
if (!txs.attemptImport(importer.m_transaction.rlp()))
|
||||
cnote << "failed importing transaction\n";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
state.sync(bc);
|
||||
state.sync(bc,txs);
|
||||
state.commitToMine(bc);
|
||||
MineInfo info;
|
||||
for (info.completed = false; !info.completed; info = state.mine()) {}
|
||||
state.completeMine();
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "state sync or mining did throw an exception: " << diagnostic_information(_e);
|
||||
return;
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
cnote << "state sync or mining did throw an exception: " << _e.what();
|
||||
return;
|
||||
}
|
||||
|
||||
// write valid txs
|
||||
mArray txArray;
|
||||
Transactions txList;
|
||||
for (auto const& txi: txs.transactions())
|
||||
{
|
||||
Transaction tx(txi.second, CheckSignature::Sender);
|
||||
txList.push_back(tx);
|
||||
mObject txObject;
|
||||
txObject["nonce"] = toString(tx.nonce());
|
||||
txObject["data"] = toHex(tx.data());
|
||||
txObject["gasLimit"] = toString(tx.gas());
|
||||
txObject["gasPrice"] = toString(tx.gasPrice());
|
||||
txObject["r"] = "0x" + toString(tx.signature().r);
|
||||
txObject["s"] = "0x" + toString(tx.signature().s);
|
||||
txObject["v"] = to_string(tx.signature().v + 27);
|
||||
txObject["to"] = toString(tx.receiveAddress());
|
||||
txObject["value"] = toString(tx.value());
|
||||
|
||||
txArray.push_back(txObject);
|
||||
}
|
||||
|
||||
o["transactions"] = txArray;
|
||||
o["rlp"] = "0x" + toHex(state.blockData());
|
||||
|
||||
BlockInfo current_BlockHeader = state.info();
|
||||
|
||||
// overwrite blockheader with (possible wrong) data from "blockheader" in filler;
|
||||
overwriteBlockHeader(o, current_BlockHeader);
|
||||
|
||||
// write block header
|
||||
mObject oBlockHeader;
|
||||
oBlockHeader["parentHash"] = toString(current_BlockHeader.parentHash);
|
||||
oBlockHeader["uncleHash"] = toString(current_BlockHeader.sha3Uncles);
|
||||
oBlockHeader["coinbase"] = toString(current_BlockHeader.coinbaseAddress);
|
||||
oBlockHeader["stateRoot"] = toString(current_BlockHeader.stateRoot);
|
||||
oBlockHeader["transactionsTrie"] = toString(current_BlockHeader.transactionsRoot);
|
||||
oBlockHeader["receiptTrie"] = toString(current_BlockHeader.receiptsRoot);
|
||||
oBlockHeader["bloom"] = toString(current_BlockHeader.logBloom);
|
||||
oBlockHeader["difficulty"] = toString(current_BlockHeader.difficulty);
|
||||
oBlockHeader["number"] = toString(current_BlockHeader.number);
|
||||
oBlockHeader["gasLimit"] = toString(current_BlockHeader.gasLimit);
|
||||
oBlockHeader["gasUsed"] = toString(current_BlockHeader.gasUsed);
|
||||
oBlockHeader["timestamp"] = toString(current_BlockHeader.timestamp);
|
||||
oBlockHeader["extraData"] = toHex(current_BlockHeader.extraData);
|
||||
oBlockHeader["nonce"] = toString(current_BlockHeader.nonce);
|
||||
|
||||
o["blockHeader"] = oBlockHeader;
|
||||
|
||||
// write uncle list
|
||||
mArray aUncleList; // as of now, our parent is always the genesis block, so we can not have uncles.
|
||||
o["uncleHeaders"] = aUncleList;
|
||||
|
||||
//txs:
|
||||
|
||||
RLPStream txStream;
|
||||
txStream.appendList(txList.size());
|
||||
for (unsigned i = 0; i < txList.size(); ++i)
|
||||
{
|
||||
RLPStream txrlp;
|
||||
txList[i].streamRLP(txrlp);
|
||||
txStream.appendRaw(txrlp.out());
|
||||
}
|
||||
|
||||
RLPStream rlpStream2;
|
||||
current_BlockHeader.streamRLP(rlpStream2, WithNonce);
|
||||
|
||||
RLPStream block2(3);
|
||||
block2.appendRaw(rlpStream2.out());
|
||||
block2.appendRaw(txStream.out());
|
||||
block2.appendRaw(RLPEmptyList);
|
||||
|
||||
o["rlp"] = "0x" + toHex(block2.out());
|
||||
|
||||
if (sha3(RLP(state.blockData())[0].data()) != sha3(RLP(block2.out())[0].data()))
|
||||
cnote << "block header mismatch\n";
|
||||
|
||||
if (sha3(RLP(state.blockData())[1].data()) != sha3(RLP(block2.out())[1].data()))
|
||||
cnote << "txs mismatch\n";
|
||||
|
||||
if (sha3(RLP(state.blockData())[2].data()) != sha3(RLP(block2.out())[2].data()))
|
||||
cnote << "uncle list mismatch\n";
|
||||
|
||||
try
|
||||
{
|
||||
ImportTest importerTmp(o["pre"].get_obj());
|
||||
State stateTmp(Address(), OverlayDB(), BaseState::Empty);
|
||||
importerTmp.importState(o["pre"].get_obj(), stateTmp);
|
||||
stateTmp.commit();
|
||||
BlockChain bcTmp(block.out(), getDataDir() + "/tmpBlockChain.bc", true);
|
||||
stateTmp.sync(bcTmp);
|
||||
bc.import(block2.out(), stateTmp.db());
|
||||
stateTmp.sync(bcTmp);
|
||||
}
|
||||
// if exception is thrown, RLP is invalid and no blockHeader, Transaction list, or Uncle list should be given
|
||||
catch (...)
|
||||
{
|
||||
cnote << "block is invalid!\n";
|
||||
o.erase(o.find("blockHeader"));
|
||||
o.erase(o.find("uncleHeaders"));
|
||||
o.erase(o.find("transactions"));
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
bytes blockRLP;
|
||||
try
|
||||
{
|
||||
state.sync(bc);
|
||||
blockRLP = importByteArray(o["rlp"].get_str());
|
||||
bc.import(blockRLP, state.db());
|
||||
state.sync(bc);
|
||||
}
|
||||
// if exception is thrown, RLP is invalid and no blockHeader, Transaction list, or Uncle list should be given
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception: " << diagnostic_information(_e);
|
||||
BOOST_CHECK(o.count("blockHeader") == 0);
|
||||
BOOST_CHECK(o.count("transactions") == 0);
|
||||
BOOST_CHECK(o.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception: " << _e.what();
|
||||
BOOST_CHECK(o.count("blockHeader") == 0);
|
||||
BOOST_CHECK(o.count("transactions") == 0);
|
||||
BOOST_CHECK(o.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception\n";
|
||||
BOOST_CHECK(o.count("blockHeader") == 0);
|
||||
BOOST_CHECK(o.count("transactions") == 0);
|
||||
BOOST_CHECK(o.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
BOOST_REQUIRE(o.count("blockHeader"));
|
||||
|
||||
mObject tObj = o["blockHeader"].get_obj();
|
||||
BlockInfo blockHeaderFromFields;
|
||||
const bytes c_rlpBytesBlockHeader = createBlockRLPFromFields(tObj);
|
||||
const RLP c_blockHeaderRLP(c_rlpBytesBlockHeader);
|
||||
blockHeaderFromFields.populateFromHeader(c_blockHeaderRLP, false);
|
||||
|
||||
BlockInfo blockFromRlp = bc.info();
|
||||
|
||||
//Check the fields restored from RLP to original fields
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.headerHash(WithNonce) == blockFromRlp.headerHash(WithNonce), "hash in given RLP not matching the block hash!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.parentHash == blockFromRlp.parentHash, "parentHash in given RLP not matching the block parentHash!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.sha3Uncles == blockFromRlp.sha3Uncles, "sha3Uncles in given RLP not matching the block sha3Uncles!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.coinbaseAddress == blockFromRlp.coinbaseAddress,"coinbaseAddress in given RLP not matching the block coinbaseAddress!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.stateRoot == blockFromRlp.stateRoot, "stateRoot in given RLP not matching the block stateRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.transactionsRoot == blockFromRlp.transactionsRoot, "transactionsRoot in given RLP not matching the block transactionsRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.receiptsRoot == blockFromRlp.receiptsRoot, "receiptsRoot in given RLP not matching the block receiptsRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.logBloom == blockFromRlp.logBloom, "logBloom in given RLP not matching the block logBloom!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.difficulty == blockFromRlp.difficulty, "difficulty in given RLP not matching the block difficulty!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.number == blockFromRlp.number, "number in given RLP not matching the block number!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.gasLimit == blockFromRlp.gasLimit,"gasLimit in given RLP not matching the block gasLimit!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.gasUsed == blockFromRlp.gasUsed, "gasUsed in given RLP not matching the block gasUsed!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.timestamp == blockFromRlp.timestamp, "timestamp in given RLP not matching the block timestamp!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.extraData == blockFromRlp.extraData, "extraData in given RLP not matching the block extraData!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.nonce == blockFromRlp.nonce, "nonce in given RLP not matching the block nonce!");
|
||||
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields == blockFromRlp, "However, blockHeaderFromFields != blockFromRlp!");
|
||||
|
||||
//Check transaction list
|
||||
Transactions txsFromField;
|
||||
|
||||
for (auto const& txObj: o["transactions"].get_array())
|
||||
{
|
||||
mObject tx = txObj.get_obj();
|
||||
|
||||
BOOST_REQUIRE(tx.count("nonce"));
|
||||
BOOST_REQUIRE(tx.count("gasPrice"));
|
||||
BOOST_REQUIRE(tx.count("gasLimit"));
|
||||
BOOST_REQUIRE(tx.count("to"));
|
||||
BOOST_REQUIRE(tx.count("value"));
|
||||
BOOST_REQUIRE(tx.count("v"));
|
||||
BOOST_REQUIRE(tx.count("r"));
|
||||
BOOST_REQUIRE(tx.count("s"));
|
||||
BOOST_REQUIRE(tx.count("data"));
|
||||
|
||||
try
|
||||
{
|
||||
Transaction t(createRLPStreamFromTransactionFields(tx).out(), CheckSignature::Sender);
|
||||
txsFromField.push_back(t);
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
BOOST_ERROR("Failed transaction constructor with Exception: " << diagnostic_information(_e));
|
||||
}
|
||||
catch (exception const& _e)
|
||||
{
|
||||
cnote << _e.what();
|
||||
}
|
||||
}
|
||||
|
||||
Transactions txsFromRlp;
|
||||
RLP root(blockRLP);
|
||||
for (auto const& tr: root[1])
|
||||
{
|
||||
Transaction tx(tr.data(), CheckSignature::Sender);
|
||||
txsFromRlp.push_back(tx);
|
||||
}
|
||||
|
||||
BOOST_CHECK_MESSAGE(txsFromRlp.size() == txsFromField.size(), "transaction list size does not match");
|
||||
|
||||
for (size_t i = 0; i < txsFromField.size(); ++i)
|
||||
{
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].data() == txsFromRlp[i].data(), "transaction data in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].gas() == txsFromRlp[i].gas(), "transaction gasLimit in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].gasPrice() == txsFromRlp[i].gasPrice(), "transaction gasPrice in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].nonce() == txsFromRlp[i].nonce(), "transaction nonce in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().r == txsFromRlp[i].signature().r, "transaction r in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().s == txsFromRlp[i].signature().s, "transaction s in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().v == txsFromRlp[i].signature().v, "transaction v in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].receiveAddress() == txsFromRlp[i].receiveAddress(), "transaction receiveAddress in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].value() == txsFromRlp[i].value(), "transaction receiveAddress in rlp and in field do not match");
|
||||
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i] == txsFromRlp[i], "transactions in rlp and in transaction field do not match");
|
||||
}
|
||||
|
||||
// check uncle list
|
||||
BOOST_CHECK_MESSAGE((o["uncleList"].type() == json_spirit::null_type ? 0 : o["uncleList"].get_array().size()) == 0, "Uncle list is not empty, but the genesis block can not have uncles");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} }// Namespace Close
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(BlockTests)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(blValidBlockTest)
|
||||
{
|
||||
dev::test::executeTests("blValidBlockTest", "/BlockTests", dev::test::doBlockTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(blInvalidTransactionRLP)
|
||||
{
|
||||
dev::test::executeTests("blInvalidTransactionRLP", "/BlockTests", dev::test::doBlockTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(blInvalidHeaderTest)
|
||||
{
|
||||
dev::test::executeTests("blInvalidHeaderTest", "/BlockTests", dev::test::doBlockTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(blForkBlocks)
|
||||
{
|
||||
dev::test::executeTests("blForkBlocks", "/BlockTests", dev::test::doBlockTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(userDefinedFile)
|
||||
{
|
||||
dev::test::userDefinedTest("--singletest", dev::test::doBlockTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
648
blockchain.cpp
Normal file
648
blockchain.cpp
Normal file
@ -0,0 +1,648 @@
|
||||
/*
|
||||
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 block.cpp
|
||||
* @author Christoph Jentzsch <cj@ethdev.com>
|
||||
* @date 2015
|
||||
* block test functions.
|
||||
*/
|
||||
|
||||
#include <libdevcrypto/FileSystem.h>
|
||||
#include <libethereum/CanonBlockChain.h>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace json_spirit;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
||||
namespace dev { namespace test {
|
||||
|
||||
bytes createBlockRLPFromFields(mObject& _tObj);
|
||||
void overwriteBlockHeader(BlockInfo& _current_BlockHeader, mObject& _blObj);
|
||||
BlockInfo constructBlock(mObject& _o);
|
||||
void updatePoW(BlockInfo& _bi);
|
||||
void writeBlockHeaderToJson(mObject& _o, const BlockInfo& _bi);
|
||||
RLPStream createFullBlockFromHeader(const BlockInfo& _bi, const bytes& _txs = RLPEmptyList, const bytes& _uncles = RLPEmptyList);
|
||||
|
||||
void doBlockchainTests(json_spirit::mValue& _v, bool _fillin)
|
||||
{
|
||||
for (auto& i: _v.get_obj())
|
||||
{
|
||||
cerr << i.first << endl;
|
||||
mObject& o = i.second.get_obj();
|
||||
|
||||
BOOST_REQUIRE(o.count("genesisBlockHeader"));
|
||||
BlockInfo biGenesisBlock = constructBlock(o["genesisBlockHeader"].get_obj());
|
||||
|
||||
BOOST_REQUIRE(o.count("pre"));
|
||||
ImportTest importer(o["pre"].get_obj());
|
||||
State state(Address(), OverlayDB(), BaseState::Empty);
|
||||
importer.importState(o["pre"].get_obj(), state);
|
||||
state.commit();
|
||||
|
||||
if (_fillin)
|
||||
biGenesisBlock.stateRoot = state.rootHash();
|
||||
else
|
||||
BOOST_CHECK_MESSAGE(biGenesisBlock.stateRoot == state.rootHash(), "root hash does not match");
|
||||
|
||||
if (_fillin)
|
||||
{
|
||||
// find new valid nonce
|
||||
updatePoW(biGenesisBlock);
|
||||
|
||||
//update genesis block in json file
|
||||
writeBlockHeaderToJson(o["genesisBlockHeader"].get_obj(), biGenesisBlock);
|
||||
}
|
||||
|
||||
// create new "genesis" block
|
||||
RLPStream rlpGenesisBlock = createFullBlockFromHeader(biGenesisBlock);
|
||||
biGenesisBlock.verifyInternals(&rlpGenesisBlock.out());
|
||||
|
||||
// construct blockchain
|
||||
BlockChain bc(rlpGenesisBlock.out(), string(), true);
|
||||
|
||||
if (_fillin)
|
||||
{
|
||||
BOOST_REQUIRE(o.count("blocks"));
|
||||
mArray blArray;
|
||||
vector<BlockInfo> vBiBlocks;
|
||||
vBiBlocks.push_back(biGenesisBlock);
|
||||
for (auto const& bl: o["blocks"].get_array())
|
||||
{
|
||||
mObject blObj = bl.get_obj();
|
||||
|
||||
// get txs
|
||||
TransactionQueue txs;
|
||||
GasPricer gp(10000);
|
||||
BOOST_REQUIRE(blObj.count("transactions"));
|
||||
for (auto const& txObj: blObj["transactions"].get_array())
|
||||
{
|
||||
mObject tx = txObj.get_obj();
|
||||
importer.importTransaction(tx);
|
||||
if (!txs.attemptImport(importer.m_transaction.rlp()))
|
||||
cnote << "failed importing transaction\n";
|
||||
}
|
||||
|
||||
// write uncle list
|
||||
BlockQueue uncleBlockQueue;
|
||||
mArray aUncleList;
|
||||
vector<BlockInfo> vBiUncles;
|
||||
|
||||
for (auto const& uHObj: blObj["uncleHeaders"].get_array())
|
||||
{
|
||||
mObject uncleHeaderObj = uHObj.get_obj();
|
||||
BlockInfo uncleBlockFromFields = constructBlock(uncleHeaderObj);
|
||||
|
||||
// make uncle header valid
|
||||
uncleBlockFromFields.timestamp = (u256)time(0);
|
||||
if (vBiBlocks.size() > 2)
|
||||
uncleBlockFromFields.populateFromParent(vBiBlocks[vBiBlocks.size()-2]);
|
||||
else
|
||||
continue;
|
||||
|
||||
updatePoW(uncleBlockFromFields);
|
||||
writeBlockHeaderToJson(uncleHeaderObj, uncleBlockFromFields);
|
||||
|
||||
aUncleList.push_back(uncleHeaderObj);
|
||||
vBiUncles.push_back(uncleBlockFromFields);
|
||||
|
||||
cnote << "import uncle in blockQueue";
|
||||
RLPStream uncle = createFullBlockFromHeader(uncleBlockFromFields);
|
||||
uncleBlockQueue.import(&uncle.out(), bc);
|
||||
}
|
||||
|
||||
blObj["uncleHeaders"] = aUncleList;
|
||||
bc.sync(uncleBlockQueue, state.db(), 4);
|
||||
state.commitToMine(bc);
|
||||
|
||||
try
|
||||
{
|
||||
state.sync(bc);
|
||||
state.sync(bc, txs, gp);
|
||||
state.commitToMine(bc);
|
||||
MineInfo info;
|
||||
for (info.completed = false; !info.completed; info = state.mine()) {}
|
||||
state.completeMine();
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "state sync or mining did throw an exception: " << diagnostic_information(_e);
|
||||
return;
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
cnote << "state sync or mining did throw an exception: " << _e.what();
|
||||
return;
|
||||
}
|
||||
|
||||
blObj["rlp"] = "0x" + toHex(state.blockData());
|
||||
|
||||
// write valid txs
|
||||
mArray txArray;
|
||||
Transactions txList;
|
||||
for (auto const& txi: txs.transactions())
|
||||
{
|
||||
Transaction tx(txi.second, CheckSignature::Sender);
|
||||
txList.push_back(tx);
|
||||
mObject txObject;
|
||||
txObject["nonce"] = toString(tx.nonce());
|
||||
txObject["data"] = "0x" + toHex(tx.data());
|
||||
txObject["gasLimit"] = toString(tx.gas());
|
||||
txObject["gasPrice"] = toString(tx.gasPrice());
|
||||
txObject["r"] = "0x" + toString(tx.signature().r);
|
||||
txObject["s"] = "0x" + toString(tx.signature().s);
|
||||
txObject["v"] = to_string(tx.signature().v + 27);
|
||||
txObject["to"] = tx.isCreation() ? "" : toString(tx.receiveAddress());
|
||||
txObject["value"] = toString(tx.value());
|
||||
|
||||
txArray.push_back(txObject);
|
||||
}
|
||||
|
||||
blObj["transactions"] = txArray;
|
||||
|
||||
BlockInfo current_BlockHeader = state.info();
|
||||
|
||||
if (blObj.count("blockHeader"))
|
||||
overwriteBlockHeader(current_BlockHeader, blObj);
|
||||
|
||||
// write block header
|
||||
mObject oBlockHeader;
|
||||
writeBlockHeaderToJson(oBlockHeader, current_BlockHeader);
|
||||
blObj["blockHeader"] = oBlockHeader;
|
||||
vBiBlocks.push_back(current_BlockHeader);
|
||||
|
||||
// compare blocks from state and from rlp
|
||||
RLPStream txStream;
|
||||
txStream.appendList(txList.size());
|
||||
for (unsigned i = 0; i < txList.size(); ++i)
|
||||
{
|
||||
RLPStream txrlp;
|
||||
txList[i].streamRLP(txrlp);
|
||||
txStream.appendRaw(txrlp.out());
|
||||
}
|
||||
|
||||
RLPStream uncleStream;
|
||||
uncleStream.appendList(vBiUncles.size());
|
||||
for (unsigned i = 0; i < vBiUncles.size(); ++i)
|
||||
{
|
||||
RLPStream uncleRlp;
|
||||
vBiUncles[i].streamRLP(uncleRlp, WithNonce);
|
||||
uncleStream.appendRaw(uncleRlp.out());
|
||||
}
|
||||
|
||||
RLPStream block2 = createFullBlockFromHeader(current_BlockHeader, txStream.out(), uncleStream.out());
|
||||
|
||||
blObj["rlp"] = "0x" + toHex(block2.out());
|
||||
|
||||
if (sha3(RLP(state.blockData())[0].data()) != sha3(RLP(block2.out())[0].data()))
|
||||
cnote << "block header mismatch\n";
|
||||
|
||||
if (sha3(RLP(state.blockData())[1].data()) != sha3(RLP(block2.out())[1].data()))
|
||||
cnote << "txs mismatch\n";
|
||||
|
||||
if (sha3(RLP(state.blockData())[2].data()) != sha3(RLP(block2.out())[2].data()))
|
||||
cnote << "uncle list mismatch\n" << RLP(state.blockData())[2].data() << "\n" << RLP(block2.out())[2].data();
|
||||
|
||||
try
|
||||
{
|
||||
state.sync(bc);
|
||||
bc.import(block2.out(), state.db());
|
||||
state.sync(bc);
|
||||
state.commit();
|
||||
}
|
||||
// if exception is thrown, RLP is invalid and no blockHeader, Transaction list, or Uncle list should be given
|
||||
catch (...)
|
||||
{
|
||||
cnote << "block is invalid!\n";
|
||||
blObj.erase(blObj.find("blockHeader"));
|
||||
blObj.erase(blObj.find("uncleHeaders"));
|
||||
blObj.erase(blObj.find("transactions"));
|
||||
}
|
||||
blArray.push_back(blObj);
|
||||
}
|
||||
o["blocks"] = blArray;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
for (auto const& bl: o["blocks"].get_array())
|
||||
{
|
||||
mObject blObj = bl.get_obj();
|
||||
bytes blockRLP;
|
||||
try
|
||||
{
|
||||
state.sync(bc);
|
||||
blockRLP = importByteArray(blObj["rlp"].get_str());
|
||||
bc.import(blockRLP, state.db());
|
||||
state.sync(bc);
|
||||
}
|
||||
// if exception is thrown, RLP is invalid and no blockHeader, Transaction list, or Uncle list should be given
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception: " << diagnostic_information(_e);
|
||||
BOOST_CHECK(blObj.count("blockHeader") == 0);
|
||||
BOOST_CHECK(blObj.count("transactions") == 0);
|
||||
BOOST_CHECK(blObj.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception: " << _e.what();
|
||||
BOOST_CHECK(blObj.count("blockHeader") == 0);
|
||||
BOOST_CHECK(blObj.count("transactions") == 0);
|
||||
BOOST_CHECK(blObj.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
cnote << "state sync or block import did throw an exception\n";
|
||||
BOOST_CHECK(blObj.count("blockHeader") == 0);
|
||||
BOOST_CHECK(blObj.count("transactions") == 0);
|
||||
BOOST_CHECK(blObj.count("uncleHeaders") == 0);
|
||||
continue;
|
||||
}
|
||||
|
||||
BOOST_REQUIRE(blObj.count("blockHeader"));
|
||||
|
||||
mObject tObj = blObj["blockHeader"].get_obj();
|
||||
BlockInfo blockHeaderFromFields;
|
||||
const bytes c_rlpBytesBlockHeader = createBlockRLPFromFields(tObj);
|
||||
const RLP c_blockHeaderRLP(c_rlpBytesBlockHeader);
|
||||
blockHeaderFromFields.populateFromHeader(c_blockHeaderRLP, IgnoreNonce);
|
||||
|
||||
BlockInfo blockFromRlp = bc.info();
|
||||
|
||||
//Check the fields restored from RLP to original fields
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.headerHash(WithNonce) == blockFromRlp.headerHash(WithNonce), "hash in given RLP not matching the block hash!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.parentHash == blockFromRlp.parentHash, "parentHash in given RLP not matching the block parentHash!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.sha3Uncles == blockFromRlp.sha3Uncles, "sha3Uncles in given RLP not matching the block sha3Uncles!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.coinbaseAddress == blockFromRlp.coinbaseAddress,"coinbaseAddress in given RLP not matching the block coinbaseAddress!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.stateRoot == blockFromRlp.stateRoot, "stateRoot in given RLP not matching the block stateRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.transactionsRoot == blockFromRlp.transactionsRoot, "transactionsRoot in given RLP not matching the block transactionsRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.receiptsRoot == blockFromRlp.receiptsRoot, "receiptsRoot in given RLP not matching the block receiptsRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.logBloom == blockFromRlp.logBloom, "logBloom in given RLP not matching the block logBloom!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.difficulty == blockFromRlp.difficulty, "difficulty in given RLP not matching the block difficulty!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.number == blockFromRlp.number, "number in given RLP not matching the block number!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.gasLimit == blockFromRlp.gasLimit,"gasLimit in given RLP not matching the block gasLimit!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.gasUsed == blockFromRlp.gasUsed, "gasUsed in given RLP not matching the block gasUsed!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.timestamp == blockFromRlp.timestamp, "timestamp in given RLP not matching the block timestamp!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.extraData == blockFromRlp.extraData, "extraData in given RLP not matching the block extraData!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.mixHash == blockFromRlp.mixHash, "mixHash in given RLP not matching the block mixHash!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.seedHash == blockFromRlp.seedHash, "transactionsRoot in given RLP not matching the block transactionsRoot!");
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields.nonce == blockFromRlp.nonce, "nonce in given RLP not matching the block nonce!");
|
||||
|
||||
BOOST_CHECK_MESSAGE(blockHeaderFromFields == blockFromRlp, "However, blockHeaderFromFields != blockFromRlp!");
|
||||
|
||||
//Check transaction list
|
||||
|
||||
Transactions txsFromField;
|
||||
|
||||
for (auto const& txObj: blObj["transactions"].get_array())
|
||||
{
|
||||
mObject tx = txObj.get_obj();
|
||||
|
||||
BOOST_REQUIRE(tx.count("nonce"));
|
||||
BOOST_REQUIRE(tx.count("gasPrice"));
|
||||
BOOST_REQUIRE(tx.count("gasLimit"));
|
||||
BOOST_REQUIRE(tx.count("to"));
|
||||
BOOST_REQUIRE(tx.count("value"));
|
||||
BOOST_REQUIRE(tx.count("v"));
|
||||
BOOST_REQUIRE(tx.count("r"));
|
||||
BOOST_REQUIRE(tx.count("s"));
|
||||
BOOST_REQUIRE(tx.count("data"));
|
||||
|
||||
try
|
||||
{
|
||||
Transaction t(createRLPStreamFromTransactionFields(tx).out(), CheckSignature::Sender);
|
||||
txsFromField.push_back(t);
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
BOOST_ERROR("Failed transaction constructor with Exception: " << diagnostic_information(_e));
|
||||
}
|
||||
catch (exception const& _e)
|
||||
{
|
||||
cnote << _e.what();
|
||||
}
|
||||
}
|
||||
|
||||
Transactions txsFromRlp;
|
||||
RLP root(blockRLP);
|
||||
for (auto const& tr: root[1])
|
||||
{
|
||||
Transaction tx(tr.data(), CheckSignature::Sender);
|
||||
txsFromRlp.push_back(tx);
|
||||
}
|
||||
|
||||
BOOST_CHECK_MESSAGE(txsFromRlp.size() == txsFromField.size(), "transaction list size does not match");
|
||||
|
||||
for (size_t i = 0; i < txsFromField.size(); ++i)
|
||||
{
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].data() == txsFromRlp[i].data(), "transaction data in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].gas() == txsFromRlp[i].gas(), "transaction gasLimit in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].gasPrice() == txsFromRlp[i].gasPrice(), "transaction gasPrice in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].nonce() == txsFromRlp[i].nonce(), "transaction nonce in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().r == txsFromRlp[i].signature().r, "transaction r in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().s == txsFromRlp[i].signature().s, "transaction s in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].signature().v == txsFromRlp[i].signature().v, "transaction v in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].receiveAddress() == txsFromRlp[i].receiveAddress(), "transaction receiveAddress in rlp and in field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].value() == txsFromRlp[i].value(), "transaction receiveAddress in rlp and in field do not match");
|
||||
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i] == txsFromRlp[i], "transactions from rlp and transaction from field do not match");
|
||||
BOOST_CHECK_MESSAGE(txsFromField[i].rlp() == txsFromRlp[i].rlp(), "transactions rlp do not match");
|
||||
|
||||
}
|
||||
|
||||
// check uncle list
|
||||
|
||||
// uncles from uncle list field
|
||||
vector<BlockInfo> uBlHsFromField;
|
||||
if (blObj["uncleHeaders"].type() != json_spirit::null_type)
|
||||
for (auto const& uBlHeaderObj: blObj["uncleHeaders"].get_array())
|
||||
{
|
||||
mObject uBlH = uBlHeaderObj.get_obj();
|
||||
cout << "uBlH.size(): " << uBlH.size() << endl;
|
||||
BOOST_REQUIRE(uBlH.size() == 17);
|
||||
bytes uncleRLP = createBlockRLPFromFields(uBlH);
|
||||
const RLP c_uRLP(uncleRLP);
|
||||
BlockInfo uncleBlockHeader;
|
||||
try
|
||||
{
|
||||
uncleBlockHeader.populateFromHeader(c_uRLP);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
BOOST_ERROR("invalid uncle header");
|
||||
}
|
||||
uBlHsFromField.push_back(uncleBlockHeader);
|
||||
}
|
||||
|
||||
// uncles from block RLP
|
||||
vector<BlockInfo> uBlHsFromRlp;
|
||||
for (auto const& uRLP: root[2])
|
||||
{
|
||||
BlockInfo uBl;
|
||||
uBl.populateFromHeader(uRLP);
|
||||
uBlHsFromRlp.push_back(uBl);
|
||||
}
|
||||
|
||||
BOOST_REQUIRE_EQUAL(uBlHsFromField.size(), uBlHsFromRlp.size());
|
||||
|
||||
for (size_t i = 0; i < uBlHsFromField.size(); ++i)
|
||||
BOOST_CHECK_MESSAGE(uBlHsFromField[i] == uBlHsFromRlp[i], "block header in rlp and in field do not match");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// helping functions
|
||||
|
||||
bytes createBlockRLPFromFields(mObject& _tObj)
|
||||
{
|
||||
RLPStream rlpStream;
|
||||
rlpStream.appendList(_tObj.count("hash") > 0 ? (_tObj.size() - 1) : _tObj.size());
|
||||
|
||||
if (_tObj.count("parentHash"))
|
||||
rlpStream << importByteArray(_tObj["parentHash"].get_str());
|
||||
|
||||
if (_tObj.count("uncleHash"))
|
||||
rlpStream << importByteArray(_tObj["uncleHash"].get_str());
|
||||
|
||||
if (_tObj.count("coinbase"))
|
||||
rlpStream << importByteArray(_tObj["coinbase"].get_str());
|
||||
|
||||
if (_tObj.count("stateRoot"))
|
||||
rlpStream << importByteArray(_tObj["stateRoot"].get_str());
|
||||
|
||||
if (_tObj.count("transactionsTrie"))
|
||||
rlpStream << importByteArray(_tObj["transactionsTrie"].get_str());
|
||||
|
||||
if (_tObj.count("receiptTrie"))
|
||||
rlpStream << importByteArray(_tObj["receiptTrie"].get_str());
|
||||
|
||||
if (_tObj.count("bloom"))
|
||||
rlpStream << importByteArray(_tObj["bloom"].get_str());
|
||||
|
||||
if (_tObj.count("difficulty"))
|
||||
rlpStream << bigint(_tObj["difficulty"].get_str());
|
||||
|
||||
if (_tObj.count("number"))
|
||||
rlpStream << bigint(_tObj["number"].get_str());
|
||||
|
||||
if (_tObj.count("gasLimit"))
|
||||
rlpStream << bigint(_tObj["gasLimit"].get_str());
|
||||
|
||||
if (_tObj.count("gasUsed"))
|
||||
rlpStream << bigint(_tObj["gasUsed"].get_str());
|
||||
|
||||
if (_tObj.count("timestamp"))
|
||||
rlpStream << bigint(_tObj["timestamp"].get_str());
|
||||
|
||||
if (_tObj.count("extraData"))
|
||||
rlpStream << fromHex(_tObj["extraData"].get_str());
|
||||
|
||||
if (_tObj.count("seedHash"))
|
||||
rlpStream << importByteArray(_tObj["seedHash"].get_str());
|
||||
|
||||
if (_tObj.count("mixHash"))
|
||||
rlpStream << importByteArray(_tObj["mixHash"].get_str());
|
||||
|
||||
if (_tObj.count("nonce"))
|
||||
rlpStream << importByteArray(_tObj["nonce"].get_str());
|
||||
|
||||
return rlpStream.out();
|
||||
}
|
||||
|
||||
void overwriteBlockHeader(BlockInfo& _current_BlockHeader, mObject& _blObj)
|
||||
{
|
||||
if (_blObj["blockHeader"].get_obj().size() != 14)
|
||||
{
|
||||
|
||||
BlockInfo tmp = _current_BlockHeader;
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("parentHash"))
|
||||
tmp.parentHash = h256(_blObj["blockHeader"].get_obj()["parentHash"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("uncleHash"))
|
||||
tmp.sha3Uncles = h256(_blObj["blockHeader"].get_obj()["uncleHash"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("coinbase"))
|
||||
tmp.coinbaseAddress = Address(_blObj["blockHeader"].get_obj()["coinbase"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("stateRoot"))
|
||||
tmp.stateRoot = h256(_blObj["blockHeader"].get_obj()["stateRoot"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("transactionsTrie"))
|
||||
tmp.transactionsRoot = h256(_blObj["blockHeader"].get_obj()["transactionsTrie"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("receiptTrie"))
|
||||
tmp.receiptsRoot = h256(_blObj["blockHeader"].get_obj()["receiptTrie"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("bloom"))
|
||||
tmp.logBloom = LogBloom(_blObj["blockHeader"].get_obj()["bloom"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("difficulty"))
|
||||
tmp.difficulty = toInt(_blObj["blockHeader"].get_obj()["difficulty"]);
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("number"))
|
||||
tmp.number = toInt(_blObj["blockHeader"].get_obj()["number"]);
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("gasLimit"))
|
||||
tmp.gasLimit = toInt(_blObj["blockHeader"].get_obj()["gasLimit"]);
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("gasUsed"))
|
||||
tmp.gasUsed = toInt(_blObj["blockHeader"].get_obj()["gasUsed"]);
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("timestamp"))
|
||||
tmp.timestamp = toInt(_blObj["blockHeader"].get_obj()["timestamp"]);
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("extraData"))
|
||||
tmp.extraData = importByteArray(_blObj["blockHeader"].get_obj()["extraData"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("mixHash"))
|
||||
tmp.mixHash = h256(_blObj["blockHeader"].get_obj()["mixHash"].get_str());
|
||||
|
||||
if (_blObj["blockHeader"].get_obj().count("seedHash"))
|
||||
tmp.seedHash = h256(_blObj["blockHeader"].get_obj()["seedHash"].get_str());
|
||||
|
||||
// find new valid nonce
|
||||
|
||||
if (tmp != _current_BlockHeader)
|
||||
{
|
||||
_current_BlockHeader = tmp;
|
||||
|
||||
ProofOfWork pow;
|
||||
std::pair<MineInfo, Ethash::Proof> ret;
|
||||
while (!ProofOfWork::verify(_current_BlockHeader))
|
||||
{
|
||||
ret = pow.mine(_current_BlockHeader, 1000, true, true); // tie(ret, blockFromFields.nonce)
|
||||
Ethash::assignResult(ret.second, _current_BlockHeader);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// take the blockheader as is
|
||||
const bytes c_blockRLP = createBlockRLPFromFields(_blObj["blockHeader"].get_obj());
|
||||
const RLP c_bRLP(c_blockRLP);
|
||||
_current_BlockHeader.populateFromHeader(c_bRLP, IgnoreNonce);
|
||||
}
|
||||
}
|
||||
|
||||
BlockInfo constructBlock(mObject& _o)
|
||||
{
|
||||
|
||||
BlockInfo ret;
|
||||
try
|
||||
{
|
||||
// construct genesis block
|
||||
const bytes c_blockRLP = createBlockRLPFromFields(_o);
|
||||
const RLP c_bRLP(c_blockRLP);
|
||||
ret.populateFromHeader(c_bRLP, IgnoreNonce);
|
||||
}
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "block population did throw an exception: " << diagnostic_information(_e);
|
||||
BOOST_ERROR("Failed block population with Exception: " << _e.what());
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
BOOST_ERROR("Failed block population with Exception: " << _e.what());
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
BOOST_ERROR("block population did throw an unknown exception\n");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void updatePoW(BlockInfo& _bi)
|
||||
{
|
||||
ProofOfWork pow;
|
||||
std::pair<MineInfo, Ethash::Proof> ret;
|
||||
while (!ProofOfWork::verify(_bi))
|
||||
{
|
||||
ret = pow.mine(_bi, 10000, true, true); // tie(ret, blockFromFields.nonce)
|
||||
Ethash::assignResult(ret.second, _bi);
|
||||
}
|
||||
}
|
||||
|
||||
void writeBlockHeaderToJson(mObject& _o, const BlockInfo& _bi)
|
||||
{
|
||||
_o["parentHash"] = toString(_bi.parentHash);
|
||||
_o["uncleHash"] = toString(_bi.sha3Uncles);
|
||||
_o["coinbase"] = toString(_bi.coinbaseAddress);
|
||||
_o["stateRoot"] = toString(_bi.stateRoot);
|
||||
_o["transactionsTrie"] = toString(_bi.transactionsRoot);
|
||||
_o["receiptTrie"] = toString(_bi.receiptsRoot);
|
||||
_o["bloom"] = toString(_bi.logBloom);
|
||||
_o["difficulty"] = toString(_bi.difficulty);
|
||||
_o["number"] = toString(_bi.number);
|
||||
_o["gasLimit"] = toString(_bi.gasLimit);
|
||||
_o["gasUsed"] = toString(_bi.gasUsed);
|
||||
_o["timestamp"] = toString(_bi.timestamp);
|
||||
_o["extraData"] ="0x" + toHex(_bi.extraData);
|
||||
_o["mixHash"] = toString(_bi.mixHash);
|
||||
_o["seedHash"] = toString(_bi.seedHash);
|
||||
_o["nonce"] = toString(_bi.nonce);
|
||||
_o["hash"] = toString(_bi.hash);
|
||||
}
|
||||
|
||||
RLPStream createFullBlockFromHeader(const BlockInfo& _bi,const bytes& _txs, const bytes& _uncles )
|
||||
{
|
||||
RLPStream rlpStream;
|
||||
_bi.streamRLP(rlpStream, WithNonce);
|
||||
|
||||
RLPStream ret(3);
|
||||
ret.appendRaw(rlpStream.out());
|
||||
ret.appendRaw(_txs);
|
||||
ret.appendRaw(_uncles);
|
||||
|
||||
return ret;
|
||||
}
|
||||
} }// Namespace Close
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(BlockChainTests)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(bcBlockChainTest)
|
||||
{
|
||||
dev::test::executeTests("bcBlockChainTest", "/BlockTests", dev::test::doBlockchainTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(bcValidBlockTest)
|
||||
{
|
||||
dev::test::executeTests("bcValidBlockTest", "/BlockTests", dev::test::doBlockchainTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(bcInvalidHeaderTest)
|
||||
{
|
||||
dev::test::executeTests("bcInvalidHeaderTest", "/BlockTests", dev::test::doBlockchainTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(bcUncleTest)
|
||||
{
|
||||
dev::test::executeTests("bcUncleTest", "/BlockTests", dev::test::doBlockchainTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(userDefinedFileBc)
|
||||
{
|
||||
dev::test::userDefinedTest("--bctest", dev::test::doBlockchainTests);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
@ -42,7 +42,7 @@ BOOST_AUTO_TEST_CASE(jsToAddress)
|
||||
cnote << "Testing jsToPublic...";
|
||||
KeyPair kp = KeyPair::create();
|
||||
string string = toJS(kp.address());
|
||||
Address address = dev::eth::jsToAddress(string);
|
||||
Address address = dev::jsToAddress(string);
|
||||
BOOST_CHECK_EQUAL(kp.address(), address);
|
||||
}
|
||||
|
||||
|
74
dagger.cpp
74
dagger.cpp
@ -17,35 +17,69 @@
|
||||
/** @file dagger.cpp
|
||||
* @author Gav Wood <i@gavwood.com>
|
||||
* @date 2014
|
||||
* ProofOfWork test functions.
|
||||
* Dashimoto test functions.
|
||||
*/
|
||||
|
||||
#include <chrono>
|
||||
#include <libdevcore/Log.h>
|
||||
#include <fstream>
|
||||
#include <random>
|
||||
#include "JsonSpiritHeaders.h"
|
||||
#include <libdevcore/CommonIO.h>
|
||||
#include <libethcore/ProofOfWork.h>
|
||||
#include <libethcore/Ethasher.h>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace std::chrono;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
||||
int daggerTest()
|
||||
namespace js = json_spirit;
|
||||
|
||||
using dev::operator <<;
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(DashimotoTests)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(basic_test)
|
||||
{
|
||||
cnote << "Testing ProofOfWork...";
|
||||
// Test dagger
|
||||
string testPath = test::getTestPath();
|
||||
|
||||
testPath += "/PoWTests";
|
||||
|
||||
cnote << "Testing Secure Trie...";
|
||||
js::mValue v;
|
||||
string s = asString(contents(testPath + "/ethash_tests.json"));
|
||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'ethash_tests.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
||||
js::read_string(s, v);
|
||||
for (auto& i: v.get_obj())
|
||||
{
|
||||
auto s = steady_clock::now();
|
||||
cout << hex << ProofOfWork().eval((h256)(u256)1, (h256)(u256)0);
|
||||
cout << " " << dec << duration_cast<milliseconds>(steady_clock::now() - s).count() << " ms" << endl;
|
||||
cout << hex << ProofOfWork().eval((h256)(u256)1, (h256)(u256)1);
|
||||
cout << " " << dec << duration_cast<milliseconds>(steady_clock::now() - s).count() << " ms" << endl;
|
||||
cnote << i.first;
|
||||
js::mObject& o = i.second.get_obj();
|
||||
vector<pair<string, string>> ss;
|
||||
BlockInfo header = BlockInfo::fromHeader(fromHex(o["header"].get_str()), CheckNothing);
|
||||
h256 headerHash(o["header_hash"].get_str());
|
||||
Nonce nonce(o["nonce"].get_str());
|
||||
BOOST_REQUIRE_EQUAL(headerHash, header.headerHash(WithoutNonce));
|
||||
BOOST_REQUIRE_EQUAL(nonce, header.nonce);
|
||||
|
||||
unsigned cacheSize(o["cache_size"].get_int());
|
||||
h256 cacheHash(o["cache_hash"].get_str());
|
||||
BOOST_REQUIRE_EQUAL(Ethasher::get()->cache(header).size(), cacheSize);
|
||||
BOOST_REQUIRE_EQUAL(sha3(Ethasher::get()->cache(header)), cacheHash);
|
||||
|
||||
#if TEST_FULL
|
||||
unsigned fullSize(o["full_size"].get_int());
|
||||
h256 fullHash(o["full_hash"].get_str());
|
||||
BOOST_REQUIRE_EQUAL(Ethasher::get()->full(header).size(), fullSize);
|
||||
BOOST_REQUIRE_EQUAL(sha3(Ethasher::get()->full(header)), fullHash);
|
||||
#endif
|
||||
|
||||
h256 result(o["result"].get_str());
|
||||
Ethasher::Result r = Ethasher::eval(header);
|
||||
BOOST_REQUIRE_EQUAL(r.value, result);
|
||||
BOOST_REQUIRE_EQUAL(r.mixHash, header.mixHash);
|
||||
}
|
||||
{
|
||||
auto s = steady_clock::now();
|
||||
cout << hex << ProofOfWork().eval((h256)(u256)1, (h256)(u256)0);
|
||||
cout << " " << dec << duration_cast<milliseconds>(steady_clock::now() - s).count() << " ms" << endl;
|
||||
cout << hex << ProofOfWork().eval((h256)(u256)1, (h256)(u256)1);
|
||||
cout << " " << dec << duration_cast<milliseconds>(steady_clock::now() - s).count() << " ms" << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <tuple>
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include "TestHelper.h"
|
||||
#include <libethereum/State.h>
|
||||
#include <libethereum/Executive.h>
|
||||
#include <libsolidity/CompilerStack.h>
|
||||
@ -46,16 +46,8 @@ public:
|
||||
bytes const& compileAndRun(std::string const& _sourceCode, u256 const& _value = 0, std::string const& _contractName = "")
|
||||
{
|
||||
dev::solidity::CompilerStack compiler(m_addStandardSources);
|
||||
try
|
||||
{
|
||||
compiler.addSource("", _sourceCode);
|
||||
compiler.compile(m_optimize);
|
||||
}
|
||||
catch(boost::exception const& _e)
|
||||
{
|
||||
auto msg = std::string("Compiling contract failed with: ") + boost::diagnostic_information(_e);
|
||||
BOOST_FAIL(msg);
|
||||
}
|
||||
ETH_TEST_REQUIRE_NO_THROW(compiler.compile(m_optimize), "Compiling contract failed");
|
||||
|
||||
bytes code = compiler.getBytecode(_contractName);
|
||||
sendMessage(code, true, _value);
|
||||
@ -178,7 +170,7 @@ protected:
|
||||
Address m_contractAddress;
|
||||
eth::State m_state;
|
||||
u256 const m_gasPrice = 100 * eth::szabo;
|
||||
u256 const m_gas = 1000000;
|
||||
u256 const m_gas = 100000000;
|
||||
bytes m_output;
|
||||
eth::LogEntries m_logs;
|
||||
};
|
||||
|
@ -25,7 +25,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "8500",
|
||||
"gasLimit" : "28500",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -59,7 +59,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "8500",
|
||||
"gasLimit" : "28500",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -93,7 +93,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "8500",
|
||||
"gasLimit" : "28500",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -26,7 +26,7 @@
|
||||
},
|
||||
"transaction" : {
|
||||
"data" : "",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "400000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -21,7 +21,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c6000396000f200600160008035811a8100",
|
||||
"gasLimit" : "599",
|
||||
"gasLimit" : "32599",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -43,7 +43,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "2",
|
||||
"balance" : "22177",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -53,7 +53,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c6000396000f200600160008035811a8100",
|
||||
"gasLimit" : "599",
|
||||
"gasLimit" : "22176",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -74,7 +74,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "70000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -84,7 +84,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c6000396000f200600160008035811a8100",
|
||||
"gasLimit" : "590",
|
||||
"gasLimit" : "21590",
|
||||
"gasPrice" : "3",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -104,7 +104,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "50000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -114,7 +114,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x6000f1",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "40000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -135,7 +135,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -145,7 +145,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c6000396000fff2ffff600160008035811a81",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "23000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -166,7 +166,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -176,7 +176,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c600039600000f20000600160008035811a81",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "23000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -197,7 +197,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -207,7 +207,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x600a80600c6000396000f200ff600160008035811a81",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "23000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -245,7 +245,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x00",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "40000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -283,7 +283,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x00",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "40000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -521,7 +521,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasLimit" : "41000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -560,7 +560,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "15000",
|
||||
"gasLimit" : "25000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -32,7 +32,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -73,7 +73,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -114,9 +114,9 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"value" : "2100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"data" : ""
|
||||
}
|
||||
@ -156,7 +156,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -197,7 +197,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -238,7 +238,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -279,7 +279,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -320,7 +320,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -361,7 +361,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -402,7 +402,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -444,7 +444,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -485,7 +485,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -526,7 +526,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -567,7 +567,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -608,7 +608,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -649,7 +649,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -690,7 +690,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -731,7 +731,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -772,7 +772,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -814,7 +814,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -855,7 +855,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -896,7 +896,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -937,7 +937,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -978,7 +978,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1019,7 +1019,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1060,7 +1060,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1101,7 +1101,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1142,7 +1142,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1184,7 +1184,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1225,7 +1225,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1266,7 +1266,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1307,7 +1307,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1348,7 +1348,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1389,7 +1389,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1430,7 +1430,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1471,7 +1471,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1512,7 +1512,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1553,7 +1553,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1595,7 +1595,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1636,7 +1636,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1677,7 +1677,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1718,7 +1718,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1759,7 +1759,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1800,7 +1800,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1841,7 +1841,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "210000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -25,7 +25,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "22000",
|
||||
"to" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1459,7 +1459,5 @@
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"data" : "0xff55883355001144bbccddffeeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -378,16 +378,16 @@
|
||||
"env" : {
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6",
|
||||
"currentNumber" : "0",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentGasLimit" : "100000000",
|
||||
"currentDifficulty" : "256",
|
||||
"currentTimestamp" : 1,
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"
|
||||
},
|
||||
"pre" : {
|
||||
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
|
||||
"balance" : "20000000",
|
||||
"balance" : "200000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 2 ]] (CALL 500 2 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
|
||||
"code" : "{ [[ 2 ]] (CALL 20000000 2 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
|
||||
"storage": {}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
|
@ -18,7 +18,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -27,7 +27,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "850",
|
||||
"gasLimit" : "22850",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -54,7 +54,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -63,7 +63,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "850",
|
||||
"gasLimit" : "22850",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -90,7 +90,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "500",
|
||||
"balance" : "50000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -99,7 +99,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "500",
|
||||
"gasLimit" : "21000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -126,7 +126,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "502",
|
||||
"balance" : "50200",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -135,7 +135,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "502",
|
||||
"gasLimit" : "21002",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -166,7 +166,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -175,7 +175,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "100000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -206,7 +206,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -215,7 +215,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "100000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -247,7 +247,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -256,7 +256,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "100000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -288,7 +288,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -297,7 +297,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "100000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -278,7 +278,7 @@
|
||||
{
|
||||
"//" : "run()",
|
||||
"data" : "0xc0406226",
|
||||
"gasLimit" : "15000",
|
||||
"gasLimit" : "35000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -333,7 +333,7 @@
|
||||
{
|
||||
"//" : "testRecursiveMethods()",
|
||||
"data" : "0x981a3165",
|
||||
"gasLimit" : "2000",
|
||||
"gasLimit" : "25000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -378,7 +378,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "500",
|
||||
"balance" : "50000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -388,7 +388,7 @@
|
||||
{
|
||||
"//" : "testInfiniteLoop()",
|
||||
"data" : "0x296df0df",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -463,7 +463,7 @@
|
||||
{
|
||||
"//" : "run(uint256)",
|
||||
"data" : "0xa444f5e900000000000000000000000000000000000000000000000000000000000204",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -508,7 +508,7 @@
|
||||
}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "500",
|
||||
"balance" : "50000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -518,7 +518,7 @@
|
||||
{
|
||||
"//" : "run()",
|
||||
"data" : "0xc0406226",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -22,7 +22,7 @@
|
||||
"storage": {}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -31,7 +31,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "850",
|
||||
"gasLimit" : "22850",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -25,7 +25,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -60,7 +60,7 @@
|
||||
},
|
||||
"transaction" : {
|
||||
"data" : "",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -95,7 +95,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -129,7 +129,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -163,7 +163,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -197,7 +197,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -232,7 +232,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -257,7 +257,7 @@
|
||||
"storage": {}
|
||||
},
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1000",
|
||||
"balance" : "100000",
|
||||
"nonce" : "0",
|
||||
"code" : "",
|
||||
"storage": {}
|
||||
@ -266,7 +266,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -300,7 +300,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -334,7 +334,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -368,7 +368,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -410,7 +410,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -452,7 +452,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -494,7 +494,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -536,7 +536,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -578,7 +578,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -619,7 +619,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -660,7 +660,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -701,7 +701,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -743,7 +743,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -785,7 +785,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -827,7 +827,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -870,7 +870,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -911,7 +911,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -952,7 +952,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -993,7 +993,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1035,7 +1035,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1076,7 +1076,7 @@
|
||||
"transaction" : {
|
||||
"nonce" : "0",
|
||||
"gasPrice" : "1",
|
||||
"gasLimit" : "10000",
|
||||
"gasLimit" : "30000",
|
||||
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
|
||||
"value" : "100000",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
@ -52,7 +52,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "500",
|
||||
"gasLimit" : "21000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -84,7 +84,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasLimit" : "25000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -116,7 +116,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5000",
|
||||
"gasLimit" : "25000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -138,7 +138,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1101",
|
||||
"balance" : "22000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -148,12 +148,12 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "600",
|
||||
"gasLimit" : "21600",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"value" : "502"
|
||||
"value" : "5000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -170,7 +170,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "1000",
|
||||
"balance" : "22000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -180,20 +180,20 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "600",
|
||||
"gasLimit" : "21600",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"value" : "502"
|
||||
"value" : "5000"
|
||||
}
|
||||
},
|
||||
|
||||
"InternalCallHittingGasLimit" : {
|
||||
"env" : {
|
||||
"currentCoinbase" : "a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1100",
|
||||
"currentGasLimit" : "22000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -227,7 +227,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1100",
|
||||
"gasLimit" : "21100",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -240,7 +240,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1100",
|
||||
"currentGasLimit" : "21100",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -258,7 +258,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1100",
|
||||
"gasLimit" : "21100",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -271,7 +271,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "a94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1100",
|
||||
"currentGasLimit" : "21100",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -289,7 +289,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1101",
|
||||
"gasLimit" : "21101",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -302,7 +302,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -310,7 +310,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "140000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -339,7 +339,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "600",
|
||||
"gasLimit" : "130000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -352,7 +352,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "100000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -360,7 +360,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "30000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -389,7 +389,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "600",
|
||||
"gasLimit" : "21100",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -402,7 +402,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -410,7 +410,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "22000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -449,7 +449,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "700",
|
||||
"gasLimit" : "21100",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -462,7 +462,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -470,7 +470,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "500000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -514,7 +514,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "700",
|
||||
"gasLimit" : "23000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -527,7 +527,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -535,7 +535,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -544,7 +544,7 @@
|
||||
|
||||
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10",
|
||||
"code" : "{(CALL 0 0 1 0 0 0 0) (SUICIDE 0)}",
|
||||
"code" : "{(CALL 20000 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SUICIDE 0)}",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -552,7 +552,7 @@
|
||||
|
||||
"0000000000000000000000000000000000000000" : {
|
||||
"balance" : "0",
|
||||
"code" : "{(SUICIDE 1)}",
|
||||
"code" : "{(SUICIDE 0x0000000000000000000000000000000000000001)}",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -563,7 +563,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "700",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -576,7 +576,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -584,7 +584,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -592,8 +592,8 @@
|
||||
},
|
||||
|
||||
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10",
|
||||
"code" : "{(CALL 20 0 1 0 0 0 0) (SUICIDE 0)}",
|
||||
"balance" : "1000",
|
||||
"code" : "{(CALL 22000 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SUICIDE 0)}",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -601,7 +601,7 @@
|
||||
|
||||
"0000000000000000000000000000000000000000" : {
|
||||
"balance" : "0",
|
||||
"code" : "{(SUICIDE 1)}",
|
||||
"code" : "{(SUICIDE 0x0000000000000000000000000000000000000001)}",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -612,7 +612,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "700",
|
||||
"gasLimit" : "50000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -633,7 +633,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "122000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -642,7 +642,7 @@
|
||||
|
||||
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"code" : "{(SUICIDE 0) (CALL 0 2000 0 0 0 0 0) }",
|
||||
"code" : "{(SUICIDE 0) (CALL 2000 0x0000000000000000000000000000000000000000 0 0 0 0 0) }",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -650,7 +650,7 @@
|
||||
|
||||
"0000000000000000000000000000000000000000" : {
|
||||
"balance" : "1110",
|
||||
"code" : "{(SUICIDE 1)}",
|
||||
"code" : "{(SUICIDE 0x0000000000000000000000000000000000000001)}",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
}
|
||||
@ -660,7 +660,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "3700",
|
||||
"gasLimit" : "33700",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -673,7 +673,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -681,7 +681,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "122000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -700,7 +700,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1700",
|
||||
"gasLimit" : "31700",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -713,7 +713,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "10000",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -721,7 +721,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "7000",
|
||||
"balance" : "22000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -740,7 +740,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1700",
|
||||
"gasLimit" : "21700",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -771,7 +771,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "22000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -784,7 +784,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentGasLimit" : "100000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -802,7 +802,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "22000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "10",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -815,7 +815,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -833,7 +833,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x00000000000000000000112233445566778f32",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "22000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -846,7 +846,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -854,7 +854,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "3000",
|
||||
"balance" : "43000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -864,7 +864,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "5100",
|
||||
"gasLimit" : "35100",
|
||||
"gasPrice" : "0",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -877,7 +877,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentGasLimit" : "100000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -885,7 +885,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "3000",
|
||||
"balance" : "33000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -908,7 +908,7 @@
|
||||
"env" : {
|
||||
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
|
||||
"currentDifficulty" : "45678256",
|
||||
"currentGasLimit" : "1000000",
|
||||
"currentGasLimit" : "10000000",
|
||||
"currentNumber" : "0",
|
||||
"currentTimestamp" : 1,
|
||||
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
|
||||
@ -916,7 +916,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "3000",
|
||||
"balance" : "33000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -926,8 +926,8 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x3240349548983454",
|
||||
"gasLimit" : "500",
|
||||
"gasPrice" : "0",
|
||||
"gasLimit" : "32600",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
@ -999,7 +999,7 @@
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
"to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
|
||||
"value" : "900"
|
||||
"value" : ""
|
||||
}
|
||||
},
|
||||
|
||||
@ -1048,7 +1048,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "100000",
|
||||
"balance" : "1000000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -1058,7 +1058,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "1000",
|
||||
"gasLimit" : "22000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1079,7 +1079,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "132000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -1089,7 +1089,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x602280600c6000396000f30060e060020a600035048063f8a8fd6d14601457005b601a6020565b60006000f35b56",
|
||||
"gasLimit" : "882",
|
||||
"gasLimit" : "25000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1110,7 +1110,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "100000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -1120,7 +1120,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "0x602280600c6000396000f30060e060020a600035048063f8a8fd6d14601457005b601a6020565b60006000f35b56",
|
||||
"gasLimit" : "883",
|
||||
"gasLimit" : "70000",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
@ -1141,7 +1141,7 @@
|
||||
"pre" :
|
||||
{
|
||||
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
|
||||
"balance" : "10000",
|
||||
"balance" : "30000",
|
||||
"code" : "",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -1159,7 +1159,7 @@
|
||||
"transaction" :
|
||||
{
|
||||
"data" : "",
|
||||
"gasLimit" : "882",
|
||||
"gasLimit" : "21882",
|
||||
"gasPrice" : "1",
|
||||
"nonce" : "0",
|
||||
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
|
||||
|
17
state.cpp
17
state.cpp
@ -65,6 +65,7 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
|
||||
catch (Exception const& _e)
|
||||
{
|
||||
cnote << "state execution did throw an exception: " << diagnostic_information(_e);
|
||||
theState.commit();
|
||||
}
|
||||
catch (std::exception const& _e)
|
||||
{
|
||||
@ -72,7 +73,13 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
|
||||
}
|
||||
|
||||
if (_fillin)
|
||||
{
|
||||
#if ETH_FATDB
|
||||
importer.exportTest(output, theState);
|
||||
#else
|
||||
BOOST_THROW_EXCEPTION(Exception() << errinfo_comment("You can not fill tests when FATDB is switched off"));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
BOOST_REQUIRE(o.count("post") > 0);
|
||||
@ -85,6 +92,7 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
|
||||
checkLog(theState.pending().size() ? theState.log(0) : LogEntries(), importer.m_environment.sub.logs);
|
||||
|
||||
// check addresses
|
||||
#if ETH_FATDB
|
||||
auto expectedAddrs = importer.m_statePost.addresses();
|
||||
auto resultAddrs = theState.addresses();
|
||||
for (auto& expectedPair : expectedAddrs)
|
||||
@ -103,6 +111,8 @@ void doStateTests(json_spirit::mValue& v, bool _fillin)
|
||||
}
|
||||
}
|
||||
checkAddresses<map<Address, u256> >(expectedAddrs, resultAddrs);
|
||||
#endif
|
||||
BOOST_CHECK_MESSAGE(theState.rootHash() == h256(o["postStateRoot"].get_str()), "wrong post state root");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -196,16 +206,17 @@ BOOST_AUTO_TEST_CASE(stMemoryStressTest)
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stSolidityTest)
|
||||
{
|
||||
BOOST_AUTO_TEST_CASE(stSolidityTest)
|
||||
{
|
||||
dev::test::executeTests("stSolidityTest", "/StateTests", dev::test::doStateTests);
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stMemoryTest)
|
||||
{
|
||||
dev::test::executeTests("stMemoryTest", "/StateTests", dev::test::doStateTests);
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(stCreateTest)
|
||||
{
|
||||
for (int i = 1; i < boost::unit_test::framework::master_test_suite().argc; ++i)
|
||||
|
@ -20,6 +20,7 @@
|
||||
* State test functions.
|
||||
*/
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
#include <boost/filesystem/operations.hpp>
|
||||
#include <secp256k1/secp256k1.h>
|
||||
#include <libethereum/CanonBlockChain.h>
|
||||
@ -29,7 +30,21 @@ using namespace std;
|
||||
using namespace dev;
|
||||
using namespace dev::eth;
|
||||
|
||||
int stateTest()
|
||||
namespace dev
|
||||
{
|
||||
namespace test
|
||||
{
|
||||
|
||||
int stateTest();
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(StateIntegration)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Basic)
|
||||
{
|
||||
State s;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Complex)
|
||||
{
|
||||
cnote << "Testing State...";
|
||||
|
||||
@ -37,14 +52,15 @@ int stateTest()
|
||||
KeyPair myMiner = sha3("Gav's Miner");
|
||||
// KeyPair you = sha3("123");
|
||||
|
||||
Defaults::setDBPath(boost::filesystem::temp_directory_path().string());
|
||||
Defaults::setDBPath(boost::filesystem::temp_directory_path().string() + "/" + toString(chrono::system_clock::now().time_since_epoch().count()));
|
||||
|
||||
OverlayDB stateDB = State::openDB();
|
||||
CanonBlockChain bc;
|
||||
State s(myMiner.address(), stateDB);
|
||||
|
||||
cout << bc;
|
||||
|
||||
State s(myMiner.address(), stateDB);
|
||||
cout << s;
|
||||
|
||||
// Sync up - this won't do much until we use the last state.
|
||||
s.sync(bc);
|
||||
|
||||
@ -52,7 +68,7 @@ int stateTest()
|
||||
|
||||
// Mine to get some ether!
|
||||
s.commitToMine(bc);
|
||||
while (!s.mine(100).completed) {}
|
||||
while (!s.mine(100, true).completed) {}
|
||||
s.completeMine();
|
||||
bc.attemptImport(s.blockData(), stateDB);
|
||||
|
||||
@ -65,7 +81,7 @@ int stateTest()
|
||||
// Inject a transaction to transfer funds from miner to me.
|
||||
bytes tx;
|
||||
{
|
||||
Transaction t(1000, 0, 0, me.address(), bytes(), s.transactionsFrom(myMiner.address()), myMiner.secret());
|
||||
Transaction t(1000, 10000, 10000, me.address(), bytes(), s.transactionsFrom(myMiner.address()), myMiner.secret());
|
||||
assert(t.sender() == myMiner.address());
|
||||
tx = t.rlp();
|
||||
}
|
||||
@ -76,7 +92,7 @@ int stateTest()
|
||||
// Mine to get some ether and set in stone.
|
||||
s.commitToMine(bc);
|
||||
s.commitToMine(bc);
|
||||
while (!s.mine(50).completed) { s.commitToMine(bc); }
|
||||
while (!s.mine(100, true).completed) {}
|
||||
s.completeMine();
|
||||
bc.attemptImport(s.blockData(), stateDB);
|
||||
|
||||
@ -85,7 +101,9 @@ int stateTest()
|
||||
s.sync(bc);
|
||||
|
||||
cout << s;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
}
|
||||
}
|
||||
|
126
trie.cpp
126
trie.cpp
@ -50,8 +50,92 @@ static unsigned fac(unsigned _i)
|
||||
}
|
||||
}
|
||||
|
||||
using dev::operator <<;
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(TrieTests)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(fat_trie)
|
||||
{
|
||||
h256 r;
|
||||
MemoryDB fm;
|
||||
{
|
||||
FatGenericTrieDB<MemoryDB> ft(&fm);
|
||||
ft.init();
|
||||
ft.insert(h256("69", h256::FromHex, h256::AlignRight).ref(), h256("414243", h256::FromHex, h256::AlignRight).ref());
|
||||
for (auto i: ft)
|
||||
cnote << i.first << i.second;
|
||||
r = ft.root();
|
||||
}
|
||||
{
|
||||
FatGenericTrieDB<MemoryDB> ft(&fm);
|
||||
ft.setRoot(r);
|
||||
for (auto i: ft)
|
||||
cnote << i.first << i.second;
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(hex_encoded_securetrie_test)
|
||||
{
|
||||
string testPath = test::getTestPath();
|
||||
|
||||
testPath += "/TrieTests";
|
||||
|
||||
cnote << "Testing Secure Trie...";
|
||||
js::mValue v;
|
||||
string s = asString(contents(testPath + "/hex_encoded_securetrie_test.json"));
|
||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'hex_encoded_securetrie_test.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
||||
js::read_string(s, v);
|
||||
for (auto& i: v.get_obj())
|
||||
{
|
||||
cnote << i.first;
|
||||
js::mObject& o = i.second.get_obj();
|
||||
vector<pair<string, string>> ss;
|
||||
for (auto i: o["in"].get_obj())
|
||||
{
|
||||
ss.push_back(make_pair(i.first, i.second.get_str()));
|
||||
if (!ss.back().first.find("0x"))
|
||||
ss.back().first = asString(fromHex(ss.back().first.substr(2)));
|
||||
if (!ss.back().second.find("0x"))
|
||||
ss.back().second = asString(fromHex(ss.back().second.substr(2)));
|
||||
}
|
||||
for (unsigned j = 0; j < min(1000000000u, dev::test::fac((unsigned)ss.size())); ++j)
|
||||
{
|
||||
next_permutation(ss.begin(), ss.end());
|
||||
MemoryDB m;
|
||||
GenericTrieDB<MemoryDB> t(&m);
|
||||
MemoryDB hm;
|
||||
HashedGenericTrieDB<MemoryDB> ht(&hm);
|
||||
MemoryDB fm;
|
||||
FatGenericTrieDB<MemoryDB> ft(&fm);
|
||||
t.init();
|
||||
ht.init();
|
||||
ft.init();
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
for (auto const& k: ss)
|
||||
{
|
||||
t.insert(k.first, k.second);
|
||||
ht.insert(k.first, k.second);
|
||||
ft.insert(k.first, k.second);
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
for (auto i = ft.begin(), j = t.begin(); i != ft.end() && j != t.end(); ++i, ++j)
|
||||
{
|
||||
BOOST_CHECK_EQUAL(i == ft.end(), j == t.end());
|
||||
BOOST_REQUIRE((*i).first.toBytes() == (*j).first.toBytes());
|
||||
BOOST_REQUIRE((*i).second.toBytes() == (*j).second.toBytes());
|
||||
}
|
||||
BOOST_CHECK_EQUAL(ht.root(), ft.root());
|
||||
}
|
||||
BOOST_REQUIRE(!o["root"].is_null());
|
||||
BOOST_CHECK_EQUAL(o["root"].get_str(), "0x" + toHex(ht.root().asArray()));
|
||||
BOOST_CHECK_EQUAL(o["root"].get_str(), "0x" + toHex(ft.root().asArray()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(trie_test_anyorder)
|
||||
{
|
||||
string testPath = test::getTestPath();
|
||||
@ -81,15 +165,35 @@ BOOST_AUTO_TEST_CASE(trie_test_anyorder)
|
||||
next_permutation(ss.begin(), ss.end());
|
||||
MemoryDB m;
|
||||
GenericTrieDB<MemoryDB> t(&m);
|
||||
MemoryDB hm;
|
||||
HashedGenericTrieDB<MemoryDB> ht(&hm);
|
||||
MemoryDB fm;
|
||||
FatGenericTrieDB<MemoryDB> ft(&fm);
|
||||
t.init();
|
||||
ht.init();
|
||||
ft.init();
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
for (auto const& k: ss)
|
||||
{
|
||||
t.insert(k.first, k.second);
|
||||
ht.insert(k.first, k.second);
|
||||
ft.insert(k.first, k.second);
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
for (auto i = ft.begin(), j = t.begin(); i != ft.end() && j != t.end(); ++i, ++j)
|
||||
{
|
||||
BOOST_CHECK_EQUAL(i == ft.end(), j == t.end());
|
||||
BOOST_REQUIRE((*i).first.toBytes() == (*j).first.toBytes());
|
||||
BOOST_REQUIRE((*i).second.toBytes() == (*j).second.toBytes());
|
||||
}
|
||||
BOOST_CHECK_EQUAL(ht.root(), ft.root());
|
||||
}
|
||||
BOOST_REQUIRE(!o["root"].is_null());
|
||||
BOOST_CHECK_EQUAL(o["root"].get_str(), "0x" + toHex(t.root().asArray()));
|
||||
BOOST_CHECK_EQUAL(ht.root(), ft.root());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -141,15 +245,33 @@ BOOST_AUTO_TEST_CASE(trie_tests_ordered)
|
||||
|
||||
MemoryDB m;
|
||||
GenericTrieDB<MemoryDB> t(&m);
|
||||
MemoryDB hm;
|
||||
HashedGenericTrieDB<MemoryDB> ht(&hm);
|
||||
MemoryDB fm;
|
||||
FatGenericTrieDB<MemoryDB> ft(&fm);
|
||||
t.init();
|
||||
ht.init();
|
||||
ft.init();
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
|
||||
for (auto const& k: ss)
|
||||
{
|
||||
if (find(keysToBeDeleted.begin(), keysToBeDeleted.end(), k.first) != keysToBeDeleted.end() && k.second.empty())
|
||||
t.remove(k.first);
|
||||
t.remove(k.first), ht.remove(k.first), ft.remove(k.first);
|
||||
else
|
||||
t.insert(k.first, k.second);
|
||||
t.insert(k.first, k.second), ht.insert(k.first, k.second), ft.insert(k.first, k.second);
|
||||
BOOST_REQUIRE(t.check(true));
|
||||
BOOST_REQUIRE(ht.check(true));
|
||||
BOOST_REQUIRE(ft.check(true));
|
||||
for (auto i = ft.begin(), j = t.begin(); i != ft.end() && j != t.end(); ++i, ++j)
|
||||
{
|
||||
BOOST_CHECK_EQUAL(i == ft.end(), j == t.end());
|
||||
BOOST_REQUIRE((*i).first.toBytes() == (*j).first.toBytes());
|
||||
BOOST_REQUIRE((*i).second.toBytes() == (*j).second.toBytes());
|
||||
}
|
||||
BOOST_CHECK_EQUAL(ht.root(), ft.root());
|
||||
}
|
||||
|
||||
BOOST_REQUIRE(!o["root"].is_null());
|
||||
|
48
vm.cpp
48
vm.cpp
@ -533,33 +533,33 @@ BOOST_AUTO_TEST_CASE(vmPerformanceTest)
|
||||
}
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vmInputLimitsTest1)
|
||||
{
|
||||
for (int i = 1; i < boost::unit_test::framework::master_test_suite().argc; ++i)
|
||||
{
|
||||
string arg = boost::unit_test::framework::master_test_suite().argv[i];
|
||||
if (arg == "--inputlimits" || arg == "--all")
|
||||
{
|
||||
auto start = chrono::steady_clock::now();
|
||||
//BOOST_AUTO_TEST_CASE(vmInputLimitsTest1)
|
||||
//{
|
||||
// for (int i = 1; i < boost::unit_test::framework::master_test_suite().argc; ++i)
|
||||
// {
|
||||
// string arg = boost::unit_test::framework::master_test_suite().argv[i];
|
||||
// if (arg == "--inputlimits" || arg == "--all")
|
||||
// {
|
||||
// auto start = chrono::steady_clock::now();
|
||||
|
||||
dev::test::executeTests("vmInputLimitsTest1", "/VMTests", dev::test::doVMTests);
|
||||
// dev::test::executeTests("vmInputLimitsTest1", "/VMTests", dev::test::doVMTests);
|
||||
|
||||
auto end = chrono::steady_clock::now();
|
||||
auto duration(chrono::duration_cast<chrono::milliseconds>(end - start));
|
||||
cnote << "test duration: " << duration.count() << " milliseconds.\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
// auto end = chrono::steady_clock::now();
|
||||
// auto duration(chrono::duration_cast<chrono::milliseconds>(end - start));
|
||||
// cnote << "test duration: " << duration.count() << " milliseconds.\n";
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vmInputLimitsTest2)
|
||||
{
|
||||
for (int i = 1; i < boost::unit_test::framework::master_test_suite().argc; ++i)
|
||||
{
|
||||
string arg = boost::unit_test::framework::master_test_suite().argv[i];
|
||||
if (arg == "--inputlimits" || arg == "--all")
|
||||
dev::test::executeTests("vmInputLimitsTest2", "/VMTests", dev::test::doVMTests);
|
||||
}
|
||||
}
|
||||
//BOOST_AUTO_TEST_CASE(vmInputLimitsTest2)
|
||||
//{
|
||||
// for (int i = 1; i < boost::unit_test::framework::master_test_suite().argc; ++i)
|
||||
// {
|
||||
// string arg = boost::unit_test::framework::master_test_suite().argv[i];
|
||||
// if (arg == "--inputlimits" || arg == "--all")
|
||||
// dev::test::executeTests("vmInputLimitsTest2", "/VMTests", dev::test::doVMTests);
|
||||
// }
|
||||
//}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(vmRandom)
|
||||
{
|
||||
|
1
vm.h
1
vm.h
@ -52,6 +52,7 @@ public:
|
||||
|
||||
virtual u256 store(u256 _n) override { return std::get<2>(addresses[myAddress])[_n]; }
|
||||
virtual void setStore(u256 _n, u256 _v) override { std::get<2>(addresses[myAddress])[_n] = _v; }
|
||||
virtual bool exists(Address _a) override { return !!addresses.count(_a); }
|
||||
virtual u256 balance(Address _a) override { return std::get<0>(addresses[_a]); }
|
||||
virtual void subBalance(u256 _a) override { std::get<0>(addresses[myAddress]) -= _a; }
|
||||
virtual u256 txCount(Address _a) override { return std::get<1>(addresses[_a]); }
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (LT (- 0 2) 0 )}",
|
||||
"storage": {}
|
||||
@ -20,10 +20,10 @@
|
||||
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"value" : "1000000000000000000",
|
||||
"value" : "10000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "10000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (LT 0 (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -48,10 +48,10 @@
|
||||
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"value" : "1000000000000000000",
|
||||
"value" : "10000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "10000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (LT 115792089237316195423570985008687907853269984665640564039457584007913129639935 0 )}",
|
||||
"storage": {}
|
||||
@ -76,10 +76,10 @@
|
||||
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
|
||||
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"value" : "1000000000000000000",
|
||||
"value" : "10000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -95,7 +95,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (LT 0 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -108,7 +108,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] ( GT (- 0 2) 0 )}",
|
||||
"storage": {}
|
||||
@ -136,7 +136,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (GT 0 (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -164,7 +164,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -179,7 +179,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (GT 115792089237316195423570985008687907853269984665640564039457584007913129639935 0 )}",
|
||||
"storage": {}
|
||||
@ -192,7 +192,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -208,7 +208,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (GT 0 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -221,7 +221,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -236,7 +236,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SLT (- 0 2) 0 )}",
|
||||
"storage": {}
|
||||
@ -249,7 +249,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -264,7 +264,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SLT 0 (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -277,7 +277,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -292,7 +292,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SLT 115792089237316195423570985008687907853269984665640564039457584007913129639935 0 )}",
|
||||
"storage": {}
|
||||
@ -305,7 +305,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -321,7 +321,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SLT 0 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -334,7 +334,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -349,7 +349,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SLT (- 0 5) (- 0 3) )}",
|
||||
"storage": {}
|
||||
@ -362,7 +362,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -377,7 +377,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SGT (- 0 2) 0 )}",
|
||||
"storage": {}
|
||||
@ -390,7 +390,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -405,7 +405,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SGT 0 (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -418,7 +418,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -433,7 +433,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SGT 115792089237316195423570985008687907853269984665640564039457584007913129639935 0 )}",
|
||||
"storage": {}
|
||||
@ -446,7 +446,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -462,7 +462,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SGT 0 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -475,7 +475,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -490,7 +490,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SGT (- 0 5) (- 0 3) )}",
|
||||
"storage": {}
|
||||
@ -503,7 +503,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -518,7 +518,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ (- 0 5) (- 0 3) )}",
|
||||
"storage": {}
|
||||
@ -531,7 +531,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -546,7 +546,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ 0 0)}",
|
||||
"storage": {}
|
||||
@ -559,7 +559,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -574,7 +574,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ 115792089237316195423570985008687907853269984665640564039457584007913129639935 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -587,7 +587,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -602,7 +602,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ISZERO 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -615,7 +615,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -630,7 +630,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ISZERO 0 )}",
|
||||
"storage": {}
|
||||
@ -643,7 +643,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"iszeo2": {
|
||||
@ -657,7 +657,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ISZERO (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -670,7 +670,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -685,7 +685,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 2 2) }",
|
||||
"storage": {}
|
||||
@ -698,7 +698,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -713,7 +713,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 2 1) }",
|
||||
"storage": {}
|
||||
@ -726,7 +726,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -741,7 +741,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 3 1) }",
|
||||
"storage": {}
|
||||
@ -754,7 +754,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"and3": {
|
||||
@ -768,7 +768,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef) } ",
|
||||
"storage": {}
|
||||
@ -781,7 +781,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"and4": {
|
||||
@ -795,7 +795,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -808,7 +808,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -823,7 +823,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (AND 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -836,7 +836,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -851,7 +851,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 2 2) } ",
|
||||
"storage": {}
|
||||
@ -864,7 +864,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -879,7 +879,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 2 1) } ",
|
||||
"storage": {}
|
||||
@ -892,7 +892,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -907,7 +907,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 3 1) } ",
|
||||
"storage": {}
|
||||
@ -920,7 +920,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"or3": {
|
||||
@ -934,7 +934,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef) } ",
|
||||
"storage": {}
|
||||
@ -947,7 +947,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"or4": {
|
||||
@ -961,7 +961,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -974,7 +974,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -989,7 +989,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (OR 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -1002,7 +1002,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1017,7 +1017,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 2 2) } ",
|
||||
"storage": {}
|
||||
@ -1030,7 +1030,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1045,7 +1045,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 2 1) } ",
|
||||
"storage": {}
|
||||
@ -1058,7 +1058,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1073,7 +1073,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 3 1) } ",
|
||||
"storage": {}
|
||||
@ -1086,7 +1086,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"xor3": {
|
||||
@ -1100,7 +1100,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef) } ",
|
||||
"storage": {}
|
||||
@ -1113,7 +1113,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"xor4": {
|
||||
@ -1127,7 +1127,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -1140,7 +1140,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1155,7 +1155,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (XOR 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) } ",
|
||||
"storage": {}
|
||||
@ -1168,7 +1168,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1183,7 +1183,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT 0 )}",
|
||||
"storage": {}
|
||||
@ -1196,7 +1196,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1211,7 +1211,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT 2 )}",
|
||||
"storage": {}
|
||||
@ -1224,7 +1224,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1239,7 +1239,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT 115792089237316195423570985008687907853269984665640564039457584007913129639935 )}",
|
||||
"storage": {}
|
||||
@ -1252,7 +1252,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1267,7 +1267,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT (- 0 2) )}",
|
||||
"storage": {}
|
||||
@ -1280,7 +1280,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1295,7 +1295,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT (- 0 115792089237316195423570985008687907853269984665640564039457584007913129639935) )}",
|
||||
"storage": {}
|
||||
@ -1308,7 +1308,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1323,7 +1323,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NOT (- 0 0) )}",
|
||||
"storage": {}
|
||||
@ -1336,7 +1336,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1351,7 +1351,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 0) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1364,7 +1364,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"byte1": {
|
||||
@ -1378,7 +1378,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 1) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1391,7 +1391,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
"byte2": {
|
||||
@ -1405,7 +1405,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 2) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1418,7 +1418,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1433,7 +1433,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 3) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1446,7 +1446,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1461,7 +1461,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 4) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1474,7 +1474,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1489,7 +1489,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 5) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1502,7 +1502,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1518,7 +1518,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 6) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1531,7 +1531,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1546,7 +1546,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 7) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1559,7 +1559,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1575,7 +1575,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (- 31 31) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1588,7 +1588,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1603,7 +1603,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE (SDIV 31 32) 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1616,7 +1616,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1631,7 +1631,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0x8040201008040201 ) } ",
|
||||
"storage": {}
|
||||
@ -1644,7 +1644,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1659,7 +1659,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "1000000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BYTE 0 0x8040201008040201) } ",
|
||||
"storage": {}
|
||||
@ -1672,7 +1672,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 2) }",
|
||||
"storage": {}
|
||||
@ -23,7 +23,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 1) }",
|
||||
"storage": {}
|
||||
@ -51,7 +51,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 1) }",
|
||||
"storage": {}
|
||||
@ -79,7 +79,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 0) }",
|
||||
"storage": {}
|
||||
@ -107,7 +107,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 1) [[ 1 ]] (BLOCKHASH 2) [[ 2 ]] (BLOCKHASH 256) }",
|
||||
"storage": {}
|
||||
@ -135,7 +135,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -150,7 +150,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BLOCKHASH 0) [[ 1 ]] (BLOCKHASH 257) [[ 2 ]] (BLOCKHASH 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -163,7 +163,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (COINBASE) }",
|
||||
"storage": {}
|
||||
@ -191,7 +191,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -206,7 +206,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (TIMESTAMP) }",
|
||||
"storage": {}
|
||||
@ -219,7 +219,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -234,7 +234,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (NUMBER) }",
|
||||
"storage": {}
|
||||
@ -247,7 +247,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -262,7 +262,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (DIFFICULTY) }",
|
||||
"storage": {}
|
||||
@ -275,7 +275,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (GASLIMIT) }",
|
||||
"storage": {}
|
||||
@ -303,7 +303,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ADDRESS)}",
|
||||
"storage": {}
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ADDRESS)}",
|
||||
"storage": {}
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BALANCE 0xcd1722f3947def4cf144679da39c4c32bdc35681 )}",
|
||||
"storage": {}
|
||||
@ -94,7 +94,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BALANCE 0xcd1722f3947def4cf144679da39c4c32bdc35681aa )}",
|
||||
"storage": {}
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BALANCE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6aa )}",
|
||||
"storage": {}
|
||||
@ -150,7 +150,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BALANCE 0xaa0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 )}",
|
||||
"storage": {}
|
||||
@ -179,7 +179,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (BALANCE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 )}",
|
||||
"storage": {}
|
||||
@ -207,7 +207,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ (BALANCE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) (BALANCE (ADDRESS)))}",
|
||||
"storage": {}
|
||||
@ -236,7 +236,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ (BALANCE 0xcd1722f3947def4cf144679da39c4c32bdc35681) (BALANCE (CALLER)))}",
|
||||
"storage": {}
|
||||
@ -264,7 +264,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ORIGIN)}",
|
||||
"storage": {}
|
||||
@ -292,7 +292,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLER)}",
|
||||
"storage": {}
|
||||
@ -321,7 +321,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLVALUE)}",
|
||||
"storage": {}
|
||||
@ -350,7 +350,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATALOAD 0)}",
|
||||
"storage": {}
|
||||
@ -378,7 +378,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATALOAD 1)}",
|
||||
"storage": {}
|
||||
@ -406,7 +406,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATALOAD 5)}",
|
||||
"storage": {}
|
||||
@ -434,7 +434,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATALOAD 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa)}",
|
||||
"storage": {}
|
||||
@ -462,7 +462,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||
"storage": {}
|
||||
@ -490,7 +490,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||
"storage": {}
|
||||
@ -518,7 +518,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CALLDATASIZE)}",
|
||||
"storage": {}
|
||||
@ -546,7 +546,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 1 2 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -574,7 +574,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 0 0 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -602,7 +602,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa 0xff ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -630,7 +630,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa 9 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -658,7 +658,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 1 1 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -686,7 +686,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CALLDATACOPY 0 1 0 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -882,7 +882,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CODESIZE)}",
|
||||
"storage": {}
|
||||
@ -910,7 +910,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CODECOPY 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa 8 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -938,7 +938,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CODECOPY 0 0 5 ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
@ -966,7 +966,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CODECOPY 0 0 5 ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
@ -994,7 +994,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (CODECOPY 0 0 0 ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
@ -1022,7 +1022,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (GASPRICE) }",
|
||||
"storage": {}
|
||||
@ -1050,7 +1050,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EXTCODESIZE 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6aa )}",
|
||||
"storage": {}
|
||||
@ -1078,7 +1078,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EXTCODESIZE 0xaa0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 )}",
|
||||
"storage": {}
|
||||
@ -1107,13 +1107,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ (EXTCODESIZE (CALLER)) (CODESIZE) ) }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EQ (EXTCODESIZE (CALLER)) (CODESIZE) ) }",
|
||||
"storage": {}
|
||||
@ -1140,13 +1140,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (CODESIZE) }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (EXTCODESIZE (CALLER) ) }",
|
||||
"storage": {}
|
||||
@ -1174,7 +1174,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (EXTCODECOPY (ADDRESS) 0 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa 8 ) [[ 0 ]] @0}",
|
||||
"storage": {}
|
||||
@ -1202,13 +1202,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (EXTCODECOPY (CALLER) 0 0 0 ) ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] 5 }",
|
||||
"storage": {}
|
||||
@ -1237,13 +1237,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (EXTCODECOPY (CALLER) 0 0 (EXTCODESIZE (CALLER) ) ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] 5 }",
|
||||
"storage": {}
|
||||
@ -1271,13 +1271,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (EXTCODECOPY 0xaacd1722f3947def4cf144679da39c4c32bdc35681 0 0 (EXTCODESIZE (CALLER) ) ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] 5 }",
|
||||
"storage": {}
|
||||
@ -1305,13 +1305,13 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (EXTCODECOPY 0xcd1722f3947def4cf144679da39c4c32bdc35681aa 0 0 (EXTCODESIZE (CALLER) ) ) [[ 0 ]] @0 }",
|
||||
"storage": {}
|
||||
},
|
||||
"cd1722f3947def4cf144679da39c4c32bdc35681" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] 5 }",
|
||||
"storage": {}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (LOG0 0 0) }",
|
||||
"storage": {}
|
||||
@ -23,7 +23,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) }",
|
||||
"storage": {}
|
||||
@ -51,7 +51,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) (LOG0 2 16) }",
|
||||
"storage": {}
|
||||
@ -79,7 +79,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0 1) }",
|
||||
"storage": {}
|
||||
@ -107,7 +107,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 31 1) }",
|
||||
"storage": {}
|
||||
@ -136,7 +136,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -151,7 +151,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) }",
|
||||
"storage": {}
|
||||
@ -164,7 +164,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -179,7 +179,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -192,7 +192,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -207,7 +207,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0) }",
|
||||
"storage": {}
|
||||
@ -220,7 +220,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -235,7 +235,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (LOG1 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -248,7 +248,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -263,7 +263,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
|
||||
"storage": {}
|
||||
@ -276,7 +276,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -291,7 +291,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 1 0) }",
|
||||
"storage": {}
|
||||
@ -304,7 +304,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -320,7 +320,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 31 1 0) }",
|
||||
"storage": {}
|
||||
@ -333,7 +333,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -348,7 +348,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) }",
|
||||
"storage": {}
|
||||
@ -361,7 +361,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -376,7 +376,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }",
|
||||
"storage": {}
|
||||
@ -389,7 +389,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -404,7 +404,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0 0) }",
|
||||
"storage": {}
|
||||
@ -417,7 +417,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -432,7 +432,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -445,7 +445,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -460,7 +460,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG1 0 32 (CALLER)) }",
|
||||
"storage": {}
|
||||
@ -473,7 +473,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -488,7 +488,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (LOG2 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -501,7 +501,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -516,7 +516,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG2 0 32 0 0) }",
|
||||
"storage": {}
|
||||
@ -529,7 +529,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -544,7 +544,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 1 0 0) }",
|
||||
"storage": {}
|
||||
@ -557,7 +557,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -573,7 +573,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 31 1 0 0) }",
|
||||
"storage": {}
|
||||
@ -586,7 +586,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -601,7 +601,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0) }",
|
||||
"storage": {}
|
||||
@ -614,7 +614,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -629,7 +629,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0) }",
|
||||
"storage": {}
|
||||
@ -642,7 +642,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -657,7 +657,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -670,7 +670,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -685,7 +685,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -698,7 +698,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -713,7 +713,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) }",
|
||||
"storage": {}
|
||||
@ -726,7 +726,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -741,7 +741,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (LOG3 0 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -754,7 +754,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -769,7 +769,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG3 0 32 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -782,7 +782,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -797,7 +797,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 1 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -810,7 +810,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -826,7 +826,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 31 1 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -839,7 +839,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -854,7 +854,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -867,7 +867,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -882,7 +882,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -895,7 +895,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -910,7 +910,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -923,7 +923,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -938,7 +938,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -951,7 +951,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -966,7 +966,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) }",
|
||||
"storage": {}
|
||||
@ -979,7 +979,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -994,7 +994,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 (PC) (PC) (PC) ) }",
|
||||
"storage": {}
|
||||
@ -1007,7 +1007,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1022,7 +1022,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (LOG4 0 0 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1035,7 +1035,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1050,7 +1050,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG4 0 32 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1063,7 +1063,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1078,7 +1078,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 1 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1091,7 +1091,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1107,7 +1107,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 31 1 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1120,7 +1120,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1135,7 +1135,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1148,7 +1148,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1163,7 +1163,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1176,7 +1176,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1191,7 +1191,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1204,7 +1204,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1219,7 +1219,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
|
||||
"storage": {}
|
||||
@ -1232,7 +1232,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1247,7 +1247,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 0 (CALLER) ) }",
|
||||
"storage": {}
|
||||
@ -1260,7 +1260,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1275,7 +1275,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 (PC) (PC) (PC) (PC) ) }",
|
||||
"storage": {}
|
||||
@ -1288,7 +1288,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 0 0)}",
|
||||
"storage": {}
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 4 5)}",
|
||||
"storage": {}
|
||||
@ -51,7 +51,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 10 10)}",
|
||||
"storage": {}
|
||||
@ -79,7 +79,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 1000 0xfffff)}",
|
||||
"storage": {}
|
||||
@ -107,7 +107,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 0xfffffffff 100)}",
|
||||
"storage": {}
|
||||
@ -135,7 +135,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -150,7 +150,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 10000 0xfffffffff )}",
|
||||
"storage": {}
|
||||
@ -163,7 +163,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (SHA3 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)}",
|
||||
"storage": {}
|
||||
@ -191,7 +191,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0x601080600c6000396000f3006000355415600957005b60203560003555) [[ 0 ]] (CREATE 23 3 29) }",
|
||||
"storage": {}
|
||||
@ -23,7 +23,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
"value" : "100",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
"value" : "100",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -107,7 +107,7 @@
|
||||
"value" : "100",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||
"storage": {}
|
||||
@ -161,14 +161,14 @@
|
||||
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"code" : "0x4243434242434243f14555",
|
||||
"data" : "0x",
|
||||
"gas" : "10000",
|
||||
"gas" : "100000",
|
||||
"gasPrice" : "100000000000000",
|
||||
"origin" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"value" : "1000000000000000000"
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"code" : "0x4243434242434243f14555",
|
||||
"nonce" : "0",
|
||||
"storage" : {
|
||||
@ -188,7 +188,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2) }",
|
||||
"storage": {}
|
||||
@ -224,7 +224,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) (POST 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 ) }",
|
||||
"storage": {}
|
||||
@ -260,7 +260,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLSTATELESS 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2 ) }",
|
||||
"storage": {}
|
||||
@ -296,7 +296,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2 ) }",
|
||||
"storage": {}
|
||||
@ -333,7 +333,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 100 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||
"storage": {}
|
||||
@ -369,7 +369,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654321 64 64 0) }",
|
||||
"storage": {}
|
||||
@ -405,7 +405,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 9865432 64 0) }",
|
||||
"storage": {}
|
||||
@ -441,7 +441,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 1) }",
|
||||
"storage": {}
|
||||
@ -478,7 +478,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 0) }",
|
||||
"storage": {}
|
||||
@ -514,7 +514,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654 0 64 0) }",
|
||||
"storage": {}
|
||||
@ -556,7 +556,7 @@
|
||||
"storage": {}
|
||||
},
|
||||
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (CALL (- (GAS) 224) (ADDRESS) 0 0 0 0 0) } ",
|
||||
"storage": {}
|
||||
@ -668,7 +668,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (SUICIDE (CALLER))}",
|
||||
"storage": {}
|
||||
@ -704,7 +704,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (SUICIDE 0xaa1722f3947def4cf144679da39c4c32bdc35681 )}",
|
||||
"storage": {}
|
||||
@ -740,7 +740,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (SUICIDE (ADDRESS) )}",
|
||||
"storage": {}
|
||||
@ -866,7 +866,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) (POST 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 ) }",
|
||||
"storage": {}
|
||||
@ -902,7 +902,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLSTATELESS 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||
"storage": {}
|
||||
@ -938,7 +938,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (CALLCODE 1000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
|
||||
"storage": {}
|
||||
@ -974,7 +974,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "0x6000355415600957005b60203560003555",
|
||||
"storage": {}
|
||||
@ -987,7 +987,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffafffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -1002,7 +1002,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ (PC) ]] (CALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 24 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1038,7 +1038,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ (PC) ]] (CALL (- (GAS) 1000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 24 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1074,7 +1074,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (CALL (- (GAS) 1000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 1 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -1146,7 +1146,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ (PC) ]] (CALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 24 0 0 0 0) (SUICIDE 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }",
|
||||
"storage": {}
|
||||
@ -1182,7 +1182,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ [[ (PC) ]] (CALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 24 0 0 0 0) }",
|
||||
"storage": {}
|
||||
|
@ -10,7 +10,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "(suicide (caller))",
|
||||
"storage": {}
|
||||
@ -23,7 +23,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "{ (call (- (gas) 200) (caller) (+ 2 2 (* 4 4 4) (/ 2 2) (% 3 2) (- 8 2 2)) 0 0 0 0) }",
|
||||
"storage": {}
|
||||
@ -51,7 +51,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "(seq (when (and 1 1) (call (- (gas) 200) (caller) 2 0 0 0 0)) (when (and 1 0) (call (- (gas) 200) (caller) 3 0 0 0 0)) (when (and 0 1) (call (- (gas) 200) (caller) 4 0 0 0 0)) (when (and 0 0) (call (- (gas) 200) (caller) 5 0 0 0 0)) (when (or 1 1) (call (- (gas) 200) (caller) 12 0 0 0 0)) (when (or 1 0) (call (- (gas) 200) (caller) 13 0 0 0 0)) (when (or 0 1) (call (- (gas) 200) (caller) 14 0 0 0 0)) (when (or 0 0) (call (- (gas) 200) (caller) 15 0 0 0 0)) )",
|
||||
"storage": {}
|
||||
@ -79,7 +79,7 @@
|
||||
"value" : "1000000000000000000",
|
||||
"data" : "",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000"
|
||||
"gas" : "100000"
|
||||
}
|
||||
},
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
},
|
||||
"pre" : {
|
||||
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
|
||||
"balance" : "1000000000000000000",
|
||||
"balance" : "100000000000000000000000",
|
||||
"nonce" : "0",
|
||||
"code" : "(call (- (gas) 200) (caller) 500000000000000000 0 0 0 0)",
|
||||
"storage": {}
|
||||
@ -107,7 +107,7 @@
|
||||
"caller" : "cd1722f3947def4cf144679da39c4c32bdc35681",
|
||||
"value" : "1000000000000000000",
|
||||
"gasPrice" : "100000000000000",
|
||||
"gas" : "10000",
|
||||
"gas" : "100000",
|
||||
"data" : ""
|
||||
}
|
||||
}
|
||||
|
@ -437,10 +437,11 @@ class WebThreeStubClient : public jsonrpc::Client
|
||||
else
|
||||
throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString());
|
||||
}
|
||||
bool eth_submitWork(const std::string& param1) throw (jsonrpc::JsonRpcException)
|
||||
bool eth_submitWork(const std::string& param1, const std::string& param2) throw (jsonrpc::JsonRpcException)
|
||||
{
|
||||
Json::Value p;
|
||||
p.append(param1);
|
||||
p.append(param2);
|
||||
Json::Value result = this->CallMethod("eth_submitWork",p);
|
||||
if (result.isBool())
|
||||
return result.asBool();
|
||||
|
Loading…
Reference in New Issue
Block a user