You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
933 B

#pragma once
#include "Utils.h"
namespace dev
{
namespace eth
{
namespace jit
{
struct RuntimeData
{
enum Index
{
Address,
Caller,
Origin,
CallValue,
GasPrice,
CoinBase,
Difficulty,
GasLimit,
CallData,
Code,
CodeSize,
CallDataSize,
Gas,
BlockNumber,
BlockTimestamp,
SuicideDestAddress = Address, ///< Suicide balance destination address
ReturnData = CallData, ///< Return data pointer (set only in case of RETURN)
ReturnDataSize = CallDataSize, ///< Return data size (set only in case of RETURN)
};
i256 address;
i256 caller;
i256 origin;
i256 callValue;
i256 gasPrice;
i256 coinBase;
i256 difficulty;
i256 gasLimit;
byte const* callData = nullptr;
byte const* code = nullptr;
uint64_t codeSize = 0;
uint64_t callDataSize = 0;
int64_t gas = 0;
uint64_t blockNumber = 0;
uint64_t blockTimestamp = 0;
};
/// VM Environment (ExtVM) opaque type
struct Env;
}
}
}