types

package
v0.0.0-...-8b7ac03 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2024 License: LGPL-3.0 Imports: 60 Imported by: 0

Documentation

Overview

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

Copyright 2022 Hekas Foundation This file is part of the Hekas Network packages.

Hekas is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Hekas packages are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Hekas packages. If not, see https://github.com/hekas-network/hekas/blob/main/LICENSE

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

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 (
	// TypeMsgEthereumTx defines the type string of an Ethereum transaction
	TypeMsgEthereumTx = "ethereum_tx"
)

message type and route constants

Variables

View Source
var (

	// ModuleCdc references the global evm module codec. Note, the codec should
	// ONLY be used in certain instances of tests and for JSON encoding.
	ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry())

	// AminoCdc is a amino codec created to support amino JSON compatible msgs.
	AminoCdc = codec.NewAminoCodec(amino)
)
View Source
var (
	// ErrInvalidState returns an error resulting from an invalid Storage State.
	ErrInvalidState = errorsmod.Register(ModuleName, codeErrInvalidState, "invalid storage state")

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

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

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

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

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

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

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

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

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

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

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

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

	// ErrInvalidAccount returns an error if the account is not an EVM compatible account
	ErrInvalidAccount = errorsmod.Register(ModuleName, codeErrInvalidAccount, "account type is not a valid ethereum account")

	// ErrInvalidGasLimit returns an error if gas limit value is invalid
	ErrInvalidGasLimit = errorsmod.Register(ModuleName, codeErrInvalidGasLimit, "invalid gas limit")
)
View Source
var (
	ErrInvalidLengthEvents        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowEvents          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupEvents = fmt.Errorf("proto: unexpected end of group")
)
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}
	KeyPrefixParams  = []byte{prefixParams}
)

KVStore key prefixes

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

Transient Store key prefixes

View Source
var (
	// DefaultEVMDenom defines the default EVM denomination on Hekas
	DefaultEVMDenom = utils.BaseDenom
	// DefaultAllowUnprotectedTxs rejects all unprotected txs (i.e false)
	DefaultAllowUnprotectedTxs = false
	// DefaultEnableCreate enables contract creation (i.e true)
	DefaultEnableCreate = true
	// DefaultEnableCall enables contract calls (i.e true)
	DefaultEnableCall = true
)
View Source
var (
	ParamStoreKeyEVMDenom            = []byte("EVMDenom")
	ParamStoreKeyEnableCreate        = []byte("EnableCreate")
	ParamStoreKeyEnableCall          = []byte("EnableCall")
	ParamStoreKeyExtraEIPs           = []byte("EnableExtraEIPs")
	ParamStoreKeyChainConfig         = []byte("ChainConfig")
	ParamStoreKeyAllowUnprotectedTxs = []byte("AllowUnprotectedTxs")
)

Parameter keys

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

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

View Source
var DefaultPriorityReduction = sdk.DefaultPowerReduction

DefaultPriorityReduction is the default amount of price values required for 1 unit of priority. Because priority is `int64` while price is `big.Int`, it's necessary to scale down the range to keep it more pratical. The default value is the same as the `sdk.DefaultPowerReduction`.

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 EffectiveGasPrice

func EffectiveGasPrice(baseFee, feeCap, tipCap *big.Int) *big.Int

EffectiveGasPrice compute the effective gas price based on eip-1159 rules `effectiveGasPrice = min(baseFee + tipCap, feeCap)`

func EncodeTransactionLogs

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

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

func GetTxPriority

func GetTxPriority(txData TxData, baseFee *big.Int) (priority int64)

GetTxPriority returns the priority of a given Ethereum tx. It relies of the priority reduction global variable to calculate the tx priority given the tx tip price:

tx_priority = tip_price / priority_reduction

func IsLondon

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

IsLondon returns if london hardfork is enabled.

func LogsToEthereum

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

LogsToEthereum casts the Ethermint 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)

PackTxData 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 implementation is not registered to the protobuf codec.

func ParamKeyTable deprecated

func ParamKeyTable() paramtypes.KeyTable

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

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces registers the client interfaces to protobuf Any.

