TARAXA
state_api_data.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <optional>
4 #include <stdexcept>
5 #include <string>
6 #include <vector>
7 
9 #include "common/types.hpp"
10 
11 namespace taraxa::state_api {
12 
17 struct TaraxaEVMError : std::runtime_error {
18  std::string const type;
19  TaraxaEVMError(std::string&& type, const std::string& msg);
20 };
21 
24 };
25 
26 struct EVMBlock {
29  uint64_t time = 0;
31 
33 };
34 
38  std::optional<addr_t> to;
41  gas_t gas = 0;
43 
45 };
46 
47 struct UncleBlock {
50 
52 };
53 
54 struct LogRecord {
56  std::vector<h256> topics;
58 
60 };
61 
65  std::vector<LogRecord> logs;
67  std::string code_err;
68  std::string consensus_err;
69 
71 };
72 
74  std::vector<ExecutionResult> execution_results;
75 
77 };
78 
82 
84 };
85 
86 struct Account {
91  uint64_t code_size = 0;
92 
94 
95  h256 const& storage_root_eth() const;
96 } const ZeroAccount;
97 
101 
103 };
104 
105 struct Tracing {
106  bool vmTrace = false;
107  bool trace = false;
108  bool stateDiff = false;
109 
111 };
112 
116 
118 };
119 
122  uint64_t vote_count;
123 
125 };
127 } // namespace taraxa::state_api
Definition: FixedHash.h:35
#define HAS_RLP_FIELDS
Definition: encoding_rlp.hpp:208
std::vector< h256 > topics
Definition: state_api_data.hpp:56
bytes data
Definition: state_api_data.hpp:57
bool trace
Definition: state_api_data.hpp:107
std::vector< ExecutionResult > execution_results
Definition: state_api_data.hpp:74
EthBlockNumber blk_num
Definition: state_api_data.hpp:99
u256 stake
Definition: state_api_data.hpp:115
addr_t address
Definition: state_api_data.hpp:55
uint64_t time
Definition: state_api_data.hpp:29
h256 storage_root_hash
Definition: state_api_data.hpp:89
addr_t new_contract_addr
Definition: state_api_data.hpp:64
trx_nonce_t nonce
Definition: state_api_data.hpp:87
addr_t addr
Definition: state_api_data.hpp:121
std::vector< LogRecord > logs
Definition: state_api_data.hpp:65
EthBlockNumber number
Definition: state_api_data.hpp:48
addr_t author
Definition: state_api_data.hpp:27
bytes input
Definition: state_api_data.hpp:42
bool stateDiff
Definition: state_api_data.hpp:108
gas_t gas_limit
Definition: state_api_data.hpp:28
h256 state_root
Definition: state_api_data.hpp:80
bytes code_retval
Definition: state_api_data.hpp:63
addr_t addr
Definition: state_api_data.hpp:114
std::string code_err
Definition: state_api_data.hpp:67
trx_nonce_t nonce
Definition: state_api_data.hpp:39
HAS_RLP_FIELDS h256 const & storage_root_eth() const
Definition: state_api_data.cpp:12
u256 gas_price
Definition: state_api_data.hpp:37
h256 state_root
Definition: state_api_data.hpp:100
u256 balance
Definition: state_api_data.hpp:88
std::string const type
Definition: state_api_data.hpp:18
bool vmTrace
Definition: state_api_data.hpp:106
gas_t gas_used
Definition: state_api_data.hpp:66
u256 total_reward
Definition: state_api_data.hpp:81
addr_t author
Definition: state_api_data.hpp:49
addr_t from
Definition: state_api_data.hpp:36
h256 code_hash
Definition: state_api_data.hpp:90
uint64_t code_size
Definition: state_api_data.hpp:91
u256 difficulty
Definition: state_api_data.hpp:30
gas_t gas
Definition: state_api_data.hpp:41
uint64_t vote_count
Definition: state_api_data.hpp:122
TaraxaEVMError(std::string &&type, const std::string &msg)
Definition: state_api_data.cpp:9
std::string consensus_err
Definition: state_api_data.hpp:68
val_t value
Definition: state_api_data.hpp:40
std::optional< addr_t > to
Definition: state_api_data.hpp:38
struct taraxa::state_api::Account ZeroAccount
Definition: state_api_data.hpp:86
Definition: state_api_data.hpp:26
Definition: state_api_data.hpp:35
Definition: state_api_data.hpp:22
Definition: state_api_data.hpp:62
Definition: state_api_data.hpp:54
Definition: state_api_data.hpp:79
Definition: state_api_data.hpp:98
Definition: state_api_data.hpp:17
Definition: state_api_data.hpp:105
Definition: state_api_data.hpp:73
Definition: state_api_data.hpp:47
Definition: state_api_data.hpp:113
Definition: state_api_data.hpp:120
std::vector<::byte > bytes
Definition: Common.h:46
boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > u256
Definition: Common.h:98
Definition: state_config.hpp:10
uint64_t EthBlockNumber
Definition: types.hpp:23
val_t trx_nonce_t
Definition: types.hpp:54
dev::u256 val_t
Definition: types.hpp:47
uint64_t gas_t
Definition: types.hpp:45