Fabcoin Core
0.16.2
P2P Digital Currency
|
Externality interface for the Virtual Machine providing access to world state. More...
#include <ExtVM.h>
Public Member Functions | |
ExtVM (State &_s, EnvInfo const &_envInfo, SealEngineFace const &_sealEngine, Address _myAddress, Address _caller, Address _origin, u256 _value, u256 _gasPrice, bytesConstRef _data, bytesConstRef _code, h256 const &_codeHash, unsigned _depth=0) | |
Full constructor. More... | |
virtual u256 | store (u256 _n) overridefinal |
Read storage location. More... | |
virtual void | setStore (u256 _n, u256 _v) overridefinal |
Write a value in storage. More... | |
virtual bytes const & | codeAt (Address _a) overridefinal |
Read address's code. More... | |
virtual size_t | codeSizeAt (Address _a) overridefinal |
virtual h160 | create (u256 _endowment, u256 &io_gas, bytesConstRef _code, OnOpFunc const &_onOp={}) overridefinal |
Create a new contract. More... | |
virtual boost::optional< owning_bytes_ref > | call (CallParameters &_params) overridefinal |
Create a new message call. Leave _myAddressOverride as the default to use the present address as caller. More... | |
virtual u256 | balance (Address _a) overridefinal |
Read address's balance. More... | |
virtual bool | exists (Address _a) overridefinal |
Does the account exist? More... | |
virtual void | suicide (Address _a) overridefinal |
Suicide the associated contract to the given address. More... | |
virtual EVMSchedule const & | evmSchedule () const overridefinal |
Return the EVM gas-price schedule for this execution context. More... | |
State const & | state () const |
Public Member Functions inherited from dev::eth::ExtVMFace | |
ExtVMFace ()=default | |
Null constructor. More... | |
ExtVMFace (EnvInfo const &_envInfo, Address _myAddress, Address _caller, Address _origin, u256 _value, u256 _gasPrice, bytesConstRef _data, bytes _code, h256 const &_codeHash, unsigned _depth) | |
Full constructor. More... | |
virtual | ~ExtVMFace ()=default |
ExtVMFace (ExtVMFace const &)=delete | |
ExtVMFace & | operator= (ExtVMFace const &)=delete |
virtual void | log (h256s &&_topics, bytesConstRef _data) |
Revert any changes made (by any of the other calls). More... | |
h256 | blockHash (u256 _number) |
Hash of a block if within the last 256 blocks, or h256() otherwise. More... | |
EnvInfo const & | envInfo () const |
Get the execution environment information. More... | |
Private Attributes | |
State & | m_s |
A reference to the base state. More... | |
SealEngineFace const & | m_sealEngine |
Additional Inherited Members | |
Public Attributes inherited from dev::eth::ExtVMFace | |
Address | myAddress |
Address associated with executing code (a contract, or contract-to-be). More... | |
Address | caller |
Address which sent the message (either equal to origin or a contract). More... | |
Address | origin |
Original transactor. More... | |
u256 | value |
Value (in Wei) that was passed to this address. More... | |
u256 | gasPrice |
Price of gas (that we already paid). More... | |
bytesConstRef | data |
Current input data. More... | |
bytes | code |
Current code that is executing. More... | |
h256 | codeHash |
SHA3 hash of the executing code. More... | |
SubState | sub |
Sub-band VM state (suicides, refund counter, logs). More... | |
unsigned | depth = 0 |
Depth of the present call. More... | |
Externality interface for the Virtual Machine providing access to world state.
|
inline |
Read address's balance.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 74 of file ExtVM.h.
|
finaloverridevirtual |
Create a new message call. Leave _myAddressOverride as the default to use the present address as caller.
Implements dev::eth::ExtVMFace.
Definition at line 95 of file ExtVM.cpp.
Read address's code.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 62 of file ExtVM.h.
|
finaloverridevirtual |
Reimplemented from dev::eth::ExtVMFace.
Definition at line 111 of file ExtVM.cpp.
|
finaloverridevirtual |
Create a new contract.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 121 of file ExtVM.cpp.
|
inlinefinaloverridevirtual |
Return the EVM gas-price schedule for this execution context.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 89 of file ExtVM.h.
|
inlinefinaloverridevirtual |
Does the account exist?
Reimplemented from dev::eth::ExtVMFace.
Definition at line 77 of file ExtVM.h.
Write a value in storage.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 116 of file ExtVM.cpp.
|
inline |
Read storage location.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 56 of file ExtVM.h.
|
finaloverridevirtual |
Suicide the associated contract to the given address.
Reimplemented from dev::eth::ExtVMFace.
Definition at line 133 of file ExtVM.cpp.
|
private |
|
private |