Documentation ¶
Index ¶
- func CheckSenderBalance(balance sdkmath.Int, txData txs.TxData) error
- func GasToRefund(availableRefund, gasConsumed, refundQuotient uint64) uint64
- func GetProposerAddress(ctx cosmos.Context, proposerAddress cosmos.ConsAddress) cosmos.ConsAddress
- func VerifyFee(txData txs.TxData, denom string, baseFee *big.Int, ...) (cosmos.Coins, error)
- type Keeper
- func (k Keeper) Account(c context.Context, req *txs.QueryAccountRequest) (*txs.QueryAccountResponse, error)
- func (k Keeper) AddTransientGasUsed(ctx cosmos.Context, gasUsed uint64) (uint64, error)
- func (k *Keeper) ApplyMessage(ctx cosmos.Context, msg *core.Message, tracer vm.EVMLogger, commit bool) (*txs.MsgEthereumTxResponse, error)
- func (k *Keeper) ApplyMessageWithConfig(ctx cosmos.Context, aspectCtx *artelatypes.AspectRuntimeContext, ...) (*txs.MsgEthereumTxResponse, error)
- func (k *Keeper) ApplyTransaction(ctx cosmos.Context, tx *ethereum.Transaction) (*txs.MsgEthereumTxResponse, error)
- func (k Keeper) Balance(c context.Context, req *txs.QueryBalanceRequest) (*txs.QueryBalanceResponse, error)
- func (k Keeper) BaseFee(c context.Context, _ *txs.QueryBaseFeeRequest) (*txs.QueryBaseFeeResponse, error)
- func (k Keeper) ChainID() *big.Int
- func (k Keeper) Code(c context.Context, req *txs.QueryCodeRequest) (*txs.QueryCodeResponse, error)
- func (k Keeper) CosmosAccount(c context.Context, req *txs.QueryCosmosAccountRequest) (*txs.QueryCosmosAccountResponse, error)
- func (k *Keeper) DeductTxCostsFromUserBalance(ctx cosmos.Context, fees cosmos.Coins, from common.Address) error
- func (k *Keeper) DeleteAccount(ctx cosmos.Context, addr common.Address) error
- func (k *Keeper) EVMConfig(ctx cosmos.Context, proposerAddress cosmos.ConsAddress, chainID *big.Int) (*states.EVMConfig, error)
- func (k *Keeper) EVMConfigFromCtx(ctx cosmos.Context) (*states.EVMConfig, error)
- func (k Keeper) EmitBlockBloomEvent(ctx cosmos.Context, bloom ethereum.Bloom)
- func (k Keeper) EstimateGas(c context.Context, req *txs.EthCallRequest) (*txs.EstimateGasResponse, error)
- func (k Keeper) EthCall(c context.Context, req *txs.EthCallRequest) (*txs.MsgEthereumTxResponse, error)
- func (k *Keeper) EthereumTx(goCtx context.Context, msg *txs.MsgEthereumTx) (*txs.MsgEthereumTxResponse, error)
- func (k *Keeper) ForEachStorage(ctx cosmos.Context, addr common.Address, cb func(key, value common.Hash) bool)
- func (k *Keeper) GetAccount(ctx cosmos.Context, addr common.Address) *states.StateAccount
- func (k *Keeper) GetAccountOrEmpty(ctx cosmos.Context, addr common.Address) states.StateAccount
- func (k Keeper) GetAccountStorage(ctx cosmos.Context, address common.Address) support.Storage
- func (k *Keeper) GetAccountWithoutBalance(ctx cosmos.Context, addr common.Address) *states.StateAccount
- func (k Keeper) GetAspectContext(ctx context.Context, address common.Address, key string) ([]byte, error)
- func (k Keeper) GetAuthority() cosmos.AccAddress
- func (k *Keeper) GetBalance(ctx cosmos.Context, addr common.Address) *big.Int
- func (k Keeper) GetBaseFee(ctx cosmos.Context, ethCfg *params.ChainConfig) *big.Int
- func (k Keeper) GetBlockBloomTransient(ctx cosmos.Context) *big.Int
- func (k Keeper) GetBlockContext() *artvmtype.EthBlockContext
- func (k *Keeper) GetChainConfig(ctx cosmos.Context) *params.ChainConfig
- func (k Keeper) GetClientContext() client.Context
- func (k *Keeper) GetCode(ctx cosmos.Context, codeHash common.Hash) []byte
- func (k *Keeper) GetEthIntrinsicGas(ctx cosmos.Context, msg *core.Message, cfg *params.ChainConfig, ...) (uint64, error)
- func (k Keeper) GetHashFn(ctx cosmos.Context) vm.GetHashFunc
- func (k Keeper) GetLegacyParams(ctx cosmos.Context) support.Params
- func (k Keeper) GetLogSizeTransient(ctx cosmos.Context) uint64
- func (k Keeper) GetMinGasMultiplier(ctx cosmos.Context) cosmos.Dec
- func (k *Keeper) GetNonce(ctx cosmos.Context, addr common.Address) uint64
- func (k Keeper) GetParams(ctx cosmos.Context) (params support.Params)
- func (k Keeper) GetProposerAddress(ctx cosmos.Context, proposerAddress cosmos.ConsAddress) (common.Address, error)
- func (k Keeper) GetSender(c context.Context, in *txs.MsgEthereumTx) (*txs.GetSenderResponse, error)
- func (k *Keeper) GetState(ctx cosmos.Context, addr common.Address, key common.Hash) common.Hash
- func (k Keeper) GetTransientGasUsed(ctx cosmos.Context) uint64
- func (k Keeper) GetTxIndexTransient(ctx cosmos.Context) uint64
- func (k Keeper) IsCommit(ctx context.Context) bool
- func (k Keeper) JITSenderAspectByContext(ctx context.Context, userOpHash common.Hash) (common.Address, error)
- func (k Keeper) Logger(ctx cosmos.Context) log.Logger
- func (k *Keeper) MakeSigner(ctx cosmos.Context, tx *ethereum.Transaction, config *params.ChainConfig, ...) ethereum.Signer
- func (k *Keeper) NewEVM(ctx cosmos.Context, msg *core.Message, cfg *states.EVMConfig, ...) *vm.EVM
- func (k Keeper) Params(c context.Context, _ *txs.QueryParamsRequest) (*txs.QueryParamsResponse, error)
- func (k *Keeper) RefundGas(ctx cosmos.Context, msg *core.Message, leftoverGas uint64, denom string) error
- func (k *Keeper) ResetGasMeterAndConsumeGas(ctx cosmos.Context, gasUsed uint64)
- func (k Keeper) ResetTransientGasUsed(ctx cosmos.Context)
- func (k *Keeper) SetAccount(ctx cosmos.Context, addr common.Address, account states.StateAccount) error
- func (k Keeper) SetAspectContext(ctx context.Context, address common.Address, key string, value []byte) error
- func (k *Keeper) SetBalance(ctx cosmos.Context, addr common.Address, amount *big.Int) error
- func (k Keeper) SetBlockBloomTransient(ctx cosmos.Context, bloom *big.Int)
- func (k *Keeper) SetClientContext(ctx client.Context)
- func (k *Keeper) SetCode(ctx cosmos.Context, codeHash, code []byte)
- func (k Keeper) SetLogSizeTransient(ctx cosmos.Context, logSize uint64)
- func (k Keeper) SetParams(ctx cosmos.Context, params support.Params) error
- func (k *Keeper) SetState(ctx cosmos.Context, addr common.Address, key common.Hash, value []byte)
- func (k Keeper) SetTransientGasUsed(ctx cosmos.Context, gasUsed uint64)
- func (k Keeper) SetTxIndexTransient(ctx cosmos.Context, index uint64)
- func (k Keeper) Storage(c context.Context, req *txs.QueryStorageRequest) (*txs.QueryStorageResponse, error)
- func (k Keeper) TraceBlock(c context.Context, req *txs.QueryTraceBlockRequest) (*txs.QueryTraceBlockResponse, error)
- func (k Keeper) TraceTx(c context.Context, req *txs.QueryTraceTxRequest) (*txs.QueryTraceTxResponse, error)
- func (k Keeper) Tracer(ctx cosmos.Context, msg *core.Message, ethCfg *params.ChainConfig) vm.EVMLogger
- func (k *Keeper) TxConfig(ctx cosmos.Context, txHash common.Hash, txType uint8) states.TxConfig
- func (k *Keeper) UpdateParams(goCtx context.Context, req *txs.MsgUpdateParams) (*txs.MsgUpdateParamsResponse, error)
- func (k Keeper) VMConfig(ctx cosmos.Context, _ *core.Message, cfg *states.EVMConfig, ...) vm.Config
- func (k Keeper) ValidatorAccount(c context.Context, req *txs.QueryValidatorAccountRequest) (*txs.QueryValidatorAccountResponse, error)
- func (k *Keeper) VerifySig(ctx cosmos.Context, tx *ethereum.Transaction) (common.Address, []byte, error)
- func (k Keeper) WithAspectContext(ctx cosmos.Context, tx *ethereum.Transaction, evmConf *states.EVMConfig, ...) (cosmos.Context, *artelatypes.AspectRuntimeContext)
- func (k *Keeper) WithChainID(chainId string)
- type Migrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckSenderBalance ¶
CheckSenderBalance validates that the tx cost value is positive and that the sender has enough funds to pay for the fees and value of the transaction.
func GasToRefund ¶
GasToRefund calculates the amount of gas the states machine should refund to the sender. It is capped by the refund quotient value(do not pass 0 to refundQuotient).
func GetProposerAddress ¶
func GetProposerAddress(ctx cosmos.Context, proposerAddress cosmos.ConsAddress) cosmos.ConsAddress
GetProposerAddress returns current block proposer's address when provided proposer address is empty.
func VerifyFee ¶
func VerifyFee( txData txs.TxData, denom string, baseFee *big.Int, homestead, istanbul, isCheckTx bool, ) (cosmos.Coins, error)
VerifyFee is used to return the fee for the given transaction data in cosmos.Coins. It checks that the gas limit is not reached, the gas limit is higher than the intrinsic gas and that the base fee is higher than the gas fee cap.
Types ¶
type Keeper ¶
type Keeper struct { // store the block context, this will be fresh every block. BlockContext *artvmtype.EthBlockContext // cache of aspect sig VerifySigCache *sync.Map // contains filtered or unexported fields }
Keeper grants access to the EVM module states and implements the go-ethereum StateDB interface.
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, storeKey, transientKey storetypes.StoreKey, authority cosmos.AccAddress, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, stakingKeeper types.StakingKeeper, feeKeeper types.FeeKeeper, aspectProvider *provider.ArtelaProvider, tracer string, subSpace paramsmodule.Subspace, app *baseapp.BaseApp, logger log.Logger, ) *Keeper
NewKeeper generates new evm module keeper
func (Keeper) Account ¶
func (k Keeper) Account(c context.Context, req *txs.QueryAccountRequest) (*txs.QueryAccountResponse, error)
Account implements the Query/StateAccount gRPC method
func (Keeper) AddTransientGasUsed ¶
AddTransientGasUsed accumulate gas used by each eth msg included in current cosmos txs.
func (*Keeper) ApplyMessage ¶
func (k *Keeper) ApplyMessage(ctx cosmos.Context, msg *core.Message, tracer vm.EVMLogger, commit bool) (*txs.MsgEthereumTxResponse, error)
ApplyMessage calls ApplyMessageWithConfig with an empty TxConfig.
func (*Keeper) ApplyMessageWithConfig ¶
func (k *Keeper) ApplyMessageWithConfig(ctx cosmos.Context, aspectCtx *artelatypes.AspectRuntimeContext, msg *core.Message, tracer vm.EVMLogger, commit bool, cfg *states.EVMConfig, txConfig states.TxConfig, isCustomVerification bool, ) (*txs.MsgEthereumTxResponse, error)
ApplyMessageWithConfig computes the new states by applying the given message against the existing states. If the message fails, the VM execution error with the reason will be returned to the client and the txs won't be committed to the store.
Reverted states ¶
The snapshot and rollback are supported by the `states.StateDB`.
Different Callers ¶
It's called in three scenarios: 1. `ApplyTransaction`, in the txs processing flow. 2. `EthCall/EthEstimateGas` grpc query handler. 3. Called by other native modules directly.
PreChecks and Preprocessing ¶
All relevant states transition preChecks for the MsgEthereumTx are performed on the AnteHandler, prior to running the txs against the states. The PreChecks run are the following:
1. the nonce of the message caller is correct 2. caller has enough balance to cover txs fee(gasLimit * gasPrice) 3. the amount of gas required is available in the block 4. the purchased gas is enough to cover intrinsic usage 5. there is no overflow when calculating intrinsic gas 6. caller has enough balance to cover asset transfer for **topmost** call
The preprocessing steps performed by the AnteHandler are:
1. set up the initial access list (if fork > Berlin)
Tracer parameter ¶
It should be a `vm.Tracer` object or nil, if pass `nil`, it'll create a default one based on keeper options.
Commit parameter ¶
If commit is true, the `StateDB` will be committed, otherwise discarded.
func (*Keeper) ApplyTransaction ¶
func (k *Keeper) ApplyTransaction(ctx cosmos.Context, tx *ethereum.Transaction) (*txs.MsgEthereumTxResponse, error)
ApplyTransaction runs and attempts to perform a states transition with the given txs (i.e Message), that will only be persisted (committed) to the underlying KVStore if the txs does not fail.
Gas tracking ¶
Ethereum consumes gas according to the EVM opcodes instead of general reads and writes to store. Because of this, the states transition needs to ignore the SDK gas consumption mechanism defined by the GasKVStore and instead consume the amount of gas used by the VM execution. The amount of gas used is tracked by the EVM and returned in the execution result.
Prior to the execution, the starting txs gas meter is saved and replaced with an infinite gas meter in a new context in order to ignore the SDK gas consumption config values (read, write, has, delete). After the execution, the gas used from the message execution will be added to the starting gas consumed, taking into consideration the amount of gas returned. Finally, the context is updated with the EVM gas consumed value prior to returning.
For relevant discussion see: https://github.com/cosmos/cosmos-sdk/discussions/9072
func (Keeper) Balance ¶
func (k Keeper) Balance(c context.Context, req *txs.QueryBalanceRequest) (*txs.QueryBalanceResponse, error)
Balance implements the Query/Balance gRPC method
func (Keeper) BaseFee ¶
func (k Keeper) BaseFee(c context.Context, _ *txs.QueryBaseFeeRequest) (*txs.QueryBaseFeeResponse, error)
BaseFee implements the Query/BaseFee gRPC method
func (Keeper) Code ¶
func (k Keeper) Code(c context.Context, req *txs.QueryCodeRequest) (*txs.QueryCodeResponse, error)
Code implements the Query/Code gRPC method
func (Keeper) CosmosAccount ¶
func (k Keeper) CosmosAccount(c context.Context, req *txs.QueryCosmosAccountRequest) (*txs.QueryCosmosAccountResponse, error)
func (*Keeper) DeductTxCostsFromUserBalance ¶
func (k *Keeper) DeductTxCostsFromUserBalance( ctx cosmos.Context, fees cosmos.Coins, from common.Address, ) error
DeductTxCostsFromUserBalance deducts the fees from the user balance. Returns an error if the specified sender address does not exist or the account balance is not sufficient.
func (*Keeper) DeleteAccount ¶
DeleteAccount handles contract's suicide call: - clear balance - remove code - remove states - remove auth account
func (*Keeper) EVMConfig ¶
func (k *Keeper) EVMConfig(ctx cosmos.Context, proposerAddress cosmos.ConsAddress, chainID *big.Int) (*states.EVMConfig, error)
EVMConfig creates the EVMConfig based on current states
func (*Keeper) EVMConfigFromCtx ¶
func (Keeper) EmitBlockBloomEvent ¶
EmitBlockBloomEvent emit block bloom events
func (Keeper) EstimateGas ¶
func (k Keeper) EstimateGas(c context.Context, req *txs.EthCallRequest) (*txs.EstimateGasResponse, error)
EstimateGas implements eth_estimateGas rpc api.
func (Keeper) EthCall ¶
func (k Keeper) EthCall(c context.Context, req *txs.EthCallRequest) (*txs.MsgEthereumTxResponse, error)
EthCall implements eth_call rpc api.
func (*Keeper) EthereumTx ¶
func (k *Keeper) EthereumTx(goCtx context.Context, msg *txs.MsgEthereumTx) (*txs.MsgEthereumTxResponse, error)
EthereumTx implements the gRPC MsgServer interface. It receives a txs which is then executed (i.e applied) against the go-ethereum EVM. The provided SDK Context is set to the Keeper so that it can implements and call the StateDB methods without receiving it as a function parameter.
func (*Keeper) ForEachStorage ¶
func (k *Keeper) ForEachStorage(ctx cosmos.Context, addr common.Address, cb func(key, value common.Hash) bool)
ForEachStorage iterate contract storage, callback return false to break early
func (*Keeper) GetAccount ¶
GetAccount returns nil if account is not exist, returns error if it's not `EthAccountI`
func (*Keeper) GetAccountOrEmpty ¶
GetAccountOrEmpty returns empty account if not exist, returns error if it's not `EthAccount`
func (Keeper) GetAccountStorage ¶
GetAccountStorage return states storage associated with an account
func (*Keeper) GetAccountWithoutBalance ¶
func (k *Keeper) GetAccountWithoutBalance(ctx cosmos.Context, addr common.Address) *states.StateAccount
GetAccountWithoutBalance load nonce and codeHash without balance, more efficient in cases where balance is not needed.
func (Keeper) GetAspectContext ¶
func (Keeper) GetAuthority ¶
func (k Keeper) GetAuthority() cosmos.AccAddress
GetAuthority returns the x/evm module authority address
func (*Keeper) GetBalance ¶
GetBalance load account's balance of gas token
func (Keeper) GetBaseFee ¶
GetBaseFee returns current base fee, return values: - `nil`: london hardfork not enabled. - `0`: london hardfork enabled but fee is not enabled. - `n`: both london hardfork and fee are enabled.
func (Keeper) GetBlockBloomTransient ¶
GetBlockBloomTransient returns bloom bytes for the current block height
func (Keeper) GetBlockContext ¶
func (k Keeper) GetBlockContext() *artvmtype.EthBlockContext
func (*Keeper) GetChainConfig ¶
func (k *Keeper) GetChainConfig(ctx cosmos.Context) *params.ChainConfig
func (Keeper) GetClientContext ¶
func (*Keeper) GetCode ¶
GetCode loads contract code from database, implements `states.Keeper` interface.
func (*Keeper) GetEthIntrinsicGas ¶
func (k *Keeper) GetEthIntrinsicGas(ctx cosmos.Context, msg *core.Message, cfg *params.ChainConfig, isContractCreation bool, isCustomVerification bool) (uint64, error)
GetEthIntrinsicGas returns the intrinsic gas cost for the transaction.
func (Keeper) GetHashFn ¶
func (k Keeper) GetHashFn(ctx cosmos.Context) vm.GetHashFunc
GetHashFn implements vm.GetHashFunc for Artela. It handles 3 cases:
- The requested height matches the current height from context (and thus same epoch number)
- The requested height is from a previous height from the same chain epoch
- The requested height is from a height greater than the latest one
func (Keeper) GetLegacyParams ¶
GetLegacyParams returns param set for version before migrate
func (Keeper) GetLogSizeTransient ¶
GetLogSizeTransient returns EVM log index on the current block.
func (Keeper) GetMinGasMultiplier ¶
GetMinGasMultiplier returns the MinGasMultiplier param from the fee market module
func (*Keeper) GetNonce ¶
GetNonce returns the sequence number of an account, returns 0 if not exists.
func (Keeper) GetProposerAddress ¶
func (k Keeper) GetProposerAddress(ctx cosmos.Context, proposerAddress cosmos.ConsAddress) (common.Address, error)
GetProposerAddress returns the block proposer's validator operator address.
func (Keeper) GetSender ¶
func (k Keeper) GetSender(c context.Context, in *txs.MsgEthereumTx) (*txs.GetSenderResponse, error)
func (*Keeper) GetState ¶
GetState loads contract states from database, implements `states.Keeper` interface.
func (Keeper) GetTransientGasUsed ¶
GetTransientGasUsed returns the gas used by current cosmos txs.
func (Keeper) GetTxIndexTransient ¶
GetTxIndexTransient returns EVM txs index on the current block.
func (Keeper) JITSenderAspectByContext ¶
func (*Keeper) MakeSigner ¶
func (*Keeper) NewEVM ¶
func (k *Keeper) NewEVM( ctx cosmos.Context, msg *core.Message, cfg *states.EVMConfig, tracer vm.EVMLogger, stateDB vm.StateDB, ) *vm.EVM
NewEVM generates a go-ethereum VM from the provided Message fields and the chain parameters (ChainConfig and module Params). It additionally sets the validator operator address as the coinbase address to make it available for the COINBASE opcode, even though there is no beneficiary of the coinbase txs (since we're not mining).
func (Keeper) Params ¶
func (k Keeper) Params(c context.Context, _ *txs.QueryParamsRequest) (*txs.QueryParamsResponse, error)
Params implements the Query/Params gRPC method
func (*Keeper) RefundGas ¶
func (k *Keeper) RefundGas(ctx cosmos.Context, msg *core.Message, leftoverGas uint64, denom string) error
RefundGas transfers the leftover gas to the sender of the message, caped to half of the total gas consumed in the transaction. Additionally, the function sets the total gas consumed to the value returned by the EVM execution, thus ignoring the previous intrinsic gas consumed during in the AnteHandler.
func (*Keeper) ResetGasMeterAndConsumeGas ¶
ResetGasMeterAndConsumeGas reset first the gas meter consumed value to zero and set it back to the new value 'gasUsed'
func (Keeper) ResetTransientGasUsed ¶
ResetTransientGasUsed reset gas used to prepare for execution of current cosmos txs, called in ante handler.
func (*Keeper) SetAccount ¶
func (k *Keeper) SetAccount(ctx cosmos.Context, addr common.Address, account states.StateAccount) error
SetAccount updates nonce/balance/codeHash together.
func (Keeper) SetAspectContext ¶
func (*Keeper) SetBalance ¶
SetBalance update account's balance, compare with current balance first, then decide to mint or burn.
func (Keeper) SetBlockBloomTransient ¶
SetBlockBloomTransient sets the given bloom bytes to the transient store. This value is reset on every block.
func (*Keeper) SetClientContext ¶
func (Keeper) SetLogSizeTransient ¶
SetLogSizeTransient fetches the current EVM log index from the transient store, increases its value by one and then sets the new index back to the transient store.
func (Keeper) SetParams ¶
SetParams sets the EVM params each in their individual key for better get performance
func (Keeper) SetTransientGasUsed ¶
SetTransientGasUsed sets the gas used by current cosmos txs.
func (Keeper) SetTxIndexTransient ¶
SetTxIndexTransient set the index of processing txs
func (Keeper) Storage ¶
func (k Keeper) Storage(c context.Context, req *txs.QueryStorageRequest) (*txs.QueryStorageResponse, error)
Storage implements the Query/Storage gRPC method
func (Keeper) TraceBlock ¶
func (k Keeper) TraceBlock(c context.Context, req *txs.QueryTraceBlockRequest) (*txs.QueryTraceBlockResponse, error)
TraceBlock configures a new tracer according to the provided configuration, and executes the given message in the provided environment for all the transactions in the queried block. The return value will be tracer dependent.
func (Keeper) TraceTx ¶
func (k Keeper) TraceTx(c context.Context, req *txs.QueryTraceTxRequest) (*txs.QueryTraceTxResponse, error)
TraceTx configures a new tracer according to the provided configuration, and executes the given message in the provided environment. The return value will be tracer dependent.
func (Keeper) Tracer ¶
func (k Keeper) Tracer(ctx cosmos.Context, msg *core.Message, ethCfg *params.ChainConfig) vm.EVMLogger
Tracer return a default vm.Tracer based on current keeper states
func (*Keeper) UpdateParams ¶
func (k *Keeper) UpdateParams(goCtx context.Context, req *txs.MsgUpdateParams) (*txs.MsgUpdateParamsResponse, error)
UpdateParams implements the gRPC MsgServer interface. When an UpdateParams proposal passes, it updates the module parameters. The update can only be performed if the requested authority is the Cosmos SDK governance module account.
func (Keeper) VMConfig ¶
func (k Keeper) VMConfig(ctx cosmos.Context, _ *core.Message, cfg *states.EVMConfig, tracer vm.EVMLogger) vm.Config
VMConfig creates an EVM configuration from the debug setting and the extra EIPs enabled on the module parameters. The config support uses the default JumpTable from the EVM.
func (Keeper) ValidatorAccount ¶
func (k Keeper) ValidatorAccount(c context.Context, req *txs.QueryValidatorAccountRequest) (*txs.QueryValidatorAccountResponse, error)
ValidatorAccount implements the Query/Balance gRPC method
func (Keeper) WithAspectContext ¶
func (k Keeper) WithAspectContext(ctx cosmos.Context, tx *ethereum.Transaction, evmConf *states.EVMConfig, block *artelatypes.EthBlockContext) (cosmos.Context, *artelatypes.AspectRuntimeContext)
WithAspectContext creates the Aspect Context and establishes the link to the SDK context.
func (*Keeper) WithChainID ¶
WithChainID sets the chain id to the local variable in the keeper
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator is a struct for handling in-place store migrations.
func (Migrator) Migrate5to6 ¶
Migrate5to6 migrates the store from consensus version 5 to 6
func (Migrator) Migrate6to7 ¶
Migrate6to7 migrates the store from consensus version 6 to 7