support

package
v0.4.9-rc9 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthEvm        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowEvm          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupEvm = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthGenesis        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGenesis          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	// DefaultEVMDenom defines the default EVM denomination on Artela
	DefaultEVMDenom = utils.BaseDenom

	// DefaultAllowUnprotectedTxs rejects all unprotected txs (i.e false)
	DefaultAllowUnprotectedTxs = false

	// DefaultEnableCreate enables contract creation (i.e true)
	DefaultEnableCreate = true

	// DefaultEnableCall enables contract calls (i.e true)
	DefaultEnableCall = true
)
View Source
var (
	ParamStoreKeyEVMDenom            = []byte("EVMDenom")
	ParamStoreKeyEnableCreate        = []byte("EnableCreate")
	ParamStoreKeyEnableCall          = []byte("EnableCall")
	ParamStoreKeyExtraEIPs           = []byte("EnableExtraEIPs")
	ParamStoreKeyChainConfig         = []byte("ChainConfig")
	ParamStoreKeyAllowUnprotectedTxs = []byte("AllowUnprotectedTxs")
)

Parameter keys

View Source
var AvailableExtraEIPs = []int64{1344, 1884, 2200, 2929, 3198, 3529}

AvailableExtraEIPs define the list of all EIPs that can be enabled by the EVM interpreter. These EIPs are applied in order and can override the instruction sets from the latest hard fork enabled by the ChainConfig. For more info check: https://github.com/ethereum/go-ethereum/blob/master/core/vm/interpreter.go#L97

Functions

func IsLondon

func IsLondon(ethConfig *params.ChainConfig, height int64) bool

IsLondon returns if london hardfork is enabled.

func LogsToEthereum

func LogsToEthereum(logs []*Log) []*ethereum.Log

LogsToEthereum casts the Artela Logs to a slice of Ethereum Logs.

func ParamKeyTable deprecated

func ParamKeyTable() paramsmodule.KeyTable

Deprecated: ParamKeyTable returns the parameter key table. Usage of x/params to manage parameters is deprecated in favor of x/gov controlled execution of MsgUpdateParams messages. These types remain solely for migration purposes and will be removed in a future release.

Types

type AccessTuple

type AccessTuple struct {
	// address is a hex formatted ethereum address
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// storage_keys are hex formatted hashes of the storage keys
	StorageKeys []string `protobuf:"bytes,2,rep,name=storage_keys,json=storageKeys,proto3" json:"storageKeys"`
}

AccessTuple is the element type of an access list.

func (*AccessTuple) Descriptor

func (*AccessTuple) Descriptor() ([]byte, []int)

func (*AccessTuple) Marshal

func (m *AccessTuple) Marshal() (dAtA []byte, err error)

func (*AccessTuple) MarshalTo

func (m *AccessTuple) MarshalTo(dAtA []byte) (int, error)

func (*AccessTuple) MarshalToSizedBuffer

func (m *AccessTuple) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*AccessTuple) ProtoMessage

func (*AccessTuple) ProtoMessage()

func (*AccessTuple) Reset

func (m *AccessTuple) Reset()

func (*AccessTuple) Size

func (m *AccessTuple) Size() (n int)

func (*AccessTuple) String

func (m *AccessTuple) String() string

func (*AccessTuple) Unmarshal

func (m *AccessTuple) Unmarshal(dAtA []byte) error

func (*AccessTuple) XXX_DiscardUnknown

func (m *AccessTuple) XXX_DiscardUnknown()

func (*AccessTuple) XXX_Marshal

func (m *AccessTuple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AccessTuple) XXX_Merge

func (m *AccessTuple) XXX_Merge(src proto.Message)

func (*AccessTuple) XXX_Size

func (m *AccessTuple) XXX_Size() int

func (*AccessTuple) XXX_Unmarshal

func (m *AccessTuple) XXX_Unmarshal(b []byte) error

type ChainConfig

