github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/auth/ante/ante.go (about) 1 package ante 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/keeper" 6 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/types" 7 ) 8 9 // NewAnteHandler returns an AnteHandler that checks and increments sequence 10 // numbers, checks signatures & account numbers, and deducts fees from the first 11 // signer. 12 func NewAnteHandler(ak keeper.AccountKeeper, supplyKeeper types.SupplyKeeper, sigGasConsumer SignatureVerificationGasConsumer) sdk.AnteHandler { 13 return sdk.ChainAnteDecorators( 14 NewSetUpContextDecorator(), // outermost AnteDecorator. SetUpContext must be called first 15 NewMempoolFeeDecorator(), 16 NewValidateBasicDecorator(), 17 NewValidateMemoDecorator(ak), 18 NewConsumeGasForTxSizeDecorator(ak), 19 NewSetPubKeyDecorator(ak), // SetPubKeyDecorator must be called before all signature verification decorators 20 NewValidateSigCountDecorator(ak), 21 NewDeductFeeDecorator(ak, supplyKeeper), 22 NewSigGasConsumeDecorator(ak, sigGasConsumer), 23 NewSigVerificationDecorator(ak), 24 NewIncrementSequenceDecorator(ak), // innermost AnteDecorator 25 ) 26 }