From 5cea984ec80f002119c812984ce9ed868c1c7e13 Mon Sep 17 00:00:00 2001 From: Aaron Craelius Date: Thu, 9 Mar 2023 10:30:34 -0500 Subject: [PATCH] feat(x/auth): add ProvideAddressCodec provider (#15330) --- x/auth/keeper/bech32_codec.go | 2 +- x/auth/keeper/keeper.go | 2 +- x/auth/module.go | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/x/auth/keeper/bech32_codec.go b/x/auth/keeper/bech32_codec.go index 298a5813f2..2a28dcc426 100644 --- a/x/auth/keeper/bech32_codec.go +++ b/x/auth/keeper/bech32_codec.go @@ -15,7 +15,7 @@ type bech32Codec struct { var _ address.Codec = &bech32Codec{} -func newBech32Codec(prefix string) bech32Codec { +func NewBech32Codec(prefix string) address.Codec { return bech32Codec{prefix} } diff --git a/x/auth/keeper/keeper.go b/x/auth/keeper/keeper.go index d59a40521f..2d3a65c9e3 100644 --- a/x/auth/keeper/keeper.go +++ b/x/auth/keeper/keeper.go @@ -86,7 +86,7 @@ func NewAccountKeeper( permAddrs[name] = types.NewPermissionsForAddress(name, perms) } - bech32Codec := newBech32Codec(bech32Prefix) + bech32Codec := NewBech32Codec(bech32Prefix) return AccountKeeper{ storeKey: storeKey, diff --git a/x/auth/module.go b/x/auth/module.go index 16b8703b23..e302de8318 100644 --- a/x/auth/module.go +++ b/x/auth/module.go @@ -12,6 +12,7 @@ import ( "cosmossdk.io/depinject" "cosmossdk.io/core/appmodule" + "github.com/cosmos/cosmos-sdk/types/address" modulev1 "cosmossdk.io/api/cosmos/auth/module/v1" @@ -200,10 +201,17 @@ func (AppModule) WeightedOperations(_ module.SimulationState) []simtypes.Weighte func init() { appmodule.Register(&modulev1.Module{}, + appmodule.Provide(ProvideAddressCodec), appmodule.Provide(ProvideModule), ) } +// ProvideAddressCodec provides an address.Codec to the container for any +// modules that want to do address string <> bytes conversion. +func ProvideAddressCodec(config *modulev1.Module) address.Codec { + return keeper.NewBech32Codec(config.Bech32Prefix) +} + //nolint:revive type AuthInputs struct { depinject.In