type ChainConfig struct {
	// homestead_block switch (nil no fork, 0 = already homestead)
	HomesteadBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 176-byte string literal not displayed */
	// dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)
	DAOForkBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 171-byte string literal not displayed */
	// dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork
	DAOForkSupport bool `` /* 130-byte string literal not displayed */
	// eip150_block: EIP150 implements the Gas price changes
	// (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork)
	EIP150Block *github_com_cosmos_cosmos_sdk_types.Int `` /* 164-byte string literal not displayed */
	// eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed)
	EIP150Hash string `protobuf:"bytes,5,opt,name=eip150_hash,json=eip150Hash,proto3" json:"eip150_hash,omitempty" yaml:"byzantium_block"`
	// eip155_block: EIP155Block HF block
	EIP155Block *github_com_cosmos_cosmos_sdk_types.Int `` /* 164-byte string literal not displayed */
	// eip158_block: EIP158 HF block
	EIP158Block *github_com_cosmos_cosmos_sdk_types.Int `` /* 164-byte string literal not displayed */
	// byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)
	ByzantiumBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 176-byte string literal not displayed */
	// constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)
	ConstantinopleBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 196-byte string literal not displayed */
	// petersburg_block: Petersburg switch block (nil same as Constantinople)
	PetersburgBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 181-byte string literal not displayed */
	// istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)
	IstanbulBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 173-byte string literal not displayed */
	// muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)
	MuirGlacierBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 188-byte string literal not displayed */
	// berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)
	BerlinBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 165-byte string literal not displayed */
	// london_block: London switch block (nil = no fork, 0 = already on london)
	LondonBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 165-byte string literal not displayed */
	// arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
	ArrowGlacierBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 192-byte string literal not displayed */
	// gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated)
	GrayGlacierBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 188-byte string literal not displayed */
	// merge_netsplit_block: Virtual fork after The Merge to use as a network splitter
	MergeNetsplitBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 196-byte string literal not displayed */
	// shanghai_block switch block (nil = no fork, 0 = already on shanghai)
	ShanghaiBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 173-byte string literal not displayed */
	// cancun_block switch block (nil = no fork, 0 = already on cancun)
	CancunBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 165-byte string literal not displayed */
}

ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int values instead of *big.Int.

func DefaultChainConfig

func DefaultChainConfig() ChainConfig

DefaultChainConfig returns default evm parameters.

func (*ChainConfig) Descriptor

func (*ChainConfig) Descriptor() ([]byte, []int)

func (ChainConfig) EthereumConfig

func (cc ChainConfig) EthereumConfig(currentBlock int64, chainID *big.Int) *params.ChainConfig

EthereumConfig returns an Ethereum ChainConfig for EVM states transitions. All the negative or nil values are converted to nil

func (*ChainConfig) GetDAOForkSupport

func (m *ChainConfig) GetDAOForkSupport() bool

func (*ChainConfig) GetEIP150Hash

func (m *ChainConfig) GetEIP150Hash() string

func (*ChainConfig) Marshal

func (m *ChainConfig) Marshal() (dAtA []byte, err error)

func (*ChainConfig) MarshalTo

func (m *ChainConfig) MarshalTo(dAtA []byte) (int, error)

func (*ChainConfig) MarshalToSizedBuffer

func (m *ChainConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ChainConfig) ProtoMessage

func (*ChainConfig) ProtoMessage()

func (*ChainConfig) Reset

func (m *ChainConfig) Reset()

func (*ChainConfig) Size

func (m *ChainConfig) Size() (n int)

func (*ChainConfig) String

func (m *ChainConfig) String() string

func (*ChainConfig) Unmarshal

func (m *ChainConfig) Unmarshal(dAtA []byte) error

func (ChainConfig) Validate

func (cc ChainConfig) Validate() error

Validate performs a basic validation of the ChainConfig params. The function will return an error if any of the block values is uninitialized (i.e nil) or if the EIP150Hash is an invalid hash.

func (*ChainConfig) XXX_DiscardUnknown

func (m *ChainConfig) XXX_DiscardUnknown()

