From 1c47f79f1630d5f8955ba453cb7700abd8715122 Mon Sep 17 00:00:00 2001 From: Federico Kunze Date: Mon, 8 Apr 2019 13:21:01 +0200 Subject: [PATCH 1/7] rm mandatory account for CLI generate-only --- x/bank/client/cli/sendtx.go | 11 ----------- x/gov/client/cli/tx.go | 25 ++----------------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/x/bank/client/cli/sendtx.go b/x/bank/client/cli/sendtx.go index 2f1d45b95a6a..bfdebb3cdadf 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 836c799b0d03..b8b4587c3ab2 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 { From 0d540a975adeb0bdb3966d44120902e0f828d699 Mon Sep 17 00:00:00 2001 From: Federico Kunze Date: Mon, 8 Apr 2019 13:32:00 +0200 Subject: [PATCH 2/7] add test --- cmd/gaia/cli_test/cli_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/gaia/cli_test/cli_test.go b/cmd/gaia/cli_test/cli_test.go index b71d6c1c2ce3..71a2ab8a26f2 100644 --- a/cmd/gaia/cli_test/cli_test.go +++ b/cmd/gaia/cli_test/cli_test.go @@ -223,6 +223,14 @@ 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(keyFoo, barAddr, sdk.NewCoin(denom, sendTokens), "--generate-only=true") + require.Empty(t, stderr) + msg = unmarshalStdTx(t, stdout) + require.NotZero(t, msg.Fee.Gas) + require.Equal(t, len(msg.Msgs), 1) + require.Equal(t, 0, len(msg.GetSignatures())) + // Check state didn't change fooAcc = f.QueryAccount(fooAddr) require.Equal(t, startTokens.Sub(sendTokens), fooAcc.GetCoins().AmountOf(denom)) From 27b270e063cca9d65b1f278c6fab55158694e193 Mon Sep 17 00:00:00 2001 From: Federico Kunze Date: Mon, 8 Apr 2019 17:08:16 +0200 Subject: [PATCH 3/7] cha cha cha --- .../improvements/gaiacli/3426-remove-redundant-account-check | 1 + 1 file changed, 1 insertion(+) 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 000000000000..9d03bd82eb09 --- /dev/null +++ b/.pending/improvements/gaiacli/3426-remove-redundant-account-check @@ -0,0 +1 @@ +#3426 Remove redundant account check on `gaiacli` \ No newline at end of file From 6514bd40a53a2fdf389c892380219c88f36e1a1b Mon Sep 17 00:00:00 2001 From: Federico Kunze Date: Mon, 8 Apr 2019 17:26:36 +0200 Subject: [PATCH 4/7] minor fix --- cmd/gaia/cli_test/cli_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/gaia/cli_test/cli_test.go b/cmd/gaia/cli_test/cli_test.go index 71a2ab8a26f2..f28af36fd1e1 100644 --- a/cmd/gaia/cli_test/cli_test.go +++ b/cmd/gaia/cli_test/cli_test.go @@ -226,7 +226,7 @@ func TestGaiaCLISend(t *testing.T) { // Test --generate-only success, stdout, stderr := f.TxSend(keyFoo, barAddr, sdk.NewCoin(denom, sendTokens), "--generate-only=true") require.Empty(t, stderr) - msg = unmarshalStdTx(t, stdout) + msg := unmarshalStdTx(t, stdout) require.NotZero(t, msg.Fee.Gas) require.Equal(t, len(msg.Msgs), 1) require.Equal(t, 0, len(msg.GetSignatures())) From 0c35d1f4a3a85d95cedde6ca304d2f20798572d9 Mon Sep 17 00:00:00 2001 From: Federico Kunze Date: Mon, 8 Apr 2019 18:45:41 +0200 Subject: [PATCH 5/7] add test --- cmd/gaia/cli_test/cli_test.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/gaia/cli_test/cli_test.go b/cmd/gaia/cli_test/cli_test.go index f28af36fd1e1..66373808895d 100644 --- a/cmd/gaia/cli_test/cli_test.go +++ b/cmd/gaia/cli_test/cli_test.go @@ -224,12 +224,15 @@ func TestGaiaCLISend(t *testing.T) { require.True(t, success) // Test --generate-only - success, stdout, stderr := f.TxSend(keyFoo, barAddr, sdk.NewCoin(denom, sendTokens), "--generate-only=true") + success, stdout, stderr := f.TxSend( + fooAddr.String(), barAddr, sdk.NewCoin(denom, sendTokens), "--generate-only=true", + ) require.Empty(t, stderr) - msg := unmarshalStdTx(t, stdout) + require.True(t, success) + msg := unmarshalStdTx(f.T, stdout) require.NotZero(t, msg.Fee.Gas) - require.Equal(t, len(msg.Msgs), 1) - require.Equal(t, 0, len(msg.GetSignatures())) + require.Len(t, msg.Msgs, 1) + require.Len(t, msg.GetSignatures(), 0) // Check state didn't change fooAcc = f.QueryAccount(fooAddr) From df003b4eb548db9981fbc41b564673c79885a700 Mon Sep 17 00:00:00 2001 From: Alexander Bezobchuk Date: Tue, 9 Apr 2019 08:41:59 -0400 Subject: [PATCH 6/7] Update 3426-remove-redundant-account-check --- .../improvements/gaiacli/3426-remove-redundant-account-check | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pending/improvements/gaiacli/3426-remove-redundant-account-check b/.pending/improvements/gaiacli/3426-remove-redundant-account-check index 9d03bd82eb09..317c9d0ae603 100644 --- a/.pending/improvements/gaiacli/3426-remove-redundant-account-check +++ b/.pending/improvements/gaiacli/3426-remove-redundant-account-check @@ -1 +1 @@ -#3426 Remove redundant account check on `gaiacli` \ No newline at end of file +Remove redundant account check on `gaiacli` From 881b4d6bc3e1eb6d9ce5570e0868b68e13ae9d3e Mon Sep 17 00:00:00 2001 From: Alessio Treglia Date: Tue, 9 Apr 2019 15:00:35 +0200 Subject: [PATCH 7/7] Update .pending/improvements/gaiacli/3426-remove-redundant-account-check Co-Authored-By: fedekunze <31522760+fedekunze@users.noreply.github.com> --- .../improvements/gaiacli/3426-remove-redundant-account-check | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pending/improvements/gaiacli/3426-remove-redundant-account-check b/.pending/improvements/gaiacli/3426-remove-redundant-account-check index 317c9d0ae603..adf96e76757f 100644 --- a/.pending/improvements/gaiacli/3426-remove-redundant-account-check +++ b/.pending/improvements/gaiacli/3426-remove-redundant-account-check @@ -1 +1 @@ -Remove redundant account check on `gaiacli` +#4068 Remove redundant account check on `gaiacli`