func RegisterLegacyAminoCodec

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec required for EIP-712

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 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 {
	// chain_id of the destination EVM chain
	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"`
	// to is the recipient address in hex format
	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"`
	// data is the data payload bytes of the transaction.
	Data []byte `protobuf:"bytes,7,opt,name=data,proto3" json:"data,omitempty"`
	// accesses is an array of access tuples
	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) EffectiveGasPrice

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

EffectiveGasPrice is the same as GasPrice 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 {
	// address is a hex formatted ethereum address
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// storage_keys are hex formatted hashes of the storage keys
	StorageKeys []string `protobuf:"bytes,2,rep,name=storage_keys,json=storageKeys,proto3" json:"storageKeys"`
}

AccessTuple is the element type of an access list.

func (*AccessTuple) Descriptor

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

func (*AccessTuple) Marshal

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

func (*AccessTuple) MarshalTo

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

func (*AccessTuple) MarshalToSizedBuffer

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

func (*AccessTuple) ProtoMessage

func (*AccessTuple) ProtoMessage()

func (*AccessTuple) Reset

func (m *AccessTuple) Reset()

func (*AccessTuple) Size

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

func (*AccessTuple) String

func (m *AccessTuple) String() string

func (*AccessTuple) Unmarshal

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

func (*AccessTuple) XXX_DiscardUnknown

func (m *AccessTuple) XXX_DiscardUnknown()

func (*AccessTuple) XXX_Marshal

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

func (*AccessTuple) XXX_Merge

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

func (*AccessTuple) XXX_Size

func (m *AccessTuple) XXX_Size() int

func (*AccessTuple) XXX_Unmarshal

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

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

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

func DefaultChainConfig

func DefaultChainConfig() ChainConfig

DefaultChainConfig returns default evm parameters.

func (*ChainConfig) Descriptor

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

func (ChainConfig) EthereumConfig

