Documentation ¶
Overview ¶
Package evmimpl contains the implementation of the `evm` core contract.
The `evm` core contract is responsible for executing and storing:
- The github.com/iotaledger/wasp/packages/vm/core/evm/emulator.EVMEmulator.
- The ISC magic contract (see iscmagic.go).
See:
- The SetInitialState function, which initializes EVM on a newly created ISC chain.
- The evm.FuncSendTransaction entry point, which executes an Ethereum transaction.
- The evm.FuncCallContract entry point, which executes a view call.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrPayingUnpayableMethod = coreerrors.Register("attempt to pay unpayable method %v")
)
View Source
var Processor = evm.Contract.Processor(nil, evm.FuncSendTransaction.WithHandler(restricted(applyTransaction)), evm.FuncCallContract.WithHandler(restricted(callContract)), evm.FuncRegisterERC20NativeToken.WithHandler(registerERC20NativeToken), evm.FuncRegisterERC20NativeTokenOnRemoteChain.WithHandler(restricted(registerERC20NativeTokenOnRemoteChain)), evm.FuncRegisterERC20ExternalNativeToken.WithHandler(registerERC20ExternalNativeToken), evm.FuncRegisterERC721NFTCollection.WithHandler(restricted(registerERC721NFTCollection)), evm.FuncNewL1Deposit.WithHandler(newL1Deposit), evm.FuncGetERC20ExternalNativeTokenAddress.WithHandler(viewERC20ExternalNativeTokenAddress), evm.FuncGetChainID.WithHandler(getChainID), )
Functions ¶
func MintBlock ¶ added in v1.0.3
MintBlock "mints" the Ethereum block after all requests in the ISC block have been processed. IMPORTANT: Must only be called from the ISC VM
func SetInitialState ¶ added in v1.0.3
SetInitialState initializes the evm core contract and the Ethereum genesis block on a newly created ISC chain.
Types ¶
type StateAccess ¶ added in v1.0.3
type StateAccess struct {
// contains filtered or unexported fields
}
func NewStateAccess ¶ added in v1.0.3
func NewStateAccess(store kv.KVStoreReader) *StateAccess
Click to show internal directories.
Click to hide internal directories.