func (*ChainConfig) XXX_Marshal

func (m *ChainConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ChainConfig) XXX_Merge

func (m *ChainConfig) XXX_Merge(src proto.Message)

func (*ChainConfig) XXX_Size

func (m *ChainConfig) XXX_Size() int

func (*ChainConfig) XXX_Unmarshal

func (m *ChainConfig) XXX_Unmarshal(b []byte) error

type GenesisAccount

type GenesisAccount struct {
	// address defines an ethereum hex formated address of an account
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// code defines the hex bytes of the account code.
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
	// storage defines the set of states key values for the account.
	Storage Storage `protobuf:"bytes,3,rep,name=storage,proto3,castrepeated=Storage" json:"storage"`
}

GenesisAccount defines an account to be initialized in the genesis states. Its main difference between with Geth's GenesisAccount is that it uses a custom storage type and that it doesn't contain the private key field.

func (*GenesisAccount) Descriptor

func (*GenesisAccount) Descriptor() ([]byte, []int)

func (*GenesisAccount) GetAddress

func (m *GenesisAccount) GetAddress() string

func (*GenesisAccount) GetCode

func (m *GenesisAccount) GetCode() string

func (*GenesisAccount) GetStorage

func (m *GenesisAccount) GetStorage() Storage

func (*GenesisAccount) Marshal

func (m *GenesisAccount) Marshal() (dAtA []byte, err error)

func (*GenesisAccount) MarshalTo

func (m *GenesisAccount) MarshalTo(dAtA []byte) (int, error)

func (*GenesisAccount) MarshalToSizedBuffer

func (m *GenesisAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GenesisAccount) ProtoMessage

func (*GenesisAccount) ProtoMessage()

func (*GenesisAccount) Reset

func (m *GenesisAccount) Reset()

func (*GenesisAccount) Size

func (m *GenesisAccount) Size() (n int)

func (*GenesisAccount) String

func (m *GenesisAccount) String() string

func (*GenesisAccount) Unmarshal

func (m *GenesisAccount) Unmarshal(dAtA []byte) error

func (GenesisAccount) Validate

func (ga GenesisAccount) Validate() error

Validate performs a basic validation of a GenesisAccount fields.

func (*GenesisAccount) XXX_DiscardUnknown

func (m *GenesisAccount) XXX_DiscardUnknown()

func (*GenesisAccount) XXX_Marshal

func (m *GenesisAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GenesisAccount) XXX_Merge

func (m *GenesisAccount) XXX_Merge(src proto.Message)

func (*GenesisAccount) XXX_Size

func (m *GenesisAccount) XXX_Size() int

func (*GenesisAccount) XXX_Unmarshal

func (m *GenesisAccount) XXX_Unmarshal(b []byte) error

type GenesisState

type GenesisState struct {
	// accounts is an array containing the ethereum genesis accounts.
	Accounts []GenesisAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts"`
	// params defines all the parameters of the module.
	Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"`
}

GenesisState defines the evm module's genesis states.

func DefaultGenesisState

func DefaultGenesisState() *GenesisState

DefaultGenesisState sets default evm genesis states with empty accounts and default params and chain config values.

func NewGenesisState

func NewGenesisState(params Params, accounts []GenesisAccount) *GenesisState

NewGenesisState creates a new genesis states.

func (*GenesisState) Descriptor

func (*GenesisState) Descriptor() ([]byte, []int)

func (*GenesisState) GetAccounts

func (m *GenesisState) GetAccounts() []GenesisAccount

func (*GenesisState) GetParams

func (m *GenesisState) GetParams() Params

func (*GenesisState) Marshal

func (m *GenesisState) Marshal() (dAtA []byte, err error)

func (*GenesisState) MarshalTo

func (m *GenesisState) MarshalTo(dAtA []byte) (int, error)

func (*GenesisState) MarshalToSizedBuffer

func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GenesisState) ProtoMessage

func (*GenesisState) ProtoMessage()

func (*GenesisState) Reset

