From be1927bcffbc0906df9fe5b9edd4931edd4fd40a Mon Sep 17 00:00:00 2001 From: Alex Peters Date: Fri, 18 Dec 2020 12:37:24 +0100 Subject: [PATCH] Replace viper in cli --- x/wasm/client/cli/genesis_msg.go | 21 ++-- x/wasm/client/cli/gov_tx.go | 160 ++++++++++++++++++------- x/wasm/client/cli/tx.go | 80 +++++++++---- x/wasm/client/proposal_handler_test.go | 2 +- x/wasm/internal/keeper/genesis_test.go | 2 +- x/wasm/internal/keeper/reflect_test.go | 10 +- x/wasm/internal/keeper/test_common.go | 16 ++- 7 files changed, 202 insertions(+), 89 deletions(-) diff --git a/x/wasm/client/cli/genesis_msg.go b/x/wasm/client/cli/genesis_msg.go index 3a0014fb..561f7064 100644 --- a/x/wasm/client/cli/genesis_msg.go +++ b/x/wasm/client/cli/genesis_msg.go @@ -19,7 +19,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/genutil" genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" "github.com/spf13/cobra" - "github.com/spf13/viper" "github.com/tendermint/tendermint/crypto" ) @@ -29,12 +28,12 @@ func GenesisStoreCodeCmd(defaultNodeHome string) *cobra.Command { Short: "Upload a wasm binary", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - senderAddr, err := getActorAddress(cmd, viper.GetString(flagRunAs)) + senderAddr, err := getActorAddress(cmd) if err != nil { return err } - msg, err := parseStoreCodeArgs(args[0], senderAddr) + msg, err := parseStoreCodeArgs(args[0], senderAddr, cmd.Flags()) if err != nil { return err } @@ -70,12 +69,12 @@ func GenesisInstantiateContractCmd(defaultNodeHome string) *cobra.Command { Short: "Instantiate a wasm contract", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - senderAddr, err := getActorAddress(cmd, viper.GetString(flagRunAs)) + senderAddr, err := getActorAddress(cmd) if err != nil { return err } - msg, err := parseInstantiateArgs(args[0], args[1], senderAddr) + msg, err := parseInstantiateArgs(args[0], args[1], senderAddr, cmd.Flags()) if err != nil { return err } @@ -114,12 +113,12 @@ func GenesisExecuteContractCmd(defaultNodeHome string) *cobra.Command { Short: "Execute a command on a wasm contract", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) error { - senderAddr, err := getActorAddress(cmd, viper.GetString(flagRunAs)) + senderAddr, err := getActorAddress(cmd) if err != nil { return err } - msg, err := parseExecuteArgs(args[0], args[1], senderAddr) + msg, err := parseExecuteArgs(args[0], args[1], senderAddr, cmd.Flags()) if err != nil { return err } @@ -210,7 +209,7 @@ func GenesisListContractsCmd(defaultNodeHome string) *cobra.Command { func GenesisListCodesCmd(defaultNodeHome string) *cobra.Command { cmd := &cobra.Command{ Use: "list-codes ", - Short: "Lists all codes from genesis contract dump and queued messages", + Short: "Lists all codes from genesis code dump and queued messages", Args: cobra.ExactArgs(0), RunE: func(cmd *cobra.Command, args []string) error { type CodeMeta struct { @@ -353,7 +352,11 @@ func codeSeqValue(state *types.GenesisState) uint64 { return seq } -func getActorAddress(cmd *cobra.Command, actorArg string) (sdk.AccAddress, error) { +func getActorAddress(cmd *cobra.Command) (sdk.AccAddress, error) { + actorArg, err := cmd.Flags().GetString(flagRunAs) + if err != nil { + return nil, fmt.Errorf("run-as: %s", err.Error()) + } if len(actorArg) == 0 { return nil, errors.New("run-as address is required") } diff --git a/x/wasm/client/cli/gov_tx.go b/x/wasm/client/cli/gov_tx.go index 1bd6307f..3a7214af 100644 --- a/x/wasm/client/cli/gov_tx.go +++ b/x/wasm/client/cli/gov_tx.go @@ -1,6 +1,8 @@ package cli import ( + "fmt" + "github.com/CosmWasm/wasmd/x/wasm/internal/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" @@ -9,7 +11,6 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/spf13/viper" ) func ProposalStoreCodeCmd() *cobra.Command { @@ -23,27 +24,44 @@ func ProposalStoreCodeCmd() *cobra.Command { return err } - src, err := parseStoreCodeArgs(args[0], clientCtx.FromAddress) + src, err := parseStoreCodeArgs(args[0], clientCtx.FromAddress, cmd.Flags()) if err != nil { return err } - if len(viper.GetString(flagRunAs)) == 0 { + runAs, err := cmd.Flags().GetString(flagRunAs) + if err != nil { + return fmt.Errorf("run-as: %s", err) + } + if len(runAs) == 0 { return errors.New("run-as address is required") } + proposalTitle, err := cmd.Flags().GetString(cli.FlagTitle) + if err != nil { + return fmt.Errorf("proposal title: %s", err) + } + proposalDescr, err := cmd.Flags().GetString(cli.FlagDescription) + if err != nil { + return fmt.Errorf("proposal description: %s", err) + } + depositArg, err := cmd.Flags().GetString(cli.FlagDeposit) + if err != nil { + return err + } + deposit, err := sdk.ParseCoinsNormalized(depositArg) + if err != nil { + return err + } + content := types.StoreCodeProposal{ - Title: viper.GetString(cli.FlagTitle), - Description: viper.GetString(cli.FlagDescription), - RunAs: viper.GetString(flagRunAs), + Title: proposalTitle, + Description: proposalDescr, + RunAs: runAs, WASMByteCode: src.WASMByteCode, Source: src.Source, Builder: src.Builder, InstantiatePermission: src.InstantiatePermission, } - deposit, err := sdk.ParseCoinsNormalized(viper.GetString(cli.FlagDeposit)) - if err != nil { - return err - } msg, err := govtypes.NewMsgSubmitProposal(&content, deposit, clientCtx.GetFromAddress()) if err != nil { return err @@ -83,17 +101,39 @@ func ProposalInstantiateContractCmd() *cobra.Command { return err } - src, err := parseInstantiateArgs(args[0], args[1], clientCtx.FromAddress) + src, err := parseInstantiateArgs(args[0], args[1], clientCtx.FromAddress, cmd.Flags()) if err != nil { return err } - if len(viper.GetString(flagRunAs)) == 0 { - return errors.New("creator address is required") + + runAs, err := cmd.Flags().GetString(flagRunAs) + if err != nil { + return fmt.Errorf("run-as: %s", err) } + if len(runAs) == 0 { + return errors.New("run-as address is required") + } + proposalTitle, err := cmd.Flags().GetString(cli.FlagTitle) + if err != nil { + return fmt.Errorf("proposal title: %s", err) + } + proposalDescr, err := cmd.Flags().GetString(cli.FlagDescription) + if err != nil { + return fmt.Errorf("proposal description: %s", err) + } + depositArg, err := cmd.Flags().GetString(cli.FlagDeposit) + if err != nil { + return err + } + deposit, err := sdk.ParseCoinsNormalized(depositArg) + if err != nil { + return err + } + content := types.InstantiateContractProposal{ - Title: viper.GetString(cli.FlagTitle), - Description: viper.GetString(cli.FlagDescription), - RunAs: viper.GetString(flagRunAs), + Title: proposalTitle, + Description: proposalDescr, + RunAs: runAs, Admin: src.Admin, CodeID: src.CodeID, Label: src.Label, @@ -101,11 +141,6 @@ func ProposalInstantiateContractCmd() *cobra.Command { InitFunds: src.InitFunds, } - deposit, err := sdk.ParseCoinsNormalized(viper.GetString(cli.FlagDeposit)) - if err != nil { - return err - } - msg, err := govtypes.NewMsgSubmitProposal(&content, deposit, clientCtx.GetFromAddress()) if err != nil { return err @@ -148,22 +183,37 @@ func ProposalMigrateContractCmd() *cobra.Command { return err } - if len(viper.GetString(flagRunAs)) == 0 { + runAs, err := cmd.Flags().GetString(flagRunAs) + if err != nil { + return fmt.Errorf("run-as: %s", err) + } + if len(runAs) == 0 { return errors.New("run-as address is required") } + proposalTitle, err := cmd.Flags().GetString(cli.FlagTitle) + if err != nil { + return fmt.Errorf("proposal title: %s", err) + } + proposalDescr, err := cmd.Flags().GetString(cli.FlagDescription) + if err != nil { + return fmt.Errorf("proposal description: %s", err) + } + depositArg, err := cmd.Flags().GetString(cli.FlagDeposit) + if err != nil { + return err + } + deposit, err := sdk.ParseCoinsNormalized(depositArg) + if err != nil { + return err + } content := types.MigrateContractProposal{ - Title: viper.GetString(cli.FlagTitle), - Description: viper.GetString(cli.FlagDescription), + Title: proposalTitle, + Description: proposalDescr, Contract: src.Contract, CodeID: src.CodeID, MigrateMsg: src.MigrateMsg, - RunAs: viper.GetString(flagRunAs), - } - - deposit, err := sdk.ParseCoinsNormalized(viper.GetString(cli.FlagDeposit)) - if err != nil { - return err + RunAs: runAs, } msg, err := govtypes.NewMsgSubmitProposal(&content, deposit, clientCtx.GetFromAddress()) @@ -205,18 +255,30 @@ func ProposalUpdateContractAdminCmd() *cobra.Command { return err } - content := types.UpdateAdminProposal{ - Title: viper.GetString(cli.FlagTitle), - Description: viper.GetString(cli.FlagDescription), - Contract: src.Contract, - NewAdmin: src.NewAdmin, + proposalTitle, err := cmd.Flags().GetString(cli.FlagTitle) + if err != nil { + return fmt.Errorf("proposal title: %s", err) } - - deposit, err := sdk.ParseCoinsNormalized(viper.GetString(cli.FlagDeposit)) + proposalDescr, err := cmd.Flags().GetString(cli.FlagDescription) + if err != nil { + return fmt.Errorf("proposal description: %s", err) + } + depositArg, err := cmd.Flags().GetString(cli.FlagDeposit) + if err != nil { + return fmt.Errorf("deposit: %s", err) + } + deposit, err := sdk.ParseCoinsNormalized(depositArg) if err != nil { return err } + content := types.UpdateAdminProposal{ + Title: proposalTitle, + Description: proposalDescr, + Contract: src.Contract, + NewAdmin: src.NewAdmin, + } + msg, err := govtypes.NewMsgSubmitProposal(&content, deposit, clientCtx.GetFromAddress()) if err != nil { return err @@ -249,17 +311,29 @@ func ProposalClearContractAdminCmd() *cobra.Command { return err } - content := types.ClearAdminProposal{ - Title: viper.GetString(cli.FlagTitle), - Description: viper.GetString(cli.FlagDescription), - Contract: args[0], + proposalTitle, err := cmd.Flags().GetString(cli.FlagTitle) + if err != nil { + return fmt.Errorf("proposal title: %s", err) } - - deposit, err := sdk.ParseCoinsNormalized(viper.GetString(cli.FlagDeposit)) + proposalDescr, err := cmd.Flags().GetString(cli.FlagDescription) + if err != nil { + return fmt.Errorf("proposal description: %s", err) + } + depositArg, err := cmd.Flags().GetString(cli.FlagDeposit) + if err != nil { + return fmt.Errorf("deposit: %s", err) + } + deposit, err := sdk.ParseCoinsNormalized(depositArg) if err != nil { return err } + content := types.ClearAdminProposal{ + Title: proposalTitle, + Description: proposalDescr, + Contract: args[0], + } + msg, err := govtypes.NewMsgSubmitProposal(&content, deposit, clientCtx.GetFromAddress()) if err != nil { return err diff --git a/x/wasm/client/cli/tx.go b/x/wasm/client/cli/tx.go index 5318dc03..55a9b3fc 100644 --- a/x/wasm/client/cli/tx.go +++ b/x/wasm/client/cli/tx.go @@ -1,6 +1,7 @@ package cli import ( + "errors" "fmt" "io/ioutil" "strconv" @@ -13,7 +14,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/spf13/cobra" - "github.com/spf13/viper" + flag "github.com/spf13/pflag" ) const ( @@ -56,7 +57,7 @@ func StoreCodeCmd() *cobra.Command { Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientTxContext(cmd) - msg, err := parseStoreCodeArgs(args[0], clientCtx.GetFromAddress()) + msg, err := parseStoreCodeArgs(args[0], clientCtx.GetFromAddress(), cmd.Flags()) if err != nil { return err } @@ -75,7 +76,7 @@ func StoreCodeCmd() *cobra.Command { return cmd } -func parseStoreCodeArgs(file string, sender sdk.AccAddress) (types.MsgStoreCode, error) { +func parseStoreCodeArgs(file string, sender sdk.AccAddress, flags *flag.FlagSet) (types.MsgStoreCode, error) { wasm, err := ioutil.ReadFile(file) if err != nil { return types.MsgStoreCode{}, err @@ -93,23 +94,48 @@ func parseStoreCodeArgs(file string, sender sdk.AccAddress) (types.MsgStoreCode, } var perm *types.AccessConfig - if onlyAddrStr := viper.GetString(flagInstantiateByAddress); onlyAddrStr != "" { + onlyAddrStr, err := flags.GetString(flagInstantiateByAddress) + if err != nil { + return types.MsgStoreCode{}, fmt.Errorf("instantiate by address: %s", err) + } + if onlyAddrStr != "" { allowedAddr, err := sdk.AccAddressFromBech32(onlyAddrStr) if err != nil { return types.MsgStoreCode{}, sdkerrors.Wrap(err, flagInstantiateByAddress) } x := types.AccessTypeOnlyAddress.With(allowedAddr) perm = &x - } else if everybody := viper.GetBool(flagInstantiateByEverybody); everybody { - perm = &types.AllowEverybody + } else { + everybodyStr, err := flags.GetString(flagInstantiateByEverybody) + if err != nil { + return types.MsgStoreCode{}, fmt.Errorf("instantiate by everybody: %s", err) + } + if everybodyStr != "" { + ok, err := strconv.ParseBool(everybodyStr) + if err != nil { + return types.MsgStoreCode{}, fmt.Errorf("boolean value expected for instantiate by everybody: %s", err) + } + if ok { + perm = &types.AllowEverybody + } + } } // build and sign the transaction, then broadcast to Tendermint + source, err := flags.GetString(flagSource) + if err != nil { + return types.MsgStoreCode{}, fmt.Errorf("source: %s", err) + } + builder, err := flags.GetString(flagBuilder) + if err != nil { + return types.MsgStoreCode{}, fmt.Errorf("builder: %s", err) + } + msg := types.MsgStoreCode{ Sender: sender.String(), WASMByteCode: wasm, - Source: viper.GetString(flagSource), - Builder: viper.GetString(flagBuilder), + Source: source, + Builder: builder, InstantiatePermission: perm, } return msg, nil @@ -125,7 +151,7 @@ func InstantiateContractCmd() *cobra.Command { clientCtx, err := client.GetClientTxContext(cmd) - msg, err := parseInstantiateArgs(args[0], args[1], clientCtx.GetFromAddress()) + msg, err := parseInstantiateArgs(args[0], args[1], clientCtx.GetFromAddress(), cmd.Flags()) if err != nil { return err } @@ -143,25 +169,33 @@ func InstantiateContractCmd() *cobra.Command { return cmd } -func parseInstantiateArgs(rawCodeID, initMsg string, sender sdk.AccAddress) (types.MsgInstantiateContract, error) { +func parseInstantiateArgs(rawCodeID, initMsg string, sender sdk.AccAddress, flags *flag.FlagSet) (types.MsgInstantiateContract, error) { // get the id of the code to instantiate codeID, err := strconv.ParseUint(rawCodeID, 10, 64) if err != nil { return types.MsgInstantiateContract{}, err } - amounstStr := viper.GetString(flagAmount) - amount, err := sdk.ParseCoinsNormalized(amounstStr) + amountStr, err := flags.GetString(flagAmount) if err != nil { - return types.MsgInstantiateContract{}, err + return types.MsgInstantiateContract{}, fmt.Errorf("amount: %s", err) + } + amount, err := sdk.ParseCoinsNormalized(amountStr) + if err != nil { + return types.MsgInstantiateContract{}, fmt.Errorf("amount: %s", err) + } + label, err := flags.GetString(flagLabel) + if err != nil { + return types.MsgInstantiateContract{}, fmt.Errorf("label: %s", err) } - - label := viper.GetString(flagLabel) if label == "" { - return types.MsgInstantiateContract{}, fmt.Errorf("Label is required on all contracts") + return types.MsgInstantiateContract{}, errors.New("label is required on all contracts") + } + adminStr, err := flags.GetString(flagAdmin) + if err != nil { + return types.MsgInstantiateContract{}, fmt.Errorf("admin: %s", err) } - adminStr := viper.GetString(flagAdmin) // build and sign the transaction, then broadcast to Tendermint msg := types.MsgInstantiateContract{ Sender: sender.String(), @@ -183,7 +217,7 @@ func ExecuteContractCmd() *cobra.Command { RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientTxContext(cmd) - msg, err := parseExecuteArgs(args[0], args[1], clientCtx.GetFromAddress()) + msg, err := parseExecuteArgs(args[0], args[1], clientCtx.GetFromAddress(), cmd.Flags()) if err != nil { return err } @@ -199,9 +233,13 @@ func ExecuteContractCmd() *cobra.Command { return cmd } -func parseExecuteArgs(contractAddr string, execMsg string, sender sdk.AccAddress) (types.MsgExecuteContract, error) { - amounstStr := viper.GetString(flagAmount) - amount, err := sdk.ParseCoinsNormalized(amounstStr) +func parseExecuteArgs(contractAddr string, execMsg string, sender sdk.AccAddress, flags *flag.FlagSet) (types.MsgExecuteContract, error) { + amountStr, err := flags.GetString(flagAmount) + if err != nil { + return types.MsgExecuteContract{}, fmt.Errorf("amount: %s", err) + } + + amount, err := sdk.ParseCoinsNormalized(amountStr) if err != nil { return types.MsgExecuteContract{}, err } diff --git a/x/wasm/client/proposal_handler_test.go b/x/wasm/client/proposal_handler_test.go index a2319ae8..df9a4c27 100644 --- a/x/wasm/client/proposal_handler_test.go +++ b/x/wasm/client/proposal_handler_test.go @@ -30,7 +30,7 @@ func TestGovRestHandlers(t *testing.T) { "fees": []dict{{"denom": "ustake", "amount": "1000000"}}, } ) - encodingConfig := keeper.MakeEncodingConfig() + encodingConfig := keeper.MakeEncodingConfig(t) clientCtx := client.Context{}. WithJSONMarshaler(encodingConfig.Marshaler). WithTxConfig(encodingConfig.TxConfig). diff --git a/x/wasm/internal/keeper/genesis_test.go b/x/wasm/internal/keeper/genesis_test.go index 7e15ba12..4140938e 100644 --- a/x/wasm/internal/keeper/genesis_test.go +++ b/x/wasm/internal/keeper/genesis_test.go @@ -542,7 +542,7 @@ func setupKeeper(t *testing.T) (*Keeper, sdk.Context, []sdk.StoreKey) { Time: time.Date(2020, time.April, 22, 12, 0, 0, 0, time.UTC), }, false, log.NewNopLogger()) - encodingConfig := MakeEncodingConfig() + encodingConfig := MakeEncodingConfig(t) wasmConfig := wasmTypes.DefaultWasmConfig() pk := paramskeeper.NewKeeper(encodingConfig.Marshaler, encodingConfig.Amino, keyParams, tkeyParams) diff --git a/x/wasm/internal/keeper/reflect_test.go b/x/wasm/internal/keeper/reflect_test.go index bded56b3..1587e11d 100644 --- a/x/wasm/internal/keeper/reflect_test.go +++ b/x/wasm/internal/keeper/reflect_test.go @@ -72,7 +72,7 @@ func mustParse(t *testing.T, data []byte, res interface{}) { const MaskFeatures = "staking,mask" func TestMaskReflectContractSend(t *testing.T) { - cdc := MakeTestCodec() + cdc := MakeTestCodec(t) ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(cdc), nil) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.WasmKeeper, keepers.BankKeeper @@ -154,7 +154,7 @@ func TestMaskReflectContractSend(t *testing.T) { } func TestMaskReflectCustomMsg(t *testing.T) { - cdc := MakeTestCodec() + cdc := MakeTestCodec(t) ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(cdc), maskPlugins()) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.WasmKeeper, keepers.BankKeeper @@ -248,7 +248,7 @@ func TestMaskReflectCustomMsg(t *testing.T) { } func TestMaskReflectCustomQuery(t *testing.T) { - cdc := MakeTestCodec() + cdc := MakeTestCodec(t) ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(cdc), maskPlugins()) accKeeper, keeper, bankKeeper := keepers.AccountKeeper, keepers.WasmKeeper, keepers.BankKeeper @@ -302,7 +302,7 @@ type maskState struct { } func TestMaskReflectWasmQueries(t *testing.T) { - ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(MakeTestCodec()), nil) + ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(MakeTestCodec(t)), nil) accKeeper, keeper := keepers.AccountKeeper, keepers.WasmKeeper deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) @@ -373,7 +373,7 @@ func TestMaskReflectWasmQueries(t *testing.T) { } func TestWasmRawQueryWithNil(t *testing.T) { - ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(MakeTestCodec()), nil) + ctx, keepers := CreateTestInput(t, false, MaskFeatures, maskEncoders(MakeTestCodec(t)), nil) accKeeper, keeper := keepers.AccountKeeper, keepers.WasmKeeper deposit := sdk.NewCoins(sdk.NewInt64Coin("denom", 100000)) diff --git a/x/wasm/internal/keeper/test_common.go b/x/wasm/internal/keeper/test_common.go index 35fe4765..0714cf49 100644 --- a/x/wasm/internal/keeper/test_common.go +++ b/x/wasm/internal/keeper/test_common.go @@ -6,7 +6,6 @@ import ( "encoding/json" "fmt" "io/ioutil" - "os" "testing" "time" @@ -84,10 +83,11 @@ var ModuleBasics = module.NewBasicManager( transfer.AppModuleBasic{}, ) -func MakeTestCodec() codec.Marshaler { - return MakeEncodingConfig().Marshaler +func MakeTestCodec(t *testing.T) codec.Marshaler { + return MakeEncodingConfig(t).Marshaler } -func MakeEncodingConfig() params2.EncodingConfig { + +func MakeEncodingConfig(_ *testing.T) params2.EncodingConfig { amino := codec.NewLegacyAmino() interfaceRegistry := codectypes.NewInterfaceRegistry() marshaler := codec.NewProtoCodec(interfaceRegistry) @@ -125,9 +125,7 @@ type TestKeepers struct { // encoders can be nil to accept the defaults, or set it to override some of the message handlers (like default) func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, encoders *MessageEncoders, queriers *QueryPlugins) (sdk.Context, TestKeepers) { - tempDir, err := ioutil.TempDir("", "wasm") - require.NoError(t, err) - t.Cleanup(func() { os.RemoveAll(tempDir) }) + tempDir := t.TempDir() keyWasm := sdk.NewKVStoreKey(types.StoreKey) keyAcc := sdk.NewKVStoreKey(authtypes.StoreKey) @@ -154,7 +152,7 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc Height: 1234567, Time: time.Date(2020, time.April, 22, 12, 0, 0, 0, time.UTC), }, isCheckTx, log.NewNopLogger()) - encodingConfig := MakeEncodingConfig() + encodingConfig := MakeEncodingConfig(t) appCodec, legacyAmino := encodingConfig.Marshaler, encodingConfig.Amino paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, keyParams, tkeyParams) @@ -216,7 +214,7 @@ func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, enc // set some funds ot pay out validatores, based on code from: // https://github.com/cosmos/cosmos-sdk/blob/fea231556aee4d549d7551a6190389c4328194eb/x/distribution/keeper/keeper_test.go#L50-L57 distrAcc := distKeeper.GetDistributionAccount(ctx) - err = bankKeeper.SetBalances(ctx, distrAcc.GetAddress(), sdk.NewCoins( + err := bankKeeper.SetBalances(ctx, distrAcc.GetAddress(), sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(2000000)), )) require.NoError(t, err)