Documentation ¶
Overview ¶
The txfees modules allows nodes to easily support many tokens for usage as txfees, while letting node operators only specify their tx fee parameters for a single "base" asset.
- Adds a whitelist of tokens that can be used as fees on the chain. - Any token not on this list cannot be provided as a tx fee. - Adds a new SDK message for creating governance proposals for adding new TxFee denoms.
Index ¶
- Constants
- func NewUpdateFeeTokenProposalHandler(k keeper.Keeper) govtypesv1.Handler
- type AppModule
- func (am AppModule) BeginBlock(context context.Context) error
- func (am AppModule) CheckAndSetTargetGas(ctx sdk.Context)
- func (AppModule) ConsensusVersion() uint64
- func (am AppModule) EndBlock(context context.Context) error
- func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage
- func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage)
- func (am AppModule) IsAppModule()
- func (am AppModule) IsOnePerModuleType()
- func (am AppModule) Name() string
- func (AppModule) QuerierRoute() string
- func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry)
- func (am AppModule) RegisterServices(cfg module.Configurator)
- type AppModuleBasic
- func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
- func (AppModuleBasic) GetQueryCmd() *cobra.Command
- func (a AppModuleBasic) GetTxCmd() *cobra.Command
- func (AppModuleBasic) Name() string
- func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
- func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry)
- func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)
- func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
Constants ¶
const ModuleName = types.ModuleName
Variables ¶
This section is empty.
Functions ¶
func NewUpdateFeeTokenProposalHandler ¶
func NewUpdateFeeTokenProposalHandler(k keeper.Keeper) govtypesv1.Handler
Types ¶
type AppModule ¶
type AppModule struct { AppModuleBasic // contains filtered or unexported fields }
AppModule implements the AppModule interface for the txfees module.
func NewAppModule ¶
func (AppModule) BeginBlock ¶
BeginBlock executes all ABCI BeginBlock logic respective to the txfees module.
func (AppModule) CheckAndSetTargetGas ¶
On start, we unmarshal the consensus params once and cache them. Then, on every block, we check if the current consensus param bytes have changed in comparison to the cached value. If they have, we unmarshal the current consensus params, update the target gas, and cache the value. This is done to improve performance by not having to fetch and unmarshal the consensus params on every block. TODO: Move this to EIP-1559 code
func (AppModule) ConsensusVersion ¶
ConsensusVersion implements AppModule/ConsensusVersion.
func (AppModule) EndBlock ¶
EndBlock executes all ABCI EndBlock logic respective to the txfees module. It returns no validator updates.
func (AppModule) ExportGenesis ¶
ExportGenesis returns the txfees module's exported genesis state as raw JSON bytes.
func (AppModule) InitGenesis ¶
InitGenesis performs the txfees module's genesis initialization It returns no validator updates.
func (AppModule) IsAppModule ¶
func (am AppModule) IsAppModule()
IsAppModule implements the appmodule.AppModule interface.
func (AppModule) IsOnePerModuleType ¶
func (am AppModule) IsOnePerModuleType()
IsOnePerModuleType is a marker function just indicates that this is a one-per-module type.
func (AppModule) QuerierRoute ¶
QuerierRoute returns the txfees module's query routing key.
func (AppModule) RegisterInvariants ¶
func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry)
RegisterInvariants registers the txfees module's invariants.
func (AppModule) RegisterServices ¶
func (am AppModule) RegisterServices(cfg module.Configurator)
RegisterServices registers a GRPC query service to respond to the module-specific GRPC queries.
type AppModuleBasic ¶
type AppModuleBasic struct{}
AppModuleBasic implements the AppModuleBasic interface for the txfees module.
func NewAppModuleBasic ¶
func NewAppModuleBasic() AppModuleBasic
func (AppModuleBasic) DefaultGenesis ¶
func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
DefaultGenesis returns the txfees module's default genesis state.
func (AppModuleBasic) GetQueryCmd ¶
func (AppModuleBasic) GetQueryCmd() *cobra.Command
GetQueryCmd returns the txfees module's root query command.
func (AppModuleBasic) GetTxCmd ¶
func (a AppModuleBasic) GetTxCmd() *cobra.Command
GetTxCmd returns the txfees module's root tx command.
func (AppModuleBasic) Name ¶
func (AppModuleBasic) Name() string
Name returns the txfees module's name.
func (AppModuleBasic) RegisterGRPCGatewayRoutes ¶
func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module.
func (AppModuleBasic) RegisterInterfaces ¶
func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry)
RegisterInterfaces registers the module's interface types.
func (AppModuleBasic) RegisterLegacyAminoCodec ¶
func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)
func (AppModuleBasic) ValidateGenesis ¶
func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
ValidateGenesis performs genesis state validation for the txfee module.