func (m *GenesisState) Reset()

func (*GenesisState) Size

func (m *GenesisState) Size() (n int)

func (*GenesisState) String

func (m *GenesisState) String() string

func (*GenesisState) Unmarshal

func (m *GenesisState) Unmarshal(dAtA []byte) error

func (GenesisState) Validate

func (gs GenesisState) Validate() error

Validate performs basic genesis states validation returning an error upon any failure.

func (*GenesisState) XXX_DiscardUnknown

func (m *GenesisState) XXX_DiscardUnknown()

func (*GenesisState) XXX_Marshal

func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GenesisState) XXX_Merge

func (m *GenesisState) XXX_Merge(src proto.Message)

func (*GenesisState) XXX_Size

func (m *GenesisState) XXX_Size() int

func (*GenesisState) XXX_Unmarshal

func (m *GenesisState) XXX_Unmarshal(b []byte) error

type Log

type Log struct {
	// address of the contract that support the event
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// topics is a list of topics provided by the contract.
	Topics []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	// data which is supplied by the contract, usually ABI-encoded
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// block_number of the block in which the txs was included
	BlockNumber uint64 `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"blockNumber"`
	// tx_hash is the txs hash
	TxHash string `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3" json:"transactionHash"`
	// tx_index of the txs in the block
	TxIndex uint64 `protobuf:"varint,6,opt,name=tx_index,json=txIndex,proto3" json:"transactionIndex"`
	// block_hash of the block in which the txs was included
	BlockHash string `protobuf:"bytes,7,opt,name=block_hash,json=blockHash,proto3" json:"blockHash"`
	// index of the log in the block
	Index uint64 `protobuf:"varint,8,opt,name=index,proto3" json:"logIndex"`
	// removed is true if this log was reverted due to a chain
	// reorganisation. You must pay attention to this field if you receive logs
	// through a filter query.
	Removed bool `protobuf:"varint,9,opt,name=removed,proto3" json:"removed,omitempty"`
}

Log represents an protobuf compatible Ethereum Log that defines a contract log event. These events are support by the LOG opcode and stored/indexed by the node.

NOTE: address, topics and data are consensus fields. The rest of the fields are derived, i.e. filled in by the nodes, but not secured by consensus.

func NewLogFromEth

func NewLogFromEth(log *ethereum.Log) *Log

NewLogFromEth creates a new Log instance from a Ethereum type Log.

func NewLogsFromEth

func NewLogsFromEth(ethlogs []*ethereum.Log) []*Log

func (*Log) Descriptor

func (*Log) Descriptor() ([]byte, []int)

func (*Log) GetAddress

func (m *Log) GetAddress() string

func (*Log) GetBlockHash

func (m *Log) GetBlockHash() string

func (*Log) GetBlockNumber

func (m *Log) GetBlockNumber() uint64

func (*Log) GetData

func (m *Log) GetData() []byte

func (*Log) GetIndex

func (m *Log) GetIndex() uint64

func (*Log) GetRemoved

func (m *Log) GetRemoved() bool

func (*Log) GetTopics

func (m *Log) GetTopics() []string

func (*Log) GetTxHash

func (m *Log) GetTxHash() string

func (*Log) GetTxIndex

func (m *Log) GetTxIndex() uint64

func (*Log) Marshal

func (m *Log) Marshal() (dAtA []byte, err error)

func (*Log) MarshalTo

func (m *Log) MarshalTo(dAtA []byte) (int, error)

func (*Log) MarshalToSizedBuffer

func (m *Log) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Log) ProtoMessage

func (*Log) ProtoMessage()

func (*Log) Reset

func (m *Log) Reset()

func (*Log) Size

func (m *Log) Size() (n int)

func (*Log) String

func (m *Log) String() string

func (*Log) ToEthereum

func (log *Log) ToEthereum() *ethereum.Log

ToEthereum returns the Ethereum type Log from a artela proto compatible Log.

func (*Log) Unmarshal

func (m *Log) Unmarshal(dAtA []byte) error

func (*Log) Validate

func (log *Log) Validate() error

Validate performs a basic validation of an ethereum Log fields. Log represents a protobuf compatible Ethereum Log that defines a contract log event.

func (*Log) XXX_DiscardUnknown

func (m *Log) XXX_DiscardUnknown()

func (*Log) XXX_Marshal

func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Log) XXX_Merge

func (m *Log) XXX_Merge(src proto.Message)

func (*Log) XXX_Size

func (m *Log) XXX_Size() int

func (*Log) XXX_Unmarshal

func (m *Log) XXX_Unmarshal(b []byte) error

type Params

type Params struct {
	// evm_denom represents the token denomination used to run the EVM states
	// transitions.
	EvmDenom string `protobuf:"bytes,1,opt,name=evm_denom,json=evmDenom,proto3" json:"evm_denom,omitempty" yaml:"evm_denom"`
	// enable_create toggles states transitions that use the vm.Create function
	EnableCreate bool `protobuf:"varint,2,opt,name=enable_create,json=enableCreate,proto3" json:"enable_create,omitempty" yaml:"enable_create"`
	// enable_call toggles states transitions that use the vm.Call function
	EnableCall bool `protobuf:"varint,3,opt,name=enable_call,json=enableCall,proto3" json:"enable_call,omitempty" yaml:"enable_call"`
	// extra_eips defines the additional EIPs for the vm.Config
	ExtraEIPs []int64 `protobuf:"varint,4,rep,packed,name=extra_eips,json=extraEips,proto3" json:"extra_eips,omitempty" yaml:"extra_eips"`
	// chain_config defines the EVM chain configuration parameters
	ChainConfig ChainConfig `protobuf:"bytes,5,opt,name=chain_config,json=chainConfig,proto3" json:"chain_config" yaml:"chain_config"`
	// allow_unprotected_txs defines if replay-protected (i.e non EIP155
	// signed) transactions can be executed on the states machine.
	AllowUnprotectedTxs bool `protobuf:"varint,6,opt,name=allow_unprotected_txs,json=allowUnprotectedTxs,proto3" json:"allow_unprotected_txs,omitempty"`
}

Params defines the EVM module parameters

func DefaultParams

func DefaultParams() Params

DefaultParams returns default evm parameters ExtraEIPs is empty to prevent overriding the latest hard fork instruction set

func NewParams

func NewParams(evmDenom string, allowUnprotectedTxs, enableCreate, enableCall bool, config ChainConfig, extraEIPs []int64) Params

NewParams creates a new Params instance

func (*Params) Descriptor

func (*Params) Descriptor() ([]byte, []int)

func (Params) EIPs

func (p Params) EIPs() []int

EIPs returns the ExtraEIPS as a int slice

func (*Params) GetAllowUnprotectedTxs

func (m *Params) GetAllowUnprotectedTxs() bool

func (*Params) GetChainConfig

func (m *Params) GetChainConfig() ChainConfig

func (*Params) GetEnableCall

func (m *Params) GetEnableCall() bool

func (*Params) GetEnableCreate

func (m *Params) GetEnableCreate() bool

func (*Params) GetEvmDenom

func (m *Params) GetEvmDenom() string

func (*Params) GetExtraEIPs

func (m *Params) GetExtraEIPs() []int64

func (*Params) Marshal

func (m *Params) Marshal() (dAtA []byte, err error)

func (*Params) MarshalTo

func (m *Params) MarshalTo(dAtA []byte) (int, error)

func (*Params) MarshalToSizedBuffer

func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Params) ParamSetPairs deprecated

func (p *Params) ParamSetPairs() paramsmodule.ParamSetPairs

Deprecated: ParamSetPairs returns the parameter set pairs. Usage of x/params to manage parameters is deprecated in favor of x/gov controlled execution of MsgUpdateParams messages. These types remain solely for migration purposes and will be removed in a future release.

func (*Params) ProtoMessage

func (*Params) ProtoMessage()

func (*Params) Reset

func (m *Params) Reset()

func (*Params) Size

func (m *Params) Size() (n int)

func (*Params) String

func (m *Params) String() string

func (*Params) Unmarshal

func (m *Params) Unmarshal(dAtA []byte) error

func (Params) Validate

func (p Params) Validate() error

Validate performs basic validation on evm parameters.

func (*Params) XXX_DiscardUnknown

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal

func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Params) XXX_Merge

func (m *Params) XXX_Merge(src proto.Message)

func (*Params) XXX_Size

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal

func (m *Params) XXX_Unmarshal(b []byte) error

type State

type State struct {
	// key is the stored key
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// value is the stored value for the given key
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

State represents a single Storage key value pair item.

func NewState

func NewState(key, value common.Hash) State

NewState creates a new State instance

func (*State) Descriptor

func (*State) Descriptor() ([]byte, []int)

func (*State) GetKey

func (m *State) GetKey() string

func (*State) GetValue

func (m *State) GetValue() string

func (*State) Marshal

func (m *State) Marshal() (dAtA []byte, err error)

func (*State) MarshalTo

func (m *State) MarshalTo(dAtA []byte) (int, error)

func (*State) MarshalToSizedBuffer

func (m *State) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*State) ProtoMessage

func (*State) ProtoMessage()

func (*State) Reset

func (m *State) Reset()

func (*State) Size

func (m *State) Size() (n int)

func (*State) String

func (m *State) String() string

func (*State) Unmarshal

func (m *State) Unmarshal(dAtA []byte) error

func (State) Validate

func (s State) Validate() error

Validate performs a basic validation of the State fields. NOTE: states value can be empty State represents a single Storage key value pair item.

func (*State) XXX_DiscardUnknown

func (m *State) XXX_DiscardUnknown()

func (*State) XXX_Marshal

func (m *State) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*State) XXX_Merge

func (m *State) XXX_Merge(src proto.Message)

func (*State) XXX_Size

func (m *State) XXX_Size() int

func (*State) XXX_Unmarshal

func (m *State) XXX_Unmarshal(b []byte) error

type Storage

type Storage []State

Storage represents the account Storage map as a slice of single key value State pairs.

func (Storage) Copy

func (s Storage) Copy() Storage

Copy returns a copy of storage.

func (Storage) String

func (s Storage) String() string

String implements the stringer interface

func (Storage) Validate

func (s Storage) Validate() error

Validate performs a basic validation of the Storage fields.

type TraceConfig

type TraceConfig struct {
	// tracer is a custom javascript tracer
	Tracer string `protobuf:"bytes,1,opt,name=tracer,proto3" json:"tracer,omitempty"`
	// timeout overrides the default timeout of 5 seconds for JavaScript-based tracing
	// calls
	Timeout string `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// reexec defines the number of blocks the tracer is willing to go back
	Reexec uint64 `protobuf:"varint,3,opt,name=reexec,proto3" json:"reexec,omitempty"`
	// disable_stack switches stack capture
	DisableStack bool `protobuf:"varint,5,opt,name=disable_stack,json=disableStack,proto3" json:"disableStack"`
	// disable_storage switches storage capture
	DisableStorage bool `protobuf:"varint,6,opt,name=disable_storage,json=disableStorage,proto3" json:"disableStorage"`
	// debug can be used to print output during capture end
	Debug bool `protobuf:"varint,8,opt,name=debug,proto3" json:"debug,omitempty"`
	// limit defines the maximum length of output, but zero means unlimited
	Limit int32 `protobuf:"varint,9,opt,name=limit,proto3" json:"limit,omitempty"`
	// overrides can be used to execute a trace using future fork rules
	Overrides *ChainConfig `protobuf:"bytes,10,opt,name=overrides,proto3" json:"overrides,omitempty"`
	// enable_memory switches memory capture
	EnableMemory bool `protobuf:"varint,11,opt,name=enable_memory,json=enableMemory,proto3" json:"enableMemory"`
	// enable_return_data switches the capture of return data
	EnableReturnData bool `protobuf:"varint,12,opt,name=enable_return_data,json=enableReturnData,proto3" json:"enableReturnData"`
	// tracer_json_config configures the tracer using a JSON string
	TracerJsonConfig string `protobuf:"bytes,13,opt,name=tracer_json_config,json=tracerJsonConfig,proto3" json:"tracerConfig"`
}

TraceConfig holds extra parameters to trace functions.

func (*TraceConfig) Descriptor

func (*TraceConfig) Descriptor() ([]byte, []int)

func (*TraceConfig) GetDebug

func (m *TraceConfig) GetDebug() bool

func (*TraceConfig) GetDisableStack

func (m *TraceConfig) GetDisableStack() bool

func (*TraceConfig) GetDisableStorage

func (m *TraceConfig) GetDisableStorage() bool

func (*TraceConfig) GetEnableMemory

func (m *TraceConfig) GetEnableMemory() bool

func (*TraceConfig) GetEnableReturnData

func (m *TraceConfig) GetEnableReturnData() bool

func (*TraceConfig) GetLimit

func (m *TraceConfig) GetLimit() int32

func (*TraceConfig) GetOverrides

func (m *TraceConfig) GetOverrides() *ChainConfig

func (*TraceConfig) GetReexec

func (m *TraceConfig) GetReexec() uint64

func (*TraceConfig) GetTimeout

func (m *TraceConfig) GetTimeout() string

func (*TraceConfig) GetTracer

func (m *TraceConfig) GetTracer() string

func (*TraceConfig) GetTracerJsonConfig

func (m *TraceConfig) GetTracerJsonConfig() string

func (*TraceConfig) Marshal

func (m *TraceConfig) Marshal() (dAtA []byte, err error)

func (*TraceConfig) MarshalTo

func (m *TraceConfig) MarshalTo(dAtA []byte) (int, error)

func (*TraceConfig) MarshalToSizedBuffer

func (m *TraceConfig) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TraceConfig) ProtoMessage

func (*TraceConfig) ProtoMessage()

func (*TraceConfig) Reset

func (m *TraceConfig) Reset()

func (*TraceConfig) Size

func (m *TraceConfig) Size() (n int)

func (*TraceConfig) String

func (m *TraceConfig) String() string

func (*TraceConfig) Unmarshal

func (m *TraceConfig) Unmarshal(dAtA []byte) error

func (*TraceConfig) XXX_DiscardUnknown

func (m *TraceConfig) XXX_DiscardUnknown()

func (*TraceConfig) XXX_Marshal

func (m *TraceConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TraceConfig) XXX_Merge

func (m *TraceConfig) XXX_Merge(src proto.Message)

func (*TraceConfig) XXX_Size

func (m *TraceConfig) XXX_Size() int

func (*TraceConfig) XXX_Unmarshal

func (m *TraceConfig) XXX_Unmarshal(b []byte) error

type TransactionLogs

type TransactionLogs struct {
	// hash of the txs
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	// logs is an array of Logs for the given txs hash
	Logs []*Log `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs,omitempty"`
}

TransactionLogs define the logs support from a txs execution with a given hash. It it used for import/export data as transactions are not persisted on blockchain states after an upgrade.

func NewTransactionLogs

func NewTransactionLogs(hash common.Hash, logs []*Log) TransactionLogs

NewTransactionLogs creates a new NewTransactionLogs instance. TransactionLogs define the logs support from a txs execution with a given hash.

func NewTransactionLogsFromEth

func NewTransactionLogsFromEth(hash common.Hash, ethlogs []*ethereum.Log) TransactionLogs

NewTransactionLogsFromEth creates a new NewTransactionLogs instance using []*ethereum.Log.

func (*TransactionLogs) Descriptor

func (*TransactionLogs) Descriptor() ([]byte, []int)

func (TransactionLogs) EthLogs

func (tx TransactionLogs) EthLogs() []*ethereum.Log

EthLogs returns the Ethereum type Logs from the Transaction Logs.

func (*TransactionLogs) GetHash

func (m *TransactionLogs) GetHash() string

func (*TransactionLogs) GetLogs

func (m *TransactionLogs) GetLogs() []*Log

func (*TransactionLogs) Marshal

func (m *TransactionLogs) Marshal() (dAtA []byte, err error)

func (*TransactionLogs) MarshalTo

func (m *TransactionLogs) MarshalTo(dAtA []byte) (int, error)

func (*TransactionLogs) MarshalToSizedBuffer

func (m *TransactionLogs) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TransactionLogs) ProtoMessage

func (*TransactionLogs) ProtoMessage()

func (*TransactionLogs) Reset

func (m *TransactionLogs) Reset()

func (*TransactionLogs) Size

func (m *TransactionLogs) Size() (n int)

func (*TransactionLogs) String

func (m *TransactionLogs) String() string

func (*TransactionLogs) Unmarshal

func (m *TransactionLogs) Unmarshal(dAtA []byte) error

func (TransactionLogs) Validate

func (tx TransactionLogs) Validate() error

Validate performs a basic validation of a GenesisAccount fields.

func (*TransactionLogs) XXX_DiscardUnknown

func (m *TransactionLogs) XXX_DiscardUnknown()

func (*TransactionLogs) XXX_Marshal

func (m *TransactionLogs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TransactionLogs) XXX_Merge

func (m *TransactionLogs) XXX_Merge(src proto.Message)

func (*TransactionLogs) XXX_Size

func (m *TransactionLogs) XXX_Size() int

func (*TransactionLogs) XXX_Unmarshal

func (m *TransactionLogs) XXX_Unmarshal(b []byte) error

type TxResult

type TxResult struct {
	// contract_address contains the ethereum address of the created contract (if
	// any). If the states transition is an evm.Call, the contract address will be
	// empty.
	ContractAddress string `` /* 130-byte string literal not displayed */
	// bloom represents the bloom filter bytes
	Bloom []byte `protobuf:"bytes,2,opt,name=bloom,proto3" json:"bloom,omitempty"`
	// tx_logs contains the txs hash and the proto-compatible ethereum
	// logs.
	TxLogs TransactionLogs `protobuf:"bytes,3,opt,name=tx_logs,json=txLogs,proto3" json:"tx_logs" yaml:"tx_logs"`
	// ret defines the bytes from the execution.
	Ret []byte `protobuf:"bytes,4,opt,name=ret,proto3" json:"ret,omitempty"`
	// reverted flag is set to true when the call has been reverted
	Reverted bool `protobuf:"varint,5,opt,name=reverted,proto3" json:"reverted,omitempty"`
	// gas_used notes the amount of gas consumed while execution
	GasUsed uint64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
}

TxResult stores results of Tx execution.

func (*TxResult) Descriptor

func (*TxResult) Descriptor() ([]byte, []int)

func (*TxResult) Marshal

func (m *TxResult) Marshal() (dAtA []byte, err error)

func (*TxResult) MarshalTo

func (m *TxResult) MarshalTo(dAtA []byte) (int, error)

func (*TxResult) MarshalToSizedBuffer

func (m *TxResult) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TxResult) ProtoMessage

func (*TxResult) ProtoMessage()

func (*TxResult) Reset

func (m *TxResult) Reset()

func (*TxResult) Size

func (m *TxResult) Size() (n int)

func (*TxResult) String

func (m *TxResult) String() string

func (*TxResult) Unmarshal

func (m *TxResult) Unmarshal(dAtA []byte) error

func (*TxResult) XXX_DiscardUnknown

func (m *TxResult) XXX_DiscardUnknown()

func (*TxResult) XXX_Marshal

func (m *TxResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TxResult) XXX_Merge

func (m *TxResult) XXX_Merge(src proto.Message)

func (*TxResult) XXX_Size

func (m *TxResult) XXX_Size() int

func (*TxResult) XXX_Unmarshal

func (m *TxResult) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

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