types

package
v1.11.3 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library 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 Ethermint library is 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 Ethermint library. If not, see https://github.com/xpladev/ethermint/blob/main/LICENSE

Index

Constants

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

Variables

View Source
var (
	// 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")

	// ErrInvalidGasCap returns an error if a the gas cap value is negative or invalid
	ErrInvalidGasCap = errorsmod.Register(ModuleName, codeErrInvalidGasCap, "invalid gas cap")
)
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 (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)

Functions

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 *big.Int, feeCap *big.Int, tipCap *big.Int) *big.Int

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

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces registers the client interfaces to protobuf Any.

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

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 *cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3,customtype=cosmossdk.io/math.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 *cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=gas_price,json=gasPrice,proto3,customtype=cosmossdk.io/math.Int" json:"gas_price,omitempty"`
	// 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 *cosmossdk_io_math.Int `protobuf:"bytes,6,opt,name=value,proto3,customtype=cosmossdk.io/math.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(_ *big.Int) *big.Int

EffectiveCost is the same as Cost for AccessListTx

func (AccessListTx) EffectiveFee

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

EffectiveFee is the same as Fee for AccessListTx

func (AccessListTx) EffectiveGasPrice

func (tx AccessListTx) EffectiveGasPrice(_ *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 ChainConfig

type ChainConfig struct {
	// homestead_block switch (nil no fork, 0 = already homestead)
	HomesteadBlock *cosmossdk_io_math.Int `` /* 159-byte string literal not displayed */
	// dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)
	DAOForkBlock *cosmossdk_io_math.Int `` /* 154-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 *cosmossdk_io_math.Int `` /* 147-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 *cosmossdk_io_math.Int `` /* 147-byte string literal not displayed */
	// eip158_block: EIP158 HF block
	EIP158Block *cosmossdk_io_math.Int `` /* 147-byte string literal not displayed */
	// byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)
	ByzantiumBlock *cosmossdk_io_math.Int `` /* 159-byte string literal not displayed */
	// constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)
	ConstantinopleBlock *cosmossdk_io_math.Int `` /* 179-byte string literal not displayed */
	// petersburg_block: Petersburg switch block (nil same as Constantinople)
	PetersburgBlock *cosmossdk_io_math.Int `` /* 164-byte string literal not displayed */
	// istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)
	IstanbulBlock *cosmossdk_io_math.Int `` /* 156-byte string literal not displayed */
	// muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)
	MuirGlacierBlock *cosmossdk_io_math.Int `` /* 171-byte string literal not displayed */
	// berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)
	BerlinBlock *cosmossdk_io_math.Int `` /* 148-byte string literal not displayed */
	// london_block: London switch block (nil = no fork, 0 = already on london)
	LondonBlock *cosmossdk_io_math.Int `` /* 148-byte string literal not displayed */
	// arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
	ArrowGlacierBlock *cosmossdk_io_math.Int `` /* 175-byte string literal not displayed */
	// gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated)
	GrayGlacierBlock *cosmossdk_io_math.Int `` /* 171-byte string literal not displayed */
	// merge_netsplit_block: Virtual fork after The Merge to use as a network splitter
	MergeNetsplitBlock *cosmossdk_io_math.Int `` /* 179-byte string literal not displayed */
	// shanghai_block switch block (nil = no fork, 0 = already on shanghai)
	ShanghaiBlock *cosmossdk_io_math.Int `` /* 156-byte string literal not displayed */
	// cancun_block switch block (nil = no fork, 0 = already on cancun)
	CancunBlock *cosmossdk_io_math.Int `` /* 148-byte string literal not displayed */
}

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

func (*ChainConfig) Descriptor

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

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

type DynamicFeeTx struct {
	// chain_id of the destination EVM chain
	ChainID *cosmossdk_io_math.Int `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3,customtype=cosmossdk.io/math.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 *cosmossdk_io_math.Int `protobuf:"bytes,3,opt,name=gas_tip_cap,json=gasTipCap,proto3,customtype=cosmossdk.io/math.Int" json:"gas_tip_cap,omitempty"`
	// gas_fee_cap defines the max value for the gas fee
	GasFeeCap *cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=gas_fee_cap,json=gasFeeCap,proto3,customtype=cosmossdk.io/math.Int" json:"gas_fee_cap,omitempty"`
	// 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 transaction amount.
	Amount *cosmossdk_io_math.Int `protobuf:"bytes,7,opt,name=value,proto3,customtype=cosmossdk.io/math.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 dynamic fee transactions.

func (*DynamicFeeTx) AsEthereumData

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

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

func (*DynamicFeeTx) Copy

func (tx *DynamicFeeTx) Copy() TxData

Copy returns an instance with the same field values

func (DynamicFeeTx) Cost

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

Cost returns amount + gasprice * gaslimit.

func (*DynamicFeeTx) Descriptor

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

func (DynamicFeeTx) EffectiveCost

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

EffectiveCost returns amount + effective_gasprice * gaslimit.

func (DynamicFeeTx) EffectiveFee

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

EffectiveFee returns effective_gasprice * gaslimit.

func (*DynamicFeeTx) 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 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 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 *cosmossdk_io_math.Int `protobuf:"bytes,2,opt,name=gas_price,json=gasPrice,proto3,customtype=cosmossdk.io/math.Int" json:"gas_price,omitempty"`
	// 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 *cosmossdk_io_math.Int `protobuf:"bytes,5,opt,name=value,proto3,customtype=cosmossdk.io/math.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 (*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(_ *big.Int) *big.Int

EffectiveCost is the same as Cost for LegacyTx

func (LegacyTx) EffectiveFee

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

EffectiveFee is the same as Fee for LegacyTx

func (LegacyTx) EffectiveGasPrice

func (tx LegacyTx) EffectiveGasPrice(_ *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 (*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) Unmarshal

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

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 (MsgEthereumTx) AsTransaction added in v1.9.0

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

AsTransaction creates an Ethereum Transaction type from the msg fields

func (*MsgEthereumTx) Descriptor

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

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

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

func (*MsgEthereumTx) String

func (m *MsgEthereumTx) String() string

func (*MsgEthereumTx) Unmarshal

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

func (*MsgEthereumTx) UnpackInterfaces added in v1.9.0

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

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 (*MsgEthereumTxResponse) Descriptor

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

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) 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) 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) 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 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 (*Params) Descriptor

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

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

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal

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

func (*Params) XXX_Merge

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

func (*Params) XXX_Size

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal

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

type State

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

State represents a single Storage key value pair item.

func (*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) 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 TraceConfig

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

TraceConfig holds extra parameters to trace functions.

func (*TraceConfig) Descriptor

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

func (*TraceConfig) GetDebug

func (m *TraceConfig) GetDebug() bool

func (*TraceConfig) GetDisableStack

func (m *TraceConfig) GetDisableStack() bool

func (*TraceConfig) GetDisableStorage

func (m *TraceConfig) GetDisableStorage() bool

func (*TraceConfig) GetEnableMemory

func (m *TraceConfig) GetEnableMemory() bool

func (*TraceConfig) GetEnableReturnData

func (m *TraceConfig) GetEnableReturnData() bool

func (*TraceConfig) GetLimit

func (m *TraceConfig) GetLimit() int32

func (*TraceConfig) GetOverrides

func (m *TraceConfig) GetOverrides() *ChainConfig

func (*TraceConfig) GetReexec

func (m *TraceConfig) GetReexec() uint64

func (*TraceConfig) GetTimeout

func (m *TraceConfig) GetTimeout() string

func (*TraceConfig) GetTracer

func (m *TraceConfig) GetTracer() string

func (*TraceConfig) GetTracerJsonConfig

func (m *TraceConfig) GetTracerJsonConfig() string

func (*TraceConfig) Marshal

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

func (*TraceConfig) MarshalTo

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

func (*TraceConfig) MarshalToSizedBuffer

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

func (*TraceConfig) ProtoMessage

func (*TraceConfig) ProtoMessage()

func (*TraceConfig) Reset

func (m *TraceConfig) Reset()

func (*TraceConfig) Size

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

func (*TraceConfig) String

func (m *TraceConfig) String() string

func (*TraceConfig) Unmarshal

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

func (*TraceConfig) XXX_DiscardUnknown

func (m *TraceConfig) XXX_DiscardUnknown()

func (*TraceConfig) XXX_Marshal

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

func (*TraceConfig) XXX_Merge

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

func (*TraceConfig) XXX_Size

func (m *TraceConfig) XXX_Size() int

func (*TraceConfig) XXX_Unmarshal

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

type TransactionLogs

type TransactionLogs struct {
	// hash of the 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 (*TransactionLogs) Descriptor

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

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) 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 added in v1.9.0

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

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 UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) EthereumTx

func (*UnimplementedMsgServer) UpdateParams

Jump to

Keyboard shortcuts

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