func (cc ChainConfig) EthereumConfig(chainID *big.Int) *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 {
	// chain_id of the destination EVM chain
	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"`
	// to is the 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"`
	// data is the data payload bytes of the transaction.
	Data []byte `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"`
	// accesses is an array of access tuples
	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 NewDynamicFeeTx

func NewDynamicFeeTx(tx *ethtypes.Transaction) (*DynamicFeeTx, error)

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

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

EffectiveGasPrice returns the effective gas price

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

type EstimateGasResponse struct {
	// gas returns 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 {
	// args uses the same json format as the json rpc api.
	Args []byte `protobuf:"bytes,1,opt,name=args,proto3" json:"args,omitempty"`
	// gas_cap defines the default gas cap to be used
	GasCap uint64 `protobuf:"varint,2,opt,name=gas_cap,json=gasCap,proto3" json:"gas_cap,omitempty"`
	// proposer_address of the requested block in hex format
	ProposerAddress github_com_cosmos_cosmos_sdk_types.ConsAddress `` /* 162-byte string literal not displayed */
	// chain_id is the eip155 chain id parsed from the requested block header
	ChainId int64 `protobuf:"varint,4,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
}

EthCallRequest defines EthCall request

func (*EthCallRequest) Descriptor

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

func (*EthCallRequest) GetArgs

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

func (*EthCallRequest) GetChainId

func (m *EthCallRequest) GetChainId() int64

func (*EthCallRequest) GetGasCap

func (m *EthCallRequest) GetGasCap() uint64

func (*EthCallRequest) GetProposerAddress

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 EventBlockBloom

type EventBlockBloom struct {
	// bloom is the bloom filter of the block
	Bloom string `protobuf:"bytes,1,opt,name=bloom,proto3" json:"bloom,omitempty"`
}

EventBlockBloom defines an Ethereum block bloom filter event

func (*EventBlockBloom) Descriptor

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

func (*EventBlockBloom) GetBloom

func (m *EventBlockBloom) GetBloom() string

func (*EventBlockBloom) Marshal

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

func (*EventBlockBloom) MarshalTo

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

func (*EventBlockBloom) MarshalToSizedBuffer

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

func (*EventBlockBloom) ProtoMessage

func (*EventBlockBloom) ProtoMessage()

func (*EventBlockBloom) Reset

func (m *EventBlockBloom) Reset()

func (*EventBlockBloom) Size

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

func (*EventBlockBloom) String

func (m *EventBlockBloom) String() string

func (*EventBlockBloom) Unmarshal

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

func (*EventBlockBloom) XXX_DiscardUnknown

func (m *EventBlockBloom) XXX_DiscardUnknown()

func (*EventBlockBloom) XXX_Marshal

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

func (*EventBlockBloom) XXX_Merge

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

func (*EventBlockBloom) XXX_Size

func (m *EventBlockBloom) XXX_Size() int

func (*EventBlockBloom) XXX_Unmarshal

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

type EventEthereumTx

type EventEthereumTx struct {
	// amount
	Amount string `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"`
	// eth_hash is the Ethereum hash of the transaction
	EthHash string `protobuf:"bytes,2,opt,name=eth_hash,json=ethHash,proto3" json:"eth_hash,omitempty"`
	// index of the transaction in the block
	Index string `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"`
	// gas_used is the amount of gas used by the transaction
	GasUsed string `protobuf:"bytes,4,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"`
	// hash is the Tendermint hash of the transaction
	Hash string `protobuf:"bytes,5,opt,name=hash,proto3" json:"hash,omitempty"`
	// recipient of the transaction
	Recipient string `protobuf:"bytes,6,opt,name=recipient,proto3" json:"recipient,omitempty"`
	// eth_tx_failed contains a VM error should it occur
	EthTxFailed string `protobuf:"bytes,7,opt,name=eth_tx_failed,json=ethTxFailed,proto3" json:"eth_tx_failed,omitempty"`
}

EventEthereumTx defines the event for an Ethereum transaction

func (*EventEthereumTx) Descriptor

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

func (*EventEthereumTx) GetAmount

func (m *EventEthereumTx) GetAmount() string

func (*EventEthereumTx) GetEthHash

func (m *EventEthereumTx) GetEthHash() string

func (*EventEthereumTx) GetEthTxFailed

func (m *EventEthereumTx) GetEthTxFailed() string

func (*EventEthereumTx) GetGasUsed

func (m *EventEthereumTx) GetGasUsed() string

func (*EventEthereumTx) GetHash

func (m *EventEthereumTx) GetHash() string

func (*EventEthereumTx) GetIndex

func (m *EventEthereumTx) GetIndex() string

func (*EventEthereumTx) GetRecipient

func (m *EventEthereumTx) GetRecipient() string

func (*EventEthereumTx) Marshal

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

func (*EventEthereumTx) MarshalTo

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

func (*EventEthereumTx) MarshalToSizedBuffer

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

func (*EventEthereumTx) ProtoMessage

func (*EventEthereumTx) ProtoMessage()

func (*EventEthereumTx) Reset

func (m *EventEthereumTx) Reset()

func (*EventEthereumTx) Size

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

func (*EventEthereumTx) String

func (m *EventEthereumTx) String() string

func (*EventEthereumTx) Unmarshal

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

func (*EventEthereumTx) XXX_DiscardUnknown

func (m *EventEthereumTx) XXX_DiscardUnknown()

func (*EventEthereumTx) XXX_Marshal

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

func (*EventEthereumTx) XXX_Merge

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

func (*EventEthereumTx) XXX_Size

func (m *EventEthereumTx) XXX_Size() int

func (*EventEthereumTx) XXX_Unmarshal

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

type EventMessage

type EventMessage struct {
	// module which emits the event
	Module string `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
	// sender of the message
	Sender string `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"`
	// tx_type is the type of the message
	TxType string `protobuf:"bytes,3,opt,name=tx_type,json=txType,proto3" json:"tx_type,omitempty"`
}

EventMessage

func (*EventMessage) Descriptor

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

func (*EventMessage) GetModule

func (m *EventMessage) GetModule() string

func (*EventMessage) GetSender

func (m *EventMessage) GetSender() string

func (*EventMessage) GetTxType

func (m *EventMessage) GetTxType() string

func (*EventMessage) Marshal

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

func (*EventMessage) MarshalTo

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

func (*EventMessage) MarshalToSizedBuffer

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

func (*EventMessage) ProtoMessage

func (*EventMessage) ProtoMessage()

func (*EventMessage) Reset

func (m *EventMessage) Reset()

func (*EventMessage) Size

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

func (*EventMessage) String

func (m *EventMessage) String() string

func (*EventMessage) Unmarshal

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

func (*EventMessage) XXX_DiscardUnknown

func (m *EventMessage) XXX_DiscardUnknown()

func (*EventMessage) XXX_Marshal

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

func (*EventMessage) XXX_Merge

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

func (*EventMessage) XXX_Size

func (m *EventMessage) XXX_Size() int

func (*EventMessage) XXX_Unmarshal

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

type EventTxLog

type EventTxLog struct {
	// tx_logs is an array of transaction logs
	TxLogs []string `protobuf:"bytes,1,rep,name=tx_logs,json=txLogs,proto3" json:"tx_logs,omitempty"`
}

EventTxLog defines the event for an Ethereum transaction log

func (*EventTxLog) Descriptor

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

func (*EventTxLog) GetTxLogs

func (m *EventTxLog) GetTxLogs() []string

func (*EventTxLog) Marshal

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

func (*EventTxLog) MarshalTo

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

func (*EventTxLog) MarshalToSizedBuffer

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

func (*EventTxLog) ProtoMessage

func (*EventTxLog) ProtoMessage()

func (*EventTxLog) Reset

func (m *EventTxLog) Reset()

func (*EventTxLog) Size

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

func (*EventTxLog) String

func (m *EventTxLog) String() string

func (*EventTxLog) Unmarshal

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

func (*EventTxLog) XXX_DiscardUnknown

func (m *EventTxLog) XXX_DiscardUnknown()

func (*EventTxLog) XXX_Marshal

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

func (*EventTxLog) XXX_Merge

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

func (*EventTxLog) XXX_Size

func (m *EventTxLog) XXX_Size() int

func (*EventTxLog) XXX_Unmarshal

func (m *EventTxLog) 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 EvmTxArgs

type EvmTxArgs struct {
	Nonce     uint64
	GasLimit  uint64
	Input     []byte
	GasFeeCap *big.Int
	GasPrice  *big.Int
	ChainID   *big.Int
	Amount    *big.Int
	GasTipCap *big.Int
	To        *common.Address
	Accesses  *ethtypes.AccessList
}

EvmTxArgs encapsulates all possible params to create all EVM txs types. This includes LegacyTx, DynamicFeeTx and AccessListTx

type ExtensionOptionsEthereumTx

type ExtensionOptionsEthereumTx struct {
}

ExtensionOptionsEthereumTx is an extension option for ethereum transactions

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 FeeMarketKeeper

type FeeMarketKeeper interface {
	GetBaseFee(ctx sdk.Context) *big.Int
	GetParams(ctx sdk.Context) feemarkettypes.Params
	AddTransientGasWanted(ctx sdk.Context, gasWanted uint64) (uint64, error)
}

FeeMarketKeeper

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"`
}

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

type LegacyParams = paramtypes.ParamSet

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"`
	// to is the 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"`
	// data is 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. NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the AllowUnprotectedTxs parameter is disabled.

func NewLegacyTx

func NewLegacyTx(tx *ethtypes.Transaction) (*LegacyTx, error)

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

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

EffectiveGasPrice is the same as GasPrice 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"`
	// topics is a list of topics provided by the contract.
	Topics []string `protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
	// data which is supplied by the contract, usually ABI-encoded
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// block_number of the block in which the transaction was included
	BlockNumber uint64 `protobuf:"varint,4,opt,name=block_number,json=blockNumber,proto3" json:"blockNumber"`
	// tx_hash is the transaction hash
	TxHash string `protobuf:"bytes,5,opt,name=tx_hash,json=txHash,proto3" json:"transactionHash"`
	// tx_index of the transaction in the block
	TxIndex uint64 `protobuf:"varint,6,opt,name=tx_index,json=txIndex,proto3" json:"transactionIndex"`
	// block_hash of the block in which the 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"`
	// removed is true if this log was reverted due to a chain
	// reorganisation. You must pay attention to this field if you receive logs
	// through a filter query.
	Removed bool `protobuf:"varint,9,opt,name=removed,proto3" json:"removed,omitempty"`
}

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

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

func NewLogFromEth

func NewLogFromEth(log *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 Ethermint 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)
	// UpdateParams defined a governance operation for updating the x/evm module parameters.
	// The authority is hard-coded to the Cosmos SDK x/gov module account
	UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, 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 {
	// data is inner transaction data of the Ethereum transaction
	Data *types.Any `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// size is the encoded storage size of the transaction (DEPRECATED)
	Size_ float64 `protobuf:"fixed64,2,opt,name=size,proto3" json:"-"`
	// hash of the transaction in hex format
	Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty" rlp:"-"`
	// from is the 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(
	tx *EvmTxArgs,
) *MsgEthereumTx

NewTx returns a reference to a new Ethereum transaction message.

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 {
	// hash of the ethereum transaction 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"`
	// ret is the 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_used specifies how much gas was 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)
	// UpdateParams defined a governance operation for updating the x/evm module parameters.
	// The authority is hard-coded to the Cosmos SDK x/gov module account
	UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error)
}

MsgServer is the server API for Msg service.

type MsgUpdateParams

type MsgUpdateParams struct {
	// authority is the address of the governance account.
	Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"`
	// params defines the x/evm parameters to update.
	// NOTE: All parameters must be supplied.
	Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"`
}

MsgUpdateParams defines a Msg for updating the x/evm module parameters.

func (*MsgUpdateParams) Descriptor

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

func (*MsgUpdateParams) GetAuthority

func (m *MsgUpdateParams) GetAuthority() string

func (*MsgUpdateParams) GetParams

func (m *MsgUpdateParams) GetParams() Params

func (MsgUpdateParams) GetSignBytes

func (m MsgUpdateParams) GetSignBytes() []byte

GetSignBytes implements the LegacyMsg interface.

func (MsgUpdateParams) GetSigners

func (m MsgUpdateParams) GetSigners() []sdk.AccAddress

GetSigners returns the expected signers for a MsgUpdateParams message.

func (*MsgUpdateParams) Marshal

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

func (*MsgUpdateParams) MarshalTo

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

func (*MsgUpdateParams) MarshalToSizedBuffer

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

func (*MsgUpdateParams) ProtoMessage

func (*MsgUpdateParams) ProtoMessage()

func (*MsgUpdateParams) Reset

func (m *MsgUpdateParams) Reset()

func (*MsgUpdateParams) Size

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

func (*MsgUpdateParams) String

func (m *MsgUpdateParams) String() string

func (*MsgUpdateParams) Unmarshal

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

func (*MsgUpdateParams) ValidateBasic

func (m *MsgUpdateParams) ValidateBasic() error

ValidateBasic does a sanity check of the provided data

func (*MsgUpdateParams) XXX_DiscardUnknown

func (m *MsgUpdateParams) XXX_DiscardUnknown()

func (*MsgUpdateParams) XXX_Marshal

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

func (*MsgUpdateParams) XXX_Merge

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

func (*MsgUpdateParams) XXX_Size

func (m *MsgUpdateParams) XXX_Size() int

func (*MsgUpdateParams) XXX_Unmarshal

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

type MsgUpdateParamsResponse

type MsgUpdateParamsResponse struct {
}

MsgUpdateParamsResponse defines the response structure for executing a MsgUpdateParams message.

func (*MsgUpdateParamsResponse) Descriptor

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

func (*MsgUpdateParamsResponse) Marshal

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

func (*MsgUpdateParamsResponse) MarshalTo

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

func (*MsgUpdateParamsResponse) MarshalToSizedBuffer

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

func (*MsgUpdateParamsResponse) ProtoMessage

func (*MsgUpdateParamsResponse) ProtoMessage()

func (*MsgUpdateParamsResponse) Reset

func (m *MsgUpdateParamsResponse) Reset()

func (*MsgUpdateParamsResponse) Size

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

func (*MsgUpdateParamsResponse) String

func (m *MsgUpdateParamsResponse) String() string

func (*MsgUpdateParamsResponse) Unmarshal

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

func (*MsgUpdateParamsResponse) XXX_DiscardUnknown

func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown()

func (*MsgUpdateParamsResponse) XXX_Marshal

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

func (*MsgUpdateParamsResponse) XXX_Merge

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

func (*MsgUpdateParamsResponse) XXX_Size

func (m *MsgUpdateParamsResponse) XXX_Size() int

func (*MsgUpdateParamsResponse) XXX_Unmarshal

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

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

func (NoOpTracer) CaptureTxEnd

func (dt NoOpTracer) CaptureTxEnd(restGas uint64)

CaptureTxEnd implements vm.Tracer interface

func (NoOpTracer) CaptureTxStart

func (dt NoOpTracer) CaptureTxStart(gasLimit uint64)

CaptureTxStart 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"`
	// allow_unprotected_txs defines if replay-protected (i.e non EIP155
	// signed) transactions can be executed on the state machine.
	AllowUnprotectedTxs bool `protobuf:"varint,6,opt,name=allow_unprotected_txs,json=allowUnprotectedTxs,proto3" json:"allow_unprotected_txs,omitempty"`
}

Params defines the EVM module parameters

func DefaultParams

func DefaultParams() Params

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

func NewParams

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

NewParams creates a new Params instance

func (*Params) Descriptor

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

func (Params) EIPs

func (p Params) EIPs() []int

EIPs returns the ExtraEIPS as a int slice

func (*Params) GetAllowUnprotectedTxs

func (m *Params) GetAllowUnprotectedTxs() bool

func (*Params) GetChainConfig

func (m *Params) GetChainConfig() ChainConfig

func (*Params) GetEnableCall

func (m *Params) GetEnableCall() bool

func (*Params) GetEnableCreate

func (m *Params) GetEnableCreate() bool

func (*Params) GetEvmDenom

func (m *Params) GetEvmDenom() string

func (*Params) GetExtraEIPs

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

func (*Params) Marshal

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

func (*Params) MarshalTo

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

func (*Params) MarshalToSizedBuffer

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

func (*Params) ParamSetPairs deprecated

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

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

func (*Params) ProtoMessage

func (*Params) ProtoMessage()

func (*Params) Reset

func (m *Params) Reset()

func (*Params) Size

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

func (*Params) String

func (m *Params) String() string

func (*Params) Unmarshal

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

func (Params) Validate

func (p Params) Validate() error

Validate performs basic validation on evm parameters.

func (*Params) XXX_DiscardUnknown

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal

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

func (*Params) XXX_Merge

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

func (*Params) XXX_Size

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal

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

type 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 {
	// base_fee is the EIP1559 base fee
	BaseFee *github_com_cosmos_cosmos_sdk_types.Int `` /* 132-byte string literal not displayed */
}

QueryBaseFeeResponse 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 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)
}

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 number
	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)
}

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 {
	// value 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 is an array of messages in the block
	Txs []*MsgEthereumTx `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
	// trace_config holds extra parameters to trace functions.
	TraceConfig *TraceConfig `protobuf:"bytes,3,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"`
	// block_number of the traced block
	BlockNumber int64 `protobuf:"varint,5,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	// block_hash (hex) of the traced block
	BlockHash string `protobuf:"bytes,6,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// block_time of the traced block
	BlockTime time.Time `protobuf:"bytes,7,opt,name=block_time,json=blockTime,proto3,stdtime" json:"block_time"`
	// proposer_address is the address of the requested block
	ProposerAddress github_com_cosmos_cosmos_sdk_types.ConsAddress `` /* 162-byte string literal not displayed */
	// chain_id is the eip155 chain id parsed from the requested block header
	ChainId int64 `protobuf:"varint,9,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
}

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

func (m *QueryTraceBlockRequest) GetChainId() int64

func (*QueryTraceBlockRequest) GetProposerAddress

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 is the response serialized in bytes
	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 {
	// msg is the MsgEthereumTx for the requested transaction
	Msg *MsgEthereumTx `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
	// trace_config holds extra parameters to trace functions.
	TraceConfig *TraceConfig `protobuf:"bytes,3,opt,name=trace_config,json=traceConfig,proto3" json:"trace_config,omitempty"`
	// predecessors is an array of transactions included in the same block
	// need to be replayed first to get correct context for tracing.
	Predecessors []*MsgEthereumTx `protobuf:"bytes,4,rep,name=predecessors,proto3" json:"predecessors,omitempty"`
	// block_number of requested transaction
	BlockNumber int64 `protobuf:"varint,5,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"`
	// block_hash of requested transaction
	BlockHash string `protobuf:"bytes,6,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
	// block_time of requested transaction
	BlockTime time.Time `protobuf:"bytes,7,opt,name=block_time,json=blockTime,proto3,stdtime" json:"block_time"`
	// proposer_address is the proposer of the requested block
	ProposerAddress github_com_cosmos_cosmos_sdk_types.ConsAddress `` /* 162-byte string literal not displayed */
	// chain_id is the the eip155 chain id parsed from the requested block header
	ChainId int64 `protobuf:"varint,9,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
}

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

func (m *QueryTraceTxRequest) GetChainId() int64

func (*QueryTraceTxRequest) GetMsg

func (m *QueryTraceTxRequest) GetMsg() *MsgEthereumTx

func (*QueryTraceTxRequest) GetPredecessors

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

func (*QueryTraceTxRequest) GetProposerAddress

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 {
	// data is the 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"`
}

QueryTxLogsResponse 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 is the stored key
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// value is the stored value for the given key
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

State represents a single Storage key value pair item.

func NewState

func NewState(key, value common.Hash) State

NewState creates a new State instance

func (*State) Descriptor

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

func (*State) GetKey

func (m *State) GetKey() string

func (*State) GetValue

func (m *State) GetValue() string

func (*State) Marshal

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

func (*State) MarshalTo

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

func (*State) MarshalToSizedBuffer

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

func (*State) ProtoMessage

func (*State) ProtoMessage()

func (*State) Reset

func (m *State) Reset()

func (*State) Size

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

func (*State) String

func (m *State) String() string

func (*State) Unmarshal

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

func (State) Validate

func (s State) Validate() error

Validate performs a basic validation of the State fields. NOTE: 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 Subspace

type Subspace interface {
	GetParamSetIfExists(ctx sdk.Context, ps LegacyParams)
}

Subspace defines an interface that implements the legacy Cosmos SDK x/params Subspace type. NOTE: This is used solely for migration of the Cosmos SDK x/params managed parameters.

type TraceConfig

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

TraceConfig holds extra parameters to trace functions.

func (*TraceConfig) Descriptor

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

func (*TraceConfig) GetDebug

func (m *TraceConfig) GetDebug() bool

func (*TraceConfig) GetDisableStack

func (m *TraceConfig) GetDisableStack() bool

func (*TraceConfig) GetDisableStorage

func (m *TraceConfig) GetDisableStorage() bool

func (*TraceConfig) GetEnableMemory

func (m *TraceConfig) GetEnableMemory() bool

func (*TraceConfig) GetEnableReturnData

func (m *TraceConfig) GetEnableReturnData() bool

func (*TraceConfig) GetLimit

func (m *TraceConfig) GetLimit() int32

func (*TraceConfig) GetOverrides

func (m *TraceConfig) GetOverrides() *ChainConfig

func (*TraceConfig) GetReexec

func (m *TraceConfig) GetReexec() uint64

func (*TraceConfig) GetTimeout

func (m *TraceConfig) GetTimeout() string

func (*TraceConfig) GetTracer

func (m *TraceConfig) GetTracer() string

func (*TraceConfig) GetTracerJsonConfig

func (m *TraceConfig) GetTracerJsonConfig() string

func (*TraceConfig) Marshal

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

func (*TraceConfig) MarshalTo

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

func (*TraceConfig) MarshalToSizedBuffer

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

func (*TraceConfig) ProtoMessage

func (*TraceConfig) ProtoMessage()

func (*TraceConfig) Reset

func (m *TraceConfig) Reset()

func (*TraceConfig) Size

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

func (*TraceConfig) String

func (m *TraceConfig) String() string

func (*TraceConfig) Unmarshal

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

func (*TraceConfig) XXX_DiscardUnknown

func (m *TraceConfig) XXX_DiscardUnknown()

func (*TraceConfig) XXX_Marshal

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

func (*TraceConfig) XXX_Merge

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

func (*TraceConfig) XXX_Size

func (m *TraceConfig) XXX_Size() int

func (*TraceConfig) XXX_Unmarshal

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

type 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 of the transaction
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	// logs is an array of Logs for the given transaction hash
	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)

DecodeTransactionLogs 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 gasPrice/fee/cost according to current base fee
	EffectiveGasPrice(baseFee *big.Int) *big.Int
	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)

NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the AllowUnprotectedTxs parameter is disabled.

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 UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) EthereumTx

func (*UnimplementedMsgServer) UpdateParams

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