refactor!: mv AddressCodecs aliases from runtime -> core (#19747)

Co-authored-by: Marko <marbar3778@yahoo.com>
This commit is contained in:
Matt Kocubinski 2024-03-14 09:19:15 -05:00 committed by GitHub
parent 36981e640f
commit c807aaede8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 46 additions and 50 deletions

View File

@ -150,6 +150,7 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i
* (types) [#19627](https://github.com/cosmos/cosmos-sdk/pull/19627) and [#19735](https://github.com/cosmos/cosmos-sdk/pull/19735) All genesis interfaces now don't take `codec.JsonCodec`.
* Every module has the codec already, passing it created an unneeded dependency.
* Additionally, to reflect this change, the module manager does not take a codec either.
* (runtime) [#19747](https://github.com/cosmos/cosmos-sdk/pull/19747) `runtime.ValidatorAddressCodec` and `runtime.ConsensusAddressCodec` have been moved to `core`.
### Client Breaking Changes

View File

@ -33,7 +33,6 @@ import (
"github.com/cosmos/cosmos-sdk/client"
addresscodec "github.com/cosmos/cosmos-sdk/codec/address"
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil/testdata"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
@ -47,8 +46,8 @@ func makeMinimalConfig() depinject.Config {
var (
mempoolOpt = baseapp.SetMempool(mempool.NewSenderNonceMempool())
addressCodec = func() address.Codec { return addresscodec.NewBech32Codec("cosmos") }
validatorAddressCodec = func() runtime.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") }
consensusAddressCodec = func() runtime.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") }
validatorAddressCodec = func() address.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") }
consensusAddressCodec = func() address.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") }
)
return depinject.Configs(

View File

@ -20,8 +20,6 @@ import (
"cosmossdk.io/client/v2/internal/flags"
"cosmossdk.io/client/v2/internal/util"
"cosmossdk.io/core/address"
"github.com/cosmos/cosmos-sdk/runtime"
)
const (
@ -55,8 +53,8 @@ type Builder struct {
// Address Codecs are the address codecs to use for client/v2.
AddressCodec address.Codec
ValidatorAddressCodec runtime.ValidatorAddressCodec
ConsensusAddressCodec runtime.ConsensusAddressCodec
ValidatorAddressCodec address.ValidatorAddressCodec
ConsensusAddressCodec address.ConsensusAddressCodec
}
func (b *Builder) init() {

View File

@ -7,3 +7,11 @@ type Codec interface {
// BytesToString encodes bytes to text
BytesToString(bz []byte) (string, error)
}
type (
// ValidatorAddressCodec is an alias for address.Codec for validator addresses.
ValidatorAddressCodec Codec
// ConsensusAddressCodec is an alias for address.Codec for validator consensus addresses.
ConsensusAddressCodec Codec
)

View File

@ -25,7 +25,7 @@ import (
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/crypto/xsalsa20symmetric"
"github.com/cosmos/cosmos-sdk/runtime"
_ "github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil/configurator"
"github.com/cosmos/cosmos-sdk/types"
)
@ -84,8 +84,8 @@ func TestArmorUnarmorPubKey(t *testing.T) {
configurator.NewAppConfig(),
depinject.Supply(log.NewNopLogger(),
func() address.Codec { return addresscodec.NewBech32Codec("cosmos") },
func() runtime.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") },
func() runtime.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") },
func() address.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") },
func() address.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") },
),
), &cdc)
require.NoError(t, err)

View File

@ -20,7 +20,7 @@ import (
"github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/crypto/types/multisig"
"github.com/cosmos/cosmos-sdk/runtime"
_ "github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil/configurator"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
)
@ -363,8 +363,8 @@ func TestDisplay(t *testing.T) {
configurator.NewAppConfig(),
depinject.Supply(log.NewNopLogger(),
func() address.Codec { return addresscodec.NewBech32Codec("cosmos") },
func() runtime.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") },
func() runtime.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") },
func() address.ValidatorAddressCodec { return addresscodec.NewBech32Codec("cosmosvaloper") },
func() address.ConsensusAddressCodec { return addresscodec.NewBech32Codec("cosmosvalcons") },
),
), &cdc)
require.NoError(err)

View File

@ -142,7 +142,7 @@ func SetupAppBuilder(inputs AppInputs) {
app.ModuleManager.RegisterLegacyAminoCodec(inputs.LegacyAmino)
}
func ProvideInterfaceRegistry(addressCodec address.Codec, validatorAddressCodec ValidatorAddressCodec, customGetSigners []signing.CustomGetSigner) (codectypes.InterfaceRegistry, error) {
func ProvideInterfaceRegistry(addressCodec address.Codec, validatorAddressCodec address.ValidatorAddressCodec, customGetSigners []signing.CustomGetSigner) (codectypes.InterfaceRegistry, error) {
signingOptions := signing.Options{
AddressCodec: addressCodec,
ValidatorAddressCodec: validatorAddressCodec,
@ -245,28 +245,20 @@ func ProvideAppVersionModifier(app *AppBuilder) baseapp.AppVersionModifier {
return app.app
}
type (
// ValidatorAddressCodec is an alias for address.Codec for validator addresses.
ValidatorAddressCodec address.Codec
// ConsensusAddressCodec is an alias for address.Codec for validator consensus addresses.
ConsensusAddressCodec address.Codec
)
type AddressCodecInputs struct {
depinject.In
AuthConfig *authmodulev1.Module `optional:"true"`
StakingConfig *stakingmodulev1.Module `optional:"true"`
AddressCodecFactory func() address.Codec `optional:"true"`
ValidatorAddressCodecFactory func() ValidatorAddressCodec `optional:"true"`
ConsensusAddressCodecFactory func() ConsensusAddressCodec `optional:"true"`
AddressCodecFactory func() address.Codec `optional:"true"`
ValidatorAddressCodecFactory func() address.ValidatorAddressCodec `optional:"true"`
ConsensusAddressCodecFactory func() address.ConsensusAddressCodec `optional:"true"`
}
// ProvideAddressCodec provides an address.Codec to the container for any
// modules that want to do address string <> bytes conversion.
func ProvideAddressCodec(in AddressCodecInputs) (address.Codec, ValidatorAddressCodec, ConsensusAddressCodec) {
func ProvideAddressCodec(in AddressCodecInputs) (address.Codec, address.ValidatorAddressCodec, address.ConsensusAddressCodec) {
if in.AddressCodecFactory != nil && in.ValidatorAddressCodecFactory != nil && in.ConsensusAddressCodecFactory != nil {
return in.AddressCodecFactory(), in.ValidatorAddressCodecFactory(), in.ConsensusAddressCodecFactory()
}

View File

@ -34,7 +34,6 @@ import (
"cosmossdk.io/x/upgrade"
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/testutil/mock"
"github.com/cosmos/cosmos-sdk/testutil/network"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
@ -313,8 +312,8 @@ func (c customAddressCodec) BytesToString(bz []byte) (string, error) {
func TestAddressCodecFactory(t *testing.T) {
var addrCodec address.Codec
var valAddressCodec runtime.ValidatorAddressCodec
var consAddressCodec runtime.ConsensusAddressCodec
var valAddressCodec address.ValidatorAddressCodec
var consAddressCodec address.ConsensusAddressCodec
err := depinject.Inject(
depinject.Configs(
@ -340,8 +339,8 @@ func TestAddressCodecFactory(t *testing.T) {
depinject.Supply(
log.NewNopLogger(),
func() address.Codec { return customAddressCodec{} },
func() runtime.ValidatorAddressCodec { return customAddressCodec{} },
func() runtime.ConsensusAddressCodec { return customAddressCodec{} },
func() address.ValidatorAddressCodec { return customAddressCodec{} },
func() address.ConsensusAddressCodec { return customAddressCodec{} },
),
),
&addrCodec, &valAddressCodec, &consAddressCodec)

View File

@ -24,7 +24,6 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/crypto/keyring"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/server"
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
"github.com/cosmos/cosmos-sdk/types/module"
@ -103,8 +102,8 @@ func ProvideClientContext(
txConfigOpts tx.ConfigOptions,
legacyAmino *codec.LegacyAmino,
addressCodec address.Codec,
validatorAddressCodec runtime.ValidatorAddressCodec,
consensusAddressCodec runtime.ConsensusAddressCodec,
validatorAddressCodec address.ValidatorAddressCodec,
consensusAddressCodec address.ConsensusAddressCodec,
authConfig *authv1.Module,
stakingConfig *stakingv1.Module,
) client.Context {

View File

@ -13,6 +13,7 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"cosmossdk.io/core/address"
"cosmossdk.io/math"
"cosmossdk.io/math/unsafe"
"cosmossdk.io/simapp"
@ -26,7 +27,6 @@ import (
"github.com/cosmos/cosmos-sdk/crypto/hd"
"github.com/cosmos/cosmos-sdk/crypto/keyring"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/server"
srvconfig "github.com/cosmos/cosmos-sdk/server/config"
"github.com/cosmos/cosmos-sdk/testutil"
@ -209,7 +209,7 @@ func initTestnetFiles(
nodeConfig *cmtconfig.Config,
mm *module.Manager,
genBalIterator banktypes.GenesisBalancesIterator,
valAddrCodec runtime.ValidatorAddressCodec,
valAddrCodec address.ValidatorAddressCodec,
args initArgs,
) error {
if args.chainID == "" {
@ -417,7 +417,7 @@ func initGenFiles(
func collectGenFiles(
clientCtx client.Context, nodeConfig *cmtconfig.Config, chainID string,
nodeIDs []string, valPubKeys []cryptotypes.PubKey, numValidators int,
outputDir, nodeDirPrefix, nodeDaemonHome string, genBalIterator banktypes.GenesisBalancesIterator, valAddrCodec runtime.ValidatorAddressCodec,
outputDir, nodeDirPrefix, nodeDaemonHome string, genBalIterator banktypes.GenesisBalancesIterator, valAddrCodec address.ValidatorAddressCodec,
) error {
var appState json.RawMessage
genTime := cmttime.Now()

View File

@ -129,8 +129,8 @@ type Config struct {
// Address codecs
AddressCodec address.Codec // address codec
ValidatorAddressCodec runtime.ValidatorAddressCodec // validator address codec
ConsensusAddressCodec runtime.ConsensusAddressCodec // consensus address codec
ValidatorAddressCodec address.ValidatorAddressCodec // validator address codec
ConsensusAddressCodec address.ConsensusAddressCodec // consensus address codec
}
// DefaultConfig returns a sane default configuration suitable for nearly all
@ -185,8 +185,8 @@ func DefaultConfigWithAppConfig(appConfig depinject.Config) (Config, error) {
cdc codec.Codec
interfaceRegistry codectypes.InterfaceRegistry
addressCodec address.Codec
validatorAddressCodec runtime.ValidatorAddressCodec
consensusAddressCodec runtime.ConsensusAddressCodec
validatorAddressCodec address.ValidatorAddressCodec
consensusAddressCodec address.ConsensusAddressCodec
)
if err := depinject.Inject(

View File

@ -42,7 +42,7 @@ type ModuleInputs struct {
Config *txconfigv1.Config
AddressCodec address.Codec
ValidatorAddressCodec runtime.ValidatorAddressCodec
ValidatorAddressCodec address.ValidatorAddressCodec
Codec codec.Codec
ProtoFileResolver txsigning.ProtoFileResolver
// BankKeeper is the expected bank keeper to be passed to AnteHandlers

View File

@ -6,10 +6,10 @@ import (
"github.com/spf13/cobra"
"cosmossdk.io/core/address"
"cosmossdk.io/errors"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/server"
"github.com/cosmos/cosmos-sdk/x/genutil"
"github.com/cosmos/cosmos-sdk/x/genutil/types"
@ -18,7 +18,7 @@ import (
const flagGenTxDir = "gentx-dir"
// CollectGenTxsCmd - return the cobra command to collect genesis transactions
func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, validator types.MessageValidator, valAddrCodec runtime.ValidatorAddressCodec) *cobra.Command {
func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, validator types.MessageValidator, valAddrCodec address.ValidatorAddressCodec) *cobra.Command {
cmd := &cobra.Command{
Use: "collect-gentxs",
Short: "Collect genesis txs and output a genesis.json file",

View File

@ -12,12 +12,12 @@ import (
cfg "github.com/cometbft/cometbft/config"
"cosmossdk.io/core/address"
bankexported "cosmossdk.io/x/bank/exported"
stakingtypes "cosmossdk.io/x/staking/types"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/codec"
sdkruntime "github.com/cosmos/cosmos-sdk/runtime"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/genutil/types"
)
@ -25,7 +25,7 @@ import (
// GenAppStateFromConfig gets the genesis app state from the config
func GenAppStateFromConfig(cdc codec.JSONCodec, txEncodingConfig client.TxEncodingConfig,
config *cfg.Config, initCfg types.InitConfig, genesis *types.AppGenesis, genBalIterator types.GenesisBalancesIterator,
validator types.MessageValidator, valAddrCodec sdkruntime.ValidatorAddressCodec,
validator types.MessageValidator, valAddrCodec address.ValidatorAddressCodec,
) (appState json.RawMessage, err error) {
// process genesis transactions, else create default genesis.json
appGenTxs, persistentPeers, err := CollectTxs(
@ -68,7 +68,7 @@ func GenAppStateFromConfig(cdc codec.JSONCodec, txEncodingConfig client.TxEncodi
// the list of appGenTxs, and persistent peers required to generate genesis.json.
func CollectTxs(cdc codec.JSONCodec, txJSONDecoder sdk.TxDecoder, moniker, genTxsDir string,
genesis *types.AppGenesis, genBalIterator types.GenesisBalancesIterator,
validator types.MessageValidator, valAddrCodec sdkruntime.ValidatorAddressCodec,
validator types.MessageValidator, valAddrCodec address.ValidatorAddressCodec,
) (appGenTxs []sdk.Tx, persistentPeers string, err error) {
// prepare a map of all balances in genesis state to then validate
// against the validators addresses

View File

@ -7,6 +7,7 @@ import (
"golang.org/x/exp/maps"
modulev1 "cosmossdk.io/api/cosmos/staking/module/v1"
"cosmossdk.io/core/address"
"cosmossdk.io/core/appmodule"
"cosmossdk.io/depinject"
"cosmossdk.io/depinject/appconfig"
@ -16,7 +17,6 @@ import (
"cosmossdk.io/x/staking/types"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/runtime"
"github.com/cosmos/cosmos-sdk/types/module"
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
)
@ -38,8 +38,8 @@ type ModuleInputs struct {
depinject.In
Config *modulev1.Module
ValidatorAddressCodec runtime.ValidatorAddressCodec
ConsensusAddressCodec runtime.ConsensusAddressCodec
ValidatorAddressCodec address.ValidatorAddressCodec
ConsensusAddressCodec address.ConsensusAddressCodec
AccountKeeper types.AccountKeeper
BankKeeper types.BankKeeper
Cdc codec.Codec