From 362733f4aa80f00a94b5e6d3541504e890715e6d Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Sun, 5 Jul 2020 15:46:40 -0400 Subject: [PATCH 1/5] Remove viper --- x/distribution/client/cli/tx.go | 7 ++++--- x/distribution/client/common/common_test.go | 7 ++----- x/evidence/client/cli/query.go | 14 ++++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/x/distribution/client/cli/tx.go b/x/distribution/client/cli/tx.go index eba522998db0..796f34af064d 100644 --- a/x/distribution/client/cli/tx.go +++ b/x/distribution/client/cli/tx.go @@ -6,7 +6,6 @@ import ( "strings" "github.com/spf13/cobra" - "github.com/spf13/viper" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" @@ -105,7 +104,8 @@ $ %s tx distribution withdraw-rewards cosmosvaloper1gghjut3ccd8ay0zduzj64hwre2fx } msgs := []sdk.Msg{types.NewMsgWithdrawDelegatorReward(delAddr, valAddr)} - if viper.GetBool(flagCommission) { + + if commission, _ := cmd.Flags().GetBool(flagCommission); commission { msgs = append(msgs, types.NewMsgWithdrawValidatorCommission(valAddr)) } @@ -118,6 +118,7 @@ $ %s tx distribution withdraw-rewards cosmosvaloper1gghjut3ccd8ay0zduzj64hwre2fx return tx.GenerateOrBroadcastTx(clientCtx, msgs...) }, } + cmd.Flags().Bool(flagCommission, false, "also withdraw validator's commission") return cmd } @@ -152,7 +153,7 @@ $ %s tx distribution withdraw-all-rewards --from mykey return err } - chunkSize := viper.GetInt(flagMaxMessagesPerTx) + chunkSize, _ := cmd.Flags().GetInt(flagMaxMessagesPerTx) return newSplitAndApply(tx.GenerateOrBroadcastTx, clientCtx, msgs, chunkSize) }, } diff --git a/x/distribution/client/common/common_test.go b/x/distribution/client/common/common_test.go index 8f81ec0f2365..eb606cabb39b 100644 --- a/x/distribution/client/common/common_test.go +++ b/x/distribution/client/common/common_test.go @@ -3,17 +3,14 @@ package common import ( "testing" - "github.com/spf13/viper" "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/x/distribution/types" ) func TestQueryDelegationRewardsAddrValidation(t *testing.T) { - viper.Set(flags.FlagOffline, true) - ctx := client.NewContext().WithJSONMarshaler(types.ModuleCdc) + clientCtx := client.Context{}.WithJSONMarshaler(types.ModuleCdc).WithTrustNode(true) type args struct { delAddr string @@ -35,7 +32,7 @@ func TestQueryDelegationRewardsAddrValidation(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - _, _, err := QueryDelegationRewards(ctx, "", tt.args.delAddr, tt.args.valAddr) + _, _, err := QueryDelegationRewards(clientCtx, "", tt.args.delAddr, tt.args.valAddr) require.True(t, err != nil, tt.wantErr) }) } diff --git a/x/evidence/client/cli/query.go b/x/evidence/client/cli/query.go index b3218b96b552..b8c9ea730ec7 100644 --- a/x/evidence/client/cli/query.go +++ b/x/evidence/client/cli/query.go @@ -6,7 +6,6 @@ import ( "strings" "github.com/spf13/cobra" - "github.com/spf13/viper" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" @@ -58,7 +57,10 @@ func QueryEvidenceCmd(cdc *codec.Codec) func(*cobra.Command, []string) error { return queryEvidence(cdc, clientCtx, hash) } - return queryAllEvidence(cdc, clientCtx) + page, _ := cmd.Flags().GetInt(flags.FlagPage) + limit, _ := cmd.Flags().GetInt(flags.FlagLimit) + + return queryAllEvidence(clientCtx, page, limit) } } @@ -88,9 +90,9 @@ func queryEvidence(cdc *codec.Codec, clientCtx client.Context, hash string) erro return clientCtx.PrintOutput(evidence) } -func queryAllEvidence(cdc *codec.Codec, clientCtx client.Context) error { - params := types.NewQueryAllEvidenceParams(viper.GetInt(flags.FlagPage), viper.GetInt(flags.FlagLimit)) - bz, err := cdc.MarshalJSON(params) +func queryAllEvidence(clientCtx client.Context, page, limit int) error { + params := types.NewQueryAllEvidenceParams(page, limit) + bz, err := clientCtx.JSONMarshaler.MarshalJSON(params) if err != nil { return fmt.Errorf("failed to marshal query params: %w", err) } @@ -102,7 +104,7 @@ func queryAllEvidence(cdc *codec.Codec, clientCtx client.Context) error { } var evidence []exported.Evidence - err = cdc.UnmarshalJSON(res, &evidence) + err = clientCtx.JSONMarshaler.UnmarshalJSON(res, &evidence) if err != nil { return fmt.Errorf("failed to unmarshal evidence: %w", err) } From 9c2cc69b3e2ca2228fddaf2ebfcf6b7af1a9fe59 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Sun, 5 Jul 2020 16:01:09 -0400 Subject: [PATCH 2/5] Remove viper --- x/gov/client/cli/parse.go | 18 +++++++++-------- x/gov/client/cli/parse_test.go | 36 +++++++++++++++++++--------------- x/gov/client/cli/query.go | 15 +++++++------- x/gov/client/cli/tx.go | 2 +- 4 files changed, 38 insertions(+), 33 deletions(-) diff --git a/x/gov/client/cli/parse.go b/x/gov/client/cli/parse.go index dd9415f18d19..6bdfe0463c4d 100644 --- a/x/gov/client/cli/parse.go +++ b/x/gov/client/cli/parse.go @@ -5,25 +5,27 @@ import ( "fmt" "io/ioutil" - "github.com/spf13/viper" + "github.com/spf13/pflag" govutils "github.com/cosmos/cosmos-sdk/x/gov/client/utils" ) -func parseSubmitProposalFlags() (*proposal, error) { +func parseSubmitProposalFlags(fs *pflag.FlagSet) (*proposal, error) { proposal := &proposal{} - proposalFile := viper.GetString(FlagProposal) + proposalFile, _ := fs.GetString(FlagProposal) if proposalFile == "" { - proposal.Title = viper.GetString(FlagTitle) - proposal.Description = viper.GetString(FlagDescription) - proposal.Type = govutils.NormalizeProposalType(viper.GetString(flagProposalType)) - proposal.Deposit = viper.GetString(FlagDeposit) + proposalType, _ := fs.GetString(flagProposalType) + + proposal.Title, _ = fs.GetString(FlagTitle) + proposal.Description, _ = fs.GetString(FlagDescription) + proposal.Type = govutils.NormalizeProposalType(proposalType) + proposal.Deposit, _ = fs.GetString(FlagDeposit) return proposal, nil } for _, flag := range ProposalFlags { - if viper.GetString(flag) != "" { + if v, _ := fs.GetString(flag); v != "" { return nil, fmt.Errorf("--%s flag provided alongside --proposal, which is a noop", flag) } } diff --git a/x/gov/client/cli/parse_test.go b/x/gov/client/cli/parse_test.go index cfd12534abdd..c1e3b108a348 100644 --- a/x/gov/client/cli/parse_test.go +++ b/x/gov/client/cli/parse_test.go @@ -4,8 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/spf13/viper" "github.com/stretchr/testify/require" + + "github.com/cosmos/cosmos-sdk/client" ) func TestParseSubmitProposalFlags(t *testing.T) { @@ -25,19 +26,21 @@ func TestParseSubmitProposalFlags(t *testing.T) { require.Nil(t, err, "unexpected error") badJSON.WriteString("bad json") + fs := NewCmdSubmitProposal(client.Context{}).Flags() + // nonexistent json - viper.Set(FlagProposal, "fileDoesNotExist") - _, err = parseSubmitProposalFlags() + fs.Set(FlagProposal, "fileDoesNotExist") + _, err = parseSubmitProposalFlags(fs) require.Error(t, err) // invalid json - viper.Set(FlagProposal, badJSON.Name()) - _, err = parseSubmitProposalFlags() + fs.Set(FlagProposal, badJSON.Name()) + _, err = parseSubmitProposalFlags(fs) require.Error(t, err) // ok json - viper.Set(FlagProposal, okJSON.Name()) - proposal1, err := parseSubmitProposalFlags() + fs.Set(FlagProposal, okJSON.Name()) + proposal1, err := parseSubmitProposalFlags(fs) require.Nil(t, err, "unexpected error") require.Equal(t, "Test Proposal", proposal1.Title) require.Equal(t, "My awesome proposal", proposal1.Description) @@ -46,19 +49,20 @@ func TestParseSubmitProposalFlags(t *testing.T) { // flags that can't be used with --proposal for _, incompatibleFlag := range ProposalFlags { - viper.Set(incompatibleFlag, "some value") - _, err := parseSubmitProposalFlags() + fs.Set(incompatibleFlag, "some value") + _, err := parseSubmitProposalFlags(fs) require.Error(t, err) - viper.Set(incompatibleFlag, "") + fs.Set(incompatibleFlag, "") } // no --proposal, only flags - viper.Set(FlagProposal, "") - viper.Set(FlagTitle, proposal1.Title) - viper.Set(FlagDescription, proposal1.Description) - viper.Set(flagProposalType, proposal1.Type) - viper.Set(FlagDeposit, proposal1.Deposit) - proposal2, err := parseSubmitProposalFlags() + fs.Set(FlagProposal, "") + fs.Set(FlagTitle, proposal1.Title) + fs.Set(FlagDescription, proposal1.Description) + fs.Set(flagProposalType, proposal1.Type) + fs.Set(FlagDeposit, proposal1.Deposit) + proposal2, err := parseSubmitProposalFlags(fs) + require.Nil(t, err, "unexpected error") require.Equal(t, proposal1.Title, proposal2.Title) require.Equal(t, proposal1.Description, proposal2.Description) diff --git a/x/gov/client/cli/query.go b/x/gov/client/cli/query.go index fd52c0b140b1..a3f5495271c7 100644 --- a/x/gov/client/cli/query.go +++ b/x/gov/client/cli/query.go @@ -6,7 +6,6 @@ import ( "strings" "github.com/spf13/cobra" - "github.com/spf13/viper" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" @@ -99,11 +98,11 @@ $ %s query gov proposals --page=2 --limit=100 ), ), RunE: func(cmd *cobra.Command, args []string) error { - bechDepositorAddr := viper.GetString(flagDepositor) - bechVoterAddr := viper.GetString(flagVoter) - strProposalStatus := viper.GetString(flagStatus) - page := viper.GetInt(flags.FlagPage) - limit := viper.GetInt(flags.FlagLimit) + bechDepositorAddr, _ := cmd.Flags().GetString(flagDepositor) + bechVoterAddr, _ := cmd.Flags().GetString(flagVoter) + strProposalStatus, _ := cmd.Flags().GetString(flagStatus) + page, _ := cmd.Flags().GetInt(flags.FlagPage) + limit, _ := cmd.Flags().GetInt(flags.FlagLimit) var depositorAddr sdk.AccAddress var voterAddr sdk.AccAddress @@ -265,8 +264,8 @@ $ %[1]s query gov votes 1 --page=2 --limit=100 return fmt.Errorf("proposal-id %s not a valid int, please input a valid proposal-id", args[0]) } - page := viper.GetInt(flags.FlagPage) - limit := viper.GetInt(flags.FlagLimit) + page, _ := cmd.Flags().GetInt(flags.FlagPage) + limit, _ := cmd.Flags().GetInt(flags.FlagLimit) params := types.NewQueryProposalVotesParams(proposalID, page, limit) bz, err := cdc.MarshalJSON(params) diff --git a/x/gov/client/cli/tx.go b/x/gov/client/cli/tx.go index 83ab6eecfe1f..80f4370bf41e 100644 --- a/x/gov/client/cli/tx.go +++ b/x/gov/client/cli/tx.go @@ -107,7 +107,7 @@ $ %s tx gov submit-proposal --title="Test Proposal" --description="My awesome pr RunE: func(cmd *cobra.Command, args []string) error { clientCtx := clientCtx.InitWithInput(cmd.InOrStdin()) - proposal, err := parseSubmitProposalFlags() + proposal, err := parseSubmitProposalFlags(cmd.Flags()) if err != nil { return err } From 844a7c3333ba1ec3a9f1263f96a6fb86dbe41444 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Sun, 5 Jul 2020 16:03:43 -0400 Subject: [PATCH 3/5] Remove viper --- x/upgrade/types/storeloader_test.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/x/upgrade/types/storeloader_test.go b/x/upgrade/types/storeloader_test.go index a309386410b6..3280b36e4d05 100644 --- a/x/upgrade/types/storeloader_test.go +++ b/x/upgrade/types/storeloader_test.go @@ -7,14 +7,12 @@ import ( "path/filepath" "testing" - "github.com/spf13/viper" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/libs/log" dbm "github.com/tendermint/tm-db" "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/store/rootmulti" store "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/tests" @@ -70,8 +68,6 @@ func TestSetLoader(t *testing.T) { // set a temporary home dir homeDir, cleanup := tests.NewTestCaseDir(t) t.Cleanup(cleanup) - // TODO cleanup viper - viper.Set(flags.FlagHome, homeDir) upgradeInfoFilePath := filepath.Join(homeDir, "upgrade-info.json") upgradeInfo := &store.UpgradeInfo{ From f767a68ab406a1c5ef6b5b3ca10a84f0ba9e3b50 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Sun, 5 Jul 2020 22:57:16 -0400 Subject: [PATCH 4/5] Skip TestCLIValidateGenesis --- tests/cli/data/cs.wal/wal | Bin 0 -> 2771 bytes tests/cli/simd_test.go | 1 + 2 files changed, 1 insertion(+) create mode 100644 tests/cli/data/cs.wal/wal diff --git a/tests/cli/data/cs.wal/wal b/tests/cli/data/cs.wal/wal new file mode 100644 index 0000000000000000000000000000000000000000..51d577af5dccdbd0843bd9551c83eda9c14b929c GIT binary patch literal 2771 zcmchYdo+}39LMKZnw7QI2YtDZ|DrgQXI=HrX1j z)66QDNn(-Gg)z(;sWsJ#a%6V0sJ0W@&tpD;$5U_Wk$yKJRxh7TrN6ATm8l>NdEW#lqqI*zipsxp;!P*ua#0m;wu+H$tU|y=pM@xk; zUy6|TWsl*nA+OxlVDUdAI0}6EnEF9z8}XETS#<^hZJbfdV*$5lq1L&re$e7gkIg^B3H4(-7dJVC@<+B87c#7P+3i1^88Ussa@VIFSmIy8 z9UA#{w=iahjZ22Hf|PDF(k;6G%L%^7cmW!&i-20OYZb%&j<@*GkWVi&%=C! zhLxoB70lmOu_{NZfu`M3&g5?2m7G}CKkGHtAXI)ZhkUUhrGQ=RU@iWUER+n4) zF6zHIP#`&qzgDkIIA$f$lefKIC~ z(xd~RI{nxARoQ>G3u!JCFP$_%Z4cuvO+P^6_P02s7Y_4E`>QT8zbyggrw9)r0;T=u zW@>2akF}*&WzQ%)V@Y+io!s0z=a9=h6C-Jmm(1DEG48PsHsD1xz00+5MezpR<}kip zfbH{ho+DiS?;EG9vx}Dc-?yyNxtr1L0IMk-rK*;dk)Ai5qqYT4*q>skH#`Z3 zkedm2Oo0JD3XH6zN4Yb?2y>wwAvT(~Z{e^iP_k>SSn%$05q>WaFWg^3_$% Date: Mon, 6 Jul 2020 09:16:26 +0100 Subject: [PATCH 5/5] remove cruft leftover --- tests/cli/data/cs.wal/wal | Bin 2771 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/cli/data/cs.wal/wal diff --git a/tests/cli/data/cs.wal/wal b/tests/cli/data/cs.wal/wal deleted file mode 100644 index 51d577af5dccdbd0843bd9551c83eda9c14b929c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2771 zcmchYdo+}39LMKZnw7QI2YtDZ|DrgQXI=HrX1j z)66QDNn(-Gg)z(;sWsJ#a%6V0sJ0W@&tpD;$5U_Wk$yKJRxh7TrN6ATm8l>NdEW#lqqI*zipsxp;!P*ua#0m;wu+H$tU|y=pM@xk; zUy6|TWsl*nA+OxlVDUdAI0}6EnEF9z8}XETS#<^hZJbfdV*$5lq1L&re$e7gkIg^B3H4(-7dJVC@<+B87c#7P+3i1^88Ussa@VIFSmIy8 z9UA#{w=iahjZ22Hf|PDF(k;6G%L%^7cmW!&i-20OYZb%&j<@*GkWVi&%=C! zhLxoB70lmOu_{NZfu`M3&g5?2m7G}CKkGHtAXI)ZhkUUhrGQ=RU@iWUER+n4) zF6zHIP#`&qzgDkIIA$f$lefKIC~ z(xd~RI{nxARoQ>G3u!JCFP$_%Z4cuvO+P^6_P02s7Y_4E`>QT8zbyggrw9)r0;T=u zW@>2akF}*&WzQ%)V@Y+io!s0z=a9=h6C-Jmm(1DEG48PsHsD1xz00+5MezpR<}kip zfbH{ho+DiS?;EG9vx}Dc-?yyNxtr1L0IMk-rK*;dk)Ai5qqYT4*q>skH#`Z3 zkedm2Oo0JD3XH6zN4Yb?2y>wwAvT(~Z{e^iP_k>SSn%$05q>WaFWg^3_$%