types

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2023 License: Apache-2.0 Imports: 55 Imported by: 0

Documentation

Overview

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	EventTypeEthereumTx = TypeMsgEthereumTx
	EventTypeBlockBloom = "block_bloom"
	EventTypeTxLog      = "tx_log"

	AttributeKeyContractAddress = "contract"
	AttributeKeyRecipient       = "recipient"
	AttributeKeyTxHash          = "txHash"
	AttributeKeyEthereumTxHash  = "ethereumTxHash"
	AttributeKeyTxIndex         = "txIndex"
	AttributeKeyTxGasUsed       = "txGasUsed"
	AttributeKeyTxType          = "txType"
	AttributeKeyTxLog           = "txLog"
	// tx failed in eth vm execution
	AttributeKeyEthereumTxFailed = "ethereumTxFailed"
	AttributeValueCategory       = ModuleName
	AttributeKeyEthereumBloom    = "bloom"

	MetricKeyTransitionDB = "transition_db"
	MetricKeyStaticCall   = "static_call"

	EventTypeFeeMarket  = "fee_market"
	AttributeKeyBaseFee = "base_fee"
)

Evm module events

View Source
const (
	// ModuleName string name of module
	ModuleName = "evm"

	// StoreKey key for ethereum storage data, account code (StateDB) or block
	// related data for Web3.
	// The EVM module should use a prefix store.
	StoreKey = ModuleName

	// TransientKey is the key to access the EVM transient store, that is reset
	// during the Commit phase.
	TransientKey = "transient_" + ModuleName

	// RouterKey uses module name for routing
	RouterKey = ModuleName
)
View Source
const (
	TracerAccessList = "access_list"
	TracerJSON       = "json"
	TracerStruct     = "struct"
	TracerMarkdown   = "markdown"
)
View Source
const (
	DefaultEVMDenom = stratos.Wei
)
View Source
const (
	// TypeMsgEthereumTx defines the type string of an Ethereum transaction
	TypeMsgEthereumTx = "ethereum_tx"
)

message type and route constants

Variables

View Source
var (
	// ErrInvalidState returns an error resulting from an invalid Storage State.
	ErrInvalidState = sdkerrors.Register(ModuleName, codeErrInvalidState, "invalid storage state")

	// ErrExecutionReverted returns an error resulting from an error in EVM execution.
	ErrExecutionReverted = sdkerrors.Register(ModuleName, codeErrExecutionReverted, vm.ErrExecutionReverted.Error())

	// ErrChainConfigNotFound returns an error if the chain config cannot be found on the store.
	ErrChainConfigNotFound = sdkerrors.Register(ModuleName, codeErrChainConfigNotFound, "chain configuration not found")

	// ErrInvalidChainConfig returns an error resulting from an invalid ChainConfig.
	ErrInvalidChainConfig = sdkerrors.Register(ModuleName, codeErrInvalidChainConfig, "invalid chain configuration")

	// ErrZeroAddress returns an error resulting from an zero (empty) ethereum Address.
	ErrZeroAddress = sdkerrors.Register(ModuleName, codeErrZeroAddress, "invalid zero address")

	// ErrEmptyHash returns an error resulting from an empty ethereum Hash.
	ErrEmptyHash = sdkerrors.Register(ModuleName, codeErrEmptyHash, "empty hash")

	// ErrBloomNotFound returns an error if the block bloom cannot be found on the store.
	ErrBloomNotFound = sdkerrors.Register(ModuleName, codeErrBloomNotFound, "block bloom not found")

	// ErrTxReceiptNotFound returns an error if the transaction receipt could not be found
	ErrTxReceiptNotFound = sdkerrors.Register(ModuleName, codeErrTxReceiptNotFound, "transaction receipt not found")

	// ErrCreateDisabled returns an error if the EnableCreate parameter is false.
	ErrCreateDisabled = sdkerrors.Register(ModuleName, codeErrCreateDisabled, "EVM Create operation is disabled")

	// ErrCallDisabled returns an error if the EnableCall parameter is false.
	ErrCallDisabled = sdkerrors.Register(ModuleName, codeErrCallDisabled, "EVM Call operation is disabled")

	// ErrInvalidAmount returns an error if a tx contains an invalid amount.
	ErrInvalidAmount = sdkerrors.Register(ModuleName, codeErrInvalidAmount, "invalid transaction amount")

	// ErrInvalidGasPrice returns an error if an invalid gas price is provided to the tx.
	ErrInvalidGasPrice = sdkerrors.Register(ModuleName, codeErrInvalidGasPrice, "invalid gas price")

	// ErrInvalidGasFee returns an error if the tx gas fee is out of bound.
	ErrInvalidGasFee = sdkerrors.Register(ModuleName, codeErrInvalidGasFee, "invalid gas fee")

	// ErrVMExecution returns an error resulting from an error in EVM execution.
	ErrVMExecution = sdkerrors.Register(ModuleName, codeErrVMExecution, "evm transaction execution failed")

	// ErrInvalidRefund returns an error if a the gas refund value is invalid.
	ErrInvalidRefund = sdkerrors.Register(ModuleName, codeErrInvalidRefund, "invalid gas refund amount")

	// ErrInconsistentGas returns an error if a the gas differs from the expected one.
	ErrInconsistentGas = sdkerrors.Register(ModuleName, codeErrInconsistentGas, "inconsistent gas")

	// ErrInvalidGasCap returns an error if a the gas cap value is negative or invalid
	ErrInvalidGasCap = sdkerrors.Register(ModuleName, codeErrInvalidGasCap, "invalid gas cap")

	// ErrInvalidBaseFee returns an error if a the base fee cap value is invalid
	ErrInvalidBaseFee = sdkerrors.Register(ModuleName, codeErrInvalidBaseFee, "invalid base fee")

	// ErrGasOverflow returns an error if gas computation overlow/underflow
	ErrGasOverflow = sdkerrors.Register(ModuleName, codeErrGasOverflow, "gas computation overflow/underflow")

	// ErrInvalidAccount returns an error if the account is not an EVM compatible account
	ErrInvalidAccount = sdkerrors.Register(ModuleName, codeErrInvalidAccount, "account type is not a valid ethereum account")
)
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 (
	KeyPrefixCode    = []byte{prefixCode}
	KeyPrefixStorage = []byte{prefixStorage}
)

KVStore key prefixes

View Source
var (
	KeyPrefixTransientBloom   = []byte{prefixTransientBloom}
	KeyPrefixTransientTxIndex = []byte{prefixTransientTxIndex}
	KeyPrefixTransientLogSize = []byte{prefixTransientLogSize}
	KeyPrefixTransientGasUsed = []byte{prefixTransientGasUsed}
	KeyPrefixBlockGasUsed     = []byte{prefixBlockGasUsed}
)

Transient Store key prefixes

View Source
var (
	ParamStoreKeyEVMDenom     = []byte("EVMDenom")
	ParamStoreKeyEnableCreate = []byte("EnableCreate")
	ParamStoreKeyEnableCall   = []byte("EnableCall")
	ParamStoreKeyExtraEIPs    = []byte("EnableExtraEIPs")
	ParamStoreKeyChainConfig  = []byte("ChainConfig")

	// 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
	AvailableExtraEIPs = []int64{1344, 1884, 2200, 2929, 3198, 3529}

	// fee market
	ParamStoreKeyNoBaseFee                = []byte("NoBaseFee")
	ParamStoreKeyBaseFeeChangeDenominator = []byte("BaseFeeChangeDenominator")
	ParamStoreKeyElasticityMultiplier     = []byte("ElasticityMultiplier")
	ParamStoreKeyBaseFee                  = []byte("BaseFee")
	ParamStoreKeyEnableHeight             = []byte("EnableHeight")
)

Parameter keys

View Source
var (
	ErrInvalidLengthQuery        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowQuery          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)
View Source
var EmptyCodeHash = crypto.Keccak256(nil)
View Source
var ErrPostTxProcessing = errors.New("failed to execute post processing")

Functions

func AddressStoragePrefix

func AddressStoragePrefix(address common.Address) []byte

AddressStoragePrefix returns a prefix to iterate over a given account storage.

func BinSearch

func BinSearch(lo, hi uint64, executable func(uint64) (bool, *MsgEthereumTxResponse, error)) (uint64, error)

BinSearch execute the binary search and hone in on an executable gas limit

func DeriveChainID

func DeriveChainID(v *big.Int) *big.Int

DeriveChainID derives the chain id from the given v parameter.

CONTRACT: v value is either:

  • {0,1} + CHAIN_ID * 2 + 35, if EIP155 is used
  • {0,1} + 27, otherwise

Ref: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md

func EncodeTransactionLogs

func EncodeTransactionLogs(res *TransactionLogs) ([]byte, error)

EncodeTransactionLogs encodes TransactionLogs slice into a protobuf-encoded byte slice.

func IsLondon

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

IsLondon returns if london hardfork is enabled.

func IsValidInt256

func IsValidInt256(i *big.Int) bool

IsValidInt256 check the bound of 256 bit number

func LogsToEthereum

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

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

func NewTracer

func NewTracer(tracer string, msg core.Message, cfg *params.ChainConfig, height int64) vm.EVMLogger

NewTracer creates a new Logger tracer to collect execution traces from an EVM transaction.

func PackTxData

func PackTxData(txData TxData) (*codectypes.Any, error)

PackClientState constructs a new Any packed with the given tx data value. It returns an error if the client state can't be casted to a protobuf message or if the concrete implemention is not registered to the protobuf codec.

func ParamKeyTable

func ParamKeyTable() paramtypes.KeyTable

ParamKeyTable returns the parameter key table.

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces registers the client interfaces to protobuf Any.

func RegisterMsgHandler

func RegisterMsgHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterMsgHandler registers the http handlers for service Msg to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterMsgHandlerClient

func RegisterMsgHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MsgClient) error

RegisterMsgHandlerClient registers the http handlers for service Msg to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MsgClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MsgClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "MsgClient" to call the correct interceptors.

func RegisterMsgHandlerFromEndpoint

func RegisterMsgHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterMsgHandlerFromEndpoint is same as RegisterMsgHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterMsgHandlerServer

func RegisterMsgHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MsgServer) error

RegisterMsgHandlerServer registers the http handlers for service Msg to "mux". UnaryRPC :call MsgServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterMsgHandlerFromEndpoint instead.

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

func RegisterQueryHandler

func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterQueryHandler registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterQueryHandlerClient

func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error

RegisterQueryHandlerClient registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "QueryClient" to call the correct interceptors.

func RegisterQueryHandlerFromEndpoint

func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterQueryHandlerServer

func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error

RegisterQueryHandlerServer registers the http handlers for service Query to "mux". UnaryRPC :call QueryServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterQueryHandlerFromEndpoint instead.

func RegisterQueryServer

func RegisterQueryServer(s grpc1.Server, srv QueryServer)

func SafeNewIntFromBigInt

func SafeNewIntFromBigInt(i *big.Int) (sdk.Int, error)

SafeNewIntFromBigInt constructs Int from big.Int, return error if more than 256bits

func StateKey

func StateKey(address common.Address, key []byte) []byte

StateKey defines the full key under which an account state is stored.

Types

type AccessList

type AccessList []AccessTuple

AccessList is an EIP-2930 access list that represents the slice of the protobuf AccessTuples.

func NewAccessList

func NewAccessList(ethAccessList *ethtypes.AccessList) AccessList

NewAccessList creates a new protobuf-compatible AccessList from an ethereum core AccessList type

func (AccessList) ToEthAccessList

func (al AccessList) ToEthAccessList() *ethtypes.AccessList

ToEthAccessList is an utility function to convert the protobuf compatible AccessList to eth core AccessList from go-ethereum

type AccessListTx

type AccessListTx struct {
	// destination EVM chain ID
	ChainID *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"chainID"`
	// nonce corresponds to the account nonce (transaction sequence).
	Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// gas price defines the value for each gas unit
	GasPrice *github_com_cosmos_cosmos_sdk_types.Int `` /* 135-byte string literal not displayed */
	// gas defines the gas limit defined for the transaction.
	GasLimit uint64 `protobuf:"varint,4,opt,name=gas,proto3" json:"gas,omitempty"`
	// hex formatted address of the recipient
	To string `protobuf:"bytes,5,opt,name=to,proto3" json:"to,omitempty"`
	// value defines the unsigned integer value of the transaction amount.
	Amount *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=value,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"value,omitempty"`
	// input defines the data payload bytes of the transaction.
	Data     []byte     `protobuf:"bytes,7,opt,name=data,proto3" json:"data,omitempty"`
	Accesses AccessList `protobuf:"bytes,8,rep,name=accesses,proto3,castrepeated=AccessList" json:"accessList"`
	// v defines the signature value
	V []byte `protobuf:"bytes,9,opt,name=v,proto3" json:"v,omitempty"`
	// r defines the signature value
	R []byte `protobuf:"bytes,10,opt,name=r,proto3" json:"r,omitempty"`
	// s define the signature value
	S []byte `protobuf:"bytes,11,opt,name=s,proto3" json:"s,omitempty"`
}

AccessListTx is the data of EIP-2930 access list transactions.

