Skip to content

Commit c27e184

Browse files
fdymyljajgimeno
andauthored
[Bank refactor]: finalize removal of setbalances from auth (#8527)
* add tests with is check tx * temp commit * fix test * fix other test and remove setbalances * change(auth): remove usage of SetBalances is vesting tests Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
1 parent 8494b9e commit c27e184

File tree

4 files changed

+38
-17
lines changed

4 files changed

+38
-17
lines changed

x/auth/ante/ante_test.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import (
77
"strings"
88
"testing"
99

10+
"github.com/cosmos/cosmos-sdk/simapp"
11+
12+
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
13+
1014
"github.com/stretchr/testify/require"
1115

1216
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
@@ -23,7 +27,7 @@ import (
2327

2428
// Test that simulate transaction accurately estimates gas cost
2529
func (suite *AnteTestSuite) TestSimulateGasCost() {
26-
suite.SetupTest(true) // reset
30+
suite.SetupTest(false) // reset
2731

2832
// Same data for every test cases
2933
accounts := suite.CreateTestAccounts(3)
@@ -76,7 +80,7 @@ func (suite *AnteTestSuite) TestSimulateGasCost() {
7680

7781
// Test various error cases in the AnteHandler control flow.
7882
func (suite *AnteTestSuite) TestAnteHandlerSigErrors() {
79-
suite.SetupTest(true) // reset
83+
suite.SetupTest(false) // reset
8084

8185
// Same data for every test cases
8286
priv0, _, addr0 := testdata.KeyTestPubAddr()
@@ -137,7 +141,9 @@ func (suite *AnteTestSuite) TestAnteHandlerSigErrors() {
137141
func() {
138142
acc1 := suite.app.AccountKeeper.NewAccountWithAddress(suite.ctx, addr0)
139143
suite.app.AccountKeeper.SetAccount(suite.ctx, acc1)
140-
err := suite.app.BankKeeper.SetBalances(suite.ctx, addr0, feeAmount) // TODO(fdymylja): IDK
144+
err := suite.app.BankKeeper.MintCoins(suite.ctx, minttypes.ModuleName, feeAmount)
145+
suite.Require().NoError(err)
146+
err = suite.app.BankKeeper.SendCoinsFromModuleToAccount(suite.ctx, minttypes.ModuleName, addr0, feeAmount)
141147
suite.Require().NoError(err)
142148
},
143149
false,
@@ -435,7 +441,7 @@ func (suite *AnteTestSuite) TestAnteHandlerSequences() {
435441

436442
// Test logic around fee deduction.
437443
func (suite *AnteTestSuite) TestAnteHandlerFees() {
438-
suite.SetupTest(true) // setup
444+
suite.SetupTest(false) // setup
439445

440446
// Same data for every test cases
441447
priv0, _, addr0 := testdata.KeyTestPubAddr()
@@ -466,7 +472,8 @@ func (suite *AnteTestSuite) TestAnteHandlerFees() {
466472
{
467473
"signer does not have enough funds to pay the fee",
468474
func() {
469-
suite.app.BankKeeper.SetBalances(suite.ctx, addr0, sdk.NewCoins(sdk.NewInt64Coin("atom", 149))) // TODO(fdymylja): IDK
475+
err := simapp.FundAccount(suite.app, suite.ctx, addr0, sdk.NewCoins(sdk.NewInt64Coin("atom", 149)))
476+
suite.Require().NoError(err)
470477
},
471478
false,
472479
false,
@@ -475,12 +482,14 @@ func (suite *AnteTestSuite) TestAnteHandlerFees() {
475482
{
476483
"signer as enough funds, should pass",
477484
func() {
485+
accNums = []uint64{7}
478486
modAcc := suite.app.AccountKeeper.GetModuleAccount(suite.ctx, types.FeeCollectorName)
479487

480488
suite.Require().True(suite.app.BankKeeper.GetAllBalances(suite.ctx, modAcc.GetAddress()).Empty())
481489
require.True(sdk.IntEq(suite.T(), suite.app.BankKeeper.GetAllBalances(suite.ctx, addr0).AmountOf("atom"), sdk.NewInt(149)))
482490

483-
suite.app.BankKeeper.SetBalances(suite.ctx, addr0, sdk.NewCoins(sdk.NewInt64Coin("atom", 150))) // TODO(fdymylja): IDK
491+
err := simapp.FundAccount(suite.app, suite.ctx, addr0, sdk.NewCoins(sdk.NewInt64Coin("atom", 1)))
492+
suite.Require().NoError(err)
484493
},
485494
false,
486495
true,
@@ -960,7 +969,7 @@ func TestCountSubkeys(t *testing.T) {
960969
}
961970

962971
func (suite *AnteTestSuite) TestAnteHandlerSigLimitExceeded() {
963-
suite.SetupTest(true) // setup
972+
suite.SetupTest(false) // setup
964973

965974
// Same data for every test cases
966975
accounts := suite.CreateTestAccounts(8)
@@ -997,7 +1006,7 @@ func (suite *AnteTestSuite) TestAnteHandlerSigLimitExceeded() {
9971006

9981007
// Test custom SignatureVerificationGasConsumer
9991008
func (suite *AnteTestSuite) TestCustomSignatureVerificationGasConsumer() {
1000-
suite.SetupTest(true) // setup
1009+
suite.SetupTest(false) // setup
10011010

10021011
// setup an ante handler that only accepts PubKeyEd25519
10031012
suite.anteHandler = ante.NewAnteHandler(suite.app.AccountKeeper, suite.app.BankKeeper, func(meter sdk.GasMeter, sig signing.SignatureV2, params types.Params) error {
@@ -1047,7 +1056,7 @@ func (suite *AnteTestSuite) TestCustomSignatureVerificationGasConsumer() {
10471056
}
10481057

10491058
func (suite *AnteTestSuite) TestAnteHandlerReCheck() {
1050-
suite.SetupTest(true) // setup
1059+
suite.SetupTest(false) // setup
10511060
// Set recheck=true
10521061
suite.ctx = suite.ctx.WithIsReCheckTx(true)
10531062
suite.txBuilder = suite.clientCtx.TxConfig.NewTxBuilder()
@@ -1120,7 +1129,9 @@ func (suite *AnteTestSuite) TestAnteHandlerReCheck() {
11201129

11211130
// remove funds for account so antehandler fails on recheck
11221131
suite.app.AccountKeeper.SetAccount(suite.ctx, accounts[0].acc)
1123-
suite.app.BankKeeper.SetBalances(suite.ctx, accounts[0].acc.GetAddress(), sdk.NewCoins()) // TODO(fdymylja): IDK
1132+
balances := suite.app.BankKeeper.GetAllBalances(suite.ctx, accounts[0].acc.GetAddress())
1133+
err = suite.app.BankKeeper.SendCoinsFromAccountToModule(suite.ctx, accounts[0].acc.GetAddress(), minttypes.ModuleName, balances)
1134+
suite.Require().NoError(err)
11241135

11251136
_, err = suite.anteHandler(suite.ctx, tx, false)
11261137
suite.Require().NotNil(err, "antehandler on recheck did not fail once feePayer no longer has sufficient funds")

x/auth/ante/fee_test.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package ante_test
22

33
import (
44
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
5+
"github.com/cosmos/cosmos-sdk/simapp"
56
"github.com/cosmos/cosmos-sdk/testutil/testdata"
6-
77
sdk "github.com/cosmos/cosmos-sdk/types"
88
"github.com/cosmos/cosmos-sdk/x/auth/ante"
99
)
@@ -61,7 +61,7 @@ func (suite *AnteTestSuite) TestEnsureMempoolFees() {
6161
}
6262

6363
func (suite *AnteTestSuite) TestDeductFees() {
64-
suite.SetupTest(true) // setup
64+
suite.SetupTest(false) // setup
6565
suite.txBuilder = suite.clientCtx.TxConfig.NewTxBuilder()
6666

6767
// keys and addresses
@@ -82,7 +82,9 @@ func (suite *AnteTestSuite) TestDeductFees() {
8282
// Set account with insufficient funds
8383
acc := suite.app.AccountKeeper.NewAccountWithAddress(suite.ctx, addr1)
8484
suite.app.AccountKeeper.SetAccount(suite.ctx, acc)
85-
suite.app.BankKeeper.SetBalances(suite.ctx, addr1, sdk.NewCoins(sdk.NewCoin("atom", sdk.NewInt(10)))) // TODO(fdymylja): IDK
85+
coins := sdk.NewCoins(sdk.NewCoin("atom", sdk.NewInt(10)))
86+
err = simapp.FundAccount(suite.app, suite.ctx, addr1, coins)
87+
suite.Require().NoError(err)
8688

8789
dfd := ante.NewDeductFeeDecorator(suite.app.AccountKeeper, suite.app.BankKeeper)
8890
antehandler := sdk.ChainAnteDecorators(dfd)
@@ -93,7 +95,8 @@ func (suite *AnteTestSuite) TestDeductFees() {
9395

9496
// Set account with sufficient funds
9597
suite.app.AccountKeeper.SetAccount(suite.ctx, acc)
96-
suite.app.BankKeeper.SetBalances(suite.ctx, addr1, sdk.NewCoins(sdk.NewCoin("atom", sdk.NewInt(200))))
98+
err = simapp.FundAccount(suite.app, suite.ctx, addr1, sdk.NewCoins(sdk.NewCoin("atom", sdk.NewInt(200))))
99+
suite.Require().NoError(err)
97100

98101
_, err = antehandler(suite.ctx, tx, false)
99102

x/auth/ante/testutil_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"fmt"
66
"testing"
77

8+
minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
9+
810
"github.com/stretchr/testify/suite"
911
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
1012

@@ -75,9 +77,14 @@ func (suite *AnteTestSuite) CreateTestAccounts(numAccs int) []TestAccount {
7577
err := acc.SetAccountNumber(uint64(i))
7678
suite.Require().NoError(err)
7779
suite.app.AccountKeeper.SetAccount(suite.ctx, acc)
78-
suite.app.BankKeeper.SetBalances(suite.ctx, addr, sdk.Coins{
80+
someCoins := sdk.Coins{
7981
sdk.NewInt64Coin("atom", 10000000),
80-
}) // TODO(fdymylja): IDK
82+
}
83+
err = suite.app.BankKeeper.MintCoins(suite.ctx, minttypes.ModuleName, someCoins)
84+
suite.Require().NoError(err)
85+
86+
err = suite.app.BankKeeper.SendCoinsFromModuleToAccount(suite.ctx, minttypes.ModuleName, addr, someCoins)
87+
suite.Require().NoError(err)
8188

8289
accounts = append(accounts, TestAccount{acc, priv})
8390
}

x/auth/vesting/handler_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (suite *HandlerTestSuite) TestMsgCreateVestingAccount() {
3737

3838
acc1 := suite.app.AccountKeeper.NewAccountWithAddress(ctx, addr1)
3939
suite.app.AccountKeeper.SetAccount(ctx, acc1)
40-
suite.Require().NoError(suite.app.BankKeeper.SetBalances(ctx, addr1, balances))
40+
suite.Require().NoError(simapp.FundAccount(suite.app, ctx, addr1, balances))
4141

4242
testCases := []struct {
4343
name string

0 commit comments

Comments
 (0)