fix(depinject): Authtx was not accepting custom signers (#19549)

This commit is contained in:
Devon Bear
2024-02-25 14:38:22 +01:00
committed by GitHub
parent 8432570e52
commit 7c05f4188b
+9
View File
@@ -8,6 +8,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
grpcstatus "google.golang.org/grpc/status"
"google.golang.org/protobuf/reflect/protoreflect"
bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1"
txconfigv1 "cosmossdk.io/api/cosmos/tx/config/v1"
@@ -50,6 +51,7 @@ type ModuleInputs struct {
AccountKeeper ante.AccountKeeper `optional:"true"`
FeeGrantKeeper ante.FeegrantKeeper `optional:"true"`
CustomSignModeHandlers func() []txsigning.SignModeHandler `optional:"true"`
CustomGetSigners []txsigning.CustomGetSigner `optional:"true"`
}
type ModuleOutputs struct {
@@ -76,10 +78,17 @@ func ProvideModule(in ModuleInputs) ModuleOutputs {
FileResolver: in.ProtoFileResolver,
AddressCodec: in.AddressCodec,
ValidatorAddressCodec: in.ValidatorAddressCodec,
CustomGetSigners: make(map[protoreflect.FullName]txsigning.GetSignersFunc),
},
CustomSignModes: customSignModeHandlers,
}
if in.CustomGetSigners != nil {
for _, mode := range in.CustomGetSigners {
txConfigOptions.SigningOptions.CustomGetSigners[mode.MsgType] = mode.Fn
}
}
// enable SIGN_MODE_TEXTUAL only if bank keeper is available
if in.MetadataBankKeeper != nil {
txConfigOptions.EnabledSignModes = append(txConfigOptions.EnabledSignModes, signingtypes.SignMode_SIGN_MODE_TEXTUAL)