func (*AccessListTx) AsEthereumData

func (tx *AccessListTx) AsEthereumData() ethtypes.TxData

AsEthereumData returns an AccessListTx transaction tx from the proto-formatted TxData defined on the Cosmos EVM.

func (*AccessListTx) Copy

func (tx *AccessListTx) Copy() TxData

Copy returns an instance with the same field values

func (AccessListTx) Cost

func (tx AccessListTx) Cost() *big.Int

Cost returns amount + gasprice * gaslimit.

func (*AccessListTx) Descriptor

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

func (AccessListTx) EffectiveCost

func (tx AccessListTx) EffectiveCost(baseFee *big.Int) *big.Int

EffectiveCost is the same as Cost for AccessListTx

func (AccessListTx) EffectiveFee

func (tx AccessListTx) EffectiveFee(baseFee *big.Int) *big.Int

EffectiveFee is the same as Fee for AccessListTx

func (AccessListTx) Fee

func (tx AccessListTx) Fee() *big.Int

Fee returns gasprice * gaslimit.

func (*AccessListTx) GetAccessList

func (tx *AccessListTx) GetAccessList() ethtypes.AccessList

GetAccessList returns the AccessList field.

func (*AccessListTx) GetChainID

func (tx *AccessListTx) GetChainID() *big.Int

GetChainID returns the chain id field from the AccessListTx

func (*AccessListTx) GetData

func (tx *AccessListTx) GetData() []byte

GetData returns the a copy of the input data bytes.

func (*AccessListTx) GetGas

func (tx *AccessListTx) GetGas() uint64

GetGas returns the gas limit.

func (*AccessListTx) GetGasFeeCap

func (tx *AccessListTx) GetGasFeeCap() *big.Int

GetGasFeeCap returns the gas price field.

func (*AccessListTx) GetGasPrice

func (tx *AccessListTx) GetGasPrice() *big.Int

GetGasPrice returns the gas price field.

func (*AccessListTx) GetGasTipCap

func (tx *AccessListTx) GetGasTipCap() *big.Int

GetGasTipCap returns the gas price field.

func (*AccessListTx) GetNonce

func (tx *AccessListTx) GetNonce() uint64

GetNonce returns the account sequence for the transaction.

func (*AccessListTx) GetRawSignatureValues

func (tx *AccessListTx) GetRawSignatureValues() (v, r, s *big.Int)

GetRawSignatureValues returns the V, R, S signature values of the transaction. The return values should not be modified by the caller.

func (*AccessListTx) GetTo

func (tx *AccessListTx) GetTo() *common.Address

GetTo returns the pointer to the recipient address.

func (*AccessListTx) GetValue

func (tx *AccessListTx) GetValue() *big.Int

GetValue returns the tx amount.

func (*AccessListTx) Marshal

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

func (*AccessListTx) MarshalTo

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

func (*AccessListTx) MarshalToSizedBuffer

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

func (*AccessListTx) ProtoMessage

func (*AccessListTx) ProtoMessage()

func (*AccessListTx) Reset

func (m *AccessListTx) Reset()

func (*AccessListTx) SetSignatureValues

func (tx *AccessListTx) SetSignatureValues(chainID, v, r, s *big.Int)

SetSignatureValues sets the signature values to the transaction.

func (*AccessListTx) Size

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

func (*AccessListTx) String

func (m *AccessListTx) String() string

func (*AccessListTx) TxType

func (tx *AccessListTx) TxType() uint8

TxType returns the tx type

func (*AccessListTx) Unmarshal

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

func (AccessListTx) Validate

func (tx AccessListTx) Validate() error

Validate performs a stateless validation of the tx fields.

func (*AccessListTx) XXX_DiscardUnknown

func (m *AccessListTx) XXX_DiscardUnknown()

func (*AccessListTx) XXX_Marshal

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

func (*AccessListTx) XXX_Merge

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

func (*AccessListTx) XXX_Size

func (m *AccessListTx) XXX_Size() int

func (*AccessListTx) XXX_Unmarshal

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

type AccessTuple

