diff --git a/include/evm.h b/include/evm.h index 491f2d1..719ad4c 100644 --- a/include/evm.h +++ b/include/evm.h @@ -59,6 +59,10 @@ enum evm_call_kind { EVM_CREATE = 3 ///< Request CREATE. Semantic of some params changes. }; +enum evm_flags { + EVM_STATIC = 1 +}; + struct evm_message { struct evm_uint160be address; struct evm_uint160be sender; @@ -69,6 +73,7 @@ struct evm_message { int64_t gas; int32_t depth; enum evm_call_kind kind; + uint32_t flags; }; struct evm_tx_context { @@ -423,6 +428,7 @@ enum evm_code_status { typedef enum evm_code_status (*evm_get_code_status_fn)(struct evm_instance* instance, enum evm_mode mode, + uint32_t flags, struct evm_uint256be code_hash); /// Request preparation of the code for faster execution. It is not required @@ -430,6 +436,7 @@ typedef enum evm_code_status /// JIT-like VMs. typedef void (*evm_prepare_code_fn)(struct evm_instance* instance, enum evm_mode mode, + uint32_t flags, struct evm_uint256be code_hash, uint8_t const* code, size_t code_size);