ante

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAnteHandler

func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error)

NewAnteHandler returns an 'AnteHandler' that will run actions before a tx is sent to a module's handler.

func Recover added in v0.0.6

func Recover(logger tmlog.Logger, err *error)

Types

type AddressFetcher

type AddressFetcher func(sdk.Context) []sdk.AccAddress

AddressFetcher is a type signature for functions used by the AuthenticatedMempoolDecorator to get authorized addresses.

type AuthenticatedMempoolDecorator

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

AuthenticatedMempoolDecorator blocks all txs from reaching the mempool unless they're signed by one of the authorzed addresses. It only runs before entry to mempool (CheckTx), and not in consensus (DeliverTx)

func NewAuthenticatedMempoolDecorator

func NewAuthenticatedMempoolDecorator(fetchers ...AddressFetcher) AuthenticatedMempoolDecorator

func (AuthenticatedMempoolDecorator) AnteHandle

func (amd AuthenticatedMempoolDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

type AuthzLimiterDecorator

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

AuthzLimiterDecorator blocks certain msg types from being granted or executed within authz.

func NewAuthzLimiterDecorator

func NewAuthzLimiterDecorator(disabledMsgTypes ...string) AuthzLimiterDecorator

NewAuthzLimiterDecorator creates a decorator to block certain msg types from being granted or executed within authz.

func (AuthzLimiterDecorator) AnteHandle

func (ald AuthzLimiterDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

type EVMKeeper added in v0.0.6

type EVMKeeper interface {
	GetParams(ctx sdk.Context) evmtypes.Params
}

EVMKeeper specifies the interface that EvmMinGasFilter requires

type EvmMinGasFilter added in v0.0.6

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

EvmMinGasFilter filters out the EvmDenom min gas price and calls the next ante handle with an updated context

func NewEvmMinGasFilter added in v0.0.6

func NewEvmMinGasFilter(evmKeeper EVMKeeper) EvmMinGasFilter

NewEvmMinGasFilter takes an EVMKeeper and returns a new min gas filter for it's EvmDenom

func (EvmMinGasFilter) AnteHandle added in v0.0.6

func (emgf EvmMinGasFilter) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error)

AnteHandle checks the EvmDenom from the evmKeeper and filters out the EvmDenom from the ctx

type HandlerOptions added in v0.0.6

type HandlerOptions struct {
	AccountKeeper          evmtypes.AccountKeeper
	BankKeeper             evmtypes.BankKeeper
	IBCKeeper              *ibckeeper.Keeper
	VaultKeeper            vaultmodulekeeper.Keeper
	SpvKeeper              spvkeeper.Keeper
	EvmKeeper              evmante.EVMKeeper
	FeegrantKeeper         authante.FeegrantKeeper
	SignModeHandler        authsigning.SignModeHandler
	SigGasConsumer         authante.SignatureVerificationGasConsumer
	FeeMarketKeeper        evmtypes.FeeMarketKeeper
	MaxTxGasWanted         uint64
	AddressFetchers        []AddressFetcher
	ExtensionOptionChecker authante.ExtensionOptionChecker
	TxFeeChecker           authante.TxFeeChecker
}

HandlerOptions extend the SDK's AnteHandler options by requiring the IBC channel keeper, EVM Keeper and Fee Market Keeper.

type SPVNFTDecorator added in v0.0.6

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

SPVNFTDecorator blocks certain msg types from being granted or executed within authz.

func NewSPVNFTDecorator added in v0.0.6

func NewSPVNFTDecorator(keeper spvkeeper.Keeper) SPVNFTDecorator

NewSPVNFTDecorator creates a decorator to block spv nft from transferring.

func (SPVNFTDecorator) AnteHandle added in v0.0.6

func (sd SPVNFTDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

type VaultQuotaDecorator added in v0.0.6

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

func NewVaultQuotaDecorate added in v0.0.6

func NewVaultQuotaDecorate(keeper vaultkeeper.Keeper) VaultQuotaDecorator

func (VaultQuotaDecorator) AnteHandle added in v0.0.6

func (vd VaultQuotaDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

func (VaultQuotaDecorator) QuotaCheck added in v0.0.6

func (vd VaultQuotaDecorator) QuotaCheck(ctx sdk.Context, coins sdk.Coins) bool

QuotaCheck if quotaCheck return TRUE, it can continue process the tx

Jump to

Keyboard shortcuts

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