type AccessTuple struct {
	// hex formatted ethereum address
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// 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 AccountKeeper

type AccountKeeper interface {
	NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
	GetModuleAddress(moduleName string) sdk.AccAddress
	GetAllAccounts(ctx sdk.Context) (accounts []authtypes.AccountI)
	IterateAccounts(ctx sdk.Context, cb func(account authtypes.AccountI) bool)
	GetSequence(sdk.Context, sdk.AccAddress) (uint64, error)
	GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
	SetAccount(ctx sdk.Context, account authtypes.AccountI)
	RemoveAccount(ctx sdk.Context, account authtypes.AccountI)
	GetParams(ctx sdk.Context) (params authtypes.Params)
}

AccountKeeper defines the expected account keeper interface

type BankKeeper

type BankKeeper interface {
	GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
	// SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error
	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
	MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
	BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
}

BankKeeper defines the expected interface needed to retrieve account balances.

type ChainConfig

type ChainConfig struct {
	// chainId identifies the current chain and is used for replay protection
	ChainID *github_com_cosmos_cosmos_sdk_types.Int `` /* 148-byte string literal not displayed */
	// Homestead switch block (nil no fork, 0 = already homestead)
	HomesteadBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 176-byte string literal not displayed */
	// TheDAO hard-fork switch block (nil no fork)
	DAOForkBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 171-byte string literal not displayed */
	// Whether the nodes supports or opposes the DAO hard-fork
	DAOForkSupport bool `` /* 130-byte string literal not displayed */
	// 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 HF hash (needed for header only clients as only gas pricing changed)
	EIP150Hash string `protobuf:"bytes,6,opt,name=eip150_hash,json=eip150Hash,proto3" json:"eip150_hash,omitempty" yaml:"byzantium_block"`
	// EIP155Block HF block
	EIP155Block *github_com_cosmos_cosmos_sdk_types.Int `` /* 164-byte string literal not displayed */
	// EIP158 HF block
	EIP158Block *github_com_cosmos_cosmos_sdk_types.Int `` /* 164-byte string literal not displayed */
	// 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 switch block (nil no fork, 0 = already activated)
	ConstantinopleBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 197-byte string literal not displayed */
	// Petersburg switch block (nil same as Constantinople)
	PetersburgBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 181-byte string literal not displayed */
	// Istanbul switch block (nil no fork, 0 = already on istanbul)
	IstanbulBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 173-byte string literal not displayed */
	// 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 switch block (nil = no fork, 0 = already on berlin)
	BerlinBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 165-byte string literal not displayed */
	// London switch block (nil = no fork, 0 = already on london)
	LondonBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 165-byte string literal not displayed */
	// 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 */
	// EIP-3675 (TheMerge) switch block (nil = no fork, 0 = already in merge proceedings)
	MergeForkBlock *github_com_cosmos_cosmos_sdk_types.Int `` /* 180-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() *params.ChainConfig

EthereumConfig returns an Ethereum ChainConfig for EVM state 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 CompiledContract

type CompiledContract struct {
	ABI abi.ABI
	Bin HexString
}

CompiledContract contains compiled bytecode and abi

var (

	// ERC20Contract is the compiled test erc20 contract
	ERC20Contract CompiledContract

	// SimpleStorageContract is the compiled test simple storage contract
	SimpleStorageContract CompiledContract

	// TestMessageCall is the compiled message call benchmark contract
	TestMessageCall CompiledContract
)

func (CompiledContract) MarshalJSON

func (s CompiledContract) MarshalJSON() ([]byte, error)

MarshalJSON serializes ByteArray to hex

func (*CompiledContract) UnmarshalJSON

func (s *CompiledContract) UnmarshalJSON(data []byte) error

UnmarshalJSON deserializes ByteArray to hex

type DynamicFeeTx

type DynamicFeeTx struct {
	// destination EVM chain ID
	ChainID *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"chainID"`
	// nonce corresponds to the account nonce (transaction sequence).
	Nonce uint64 `protobuf:"varint,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// gas tip cap defines the max value for the gas tip
	GasTipCap *github_com_cosmos_cosmos_sdk_types.Int `` /* 140-byte string literal not displayed */
	// gas fee cap defines the max value for the gas fee
	GasFeeCap *github_com_cosmos_cosmos_sdk_types.Int `` /* 140-byte string literal not displayed */
	// gas defines the gas limit defined for the transaction.
	GasLimit uint64 `protobuf:"varint,5,opt,name=gas,proto3" json:"gas,omitempty"`
	// hex formatted address of the recipient
	To string `protobuf:"bytes,6,opt,name=to,proto3" json:"to,omitempty"`
	// value defines the the transaction amount.
	Amount *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,7,opt,name=value,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"value,omitempty"`
	// input defines the data payload bytes of the transaction.
	Data     []byte     `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"`
	Accesses AccessList `protobuf:"bytes,9,rep,name=accesses,proto3,castrepeated=AccessList" json:"accessList"`
	// v defines the signature value
	V []byte `protobuf:"bytes,10,opt,name=v,proto3" json:"v,omitempty"`
	// r defines the signature value
	R []byte `protobuf:"bytes,11,opt,name=r,proto3" json:"r,omitempty"`
	// s define the signature value
	S []byte `protobuf:"bytes,12,opt,name=s,proto3" json:"s,omitempty"`
}

DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.

func (*DynamicFeeTx) AsEthereumData

func (tx *DynamicFeeTx) AsEthereumData() ethtypes.TxData

AsEthereumData returns an DynamicFeeTx transaction tx from the proto-formatted TxData defined on the Cosmos EVM.

func (*DynamicFeeTx) Copy

func (tx *DynamicFeeTx) Copy() TxData

Copy returns an instance with the same field values

func (DynamicFeeTx) Cost

func (tx DynamicFeeTx) Cost() *big.Int

Cost returns amount + gasprice * gaslimit.

func (*DynamicFeeTx) Descriptor

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

func (DynamicFeeTx) EffectiveCost

func (tx DynamicFeeTx) EffectiveCost(baseFee *big.Int) *big.Int

EffectiveCost returns amount + effective_gasprice * gaslimit.

func (DynamicFeeTx) EffectiveFee

func (tx DynamicFeeTx) EffectiveFee(baseFee *big.Int) *big.Int

EffectiveFee returns effective_gasprice * gaslimit.

func (DynamicFeeTx) Fee

func (tx DynamicFeeTx) Fee() *big.Int

Fee returns gasprice * gaslimit.

func (*DynamicFeeTx) GetAccessList

func (tx *DynamicFeeTx) GetAccessList() ethtypes.AccessList

GetAccessList returns the AccessList field.

func (*DynamicFeeTx) GetChainID

func (tx *DynamicFeeTx) GetChainID() *big.Int

GetChainID returns the chain id field from the DynamicFeeTx

func (*DynamicFeeTx) GetData

func (tx *DynamicFeeTx) GetData() []byte

GetData returns the a copy of the input data bytes.

func (*DynamicFeeTx) GetEffectiveGasPrice

func (tx *DynamicFeeTx) GetEffectiveGasPrice(baseFee *big.Int) *big.Int

GetEffectiveGasPrice returns the effective gas price

func (*DynamicFeeTx) GetGas

func (tx *DynamicFeeTx) GetGas() uint64

GetGas returns the gas limit.

func (*DynamicFeeTx) GetGasFeeCap

func (tx *DynamicFeeTx) GetGasFeeCap() *big.Int

GetGasFeeCap returns the gas fee cap field.

func (*DynamicFeeTx) GetGasPrice

func (tx *DynamicFeeTx) GetGasPrice() *big.Int

GetGasPrice returns the gas fee cap field.

func (*DynamicFeeTx) GetGasTipCap

func (tx *DynamicFeeTx) GetGasTipCap() *big.Int

GetGasTipCap returns the gas tip cap field.

func (*DynamicFeeTx) GetNonce

func (tx *DynamicFeeTx) GetNonce() uint64

GetNonce returns the account sequence for the transaction.

func (*DynamicFeeTx) GetRawSignatureValues

func (tx *DynamicFeeTx) GetRawSignatureValues() (v, r, s *big.Int)

GetRawSignatureValues returns the V, R, S signature values of the transaction. The return values should not be modified by the caller.

func (*DynamicFeeTx) GetTo

func (tx *DynamicFeeTx) GetTo() *common.Address

GetTo returns the pointer to the recipient address.

func (*DynamicFeeTx) GetValue

func (tx *DynamicFeeTx) GetValue() *big.Int

GetValue returns the tx amount.

func (*DynamicFeeTx) Marshal

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

func (*DynamicFeeTx) MarshalTo

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

func (*DynamicFeeTx) MarshalToSizedBuffer

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

func (*DynamicFeeTx) ProtoMessage

func (*DynamicFeeTx) ProtoMessage()

func (*DynamicFeeTx) Reset

func (m *DynamicFeeTx) Reset()

func (*DynamicFeeTx) SetSignatureValues

func (tx *DynamicFeeTx) SetSignatureValues(chainID, v, r, s *big.Int)

SetSignatureValues sets the signature values to the transaction.

func (*DynamicFeeTx) Size

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

func (*DynamicFeeTx) String

func (m *DynamicFeeTx) String() string

func (*DynamicFeeTx) TxType

func (tx *DynamicFeeTx) TxType() uint8

TxType returns the tx type

func (*DynamicFeeTx) Unmarshal

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

func (DynamicFeeTx) Validate

func (tx DynamicFeeTx) Validate() error

Validate performs a stateless validation of the tx fields.

func (*DynamicFeeTx) XXX_DiscardUnknown

func (m *DynamicFeeTx) XXX_DiscardUnknown()

func (*DynamicFeeTx) XXX_Marshal

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

func (*DynamicFeeTx) XXX_Merge

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

func (*DynamicFeeTx) XXX_Size

func (m *DynamicFeeTx) XXX_Size() int

func (*DynamicFeeTx) XXX_Unmarshal

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

type EVMConfig

type EVMConfig struct {
	Params      Params
	ChainConfig *params.ChainConfig
	CoinBase    common.Address
	BaseFee     *big.Int
}

EVMConfig encapulates common parameters needed to create an EVM to execute a message It's mainly to reduce the number of method parameters

type EstimateGasResponse

type EstimateGasResponse struct {
	// the estimated gas
	Gas uint64 `protobuf:"varint,1,opt,name=gas,proto3" json:"gas,omitempty"`
}

EstimateGasResponse defines EstimateGas response

func (*EstimateGasResponse) Descriptor

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

func (*EstimateGasResponse) GetGas

func (m *EstimateGasResponse) GetGas() uint64

func (*EstimateGasResponse) Marshal

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

func (*EstimateGasResponse) MarshalTo

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

func (*EstimateGasResponse) MarshalToSizedBuffer

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

func (*EstimateGasResponse) ProtoMessage

func (*EstimateGasResponse) ProtoMessage()

func (*EstimateGasResponse) Reset

func (m *EstimateGasResponse) Reset()

func (*EstimateGasResponse) Size

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

func (*EstimateGasResponse) String

func (m *EstimateGasResponse) String() string

func (*EstimateGasResponse) Unmarshal

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

func (*EstimateGasResponse) XXX_DiscardUnknown

func (m *EstimateGasResponse) XXX_DiscardUnknown()

func (*EstimateGasResponse) XXX_Marshal

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

func (*EstimateGasResponse) XXX_Merge

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

func (*EstimateGasResponse) XXX_Size

func (m *EstimateGasResponse) XXX_Size() int

func (*EstimateGasResponse) XXX_Unmarshal

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

type EthCallRequest

type EthCallRequest struct {
	// same json format as the json rpc api.
	Args []byte `protobuf:"bytes,1,opt,name=args,proto3" json:"args,omitempty"`
	// the default gas cap to be used
	GasCap uint64 `protobuf:"varint,2,opt,name=gas_cap,json=gasCap,proto3" json:"gas_cap,omitempty"`
}

EthCallRequest defines EthCall request

func (*EthCallRequest) Descriptor

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

func (*EthCallRequest) GetArgs

func (m *EthCallRequest) GetArgs() []byte

func (*EthCallRequest) GetGasCap

func (m *EthCallRequest) GetGasCap() uint64

func (*EthCallRequest) Marshal

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

func (*EthCallRequest) MarshalTo

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

func (*EthCallRequest) MarshalToSizedBuffer

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

func (*EthCallRequest) ProtoMessage

func (*EthCallRequest) ProtoMessage()

func (*EthCallRequest) Reset

func (m *EthCallRequest) Reset()

func (*EthCallRequest) Size

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

func (*EthCallRequest) String

func (m *EthCallRequest) String() string

func (*EthCallRequest) Unmarshal

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

func (*EthCallRequest) XXX_DiscardUnknown

func (m *EthCallRequest) XXX_DiscardUnknown()

func (*EthCallRequest) XXX_Marshal

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

func (*EthCallRequest) XXX_Merge

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

func (*EthCallRequest) XXX_Size

func (m *EthCallRequest) XXX_Size() int

func (*EthCallRequest) XXX_Unmarshal

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

type EvmHooks

type EvmHooks interface {
	// Must be called after tx is processed successfully, if return an error, the whole transaction is reverted.
	PostTxProcessing(ctx sdk.Context, msg core.Message, receipt *ethtypes.Receipt) error
}

EvmHooks event hooks for evm tx processing

type ExecutionResult

type ExecutionResult struct {
	Gas         uint64         `json:"gas"`
	Failed      bool           `json:"failed"`
	ReturnValue string         `json:"returnValue"`
	StructLogs  []StructLogRes `json:"structLogs"`
}

ExecutionResult groups all structured logs emitted by the EVM while replaying a transaction in debug mode as well as transaction execution status, the amount of gas used and the return value

type ExtensionOptionsEthereumTx

type ExtensionOptionsEthereumTx struct {
}

func (*ExtensionOptionsEthereumTx) Descriptor

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

func (*ExtensionOptionsEthereumTx) Marshal

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

func (*ExtensionOptionsEthereumTx) MarshalTo

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

func (*ExtensionOptionsEthereumTx) MarshalToSizedBuffer

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

func (*ExtensionOptionsEthereumTx) ProtoMessage

func (*ExtensionOptionsEthereumTx) ProtoMessage()

func (*ExtensionOptionsEthereumTx) Reset

func (m *ExtensionOptionsEthereumTx) Reset()

func (*ExtensionOptionsEthereumTx) Size

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

func (*ExtensionOptionsEthereumTx) String

func (m *ExtensionOptionsEthereumTx) String() string

func (*ExtensionOptionsEthereumTx) Unmarshal

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

func (*ExtensionOptionsEthereumTx) XXX_DiscardUnknown

func (m *ExtensionOptionsEthereumTx) XXX_DiscardUnknown()

func (*ExtensionOptionsEthereumTx) XXX_Marshal

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

func (*ExtensionOptionsEthereumTx) XXX_Merge

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

func (*ExtensionOptionsEthereumTx) XXX_Size

func (m *ExtensionOptionsEthereumTx) XXX_Size() int

func (*ExtensionOptionsEthereumTx) XXX_Unmarshal

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

type ExtensionOptionsEthereumTxI

type ExtensionOptionsEthereumTxI interface{}

type FeeMarketParams

type FeeMarketParams struct {
	// no base fee forces the EIP-1559 base fee to 0 (needed for 0 price calls)
	NoBaseFee bool `protobuf:"varint,1,opt,name=no_base_fee,json=noBaseFee,proto3" json:"no_base_fee,omitempty"`
	// base fee change denominator bounds the amount the base fee can change
	// between blocks.
	BaseFeeChangeDenominator uint32 `` /* 138-byte string literal not displayed */
	// elasticity multiplier bounds the maximum gas limit an EIP-1559 block may
	// have.
	ElasticityMultiplier uint32 `protobuf:"varint,3,opt,name=elasticity_multiplier,json=elasticityMultiplier,proto3" json:"elasticity_multiplier,omitempty"`
	// height at which the base fee calculation is enabled.
	EnableHeight int64 `protobuf:"varint,5,opt,name=enable_height,json=enableHeight,proto3" json:"enable_height,omitempty"`
	// base fee for EIP-1559 blocks.
	BaseFee github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,6,opt,name=base_fee,json=baseFee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"base_fee"`
}

Params defines the EVM module parameters

func DefaultFeeMarketParams

func DefaultFeeMarketParams() FeeMarketParams

DefaultParams returns default evm parameters

func NewFeeMarketParams

func NewFeeMarketParams(noBaseFee bool, baseFeeChangeDenom, elasticityMultiplier uint32, baseFee uint64, enableHeight int64) FeeMarketParams

creates a new FeeMarketParams instance

func (*FeeMarketParams) Descriptor

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

func (*FeeMarketParams) GetBaseFeeChangeDenominator

func (m *FeeMarketParams) GetBaseFeeChangeDenominator() uint32

func (*FeeMarketParams) GetElasticityMultiplier

func (m *FeeMarketParams) GetElasticityMultiplier() uint32

func (*FeeMarketParams) GetEnableHeight

func (m *FeeMarketParams) GetEnableHeight() int64

func (*FeeMarketParams) GetNoBaseFee

func (m *FeeMarketParams) GetNoBaseFee() bool

func (*FeeMarketParams) IsBaseFeeEnabled

func (p *FeeMarketParams) IsBaseFeeEnabled(height int64) bool

func (*FeeMarketParams) Marshal

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

func (*FeeMarketParams) MarshalTo

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

func (*FeeMarketParams) MarshalToSizedBuffer

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

func (*FeeMarketParams) ProtoMessage

func (*FeeMarketParams) ProtoMessage()

func (*FeeMarketParams) Reset

func (m *FeeMarketParams) Reset()

func (*FeeMarketParams) Size

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

func (*FeeMarketParams) String

func (m *FeeMarketParams) String() string

func (*FeeMarketParams) Unmarshal

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

func (FeeMarketParams) Validate

func (p FeeMarketParams) Validate() error

Validate performs basic validation on fee market parameters.

func (*FeeMarketParams) XXX_DiscardUnknown

func (m *FeeMarketParams) XXX_DiscardUnknown()

func (*FeeMarketParams) XXX_Marshal

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

func (*FeeMarketParams) XXX_Merge

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

func (*FeeMarketParams) XXX_Size

func (m *FeeMarketParams) XXX_Size() int

func (*FeeMarketParams) XXX_Unmarshal

func (m *FeeMarketParams) 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 state 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 state. 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"`
	// block gas is the amount of gas used on the last block before the upgrade.
	// Zero by default.
	BlockGas uint64 `protobuf:"varint,3,opt,name=block_gas,json=blockGas,proto3" json:"block_gas,omitempty"`
}

GenesisState defines the evm module's genesis state.

func DefaultGenesisState

func DefaultGenesisState() *GenesisState

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

func NewGenesisState

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

NewGenesisState creates a new genesis state.

func (*GenesisState) Descriptor

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

func (*GenesisState) GetAccounts

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

func (*GenesisState) GetBlockGas

func (m *GenesisState) GetBlockGas() uint64

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 state 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 HexString

type HexString []byte

HexString is a byte array that serializes to hex

func (HexString) MarshalJSON

func (s HexString) MarshalJSON() ([]byte, error)

MarshalJSON serializes ByteArray to hex

func (*HexString) UnmarshalJSON

func (s *HexString) UnmarshalJSON(data []byte) error

UnmarshalJSON deserializes ByteArray to hex

type LegacyTx

type LegacyTx struct {
	// nonce corresponds to the account nonce (transaction sequence).
	Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// gas price defines the value for each gas unit
	GasPrice *github_com_cosmos_cosmos_sdk_types.Int `` /* 135-byte string literal not displayed */
	// gas defines the gas limit defined for the transaction.
	GasLimit uint64 `protobuf:"varint,3,opt,name=gas,proto3" json:"gas,omitempty"`
	// hex formatted address of the recipient
	To string `protobuf:"bytes,4,opt,name=to,proto3" json:"to,omitempty"`
	// value defines the unsigned integer value of the transaction amount.
	Amount *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,5,opt,name=value,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"value,omitempty"`
	// input defines the data payload bytes of the transaction.
	Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
	// v defines the signature value
	V []byte `protobuf:"bytes,7,opt,name=v,proto3" json:"v,omitempty"`
	// r defines the signature value
	R []byte `protobuf:"bytes,8,opt,name=r,proto3" json:"r,omitempty"`
	// s define the signature value
	S []byte `protobuf:"bytes,9,opt,name=s,proto3" json:"s,omitempty"`
}

LegacyTx is the transaction data of regular Ethereum transactions.

func (*LegacyTx) AsEthereumData

func (tx *LegacyTx) AsEthereumData() ethtypes.TxData

AsEthereumData returns an AccessListTx transaction tx from the proto-formatted TxData defined on the Cosmos EVM.

func (*LegacyTx) Copy

func (tx *LegacyTx) Copy() TxData

Copy returns an instance with the same field values

func (LegacyTx) Cost

func (tx LegacyTx) Cost() *big.Int

Cost returns amount + gasprice * gaslimit.

func (*LegacyTx) Descriptor

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

func (LegacyTx) EffectiveCost

func (tx LegacyTx) EffectiveCost(baseFee *big.Int) *big.Int

EffectiveCost is the same as Cost for LegacyTx

func (LegacyTx) EffectiveFee

func (tx LegacyTx) EffectiveFee(baseFee *big.Int) *big.Int

EffectiveFee is the same as Fee for LegacyTx

func (LegacyTx) Fee

func (tx LegacyTx) Fee() *big.Int

Fee returns gasprice * gaslimit.

func (*LegacyTx) GetAccessList

func (tx *LegacyTx) GetAccessList() ethtypes.AccessList

GetAccessList returns nil

func (*LegacyTx) GetChainID

func (tx *LegacyTx) GetChainID() *big.Int

GetChainID returns the chain id field from the derived signature values

func (*LegacyTx) GetData

func (tx *LegacyTx) GetData() []byte

GetData returns the a copy of the input data bytes.

func (*LegacyTx) GetGas

func (tx *LegacyTx) GetGas() uint64

GetGas returns the gas limit.

func (*LegacyTx) GetGasFeeCap

func (tx *LegacyTx) GetGasFeeCap() *big.Int

GetGasFeeCap returns the gas price field.

func (*LegacyTx) GetGasPrice

func (tx *LegacyTx) GetGasPrice() *big.Int

GetGasPrice returns the gas price field.

func (*LegacyTx) GetGasTipCap

func (tx *LegacyTx) GetGasTipCap() *big.Int

GetGasTipCap returns the gas price field.

func (*LegacyTx) GetNonce

func (tx *LegacyTx) GetNonce() uint64

GetNonce returns the account sequence for the transaction.

func (*LegacyTx) GetRawSignatureValues

func (tx *LegacyTx) GetRawSignatureValues() (v, r, s *big.Int)

GetRawSignatureValues returns the V, R, S signature values of the transaction. The return values should not be modified by the caller.

func (*LegacyTx) GetTo

func (tx *LegacyTx) GetTo() *common.Address

GetTo returns the pointer to the recipient address.

func (*LegacyTx) GetValue

func (tx *LegacyTx) GetValue() *big.Int

GetValue returns the tx amount.

func (*LegacyTx) Marshal

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

func (*LegacyTx) MarshalTo

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

func (*LegacyTx) MarshalToSizedBuffer

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

func (*LegacyTx) ProtoMessage

func (*LegacyTx) ProtoMessage()

func (*LegacyTx) Reset

func (m *LegacyTx) Reset()

func (*LegacyTx) SetSignatureValues

func (tx *LegacyTx) SetSignatureValues(_, v, r, s *big.Int)

SetSignatureValues sets the signature values to the transaction.

func (*LegacyTx) Size

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

func (*LegacyTx) String

func (m *LegacyTx) String() string

func (*LegacyTx) TxType

func (tx *LegacyTx) TxType() uint8

TxType returns the tx type

func (*LegacyTx) Unmarshal

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

func (LegacyTx) Validate

func (tx LegacyTx) Validate() error

Validate performs a stateless validation of the tx fields.

func (*LegacyTx) XXX_DiscardUnknown

func (m *LegacyTx) XXX_DiscardUnknown()

func (*LegacyTx) XXX_Marshal

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

func (*LegacyTx) XXX_Merge

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

func (*LegacyTx) XXX_Size

func (m *LegacyTx) XXX_Size() int

func (*LegacyTx) XXX_Unmarshal

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

type Log

type Log struct {
	// address of the contract that generated the event
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// list of topics provided by the contract.
	Topics []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	// supplied by the contract, usually ABI-encoded
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// block in which the transaction was included
	BlockNumber uint64 `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"blockNumber"`
	// hash of the transaction
	TxHash string `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3" json:"transactionHash"`
	// index of the transaction in the block
	TxIndex uint64 `protobuf:"varint,6,opt,name=tx_index,json=txIndex,proto3" json:"transactionIndex"`
	// hash of the block in which the transaction 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"`
	// The Removed field 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 generated by the LOG opcode and stored/indexed by the node.

func NewLogFromEth

func NewLogFromEth(log *ethtypes.Log) *Log

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

func NewLogsFromEth

func NewLogsFromEth(ethlogs []*ethtypes.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() *ethtypes.Log

ToEthereum returns the Ethereum type Log from a stratos 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.

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 MsgClient

type MsgClient interface {
	// EthereumTx defines a method submitting Ethereum transactions.
	EthereumTx(ctx context.Context, in *MsgEthereumTx, opts ...grpc.CallOption) (*MsgEthereumTxResponse, error)
}

MsgClient is the client API for Msg service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMsgClient

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgEthereumTx

type MsgEthereumTx struct {
	// inner transaction data
	Data *types.Any `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// encoded storage size of the transaction
	Size_ float64 `protobuf:"fixed64,2,opt,name=size,proto3" json:"-"`
	// transaction hash in hex format
	Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty" rlp:"-"`
	// ethereum signer address in hex format. This address value is checked
	// against the address derived from the signature (V, R, S) using the
	// secp256k1 elliptic curve
	From string `protobuf:"bytes,4,opt,name=from,proto3" json:"from,omitempty"`
}

MsgEthereumTx encapsulates an Ethereum transaction as an SDK message.

func NewTx

func NewTx(
	chainID *big.Int, nonce uint64, to *common.Address, amount *big.Int,
	gasLimit uint64, gasPrice, gasFeeCap, gasTipCap *big.Int, input []byte, accesses *ethtypes.AccessList,
) *MsgEthereumTx

NewTx returns a reference to a new Ethereum transaction message.

func NewTxContract

func NewTxContract(
	chainID *big.Int,
	nonce uint64,
	amount *big.Int,
	gasLimit uint64,
	gasPrice, gasFeeCap, gasTipCap *big.Int,
	input []byte,
	accesses *ethtypes.AccessList,
) *MsgEthereumTx

NewTxContract returns a reference to a new Ethereum transaction message designated for contract creation.

func UnwrapEthereumMsg

func UnwrapEthereumMsg(tx *sdk.Tx, ethHash common.Hash) (*MsgEthereumTx, error)

UnwrapEthereumMsg extract MsgEthereumTx from wrapping sdk.Tx

func (MsgEthereumTx) AsMessage

func (msg MsgEthereumTx) AsMessage(signer ethtypes.Signer, baseFee *big.Int) (core.Message, error)

AsMessage creates an Ethereum core.Message from the msg fields

func (MsgEthereumTx) AsTransaction

func (msg MsgEthereumTx) AsTransaction() *ethtypes.Transaction

AsTransaction creates an Ethereum Transaction type from the msg fields

func (*MsgEthereumTx) BuildTx

func (msg *MsgEthereumTx) BuildTx(b client.TxBuilder, evmDenom string) (signing.Tx, error)

BuildTx builds the canonical cosmos tx from ethereum msg

func (*MsgEthereumTx) Descriptor

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

func (*MsgEthereumTx) FromEthereumTx

func (msg *MsgEthereumTx) FromEthereumTx(tx *ethtypes.Transaction) error

fromEthereumTx populates the message fields from the given ethereum transaction

func (MsgEthereumTx) GetEffectiveFee

func (msg MsgEthereumTx) GetEffectiveFee(baseFee *big.Int) *big.Int

GetEffectiveFee returns the fee for dynamic fee tx

func (MsgEthereumTx) GetFee

func (msg MsgEthereumTx) GetFee() *big.Int

GetFee returns the fee for non dynamic fee tx

func (*MsgEthereumTx) GetFrom

func (msg *MsgEthereumTx) GetFrom() sdk.AccAddress

GetFrom loads the ethereum sender address from the sigcache and returns an sdk.AccAddress from its bytes

func (MsgEthereumTx) GetGas

func (msg MsgEthereumTx) GetGas() uint64

GetGas implements the GasTx interface. It returns the GasLimit of the transaction.

func (*MsgEthereumTx) GetMsgs

func (msg *MsgEthereumTx) GetMsgs() []sdk.Msg

GetMsgs returns a single MsgEthereumTx as an sdk.Msg.

func (*MsgEthereumTx) GetSender

func (msg *MsgEthereumTx) GetSender(chainID *big.Int) (common.Address, error)

GetSender extracts the sender address from the signature values using the latest signer for the given chainID.

func (MsgEthereumTx) GetSignBytes

func (msg MsgEthereumTx) GetSignBytes() []byte

GetSignBytes returns the Amino bytes of an Ethereum transaction message used for signing.

NOTE: This method cannot be used as a chain ID is needed to create valid bytes to sign over. Use 'RLPSignBytes' instead.

func (*MsgEthereumTx) GetSigners

func (msg *MsgEthereumTx) GetSigners() []sdk.AccAddress

GetSigners returns the expected signers for an Ethereum transaction message. For such a message, there should exist only a single 'signer'.

NOTE: This method panics if 'Sign' hasn't been called first.

func (*MsgEthereumTx) Marshal

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

func (*MsgEthereumTx) MarshalTo

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

func (*MsgEthereumTx) MarshalToSizedBuffer

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

func (*MsgEthereumTx) ProtoMessage

func (*MsgEthereumTx) ProtoMessage()

func (*MsgEthereumTx) Reset

func (m *MsgEthereumTx) Reset()

func (MsgEthereumTx) Route

func (msg MsgEthereumTx) Route() string

Route returns the route value of an MsgEthereumTx.

func (*MsgEthereumTx) Sign

func (msg *MsgEthereumTx) Sign(ethSigner ethtypes.Signer, keyringSigner keyring.Signer) error

Sign calculates a secp256k1 ECDSA signature and signs the transaction. It takes a keyring signer and the chainID to sign an Ethereum transaction according to EIP155 standard. This method mutates the transaction as it populates the V, R, S fields of the Transaction's Signature. The function will fail if the sender address is not defined for the msg or if the sender is not registered on the keyring

func (*MsgEthereumTx) Size

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

func (*MsgEthereumTx) String

func (m *MsgEthereumTx) String() string

func (MsgEthereumTx) Type

func (msg MsgEthereumTx) Type() string

Type returns the type value of an MsgEthereumTx.

func (*MsgEthereumTx) Unmarshal

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

func (*MsgEthereumTx) UnmarshalBinary

func (msg *MsgEthereumTx) UnmarshalBinary(b []byte) error

UnmarshalBinary decodes the canonical encoding of transactions.

func (MsgEthereumTx) UnpackInterfaces

func (msg MsgEthereumTx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMesssage.UnpackInterfaces

func (MsgEthereumTx) ValidateBasic

func (msg MsgEthereumTx) ValidateBasic() error

ValidateBasic implements the sdk.Msg interface. It performs basic validation checks of a Transaction. If returns an error if validation fails.

func (*MsgEthereumTx) XXX_DiscardUnknown

func (m *MsgEthereumTx) XXX_DiscardUnknown()

func (*MsgEthereumTx) XXX_Marshal

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

func (*MsgEthereumTx) XXX_Merge

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

func (*MsgEthereumTx) XXX_Size

func (m *MsgEthereumTx) XXX_Size() int

func (*MsgEthereumTx) XXX_Unmarshal

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

type MsgEthereumTxResponse

type MsgEthereumTxResponse struct {
	// ethereum transaction hash in hex format. This hash differs from the
	// Tendermint sha256 hash of the transaction bytes. See
	// https://github.com/tendermint/tendermint/issues/6539 for reference
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	// logs contains the transaction hash and the proto-compatible ethereum
	// logs.
	Logs []*Log `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs,omitempty"`
	// returned data from evm function (result or data supplied with revert
	// opcode)
	Ret []byte `protobuf:"bytes,3,opt,name=ret,proto3" json:"ret,omitempty"`
	// vm error is the error returned by vm execution
	VmError string `protobuf:"bytes,4,opt,name=vm_error,json=vmError,proto3" json:"vm_error,omitempty"`
	// gas consumed by the transaction
	GasUsed uint64 `protobuf:"varint,5,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
}

MsgEthereumTxResponse defines the Msg/EthereumTx response type.

func DecodeTxResponse

func DecodeTxResponse(in []byte) (*MsgEthereumTxResponse, error)

DecodeTxResponse decodes an protobuf-encoded byte slice into TxResponse

func (*MsgEthereumTxResponse) Descriptor

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

func (*MsgEthereumTxResponse) Failed

func (m *MsgEthereumTxResponse) Failed() bool

Failed returns if the contract execution failed in vm errors

func (*MsgEthereumTxResponse) Marshal

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

func (*MsgEthereumTxResponse) MarshalTo

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

func (*MsgEthereumTxResponse) MarshalToSizedBuffer

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

func (*MsgEthereumTxResponse) ProtoMessage

func (*MsgEthereumTxResponse) ProtoMessage()

func (*MsgEthereumTxResponse) Reset

func (m *MsgEthereumTxResponse) Reset()

func (*MsgEthereumTxResponse) Return

func (m *MsgEthereumTxResponse) Return() []byte

Return is a helper function to help caller distinguish between revert reason and function return. Return returns the data after execution if no error occurs.

func (*MsgEthereumTxResponse) Revert

func (m *MsgEthereumTxResponse) Revert() []byte

Revert returns the concrete revert reason if the execution is aborted by `REVERT` opcode. Note the reason can be nil if no data supplied with revert opcode.

func (*MsgEthereumTxResponse) Size

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

func (*MsgEthereumTxResponse) String

func (m *MsgEthereumTxResponse) String() string

func (*MsgEthereumTxResponse) Unmarshal

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

func (*MsgEthereumTxResponse) XXX_DiscardUnknown

func (m *MsgEthereumTxResponse) XXX_DiscardUnknown()

func (*MsgEthereumTxResponse) XXX_Marshal

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

func (*MsgEthereumTxResponse) XXX_Merge

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

func (*MsgEthereumTxResponse) XXX_Size

func (m *MsgEthereumTxResponse) XXX_Size() int

func (*MsgEthereumTxResponse) XXX_Unmarshal

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

type MsgServer

type MsgServer interface {
	// EthereumTx defines a method submitting Ethereum transactions.
	EthereumTx(context.Context, *MsgEthereumTx) (*MsgEthereumTxResponse, error)
}

MsgServer is the server API for Msg service.

type NoOpTracer

type NoOpTracer struct{}

NoOpTracer is an empty implementation of vm.Tracer interface

func NewNoOpTracer

func NewNoOpTracer() *NoOpTracer

NewNoOpTracer creates a no-op vm.Tracer

func (NoOpTracer) CaptureEnd

func (dt NoOpTracer) CaptureEnd(output []byte, gasUsed uint64, tm time.Duration, err error)

CaptureEnd implements vm.Tracer interface

func (NoOpTracer) CaptureEnter

func (dt NoOpTracer) CaptureEnter(typ vm.OpCode, from common.Address, to common.Address, input []byte, gas uint64, value *big.Int)

CaptureEnter implements vm.Tracer interface

func (NoOpTracer) CaptureExit

func (dt NoOpTracer) CaptureExit(output []byte, gasUsed uint64, err error)

CaptureExit implements vm.Tracer interface

func (NoOpTracer) CaptureFault

func (dt NoOpTracer) CaptureFault(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, depth int, err error)

CaptureFault implements vm.Tracer interface

func (NoOpTracer) CaptureStart

func (dt NoOpTracer) CaptureStart(env *vm.EVM, from common.Address, to common.Address, create bool, input []byte, gas uint64, value *big.Int)

CaptureStart implements vm.Tracer interface

func (NoOpTracer) CaptureState

func (dt NoOpTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, rData []byte, depth int, err error)

CaptureState implements vm.Tracer interface

type Params

type Params struct {
	// evm denom represents the token denomination used to run the EVM state
	// transitions.
	EvmDenom string `protobuf:"bytes,1,opt,name=evm_denom,json=evmDenom,proto3" json:"evm_denom,omitempty" yaml:"evm_denom"`
	// enable create toggles state 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 state 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"`
	FeeMarketParams FeeMarketParams `protobuf:"bytes,6,opt,name=fee_market_params,json=feeMarketParams,proto3" json:"fee_market_params" yaml:"fee_market_params"`
}

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, enableCreate, enableCall bool, config ChainConfig, feeMarketParams FeeMarketParams, 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) 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) GetFeeMarketParams

func (m *Params) GetFeeMarketParams() FeeMarketParams

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

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

ParamSetPairs returns the parameter set pairs.

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 QueryAccountRequest

type QueryAccountRequest struct {
	// address is the ethereum hex address to query the account for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

QueryAccountRequest is the request type for the Query/Account RPC method.

func (*QueryAccountRequest) Descriptor

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

func (*QueryAccountRequest) Marshal

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

func (*QueryAccountRequest) MarshalTo

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

func (*QueryAccountRequest) MarshalToSizedBuffer

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

func (*QueryAccountRequest) ProtoMessage

func (*QueryAccountRequest) ProtoMessage()

func (*QueryAccountRequest) Reset

func (m *QueryAccountRequest) Reset()

func (*QueryAccountRequest) Size

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

func (*QueryAccountRequest) String

func (m *QueryAccountRequest) String() string

func (*QueryAccountRequest) Unmarshal

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

func (*QueryAccountRequest) XXX_DiscardUnknown

func (m *QueryAccountRequest) XXX_DiscardUnknown()

func (*QueryAccountRequest) XXX_Marshal

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

func (*QueryAccountRequest) XXX_Merge

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

func (*QueryAccountRequest) XXX_Size

func (m *QueryAccountRequest) XXX_Size() int

func (*QueryAccountRequest) XXX_Unmarshal

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

type QueryAccountResponse

type QueryAccountResponse struct {
	// balance is the balance of the EVM denomination.
	Balance string `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"`
	// code hash is the hex-formatted code bytes from the EOA.
	CodeHash string `protobuf:"bytes,2,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty"`
	// nonce is the account's sequence number.
	Nonce uint64 `protobuf:"varint,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
}

QueryAccountResponse is the response type for the Query/Account RPC method.

func (*QueryAccountResponse) Descriptor

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

func (*QueryAccountResponse) GetBalance

func (m *QueryAccountResponse) GetBalance() string

func (*QueryAccountResponse) GetCodeHash

func (m *QueryAccountResponse) GetCodeHash() string

func (*QueryAccountResponse) GetNonce

func (m *QueryAccountResponse) GetNonce() uint64

func (*QueryAccountResponse) Marshal

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

func (*QueryAccountResponse) MarshalTo

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

func (*QueryAccountResponse) MarshalToSizedBuffer

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

func (*QueryAccountResponse) ProtoMessage

func (*QueryAccountResponse) ProtoMessage()

func (*QueryAccountResponse) Reset

func (m *QueryAccountResponse) Reset()

func (*QueryAccountResponse) Size

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

func (*QueryAccountResponse) String

func (m *QueryAccountResponse) String() string

func (*QueryAccountResponse) Unmarshal

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

func (*QueryAccountResponse) XXX_DiscardUnknown

func (m *QueryAccountResponse) XXX_DiscardUnknown()

func (*QueryAccountResponse) XXX_Marshal

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

func (*QueryAccountResponse) XXX_Merge

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

func (*QueryAccountResponse) XXX_Size

func (m *QueryAccountResponse) XXX_Size() int

func (*QueryAccountResponse) XXX_Unmarshal

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

type QueryBalanceRequest

type QueryBalanceRequest struct {
	// address is the ethereum hex address to query the balance for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

QueryBalanceRequest is the request type for the Query/Balance RPC method.

func (*QueryBalanceRequest) Descriptor

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

func (*QueryBalanceRequest) Marshal

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

func (*QueryBalanceRequest) MarshalTo

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

func (*QueryBalanceRequest) MarshalToSizedBuffer

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

func (*QueryBalanceRequest) ProtoMessage

func (*QueryBalanceRequest) ProtoMessage()

func (*QueryBalanceRequest) Reset

func (m *QueryBalanceRequest) Reset()

func (*QueryBalanceRequest) Size

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

func (*QueryBalanceRequest) String

func (m *QueryBalanceRequest) String() string

func (*QueryBalanceRequest) Unmarshal

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

func (*QueryBalanceRequest) XXX_DiscardUnknown

func (m *QueryBalanceRequest) XXX_DiscardUnknown()

func (*QueryBalanceRequest) XXX_Marshal

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

func (*QueryBalanceRequest) XXX_Merge

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

func (*QueryBalanceRequest) XXX_Size

func (m *QueryBalanceRequest) XXX_Size() int

func (*QueryBalanceRequest) XXX_Unmarshal

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

type QueryBalanceResponse

type QueryBalanceResponse struct {
	// balance is the balance of the EVM denomination.
	Balance string `protobuf:"bytes,1,opt,name=balance,proto3" json:"balance,omitempty"`
}

QueryBalanceResponse is the response type for the Query/Balance RPC method.

func (*QueryBalanceResponse) Descriptor

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

func (*QueryBalanceResponse) GetBalance

func (m *QueryBalanceResponse) GetBalance() string

func (*QueryBalanceResponse) Marshal

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

func (*QueryBalanceResponse) MarshalTo

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

func (*QueryBalanceResponse) MarshalToSizedBuffer

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

func (*QueryBalanceResponse) ProtoMessage

func (*QueryBalanceResponse) ProtoMessage()

func (*QueryBalanceResponse) Reset

func (m *QueryBalanceResponse) Reset()

func (*QueryBalanceResponse) Size

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

func (*QueryBalanceResponse) String

func (m *QueryBalanceResponse) String() string

func (*QueryBalanceResponse) Unmarshal

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

func (*QueryBalanceResponse) XXX_DiscardUnknown

func (m *QueryBalanceResponse) XXX_DiscardUnknown()

func (*QueryBalanceResponse) XXX_Marshal

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

func (*QueryBalanceResponse) XXX_Merge

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

func (*QueryBalanceResponse) XXX_Size

func (m *QueryBalanceResponse) XXX_Size() int

func (*QueryBalanceResponse) XXX_Unmarshal

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

type QueryBaseFeeRequest

type QueryBaseFeeRequest struct {
}

QueryBaseFeeRequest defines the request type for querying the EIP1559 base fee.

func (*QueryBaseFeeRequest) Descriptor

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

func (*QueryBaseFeeRequest) Marshal

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

func (*QueryBaseFeeRequest) MarshalTo

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

func (*QueryBaseFeeRequest) MarshalToSizedBuffer

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

func (*QueryBaseFeeRequest) ProtoMessage

func (*QueryBaseFeeRequest) ProtoMessage()

func (*QueryBaseFeeRequest) Reset

func (m *QueryBaseFeeRequest) Reset()

func (*QueryBaseFeeRequest) Size

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

func (*QueryBaseFeeRequest) String

func (m *QueryBaseFeeRequest) String() string

func (*QueryBaseFeeRequest) Unmarshal

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

func (*QueryBaseFeeRequest) XXX_DiscardUnknown

func (m *QueryBaseFeeRequest) XXX_DiscardUnknown()

func (*QueryBaseFeeRequest) XXX_Marshal

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

func (*QueryBaseFeeRequest) XXX_Merge

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

func (*QueryBaseFeeRequest) XXX_Size

func (m *QueryBaseFeeRequest) XXX_Size() int

func (*QueryBaseFeeRequest) XXX_Unmarshal

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

type QueryBaseFeeResponse

type QueryBaseFeeResponse struct {
	BaseFee *github_com_cosmos_cosmos_sdk_types.Int `` /* 132-byte string literal not displayed */
}

BaseFeeResponse returns the EIP1559 base fee.

func (*QueryBaseFeeResponse) Descriptor

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

func (*QueryBaseFeeResponse) Marshal

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

func (*QueryBaseFeeResponse) MarshalTo

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

func (*QueryBaseFeeResponse) MarshalToSizedBuffer

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

func (*QueryBaseFeeResponse) ProtoMessage

func (*QueryBaseFeeResponse) ProtoMessage()

func (*QueryBaseFeeResponse) Reset

func (m *QueryBaseFeeResponse) Reset()

func (*QueryBaseFeeResponse) Size

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

func (*QueryBaseFeeResponse) String

func (m *QueryBaseFeeResponse) String() string

func (*QueryBaseFeeResponse) Unmarshal

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

func (*QueryBaseFeeResponse) XXX_DiscardUnknown

func (m *QueryBaseFeeResponse) XXX_DiscardUnknown()

func (*QueryBaseFeeResponse) XXX_Marshal

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

func (*QueryBaseFeeResponse) XXX_Merge

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

func (*QueryBaseFeeResponse) XXX_Size

func (m *QueryBaseFeeResponse) XXX_Size() int

func (*QueryBaseFeeResponse) XXX_Unmarshal

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

type QueryBlockGasRequest

type QueryBlockGasRequest struct {
}

QueryBlockGasRequest defines the request type for querying the EIP1559 base fee.

func (*QueryBlockGasRequest) Descriptor

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

func (*QueryBlockGasRequest) Marshal

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

func (*QueryBlockGasRequest) MarshalTo

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

func (*QueryBlockGasRequest) MarshalToSizedBuffer

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

func (*QueryBlockGasRequest) ProtoMessage

func (*QueryBlockGasRequest) ProtoMessage()

func (*QueryBlockGasRequest) Reset

func (m *QueryBlockGasRequest) Reset()

func (*QueryBlockGasRequest) Size

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

func (*QueryBlockGasRequest) String

func (m *QueryBlockGasRequest) String() string

func (*QueryBlockGasRequest) Unmarshal

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

func (*QueryBlockGasRequest) XXX_DiscardUnknown

func (m *QueryBlockGasRequest) XXX_DiscardUnknown()

func (*QueryBlockGasRequest) XXX_Marshal

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

func (*QueryBlockGasRequest) XXX_Merge

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

func (*QueryBlockGasRequest) XXX_Size

func (m *QueryBlockGasRequest) XXX_Size() int

func (*QueryBlockGasRequest) XXX_Unmarshal

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

type QueryBlockGasResponse

type QueryBlockGasResponse struct {
	Gas int64 `protobuf:"varint,1,opt,name=gas,proto3" json:"gas,omitempty"`
}

QueryBlockGasResponse returns block gas used for a given height.

func (*QueryBlockGasResponse) Descriptor

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

func (*QueryBlockGasResponse) GetGas

func (m *QueryBlockGasResponse) GetGas() int64

func (*QueryBlockGasResponse) Marshal

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

func (*QueryBlockGasResponse) MarshalTo

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

func (*QueryBlockGasResponse) MarshalToSizedBuffer

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

func (*QueryBlockGasResponse) ProtoMessage

func (*QueryBlockGasResponse) ProtoMessage()

func (*QueryBlockGasResponse) Reset

func (m *QueryBlockGasResponse) Reset()

func (*QueryBlockGasResponse) Size

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

func (*QueryBlockGasResponse) String

func (m *QueryBlockGasResponse) String() string

func (*QueryBlockGasResponse) Unmarshal

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

func (*QueryBlockGasResponse) XXX_DiscardUnknown

func (m *QueryBlockGasResponse) XXX_DiscardUnknown()

func (*QueryBlockGasResponse) XXX_Marshal

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

func (*QueryBlockGasResponse) XXX_Merge

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

func (*QueryBlockGasResponse) XXX_Size

func (m *QueryBlockGasResponse) XXX_Size() int

func (*QueryBlockGasResponse) XXX_Unmarshal

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

type QueryClient

type QueryClient interface {
	// Account queries an Ethereum account.
	Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error)
	// CosmosAccount queries an Ethereum account's Cosmos Address.
	CosmosAccount(ctx context.Context, in *QueryCosmosAccountRequest, opts ...grpc.CallOption) (*QueryCosmosAccountResponse, error)
	// ValidatorAccount queries an Ethereum account's from a validator consensus
	// Address.
	ValidatorAccount(ctx context.Context, in *QueryValidatorAccountRequest, opts ...grpc.CallOption) (*QueryValidatorAccountResponse, error)
	// Balance queries the balance of a the EVM denomination for a single
	// EthAccount.
	Balance(ctx context.Context, in *QueryBalanceRequest, opts ...grpc.CallOption) (*QueryBalanceResponse, error)
	// Storage queries the balance of all coins for a single account.
	Storage(ctx context.Context, in *QueryStorageRequest, opts ...grpc.CallOption) (*QueryStorageResponse, error)
	// Code queries the balance of all coins for a single account.
	Code(ctx context.Context, in *QueryCodeRequest, opts ...grpc.CallOption) (*QueryCodeResponse, error)
	// Params queries the parameters of x/evm module.
	Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
	// EthCall implements the `eth_call` rpc api
	EthCall(ctx context.Context, in *EthCallRequest, opts ...grpc.CallOption) (*MsgEthereumTxResponse, error)
	// EstimateGas implements the `eth_estimateGas` rpc api
	EstimateGas(ctx context.Context, in *EthCallRequest, opts ...grpc.CallOption) (*EstimateGasResponse, error)
	// TraceTx implements the `debug_traceTransaction` rpc api
	TraceTx(ctx context.Context, in *QueryTraceTxRequest, opts ...grpc.CallOption) (*QueryTraceTxResponse, error)
	// TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api
	TraceBlock(ctx context.Context, in *QueryTraceBlockRequest, opts ...grpc.CallOption) (*QueryTraceBlockResponse, error)
	// BaseFee queries the base fee of the parent block of the current block,
	// it's similar to feemarket module's method, but also checks london hardfork status.
	BaseFee(ctx context.Context, in *QueryBaseFeeRequest, opts ...grpc.CallOption) (*QueryBaseFeeResponse, error)
	// BaseFeeParam queries the base fee of the parent block of the current block.
	BaseFeeParam(ctx context.Context, in *QueryBaseFeeRequest, opts ...grpc.CallOption) (*QueryBaseFeeResponse, error)
	// BlockGas queries the gas used at a given block height
	BlockGas(ctx context.Context, in *QueryBlockGasRequest, opts ...grpc.CallOption) (*QueryBlockGasResponse, error)
}

QueryClient is the client API for Query service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewQueryClient

func NewQueryClient(cc grpc1.ClientConn) QueryClient

type QueryCodeRequest

type QueryCodeRequest struct {
	// address is the ethereum hex address to query the code for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

QueryCodeRequest is the request type for the Query/Code RPC method.

func (*QueryCodeRequest) Descriptor

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

func (*QueryCodeRequest) Marshal

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

func (*QueryCodeRequest) MarshalTo

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

func (*QueryCodeRequest) MarshalToSizedBuffer

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

func (*QueryCodeRequest) ProtoMessage

func (*QueryCodeRequest) ProtoMessage()

func (*QueryCodeRequest) Reset

func (m *QueryCodeRequest) Reset()

func (*QueryCodeRequest) Size

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

func (*QueryCodeRequest) String

func (m *QueryCodeRequest) String() string

func (*QueryCodeRequest) Unmarshal

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

func (*QueryCodeRequest) XXX_DiscardUnknown

func (m *QueryCodeRequest) XXX_DiscardUnknown()

func (*QueryCodeRequest) XXX_Marshal

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

func (*QueryCodeRequest) XXX_Merge

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

func (*QueryCodeRequest) XXX_Size

func (m *QueryCodeRequest) XXX_Size() int

func (*QueryCodeRequest) XXX_Unmarshal

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

type QueryCodeResponse

type QueryCodeResponse struct {
	// code represents the code bytes from an ethereum address.
	Code []byte `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
}

QueryCodeResponse is the response type for the Query/Code RPC method.

func (*QueryCodeResponse) Descriptor

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

func (*QueryCodeResponse) GetCode

func (m *QueryCodeResponse) GetCode() []byte

func (*QueryCodeResponse) Marshal

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

func (*QueryCodeResponse) MarshalTo

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

func (*QueryCodeResponse) MarshalToSizedBuffer

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

func (*QueryCodeResponse) ProtoMessage

func (*QueryCodeResponse) ProtoMessage()

func (*QueryCodeResponse) Reset

func (m *QueryCodeResponse) Reset()

func (*QueryCodeResponse) Size

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

func (*QueryCodeResponse) String

func (m *QueryCodeResponse) String() string

func (*QueryCodeResponse) Unmarshal

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

func (*QueryCodeResponse) XXX_DiscardUnknown

func (m *QueryCodeResponse) XXX_DiscardUnknown()

func (*QueryCodeResponse) XXX_Marshal

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

func (*QueryCodeResponse) XXX_Merge

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

func (*QueryCodeResponse) XXX_Size

func (m *QueryCodeResponse) XXX_Size() int

func (*QueryCodeResponse) XXX_Unmarshal

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

type QueryCosmosAccountRequest

type QueryCosmosAccountRequest struct {
	// address is the ethereum hex address to query the account for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

QueryCosmosAccountRequest is the request type for the Query/CosmosAccount RPC method.

func (*QueryCosmosAccountRequest) Descriptor

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

func (*QueryCosmosAccountRequest) Marshal

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

func (*QueryCosmosAccountRequest) MarshalTo

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

func (*QueryCosmosAccountRequest) MarshalToSizedBuffer

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

func (*QueryCosmosAccountRequest) ProtoMessage

func (*QueryCosmosAccountRequest) ProtoMessage()

func (*QueryCosmosAccountRequest) Reset

func (m *QueryCosmosAccountRequest) Reset()

func (*QueryCosmosAccountRequest) Size

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

func (*QueryCosmosAccountRequest) String

func (m *QueryCosmosAccountRequest) String() string

func (*QueryCosmosAccountRequest) Unmarshal

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

func (*QueryCosmosAccountRequest) XXX_DiscardUnknown

func (m *QueryCosmosAccountRequest) XXX_DiscardUnknown()

func (*QueryCosmosAccountRequest) XXX_Marshal

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

func (*QueryCosmosAccountRequest) XXX_Merge

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

func (*QueryCosmosAccountRequest) XXX_Size

func (m *QueryCosmosAccountRequest) XXX_Size() int

func (*QueryCosmosAccountRequest) XXX_Unmarshal

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

type QueryCosmosAccountResponse

type QueryCosmosAccountResponse struct {
	// cosmos_address is the cosmos address of the account.
	CosmosAddress string `protobuf:"bytes,1,opt,name=cosmos_address,json=cosmosAddress,proto3" json:"cosmos_address,omitempty"`
	// sequence is the account's sequence number.
	Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// account_number is the account numbert
	AccountNumber uint64 `protobuf:"varint,3,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"`
}

QueryCosmosAccountResponse is the response type for the Query/CosmosAccount RPC method.

func (*QueryCosmosAccountResponse) Descriptor

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

func (*QueryCosmosAccountResponse) GetAccountNumber

func (m *QueryCosmosAccountResponse) GetAccountNumber() uint64

func (*QueryCosmosAccountResponse) GetCosmosAddress

func (m *QueryCosmosAccountResponse) GetCosmosAddress() string

func (*QueryCosmosAccountResponse) GetSequence

func (m *QueryCosmosAccountResponse) GetSequence() uint64

func (*QueryCosmosAccountResponse) Marshal

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

func (*QueryCosmosAccountResponse) MarshalTo

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

func (*QueryCosmosAccountResponse) MarshalToSizedBuffer

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

func (*QueryCosmosAccountResponse) ProtoMessage

func (*QueryCosmosAccountResponse) ProtoMessage()

func (*QueryCosmosAccountResponse) Reset

func (m *QueryCosmosAccountResponse) Reset()

func (*QueryCosmosAccountResponse) Size

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

func (*QueryCosmosAccountResponse) String

func (m *QueryCosmosAccountResponse) String() string

func (*QueryCosmosAccountResponse) Unmarshal

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

func (*QueryCosmosAccountResponse) XXX_DiscardUnknown

func (m *QueryCosmosAccountResponse) XXX_DiscardUnknown()

func (*QueryCosmosAccountResponse) XXX_Marshal

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

func (*QueryCosmosAccountResponse) XXX_Merge

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

func (*QueryCosmosAccountResponse) XXX_Size

func (m *QueryCosmosAccountResponse) XXX_Size() int

func (*QueryCosmosAccountResponse) XXX_Unmarshal

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

type QueryParamsRequest

type QueryParamsRequest struct {
}

QueryParamsRequest defines the request type for querying x/evm parameters.

func (*QueryParamsRequest) Descriptor

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

func (*QueryParamsRequest) Marshal

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

func (*QueryParamsRequest) MarshalTo

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

func (*QueryParamsRequest) MarshalToSizedBuffer

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

func (*QueryParamsRequest) ProtoMessage

func (*QueryParamsRequest) ProtoMessage()

func (*QueryParamsRequest) Reset

func (m *QueryParamsRequest) Reset()

func (*QueryParamsRequest) Size

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

func (*QueryParamsRequest) String

func (m *QueryParamsRequest) String() string

func (*QueryParamsRequest) Unmarshal

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

func (*QueryParamsRequest) XXX_DiscardUnknown

func (m *QueryParamsRequest) XXX_DiscardUnknown()

func (*QueryParamsRequest) XXX_Marshal

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

func (*QueryParamsRequest) XXX_Merge

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

func (*QueryParamsRequest) XXX_Size

func (m *QueryParamsRequest) XXX_Size() int

func (*QueryParamsRequest) XXX_Unmarshal

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

type QueryParamsResponse

type QueryParamsResponse struct {
	// params define the evm module parameters.
	Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"`
}

QueryParamsResponse defines the response type for querying x/evm parameters.

func (*QueryParamsResponse) Descriptor

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

func (*QueryParamsResponse) GetParams

func (m *QueryParamsResponse) GetParams() Params

func (*QueryParamsResponse) Marshal

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

func (*QueryParamsResponse) MarshalTo

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

func (*QueryParamsResponse) MarshalToSizedBuffer

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

func (*QueryParamsResponse) ProtoMessage

func (*QueryParamsResponse) ProtoMessage()

func (*QueryParamsResponse) Reset

func (m *QueryParamsResponse) Reset()

func (*QueryParamsResponse) Size

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

func (*QueryParamsResponse) String

func (m *QueryParamsResponse) String() string

func (*QueryParamsResponse) Unmarshal

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

func (*QueryParamsResponse) XXX_DiscardUnknown

func (m *QueryParamsResponse) XXX_DiscardUnknown()

func (*QueryParamsResponse) XXX_Marshal

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

func (*QueryParamsResponse) XXX_Merge

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

func (*QueryParamsResponse) XXX_Size

func (m *QueryParamsResponse) XXX_Size() int

func (*QueryParamsResponse) XXX_Unmarshal

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

type QueryServer

type QueryServer interface {
	// Account queries an Ethereum account.
	Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error)
	// CosmosAccount queries an Ethereum account's Cosmos Address.
	CosmosAccount(context.Context, *QueryCosmosAccountRequest) (*QueryCosmosAccountResponse, error)
	// ValidatorAccount queries an Ethereum account's from a validator consensus
	// Address.
	ValidatorAccount(context.Context, *QueryValidatorAccountRequest) (*QueryValidatorAccountResponse, error)
	// Balance queries the balance of a the EVM denomination for a single
	// EthAccount.
	Balance(context.Context, *QueryBalanceRequest) (*QueryBalanceResponse, error)
	// Storage queries the balance of all coins for a single account.
	Storage(context.Context, *QueryStorageRequest) (*QueryStorageResponse, error)
	// Code queries the balance of all coins for a single account.
	Code(context.Context, *QueryCodeRequest) (*QueryCodeResponse, error)
	// Params queries the parameters of x/evm module.
	Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
	// EthCall implements the `eth_call` rpc api
	EthCall(context.Context, *EthCallRequest) (*MsgEthereumTxResponse, error)
	// EstimateGas implements the `eth_estimateGas` rpc api
	EstimateGas(context.Context, *EthCallRequest) (*EstimateGasResponse, error)
	// TraceTx implements the `debug_traceTransaction` rpc api
	TraceTx(context.Context, *QueryTraceTxRequest) (*QueryTraceTxResponse, error)
	// TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api
	TraceBlock(context.Context, *QueryTraceBlockRequest) (*QueryTraceBlockResponse, error)
	// BaseFee queries the base fee of the parent block of the current block,
	// it's similar to feemarket module's method, but also checks london hardfork status.
	BaseFee(context.Context, *QueryBaseFeeRequest) (*QueryBaseFeeResponse, error)
	// BaseFeeParam queries the base fee of the parent block of the current block.
	BaseFeeParam(context.Context, *QueryBaseFeeRequest) (*QueryBaseFeeResponse, error)
	// BlockGas queries the gas used at a given block height
	BlockGas(context.Context, *QueryBlockGasRequest) (*QueryBlockGasResponse, error)
}

QueryServer is the server API for Query service.

type QueryStorageRequest

type QueryStorageRequest struct {
	/// address is the ethereum hex address to query the storage state for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// key defines the key of the storage state
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
}

QueryStorageRequest is the request type for the Query/Storage RPC method.

func (*QueryStorageRequest) Descriptor

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

func (*QueryStorageRequest) Marshal

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

func (*QueryStorageRequest) MarshalTo

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

func (*QueryStorageRequest) MarshalToSizedBuffer

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

func (*QueryStorageRequest) ProtoMessage

func (*QueryStorageRequest) ProtoMessage()

func (*QueryStorageRequest) Reset

func (m *QueryStorageRequest) Reset()

func (*QueryStorageRequest) Size

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

func (*QueryStorageRequest) String

func (m *QueryStorageRequest) String() string

func (*QueryStorageRequest) Unmarshal

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

func (*QueryStorageRequest) XXX_DiscardUnknown

func (m *QueryStorageRequest) XXX_DiscardUnknown()

func (*QueryStorageRequest) XXX_Marshal

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

func (*QueryStorageRequest) XXX_Merge

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

func (*QueryStorageRequest) XXX_Size

func (m *QueryStorageRequest) XXX_Size() int

func (*QueryStorageRequest) XXX_Unmarshal

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

type QueryStorageResponse

type QueryStorageResponse struct {
	// key defines the storage state value hash associated with the given key.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

QueryStorageResponse is the response type for the Query/Storage RPC method.

func (*QueryStorageResponse) Descriptor

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

func (*QueryStorageResponse) GetValue

func (m *QueryStorageResponse) GetValue() string

func (*QueryStorageResponse) Marshal

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

func (*QueryStorageResponse) MarshalTo

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

func (*QueryStorageResponse) MarshalToSizedBuffer

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

func (*QueryStorageResponse) ProtoMessage

func (*QueryStorageResponse) ProtoMessage()

func (*QueryStorageResponse) Reset

func (m *QueryStorageResponse) Reset()

func (*QueryStorageResponse) Size

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

func (*QueryStorageResponse) String

func (m *QueryStorageResponse) String() string

func (*QueryStorageResponse) Unmarshal

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

func (*QueryStorageResponse) XXX_DiscardUnknown

func (m *QueryStorageResponse) XXX_DiscardUnknown()

func (*QueryStorageResponse) XXX_Marshal

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

func (*QueryStorageResponse) XXX_Merge

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

func (*QueryStorageResponse) XXX_Size

func (m *QueryStorageResponse) XXX_Size() int

func (*QueryStorageResponse) XXX_Unmarshal

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

type QueryTraceBlockRequest

type QueryTraceBlockRequest struct {
	// txs messages in the block
	Txs []*MsgEthereumTx `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
	// TraceConfig holds extra parameters to trace functions.
	TraceConfig *TraceConfig `protobuf:"bytes,3,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"`
	// block number
	BlockNumber int64 `protobuf:"varint,5,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	// block hex hash
	BlockHash string `protobuf:"bytes,6,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// block time
	BlockTime time.Time `protobuf:"bytes,7,opt,name=block_time,json=blockTime,proto3,stdtime" json:"block_time"`
}

QueryTraceBlockRequest defines TraceTx request

func (*QueryTraceBlockRequest) Descriptor

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

func (*QueryTraceBlockRequest) GetBlockHash

func (m *QueryTraceBlockRequest) GetBlockHash() string

func (*QueryTraceBlockRequest) GetBlockNumber

func (m *QueryTraceBlockRequest) GetBlockNumber() int64

func (*QueryTraceBlockRequest) GetBlockTime

func (m *QueryTraceBlockRequest) GetBlockTime() time.Time

func (*QueryTraceBlockRequest) GetTraceConfig

func (m *QueryTraceBlockRequest) GetTraceConfig() *TraceConfig

func (*QueryTraceBlockRequest) GetTxs

func (m *QueryTraceBlockRequest) GetTxs() []*MsgEthereumTx

func (*QueryTraceBlockRequest) Marshal

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

func (*QueryTraceBlockRequest) MarshalTo

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

func (*QueryTraceBlockRequest) MarshalToSizedBuffer

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

func (*QueryTraceBlockRequest) ProtoMessage

func (*QueryTraceBlockRequest) ProtoMessage()

func (*QueryTraceBlockRequest) Reset

func (m *QueryTraceBlockRequest) Reset()

func (*QueryTraceBlockRequest) Size

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

func (*QueryTraceBlockRequest) String

func (m *QueryTraceBlockRequest) String() string

func (*QueryTraceBlockRequest) Unmarshal

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

func (QueryTraceBlockRequest) UnpackInterfaces

func (m QueryTraceBlockRequest) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

func (*QueryTraceBlockRequest) XXX_DiscardUnknown

func (m *QueryTraceBlockRequest) XXX_DiscardUnknown()

func (*QueryTraceBlockRequest) XXX_Marshal

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

func (*QueryTraceBlockRequest) XXX_Merge

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

func (*QueryTraceBlockRequest) XXX_Size

func (m *QueryTraceBlockRequest) XXX_Size() int

func (*QueryTraceBlockRequest) XXX_Unmarshal

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

type QueryTraceBlockResponse

type QueryTraceBlockResponse struct {
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

QueryTraceBlockResponse defines TraceBlock response

func (*QueryTraceBlockResponse) Descriptor

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

func (*QueryTraceBlockResponse) GetData

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

func (*QueryTraceBlockResponse) Marshal

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

func (*QueryTraceBlockResponse) MarshalTo

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

func (*QueryTraceBlockResponse) MarshalToSizedBuffer

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

func (*QueryTraceBlockResponse) ProtoMessage

func (*QueryTraceBlockResponse) ProtoMessage()

func (*QueryTraceBlockResponse) Reset

func (m *QueryTraceBlockResponse) Reset()

func (*QueryTraceBlockResponse) Size

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

func (*QueryTraceBlockResponse) String

func (m *QueryTraceBlockResponse) String() string

func (*QueryTraceBlockResponse) Unmarshal

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

func (*QueryTraceBlockResponse) XXX_DiscardUnknown

func (m *QueryTraceBlockResponse) XXX_DiscardUnknown()

func (*QueryTraceBlockResponse) XXX_Marshal

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

func (*QueryTraceBlockResponse) XXX_Merge

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

func (*QueryTraceBlockResponse) XXX_Size

func (m *QueryTraceBlockResponse) XXX_Size() int

func (*QueryTraceBlockResponse) XXX_Unmarshal

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

type QueryTraceTxRequest

type QueryTraceTxRequest struct {
	// msgEthereumTx for the requested transaction
	Msg *MsgEthereumTx `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
	// TraceConfig holds extra parameters to trace functions.
	TraceConfig *TraceConfig `protobuf:"bytes,2,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"`
	// the predecessor transactions included in the same block
	// need to be replayed first to get correct context for tracing.
	Predecessors []*MsgEthereumTx `protobuf:"bytes,3,rep,name=predecessors,proto3" json:"predecessors,omitempty"`
	// block number of requested transaction
	BlockNumber int64 `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	// block hex hash of requested transaction
	BlockHash string `protobuf:"bytes,5,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// block time of requested transaction
	BlockTime time.Time `protobuf:"bytes,6,opt,name=block_time,json=blockTime,proto3,stdtime" json:"block_time"`
}

QueryTraceTxRequest defines TraceTx request

func (*QueryTraceTxRequest) Descriptor

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

func (*QueryTraceTxRequest) GetBlockHash

func (m *QueryTraceTxRequest) GetBlockHash() string

func (*QueryTraceTxRequest) GetBlockNumber

func (m *QueryTraceTxRequest) GetBlockNumber() int64

func (*QueryTraceTxRequest) GetBlockTime

func (m *QueryTraceTxRequest) GetBlockTime() time.Time

func (*QueryTraceTxRequest) GetMsg

func (m *QueryTraceTxRequest) GetMsg() *MsgEthereumTx

func (*QueryTraceTxRequest) GetPredecessors

func (m *QueryTraceTxRequest) GetPredecessors() []*MsgEthereumTx

func (*QueryTraceTxRequest) GetTraceConfig

func (m *QueryTraceTxRequest) GetTraceConfig() *TraceConfig

func (*QueryTraceTxRequest) Marshal

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

func (*QueryTraceTxRequest) MarshalTo

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

func (*QueryTraceTxRequest) MarshalToSizedBuffer

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

func (*QueryTraceTxRequest) ProtoMessage

func (*QueryTraceTxRequest) ProtoMessage()

func (*QueryTraceTxRequest) Reset

func (m *QueryTraceTxRequest) Reset()

func (*QueryTraceTxRequest) Size

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

func (*QueryTraceTxRequest) String

func (m *QueryTraceTxRequest) String() string

func (*QueryTraceTxRequest) Unmarshal

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

func (QueryTraceTxRequest) UnpackInterfaces

func (m QueryTraceTxRequest) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMesssage.UnpackInterfaces

func (*QueryTraceTxRequest) XXX_DiscardUnknown

func (m *QueryTraceTxRequest) XXX_DiscardUnknown()

func (*QueryTraceTxRequest) XXX_Marshal

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

func (*QueryTraceTxRequest) XXX_Merge

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

func (*QueryTraceTxRequest) XXX_Size

func (m *QueryTraceTxRequest) XXX_Size() int

func (*QueryTraceTxRequest) XXX_Unmarshal

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

type QueryTraceTxResponse

type QueryTraceTxResponse struct {
	// response serialized in bytes
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

QueryTraceTxResponse defines TraceTx response

func (*QueryTraceTxResponse) Descriptor

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

func (*QueryTraceTxResponse) GetData

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

func (*QueryTraceTxResponse) Marshal

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

func (*QueryTraceTxResponse) MarshalTo

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

func (*QueryTraceTxResponse) MarshalToSizedBuffer

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

func (*QueryTraceTxResponse) ProtoMessage

func (*QueryTraceTxResponse) ProtoMessage()

func (*QueryTraceTxResponse) Reset

func (m *QueryTraceTxResponse) Reset()

func (*QueryTraceTxResponse) Size

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

func (*QueryTraceTxResponse) String

func (m *QueryTraceTxResponse) String() string

func (*QueryTraceTxResponse) Unmarshal

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

func (*QueryTraceTxResponse) XXX_DiscardUnknown

func (m *QueryTraceTxResponse) XXX_DiscardUnknown()

func (*QueryTraceTxResponse) XXX_Marshal

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

func (*QueryTraceTxResponse) XXX_Merge

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

func (*QueryTraceTxResponse) XXX_Size

func (m *QueryTraceTxResponse) XXX_Size() int

func (*QueryTraceTxResponse) XXX_Unmarshal

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

type QueryTxLogsRequest

type QueryTxLogsRequest struct {
	// hash is the ethereum transaction hex hash to query the logs for.
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	// pagination defines an optional pagination for the request.
	Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

QueryTxLogsRequest is the request type for the Query/TxLogs RPC method.

func (*QueryTxLogsRequest) Descriptor

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

func (*QueryTxLogsRequest) Marshal

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

func (*QueryTxLogsRequest) MarshalTo

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

func (*QueryTxLogsRequest) MarshalToSizedBuffer

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

func (*QueryTxLogsRequest) ProtoMessage

func (*QueryTxLogsRequest) ProtoMessage()

func (*QueryTxLogsRequest) Reset

func (m *QueryTxLogsRequest) Reset()

func (*QueryTxLogsRequest) Size

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

func (*QueryTxLogsRequest) String

func (m *QueryTxLogsRequest) String() string

func (*QueryTxLogsRequest) Unmarshal

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

func (*QueryTxLogsRequest) XXX_DiscardUnknown

func (m *QueryTxLogsRequest) XXX_DiscardUnknown()

func (*QueryTxLogsRequest) XXX_Marshal

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

func (*QueryTxLogsRequest) XXX_Merge

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

func (*QueryTxLogsRequest) XXX_Size

func (m *QueryTxLogsRequest) XXX_Size() int

func (*QueryTxLogsRequest) XXX_Unmarshal

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

type QueryTxLogsResponse

type QueryTxLogsResponse struct {
	// logs represents the ethereum logs generated from the given transaction.
	Logs []*Log `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"`
	// pagination defines the pagination in the response.
	Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

QueryTxLogs is the response type for the Query/TxLogs RPC method.

func (*QueryTxLogsResponse) Descriptor

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

func (*QueryTxLogsResponse) GetLogs

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

func (*QueryTxLogsResponse) GetPagination

func (m *QueryTxLogsResponse) GetPagination() *query.PageResponse

func (*QueryTxLogsResponse) Marshal

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

func (*QueryTxLogsResponse) MarshalTo

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

func (*QueryTxLogsResponse) MarshalToSizedBuffer

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

func (*QueryTxLogsResponse) ProtoMessage

func (*QueryTxLogsResponse) ProtoMessage()

func (*QueryTxLogsResponse) Reset

func (m *QueryTxLogsResponse) Reset()

func (*QueryTxLogsResponse) Size

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

func (*QueryTxLogsResponse) String

func (m *QueryTxLogsResponse) String() string

func (*QueryTxLogsResponse) Unmarshal

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

func (*QueryTxLogsResponse) XXX_DiscardUnknown

func (m *QueryTxLogsResponse) XXX_DiscardUnknown()

func (*QueryTxLogsResponse) XXX_Marshal

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

func (*QueryTxLogsResponse) XXX_Merge

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

func (*QueryTxLogsResponse) XXX_Size

func (m *QueryTxLogsResponse) XXX_Size() int

func (*QueryTxLogsResponse) XXX_Unmarshal

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

type QueryValidatorAccountRequest

type QueryValidatorAccountRequest struct {
	// cons_address is the validator cons address to query the account for.
	ConsAddress string `protobuf:"bytes,1,opt,name=cons_address,json=consAddress,proto3" json:"cons_address,omitempty"`
}

QueryValidatorAccountRequest is the request type for the Query/ValidatorAccount RPC method.

func (*QueryValidatorAccountRequest) Descriptor

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

func (*QueryValidatorAccountRequest) Marshal

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

func (*QueryValidatorAccountRequest) MarshalTo

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

func (*QueryValidatorAccountRequest) MarshalToSizedBuffer

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

func (*QueryValidatorAccountRequest) ProtoMessage

func (*QueryValidatorAccountRequest) ProtoMessage()

func (*QueryValidatorAccountRequest) Reset

func (m *QueryValidatorAccountRequest) Reset()

func (*QueryValidatorAccountRequest) Size

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

func (*QueryValidatorAccountRequest) String

func (*QueryValidatorAccountRequest) Unmarshal

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

func (*QueryValidatorAccountRequest) XXX_DiscardUnknown

func (m *QueryValidatorAccountRequest) XXX_DiscardUnknown()

func (*QueryValidatorAccountRequest) XXX_Marshal

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

func (*QueryValidatorAccountRequest) XXX_Merge

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

func (*QueryValidatorAccountRequest) XXX_Size

func (m *QueryValidatorAccountRequest) XXX_Size() int

func (*QueryValidatorAccountRequest) XXX_Unmarshal

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

type QueryValidatorAccountResponse

type QueryValidatorAccountResponse struct {
	// account_address is the cosmos address of the account in bech32 format.
	AccountAddress string `protobuf:"bytes,1,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"`
	// sequence is the account's sequence number.
	Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// account_number is the account number
	AccountNumber uint64 `protobuf:"varint,3,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty"`
}

QueryValidatorAccountResponse is the response type for the Query/ValidatorAccount RPC method.

func (*QueryValidatorAccountResponse) Descriptor

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

func (*QueryValidatorAccountResponse) GetAccountAddress

func (m *QueryValidatorAccountResponse) GetAccountAddress() string

func (*QueryValidatorAccountResponse) GetAccountNumber

func (m *QueryValidatorAccountResponse) GetAccountNumber() uint64

func (*QueryValidatorAccountResponse) GetSequence

func (m *QueryValidatorAccountResponse) GetSequence() uint64

func (*QueryValidatorAccountResponse) Marshal

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

func (*QueryValidatorAccountResponse) MarshalTo

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

func (*QueryValidatorAccountResponse) MarshalToSizedBuffer

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

func (*QueryValidatorAccountResponse) ProtoMessage

func (*QueryValidatorAccountResponse) ProtoMessage()

func (*QueryValidatorAccountResponse) Reset

func (m *QueryValidatorAccountResponse) Reset()

func (*QueryValidatorAccountResponse) Size

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

func (*QueryValidatorAccountResponse) String

func (*QueryValidatorAccountResponse) Unmarshal

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

func (*QueryValidatorAccountResponse) XXX_DiscardUnknown

func (m *QueryValidatorAccountResponse) XXX_DiscardUnknown()

func (*QueryValidatorAccountResponse) XXX_Marshal

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

func (*QueryValidatorAccountResponse) XXX_Merge

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

func (*QueryValidatorAccountResponse) XXX_Size

func (m *QueryValidatorAccountResponse) XXX_Size() int

func (*QueryValidatorAccountResponse) XXX_Unmarshal

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

type RevertError

type RevertError struct {
	// contains filtered or unexported fields
}

RevertError is an API error that encompass an EVM revert with JSON error code and a binary data blob.

func NewExecErrorWithReason

func NewExecErrorWithReason(revertReason []byte) *RevertError

NewExecErrorWithReason unpacks the revert return bytes and returns a wrapped error with the return reason.

func (*RevertError) ErrorCode

func (e *RevertError) ErrorCode() int

ErrorCode returns the JSON error code for a revert. See: https://github.com/ethereum/wiki/wiki/JSON-RPC-Error-Codes-Improvement-Proposal

func (*RevertError) ErrorData

func (e *RevertError) ErrorData() interface{}

ErrorData returns the hex encoded revert reason.

type StakingKeeper

type StakingKeeper interface {
	GetHistoricalInfo(ctx sdk.Context, height int64) (stakingtypes.HistoricalInfo, bool)
	GetValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress) (validator stakingtypes.Validator, found bool)
}

StakingKeeper returns the historical headers kept in store.

type State

type State struct {
	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	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: state value can be empty

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. This is to prevent non determinism at genesis initialization or export.

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 StructLogRes

type StructLogRes struct {
	Pc      uint64             `json:"pc"`
	Op      string             `json:"op"`
	Gas     uint64             `json:"gas"`
	GasCost uint64             `json:"gasCost"`
	Depth   int                `json:"depth"`
	Error   string             `json:"error,omitempty"`
	Stack   *[]string          `json:"stack,omitempty"`
	Memory  *[]string          `json:"memory,omitempty"`
	Storage *map[string]string `json:"storage,omitempty"`
}

StructLogRes stores a structured log emitted by the EVM while replaying a transaction in debug mode. Taken from go-ethereum

func FormatLogs

func FormatLogs(logs []logger.StructLog) []StructLogRes

FormatLogs formats EVM returned structured logs for json output

type TraceConfig

type TraceConfig struct {
	// custom javascript tracer
	Tracer string `protobuf:"bytes,1,opt,name=tracer,proto3" json:"tracer,omitempty"`
	// overrides the default timeout of 5 seconds for JavaScript-based tracing
	// calls
	Timeout string `protobuf:"bytes,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// number of blocks the tracer is willing to go back
	Reexec uint64 `protobuf:"varint,3,opt,name=reexec,proto3" json:"reexec,omitempty"`
	// disable stack capture
	DisableStack bool `protobuf:"varint,5,opt,name=disable_stack,json=disableStack,proto3" json:"disableStack"`
	// disable storage capture
	DisableStorage bool `protobuf:"varint,6,opt,name=disable_storage,json=disableStorage,proto3" json:"disableStorage"`
	// print output during capture end
	Debug bool `protobuf:"varint,8,opt,name=debug,proto3" json:"debug,omitempty"`
	// maximum length of output, but zero means unlimited
	Limit int32 `protobuf:"varint,9,opt,name=limit,proto3" json:"limit,omitempty"`
	// Chain 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 capture
	EnableMemory bool `protobuf:"varint,11,opt,name=enable_memory,json=enableMemory,proto3" json:"enableMemory"`
	// enable return data capture
	EnableReturnData bool `protobuf:"varint,12,opt,name=enable_return_data,json=enableReturnData,proto3" json:"enableReturnData"`
}

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) 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 TransactionArgs

type TransactionArgs struct {
	From                 *common.Address `json:"from"`
	To                   *common.Address `json:"to"`
	Gas                  *hexutil.Uint64 `json:"gas"`
	GasPrice             *hexutil.Big    `json:"gasPrice"`
	MaxFeePerGas         *hexutil.Big    `json:"maxFeePerGas"`
	MaxPriorityFeePerGas *hexutil.Big    `json:"maxPriorityFeePerGas"`
	Value                *hexutil.Big    `json:"value"`
	Nonce                *hexutil.Uint64 `json:"nonce"`

	// We accept "data" and "input" for backwards-compatibility reasons.
	// "input" is the newer name and should be preferred by clients.
	// Issue detail: https://github.com/ethereum/go-ethereum/issues/15628
	Data  *hexutil.Bytes `json:"data"`
	Input *hexutil.Bytes `json:"input"`

	// Introduced by AccessListTxType transaction.
	AccessList *ethtypes.AccessList `json:"accessList,omitempty"`
	ChainID    *hexutil.Big         `json:"chainId,omitempty"`
}

TransactionArgs represents the arguments to construct a new transaction or a message call using JSON-RPC. Duplicate struct definition since geth struct is in internal package Ref: https://github.com/ethereum/go-ethereum/blob/release/1.10.4/internal/ethapi/transaction_args.go#L36

func (*TransactionArgs) GetData

func (args *TransactionArgs) GetData() []byte

GetData retrieves the transaction calldata. Input field is preferred.

func (*TransactionArgs) GetFrom

func (args *TransactionArgs) GetFrom() common.Address

GetFrom retrieves the transaction sender address.

func (*TransactionArgs) String

func (args *TransactionArgs) String() string

String return the struct in a string format

func (*TransactionArgs) ToMessage

func (args *TransactionArgs) ToMessage(globalGasCap uint64, baseFee *big.Int) (ethtypes.Message, error)

ToMessage converts the arguments to the Message type used by the core evm. This assumes that setTxDefaults has been called.

func (*TransactionArgs) ToTransaction

func (args *TransactionArgs) ToTransaction() *MsgEthereumTx

ToTransaction converts the arguments to an ethereum transaction. This assumes that setTxDefaults has been called.

type TransactionLogs

type TransactionLogs struct {
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Logs []*Log `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs,omitempty"`
}

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

func DecodeTransactionLogs

func DecodeTransactionLogs(data []byte) (TransactionLogs, error)

DecodeTxResponse decodes an protobuf-encoded byte slice into TransactionLogs

func NewTransactionLogs

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

NewTransactionLogs creates a new NewTransactionLogs instance.

func NewTransactionLogsFromEth

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

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

func (*TransactionLogs) Descriptor

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

func (TransactionLogs) EthLogs

func (tx TransactionLogs) EthLogs() []*ethtypes.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 TxData

type TxData interface {
	TxType() byte
	Copy() TxData
	GetChainID() *big.Int
	GetAccessList() ethtypes.AccessList
	GetData() []byte
	GetNonce() uint64
	GetGas() uint64
	GetGasPrice() *big.Int
	GetGasTipCap() *big.Int
	GetGasFeeCap() *big.Int
	GetValue() *big.Int
	GetTo() *common.Address

	GetRawSignatureValues() (v, r, s *big.Int)
	SetSignatureValues(chainID, v, r, s *big.Int)

	AsEthereumData() ethtypes.TxData
	Validate() error

	// static fee
	Fee() *big.Int
	Cost() *big.Int

	// effective fee according to current base fee
	EffectiveFee(baseFee *big.Int) *big.Int
	EffectiveCost(baseFee *big.Int) *big.Int
}

TxData implements the Ethereum transaction tx structure. It is used solely as intended in Ethereum abiding by the protocol.

func NewTxDataFromTx

func NewTxDataFromTx(tx *ethtypes.Transaction) (TxData, error)

func UnpackTxData

func UnpackTxData(any *codectypes.Any) (TxData, error)

UnpackTxData unpacks an Any into a TxData. It returns an error if the client state can't be unpacked into a TxData.

type TxResult

type TxResult struct {
	// contract_address contains the ethereum address of the created contract (if
	// any). If the state 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 transaction 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

type TxTraceResult

type TxTraceResult struct {
	Result interface{} `json:"result,omitempty"` // Trace results produced by the tracer
	Error  string      `json:"error,omitempty"`  // Trace failure produced by the tracer
}

TxTraceResult is the result of a single transaction trace during a block trace.

type TxTraceTask

type TxTraceTask struct {
	Index int // Transaction offset in the block
}

TxTraceTask represents a single transaction trace task when an entire block is being traced.

type UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) EthereumTx

type UnimplementedQueryServer

type UnimplementedQueryServer struct {
}

UnimplementedQueryServer can be embedded to have forward compatible implementations.

func (*UnimplementedQueryServer) Account

func (*UnimplementedQueryServer) Balance

func (*UnimplementedQueryServer) BaseFee

func (*UnimplementedQueryServer) BaseFeeParam

func (*UnimplementedQueryServer) BlockGas

func (*UnimplementedQueryServer) Code

func (*UnimplementedQueryServer) CosmosAccount

func (*UnimplementedQueryServer) EstimateGas

func (*UnimplementedQueryServer) EthCall

func (*UnimplementedQueryServer) Params

func (*UnimplementedQueryServer) Storage

func (*UnimplementedQueryServer) TraceBlock

func (*UnimplementedQueryServer) TraceTx

func (*UnimplementedQueryServer) ValidatorAccount

Jump to

Keyboard shortcuts

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