Commit a3fdef75 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke

Merge pull request #1274 from Gustav-Simonsson/update_ethash_godep

Update ethash godep
parents dfd18d24 be303ba1
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
}, },
{ {
"ImportPath": "github.com/ethereum/ethash", "ImportPath": "github.com/ethereum/ethash",
"Comment": "v23.1-206-gf0e6321", "Comment": "v23.1-222-g173b8ff",
"Rev": "f0e63218b721dc2f696920a92d5de1f6364e9bf7" "Rev": "173b8ff953610c13710061e83b95b50c73d7ea50"
}, },
{ {
"ImportPath": "github.com/howeyc/fsnotify", "ImportPath": "github.com/howeyc/fsnotify",
......
...@@ -9,13 +9,6 @@ if (WIN32 AND WANT_CRYPTOPP) ...@@ -9,13 +9,6 @@ if (WIN32 AND WANT_CRYPTOPP)
endif() endif()
add_subdirectory(src/libethash) add_subdirectory(src/libethash)
# bin2h.cmake doesn't work
if (NOT OpenCL_FOUND)
find_package(OpenCL)
endif()
if (OpenCL_FOUND)
add_subdirectory(src/libethash-cl)
endif()
add_subdirectory(src/benchmark EXCLUDE_FROM_ALL) add_subdirectory(src/benchmark EXCLUDE_FROM_ALL)
add_subdirectory(test/c) add_subdirectory(test/c)
...@@ -119,6 +119,12 @@ func (l *Light) Verify(block pow.Block) bool { ...@@ -119,6 +119,12 @@ func (l *Light) Verify(block pow.Block) bool {
if !ret.success { if !ret.success {
return false return false
} }
// avoid mixdigest malleability as it's not included in a block's "hashNononce"
if block.MixDigest() != h256ToHash(ret.mix_hash) {
return false
}
// Make sure cache is live until after the C call. // Make sure cache is live until after the C call.
// This is important because a GC might happen and execute // This is important because a GC might happen and execute
// the finalizer before the call completes. // the finalizer before the call completes.
......
...@@ -39,6 +39,7 @@ var validBlocks = []*testBlock{ ...@@ -39,6 +39,7 @@ var validBlocks = []*testBlock{
hashNoNonce: common.HexToHash("372eca2454ead349c3df0ab5d00b0b706b23e49d469387db91811cee0358fc6d"), hashNoNonce: common.HexToHash("372eca2454ead349c3df0ab5d00b0b706b23e49d469387db91811cee0358fc6d"),
difficulty: big.NewInt(132416), difficulty: big.NewInt(132416),
nonce: 0x495732e0ed7a801c, nonce: 0x495732e0ed7a801c,
mixDigest: common.HexToHash("2f74cdeb198af0b9abe65d22d372e22fb2d474371774a9583c1cc427a07939f5"),
}, },
// from proof of concept nine testnet, epoch 1 // from proof of concept nine testnet, epoch 1
{ {
...@@ -46,6 +47,7 @@ var validBlocks = []*testBlock{ ...@@ -46,6 +47,7 @@ var validBlocks = []*testBlock{
hashNoNonce: common.HexToHash("7e44356ee3441623bc72a683fd3708fdf75e971bbe294f33e539eedad4b92b34"), hashNoNonce: common.HexToHash("7e44356ee3441623bc72a683fd3708fdf75e971bbe294f33e539eedad4b92b34"),
difficulty: big.NewInt(1532671), difficulty: big.NewInt(1532671),
nonce: 0x318df1c8adef7e5e, nonce: 0x318df1c8adef7e5e,
mixDigest: common.HexToHash("144b180aad09ae3c81fb07be92c8e6351b5646dda80e6844ae1b697e55ddde84"),
}, },
// from proof of concept nine testnet, epoch 2 // from proof of concept nine testnet, epoch 2
{ {
...@@ -53,6 +55,7 @@ var validBlocks = []*testBlock{ ...@@ -53,6 +55,7 @@ var validBlocks = []*testBlock{
hashNoNonce: common.HexToHash("5fc898f16035bf5ac9c6d9077ae1e3d5fc1ecc3c9fd5bee8bb00e810fdacbaa0"), hashNoNonce: common.HexToHash("5fc898f16035bf5ac9c6d9077ae1e3d5fc1ecc3c9fd5bee8bb00e810fdacbaa0"),
difficulty: big.NewInt(2467358), difficulty: big.NewInt(2467358),
nonce: 0x50377003e5d830ca, nonce: 0x50377003e5d830ca,
mixDigest: common.HexToHash("ab546a5b73c452ae86dadd36f0ed83a6745226717d3798832d1b20b489e82063"),
}, },
} }
...@@ -73,8 +76,9 @@ func TestEthashConcurrentVerify(t *testing.T) { ...@@ -73,8 +76,9 @@ func TestEthashConcurrentVerify(t *testing.T) {
defer os.RemoveAll(eth.Full.Dir) defer os.RemoveAll(eth.Full.Dir)
block := &testBlock{difficulty: big.NewInt(10)} block := &testBlock{difficulty: big.NewInt(10)}
nonce, _ := eth.Search(block, nil) nonce, md := eth.Search(block, nil)
block.nonce = nonce block.nonce = nonce
block.mixDigest = common.BytesToHash(md)
// Verify the block concurrently to check for data races. // Verify the block concurrently to check for data races.
var wg sync.WaitGroup var wg sync.WaitGroup
...@@ -98,21 +102,26 @@ func TestEthashConcurrentSearch(t *testing.T) { ...@@ -98,21 +102,26 @@ func TestEthashConcurrentSearch(t *testing.T) {
eth.Turbo(true) eth.Turbo(true)
defer os.RemoveAll(eth.Full.Dir) defer os.RemoveAll(eth.Full.Dir)
// launch n searches concurrently. type searchRes struct {
n uint64
md []byte
}
var ( var (
block = &testBlock{difficulty: big.NewInt(35000)} block = &testBlock{difficulty: big.NewInt(35000)}
nsearch = 10 nsearch = 10
wg = new(sync.WaitGroup) wg = new(sync.WaitGroup)
found = make(chan uint64) found = make(chan searchRes)
stop = make(chan struct{}) stop = make(chan struct{})
) )
rand.Read(block.hashNoNonce[:]) rand.Read(block.hashNoNonce[:])
wg.Add(nsearch) wg.Add(nsearch)
// launch n searches concurrently.
for i := 0; i < nsearch; i++ { for i := 0; i < nsearch; i++ {
go func() { go func() {
nonce, _ := eth.Search(block, stop) nonce, md := eth.Search(block, stop)
select { select {
case found <- nonce: case found <- searchRes{n: nonce, md: md}:
case <-stop: case <-stop:
} }
wg.Done() wg.Done()
...@@ -120,12 +129,14 @@ func TestEthashConcurrentSearch(t *testing.T) { ...@@ -120,12 +129,14 @@ func TestEthashConcurrentSearch(t *testing.T) {
} }
// wait for one of them to find the nonce // wait for one of them to find the nonce
nonce := <-found res := <-found
// stop the others // stop the others
close(stop) close(stop)
wg.Wait() wg.Wait()
if block.nonce = nonce; !eth.Verify(block) { block.nonce = res.n
block.mixDigest = common.BytesToHash(res.md)
if !eth.Verify(block) {
t.Error("Block could not be verified") t.Error("Block could not be verified")
} }
} }
...@@ -140,8 +151,9 @@ func TestEthashSearchAcrossEpoch(t *testing.T) { ...@@ -140,8 +151,9 @@ func TestEthashSearchAcrossEpoch(t *testing.T) {
for i := epochLength - 40; i < epochLength+40; i++ { for i := epochLength - 40; i < epochLength+40; i++ {
block := &testBlock{number: i, difficulty: big.NewInt(90)} block := &testBlock{number: i, difficulty: big.NewInt(90)}
rand.Read(block.hashNoNonce[:]) rand.Read(block.hashNoNonce[:])
nonce, _ := eth.Search(block, nil) nonce, md := eth.Search(block, nil)
block.nonce = nonce block.nonce = nonce
block.mixDigest = common.BytesToHash(md)
if !eth.Verify(block) { if !eth.Verify(block) {
t.Fatalf("Block could not be verified") t.Fatalf("Block could not be verified")
} }
......
cmake_minimum_required(VERSION 2.8)
set(LIBRARY ethash-cl)
set(CMAKE_BUILD_TYPE Release)
include(bin2h.cmake)
bin2h(SOURCE_FILE ethash_cl_miner_kernel.cl
VARIABLE_NAME ethash_cl_miner_kernel
HEADER_FILE ${CMAKE_CURRENT_BINARY_DIR}/ethash_cl_miner_kernel.h)
if (NOT MSVC)
# Initialize CXXFLAGS for c++11
set(CMAKE_CXX_FLAGS "-Wall -std=c++11")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
# Compiler-specific C++11 activation.
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
if (NOT (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7))
message(FATAL_ERROR "${PROJECT_NAME} requires g++ 4.7 or greater.")
endif ()
elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
else ()
message(FATAL_ERROR "Your C++ compiler does not support C++11.")
endif ()
endif()
set(OpenCL_FOUND TRUE)
set(OpenCL_INCLUDE_DIRS /usr/include/CL)
set(OpenCL_LIBRARIES -lOpenCL)
if (NOT OpenCL_FOUND)
find_package(OpenCL)
endif()
if (OpenCL_FOUND)
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-unknown-pragmas -Wextra -Werror -pedantic -fPIC ${CMAKE_CXX_FLAGS}")
include_directories(${OpenCL_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR})
include_directories(..)
add_library(${LIBRARY} ethash_cl_miner.cpp ethash_cl_miner.h cl.hpp)
TARGET_LINK_LIBRARIES(${LIBRARY} ${OpenCL_LIBRARIES} ethash)
endif()
# https://gist.github.com/sivachandran/3a0de157dccef822a230
include(CMakeParseArguments)
# Function to wrap a given string into multiple lines at the given column position.
# Parameters:
# VARIABLE - The name of the CMake variable holding the string.
# AT_COLUMN - The column position at which string will be wrapped.
function(WRAP_STRING)
set(oneValueArgs VARIABLE AT_COLUMN)
cmake_parse_arguments(WRAP_STRING "${options}" "${oneValueArgs}" "" ${ARGN})
string(LENGTH ${${WRAP_STRING_VARIABLE}} stringLength)
math(EXPR offset "0")
while(stringLength GREATER 0)
if(stringLength GREATER ${WRAP_STRING_AT_COLUMN})
math(EXPR length "${WRAP_STRING_AT_COLUMN}")
else()
math(EXPR length "${stringLength}")
endif()
string(SUBSTRING ${${WRAP_STRING_VARIABLE}} ${offset} ${length} line)
set(lines "${lines}\n${line}")
math(EXPR stringLength "${stringLength} - ${length}")
math(EXPR offset "${offset} + ${length}")
endwhile()
set(${WRAP_STRING_VARIABLE} "${lines}" PARENT_SCOPE)
endfunction()
# Function to embed contents of a file as byte array in C/C++ header file(.h). The header file
# will contain a byte array and integer variable holding the size of the array.
# Parameters
# SOURCE_FILE - The path of source file whose contents will be embedded in the header file.
# VARIABLE_NAME - The name of the variable for the byte array. The string "_SIZE" will be append
# to this name and will be used a variable name for size variable.
# HEADER_FILE - The path of header file.
# APPEND - If specified appends to the header file instead of overwriting it
# NULL_TERMINATE - If specified a null byte(zero) will be append to the byte array. This will be
# useful if the source file is a text file and we want to use the file contents
# as string. But the size variable holds size of the byte array without this
# null byte.
# Usage:
# bin2h(SOURCE_FILE "Logo.png" HEADER_FILE "Logo.h" VARIABLE_NAME "LOGO_PNG")
function(BIN2H)
set(options APPEND NULL_TERMINATE)
set(oneValueArgs SOURCE_FILE VARIABLE_NAME HEADER_FILE)
cmake_parse_arguments(BIN2H "${options}" "${oneValueArgs}" "" ${ARGN})
# reads source file contents as hex string
file(READ ${BIN2H_SOURCE_FILE} hexString HEX)
string(LENGTH ${hexString} hexStringLength)
# appends null byte if asked
if(BIN2H_NULL_TERMINATE)
set(hexString "${hexString}00")
endif()
# wraps the hex string into multiple lines at column 32(i.e. 16 bytes per line)
wrap_string(VARIABLE hexString AT_COLUMN 32)
math(EXPR arraySize "${hexStringLength} / 2")
# adds '0x' prefix and comma suffix before and after every byte respectively
string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1, " arrayValues ${hexString})
# removes trailing comma
string(REGEX REPLACE ", $" "" arrayValues ${arrayValues})
# converts the variable name into proper C identifier
IF (${CMAKE_VERSION} GREATER 2.8.10) # fix for legacy cmake
string(MAKE_C_IDENTIFIER "${BIN2H_VARIABLE_NAME}" BIN2H_VARIABLE_NAME)
ENDIF()
string(TOUPPER "${BIN2H_VARIABLE_NAME}" BIN2H_VARIABLE_NAME)
# declares byte array and the length variables
set(arrayDefinition "const unsigned char ${BIN2H_VARIABLE_NAME}[] = { ${arrayValues} };")
set(arraySizeDefinition "const size_t ${BIN2H_VARIABLE_NAME}_SIZE = ${arraySize};")
set(declarations "${arrayDefinition}\n\n${arraySizeDefinition}\n\n")
if(BIN2H_APPEND)
file(APPEND ${BIN2H_HEADER_FILE} "${declarations}")
else()
file(WRITE ${BIN2H_HEADER_FILE} "${declarations}")
endif()
endfunction()
#pragma once
#define __CL_ENABLE_EXCEPTIONS
#define CL_USE_DEPRECATED_OPENCL_2_0_APIS
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-parameter"
#include "cl.hpp"
#pragma clang diagnostic pop
#else
#include "cl.hpp"
#endif
#include <time.h>
#include <functional>
#include <libethash/ethash.h>
class ethash_cl_miner
{
public:
struct search_hook
{
virtual ~search_hook(); // always a virtual destructor for a class with virtuals.
// reports progress, return true to abort
virtual bool found(uint64_t const* nonces, uint32_t count) = 0;
virtual bool searched(uint64_t start_nonce, uint32_t count) = 0;
};
public:
ethash_cl_miner();
bool init(uint64_t block_number, std::function<void(void*)> _fillDAG, unsigned workgroup_size = 64, unsigned _platformId = 0, unsigned _deviceId = 0);
static std::string platform_info(unsigned _platformId = 0, unsigned _deviceId = 0);
static unsigned get_num_devices(unsigned _platformId = 0);
void finish();
void hash(uint8_t* ret, uint8_t const* header, uint64_t nonce, unsigned count);
void search(uint8_t const* header, uint64_t target, search_hook& hook);
private:
enum { c_max_search_results = 63, c_num_buffers = 2, c_hash_batch_size = 1024, c_search_batch_size = 1024*256 };
uint64_t m_fullSize;
cl::Context m_context;
cl::CommandQueue m_queue;
cl::Kernel m_hash_kernel;
cl::Kernel m_search_kernel;
cl::Buffer m_dag;
cl::Buffer m_header;
cl::Buffer m_hash_buf[c_num_buffers];
cl::Buffer m_search_buf[c_num_buffers];
unsigned m_workgroup_size;
bool m_opencl_1_1;
};
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
#include <libkern/OSByteOrder.h> #include <libkern/OSByteOrder.h>
#define ethash_swap_u32(input_) OSSwapInt32(input_) #define ethash_swap_u32(input_) OSSwapInt32(input_)
#define ethash_swap_u64(input_) OSSwapInt64(input_) #define ethash_swap_u64(input_) OSSwapInt64(input_)
#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__)
#define ethash_swap_u32(input_) bswap32(input_)
#define ethash_swap_u64(input_) bswap64(input_)
#else // posix #else // posix
#include <byteswap.h> #include <byteswap.h>
#define ethash_swap_u32(input_) __bswap_32(input_) #define ethash_swap_u32(input_) __bswap_32(input_)
......
...@@ -364,6 +364,7 @@ static bool ethash_mmap(struct ethash_full* ret, FILE* f) ...@@ -364,6 +364,7 @@ static bool ethash_mmap(struct ethash_full* ret, FILE* f)
{ {
int fd; int fd;
char* mmapped_data; char* mmapped_data;
errno = 0;
ret->file = f; ret->file = f;
if ((fd = ethash_fileno(ret->file)) == -1) { if ((fd = ethash_fileno(ret->file)) == -1) {
return false; return false;
...@@ -400,38 +401,48 @@ ethash_full_t ethash_full_new_internal( ...@@ -400,38 +401,48 @@ ethash_full_t ethash_full_new_internal(
ret->file_size = (size_t)full_size; ret->file_size = (size_t)full_size;
switch (ethash_io_prepare(dirname, seed_hash, &f, (size_t)full_size, false)) { switch (ethash_io_prepare(dirname, seed_hash, &f, (size_t)full_size, false)) {
case ETHASH_IO_FAIL: case ETHASH_IO_FAIL:
// ethash_io_prepare will do all ETHASH_CRITICAL() logging in fail case
goto fail_free_full; goto fail_free_full;
case ETHASH_IO_MEMO_MATCH: case ETHASH_IO_MEMO_MATCH:
if (!ethash_mmap(ret, f)) { if (!ethash_mmap(ret, f)) {
ETHASH_CRITICAL("mmap failure()");
goto fail_close_file; goto fail_close_file;
} }
return ret; return ret;
case ETHASH_IO_MEMO_SIZE_MISMATCH: case ETHASH_IO_MEMO_SIZE_MISMATCH:
// if a DAG of same filename but unexpected size is found, silently force new file creation // if a DAG of same filename but unexpected size is found, silently force new file creation
if (ethash_io_prepare(dirname, seed_hash, &f, (size_t)full_size, true) != ETHASH_IO_MEMO_MISMATCH) { if (ethash_io_prepare(dirname, seed_hash, &f, (size_t)full_size, true) != ETHASH_IO_MEMO_MISMATCH) {
ETHASH_CRITICAL("Could not recreate DAG file after finding existing DAG with unexpected size.");
goto fail_free_full; goto fail_free_full;
} }
// fallthrough to the mismatch case here, DO NOT go through match // fallthrough to the mismatch case here, DO NOT go through match
case ETHASH_IO_MEMO_MISMATCH: case ETHASH_IO_MEMO_MISMATCH:
if (!ethash_mmap(ret, f)) { if (!ethash_mmap(ret, f)) {
ETHASH_CRITICAL("mmap failure()");
goto fail_close_file; goto fail_close_file;
} }
break; break;
} }
if (!ethash_compute_full_data(ret->data, full_size, light, callback)) { if (!ethash_compute_full_data(ret->data, full_size, light, callback)) {
ETHASH_CRITICAL("Failure at computing DAG data.");
goto fail_free_full_data; goto fail_free_full_data;
} }
// after the DAG has been filled then we finalize it by writting the magic number at the beginning // after the DAG has been filled then we finalize it by writting the magic number at the beginning
if (fseek(f, 0, SEEK_SET) != 0) { if (fseek(f, 0, SEEK_SET) != 0) {
ETHASH_CRITICAL("Could not seek to DAG file start to write magic number.");
goto fail_free_full_data; goto fail_free_full_data;
} }
uint64_t const magic_num = ETHASH_DAG_MAGIC_NUM; uint64_t const magic_num = ETHASH_DAG_MAGIC_NUM;
if (fwrite(&magic_num, ETHASH_DAG_MAGIC_NUM_SIZE, 1, f) != 1) { if (fwrite(&magic_num, ETHASH_DAG_MAGIC_NUM_SIZE, 1, f) != 1) {
ETHASH_CRITICAL("Could not write magic number to DAG's beginning.");
goto fail_free_full_data;
}
if (fflush(f) != 0) {// make sure the magic number IS there
ETHASH_CRITICAL("Could not flush memory mapped data to DAG file. Insufficient space?");
goto fail_free_full_data; goto fail_free_full_data;
} }
fflush(f); // make sure the magic number IS there
return ret; return ret;
fail_free_full_data: fail_free_full_data:
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include "io.h" #include "io.h"
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include <errno.h>
enum ethash_io_rc ethash_io_prepare( enum ethash_io_rc ethash_io_prepare(
char const* dirname, char const* dirname,
...@@ -32,15 +33,19 @@ enum ethash_io_rc ethash_io_prepare( ...@@ -32,15 +33,19 @@ enum ethash_io_rc ethash_io_prepare(
{ {
char mutable_name[DAG_MUTABLE_NAME_MAX_SIZE]; char mutable_name[DAG_MUTABLE_NAME_MAX_SIZE];
enum ethash_io_rc ret = ETHASH_IO_FAIL; enum ethash_io_rc ret = ETHASH_IO_FAIL;
// reset errno before io calls
errno = 0;
// assert directory exists // assert directory exists
if (!ethash_mkdir(dirname)) { if (!ethash_mkdir(dirname)) {
ETHASH_CRITICAL("Could not create the ethash directory");
goto end; goto end;
} }
ethash_io_mutable_name(ETHASH_REVISION, &seedhash, mutable_name); ethash_io_mutable_name(ETHASH_REVISION, &seedhash, mutable_name);
char* tmpfile = ethash_io_create_filename(dirname, mutable_name, strlen(mutable_name)); char* tmpfile = ethash_io_create_filename(dirname, mutable_name, strlen(mutable_name));
if (!tmpfile) { if (!tmpfile) {
ETHASH_CRITICAL("Could not create the full DAG pathname");
goto end; goto end;
} }
...@@ -52,6 +57,7 @@ enum ethash_io_rc ethash_io_prepare( ...@@ -52,6 +57,7 @@ enum ethash_io_rc ethash_io_prepare(
size_t found_size; size_t found_size;
if (!ethash_file_size(f, &found_size)) { if (!ethash_file_size(f, &found_size)) {
fclose(f); fclose(f);
ETHASH_CRITICAL("Could not query size of DAG file: \"%s\"", tmpfile);
goto free_memo; goto free_memo;
} }
if (file_size != found_size - ETHASH_DAG_MAGIC_NUM_SIZE) { if (file_size != found_size - ETHASH_DAG_MAGIC_NUM_SIZE) {
...@@ -64,6 +70,7 @@ enum ethash_io_rc ethash_io_prepare( ...@@ -64,6 +70,7 @@ enum ethash_io_rc ethash_io_prepare(
if (fread(&magic_num, ETHASH_DAG_MAGIC_NUM_SIZE, 1, f) != 1) { if (fread(&magic_num, ETHASH_DAG_MAGIC_NUM_SIZE, 1, f) != 1) {
// I/O error // I/O error
fclose(f); fclose(f);
ETHASH_CRITICAL("Could not read from DAG file: \"%s\"", tmpfile);
ret = ETHASH_IO_MEMO_SIZE_MISMATCH; ret = ETHASH_IO_MEMO_SIZE_MISMATCH;
goto free_memo; goto free_memo;
} }
...@@ -80,15 +87,25 @@ enum ethash_io_rc ethash_io_prepare( ...@@ -80,15 +87,25 @@ enum ethash_io_rc ethash_io_prepare(
// file does not exist, will need to be created // file does not exist, will need to be created
f = ethash_fopen(tmpfile, "wb+"); f = ethash_fopen(tmpfile, "wb+");
if (!f) { if (!f) {
ETHASH_CRITICAL("Could not create DAG file: \"%s\"", tmpfile);
goto free_memo; goto free_memo;
} }
// make sure it's of the proper size // make sure it's of the proper size
if (fseek(f, (long int)(file_size + ETHASH_DAG_MAGIC_NUM_SIZE - 1), SEEK_SET) != 0) { if (fseek(f, (long int)(file_size + ETHASH_DAG_MAGIC_NUM_SIZE - 1), SEEK_SET) != 0) {
fclose(f); fclose(f);
ETHASH_CRITICAL("Could not seek to the end of DAG file: \"%s\". Insufficient space?", tmpfile);
goto free_memo;
}
if (fputc('\n', f) == EOF) {
fclose(f);
ETHASH_CRITICAL("Could not write in the end of DAG file: \"%s\". Insufficient space?", tmpfile);
goto free_memo;
}
if (fflush(f) != 0) {
fclose(f);
ETHASH_CRITICAL("Could not flush at end of DAG file: \"%s\". Insufficient space?", tmpfile);
goto free_memo; goto free_memo;
} }
fputc('\n', f);
fflush(f);
ret = ETHASH_IO_MEMO_MISMATCH; ret = ETHASH_IO_MEMO_MISMATCH;
goto set_file; goto set_file;
......
...@@ -54,6 +54,23 @@ enum ethash_io_rc { ...@@ -54,6 +54,23 @@ enum ethash_io_rc {
#define snprintf(...) sprintf_s(__VA_ARGS__) #define snprintf(...) sprintf_s(__VA_ARGS__)
#endif #endif
/**
* Logs a critical error in important parts of ethash. Should mostly help
* figure out what kind of problem (I/O, memory e.t.c.) causes a NULL
* ethash_full_t
*/
#ifdef ETHASH_PRINT_CRITICAL_OUTPUT
#define ETHASH_CRITICAL(...) \
do \
{ \
printf("ETHASH CRITICAL ERROR: "__VA_ARGS__); \
printf("\n"); \
fflush(stdout); \
} while (0)
#else
#define ETHASH_CRITICAL(...)
#endif
/** /**
* Prepares io for ethash * Prepares io for ethash
* *
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include <libgen.h> #include <libgen.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
#include <stdlib.h>
#include <pwd.h>
FILE* ethash_fopen(char const* file_name, char const* mode) FILE* ethash_fopen(char const* file_name, char const* mode)
{ {
...@@ -89,6 +91,13 @@ bool ethash_get_default_dirname(char* strbuf, size_t buffsize) ...@@ -89,6 +91,13 @@ bool ethash_get_default_dirname(char* strbuf, size_t buffsize)
static const char dir_suffix[] = ".ethash/"; static const char dir_suffix[] = ".ethash/";
strbuf[0] = '\0'; strbuf[0] = '\0';
char* home_dir = getenv("HOME"); char* home_dir = getenv("HOME");
if (!home_dir || strlen(home_dir) == 0)
{
struct passwd* pwd = getpwuid(getuid());
if (pwd)
home_dir = pwd->pw_dir;
}
size_t len = strlen(home_dir); size_t len = strlen(home_dir);
if (!ethash_strncat(strbuf, buffsize, home_dir, len)) { if (!ethash_strncat(strbuf, buffsize, home_dir, len)) {
return false; return false;
......
...@@ -87,9 +87,9 @@ bool ethash_file_size(FILE* f, size_t* ret_size) ...@@ -87,9 +87,9 @@ bool ethash_file_size(FILE* f, size_t* ret_size)
bool ethash_get_default_dirname(char* strbuf, size_t buffsize) bool ethash_get_default_dirname(char* strbuf, size_t buffsize)
{ {
static const char dir_suffix[] = "Appdata\\Ethash\\"; static const char dir_suffix[] = "Ethash\\";
strbuf[0] = '\0'; strbuf[0] = '\0';
if (!SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_PROFILE, NULL, 0, (WCHAR*)strbuf))) { if (!SUCCEEDED(SHGetFolderPathA(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, (CHAR*)strbuf))) {
return false; return false;
} }
if (!ethash_strncat(strbuf, buffsize, "\\", 1)) { if (!ethash_strncat(strbuf, buffsize, "\\", 1)) {
......
...@@ -292,12 +292,13 @@ BOOST_AUTO_TEST_CASE(test_ethash_io_memo_file_size_mismatch) { ...@@ -292,12 +292,13 @@ BOOST_AUTO_TEST_CASE(test_ethash_io_memo_file_size_mismatch) {
BOOST_AUTO_TEST_CASE(test_ethash_get_default_dirname) { BOOST_AUTO_TEST_CASE(test_ethash_get_default_dirname) {
char result[256]; char result[256];
// this is really not an easy thing to test for in a unit test, so yeah it does look ugly // this is really not an easy thing to test for in a unit test
// TODO: Improve this test ...
#ifdef _WIN32 #ifdef _WIN32
char homedir[256]; char homedir[256];
BOOST_REQUIRE(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_PROFILE, NULL, 0, (WCHAR*)homedir))); BOOST_REQUIRE(SUCCEEDED(SHGetFolderPathA(NULL, CSIDL_PROFILE, NULL, 0, (CHAR*)homedir)));
BOOST_REQUIRE(ethash_get_default_dirname(result, 256)); BOOST_REQUIRE(ethash_get_default_dirname(result, 256));
std::string res = std::string(homedir) + std::string("\\Appdata\\Ethash\\"); std::string res = std::string(homedir) + std::string("\\AppData\\Local\\Ethash\\");
#else #else
char* homedir = getenv("HOME"); char* homedir = getenv("HOME");
BOOST_REQUIRE(ethash_get_default_dirname(result, 256)); BOOST_REQUIRE(ethash_get_default_dirname(result, 256));
...@@ -305,7 +306,7 @@ BOOST_AUTO_TEST_CASE(test_ethash_get_default_dirname) { ...@@ -305,7 +306,7 @@ BOOST_AUTO_TEST_CASE(test_ethash_get_default_dirname) {
#endif #endif
BOOST_CHECK_MESSAGE(strcmp(res.c_str(), result) == 0, BOOST_CHECK_MESSAGE(strcmp(res.c_str(), result) == 0,
"Expected \"" + res + "\" but got \"" + std::string(result) + "\"" "Expected \"" + res + "\" but got \"" + std::string(result) + "\""
); );
} }
BOOST_AUTO_TEST_CASE(light_and_full_client_checks) { BOOST_AUTO_TEST_CASE(light_and_full_client_checks) {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"randomStatetest" : {
"env" : {
"currentCoinbase" : "a7f7c8ef9bbbcfb0f7e81c1fd46bb732fba60592",
"currentDifficulty" : "0x4b7a57082929690e",
"currentGasLimit" : "0x0b3be1fc",
"currentNumber" : "0x7ee23b32",
"currentTimestamp" : "0x588de6ec",
"previousHash" : "f3907ec3d962d22b61d2618054c8252a7fe67b65f652a7b8fcc55cfe905a1caa"
},
"logs" : [
],
"out" : "0x",
"post" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x33498455",
"code" : "0x64d552603c577e9a3805d8c55157a82b7660ef2a049cfbf79c15fa8e3261f121d213590fa3917d7d442a5e8734af2aaa4c859b452eed7860c2f7e051580427b6c3cc6d7fee617a0d64ef63e192256de5d2ea2689decfd971c7478effb06aa9e792747ce0492abde8c2f270e93d5ed0b213fed7ae59294537d4864c0e68bbe30ec5d1e6b854027862cfcbea15e8367dfaa080ee0da2b0d2ca892f5a764354370466ccddd03115ec8a7ad2e6c62c29425a45ec842fb74c369fb15a42e4b4e48b3eb70be2a0847469987980e6eaa539365a491d2366334f78f03acb177809e7525add39a234d3d2ef1cf8544a52389411ef846d3cd7f36d0d1db7f414860020171f07598cfb620e15a9681c843d60aee9fb8a4e7e37713afbf6ef9d1667513975c76f26ac35ce209b1e0a3bb7c19821368931537b4095ea42b32baf1ba596b9af5cce961ae705f8c9c5465e349633529871f64351169e7fe48ccbb866952fabbfcf40df723c564e109dbd4c9c15ee9ad625e96a5765f6f56ee0601677961da7ebad5f583f6eb6da7c8348425fe784f532f288963ccdbf9de3ac3ebc38b75a806b40e51b895c662d0bcab255a04b723f1e500517d17eb720e02f445cb046bd0fe7d2759438c79aa2dfcaef1cf57e4eb9c832f7ef449a9c32f673728f4b0dccdfa8fb1d447e2f681076ac51a98f76600a66b4692ca7e1e9c89f64cdf879cb0c625514977ebca28f2ec8bb3a092bd0c30849558fe16a4b7070cb05aec329c0286c26fff57795ce4ac7601160ea2d6656c8f2a554b43e263cc3a60e9fd0a26c0a5f7202f02888a731e84ab326610c77771f85025eb8c552943d2da5de48786015f5b8b5921d26c1e277d5a4cda5f1f77ec5f3a83e6ed6821ff025370e2fad05a0f364f58f3705c8761904d63e0f2e5bdbe2b0b1ddf82bb441c547634e8c1864737333e845ffa373c102303f727bfa14f4c445711f6f9695c36f3627df02a1fe2d7eca55faed6984000ab2a99545148bbe7369a47367bc24256acd6a3a22d5fb32434b1998297ae6b2edf08b72dc4598aa600e16707699a84e55ef611ea0e6da482f6c6e9d05d54bbb4ad06cd62622e469fbcd3e637a8f0d2ac9149b7076cce991cb5d4b4de1229e3decbcf46a3c7e46aa1fdc218d936e56f55b5a38bbd798361040e1badb1ab06adc38a723badfa07a95f78553de4df879855274a1904a31276d7938818021e69d8f5b9279478808a236deefd761df6bc151fded80bbe4ba725e7db7b9fc507f0b8121a009384c7bc4443747bd1ac9dc7682b32bec0937c7fb27ba3926acd0d67b41ba6c951788f1bb1b1168229d15cafdc63209c95df646566024013d766a01d6b8051c357243c9f464f423a2ae8efa4f9efd95777099eac9b0825d18018a5afcb6cecd9ab9a9655ae262db08a271d8adedbc3e7eb6acfd2d576ec297c09c4bd47a80dacd2b123e4e4e6232ef6d70acb10f2f44a62bbcef65a72576506ea119b051880b515f4414920badcd6f726c04e821516f6123c9c52f29e19bfe0fb10fab76536535cc0e01115c83369d4083db2d669654c2fe8c00e37bd78f663a2ce2425d2ce358e213d6c601208bb644fa656678de7633147fbd152c2ae682dec269245f07ba3c79f4e6e1978d40f42a494d44eba128b9d0228d637900cbab73455423156417fae331d26494d1ed4d06ecf206736f04292d5470d5091c48a80ba737372c35729c829af30db3625785ba0b3cfc4240d002276760f2770ead609b52db934a53063ec1c05488188fb37ce61059909b6c975c0e9401ef3b71b6d0ddae39867f3f0878bd172851a98a233fcafae289fc634c36c8b3064926d92deda3d8c5074d6a56daa511e7e693aab3d4347cebdd5b63238acdeedc3d8eb8f69ea18cb429ee8f09c26845507ba28eba916c74fd62cd9e587a8f013122d93579b6b7da091527251a4b70051be4f0f96f61e5dc4ab713c473174c7e2ebb463615b03c4787b74e8c204975399439fa553838f186ae028a47f3ccd46c5fcc46c11a36219f3ba1d34def7bee989fa61e60a2abd3652df9f8e5a1b53d9608e3bb04f5e852333d9c7d761836ef5761178bd07fde9a0ded16e1659a6c80281c259ce42e3fdbe23664ce783b58d595",
"nonce" : "0xe9",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x4ea91708",
"code" : "0x36",
"nonce" : "0x59",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x24d289465fa51769",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"postStateRoot" : "5a9d4e3d21fb0dee07e0b52772b46dff8b513f0d4fba4765c43096a97e8b088f",
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x33498455",
"code" : "0x64d552603c577e9a3805d8c55157a82b7660ef2a049cfbf79c15fa8e3261f121d213590fa3917d7d442a5e8734af2aaa4c859b452eed7860c2f7e051580427b6c3cc6d7fee617a0d64ef63e192256de5d2ea2689decfd971c7478effb06aa9e792747ce0492abde8c2f270e93d5ed0b213fed7ae59294537d4864c0e68bbe30ec5d1e6b854027862cfcbea15e8367dfaa080ee0da2b0d2ca892f5a764354370466ccddd03115ec8a7ad2e6c62c29425a45ec842fb74c369fb15a42e4b4e48b3eb70be2a0847469987980e6eaa539365a491d2366334f78f03acb177809e7525add39a234d3d2ef1cf8544a52389411ef846d3cd7f36d0d1db7f414860020171f07598cfb620e15a9681c843d60aee9fb8a4e7e37713afbf6ef9d1667513975c76f26ac35ce209b1e0a3bb7c19821368931537b4095ea42b32baf1ba596b9af5cce961ae705f8c9c5465e349633529871f64351169e7fe48ccbb866952fabbfcf40df723c564e109dbd4c9c15ee9ad625e96a5765f6f56ee0601677961da7ebad5f583f6eb6da7c8348425fe784f532f288963ccdbf9de3ac3ebc38b75a806b40e51b895c662d0bcab255a04b723f1e500517d17eb720e02f445cb046bd0fe7d2759438c79aa2dfcaef1cf57e4eb9c832f7ef449a9c32f673728f4b0dccdfa8fb1d447e2f681076ac51a98f76600a66b4692ca7e1e9c89f64cdf879cb0c625514977ebca28f2ec8bb3a092bd0c30849558fe16a4b7070cb05aec329c0286c26fff57795ce4ac7601160ea2d6656c8f2a554b43e263cc3a60e9fd0a26c0a5f7202f02888a731e84ab326610c77771f85025eb8c552943d2da5de48786015f5b8b5921d26c1e277d5a4cda5f1f77ec5f3a83e6ed6821ff025370e2fad05a0f364f58f3705c8761904d63e0f2e5bdbe2b0b1ddf82bb441c547634e8c1864737333e845ffa373c102303f727bfa14f4c445711f6f9695c36f3627df02a1fe2d7eca55faed6984000ab2a99545148bbe7369a47367bc24256acd6a3a22d5fb32434b1998297ae6b2edf08b72dc4598aa600e16707699a84e55ef611ea0e6da482f6c6e9d05d54bbb4ad06cd62622e469fbcd3e637a8f0d2ac9149b7076cce991cb5d4b4de1229e3decbcf46a3c7e46aa1fdc218d936e56f55b5a38bbd798361040e1badb1ab06adc38a723badfa07a95f78553de4df879855274a1904a31276d7938818021e69d8f5b9279478808a236deefd761df6bc151fded80bbe4ba725e7db7b9fc507f0b8121a009384c7bc4443747bd1ac9dc7682b32bec0937c7fb27ba3926acd0d67b41ba6c951788f1bb1b1168229d15cafdc63209c95df646566024013d766a01d6b8051c357243c9f464f423a2ae8efa4f9efd95777099eac9b0825d18018a5afcb6cecd9ab9a9655ae262db08a271d8adedbc3e7eb6acfd2d576ec297c09c4bd47a80dacd2b123e4e4e6232ef6d70acb10f2f44a62bbcef65a72576506ea119b051880b515f4414920badcd6f726c04e821516f6123c9c52f29e19bfe0fb10fab76536535cc0e01115c83369d4083db2d669654c2fe8c00e37bd78f663a2ce2425d2ce358e213d6c601208bb644fa656678de7633147fbd152c2ae682dec269245f07ba3c79f4e6e1978d40f42a494d44eba128b9d0228d637900cbab73455423156417fae331d26494d1ed4d06ecf206736f04292d5470d5091c48a80ba737372c35729c829af30db3625785ba0b3cfc4240d002276760f2770ead609b52db934a53063ec1c05488188fb37ce61059909b6c975c0e9401ef3b71b6d0ddae39867f3f0878bd172851a98a233fcafae289fc634c36c8b3064926d92deda3d8c5074d6a56daa511e7e693aab3d4347cebdd5b63238acdeedc3d8eb8f69ea18cb429ee8f09c26845507ba28eba916c74fd62cd9e587a8f013122d93579b6b7da091527251a4b70051be4f0f96f61e5dc4ab713c473174c7e2ebb463615b03c4787b74e8c204975399439fa553838f186ae028a47f3ccd46c5fcc46c11a36219f3ba1d34def7bee989fa61e60a2abd3652df9f8e5a1b53d9608e3bb04f5e852333d9c7d761836ef5761178bd07fde9a0ded16e1659a6c80281c259ce42e3fdbe23664ce783b58d595",
"nonce" : "0xe9",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x4ea91708",
"code" : "0x36",
"nonce" : "0x59",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x24d289465fa51769",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"transaction" : {
"data" : "0x73151af76abac2a99afe60eff5cfd8f68daf1b35e0608a690494ef4b1d043bf90e00916acf5f0332c3ef3aa972eba960aa557dc165d1a3c726953fc637fe643a60543de4159f3bc09673cd054235ddb44769fa2d6edb61b6e71feff2662043418ac9d2337bce1df4b842fbf8f07395b44bb506e8955d22a12176e2fb8e25bc546d77a6f5049a09f3126c915f14979d8c7c0cf88425567c6b8a6865b78e6d76208a641cb0d0651a758d9afdd5e36b2dcf740a8a1e2b19ebb0bc8ad6ac032577f3b5d483e40d0c9a40aaf32cebc478c0962e1ac5f6c648f47665f0850054ab4caab6eca1a24242087387c96452ad72e76a42a175db6c69a2d8cbcd70759249b040a797894765385557e947875851cfe9734edc8b613cbb6bf40b41b762fa3bcbc6b59ecc66971fef9e8ed16d691702b224f0e2f8ad12577a943401f57334d3207b884a40ed472960f03e4cab61c98268b5a73b6372ab45a7a4",
"gasLimit" : "0x738409f3",
"gasPrice" : "0x1d",
"nonce" : "0x00",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0x7f3e3a6ac8834e68"
}
}
}
{
"randomStatetest" : {
"env" : {
"currentCoinbase" : "6d6e40885310545835a5b582dbc23ef026404bda",
"currentDifficulty" : "0x266dbce6",
"currentGasLimit" : "0x2b7fe66d",
"currentNumber" : "0x635fe35ae78fc1dc",
"currentTimestamp" : "0x775b1d0c",
"previousHash" : "a8228e05d900b890136bcc55628b479e172795042a90e18b673189b5f3a672fc"
},
"logs" : [
],
"out" : "0x",
"post" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x070a217c02c8f2d4",
"code" : "0x6f823a02877cef7c1afb60663009def564608c557bad2ae05769b991313726edbfa0881d9cc955b0f5154751da315696ea7ce130184b64f2507582c502d450349ff24fb8aeb2a46146687b666bd7bd0364946cb720c76d483f5afea0049251fd9793c4b0376afbb4ebcdc42fdd42edcd4b619cec787638009cea26a1abe570e3186ab790b7dc7db36e4cda2570b0847adf6e39579c7c43a4ac976cd507d493cdfaebe09936078e31c71c4665d34a4b816b8004",
"nonce" : "0x75",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x9740421ff0ff3ae3",
"code" : "0x",
"nonce" : "0x1d",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0xc1142f2b8e8eb058",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"postStateRoot" : "f95be1e4c7788641348454fd9ff7b21956f61a979e8d7f8e55cec444c5931e8c",
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x070a217c02c8f2d4",
"code" : "0x6f823a02877cef7c1afb60663009def564608c557bad2ae05769b991313726edbfa0881d9cc955b0f5154751da315696ea7ce130184b64f2507582c502d450349ff24fb8aeb2a46146687b666bd7bd0364946cb720c76d483f5afea0049251fd9793c4b0376afbb4ebcdc42fdd42edcd4b619cec787638009cea26a1abe570e3186ab790b7dc7db36e4cda2570b0847adf6e39579c7c43a4ac976cd507d493cdfaebe09936078e31c71c4665d34a4b816b8004",
"nonce" : "0x75",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x9740421ff0ff3ae3",
"code" : "0x",
"nonce" : "0x1d",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0xc1142f2b8e8eb058",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"transaction" : {
"data" : "0x64dd3e4e84676723342c1dfaf9af4ef3",
"gasLimit" : "0x4b75fb87",
"gasPrice" : "0x1c",
"nonce" : "0x00",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0x6d1dd024"
}
}
}
{
"randomStatetest" : {
"env" : {
"currentCoinbase" : "945304eb96065b2a98b57a48a06ae28d285a71b5",
"currentDifficulty" : "0x051d6a3cd647",
"currentGasLimit" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"currentNumber" : "0x00",
"currentTimestamp" : "0x01",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"logs" : [
],
"out" : "0x",
"post" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x00",
"code" : "0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba46699913755",
"nonce" : "0x00",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x52614e74",
"code" : "0x6000355415600957005b60203560003555",
"nonce" : "0x00",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x0de0b6b35502b1ba",
"code" : "0x",
"nonce" : "0x01",
"storage" : {
}
}
},
"postStateRoot" : "341d35dcd68e14ed391c23300e89fb48d60096e473e4e8b84589df12381e8d0e",
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x00",
"code" : "0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba46699913755",
"nonce" : "0x00",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0x2e",
"code" : "0x6000355415600957005b60203560003555",
"nonce" : "0x00",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x0de0b6b3a7640000",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"transaction" : {
"data" : "0x7f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57f00000000000000000000000000000000000000000000000000000000000000017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b5457f00000000000000000000000100000000000000000000000000000000000000007f000000000000000000000000945304eb96065b2a98b57a48a06ae28d285a71b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff441a35803a0ba466999137",
"gasLimit" : "0x52614e46",
"gasPrice" : "0x01",
"nonce" : "0x00",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0x377df0d4"
}
}
}
{
"randomStatetest" : {
"env" : {
"currentCoinbase" : "278a2477986e084e246f05773a2b5eacdb5dfc",
"currentDifficulty" : "0x4dd564b3cdda8bc3",
"currentGasLimit" : "0xa944edbd45fcf58f",
"currentNumber" : "0x1af631a7",
"currentTimestamp" : "0x7e5eac84",
"previousHash" : "a8bb55191478f88b4b7d9c24296b85e00bcc3c10f421f74f22796c3b803e9cc5"
},
"logs" : [
],
"out" : "0x",
"post" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x181b2eb1",
"code" : "0x795be1b1880ba0d1ff0b50d115c416fb7ac36fc9d2bea9f9e7212f75048cdab5287d75095451ab1623b6739fc0b8ca326281557c68443e5185640a16e727e1156afd6dde85dfe895f090e713f5c281b37862dfa4720b60f87ef7cbadac8540d09aed76138387554911aadac3a5a8ebdf110a8fbaf47cab627cb65114dda0080882a9bbbf030996a6bfcce67b166c10f4ae8744f4c25364bedb62f5dc62dbcf737fb65c90032ac39f5bb9a7cc2514e0d24576223d88eb1da8f2b4d662e5a15a20917589492203838bb3da4b917ca7f4db012c632664718f646a961415e56ddd89e36658376506465fec9e7d7c65884f506eb9a9385b971a7aa53f041eded63eee1ba5dfc91027a2b61c7b248926f5d5039d4c105223f40d2d2206e87ffd20ec11f679aad21087997432d0d35f8b338cbc888a01fbaa553e3e3da7bb2c5071b8366c71f9a5c374d8346f1c29425e3b84286c512965910ed7aa6a926e886ddc626b578a7ef9a2afdced2885db4f5c5953f0bebe2c4e5ce2405da32bc2579f44f7b403e5608985624501126e4143161502c97b9d2ee4f4e8a13b52715cc40d365cd8918db8143a5a8c1acf8d143264272ba8779b76d98fce1bb89d91b147eccd26106d2beb74ef5020dd29ec84",
"nonce" : "0x1d",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0xd3e4b5453acbfee3",
"code" : "0x6da51aee682e4234c81890984b0e4b7b41f0e7c796b0bd1cd5f6e5e199baac038263421acbb851aa4c4b1b9f7a9b3b743b2c7f9c4642a2b61b9a55afb602222425e3e03108bf45b97fe81d94d612bd6c5b626248a3530a35dbe19d46044e5b50a38adb316c0febaa766c129cfe93c1461f410a35bf7809701c7efde846604b5f1075effca115d6fba575f6918a83642ae3c735cf58a5a8f5322e751ce466bc92605179f08205d6bb8faaaafe6c619f0204364f0d72561e1bba35f7e0c36bcd0e092e722f150afda0c66b987179c196beec8ae01caa69bff6aaa360fff671757cf9af3eb4fbb5b10330c5e10cbd4d84da6e17dda20b75c62a75a1f959488a4c89d945f2fb0fd62797585d9285634b9dc43b72256256186abb01e4ad78e35eb2ae11a2a472dd7bcb68c0379810f5cc347f5961983375bbadb7034dc615d4933c5b824f6b44287407ef71b438b0f39fcdf17db3ddfb24284cd59458622163965146a446ea6f8bc358fff16222a8d6d00c670633fafe256c51a31675894fa42c335b5b3b239aa98776ba0fcc228b87d5d4ce61c6f77030e85b0a8fb206752d948d9116534991cc7382c04771759c38e322ba9bc4895a60521ba3541967f768231cbc7195aa6eea9ff5ae8850b1702f812f01a13af9668c25c7b46583767c240520e9a31e63589468e2a5bd94659e04cf24b6ec8fbf51497b3a5b0b690c2bdde61fc1ebd12bc2628e8f037da55113486d5da4c1b64e3f0d0a8e79724ef44b4fb9b2eaab7a80375ccd7664ba17b5ee23666fa123abf5c9b9605a6bf55f6ae19c31cbc7362c13738e367f94c076160d0aff92873f678b65431d6f74dbbe5f3f14171a11a53e3b28bb929d71f9c76837fe2f2c39f7fb30791172d462f4127e2b40307a0f69eca60bae7872f4563273a71f52dca2de3e1457e26afbf4ae2d7136d555a5fb5c3361bdcaad6797a591344890676f977e2efe6dd16f70406761701172f778eff46e615579a150c06d09d65328174574c348cecce957c470c38799e56fcc6fc765988233b27667d742612910631d0ad368645ce3bf2f3f78126e02eaf6bdca5e4410a46a311b48f9e3e18224626964b62062cc15728c",
"nonce" : "0x1d",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x09ad523585c698f7",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"postStateRoot" : "18347b54b89250d51df639c5633c7d1b1e0a552e6a1b7611896d9266936c2760",
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0x181b2eb1",
"code" : "0x795be1b1880ba0d1ff0b50d115c416fb7ac36fc9d2bea9f9e7212f75048cdab5287d75095451ab1623b6739fc0b8ca326281557c68443e5185640a16e727e1156afd6dde85dfe895f090e713f5c281b37862dfa4720b60f87ef7cbadac8540d09aed76138387554911aadac3a5a8ebdf110a8fbaf47cab627cb65114dda0080882a9bbbf030996a6bfcce67b166c10f4ae8744f4c25364bedb62f5dc62dbcf737fb65c90032ac39f5bb9a7cc2514e0d24576223d88eb1da8f2b4d662e5a15a20917589492203838bb3da4b917ca7f4db012c632664718f646a961415e56ddd89e36658376506465fec9e7d7c65884f506eb9a9385b971a7aa53f041eded63eee1ba5dfc91027a2b61c7b248926f5d5039d4c105223f40d2d2206e87ffd20ec11f679aad21087997432d0d35f8b338cbc888a01fbaa553e3e3da7bb2c5071b8366c71f9a5c374d8346f1c29425e3b84286c512965910ed7aa6a926e886ddc626b578a7ef9a2afdced2885db4f5c5953f0bebe2c4e5ce2405da32bc2579f44f7b403e5608985624501126e4143161502c97b9d2ee4f4e8a13b52715cc40d365cd8918db8143a5a8c1acf8d143264272ba8779b76d98fce1bb89d91b147eccd26106d2beb74ef5020dd29ec84",
"nonce" : "0x1d",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "0xd3e4b5453acbfee3",
"code" : "0x6da51aee682e4234c81890984b0e4b7b41f0e7c796b0bd1cd5f6e5e199baac038263421acbb851aa4c4b1b9f7a9b3b743b2c7f9c4642a2b61b9a55afb602222425e3e03108bf45b97fe81d94d612bd6c5b626248a3530a35dbe19d46044e5b50a38adb316c0febaa766c129cfe93c1461f410a35bf7809701c7efde846604b5f1075effca115d6fba575f6918a83642ae3c735cf58a5a8f5322e751ce466bc92605179f08205d6bb8faaaafe6c619f0204364f0d72561e1bba35f7e0c36bcd0e092e722f150afda0c66b987179c196beec8ae01caa69bff6aaa360fff671757cf9af3eb4fbb5b10330c5e10cbd4d84da6e17dda20b75c62a75a1f959488a4c89d945f2fb0fd62797585d9285634b9dc43b72256256186abb01e4ad78e35eb2ae11a2a472dd7bcb68c0379810f5cc347f5961983375bbadb7034dc615d4933c5b824f6b44287407ef71b438b0f39fcdf17db3ddfb24284cd59458622163965146a446ea6f8bc358fff16222a8d6d00c670633fafe256c51a31675894fa42c335b5b3b239aa98776ba0fcc228b87d5d4ce61c6f77030e85b0a8fb206752d948d9116534991cc7382c04771759c38e322ba9bc4895a60521ba3541967f768231cbc7195aa6eea9ff5ae8850b1702f812f01a13af9668c25c7b46583767c240520e9a31e63589468e2a5bd94659e04cf24b6ec8fbf51497b3a5b0b690c2bdde61fc1ebd12bc2628e8f037da55113486d5da4c1b64e3f0d0a8e79724ef44b4fb9b2eaab7a80375ccd7664ba17b5ee23666fa123abf5c9b9605a6bf55f6ae19c31cbc7362c13738e367f94c076160d0aff92873f678b65431d6f74dbbe5f3f14171a11a53e3b28bb929d71f9c76837fe2f2c39f7fb30791172d462f4127e2b40307a0f69eca60bae7872f4563273a71f52dca2de3e1457e26afbf4ae2d7136d555a5fb5c3361bdcaad6797a591344890676f977e2efe6dd16f70406761701172f778eff46e615579a150c06d09d65328174574c348cecce957c470c38799e56fcc6fc765988233b27667d742612910631d0ad368645ce3bf2f3f78126e02eaf6bdca5e4410a46a311b48f9e3e18224626964b62062cc15728c",
"nonce" : "0x1d",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x09ad523585c698f7",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
}
},
"transaction" : {
"data" : "0x",
"gasLimit" : "0x555ad932",
"gasPrice" : "0x1c",
"nonce" : "0x00",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : "0x4bb3714f2cb3263d"
}
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"randomVMTest" : {
"env" : {
"currentCoinbase" : "2a19049af61869dd2c46a9ee85c6662ab9fb1458",
"currentDifficulty" : "0xa580ed81be2ef840",
"currentGasLimit" : "0xf35d3ad90aa14c5c",
"currentNumber" : "0x7ff6bd68c54c031e",
"currentTimestamp" : "0x1b3cf4b5c24c6ecf",
"previousHash" : "2e1533355813afa2f1d0e6dbbd0310aeb0cd36aa66348fff9fbd6eb34c1ecacd"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "a8333c288c297fe274ecc7edd645184521802e53",
"code" : "0x786e80ee51f42664c295675108206cc067ed31e903b915360ff073ee0fa83f70b122d692e31a01dff3593131db74886741f68e9b67c9e30b678778fe65c891605f7d59771f14031bd5d1617fc5a380fd51f9b0ff0a8e850f030c9e5ee96b717f71d0e54365e9ee8f7ab8a494864c1a837dfab57c12194fa7e8e290cb976f57b2d1ab30edee6a7eba2b1a96717b7f2ada6765fdfea367668c6496cbe2c6bc6b166bf1cc2f16edea7a5a1537764f6eb0d092088df6cbfdc38f21e2e860c857b0643746e573322425fd5ac184b3fcebef7a01478c2687636363753c221569415eef55bee95837c985faff2f8fa63413307c4997f09f3535bae3c945c9048ef4610132d22fab681421b17df4e513b08d686dafc9add05f3c1c9e67aa9026c4c80e9162671ad819b3cb577296703876d00b55f0fe0cdd0397aebbda50d8776a2ab57767cfb29342525ab07db7a61afe3be57ea76387b38358b1a4849bedd12b96ede30fbaa67f917f27857d424f9bc7ec6444384e1b51837d2cf0ad5d9f168ef78c9faf89ab3b23de8561ace07f13a599ffccc1757e625ae802fac4090ea66b1081cd5f3b6368f566b58326439d6a1f7cee083baf4e2b338bff75e0f9df9b6b93b5f4f93e603dec176ae21ed1448737367e6c599af40bc33863dcdde9be9295cafc7d5e3a64d3d48f3bd676c8a5b916a970b4f9e1ce1bfaa9beaee29c156c42d87c027e6f7e825a69ad9f470dc95be137088dff8d3e83470a79181686af7705a21af376ac9212365948ba4b9b4080584d8cb49c5644cce1f7863372787f18084708f611439d3731659377c532a5d57611a0da65876997e113a59a172b089c544743b7295cd9897c79724aca53b2dab706cf0f24978e9248c810efebbb9597e4c84dba56166966d73c50f13b52995d4b7908ef6ccd9989eeed8262326eeb52bfbfefb06f63cd8cfb753c4f7128f85c7982b7274024f44b798ececa14833a746c1f22dd0b0e8b3fac838fb740987c1229beb42cd6657be2444022629f6893d90811f9bdd579b76995d77ab8902b2fed40ca67b021adb6b19a7010a174909136ecb5f288334837d5d3ffece95aba2f4aec886247c70e771ba1bb7b61644fb1820a5920f79c2b7284d649d93aad11526383f25a66660f5c96548ff45fa370e8502ccd980f63493fde0cc1d15140e3a36f8289606c9e969b9d04176a7b9611a6ec557d1bd9ef4a2026b2a984c4059256770b602f863bcc10543f7560fb6da0984e7fa7a7d1dcf42d13106d02af71f80463d4e4644c4e550bdc865cea601ac921e9e97bf4906dd9e3513cdddb479bf49965c1c639de0c5680dbdb66f8cc2d9b6901f0ea0804d48380c901616b626db25146fd8d1849f9ae81e378ba2e768c5544bad7b8f1fa092df1e8eb2c6aa92cfddf3c309f466a165725a98cd034cb19caef9670a16730dc9f35958d087dca07f0a5e743226442de788c4f077f07d7c75ab5dd8173da4c44b9d60a452435c09689706cab8bd8c5cf5c4184cb99722ea485c07c83e1e3b5179ecbfed644e4e1c90d0165847383e380cd61b88a645a849ad91c08",
"data" : "0x6c9e88e10a667b3c988590b7e4977bfc7c6fe83e72065b12020e88681ef360d8575f9a945e16ea892aead5745552de8c2c0997f98a55b933548bf73fb90c6cefe360387fe0764cf7a3e04d8a90212bb81b487e7d9148a4cf36e968be6686d1433d4bc5a36d313c62c4c210ef894920b1fc2b126beaa7d585feb9e8a332e19d2f77e65f28d3959701e333c005e157bdeba414db2894f19876c1631b7dbde067d64a91a083ec9e376b759f9652a8b2bde23d4c31ba725fa02532b023a4c6480163b9ecdfd1f655b4386886f6a48f4f878b85dd8c656c0c808acaac60fa675643bdf5a7262a9d74889473ede78cffe05a8068de215371508e34c97b2d7fb93550c36bbd4177d74da227ee3e9098aef548287a9fcfc4333d40f87f2f326d787814cbedd3aaae8ecbabee2d4107e6a67a6942c63e788b5b8167f6958156d33952a763121e11ca7d952315ec4124944a72e93ffbeac7f958480ca7d32830c35e510bd1b9bbc567a02dc4c510e7b6e060017c483eeef66d397ed1dfea752c7fd8ceca11059d83cb81191afdef0552c06e42d722d894fa394f64e84628395eef67094b74b4439920828d63beafd6e861903c55614f20714eee5f80e19967ec73ce5d0be3eb47215bed79604303854d69c0d401b04616d6de839011812a14a3b6c8357ac86ab39062a3f13e6da2dd1e837eb2517707baac4a3e54d7bbde47b078e6f444d6cd5a5fbd26ba61ab5153e5c384",
"gas" : "0xb44b0c6ba708e0d1",
"gasPrice" : "0x1c",
"origin" : "567f2d84e28d698cb2a8de521ffe23987de1859c",
"value" : "0x601add3c"
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x37b29d44",
"code" : "0x786e80ee51f42664c295675108206cc067ed31e903b915360ff073ee0fa83f70b122d692e31a01dff3593131db74886741f68e9b67c9e30b678778fe65c891605f7d59771f14031bd5d1617fc5a380fd51f9b0ff0a8e850f030c9e5ee96b717f71d0e54365e9ee8f7ab8a494864c1a837dfab57c12194fa7e8e290cb976f57b2d1ab30edee6a7eba2b1a96717b7f2ada6765fdfea367668c6496cbe2c6bc6b166bf1cc2f16edea7a5a1537764f6eb0d092088df6cbfdc38f21e2e860c857b0643746e573322425fd5ac184b3fcebef7a01478c2687636363753c221569415eef55bee95837c985faff2f8fa63413307c4997f09f3535bae3c945c9048ef4610132d22fab681421b17df4e513b08d686dafc9add05f3c1c9e67aa9026c4c80e9162671ad819b3cb577296703876d00b55f0fe0cdd0397aebbda50d8776a2ab57767cfb29342525ab07db7a61afe3be57ea76387b38358b1a4849bedd12b96ede30fbaa67f917f27857d424f9bc7ec6444384e1b51837d2cf0ad5d9f168ef78c9faf89ab3b23de8561ace07f13a599ffccc1757e625ae802fac4090ea66b1081cd5f3b6368f566b58326439d6a1f7cee083baf4e2b338bff75e0f9df9b6b93b5f4f93e603dec176ae21ed1448737367e6c599af40bc33863dcdde9be9295cafc7d5e3a64d3d48f3bd676c8a5b916a970b4f9e1ce1bfaa9beaee29c156c42d87c027e6f7e825a69ad9f470dc95be137088dff8d3e83470a79181686af7705a21af376ac9212365948ba4b9b4080584d8cb49c5644cce1f7863372787f18084708f611439d3731659377c532a5d57611a0da65876997e113a59a172b089c544743b7295cd9897c79724aca53b2dab706cf0f24978e9248c810efebbb9597e4c84dba56166966d73c50f13b52995d4b7908ef6ccd9989eeed8262326eeb52bfbfefb06f63cd8cfb753c4f7128f85c7982b7274024f44b798ececa14833a746c1f22dd0b0e8b3fac838fb740987c1229beb42cd6657be2444022629f6893d90811f9bdd579b76995d77ab8902b2fed40ca67b021adb6b19a7010a174909136ecb5f288334837d5d3ffece95aba2f4aec886247c70e771ba1bb7b61644fb1820a5920f79c2b7284d649d93aad11526383f25a66660f5c96548ff45fa370e8502ccd980f63493fde0cc1d15140e3a36f8289606c9e969b9d04176a7b9611a6ec557d1bd9ef4a2026b2a984c4059256770b602f863bcc10543f7560fb6da0984e7fa7a7d1dcf42d13106d02af71f80463d4e4644c4e550bdc865cea601ac921e9e97bf4906dd9e3513cdddb479bf49965c1c639de0c5680dbdb66f8cc2d9b6901f0ea0804d48380c901616b626db25146fd8d1849f9ae81e378ba2e768c5544bad7b8f1fa092df1e8eb2c6aa92cfddf3c309f466a165725a98cd034cb19caef9670a16730dc9f35958d087dca07f0a5e743226442de788c4f077f07d7c75ab5dd8173da4c44b9d60a452435c09689706cab8bd8c5cf5c4184cb99722ea485c07c83e1e3b5179ecbfed644e4e1c90d0165847383e380cd61b88a645a849ad91c08",
"nonce" : "0xdf8278dd31cb2f9f",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"callcreates" : [
],
"env" : {
"currentCoinbase" : "0be8022b1ae5972ff97a26cc93a11b3c7a032051",
"currentDifficulty" : "0x03ee2ae29a756db1",
"currentGasLimit" : "0x0a2c82c727d04f35",
"currentNumber" : "0x8ae87d8b161c0815",
"currentTimestamp" : "0x3c528969",
"previousHash" : "59b8fbf3daf8e7b0b7861903ccac78df70a3597efc6a83e399df5f1ec66b3fca"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "2f957a4c7c7f0b66c79e12cccae139582a9f151a",
"code" : "0x7ef2d6d7b79440ef574194a59fed6c1c426b6af9f69da960a15643fdea890eed157e6ff60939c55c7d2888ce86eac4bd5432c79ae0ea7b8f3c9d13a9d76f29cc0b72e939c2be440936dfc4a25ce2f799f7ad3938c19065ce245402fef1547a2bc053a7b89ad18f28dc0ee57b67ec43af5f909b419b37a2bdd1ec7125cf4d08f58748cfde2aea18a0a0c6f5188f07",
"data" : "0x307b4badfcb3016a9d2b7ef4d134303d26d2e9a2abb1545e307ace7b028d7e65dcdaf6dcac4e47cd198ab2361759e480ec5b38b6a1fc076b055dbe94253261b55a683f20b0e44a6410277967a2e3f80a2b998ff66d99665ecb047566387545faa77e999478cfb57f3979453d4e7988a36dbac16de9ea674fa539b8b5f8aa197d7d2e0d1c03d02e4348a9509e5ee7e12ba09a634ea259c6266c49adae8e0177c51b5ebadea846aa62dc3491f00c8038eb7eaa172fb45f17799ea2e827c4dc525586cc26d2bfdf827a86aace51d3486097d96a6254f68771d0fafcac2feddd943074d5735d5c15805ee484347bab516727e58d4816d0b379b97ab544415fd9c53aee4e330b8806a7d77e685149446c89c4111c98df704476a33d3561a813a1f729b8cb44d395d105500763fabc3f366ce2b4daf22b376437e7514687506b80c077848f8018189676ed2d7c0394716c2a555bf5d66b3e2a121025bacec8714c1787676478d3a907796ce9f4f55f41b2d61210dbaab2c37f37854e1ce5768af80f19a370d843f0175f81629e0c4ea7e8510db964ad3b94c66224f4b286684d8a0b72d1b71ac5e7777096d55e05ed1248e018a72bc3dd22020290c8ad9fae0f5b639decb2db6393ab2f4b6e2a91b4a996844a2b3509e9ceea03026a9d4e5e230440ec3e633429946b7ea3a380537a1e7190ea161368a83aa8662f4aab43112036",
"gas" : "0x807e02307eb73db4",
"gasPrice" : "0x1d",
"origin" : "c034c75a8fbe48573a478426b124bf4b388f86f3",
"value" : "0xb6bc4cd2ce8fc6cd"
},
"gas" : "0x807e02307eb73db4",
"logs" : [
],
"out" : "0x",
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x55d1d81c",
"code" : "0x7ef2d6d7b79440ef574194a59fed6c1c426b6af9f69da960a15643fdea890eed157e6ff60939c55c7d2888ce86eac4bd5432c79ae0ea7b8f3c9d13a9d76f29cc0b72e939c2be440936dfc4a25ce2f799f7ad3938c19065ce245402fef1547a2bc053a7b89ad18f28dc0ee57b67ec43af5f909b419b37a2bdd1ec7125cf4d08f58748cfde2aea18a0a0c6f5188f07",
"nonce" : "0xa10eb3ed88a2d9d7",
"storage" : {
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x55d1d81c",
"code" : "0x7ef2d6d7b79440ef574194a59fed6c1c426b6af9f69da960a15643fdea890eed157e6ff60939c55c7d2888ce86eac4bd5432c79ae0ea7b8f3c9d13a9d76f29cc0b72e939c2be440936dfc4a25ce2f799f7ad3938c19065ce245402fef1547a2bc053a7b89ad18f28dc0ee57b67ec43af5f909b419b37a2bdd1ec7125cf4d08f58748cfde2aea18a0a0c6f5188f07",
"nonce" : "0xa10eb3ed88a2d9d7",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"env" : {
"currentCoinbase" : "0000000000000000000000000000000000000000",
"currentDifficulty" : "0x02993b26",
"currentGasLimit" : "0x5cf6486317fdb885",
"currentNumber" : "0x7d3c9c2de89b2de8",
"currentTimestamp" : "0xb841e027096ca4e2",
"previousHash" : "80a7432990555a8058fb2aeeb2c9a87c3fdcc9d8d3fd372cdb07a40fd56991e1"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "7b646fbc38356d7ef9275d8940dcfa08d73951fd",
"code" : "0x7a6bd87691782526a69d0e8b0660d2d1158903d5b7efc9636ab2ef037ab1ba18347fe3f9a4aec5538e8292a6bccc210453571f02a576eab0556980750dabe791355ade04720c6945461bab9f0146c92541b57ca9dcd1448a79a630fb6d8335571fc733b6f604dd4b9872265f940ac36ee4bb436a780b7ed4dbb81b7e9a28827f2f68b9f03392ac83d0b7e45a814a4b9decf445cac3ccffca647ff87e43453b09609968bd5936225a6196edba626e6a718769bfe5795c4a9ba98c60bb63d52beda40b7cd7ea7e766fe9c9e75bdfb2c5738dcced61111a8258dc764b53d910f7da607403718dfc6c5aa7db8b32d21fcdff0ee87721abc760616dfc91e76b77618207579a7dc31ea97c46d9cf868aaa1ccba2c76d0570c0435896a1a6a0037e82580d2af831d8a2",
"data" : "0x",
"gas" : "0x9606430e52c4d31a",
"gasPrice" : "0x1c",
"origin" : "14cb9f799b1b93210da7682ef34f28731d041637",
"value" : "0x23cb9da58e490f35"
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x496e8fc2",
"code" : "0x7a6bd87691782526a69d0e8b0660d2d1158903d5b7efc9636ab2ef037ab1ba18347fe3f9a4aec5538e8292a6bccc210453571f02a576eab0556980750dabe791355ade04720c6945461bab9f0146c92541b57ca9dcd1448a79a630fb6d8335571fc733b6f604dd4b9872265f940ac36ee4bb436a780b7ed4dbb81b7e9a28827f2f68b9f03392ac83d0b7e45a814a4b9decf445cac3ccffca647ff87e43453b09609968bd5936225a6196edba626e6a718769bfe5795c4a9ba98c60bb63d52beda40b7cd7ea7e766fe9c9e75bdfb2c5738dcced61111a8258dc764b53d910f7da607403718dfc6c5aa7db8b32d21fcdff0ee87721abc760616dfc91e76b77618207579a7dc31ea97c46d9cf868aaa1ccba2c76d0570c0435896a1a6a0037e82580d2af831d8a2",
"nonce" : "0x30a3e8694ecb08fe",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"callcreates" : [
],
"env" : {
"currentCoinbase" : "cf90bea4a39ca7a018beb203c84161b27c92813a",
"currentDifficulty" : "0xca27782e6f34fa0b",
"currentGasLimit" : "0xedb3a183d3febe2c",
"currentNumber" : "0xb17ec317aa876050",
"currentTimestamp" : "0x564ceda9b9662639",
"previousHash" : "2a778d568763caf8da3a5a243b1aa20bbd9597ee949b787d577e44243ca63136"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "a71dfcc90e7b90a0d9745c586f98f746d1e2790c",
"code" : "0x7d11f02e17bc84bc6cd96b4772835f489f3d239b32c4a66036f012569e6cfc6d893bfd55b1d2f0eada73b993708267b971033d30c37597724be6bb49508a4a5a3e5acc99c0e1599583cd2f6ddf92b6142fc8a7411082f38d19826d442a16a380c175f9f3b7a388528f6178e77a1e2c9c3fd334e06e3a5cebe5fa374cc7bacaa6b5b9183da85c4ba7799c6d52d857e4acb873d310255f995445d3cc0ac1a696fd4dec047b9eee68350e4c6f46206780eee6faa58911b17140b813f76fd4954f556e5a64beefa3cf9fc4b068a9fd4b9a927710088a9ecfbf32594a7ae942834b3da35f9bb0ddb819b7b072d8050cdba63c5d63646d87082e0c02b990064b75b33313b5d129e2ed35b666b5d09159a6d81aa66a25f47ecfef8f9b22a9be0d929ce9c5a3514689f9ae2a36b014a171191b5077b202d672c16221fe92040ce4acdaec661419675e15f9359e74613291b9bc2c7b98bac3c67fd269c467b97634e1f676d2ca314b1160325dcf51fbe6838016dc209ad3c2b7e0107d8ef1f6d0c74411a1a15cd79c237265d234a6b18dd9eae184c8fca5396ec09164643ed58dd16a7e403cd47f6cb7fdd556c7780431b7d95b5e1bcb854550f0b4a0c86129704d92737596d78b7c29f45f57f4fdf3f53b93958409036cb7fc873839a189a483fa6421035763355e3a6f7b368bad4b8f1b9f57987a46fbfe46a8047e164a3e4a9417036782ccd88560ae659217af196ba66791661ee7044ec0b579b69757e45ebc518c5bee224a4c677cd0312ad49a975c0ff992c26fa4e21409c508c3197feb40e7471e4ff67753c9cff00b0afc96489230708273084569d13930820ac42b7f901ea066121faef9c98e8039130c4eeb4212e4dab6399248b395739de01e9f7964ca5d25f8908760a37e4e4e94cbf378470a1b947f4dbf9fe1ade4e0c15697c6aafccff45520d5e82c6a95d94cea6f212e0fcc344d6ba6846f89d979e289b553aeb676160dc78e467df21bfaa6a55f89be01f726acba9a95b5e46911bb9a5aa8081ac6edb7710eaaf8e87ef307b310d0cb0666541086ee627b72021a9a3647728c2782927eec8a37449a5838f6d1d80f3d98b6e41a74ac98525dba7d24252c3020aab452947d89a671536b6696e7e41c9beeba717c9c19d850c36ff56737eb4a8669ede2dd2268f549138e6a27387bba7bb9400d59082c859d3593296f4f4f80fd24ef80144687590b839fa75876f497d02bf4dc08f675a48d9aadf4a1edd6c7265b88710c79b8d07d14dfacc61e95d2290c32f82a8d58a9b76520fe6afddaef70f797c29ad897f3f8c2bb3e40f7bf8746b48f7feaec9b9cbfb83add0a08ab742cdc4190821b074f1a443e1f4b6e9df0d1f710cb7088beaaa17c21a97965072e19898507d5fc106589fd7fbc08b46e4c75b137dafb7b509fe9a9ff018bbc05",
"data" : "0x76655643161db5cdec6073fce4e12c9913574503f154c80962cde5cf70921635bf8b0b91deec7f731db8ba0ce18b3744703af0c573d762a25ccc96ef230889018cad60b465aac2670237c568ea0592f6cecc571ed8784a6048707de2010a6356fd6315e6ad44d6a163b2ef4a45df4e7d2be19235b5ce5fbf709201c0065a713834469f80349639a69e4a6881c998614b8b65bcbb1b5b997875eb6c9625098135f3f64faa4a3895227cce74dea82aa76af8897b606c0fe048ae7fa47be9f5fa49a124451d6f5f756d0b91c2271e487e341ad48f1d2007dd3f79e7ee3159989344db2317ee0b28518aca787b056c93c5307105f36bc441a6e35147e1cc0eae204974e811ace43c6b49bd5da71b1f894442bdd18b7b476176d19a55a6f4670da12a60ea0f45c408ee7004d5fa0a37989d647e60c814547cd86623f56c7b9c9e5054a8d33e2eb547964268aeb4b6c7a5ae6a2f62dd6a7b8aabbb34492f75bf2bef79a53e76dd965c46fa6ad1ed4db321cc7232d2bed7157e4d14c6b366d2d26f4d55f8e17870576917ba17085af297fd4cfb6b26e64138cd384730d9313277054b7530c688ebcfc06ef8ad568f92d720b445cb12918c596b65796367c625eb52661d3c4c96",
"gas" : "0x439ee47c",
"gasPrice" : "0x1d",
"origin" : "71134870cb1a7f4e4235d2be6918cf43a68eec35",
"value" : "0xe74255e5d9cc1cd7"
},
"gas" : "0x439ee47c",
"logs" : [
],
"out" : "0x",
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x04667f01",
"code" : "0x7d11f02e17bc84bc6cd96b4772835f489f3d239b32c4a66036f012569e6cfc6d893bfd55b1d2f0eada73b993708267b971033d30c37597724be6bb49508a4a5a3e5acc99c0e1599583cd2f6ddf92b6142fc8a7411082f38d19826d442a16a380c175f9f3b7a388528f6178e77a1e2c9c3fd334e06e3a5cebe5fa374cc7bacaa6b5b9183da85c4ba7799c6d52d857e4acb873d310255f995445d3cc0ac1a696fd4dec047b9eee68350e4c6f46206780eee6faa58911b17140b813f76fd4954f556e5a64beefa3cf9fc4b068a9fd4b9a927710088a9ecfbf32594a7ae942834b3da35f9bb0ddb819b7b072d8050cdba63c5d63646d87082e0c02b990064b75b33313b5d129e2ed35b666b5d09159a6d81aa66a25f47ecfef8f9b22a9be0d929ce9c5a3514689f9ae2a36b014a171191b5077b202d672c16221fe92040ce4acdaec661419675e15f9359e74613291b9bc2c7b98bac3c67fd269c467b97634e1f676d2ca314b1160325dcf51fbe6838016dc209ad3c2b7e0107d8ef1f6d0c74411a1a15cd79c237265d234a6b18dd9eae184c8fca5396ec09164643ed58dd16a7e403cd47f6cb7fdd556c7780431b7d95b5e1bcb854550f0b4a0c86129704d92737596d78b7c29f45f57f4fdf3f53b93958409036cb7fc873839a189a483fa6421035763355e3a6f7b368bad4b8f1b9f57987a46fbfe46a8047e164a3e4a9417036782ccd88560ae659217af196ba66791661ee7044ec0b579b69757e45ebc518c5bee224a4c677cd0312ad49a975c0ff992c26fa4e21409c508c3197feb40e7471e4ff67753c9cff00b0afc96489230708273084569d13930820ac42b7f901ea066121faef9c98e8039130c4eeb4212e4dab6399248b395739de01e9f7964ca5d25f8908760a37e4e4e94cbf378470a1b947f4dbf9fe1ade4e0c15697c6aafccff45520d5e82c6a95d94cea6f212e0fcc344d6ba6846f89d979e289b553aeb676160dc78e467df21bfaa6a55f89be01f726acba9a95b5e46911bb9a5aa8081ac6edb7710eaaf8e87ef307b310d0cb0666541086ee627b72021a9a3647728c2782927eec8a37449a5838f6d1d80f3d98b6e41a74ac98525dba7d24252c3020aab452947d89a671536b6696e7e41c9beeba717c9c19d850c36ff56737eb4a8669ede2dd2268f549138e6a27387bba7bb9400d59082c859d3593296f4f4f80fd24ef80144687590b839fa75876f497d02bf4dc08f675a48d9aadf4a1edd6c7265b88710c79b8d07d14dfacc61e95d2290c32f82a8d58a9b76520fe6afddaef70f797c29ad897f3f8c2bb3e40f7bf8746b48f7feaec9b9cbfb83add0a08ab742cdc4190821b074f1a443e1f4b6e9df0d1f710cb7088beaaa17c21a97965072e19898507d5fc106589fd7fbc08b46e4c75b137dafb7b509fe9a9ff018bbc05",
"nonce" : "0xb75979942880750b",
"storage" : {
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x04667f01",
"code" : "0x7d11f02e17bc84bc6cd96b4772835f489f3d239b32c4a66036f012569e6cfc6d893bfd55b1d2f0eada73b993708267b971033d30c37597724be6bb49508a4a5a3e5acc99c0e1599583cd2f6ddf92b6142fc8a7411082f38d19826d442a16a380c175f9f3b7a388528f6178e77a1e2c9c3fd334e06e3a5cebe5fa374cc7bacaa6b5b9183da85c4ba7799c6d52d857e4acb873d310255f995445d3cc0ac1a696fd4dec047b9eee68350e4c6f46206780eee6faa58911b17140b813f76fd4954f556e5a64beefa3cf9fc4b068a9fd4b9a927710088a9ecfbf32594a7ae942834b3da35f9bb0ddb819b7b072d8050cdba63c5d63646d87082e0c02b990064b75b33313b5d129e2ed35b666b5d09159a6d81aa66a25f47ecfef8f9b22a9be0d929ce9c5a3514689f9ae2a36b014a171191b5077b202d672c16221fe92040ce4acdaec661419675e15f9359e74613291b9bc2c7b98bac3c67fd269c467b97634e1f676d2ca314b1160325dcf51fbe6838016dc209ad3c2b7e0107d8ef1f6d0c74411a1a15cd79c237265d234a6b18dd9eae184c8fca5396ec09164643ed58dd16a7e403cd47f6cb7fdd556c7780431b7d95b5e1bcb854550f0b4a0c86129704d92737596d78b7c29f45f57f4fdf3f53b93958409036cb7fc873839a189a483fa6421035763355e3a6f7b368bad4b8f1b9f57987a46fbfe46a8047e164a3e4a9417036782ccd88560ae659217af196ba66791661ee7044ec0b579b69757e45ebc518c5bee224a4c677cd0312ad49a975c0ff992c26fa4e21409c508c3197feb40e7471e4ff67753c9cff00b0afc96489230708273084569d13930820ac42b7f901ea066121faef9c98e8039130c4eeb4212e4dab6399248b395739de01e9f7964ca5d25f8908760a37e4e4e94cbf378470a1b947f4dbf9fe1ade4e0c15697c6aafccff45520d5e82c6a95d94cea6f212e0fcc344d6ba6846f89d979e289b553aeb676160dc78e467df21bfaa6a55f89be01f726acba9a95b5e46911bb9a5aa8081ac6edb7710eaaf8e87ef307b310d0cb0666541086ee627b72021a9a3647728c2782927eec8a37449a5838f6d1d80f3d98b6e41a74ac98525dba7d24252c3020aab452947d89a671536b6696e7e41c9beeba717c9c19d850c36ff56737eb4a8669ede2dd2268f549138e6a27387bba7bb9400d59082c859d3593296f4f4f80fd24ef80144687590b839fa75876f497d02bf4dc08f675a48d9aadf4a1edd6c7265b88710c79b8d07d14dfacc61e95d2290c32f82a8d58a9b76520fe6afddaef70f797c29ad897f3f8c2bb3e40f7bf8746b48f7feaec9b9cbfb83add0a08ab742cdc4190821b074f1a443e1f4b6e9df0d1f710cb7088beaaa17c21a97965072e19898507d5fc106589fd7fbc08b46e4c75b137dafb7b509fe9a9ff018bbc05",
"nonce" : "0xb75979942880750b",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"env" : {
"currentCoinbase" : "189f58d5ef7bdb2935f8b8a698ef219e35994fe4",
"currentDifficulty" : "0x84876928e87b41a4",
"currentGasLimit" : "0x10cae8f1",
"currentNumber" : "0x76ab7073955627fc",
"currentTimestamp" : "0x166a82ef",
"previousHash" : "d07ee68dc9a390888a872f4514886620645d13b85963f7b40dca99d85cd89788"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "56447178c6607f47e0513e4d654e2bd0ec613a19",
"code" : "0x70f5879c3a83ab5da815c1047edaa5bc22907aac3e4e9fbaeb5638b8c998b8b940675abbc89ed4c047b214f512a1601a3768d07c8d5dbfcc381cbb54745f1c0c9255866cd322f5b9af41893abe83276235517501ecf5a723d3f1fd9bdef48b5232fbfed97171029561651baa3b4bc71773148918649129910c4ca9615a93890fc144f61ab66461cee1e12576d274d5dce2cb206c05952913d7afc397cdc3180f21cf277b858c7c2bd7b821d468d08b6f03abb80fe34e6410c8781271243d3c956db1a20cd1e0e64192dca8213c150d7083ccf229cd085864fe558c6241034cf4637ac3d8f2b81ab24a90a7e93e3318b4e39f02c601b326fed43e41e02c63059b80e870c78e76f59d901014065ae7f8be5a85d210765e9a831b82164ce142b66a2628d6be7a9a8f449983b9c86c9ae88505bfd5130bcdf4c4622b69419017ce7c34a7f563c98e74cb7b55cc61aea40c4494d3e0d65f01962794ec7881784a68fb3f96217484b8aa3c1f605201742d41bc492397e3ae55706943644354df3d1f433028c1074249673a70a2a82c0a9ef15da6731f1d68239f07d20c6a1bc3ea2778f3782a6416957d38dead3c6f2dfb6cd6ed320e51eba8bca67abc2c52f258c695a517d211e86aab95d1bd3adbb69c3fe11e7e9dfdb156fad3d14a05f4e31191fa253893c607a76eda74ddaf54b8a30b0dc4745e8b5b99e822e1c593252bed47c387c232d8f7d88e9767584cabbd6bc265fd6381c9f6547cfd7305a2a371775a32c40df6356c63cfe46accbde2daf2aecc0a03f9c4a16ea895096cd7b30aaa2ac8e24406ddfb758a7db7c49c21fdbae054fda8269018c8cbd7d50c215b7abc10298e7d51509b721708edfcc9af27bcf1f788fcc5f1b52f09c56dd606f0207ac699caa577905a8a457f96a22b3152b27cb2167fec2ca36f84ecd51ca27de671a3bbfc0aed77162771828464a199c252d16ec85521bfc95709b1befcfdba70035f907244b9c945bcd6ea44f8fcfbf28f9c812e1c5f8360a6708eadfb397fe607ca8cfcfe9ed315efcaa56aa190b3c98cc1a785633b376dce0a896b89a29dab2c6e94b7d0a4a37c5bbda4e5a0f7ed1726dab8dedc5dac3d90c375133b72a8ade13819525576024e5b29db3384b30b6bd069187f8f067d1f3ec7c7862a69d2ffde50dffb6e9508b6396c315149de11b60389feb1a8745c7eee7cf11881c6bb47b8ee636c41fbc733017c491d1e7f8bb97d1d891a63262f10",
"data" : "0x61cb407df7097f4d1829d111eb0926f0528b8452e6cf31a660affb3312ff289bfcbc6da9cdea6d1042b08af8e41225a3bb7d015e50b5d293cbf1b076a13f69c09544bd8857820780113c434fbdbaf298637fde5a7e732c71b043b46d6d73d0caf302761df34706d5e32167825ea37cc3167bd7635bb887a37355a18d8c957ae9a3061b2aa3aaf472ba54fdd6ef729c5d6522ce1d4ed40ac4edd2e4eac82deec3f774a58859461a08d0604da102a898d31b83a2a37f113675ab55413eb7c8906f3c090c383f322be7a19268fe27687d30df96d44b0a570809c0dba50c3b82dd53910c3bcf05c18256d59124c6f56c39dd9b7fca08ec41e1e3dfed3079cdd42869598b7f9dd1254c4b7b2231ffeda4eec8168da157e8586c3c15dcbddd3fbcc20a88be11829e7d30086ee73a1229f1bb5938e01efd193e2fac2301c688449c3f6d8372480f543638",
"gas" : "0x21df095c",
"gasPrice" : "0x2d",
"origin" : "228611f8ccc2a3dd9a67af6a43c8bea945d20f4d",
"value" : "0x6efa52132846ee54"
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x6c80e7f0",
"code" : "0x70f5879c3a83ab5da815c1047edaa5bc22907aac3e4e9fbaeb5638b8c998b8b940675abbc89ed4c047b214f512a1601a3768d07c8d5dbfcc381cbb54745f1c0c9255866cd322f5b9af41893abe83276235517501ecf5a723d3f1fd9bdef48b5232fbfed97171029561651baa3b4bc71773148918649129910c4ca9615a93890fc144f61ab66461cee1e12576d274d5dce2cb206c05952913d7afc397cdc3180f21cf277b858c7c2bd7b821d468d08b6f03abb80fe34e6410c8781271243d3c956db1a20cd1e0e64192dca8213c150d7083ccf229cd085864fe558c6241034cf4637ac3d8f2b81ab24a90a7e93e3318b4e39f02c601b326fed43e41e02c63059b80e870c78e76f59d901014065ae7f8be5a85d210765e9a831b82164ce142b66a2628d6be7a9a8f449983b9c86c9ae88505bfd5130bcdf4c4622b69419017ce7c34a7f563c98e74cb7b55cc61aea40c4494d3e0d65f01962794ec7881784a68fb3f96217484b8aa3c1f605201742d41bc492397e3ae55706943644354df3d1f433028c1074249673a70a2a82c0a9ef15da6731f1d68239f07d20c6a1bc3ea2778f3782a6416957d38dead3c6f2dfb6cd6ed320e51eba8bca67abc2c52f258c695a517d211e86aab95d1bd3adbb69c3fe11e7e9dfdb156fad3d14a05f4e31191fa253893c607a76eda74ddaf54b8a30b0dc4745e8b5b99e822e1c593252bed47c387c232d8f7d88e9767584cabbd6bc265fd6381c9f6547cfd7305a2a371775a32c40df6356c63cfe46accbde2daf2aecc0a03f9c4a16ea895096cd7b30aaa2ac8e24406ddfb758a7db7c49c21fdbae054fda8269018c8cbd7d50c215b7abc10298e7d51509b721708edfcc9af27bcf1f788fcc5f1b52f09c56dd606f0207ac699caa577905a8a457f96a22b3152b27cb2167fec2ca36f84ecd51ca27de671a3bbfc0aed77162771828464a199c252d16ec85521bfc95709b1befcfdba70035f907244b9c945bcd6ea44f8fcfbf28f9c812e1c5f8360a6708eadfb397fe607ca8cfcfe9ed315efcaa56aa190b3c98cc1a785633b376dce0a896b89a29dab2c6e94b7d0a4a37c5bbda4e5a0f7ed1726dab8dedc5dac3d90c375133b72a8ade13819525576024e5b29db3384b30b6bd069187f8f067d1f3ec7c7862a69d2ffde50dffb6e9508b6396c315149de11b60389feb1a8745c7eee7cf11881c6bb47b8ee636c41fbc733017c491d1e7f8bb97d1d891a63262f10",
"nonce" : "0x0486acc99e8d8e01",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"env" : {
"currentCoinbase" : "440f21a735f6044e793c82153d442678cab2ce36",
"currentDifficulty" : "0x6b15fa4d",
"currentGasLimit" : "0x971ebab58cc2b443",
"currentNumber" : "0x8d5efc2e7a3c85dc",
"currentTimestamp" : "0xbec4e74640b38be4",
"previousHash" : "dc8601afcb064c13fdc1cf5a0391fc65420bd4857953c127a7a7a2cbb20a38e3"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "66bf911d91dc1ba1700804c109efc372301c98e9",
"code" : "0x6cc926325886186ecf81a653646473ac42f5c61aab60c7b73fbc4d1cb06ec4e31a1f0769fd0398a9e94e1b7b7384f079b46106f98a7b29e4dbca74d94232d4cf0e1c61617d5c732114097cdd54973f3c7d80e0761a27e6a13cbca9a468fb10e6d5ece49842d559b4556d50d24cf381b9bd6ed8cd1cba65657fe44f3bc0fdd47aa58ff410a4a76d17af486081e044ff35132cea133f30224daca0676afebf42d0e7195475e12166f3a944b314cc7957a0312d0666da67ce792b997ef05794f77ec7af6072c624c96d15de4a2a7876cc2e0a270aa5569b26c988ff7969a0a2a45856e1621a6d094178afa92792ae4530a8d0b650f2a875901554352a900184ddf606e799fea503286b9b17f41d7a3aecd3caa13b3356733593d23e4f9918a256cfc3fdbb71953b14036c9d044b487c3ca7d06b990a51497e3102b33087c80807a212ede2caa2f18bcf34a8f3d7113d7cb9872d8bc39744663a9cf57a32d2866225697e6dba301ae30546396651ca9abe615670266bc69fda17e692341a2b4adf9b1950908b",
"data" : "0x",
"gas" : "0x47d831c8",
"gasPrice" : "0x3b",
"origin" : "472101557e768143135d163cedf9c64855a0b395",
"value" : "0x2a1965380b144683"
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x2e35b7f79ae995f8",
"code" : "0x6cc926325886186ecf81a653646473ac42f5c61aab60c7b73fbc4d1cb06ec4e31a1f0769fd0398a9e94e1b7b7384f079b46106f98a7b29e4dbca74d94232d4cf0e1c61617d5c732114097cdd54973f3c7d80e0761a27e6a13cbca9a468fb10e6d5ece49842d559b4556d50d24cf381b9bd6ed8cd1cba65657fe44f3bc0fdd47aa58ff410a4a76d17af486081e044ff35132cea133f30224daca0676afebf42d0e7195475e12166f3a944b314cc7957a0312d0666da67ce792b997ef05794f77ec7af6072c624c96d15de4a2a7876cc2e0a270aa5569b26c988ff7969a0a2a45856e1621a6d094178afa92792ae4530a8d0b650f2a875901554352a900184ddf606e799fea503286b9b17f41d7a3aecd3caa13b3356733593d23e4f9918a256cfc3fdbb71953b14036c9d044b487c3ca7d06b990a51497e3102b33087c80807a212ede2caa2f18bcf34a8f3d7113d7cb9872d8bc39744663a9cf57a32d2866225697e6dba301ae30546396651ca9abe615670266bc69fda17e692341a2b4adf9b1950908b",
"nonce" : "0x7b923a23",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"callcreates" : [
],
"env" : {
"currentCoinbase" : "fa38b8ec5929d2c24aa648bccdd03a3867871620",
"currentDifficulty" : "0x3e2bdf94ca6c6349",
"currentGasLimit" : "0x0920c79d",
"currentNumber" : "0x157c9ea5",
"currentTimestamp" : "0x418566bae8925e78",
"previousHash" : "6a31eea78097b7b5ae2c76f4d678fdbf592715b352dcaa1ffb94686e303fa390"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "5968bf1b59120cb48b85cdcf1850a1765db4fcab",
"code" : "0x6d3c2e6b765b96c458393353fb22066c1dcddc92d4bfc44054134f93e1136b3dc88daaad669ed199b2d09a621f348b036be8d7782c74499d19ee65ba727218a8631b94849a2443bfcc27edf0ba784bf1780b7c76bacdbe1039bf537aea239e96b13270c335aefcb9ecc8639a62c1b67a6005077b46dac228cf1abb7c17a4b7fdc928fa3fed0dfcc672147181a91e70736a58451c96c8c181d92f768f7f74059e1d978c0f89401984d551ccc5354bf774c754e21a0c9a98c2ba4bd911a87cec3ec02a1c1b5ecaf1041792f86b4588b28752ba9949b5d1d40dab6f0d68a43f28c771ce0be37d7b8a138e4401a5579c17c6aac80507992bf774723f0db4eea2604a9df864217808f50e71aec0f1aee005d541408a6c58dc37c0b90fdd72eac1544372e1633b1ef44a63f452584d952b417d620d7e45d2b7cdbfb020ed0ee3665e368d0a747495bacd037d621e1033e37fd16479ad5a78e3e85b34b89ccff6ef949644c5b5847704fe4a87f2f3012440937cf91ac94b41a73e3181e8e25f580d5effa83439ae5679b8f0c39ea0a25d62ffc50f6d13e867bf91210417096eb058e19565707e56c1e0bc7f85a55d6b9c738f60943d67e8a9340ead3746a0d61f5cf1be9dcc4d01f2a312b17244bce171ef5d7ee012f3208af95e7c90e375649f659a2e29d7505a7a8376277aeebde83e8269425eb7bc751185f9d0aa619d3c241bb26355794418796a577a5c240a51ad751a8887140fe42a240eb9f6ba243468451ff132ab8eb8634269ef8a9923544ecdf3a8e172e2c762d9624574fee7d9d38ab1cf0d2b94a62e83707aaa40c8793b478a50e9e0581ba8692c757ebcf25a24d6f6d7b8b1f32d4d3b56e57673a3e3980a76c185e1017083a3ee466a6345f592a24fccdfe3d2816e9b0665455305f9a5c72d8f20e743e96eb1532828fc3b1e72e042f45d187a57728d81ad8fb98412ff6ffa1cce121878a8b5e6b27218bbbf90916bcb812f987df9b491b11cabcad16547417aa7fb226e4939c4b3070f37b10eb7f7accaee386db2a35ac83c0e2eea5e905097cd8f783382141a1b2e9716f0757e204458107b48bd20fa1d3f284f597e53542e9a66aec0dd8082ebc5249bfa8ec1b2a593a8d3f22f28ab4549da8a4c72cd79ec1828073916448e2d9e4ab2736f3a6baa7b5ac3804e4d6aadab16ed19a0582f7a175c1d9c505a5f145e81dc0eb4692a3534e18857bc925d88654096fca6695c7506d39ed253634790b4b7f2335cb2f81e4020ffacdd2a9f",
"data" : "0x78e3c689f5b8056f9d0dd109f4050bfb52fa5c532787dba38e1b6bf6b03d47848e896ab6a4d1356860a2a3fa34af8317d97b8cbfcb12357bd3ed72d1537a3dfa8e7e3e4183b34a4eccf8624f5a2b77205ef8085f13272ef155caa09f9aace0d91bafdb79e5b01aa36c2e6172ed576ffd47da0ae9ab717011a2495ceb915faed65af38e79447a6679557d1575ecde5c0c9874315ced476c94db0f64d904e17843afd82cf705f088a577c472a4cc29a3172a72594b7da2e712bbbb98e159897e34360576d46bfb9f2ddd458205ecd505e629f04a090bff0c36d04d35768ac97b60ae05f12b8bf2a1f84b883874bd2aace89dd0bf6834fcc23b68d7d84d207663aaafc9a3be46a23d5cdc6ce304f93486cf4453b0a24d6ba66e62d32e2ce9169193c0957e42b3e6ea2946274b01db1681a72bcdc95224a2611722fc5fe05c7f2c6619fe7285fbd79eeec55d2d98f76a2a24429d69ea6fc978be5763be77fa27f4cebab74a14afea06a916581003c65ef5e96ef647237f82761d6ad637e0e4e549087794363b04656c4746d1d91fe389ad1f2764468395c91baa827c6a9c8da1699a6365fc800db01d917e7682af4e41e95231d3db144c19e689684dbf82d0593320e7157c59216ab30a6c300329ce91b2601f6925a3404d407b529f2b685f29e70c7a745e91c4213e0e5671f0f8d9449d013febb2113887e9f55b78b79f376ab319f72d8a6c8bc85b231e64adf2a1c15065e891b1c572c976b20d4b533aa3de3a7c3e1adb18e36fd902ded6e2fa434560d470850d38beaac27fd64dc28e08c82d93301d658eb3c93790daf1",
"gas" : "0x08a436a67693cb35",
"gasPrice" : "0x1d",
"origin" : "488e0a1a60568f14ea731847716d7364750ad6c7",
"value" : "0x37ccf98d9e881ba3"
},
"gas" : "0x08a436a67693cb35",
"logs" : [
],
"out" : "0x",
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x436c0a01",
"code" : "0x6d3c2e6b765b96c458393353fb22066c1dcddc92d4bfc44054134f93e1136b3dc88daaad669ed199b2d09a621f348b036be8d7782c74499d19ee65ba727218a8631b94849a2443bfcc27edf0ba784bf1780b7c76bacdbe1039bf537aea239e96b13270c335aefcb9ecc8639a62c1b67a6005077b46dac228cf1abb7c17a4b7fdc928fa3fed0dfcc672147181a91e70736a58451c96c8c181d92f768f7f74059e1d978c0f89401984d551ccc5354bf774c754e21a0c9a98c2ba4bd911a87cec3ec02a1c1b5ecaf1041792f86b4588b28752ba9949b5d1d40dab6f0d68a43f28c771ce0be37d7b8a138e4401a5579c17c6aac80507992bf774723f0db4eea2604a9df864217808f50e71aec0f1aee005d541408a6c58dc37c0b90fdd72eac1544372e1633b1ef44a63f452584d952b417d620d7e45d2b7cdbfb020ed0ee3665e368d0a747495bacd037d621e1033e37fd16479ad5a78e3e85b34b89ccff6ef949644c5b5847704fe4a87f2f3012440937cf91ac94b41a73e3181e8e25f580d5effa83439ae5679b8f0c39ea0a25d62ffc50f6d13e867bf91210417096eb058e19565707e56c1e0bc7f85a55d6b9c738f60943d67e8a9340ead3746a0d61f5cf1be9dcc4d01f2a312b17244bce171ef5d7ee012f3208af95e7c90e375649f659a2e29d7505a7a8376277aeebde83e8269425eb7bc751185f9d0aa619d3c241bb26355794418796a577a5c240a51ad751a8887140fe42a240eb9f6ba243468451ff132ab8eb8634269ef8a9923544ecdf3a8e172e2c762d9624574fee7d9d38ab1cf0d2b94a62e83707aaa40c8793b478a50e9e0581ba8692c757ebcf25a24d6f6d7b8b1f32d4d3b56e57673a3e3980a76c185e1017083a3ee466a6345f592a24fccdfe3d2816e9b0665455305f9a5c72d8f20e743e96eb1532828fc3b1e72e042f45d187a57728d81ad8fb98412ff6ffa1cce121878a8b5e6b27218bbbf90916bcb812f987df9b491b11cabcad16547417aa7fb226e4939c4b3070f37b10eb7f7accaee386db2a35ac83c0e2eea5e905097cd8f783382141a1b2e9716f0757e204458107b48bd20fa1d3f284f597e53542e9a66aec0dd8082ebc5249bfa8ec1b2a593a8d3f22f28ab4549da8a4c72cd79ec1828073916448e2d9e4ab2736f3a6baa7b5ac3804e4d6aadab16ed19a0582f7a175c1d9c505a5f145e81dc0eb4692a3534e18857bc925d88654096fca6695c7506d39ed253634790b4b7f2335cb2f81e4020ffacdd2a9f",
"nonce" : "0x3a2068ac",
"storage" : {
"0x8376277aeebde83e8269425eb7bc751185f9d0aa619d3c241bb263" : "0x9a2e29d7505a"
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x436c0a01",
"code" : "0x6d3c2e6b765b96c458393353fb22066c1dcddc92d4bfc44054134f93e1136b3dc88daaad669ed199b2d09a621f348b036be8d7782c74499d19ee65ba727218a8631b94849a2443bfcc27edf0ba784bf1780b7c76bacdbe1039bf537aea239e96b13270c335aefcb9ecc8639a62c1b67a6005077b46dac228cf1abb7c17a4b7fdc928fa3fed0dfcc672147181a91e70736a58451c96c8c181d92f768f7f74059e1d978c0f89401984d551ccc5354bf774c754e21a0c9a98c2ba4bd911a87cec3ec02a1c1b5ecaf1041792f86b4588b28752ba9949b5d1d40dab6f0d68a43f28c771ce0be37d7b8a138e4401a5579c17c6aac80507992bf774723f0db4eea2604a9df864217808f50e71aec0f1aee005d541408a6c58dc37c0b90fdd72eac1544372e1633b1ef44a63f452584d952b417d620d7e45d2b7cdbfb020ed0ee3665e368d0a747495bacd037d621e1033e37fd16479ad5a78e3e85b34b89ccff6ef949644c5b5847704fe4a87f2f3012440937cf91ac94b41a73e3181e8e25f580d5effa83439ae5679b8f0c39ea0a25d62ffc50f6d13e867bf91210417096eb058e19565707e56c1e0bc7f85a55d6b9c738f60943d67e8a9340ead3746a0d61f5cf1be9dcc4d01f2a312b17244bce171ef5d7ee012f3208af95e7c90e375649f659a2e29d7505a7a8376277aeebde83e8269425eb7bc751185f9d0aa619d3c241bb26355794418796a577a5c240a51ad751a8887140fe42a240eb9f6ba243468451ff132ab8eb8634269ef8a9923544ecdf3a8e172e2c762d9624574fee7d9d38ab1cf0d2b94a62e83707aaa40c8793b478a50e9e0581ba8692c757ebcf25a24d6f6d7b8b1f32d4d3b56e57673a3e3980a76c185e1017083a3ee466a6345f592a24fccdfe3d2816e9b0665455305f9a5c72d8f20e743e96eb1532828fc3b1e72e042f45d187a57728d81ad8fb98412ff6ffa1cce121878a8b5e6b27218bbbf90916bcb812f987df9b491b11cabcad16547417aa7fb226e4939c4b3070f37b10eb7f7accaee386db2a35ac83c0e2eea5e905097cd8f783382141a1b2e9716f0757e204458107b48bd20fa1d3f284f597e53542e9a66aec0dd8082ebc5249bfa8ec1b2a593a8d3f22f28ab4549da8a4c72cd79ec1828073916448e2d9e4ab2736f3a6baa7b5ac3804e4d6aadab16ed19a0582f7a175c1d9c505a5f145e81dc0eb4692a3534e18857bc925d88654096fca6695c7506d39ed253634790b4b7f2335cb2f81e4020ffacdd2a9f",
"nonce" : "0x3a2068ac",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"env" : {
"currentCoinbase" : "667a4c99d680c975191c982962621915870b4c02",
"currentDifficulty" : "0x268d8424",
"currentGasLimit" : "0xbb87562fd8f4c074",
"currentNumber" : "0x761251e4",
"currentTimestamp" : "0x0a7acf9a",
"previousHash" : "cd602c9a0d7e87aad15e07e107cfc1fcd8a64fc9400afee4a66827b94acf3ff3"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "70597f4d60a5a4d7db9e4f0632ee6603b077af81",
"code" : "0x7f16811f3a270fb6c92e9594ce76e78aeb88d06c12e7d03d8cfa870180b55f14bf69e47694e4d3ea0487d15b706f6d96508fa9a70a884eeea20d6e0c9b1a78bc031365bd1b96948f0bba6615e7c1bf760aad09745d4881d479704625f3a09138f626c01e5c4262d968d52d9825d634a6273dbc6ba015e8c0826216e22332cfe07da284284016ac7ee9b4e70be2e7a705c7e24b80c2d338cb8b3bffbefd9dc06430ddc3cc756c535ff0d3fc1101911f2d32853660526aa04516f4370b31ded4327279d6142eb272358d8b3ac3e573d4dfc8b91514f06eda141fe0feb57ccb0db6ed625f32e8a43a1bf6153709512d7b3e8b6fce2cac3bd94aa22861b49e7b9216ec84cffc1e0a014ba807bd272fab2f769963a3cd770271bf3c766efc90bb95fe348d436bb54762102c127d406c88cc5fcdf915416f7dbe81e2ee4ff71234f5081a5ab02577ed2c15099f737bb4b0d0062420576e57641f39b721b1f399e6f26c532b253d4629dea6a5e818a2327523889f051ffea10609c34c8fe009eac58f2ee9506beb68f7b590972f8fe86fe6789b25da2dcaf90dff52c1a8476b1381a7c4cad3d0248a18ca6263023fc4b77a8487fc0cbec291370bb1c97cd21b1a9c4d359ba58f076b11212c0ef16096753229ab680782f6d4386fec6e5b26d9d572bfe484fb5a0379349c3587b620cba4134809876e79d28aee7c4792b4d6f3d4da22649637ee8821077f0919ffa295605f122ec0a2ae678074aa93277deb3de2c1c0957d2e09b78b151a6040206aa7f05c1a71e552b3ebbcab67e1456b0fb8c88078a0",
"data" : "0x7b5e7e1696a18f82ec382e6557b86b36e8d8e55e5350ffb0dd5f701f336066a07e960114651da9da852239d33f188e2365b6cc07c065f6a1a89765f144dcb36d807ecbe0ff784c0cb26b58d79e0721ffbc08141b6e8c63b1ff16e062f731d946d266b38e91c46f723e77caff402d1473e1a945e722f37c9b411ad766957cc4b64e1873a9782dc73bd842c97e0db60512a831f37b4cba6a7d7faeb2748de4ffb52de98304417594a89ec86d858ba64942bbc39c1687fa77c74bc94f31886faf24a3d4b5d875b09a056b0125b2acb9777f2bce761cf888b863f0390654ba12b29ad9aa6e813ae2e1c07673c83d0a1a59bc63aad7882d650d01f82e64e976c765b2f68a0791199fae643bf972d2e8f64492fed053957066587cbdd331194f5268eec38620a3204c73908f39d115b19f0e65c95107ebdf340c0b17182b77892ccaffd93aa0db2339ed1b0def1e8fe1e1ccad08ad88f46df69a5204ed5f7d9bc14f5679d2d8762e70c43162e64dce385144912ed2b0c54a052a5b4c1e808e6ae30e9bb98b497edae2894a78693a94c0a71a036793f448d84f747f574cb529a33b5f46633b6caa262c13f078894fc5ca3909f56d43dac40a16761625fc5ad8aca6dd6d5ac0ccb60cc8419aae7d2b1141529373ede65a95351da64ca5c11bbb229c7b5facc791a9635e93f27678aa513a4936c64eae062af8575094226cfde23a1cad96cf9e393777cc7f958dc2fa7a7947b2bf8776c3261ef4195dd1cb3a40ad726615f434e010e77ff1f35d99058807d575af2b65bbcc7681072874e649cf4c16d71dae4a78ffde1512c8439471042001775faf37d9d515574c1637429b8eae30905566a530df1ee1fb62e6dfc17491db6bf33a510aef299805973eaea201c5362f9466621c0a0a79c5ed449fcc7a448d5db2da446911f4b2e11bb01c25ba2cf32a2c79b2054e2adf927ba679cd28e1a14f35ba8a5df97efc5b39c0e73a674d1248373869f39c6499e4a4f8147ac7a44ed49ccff7afc2362fdf4252cbefff96fce329e3eb6e2b85467249b6e52de9d60f3bcf25d99a539f66a373e0767a1d29531b6d27cba56928f19b7df858337de8b0050f132c470c2f796d9a74680adb61c6ff474ca39e4bfc6ad68739cdf0429bacc94f599f6c30c4266438a52ea2e84ea2c13e6121227f6ed215af17025e11598b5c1bc863dcc66b0424d012ad9f5a0270f18d1a657f6c683b5c3268da78c228cb71739560a8a596ad4d75217969951ff80590de6b77f0ee4236b46b1cd2d456cd75714e471f168383b2d4dc5f8a6c19af977583534efbb4610d6b65b2ba396760fc64cb654548047f521d3285d33cadd2ac9079f526d1c618114e0e33237d43e34a0d963b6084944a6987cc01e2075a1261d3337263b3f99cc1f11892f5e4045bedfbfc387d9cf48c77883714915e73b6349be0e2b3474b7fd1c9fb8b016f0758906c7d4bf326662769090f336791076d0771a1a8e10c17f941d4b7aa5c1f6d17dbff1f91e6a222dbce8876e4ed837e72b1139e5285277a23607f73a50dcd52a6aa225889729690eb80ed22f54dc16932930f855f81aa06b83d6e7b9add7b543f6018d34f221585d4646a6e45ba2ef59c71679c1bf36831046738ac0234fc1277f803ee75addc98f6c2caee0997eea715354e877e9389c9e96296c872794b53272a2f93fec7e6634e9fee048bfa6a0ddaf9e4b93f2f1e516f2d2baf327644605d1ec3ac82affeaaf4601f78e5a0fa7db95981f4ed7a9f41e41c9fd1b849f5b6ccbcf42b8d622988647a44f6f00db531c97d425a3715b3435112c26653ebec565572bbdeac9b",
"gas" : "0x6ad1cb41",
"gasPrice" : "0x1c",
"origin" : "89cbee220af96665792cb88e9c5d20e5d402f7bf",
"value" : "0x40be582c"
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0x76eb64c1377dd218",
"code" : "0x7f16811f3a270fb6c92e9594ce76e78aeb88d06c12e7d03d8cfa870180b55f14bf69e47694e4d3ea0487d15b706f6d96508fa9a70a884eeea20d6e0c9b1a78bc031365bd1b96948f0bba6615e7c1bf760aad09745d4881d479704625f3a09138f626c01e5c4262d968d52d9825d634a6273dbc6ba015e8c0826216e22332cfe07da284284016ac7ee9b4e70be2e7a705c7e24b80c2d338cb8b3bffbefd9dc06430ddc3cc756c535ff0d3fc1101911f2d32853660526aa04516f4370b31ded4327279d6142eb272358d8b3ac3e573d4dfc8b91514f06eda141fe0feb57ccb0db6ed625f32e8a43a1bf6153709512d7b3e8b6fce2cac3bd94aa22861b49e7b9216ec84cffc1e0a014ba807bd272fab2f769963a3cd770271bf3c766efc90bb95fe348d436bb54762102c127d406c88cc5fcdf915416f7dbe81e2ee4ff71234f5081a5ab02577ed2c15099f737bb4b0d0062420576e57641f39b721b1f399e6f26c532b253d4629dea6a5e818a2327523889f051ffea10609c34c8fe009eac58f2ee9506beb68f7b590972f8fe86fe6789b25da2dcaf90dff52c1a8476b1381a7c4cad3d0248a18ca6263023fc4b77a8487fc0cbec291370bb1c97cd21b1a9c4d359ba58f076b11212c0ef16096753229ab680782f6d4386fec6e5b26d9d572bfe484fb5a0379349c3587b620cba4134809876e79d28aee7c4792b4d6f3d4da22649637ee8821077f0919ffa295605f122ec0a2ae678074aa93277deb3de2c1c0957d2e09b78b151a6040206aa7f05c1a71e552b3ebbcab67e1456b0fb8c88078a0",
"nonce" : "0x366add988a39a9ad",
"storage" : {
}
}
}
}
}
{
"randomVMTest" : {
"callcreates" : [
],
"env" : {
"currentCoinbase" : "a1c240ebc8ee9ebdbd972e8edbb7461c380e8794",
"currentDifficulty" : "0x88a62ea1cc8be328",
"currentGasLimit" : "0xd43ea089079a926a",
"currentNumber" : "0x451067bb",
"currentTimestamp" : "0x18aae452",
"previousHash" : "14ba1a13166b56cf91cb29cbd3d1dbcf32ebf6066d237e34abb405378ec6a277"
},
"exec" : {
"address" : "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6",
"caller" : "3616b971536b216fd6710a54ef30e1e3d3bd6c13",
"code" : "0x6c790eb25b10d55aefcef887e5dd7b0c8d2d3cda55a99a988e563d5ba5cbc54dac1282f775f3b0c43c37306d2212605536f2dca4aa862e6712d774d618146137e0c4ec6f880485707f913173b41181da66866588b4d728766d615e887fa448fada51b5e68b9c0b701a3e97a63d1fe25939a107b74fbeb794a57aa16acee29a63f5235e2c83172b629fd658b122a972568d88735395876ca0349e6f11dfc373bdd6c781556bec6e641bb4e8e5b1ff28401870c2f9de528b6fe37c4c27416974a9032d7e71762ba23122af89eab4961e59bb35f9fee35979c68fff82ef6cb5e66e56119aa924681f274edcfee02c4ce8c1ec7eeb813cc6d453db74a3fe1571627368af27ba22c61eb98cde4272b4ab4cd55a7bd0b5383b1445620b23d3666532f25b93be98efdccf0bdf37f0fecc5e61556370d3ebf3644a4717e604bdee16e1304ffce17ed6b567c70275df1e847cef48b65aa8221bdbb9d0b84a2ece25a72d3632c5ce7e8b03bc43d8093c4d5819acec0178d548094219e9e31e87ed8e02f42099c1c1699703393c0a4b55a33eac9a6f34185783af66a5972c6c1bb607a57af38063d18908367ca79ccdcd11bd5bd13c2703a19e67e36c9f2abc8770a60ecfb2e7b8c24e553070660698d1ec44a2a27fd82a02de187e46cb6a5fbbc7bcf24d593ed016fa07",
"data" : "0x69040ef607bae332ebef806fa4be76ba43516c5041e54c23976d382776bcdbccd68e29053a023742335c3487ab65fdd26569a1ee7662ed75d61ded9b7abf80fdd34fd054045e95778447aac663aa3593807c599c7bcc3326b1142a372117c4f31bd6c968b90d5d2436bb554835ca5d7b39e22af6bc5cc47aa376338fdc59cba9df637b8fc5ca1c3780a399dc67e29f17538255f3806adc03cd145c224fec14e18863795fa849897e72517a3973f445929a30ea8c82cf043c4cf0b9cb0b4d41f33a44533ff059376916fcff55b5388b440e667a41f4ad614a32778c9c2c12a2801acbe8b62db37556aa3635d8beae62978b417805a470402d1d4537372922e3c0400ab451f231fc8a1682ddb77ec720fa371410e195d02ba072adbd977ca4dea25fdd64e228db91b15771d13a7554da5aa1f6e44de211fea4e1d994f52d1ec5e36221106613c74205fb5f0d79afa459b98cc80740406eebae740b01b44245b1737dfb8ab7bef66a08e35f4e313bc59570e88965ca8f0dfdaac97b4c9929d1b380b8c87dc1965333f51de17367ed0c2e5cbfbcdf2753087c6449c274cebe7e840a673238828171ece98d2e6b14ea58f386467110e6616d8d7142a003290cb7556362081dc7d3a5a02303259d65f7452a91d19666ec5e55707b1fe074667ae446aabf10cfa1d2c42e04e66816e0d1f853a360d2667d5e5c1c1cc7de777af52536f722f9620d9740bc2952846d9021978d5d48e0b86808870ba75603a4777f61985976b20f088ec8fe8184b377aa409951df945f101ece22502a6d43d8e9bb0194945d476078b2b9797232b1812e8b26888d930253593383d57e6c451972db2437ae4e062e3ca19355864176c786dc69df9a663d4584e4baf2357a9d59857729567f57d3573c3d4dfc1bb8cede257c9dd2ca6e1bed0f6da7fb5b3877d067a2f43c90b6ab397bb6789910db655c5abb4ee964c606f126da8d11a46dea65f043f2c47a74aacce8328d25f220874fce72778249b9a4652eeee577728a200c51d6a12219c3abe36adc2d66e6b9f511394dcca46ca30efa46a1c370b92dfa5352246c33f512d7e501128dd572a4b3be68772f912f0dc78feea97f0a2a36c79ebf866931d1d864771c044a2531b493359105f797e70e7acb1a4da660c77033cd9d7045da5c935dcb833ca70735d1b0605d62c9e3af60f38e",
"gas" : "0x0ced02de",
"gasPrice" : "0x1d",
"origin" : "638eec7b45d4b2ea1682dfe5f6e64dfeeaa2d5ed",
"value" : "0x42aad51cf7f24ad7"
},
"gas" : "0x0ced02de",
"logs" : [
],
"out" : "0x",
"post" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0xcbc9411f7d2c1c91",
"code" : "0x6c790eb25b10d55aefcef887e5dd7b0c8d2d3cda55a99a988e563d5ba5cbc54dac1282f775f3b0c43c37306d2212605536f2dca4aa862e6712d774d618146137e0c4ec6f880485707f913173b41181da66866588b4d728766d615e887fa448fada51b5e68b9c0b701a3e97a63d1fe25939a107b74fbeb794a57aa16acee29a63f5235e2c83172b629fd658b122a972568d88735395876ca0349e6f11dfc373bdd6c781556bec6e641bb4e8e5b1ff28401870c2f9de528b6fe37c4c27416974a9032d7e71762ba23122af89eab4961e59bb35f9fee35979c68fff82ef6cb5e66e56119aa924681f274edcfee02c4ce8c1ec7eeb813cc6d453db74a3fe1571627368af27ba22c61eb98cde4272b4ab4cd55a7bd0b5383b1445620b23d3666532f25b93be98efdccf0bdf37f0fecc5e61556370d3ebf3644a4717e604bdee16e1304ffce17ed6b567c70275df1e847cef48b65aa8221bdbb9d0b84a2ece25a72d3632c5ce7e8b03bc43d8093c4d5819acec0178d548094219e9e31e87ed8e02f42099c1c1699703393c0a4b55a33eac9a6f34185783af66a5972c6c1bb607a57af38063d18908367ca79ccdcd11bd5bd13c2703a19e67e36c9f2abc8770a60ecfb2e7b8c24e553070660698d1ec44a2a27fd82a02de187e46cb6a5fbbc7bcf24d593ed016fa07",
"nonce" : "0x045d0aa4",
"storage" : {
"0xa79ccdcd11bd5bd13c2703a19e67e36c9f2abc8770a60ecfb2e7b8c24e" : "0xd1890836"
}
}
},
"pre" : {
"0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
"balance" : "0xcbc9411f7d2c1c91",
"code" : "0x6c790eb25b10d55aefcef887e5dd7b0c8d2d3cda55a99a988e563d5ba5cbc54dac1282f775f3b0c43c37306d2212605536f2dca4aa862e6712d774d618146137e0c4ec6f880485707f913173b41181da66866588b4d728766d615e887fa448fada51b5e68b9c0b701a3e97a63d1fe25939a107b74fbeb794a57aa16acee29a63f5235e2c83172b629fd658b122a972568d88735395876ca0349e6f11dfc373bdd6c781556bec6e641bb4e8e5b1ff28401870c2f9de528b6fe37c4c27416974a9032d7e71762ba23122af89eab4961e59bb35f9fee35979c68fff82ef6cb5e66e56119aa924681f274edcfee02c4ce8c1ec7eeb813cc6d453db74a3fe1571627368af27ba22c61eb98cde4272b4ab4cd55a7bd0b5383b1445620b23d3666532f25b93be98efdccf0bdf37f0fecc5e61556370d3ebf3644a4717e604bdee16e1304ffce17ed6b567c70275df1e847cef48b65aa8221bdbb9d0b84a2ece25a72d3632c5ce7e8b03bc43d8093c4d5819acec0178d548094219e9e31e87ed8e02f42099c1c1699703393c0a4b55a33eac9a6f34185783af66a5972c6c1bb607a57af38063d18908367ca79ccdcd11bd5bd13c2703a19e67e36c9f2abc8770a60ecfb2e7b8c24e553070660698d1ec44a2a27fd82a02de187e46cb6a5fbbc7bcf24d593ed016fa07",
"nonce" : "0x045d0aa4",
"storage" : {
}
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment