You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/** * Big-endian 256-bit integer. * * 32 bytes of data representing big-endian 256-bit integer. I.e. bytes[0] is * the most significant byte, bytes[31] is the least significant byte. * This type is used to transfer to/from the VM values interpreted by the user * as both 256-bit integers and 256-bit hashes. */structevmc_uint256be
{
/** The 32 bytes of the big-endian integer or hash. */uint8_tbytes[32];
};
/** Big-endian 160-bit hash suitable for keeping an Ethereum address. */structevmc_address
{
/** The 20 bytes of the hash. */uint8_tbytes[20];
};
/** The kind of call-like instruction. */enumevmc_call_kind
{
EVMC_CALL=0, /**< Request CALL. */EVMC_DELEGATECALL=1, /**< Request DELEGATECALL. The value param ignored. */EVMC_CALLCODE=2, /**< Request CALLCODE. */EVMC_CREATE=3/**< Request CREATE. Semantic of some params changes. */
};
/** The flags for ::evmc_message. */enumevmc_flags
{
EVMC_STATIC=1/**< Static call mode. */
};
/** * The message describing an EVM call, * including a zero-depth calls from a transaction origin. */structevmc_message
{
/** The destination of the message. */structevmc_addressdestination;
/** The sender of the message. */structevmc_addresssender;
/** * The amount of Ether transferred with the message. */structevmc_uint256bevalue;
/** * The message input data. * * This MAY be NULL. */constuint8_t*input_data;
/** * The size of the message input data. * * If input_data is NULL this MUST be 0. */size_tinput_size;
/** * The optional hash of the code of the destination account. * The null hash MUST be used when not specified. */structevmc_uint256becode_hash;
/** The amount of gas for message execution. */int64_tgas;
/** The call depth. */int32_tdepth;
/** The kind of the call. For zero-depth calls ::EVMC_CALL SHOULD be used. */enumevmc_call_kindkind;
/** * Additional flags modifying the call execution behavior. * In the current version the only valid values are ::EVMC_STATIC or 0. */uint32_tflags;
};
It would probably best to match EVMC fields rather than Py-EVM to ease interface with EVM-C and eWASM in the future.
EVMC Message type - https://github.com/ethereum/evmc/blob/master/include/evmc/evmc.h
Current Nim type for Messages https://github.com/status-im/nimbus/blob/6f28d1186675f648e0587f44e730b9dc23291bab/nimbus/vm_types.nim#L53-L89
The text was updated successfully, but these errors were encountered: