Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBankKeeperCoinMetadataQueryFn ¶
func NewBankKeeperCoinMetadataQueryFn(bk BankKeeper) textual.CoinMetadataQueryFn
NewBankKeeperCoinMetadataQueryFn creates a new Textual struct using the given BankKeeper to retrieve coin metadata.
This function should be used in the server (app.go) and is already injected thanks to app wiring for app_di.
func NewGRPCCoinMetadataQueryFn ¶
func NewGRPCCoinMetadataQueryFn(grpcConn grpc.ClientConnInterface) textual.CoinMetadataQueryFn
NewGRPCCoinMetadataQueryFn returns a new Textual instance where the metadata queries are done via gRPC using the provided GRPC client connection. In the SDK, you can pass a client.Context as the GRPC connection.
Example:
clientCtx := client.GetClientContextFromCmd(cmd) txt := tx.NewTextualWithGRPCConn(clientCtx)
This should be used in the client (root.go) of an application.
func ProvideProtoRegistry ¶
func ProvideProtoRegistry() txsigning.ProtoFileResolver
Types ¶
type AppModule ¶
type AppModule struct {
// contains filtered or unexported fields
}
AppModule is a module that only implements tx validators. The goal of this module is to allow extensible registration of tx validators provided by chains without requiring a new modules. Additionally, it registers tx validators that do not really have a place in other modules. This module is only useful for chains using server/v2. Ante/Post handlers are setup via baseapp options in depinject.
func NewAppModule ¶
func NewAppModule( sigVerification ante.SigVerificationDecorator, feeTxValidator *ante.DeductFeeDecorator, unorderTxValidator *ante.UnorderedTxDecorator, txValidators ...appmodulev2.TxValidator[transaction.Tx], ) AppModule
NewAppModule creates a new AppModule object.
func (AppModule) IsAppModule ¶
func (a AppModule) IsAppModule()
IsAppModule implements appmodule.AppModule.
func (AppModule) IsOnePerModuleType ¶
func (a AppModule) IsOnePerModuleType()
IsOnePerModuleType implements appmodule.AppModule.
func (AppModule) TxValidator ¶
TxValidator implements appmodule.HasTxValidator.
type BankKeeper ¶
type BankKeeper interface {
DenomMetadataV2(c context.Context, req *bankv1beta1.QueryDenomMetadataRequest) (*bankv1beta1.QueryDenomMetadataResponse, error)
}
BankKeeper defines the contract needed for tx-related APIs
type ModuleInputs ¶
type ModuleInputs struct {
depinject.In
Config *txconfigv1.Config
AddressCodec address.Codec
ValidatorAddressCodec address.ValidatorAddressCodec
Codec codec.Codec
ProtoFileResolver txsigning.ProtoFileResolver
Environment appmodule.Environment
// BankKeeper is the expected bank keeper to be passed to AnteHandlers / Tx Validators
BankKeeper authtypes.BankKeeper `optional:"true"`
MetadataBankKeeper BankKeeper `optional:"true"`
AccountKeeper ante.AccountKeeper `optional:"true"`
FeeGrantKeeper ante.FeegrantKeeper `optional:"true"`
AccountAbstractionKeeper ante.AccountAbstractionKeeper `optional:"true"`
CustomSignModeHandlers func() []txsigning.SignModeHandler `optional:"true"`
CustomGetSigners []txsigning.CustomGetSigner `optional:"true"`
ExtraTxValidators []appmodule.TxValidator[transaction.Tx] `optional:"true"`
UnorderedTxManager *unorderedtx.Manager `optional:"true"`
TxFeeChecker ante.TxFeeChecker `optional:"true"`
Viper *viper.Viper `optional:"true"` // server v2
}
type ModuleOutputs ¶
type ModuleOutputs struct {
depinject.Out
Module appmodule.AppModule // This is only useful for chains using server/v2. It setup tx validators that don't belong to other modules.
BaseAppOption runtime.BaseAppOption // This is only useful for chains using baseapp. Server/v2 chains use TxValidator.
TxConfig client.TxConfig
TxConfigOptions tx.ConfigOptions
}
func ProvideModule ¶
func ProvideModule(in ModuleInputs) ModuleOutputs