SputnikVM C Bindings
sputnikvm.h
Go to the documentation of this file.
1 
10 typedef struct {
11  unsigned char data[20];
13 
17 typedef struct {
18  unsigned char data[32];
20 
24 typedef struct {
25  unsigned char data[32];
27 
31 typedef struct {
32  unsigned char data[32];
34 
39 typedef unsigned char sputnikvm_action;
40 extern const unsigned char CALL_ACTION;
41 extern const unsigned char CREATE_ACTION;
42 
47 typedef struct {
54  unsigned char *input;
55  unsigned int input_len;
58 
62 typedef struct {
64  unsigned long long int timestamp;
69 
70 typedef enum {
73 
74 typedef struct {
78 
79 typedef union {
84 
85 typedef struct {
89 
90 typedef struct {
92  unsigned int topic_len;
93  unsigned int data_len;
95 
96 typedef enum {
99 
100 typedef struct {
104 
105 typedef struct {
109  unsigned int storage_len;
110  unsigned int code_len;
112 
113 typedef union {
118 
119 typedef struct {
123 
124 typedef struct {
128 
129 typedef struct sputnikvm_vm_S sputnikvm_vm_t;
130 
135 extern sputnikvm_vm_t *
137 
142 extern sputnikvm_vm_t *
144 
149 extern sputnikvm_vm_t *
151 
156 extern sputnikvm_vm_t *
158 
162 extern sputnikvm_require
164 
168 extern void
170 
175 extern int
176 sputnikvm_commit_account(sputnikvm_vm_t *vm, sputnikvm_address address, sputnikvm_u256 nonce, sputnikvm_u256 balance, unsigned char *code, unsigned int code_len);
177 
182 extern int
183 sputnikvm_commit_account_code(sputnikvm_vm_t *vm, sputnikvm_address address, unsigned char *code, unsigned int code_len);
184 
189 extern int
191 
196 extern int
198 
203 extern int
205 
209 extern unsigned int
211 
215 extern void
216 sputnikvm_logs_copy_info(sputnikvm_vm_t *vm, sputnikvm_log *log, unsigned int log_len);
217 
222 extern sputnikvm_u256
223 sputnikvm_logs_topic(sputnikvm_vm_t *vm, unsigned int log_index, unsigned int topic_index);
224 
228 extern void
229 sputnikvm_logs_copy_data(sputnikvm_vm_t *vm, unsigned int log_index, unsigned char *data, unsigned int data_len);
230 
234 extern unsigned int
236 
240 extern void
242 
247 extern int
249 
253 extern int
254 sputnikvm_account_changes_copy_code(sputnikvm_vm_t *vm, sputnikvm_address address, unsigned char *w, unsigned int len);
255 
259 extern sputnikvm_gas
261 
267 
sputnikvm_vm_t * sputnikvm_new_eip160(sputnikvm_transaction transaction, sputnikvm_header_params header)
sputnikvm_vm_t * sputnikvm_new_frontier(sputnikvm_transaction transaction, sputnikvm_header_params header)
unsigned int data_len
Definition: sputnikvm.h:93
int sputnikvm_account_changes_copy_code(sputnikvm_vm_t *vm, sputnikvm_address address, unsigned char *w, unsigned int len)
const unsigned char CALL_ACTION
sputnikvm_header_params sputnikvm_default_header_params(void)
int sputnikvm_commit_account(sputnikvm_vm_t *vm, sputnikvm_address address, sputnikvm_u256 nonce, sputnikvm_u256 balance, unsigned char *code, unsigned int code_len)
Definition: sputnikvm.h:124
unsigned int topic_len
Definition: sputnikvm.h:92
Definition: sputnikvm.h:100
Definition: sputnikvm.h:105
sputnikvm_u256 value
Definition: sputnikvm.h:126
sputnikvm_gas gas_limit
Definition: sputnikvm.h:67
int sputnikvm_commit_nonexist(sputnikvm_vm_t *vm, sputnikvm_address address)
unsigned int sputnikvm_account_changes_len(sputnikvm_vm_t *vm)
sputnikvm_require_type
Definition: sputnikvm.h:70
sputnikvm_address address
Definition: sputnikvm.h:101
void sputnikvm_free(sputnikvm_vm_t *vm)
sputnikvm_gas sputnikvm_used_gas(sputnikvm_vm_t *vm)
Definition: sputnikvm.h:24
unsigned int storage_len
Definition: sputnikvm.h:109
Definition: sputnikvm.h:97
void sputnikvm_account_changes_copy_info(sputnikvm_vm_t *vm, sputnikvm_account_change *w, unsigned int len)
unsigned int code_len
Definition: sputnikvm.h:110
Definition: sputnikvm.h:79
int sputnikvm_commit_account_code(sputnikvm_vm_t *vm, sputnikvm_address address, unsigned char *code, unsigned int code_len)
sputnikvm_account_change_value value
Definition: sputnikvm.h:121
Definition: sputnikvm.h:71
unsigned char * input
Definition: sputnikvm.h:54
Definition: sputnikvm.h:97
sputnikvm_vm_t * sputnikvm_new_eip150(sputnikvm_transaction transaction, sputnikvm_header_params header)
sputnikvm_vm_t * sputnikvm_new_homestead(sputnikvm_transaction transaction, sputnikvm_header_params header)
Definition: sputnikvm.h:62
Definition: sputnikvm.h:85
void sputnikvm_logs_copy_info(sputnikvm_vm_t *vm, sputnikvm_log *log, unsigned int log_len)
sputnikvm_address address
Definition: sputnikvm.h:91
sputnikvm_u256 amount
Definition: sputnikvm.h:102
int sputnikvm_commit_account_storage(sputnikvm_vm_t *vm, sputnikvm_address address, sputnikvm_u256 key, sputnikvm_u256 value)
const unsigned char CREATE_ACTION
Definition: sputnikvm.h:90
Definition: sputnikvm.h:74
sputnikvm_address caller
Definition: sputnikvm.h:48
Definition: sputnikvm.h:10
sputnikvm_address account
Definition: sputnikvm.h:80
sputnikvm_u256 number
Definition: sputnikvm.h:65
sputnikvm_require_value value
Definition: sputnikvm.h:87
sputnikvm_account_change_value_all all
Definition: sputnikvm.h:115
sputnikvm_u256 key
Definition: sputnikvm.h:125
Definition: sputnikvm.h:71
Definition: sputnikvm.h:97
unsigned int input_len
Definition: sputnikvm.h:55
sputnikvm_address action_address
Definition: sputnikvm.h:52
Definition: sputnikvm.h:71
unsigned int sputnikvm_logs_len(sputnikvm_vm_t *vm)
int sputnikvm_account_changes_copy_storage(sputnikvm_vm_t *vm, sputnikvm_address address, sputnikvm_account_change_storage *w, unsigned int len)
sputnikvm_u256 value
Definition: sputnikvm.h:53
int sputnikvm_commit_blockhash(sputnikvm_vm_t *vm, sputnikvm_u256 number, sputnikvm_h256 hash)
unsigned long long int timestamp
Definition: sputnikvm.h:64
Definition: sputnikvm.h:97
sputnikvm_u256 key
Definition: sputnikvm.h:76
Definition: sputnikvm.h:119
Definition: sputnikvm.h:113
sputnikvm_gas gas_price
Definition: sputnikvm.h:49
sputnikvm_u256 blockhash
Definition: sputnikvm.h:82
sputnikvm_u256 nonce
Definition: sputnikvm.h:107
sputnikvm_u256 sputnikvm_logs_topic(sputnikvm_vm_t *vm, unsigned int log_index, unsigned int topic_index)
sputnikvm_account_change_type type
Definition: sputnikvm.h:120
sputnikvm_account_change_value_balance balance
Definition: sputnikvm.h:114
sputnikvm_address removed
Definition: sputnikvm.h:116
sputnikvm_u256 nonce
Definition: sputnikvm.h:56
sputnikvm_require_type type
Definition: sputnikvm.h:86
sputnikvm_address address
Definition: sputnikvm.h:106
sputnikvm_gas gas_limit
Definition: sputnikvm.h:50
void sputnikvm_logs_copy_data(sputnikvm_vm_t *vm, unsigned int log_index, unsigned char *data, unsigned int data_len)
Definition: sputnikvm.h:71
Definition: sputnikvm.h:47
Definition: sputnikvm.h:71
Definition: sputnikvm.h:17
sputnikvm_action action
Definition: sputnikvm.h:51
unsigned char sputnikvm_action
Definition: sputnikvm.h:39
sputnikvm_require sputnikvm_fire(sputnikvm_vm_t *vm)
sputnikvm_require_value_account_storage account_storage
Definition: sputnikvm.h:81
Definition: sputnikvm.h:97
sputnikvm_address address
Definition: sputnikvm.h:75
struct sputnikvm_vm_S sputnikvm_vm_t
Definition: sputnikvm.h:129
sputnikvm_transaction sputnikvm_default_transaction(void)
sputnikvm_u256 difficulty
Definition: sputnikvm.h:66
sputnikvm_account_change_type
Definition: sputnikvm.h:96
Definition: sputnikvm.h:31
sputnikvm_u256 balance
Definition: sputnikvm.h:108
sputnikvm_address beneficiary
Definition: sputnikvm.h:63