evmimpl

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2024 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Overview

Package evmimpl contains the implementation of the `evm` core contract.

The `evm` core contract is responsible for executing and storing:

See:

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

func MintBlock(evmPartition kv.KVStore, chainInfo *isc.ChainInfo, blockTimestamp time.Time)

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 Nonce added in v1.0.3

func Nonce(evmPartition kv.KVStoreReader, addr common.Address) uint64

func RegisterERC721NFTCollectionByNFTId added in v1.1.0

func RegisterERC721NFTCollectionByNFTId(store kv.KVStore, nft *isc.NFT)

func SetInitialState added in v1.0.3

func SetInitialState(evmPartition kv.KVStore, evmChainID uint16, createBaseTokenMagicWrap bool)

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

func (*StateAccess) Nonce added in v1.0.3

func (sa *StateAccess) Nonce(addr common.Address) uint64

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL