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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/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/evmos/ethermint/blob/main/LICENSE
Index ¶
- Constants
- Variables
- func AccAddressFromHexUnsafe(address string) (addr sdk.AccAddress, err error)
- func BlockGasLimit(ctx sdk.Context) uint64
- func HasDynamicFeeExtensionOption(any *codectypes.Any) bool
- func IsEmptyHash(hash string) bool
- func IsValidInt256(i *big.Int) bool
- func IsZeroAddress(address string) bool
- func NewInfiniteGasMeterWithLimit(limit sdk.Gas) sdk.GasMeter
- func NewPhotonCoin(amount sdk.Int) sdk.Coin
- func NewPhotonCoinInt64(amount int64) sdk.Coin
- func NewPhotonDecCoin(amount sdk.Int) sdk.DecCoin
- func ProtoAccount() authtypes.AccountI
- func RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func SafeInt64(value uint64) (int64, error)
- func SafeNewIntFromBigInt(i *big.Int) (sdk.Int, error)
- func ValidateAddress(address string) error
- func ValidateNonZeroAddress(address string) error
- type AccountKeeper
- type BankKeeper
- type EVMTxIndexer
- type ErrorGasOverflow
- type ErrorNegativeGasConsumed
- type EthAccount
- func (*EthAccount) Descriptor() ([]byte, []int)
- func (acc EthAccount) EthAddress() common.Address
- func (acc EthAccount) GetBaseAccount() *authtypes.BaseAccount
- func (acc EthAccount) GetCodeHash() common.Hash
- func (m *EthAccount) Marshal() (dAtA []byte, err error)
- func (m *EthAccount) MarshalTo(dAtA []byte) (int, error)
- func (m *EthAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EthAccount) ProtoMessage()
- func (m *EthAccount) Reset()
- func (acc *EthAccount) SetCodeHash(codeHash common.Hash) error
- func (m *EthAccount) Size() (n int)
- func (acc EthAccount) Type() int8
- func (m *EthAccount) Unmarshal(dAtA []byte) error
- func (m *EthAccount) XXX_DiscardUnknown()
- func (m *EthAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EthAccount) XXX_Merge(src proto.Message)
- func (m *EthAccount) XXX_Size() int
- func (m *EthAccount) XXX_Unmarshal(b []byte) error
- type EthAccountI
- type EvmHooks
- type ExtensionOptionDynamicFeeTx
- func (*ExtensionOptionDynamicFeeTx) Descriptor() ([]byte, []int)
- func (m *ExtensionOptionDynamicFeeTx) Marshal() (dAtA []byte, err error)
- func (m *ExtensionOptionDynamicFeeTx) MarshalTo(dAtA []byte) (int, error)
- func (m *ExtensionOptionDynamicFeeTx) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ExtensionOptionDynamicFeeTx) ProtoMessage()
- func (m *ExtensionOptionDynamicFeeTx) Reset()
- func (m *ExtensionOptionDynamicFeeTx) Size() (n int)
- func (m *ExtensionOptionDynamicFeeTx) String() string
- func (m *ExtensionOptionDynamicFeeTx) Unmarshal(dAtA []byte) error
- func (m *ExtensionOptionDynamicFeeTx) XXX_DiscardUnknown()
- func (m *ExtensionOptionDynamicFeeTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ExtensionOptionDynamicFeeTx) XXX_Merge(src proto.Message)
- func (m *ExtensionOptionDynamicFeeTx) XXX_Size() int
- func (m *ExtensionOptionDynamicFeeTx) XXX_Unmarshal(b []byte) error
- type ExtensionOptionsWeb3Tx
- func (*ExtensionOptionsWeb3Tx) Descriptor() ([]byte, []int)
- func (m *ExtensionOptionsWeb3Tx) Marshal() (dAtA []byte, err error)
- func (m *ExtensionOptionsWeb3Tx) MarshalTo(dAtA []byte) (int, error)
- func (m *ExtensionOptionsWeb3Tx) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ExtensionOptionsWeb3Tx) ProtoMessage()
- func (m *ExtensionOptionsWeb3Tx) Reset()
- func (m *ExtensionOptionsWeb3Tx) Size() (n int)
- func (m *ExtensionOptionsWeb3Tx) String() string
- func (m *ExtensionOptionsWeb3Tx) Unmarshal(dAtA []byte) error
- func (m *ExtensionOptionsWeb3Tx) XXX_DiscardUnknown()
- func (m *ExtensionOptionsWeb3Tx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ExtensionOptionsWeb3Tx) XXX_Merge(src proto.Message)
- func (m *ExtensionOptionsWeb3Tx) XXX_Size() int
- func (m *ExtensionOptionsWeb3Tx) XXX_Unmarshal(b []byte) error
- type FeeMarketKeeper
- type HDPathIterator
- type LegacyParams
- type StakingKeeper
- type Subspace
- type TxResult
- func (*TxResult) Descriptor() ([]byte, []int)
- func (m *TxResult) Marshal() (dAtA []byte, err error)
- func (m *TxResult) MarshalTo(dAtA []byte) (int, error)
- func (m *TxResult) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*TxResult) ProtoMessage()
- func (m *TxResult) Reset()
- func (m *TxResult) Size() (n int)
- func (m *TxResult) String() string
- func (m *TxResult) Unmarshal(dAtA []byte) error
- func (m *TxResult) XXX_DiscardUnknown()
- func (m *TxResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *TxResult) XXX_Merge(src proto.Message)
- func (m *TxResult) XXX_Size() int
- func (m *TxResult) XXX_Unmarshal(b []byte) error
Constants ¶
const ( // AccountTypeEOA defines the type for externally owned accounts (EOAs) AccountTypeEOA = int8(iota + 1) // AccountTypeContract defines the type for contract accounts AccountTypeContract )
const ( // AttoPhoton defines the default coin denomination used in Ethermint in: // // - Staking parameters: denomination used as stake in the dPoS chain // - Mint parameters: denomination minted due to fee distribution rewards // - Governance parameters: denomination used for spam prevention in proposal deposits // - Crisis parameters: constant fee denomination used for spam prevention to check broken invariant // - EVM parameters: denomination used for running EVM state transitions in Ethermint. AttoPhoton string = "ufibo" // BaseDenomUnit defines the base denomination unit for Photons. // 1 photon = 1x10^{BaseDenomUnit} aphoton BaseDenomUnit = 18 // DefaultGasPrice is default gas price for evm transactions DefaultGasPrice = 20 )
const (
// ProtocolVersion is the latest supported version of the eth protocol.
ProtocolVersion = eth65
)
Constants to match up protocol versions and messages
const (
// RootCodespace is the codespace for all errors defined in this package
RootCodespace = "ethermint"
)
Variables ¶
var ( ErrInvalidLengthAccount = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAccount = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupAccount = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidLengthDynamicFee = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDynamicFee = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupDynamicFee = fmt.Errorf("proto: unexpected end of group") )
var ( // ErrInvalidValue returns an error resulting from an invalid value. ErrInvalidValue = errorsmod.Register(RootCodespace, 2, "invalid value") // ErrInvalidChainID returns an error resulting from an invalid chain ID. ErrInvalidChainID = errorsmod.Register(RootCodespace, 3, "invalid chain ID") // ErrMarshalBigInt returns an error resulting from marshaling a big.Int to a string. ErrMarshalBigInt = errorsmod.Register(RootCodespace, 5, "cannot marshal big.Int to string") // ErrUnmarshalBigInt returns an error resulting from unmarshaling a big.Int from a string. ErrUnmarshalBigInt = errorsmod.Register(RootCodespace, 6, "cannot unmarshal big.Int from string") )
var ( // Bip44CoinType satisfies EIP84. See https://github.com/ethereum/EIPs/issues/84 for more info. Bip44CoinType uint32 = 60 // BIP44HDPath is the default BIP44 HD path used on Ethereum. BIP44HDPath = ethaccounts.DefaultBaseDerivationPath.String() )
var ( ErrInvalidLengthIndexer = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIndexer = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupIndexer = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidLengthWeb3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowWeb3 = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupWeb3 = fmt.Errorf("proto: unexpected end of group") )
var PowerReduction = sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(10), big.NewInt(BaseDenomUnit), nil))
PowerReduction defines the default power reduction value for staking
Functions ¶
func AccAddressFromHexUnsafe ¶
func AccAddressFromHexUnsafe(address string) (addr sdk.AccAddress, err error)
AccAddressFromHexUnsafe creates an AccAddress from a HEX-encoded string.
Note, this function is considered unsafe as it may produce an AccAddress from otherwise invalid input, such as a transaction hash. Please use AccAddressFromBech32.
func BlockGasLimit ¶
BlockGasLimit returns the max gas (limit) defined in the block gas meter. If the meter is not set, it returns the max gas from the application consensus params. NOTE: see https://github.com/cosmos/cosmos-sdk/issues/9514 for full reference
func HasDynamicFeeExtensionOption ¶
func HasDynamicFeeExtensionOption(any *codectypes.Any) bool
HasDynamicFeeExtensionOption returns true if the tx implements the `ExtensionOptionDynamicFeeTx` extension option.
func IsEmptyHash ¶
IsEmptyHash returns true if the hash corresponds to an empty ethereum hex hash.
func IsValidInt256 ¶
IsValidInt256 check the bound of 256 bit number
func IsZeroAddress ¶
IsZeroAddress returns true if the address corresponds to an empty ethereum hex address.
func NewInfiniteGasMeterWithLimit ¶
NewInfiniteGasMeterWithLimit returns a reference to a new infiniteGasMeter.
func NewPhotonCoin ¶
NewPhotonCoin is a utility function that returns an "aphoton" coin with the given sdkmath.Int amount. The function will panic if the provided amount is negative.
func NewPhotonCoinInt64 ¶
NewPhotonCoinInt64 is a utility function that returns an "aphoton" coin with the given int64 amount. The function will panic if the provided amount is negative.
func NewPhotonDecCoin ¶
NewPhotonDecCoin is a utility function that returns an "aphoton" decimal coin with the given sdkmath.Int amount. The function will panic if the provided amount is negative.
func ProtoAccount ¶
ProtoAccount defines the prototype function for BaseAccount used for an AccountKeeper.
func RegisterInterfaces ¶
func RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers the tendermint concrete client-related implementations and interfaces.
func SafeNewIntFromBigInt ¶
SafeNewIntFromBigInt constructs Int from big.Int, return error if more than 256bits
func ValidateAddress ¶
ValidateAddress returns an error if the provided string is either not a hex formatted string address
func ValidateNonZeroAddress ¶
ValidateNonZeroAddress returns an error if the provided string is not a hex formatted string address or is equal to zero
Types ¶
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 EVMTxIndexer ¶
type EVMTxIndexer interface { // LastIndexedBlock returns -1 if indexer db is empty LastIndexedBlock() (int64, error) IndexBlock(*tmtypes.Block, []*abci.ExecTxResult) error // GetByTxHash returns nil if tx not found. GetByTxHash(common.Hash) (*TxResult, error) // GetByBlockAndIndex returns nil if tx not found. GetByBlockAndIndex(int64, int32) (*TxResult, error) }
EVMTxIndexer defines the interface of custom eth tx indexer.
type ErrorGasOverflow ¶
type ErrorGasOverflow struct {
Descriptor string
}
ErrorGasOverflow defines an error thrown when an action results gas consumption unsigned integer overflow.
type ErrorNegativeGasConsumed ¶
type ErrorNegativeGasConsumed struct {
Descriptor string
}
ErrorNegativeGasConsumed defines an error thrown when the amount of gas refunded results in a negative gas consumed amount. Copied from cosmos-sdk
type EthAccount ¶
type EthAccount struct { // base_account is an authtypes.BaseAccount *types.BaseAccount `` /* 136-byte string literal not displayed */ // code_hash is the hash calculated from the code contents CodeHash string `protobuf:"bytes,2,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty" yaml:"code_hash"` }
EthAccount implements the authtypes.AccountI interface and embeds an authtypes.BaseAccount type. It is compatible with the auth AccountKeeper.
func (*EthAccount) Descriptor ¶
func (*EthAccount) Descriptor() ([]byte, []int)
func (EthAccount) EthAddress ¶
func (acc EthAccount) EthAddress() common.Address
EthAddress returns the account address ethereum format.
func (EthAccount) GetBaseAccount ¶
func (acc EthAccount) GetBaseAccount() *authtypes.BaseAccount
GetBaseAccount returns base account.
func (EthAccount) GetCodeHash ¶
func (acc EthAccount) GetCodeHash() common.Hash
GetCodeHash returns the account code hash in byte format
func (*EthAccount) Marshal ¶
func (m *EthAccount) Marshal() (dAtA []byte, err error)
func (*EthAccount) MarshalToSizedBuffer ¶
func (m *EthAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EthAccount) ProtoMessage ¶
func (*EthAccount) ProtoMessage()
func (*EthAccount) Reset ¶
func (m *EthAccount) Reset()
func (*EthAccount) SetCodeHash ¶
func (acc *EthAccount) SetCodeHash(codeHash common.Hash) error
SetCodeHash sets the account code hash to the EthAccount fields
func (*EthAccount) Size ¶
func (m *EthAccount) Size() (n int)
func (EthAccount) Type ¶
func (acc EthAccount) Type() int8
Type returns the type of Ethereum Account (EOA or Contract)
func (*EthAccount) Unmarshal ¶
func (m *EthAccount) Unmarshal(dAtA []byte) error
func (*EthAccount) XXX_DiscardUnknown ¶
func (m *EthAccount) XXX_DiscardUnknown()
func (*EthAccount) XXX_Marshal ¶
func (m *EthAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EthAccount) XXX_Merge ¶
func (m *EthAccount) XXX_Merge(src proto.Message)
func (*EthAccount) XXX_Size ¶
func (m *EthAccount) XXX_Size() int
func (*EthAccount) XXX_Unmarshal ¶
func (m *EthAccount) XXX_Unmarshal(b []byte) error
type EthAccountI ¶
type EthAccountI interface { authtypes.AccountI // EthAddress returns the ethereum Address representation of the AccAddress EthAddress() common.Address // CodeHash is the keccak256 hash of the contract code (if any) GetCodeHash() common.Hash // SetCodeHash sets the code hash to the account fields SetCodeHash(code common.Hash) error // Type returns the type of Ethereum Account (EOA or Contract) Type() int8 }
EthAccountI represents the interface of an EVM compatible account
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 ExtensionOptionDynamicFeeTx ¶
type ExtensionOptionDynamicFeeTx struct { // max_priority_price is the same as `max_priority_fee_per_gas` in eip-1559 spec MaxPriorityPrice github_com_cosmos_cosmos_sdk_types.Int `` /* 151-byte string literal not displayed */ }
ExtensionOptionDynamicFeeTx is an extension option that specifies the maxPrioPrice for cosmos tx
func (*ExtensionOptionDynamicFeeTx) Descriptor ¶
func (*ExtensionOptionDynamicFeeTx) Descriptor() ([]byte, []int)
func (*ExtensionOptionDynamicFeeTx) Marshal ¶
func (m *ExtensionOptionDynamicFeeTx) Marshal() (dAtA []byte, err error)
func (*ExtensionOptionDynamicFeeTx) MarshalTo ¶
func (m *ExtensionOptionDynamicFeeTx) MarshalTo(dAtA []byte) (int, error)
func (*ExtensionOptionDynamicFeeTx) MarshalToSizedBuffer ¶
func (m *ExtensionOptionDynamicFeeTx) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ExtensionOptionDynamicFeeTx) ProtoMessage ¶
func (*ExtensionOptionDynamicFeeTx) ProtoMessage()
func (*ExtensionOptionDynamicFeeTx) Reset ¶
func (m *ExtensionOptionDynamicFeeTx) Reset()
func (*ExtensionOptionDynamicFeeTx) Size ¶
func (m *ExtensionOptionDynamicFeeTx) Size() (n int)
func (*ExtensionOptionDynamicFeeTx) String ¶
func (m *ExtensionOptionDynamicFeeTx) String() string
func (*ExtensionOptionDynamicFeeTx) Unmarshal ¶
func (m *ExtensionOptionDynamicFeeTx) Unmarshal(dAtA []byte) error
func (*ExtensionOptionDynamicFeeTx) XXX_DiscardUnknown ¶
func (m *ExtensionOptionDynamicFeeTx) XXX_DiscardUnknown()
func (*ExtensionOptionDynamicFeeTx) XXX_Marshal ¶
func (m *ExtensionOptionDynamicFeeTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ExtensionOptionDynamicFeeTx) XXX_Merge ¶
func (m *ExtensionOptionDynamicFeeTx) XXX_Merge(src proto.Message)
func (*ExtensionOptionDynamicFeeTx) XXX_Size ¶
func (m *ExtensionOptionDynamicFeeTx) XXX_Size() int
func (*ExtensionOptionDynamicFeeTx) XXX_Unmarshal ¶
func (m *ExtensionOptionDynamicFeeTx) XXX_Unmarshal(b []byte) error
type ExtensionOptionsWeb3Tx ¶
type ExtensionOptionsWeb3Tx struct { // typed_data_chain_id is used only in EIP712 Domain and should match // Ethereum network ID in a Web3 provider (e.g. Metamask). TypedDataChainID uint64 `protobuf:"varint,1,opt,name=typed_data_chain_id,json=typedDataChainId,proto3" json:"typedDataChainID,omitempty"` // fee_payer is an account address for the fee payer. It will be validated // during EIP712 signature checking. FeePayer string `protobuf:"bytes,2,opt,name=fee_payer,json=feePayer,proto3" json:"feePayer,omitempty"` // fee_payer_sig is a signature data from the fee paying account, // allows to perform fee delegation when using EIP712 Domain. FeePayerSig []byte `protobuf:"bytes,3,opt,name=fee_payer_sig,json=feePayerSig,proto3" json:"feePayerSig,omitempty"` }
ExtensionOptionsWeb3Tx is an extension option that specifies the typed chain id, the fee payer as well as its signature data.
func (*ExtensionOptionsWeb3Tx) Descriptor ¶
func (*ExtensionOptionsWeb3Tx) Descriptor() ([]byte, []int)
func (*ExtensionOptionsWeb3Tx) Marshal ¶
func (m *ExtensionOptionsWeb3Tx) Marshal() (dAtA []byte, err error)
func (*ExtensionOptionsWeb3Tx) MarshalTo ¶
func (m *ExtensionOptionsWeb3Tx) MarshalTo(dAtA []byte) (int, error)
func (*ExtensionOptionsWeb3Tx) MarshalToSizedBuffer ¶
func (m *ExtensionOptionsWeb3Tx) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ExtensionOptionsWeb3Tx) ProtoMessage ¶
func (*ExtensionOptionsWeb3Tx) ProtoMessage()
func (*ExtensionOptionsWeb3Tx) Reset ¶
func (m *ExtensionOptionsWeb3Tx) Reset()
func (*ExtensionOptionsWeb3Tx) Size ¶
func (m *ExtensionOptionsWeb3Tx) Size() (n int)
func (*ExtensionOptionsWeb3Tx) String ¶
func (m *ExtensionOptionsWeb3Tx) String() string
func (*ExtensionOptionsWeb3Tx) Unmarshal ¶
func (m *ExtensionOptionsWeb3Tx) Unmarshal(dAtA []byte) error
func (*ExtensionOptionsWeb3Tx) XXX_DiscardUnknown ¶
func (m *ExtensionOptionsWeb3Tx) XXX_DiscardUnknown()
func (*ExtensionOptionsWeb3Tx) XXX_Marshal ¶
func (m *ExtensionOptionsWeb3Tx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ExtensionOptionsWeb3Tx) XXX_Merge ¶
func (m *ExtensionOptionsWeb3Tx) XXX_Merge(src proto.Message)
func (*ExtensionOptionsWeb3Tx) XXX_Size ¶
func (m *ExtensionOptionsWeb3Tx) XXX_Size() int
func (*ExtensionOptionsWeb3Tx) XXX_Unmarshal ¶
func (m *ExtensionOptionsWeb3Tx) 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 HDPathIterator ¶
type HDPathIterator func() ethaccounts.DerivationPath
func NewHDPathIterator ¶
func NewHDPathIterator(basePath string, ledgerIter bool) (HDPathIterator, error)
HDPathIterator receives a base path as a string and a boolean for the desired iterator type and returns a function that iterates over the base HD path, returning the string.
type LegacyParams ¶
type LegacyParams = paramtypes.ParamSet
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 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 TxResult ¶
type TxResult struct { // height of the blockchain Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` // tx_index of the cosmos transaction TxIndex uint32 `protobuf:"varint,2,opt,name=tx_index,json=txIndex,proto3" json:"tx_index,omitempty"` // msg_index in a batch transaction MsgIndex uint32 `protobuf:"varint,3,opt,name=msg_index,json=msgIndex,proto3" json:"msg_index,omitempty"` // eth_tx_index is the index in the list of valid eth tx in the block, // aka. the transaction list returned by eth_getBlock api. EthTxIndex int32 `protobuf:"varint,4,opt,name=eth_tx_index,json=ethTxIndex,proto3" json:"eth_tx_index,omitempty"` // failed is true if the eth transaction did not go succeed Failed bool `protobuf:"varint,5,opt,name=failed,proto3" json:"failed,omitempty"` // gas_used by the transaction. If it exceeds the block gas limit, // it's set to gas limit, which is what's actually deducted by ante handler. GasUsed uint64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` // cumulative_gas_used specifies the cumulated amount of gas used for all // processed messages within the current batch transaction. CumulativeGasUsed uint64 `protobuf:"varint,7,opt,name=cumulative_gas_used,json=cumulativeGasUsed,proto3" json:"cumulative_gas_used,omitempty"` }
TxResult is the value stored in eth tx indexer
func (*TxResult) Descriptor ¶
func (*TxResult) MarshalToSizedBuffer ¶
func (*TxResult) ProtoMessage ¶
func (*TxResult) ProtoMessage()
func (*TxResult) XXX_DiscardUnknown ¶
func (m *TxResult) XXX_DiscardUnknown()
func (*TxResult) XXX_Marshal ¶
func (*TxResult) XXX_Unmarshal ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package query implements the custom query format used to filter event subscriptions in Tendermint.
|
Package query implements the custom query format used to filter event subscriptions in Tendermint. |
syntax
Package syntax defines a scanner and parser for the Tendermint event filter query language.
|
Package syntax defines a scanner and parser for the Tendermint event filter query language. |