Documentation ¶
Index ¶
- func DeductFees(ctx sdk.Context, assetKeeper AssetKeeper, payer AccountID, fees Coins) error
- func NewHandler(ak keeper.AccountKeeper, asset AssetKeeper) sdk.AnteHandler
- func SetGasMeter(simulate bool, ctx sdk.Context, gasLimit uint64) sdk.Context
- type AccountID
- type AccountKeeper
- type AssetKeeper
- type Coin
- type Coins
- type ConsumeTxSizeGasDecorator
- type DeductFeeDecorator
- type FeeTx
- type GasTx
- type IncrementSequenceDecorator
- type MempoolFeeDecorator
- type PluginHandlerDecorator
- type SetPubKeyDecorator
- type SetUpContextDecorator
- type SigVerifiableTx
- type SigVerificationDecorator
- type StdTx
- type ValidateBasicDecorator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeductFees ¶
DeductFees deducts fees from the given account.
func NewHandler ¶
func NewHandler(ak keeper.AccountKeeper, asset AssetKeeper) sdk.AnteHandler
NewAnteHandler returns an AnteHandler that checks and increments sequence numbers, checks signatures & account numbers, and deducts fees from the first signer.
Types ¶
type AccountKeeper ¶
type AssetKeeper ¶
AssetKeeper
type ConsumeTxSizeGasDecorator ¶
type ConsumeTxSizeGasDecorator struct { }
ConsumeTxSizeGasDecorator will take in parameters and consume gas proportional to the size of tx before calling next AnteHandler. Note, the gas costs will be slightly over estimated due to the fact that any given signing account may need to be retrieved from state.
CONTRACT: If simulate=true, then signatures must either be completely filled in or empty. CONTRACT: To use this decorator, signatures of transaction must be represented as types.StdSignature otherwise simulate mode will incorrectly estimate gas cost.
func NewConsumeGasForTxSizeDecorator ¶
func NewConsumeGasForTxSizeDecorator() ConsumeTxSizeGasDecorator
func (ConsumeTxSizeGasDecorator) AnteHandle ¶
type DeductFeeDecorator ¶
type DeductFeeDecorator struct {
// contains filtered or unexported fields
}
DeductFeeDecorator deducts fees from payer or the first signer of the tx
func NewDeductFeeDecorator ¶
func NewDeductFeeDecorator(acc AccountKeeper, ak AssetKeeper) DeductFeeDecorator
func (DeductFeeDecorator) AnteHandle ¶
type IncrementSequenceDecorator ¶
type IncrementSequenceDecorator struct {
// contains filtered or unexported fields
}
func NewIncrementSequenceDecorator ¶
func NewIncrementSequenceDecorator(ak keeper.AccountKeeper) IncrementSequenceDecorator
func (IncrementSequenceDecorator) AnteHandle ¶
type MempoolFeeDecorator ¶
type MempoolFeeDecorator struct{}
MempoolFeeDecorator will check if the transaction's fee is at least as large as the local validator's minimum gasFee (defined in validator config). If fee is too low, decorator returns error and tx is rejected from mempool. Note this only applies when ctx.CheckTx = true If fee is high enough or not CheckTx, then call next AnteHandler CONTRACT: Tx must implement FeeTx to use MempoolFeeDecorator
func NewMempoolFeeDecorator ¶
func NewMempoolFeeDecorator() MempoolFeeDecorator
func (MempoolFeeDecorator) AnteHandle ¶
type PluginHandlerDecorator ¶
type PluginHandlerDecorator struct { }
func NewPluginHandlerDecorator ¶
func NewPluginHandlerDecorator() PluginHandlerDecorator
func (PluginHandlerDecorator) AnteHandle ¶
type SetPubKeyDecorator ¶
type SetPubKeyDecorator struct {
// contains filtered or unexported fields
}
SetPubKeyDecorator sets PubKeys in context for any signer which does not already have pubkey set PubKeys must be set in context for all signers before any other sigverify decorators run CONTRACT: Tx must implement SigVerifiableTx interface
func NewSetPubKeyDecorator ¶
func NewSetPubKeyDecorator(ak keeper.AccountKeeper) SetPubKeyDecorator
func (SetPubKeyDecorator) AnteHandle ¶
type SetUpContextDecorator ¶
type SetUpContextDecorator struct{}
SetUpContextDecorator sets the GasMeter in the Context and wraps the next AnteHandler with a defer clause to recover from any downstream OutOfGas panics in the AnteHandler chain to return an error with information on gas provided and gas used. CONTRACT: Must be first decorator in the chain CONTRACT: Tx must implement GasTx interface
func NewSetUpContextDecorator ¶
func NewSetUpContextDecorator() SetUpContextDecorator
func (SetUpContextDecorator) AnteHandle ¶
type SigVerifiableTx ¶
type SigVerifiableTx interface { types.Tx GetSignatures() []types.StdSignature GetSigners() []types.AccAddress }
SigVerifiableTx defines a Tx interface for all signature verification decorators
type SigVerificationDecorator ¶
type SigVerificationDecorator struct {
// contains filtered or unexported fields
}
Verify all signatures for a tx and return an error if any are invalid. Note, the SigVerificationDecorator decorator will not get executed on ReCheck.
CONTRACT: Pubkeys are set in context for all signers before this decorator runs CONTRACT: Tx must implement SigVerifiableTx interface
func NewSigVerificationDecorator ¶
func NewSigVerificationDecorator(ak keeper.AccountKeeper) SigVerificationDecorator
func (SigVerificationDecorator) AnteHandle ¶
type ValidateBasicDecorator ¶
type ValidateBasicDecorator struct{}
ValidateBasicDecorator will call tx.ValidateBasic and return any non-nil error. If ValidateBasic passes, decorator calls next AnteHandler in chain. Note, ValidateBasicDecorator decorator will not get executed on ReCheckTx since it is not dependent on application state.
func NewValidateBasicDecorator ¶
func NewValidateBasicDecorator() ValidateBasicDecorator