From eb51a6f84b41c3aa672e872608f28b4998400898 Mon Sep 17 00:00:00 2001 From: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Date: Wed, 10 Apr 2019 14:10:44 +0200 Subject: [PATCH] remove duplicated account check and test (#4068) --- .../3426-remove-redundant-account-check | 1 + cmd/gaia/cli_test/cli_test.go | 11 ++++++++ x/bank/client/cli/sendtx.go | 11 -------- x/gov/client/cli/tx.go | 25 ++----------------- 4 files changed, 14 insertions(+), 34 deletions(-) create mode 100644 .pending/improvements/gaiacli/3426-remove-redundant-account-check diff --git a/.pending/improvements/gaiacli/3426-remove-redundant-account-check b/.pending/improvements/gaiacli/3426-remove-redundant-account-check new file mode 100644 index 0000000000..adf96e7675 --- /dev/null +++ b/.pending/improvements/gaiacli/3426-remove-redundant-account-check @@ -0,0 +1 @@ +#4068 Remove redundant account check on `gaiacli` diff --git a/cmd/gaia/cli_test/cli_test.go b/cmd/gaia/cli_test/cli_test.go index a245e9e515..1aa52816b7 100644 --- a/cmd/gaia/cli_test/cli_test.go +++ b/cmd/gaia/cli_test/cli_test.go @@ -224,6 +224,17 @@ func TestGaiaCLISend(t *testing.T) { success, _, _ := f.TxSend(keyFoo, barAddr, sdk.NewCoin(denom, sendTokens), "--dry-run") require.True(t, success) + // Test --generate-only + success, stdout, stderr := f.TxSend( + fooAddr.String(), barAddr, sdk.NewCoin(denom, sendTokens), "--generate-only=true", + ) + require.Empty(t, stderr) + require.True(t, success) + msg := unmarshalStdTx(f.T, stdout) + require.NotZero(t, msg.Fee.Gas) + require.Len(t, msg.Msgs, 1) + require.Len(t, msg.GetSignatures(), 0) + // Check state didn't change fooAcc = f.QueryAccount(fooAddr) require.Equal(t, startTokens.Sub(sendTokens), fooAcc.GetCoins().AmountOf(denom)) diff --git a/x/bank/client/cli/sendtx.go b/x/bank/client/cli/sendtx.go index 2f1d45b95a..bfdebb3cda 100644 --- a/x/bank/client/cli/sendtx.go +++ b/x/bank/client/cli/sendtx.go @@ -1,8 +1,6 @@ package cli import ( - "fmt" - "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/context" "github.com/cosmos/cosmos-sdk/client/utils" @@ -47,15 +45,6 @@ func SendTxCmd(cdc *codec.Codec) *cobra.Command { } from := cliCtx.GetFromAddress() - account, err := cliCtx.GetAccount(from) - if err != nil { - return err - } - - // ensure account has enough coins - if !account.GetCoins().IsAllGTE(coins) { - return fmt.Errorf("address %s doesn't have enough coins to pay for this transaction", from) - } // build and sign the transaction, then broadcast to Tendermint msg := bank.NewMsgSend(from, to, coins) diff --git a/x/gov/client/cli/tx.go b/x/gov/client/cli/tx.go index 836c799b0d..b8b4587c3a 100644 --- a/x/gov/client/cli/tx.go +++ b/x/gov/client/cli/tx.go @@ -79,26 +79,15 @@ $ gaiacli gov submit-proposal --title="Test Proposal" --description="My awesome WithCodec(cdc). WithAccountDecoder(cdc) - // Get from address + // Get proposer address from := cliCtx.GetFromAddress() - // Pull associated account - account, err := cliCtx.GetAccount(from) - if err != nil { - return err - } - // Find deposit amount amount, err := sdk.ParseCoins(proposal.Deposit) if err != nil { return err } - // ensure account has enough coins - if !account.GetCoins().IsAllGTE(amount) { - return fmt.Errorf("address %s doesn't have enough coins to pay for this transaction", from) - } - proposalType, err := gov.ProposalTypeFromString(proposal.Type) if err != nil { return err @@ -152,25 +141,15 @@ $ gaiacli tx gov deposit 1 10stake --from mykey return fmt.Errorf("Failed to fetch proposal-id %d: %s", proposalID, err) } + // Get depositor address from := cliCtx.GetFromAddress() - // Fetch associated account - account, err := cliCtx.GetAccount(from) - if err != nil { - return err - } - // Get amount of coins amount, err := sdk.ParseCoins(args[1]) if err != nil { return err } - // ensure account has enough coins - if !account.GetCoins().IsAllGTE(amount) { - return fmt.Errorf("address %s doesn't have enough coins to pay for this transaction", from) - } - msg := gov.NewMsgDeposit(from, proposalID, amount) err = msg.ValidateBasic() if err != nil {