diff --git a/app/app_test/test_helpers.go b/app/app_test/test_helpers.go index dddc0248..8cbc4aca 100644 --- a/app/app_test/test_helpers.go +++ b/app/app_test/test_helpers.go @@ -6,9 +6,6 @@ import ( "os" "time" - "reflect" - "unsafe" - "github.com/CosmWasm/wasmd/x/wasm" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" dbm "github.com/cometbft/cometbft-db" @@ -29,9 +26,10 @@ import ( "github.com/stretchr/testify/suite" "github.com/terra-money/core/v2/app" terra_app "github.com/terra-money/core/v2/app" + "github.com/terra-money/core/v2/app/config" appparams "github.com/terra-money/core/v2/app/params" - terrraParams "github.com/terra-money/core/v2/app/params" "github.com/terra-money/core/v2/app/wasmconfig" + feesharetypes "github.com/terra-money/core/v2/x/feeshare/types" tokenfactorytypes "github.com/terra-money/core/v2/x/tokenfactory/types" ) @@ -47,10 +45,9 @@ type AppTestSuite struct { // Setup sets up basic environment for suite (App, Ctx, and test accounts) func (s *AppTestSuite) Setup() { appparams.RegisterAddressesConfig() - baseTestAccts := CreateRandomAccounts(3) encCfg := terra_app.MakeEncodingConfig() genesisState := app.NewDefaultGenesisState(encCfg.Marshaler) - genesisState.ConfigureBondDenom(encCfg.Marshaler, "uluna") + genesisState.ConfigureBondDenom(encCfg.Marshaler, config.BondDenom) genesisState.ConfigureICA(encCfg.Marshaler) db := dbm.NewMemDB() @@ -67,8 +64,6 @@ func (s *AppTestSuite) Setup() { wasmconfig.DefaultConfig(), ) - s.TestAccs = []sdk.AccAddress{} - s.TestAccs = append(s.TestAccs, baseTestAccts...) s.Ctx = s.App.NewContext(true, tmproto.Header{Height: 1, Time: time.Now()}) s.QueryHelper = &baseapp.QueryServiceTestHelper{ GRPCQueryRouter: s.App.GRPCQueryRouter(), @@ -76,12 +71,19 @@ func (s *AppTestSuite) Setup() { } err := s.App.BankKeeper.SetParams(s.Ctx, banktypes.NewParams(true)) s.Require().NoError(err) + err = s.App.WasmKeeper.SetParams(s.Ctx, wasmtypes.DefaultParams()) s.Require().NoError(err) + err = s.App.FeeShareKeeper.SetParams(s.Ctx, feesharetypes.DefaultParams()) + s.Require().NoError(err) + err = s.App.TokenFactoryKeeper.SetParams(s.Ctx, tokenfactorytypes.DefaultParams()) s.Require().NoError(err) + s.App.DistrKeeper.SetFeePool(s.Ctx, distrtypes.InitialFeePool()) + + s.TestAccs = s.CreateRandomAccounts(3) } func (s *AppTestSuite) AssertEventEmitted(ctx sdk.Context, eventTypeExpected string, numEventsExpected int) { @@ -97,11 +99,14 @@ func (s *AppTestSuite) AssertEventEmitted(ctx sdk.Context, eventTypeExpected str } // CreateRandomAccounts is a function return a list of randomly generated AccAddresses -func CreateRandomAccounts(numAccts int) []sdk.AccAddress { +func (s *AppTestSuite) CreateRandomAccounts(numAccts int) []sdk.AccAddress { testAddrs := make([]sdk.AccAddress, numAccts) for i := 0; i < numAccts; i++ { pk := ed25519.GenPrivKey().PubKey() testAddrs[i] = sdk.AccAddress(pk.Address()) + + err := s.FundAcc(testAddrs[i], sdk.NewCoins(sdk.NewInt64Coin("uluna", 100000000))) + s.Require().NoError(err) } return testAddrs @@ -122,7 +127,7 @@ func SetupGenesisValSet( genAccs []authtypes.GenesisAccount, opts []wasm.Option, app *terra_app.TerraApp, - encCfg terrraParams.EncodingConfig, + encCfg appparams.EncodingConfig, balances ...banktypes.Balance, ) terra_app.GenesisState { genesisState := terra_app.NewDefaultGenesisState(encCfg.Marshaler) @@ -184,51 +189,3 @@ func SetupGenesisValSet( return genesisState } - -var ( - coinType = reflect.TypeOf(sdk.Coin{}) - coinsType = reflect.TypeOf(sdk.Coins{}) -) - -// Fill analyze all struct fields and slices with -// reflection and initialize the nil and empty slices, -// structs, and pointers. -func Fill(x interface{}) interface{} { - v := reflect.Indirect(reflect.ValueOf(x)) - switch v.Kind() { - case reflect.Slice: - for i := 0; i < v.Len(); i++ { - obj := v.Index(i) - objPt := reflect.NewAt(obj.Type(), unsafe.Pointer(obj.UnsafeAddr())).Interface() - objPt = Fill(objPt) - obj.Set(reflect.ValueOf(objPt)) - } - case reflect.Struct: - for i := 0; i < v.NumField(); i++ { - f := reflect.Indirect(v.Field(i)) - if !f.CanSet() { - continue - } - switch f.Kind() { - case reflect.Slice: - f.Set(reflect.MakeSlice(f.Type(), 0, 0)) - case reflect.Struct: - switch f.Type() { - case coinType: - coin := reflect.New(coinType).Interface() - s := reflect.ValueOf(coin).Elem() - f.Set(s) - case coinsType: - coins := reflect.New(coinsType).Interface() - s := reflect.ValueOf(coins).Elem() - f.Set(s) - default: - objPt := reflect.NewAt(f.Type(), unsafe.Pointer(f.UnsafeAddr())).Interface() - s := Fill(objPt) - f.Set(reflect.ValueOf(s)) - } - } - } - } - return reflect.Indirect(v).Interface() -} diff --git a/x/feeshare/genesis.go b/x/feeshare/keeper/genesis.go similarity index 81% rename from x/feeshare/genesis.go rename to x/feeshare/keeper/genesis.go index c6da4eac..2ba5e12d 100644 --- a/x/feeshare/genesis.go +++ b/x/feeshare/keeper/genesis.go @@ -1,16 +1,14 @@ -package feeshare +package keeper import ( sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/terra-money/core/v2/x/feeshare/keeper" "github.com/terra-money/core/v2/x/feeshare/types" ) // InitGenesis import module genesis -func InitGenesis( +func (k Keeper) InitGenesis( ctx sdk.Context, - k keeper.Keeper, data types.GenesisState, ) { if err := k.SetParams(ctx, data.Params); err != nil { @@ -33,7 +31,7 @@ func InitGenesis( } // ExportGenesis export module state -func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { +func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState { return &types.GenesisState{ Params: k.GetParams(ctx), FeeShare: k.GetFeeShares(ctx), diff --git a/x/feeshare/genesis_test.go b/x/feeshare/keeper/genesis_test.go similarity index 90% rename from x/feeshare/genesis_test.go rename to x/feeshare/keeper/genesis_test.go index 858bc13b..bd750d5f 100644 --- a/x/feeshare/genesis_test.go +++ b/x/feeshare/keeper/genesis_test.go @@ -1,4 +1,4 @@ -package feeshare_test +package keeper_test import ( "fmt" @@ -9,7 +9,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" app_test "github.com/terra-money/core/v2/app/app_test" - "github.com/terra-money/core/v2/x/feeshare" "github.com/terra-money/core/v2/x/feeshare/types" ) @@ -86,11 +85,11 @@ func (suite *GenesisTestSuite) TestFeeShareInitGenesis() { if tc.expPanic { suite.Require().Panics(func() { - feeshare.InitGenesis(suite.Ctx, suite.App.FeeShareKeeper, tc.genesis) + suite.App.FeeShareKeeper.InitGenesis(suite.Ctx, tc.genesis) }) } else { suite.Require().NotPanics(func() { - feeshare.InitGenesis(suite.Ctx, suite.App.FeeShareKeeper, tc.genesis) + suite.App.FeeShareKeeper.InitGenesis(suite.Ctx, tc.genesis) }) params := suite.App.FeeShareKeeper.GetParams(suite.Ctx) diff --git a/x/feeshare/keeper/grpc_query_test.go b/x/feeshare/keeper/grpc_query_test.go index 3ca458f4..f995e01c 100644 --- a/x/feeshare/keeper/grpc_query_test.go +++ b/x/feeshare/keeper/grpc_query_test.go @@ -1,19 +1,15 @@ package keeper_test import ( - "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/query" - app "github.com/terra-money/core/v2/app/app_test" "github.com/terra-money/core/v2/x/feeshare/types" ) func (s *IntegrationTestSuite) TestFeeShares() { - s.Setup() - sender := s.AppTestSuite.TestAccs[0] - _ = s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - - _, _, withdrawer := testdata.KeyTestPubAddr() + s.SetupTest() + sender := s.TestAccs[0] + withdrawer := s.TestAccs[1] var contractAddressList []string var index uint64 @@ -26,7 +22,6 @@ func (s *IntegrationTestSuite) TestFeeShares() { // RegsisFeeShare var feeShares []types.FeeShare for _, contractAddress := range contractAddressList { - goCtx := sdk.WrapSDKContext(s.Ctx) msg := &types.MsgRegisterFeeShare{ ContractAddress: contractAddress, DeployerAddress: sender.String(), @@ -41,7 +36,7 @@ func (s *IntegrationTestSuite) TestFeeShares() { feeShares = append(feeShares, feeShare) - _, err := s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, msg) s.Require().NoError(err) } @@ -56,24 +51,24 @@ func (s *IntegrationTestSuite) TestFeeShares() { } } s.Run("ByOffset", func() { - step := 2 goCtx := sdk.WrapSDKContext(s.Ctx) + step := 2 for i := 0; i < len(contractAddressList); i += step { resp, err := s.queryClient.FeeShares(goCtx, request(nil, uint64(i), uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.Feeshare), step) - s.Require().Subset(app.Fill(feeShares), app.Fill(resp.Feeshare)) + s.Require().Subset(feeShares, resp.Feeshare) } }) s.Run("ByKey", func() { + goCtx := sdk.WrapSDKContext(s.Ctx) step := 2 var next []byte - goCtx := sdk.WrapSDKContext(s.Ctx) for i := 0; i < len(contractAddressList); i += step { resp, err := s.queryClient.FeeShares(goCtx, request(next, 0, uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.Feeshare), step) - s.Require().Subset(app.Fill(feeShares), app.Fill(resp.Feeshare)) + s.Require().Subset(feeShares, resp.Feeshare) next = resp.Pagination.NextKey } }) @@ -82,20 +77,16 @@ func (s *IntegrationTestSuite) TestFeeShares() { resp, err := s.queryClient.FeeShares(goCtx, request(nil, 0, 0, true)) s.Require().NoError(err) s.Require().Equal(len(feeShares), int(resp.Pagination.Total)) - s.Require().ElementsMatch(app.Fill(feeShares), app.Fill(resp.Feeshare)) + s.Require().ElementsMatch(feeShares, resp.Feeshare) }) } func (s *IntegrationTestSuite) TestFeeShare() { - s.AppTestSuite.Setup() - sender := s.AppTestSuite.TestAccs[0] - err := s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - s.Require().NoError(err) - - _, _, withdrawer := testdata.KeyTestPubAddr() + s.SetupTest() + sender := s.TestAccs[0] + withdrawer := s.TestAccs[1] contractAddress := s.InstantiateContract(sender.String(), "") - goCtx := sdk.WrapSDKContext(s.Ctx) msg := &types.MsgRegisterFeeShare{ ContractAddress: contractAddress, DeployerAddress: sender.String(), @@ -107,25 +98,21 @@ func (s *IntegrationTestSuite) TestFeeShare() { DeployerAddress: sender.String(), WithdrawerAddress: withdrawer.String(), } - _, err = s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, msg) s.Require().NoError(err) req := &types.QueryFeeShareRequest{ ContractAddress: contractAddress, } - goCtx = sdk.WrapSDKContext(s.Ctx) - resp, err := s.queryClient.FeeShare(goCtx, req) + resp, err := s.queryClient.FeeShare(s.Ctx, req) s.Require().NoError(err) s.Require().Equal(resp.Feeshare, feeShare) } func (s *IntegrationTestSuite) TestDeployerFeeShares() { - s.AppTestSuite.Setup() - sender := s.AppTestSuite.TestAccs[0] - err := s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - s.Require().NoError(err) - - _, _, withdrawer := testdata.KeyTestPubAddr() + s.SetupTest() + sender := s.TestAccs[0] + withdrawer := s.TestAccs[1] var contractAddressList []string var index uint64 @@ -137,14 +124,13 @@ func (s *IntegrationTestSuite) TestDeployerFeeShares() { // RegsisFeeShare for _, contractAddress := range contractAddressList { - goCtx := sdk.WrapSDKContext(s.Ctx) msg := &types.MsgRegisterFeeShare{ ContractAddress: contractAddress, DeployerAddress: sender.String(), WithdrawerAddress: withdrawer.String(), } - _, err := s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, msg) s.Require().NoError(err) } @@ -161,43 +147,36 @@ func (s *IntegrationTestSuite) TestDeployerFeeShares() { } s.Run("ByOffset", func() { step := 2 - goCtx := sdk.WrapSDKContext(s.Ctx) for i := 0; i < len(contractAddressList); i += step { - resp, err := s.queryClient.DeployerFeeShares(goCtx, request(nil, uint64(i), uint64(step), false)) + resp, err := s.queryClient.DeployerFeeShares(s.Ctx, request(nil, uint64(i), uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.ContractAddresses), step) - s.Require().Subset(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().Subset(contractAddressList, resp.ContractAddresses) } }) s.Run("ByKey", func() { step := 2 var next []byte - goCtx := sdk.WrapSDKContext(s.Ctx) for i := 0; i < len(contractAddressList); i += step { - resp, err := s.queryClient.DeployerFeeShares(goCtx, request(next, 0, uint64(step), false)) + resp, err := s.queryClient.DeployerFeeShares(s.Ctx, request(next, 0, uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.ContractAddresses), step) - s.Require().Subset(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().Subset(contractAddressList, resp.ContractAddresses) next = resp.Pagination.NextKey } }) s.Run("Total", func() { - goCtx := sdk.WrapSDKContext(s.Ctx) - resp, err := s.queryClient.DeployerFeeShares(goCtx, request(nil, 0, 0, true)) + resp, err := s.queryClient.DeployerFeeShares(s.Ctx, request(nil, 0, 0, true)) s.Require().NoError(err) s.Require().Equal(len(contractAddressList), int(resp.Pagination.Total)) - s.Require().ElementsMatch(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().ElementsMatch(contractAddressList, resp.ContractAddresses) }) } func (s *IntegrationTestSuite) TestWithdrawerFeeShares() { - s.AppTestSuite.Setup() - - sender := s.AppTestSuite.TestAccs[0] - err := s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - s.Require().NoError(err) - - _, _, withdrawer := testdata.KeyTestPubAddr() + s.SetupTest() + sender := s.TestAccs[0] + withdrawer := s.TestAccs[1] var contractAddressList []string var index uint64 @@ -209,14 +188,13 @@ func (s *IntegrationTestSuite) TestWithdrawerFeeShares() { // RegsisFeeShare for _, contractAddress := range contractAddressList { - goCtx := sdk.WrapSDKContext(s.Ctx) msg := &types.MsgRegisterFeeShare{ ContractAddress: contractAddress, DeployerAddress: sender.String(), WithdrawerAddress: withdrawer.String(), } - _, err := s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, msg) s.Require().NoError(err) } @@ -233,31 +211,28 @@ func (s *IntegrationTestSuite) TestWithdrawerFeeShares() { } s.Run("ByOffset", func() { step := 2 - goCtx := sdk.WrapSDKContext(s.Ctx) for i := 0; i < len(contractAddressList); i += step { - resp, err := s.queryClient.WithdrawerFeeShares(goCtx, request(nil, uint64(i), uint64(step), false)) + resp, err := s.queryClient.WithdrawerFeeShares(s.Ctx, request(nil, uint64(i), uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.ContractAddresses), step) - s.Require().Subset(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().Subset(contractAddressList, resp.ContractAddresses) } }) s.Run("ByKey", func() { step := 2 var next []byte - goCtx := sdk.WrapSDKContext(s.Ctx) for i := 0; i < len(contractAddressList); i += step { - resp, err := s.queryClient.WithdrawerFeeShares(goCtx, request(next, 0, uint64(step), false)) + resp, err := s.queryClient.WithdrawerFeeShares(s.Ctx, request(next, 0, uint64(step), false)) s.Require().NoError(err) s.Require().LessOrEqual(len(resp.ContractAddresses), step) - s.Require().Subset(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().Subset(contractAddressList, resp.ContractAddresses) next = resp.Pagination.NextKey } }) s.Run("Total", func() { - goCtx := sdk.WrapSDKContext(s.Ctx) - resp, err := s.queryClient.WithdrawerFeeShares(goCtx, request(nil, 0, 0, true)) + resp, err := s.queryClient.WithdrawerFeeShares(s.Ctx, request(nil, 0, 0, true)) s.Require().NoError(err) s.Require().Equal(len(contractAddressList), int(resp.Pagination.Total)) - s.Require().ElementsMatch(app.Fill(contractAddressList), app.Fill(resp.ContractAddresses)) + s.Require().ElementsMatch(contractAddressList, resp.ContractAddresses) }) } diff --git a/x/feeshare/keeper/keeper_test.go b/x/feeshare/keeper/keeper_test.go index d4328860..445f60a4 100644 --- a/x/feeshare/keeper/keeper_test.go +++ b/x/feeshare/keeper/keeper_test.go @@ -3,16 +3,11 @@ package keeper_test import ( "testing" - wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" "github.com/stretchr/testify/suite" - "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" - minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" app "github.com/terra-money/core/v2/app/app_test" - "github.com/terra-money/core/v2/x/feeshare/keeper" "github.com/terra-money/core/v2/x/feeshare/types" ) @@ -28,32 +23,13 @@ type BankKeeper interface { type IntegrationTestSuite struct { app.AppTestSuite - bankKeeper BankKeeper - accountKeeper types.AccountKeeper - queryClient types.QueryClient - feeShareMsgServer types.MsgServer - wasmMsgServer wasmtypes.MsgServer + queryClient types.QueryClient } func (s *IntegrationTestSuite) SetupTest() { s.Setup() - queryHelper := baseapp.NewQueryServerTestHelper(s.Ctx, s.App.InterfaceRegistry()) - types.RegisterQueryServer(queryHelper, keeper.NewQuerier(s.App.FeeShareKeeper)) - - s.queryClient = types.NewQueryClient(queryHelper) - s.bankKeeper = s.App.BankKeeper - s.accountKeeper = s.App.AccountKeeper - s.feeShareMsgServer = s.App.FeeShareKeeper - s.wasmMsgServer = wasmkeeper.NewMsgServerImpl(&s.App.WasmKeeper) -} - -func (s *IntegrationTestSuite) FundAccount(ctx sdk.Context, addr sdk.AccAddress, amounts sdk.Coins) error { - if err := s.bankKeeper.MintCoins(ctx, minttypes.ModuleName, amounts); err != nil { - return err - } - - return s.bankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, addr, amounts) + s.queryClient = types.NewQueryClient(s.QueryHelper) } func TestKeeperTestSuite(t *testing.T) { diff --git a/x/feeshare/keeper/msg_server_test.go b/x/feeshare/keeper/msg_server_test.go index 6d05fe3a..89f9128c 100644 --- a/x/feeshare/keeper/msg_server_test.go +++ b/x/feeshare/keeper/msg_server_test.go @@ -11,6 +11,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/terra-money/core/v2/app/config" "github.com/terra-money/core/v2/x/feeshare/types" ) @@ -18,7 +19,6 @@ import ( var wasmContract []byte func (s *IntegrationTestSuite) StoreCode() { - s.AppTestSuite.Setup() _, _, sender := testdata.KeyTestPubAddr() msg := wasmtypes.MsgStoreCodeFixture(func(m *wasmtypes.MsgStoreCode) { m.WASMByteCode = wasmContract @@ -50,6 +50,7 @@ func (s *IntegrationTestSuite) InstantiateContract(sender string, admin string) msgInstantiate := wasmtypes.MsgInstantiateContractFixture(func(m *wasmtypes.MsgInstantiateContract) { m.Sender = sender m.Admin = admin + m.Funds = sdk.NewCoins(sdk.NewCoin(config.MicroLuna, sdk.NewInt(1))) m.Msg = []byte(`{}`) }) resp, err := s.App.MsgServiceRouter().Handler(msgInstantiate)(s.Ctx, msgInstantiate) @@ -65,10 +66,9 @@ func (s *IntegrationTestSuite) InstantiateContract(sender string, admin string) } func (s *IntegrationTestSuite) TestGetContractAdminOrCreatorAddress() { - _, _, sender := testdata.KeyTestPubAddr() - _, _, admin := testdata.KeyTestPubAddr() - _ = s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - _ = s.FundAccount(s.Ctx, admin, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) + s.Setup() + sender := s.TestAccs[0] + admin := s.TestAccs[1] noAdminContractAddress := s.InstantiateContract(sender.String(), "") withAdminContractAddress := s.InstantiateContract(sender.String(), admin.String()) @@ -112,17 +112,17 @@ func (s *IntegrationTestSuite) TestGetContractAdminOrCreatorAddress() { } func (s *IntegrationTestSuite) TestRegisterFeeShare() { - _, _, sender := testdata.KeyTestPubAddr() - _ = s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) + s.Setup() + sender := s.TestAccs[0] - gov := s.accountKeeper.GetModuleAddress(govtypes.ModuleName).String() + gov := s.App.AccountKeeper.GetModuleAddress(govtypes.ModuleName).String() govContract := s.InstantiateContract(sender.String(), gov) contractAddress := s.InstantiateContract(sender.String(), "") contractAddress2 := s.InstantiateContract(contractAddress, contractAddress) - DAODAO := s.InstantiateContract(sender.String(), "") - subContract := s.InstantiateContract(DAODAO, DAODAO) + contractAddress3 := s.InstantiateContract(sender.String(), "") + subContract := s.InstantiateContract(contractAddress3, contractAddress3) _, _, withdrawer := testdata.KeyTestPubAddr() @@ -213,25 +213,23 @@ func (s *IntegrationTestSuite) TestRegisterFeeShare() { shouldErr: false, }, { - desc: "Success register contract from DAODAO contract as admin", + desc: "Success register contract from contractAddress3 contract as admin", msg: &types.MsgRegisterFeeShare{ ContractAddress: subContract, - DeployerAddress: DAODAO, - WithdrawerAddress: DAODAO, + DeployerAddress: contractAddress3, + WithdrawerAddress: contractAddress3, }, resp: &types.MsgRegisterFeeShareResponse{}, shouldErr: false, }, } { - tc := tc s.Run(tc.desc, func() { - goCtx := sdk.WrapSDKContext(s.Ctx) if !tc.shouldErr { - resp, err := s.feeShareMsgServer.RegisterFeeShare(goCtx, tc.msg) + resp, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, tc.msg) s.Require().NoError(err) s.Require().Equal(resp, tc.resp) } else { - resp, err := s.feeShareMsgServer.RegisterFeeShare(goCtx, tc.msg) + resp, err := s.App.FeeShareKeeper.RegisterFeeShare(s.Ctx, tc.msg) s.Require().Error(err) s.Require().Nil(resp) } @@ -240,9 +238,8 @@ func (s *IntegrationTestSuite) TestRegisterFeeShare() { } func (s *IntegrationTestSuite) TestUpdateFeeShare() { - _, _, sender := testdata.KeyTestPubAddr() - err := s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - s.Require().NoError(err) + s.Setup() + sender := s.TestAccs[0] contractAddress := s.InstantiateContract(sender.String(), "") _, _, withdrawer := testdata.KeyTestPubAddr() @@ -257,7 +254,7 @@ func (s *IntegrationTestSuite) TestUpdateFeeShare() { DeployerAddress: sender.String(), WithdrawerAddress: withdrawer.String(), } - _, err = s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(goCtx, msg) s.Require().NoError(err) _, _, newWithdrawer := testdata.KeyTestPubAddr() s.Require().NotEqual(withdrawer, newWithdrawer) @@ -323,10 +320,10 @@ func (s *IntegrationTestSuite) TestUpdateFeeShare() { s.Run(tc.desc, func() { goCtx := sdk.WrapSDKContext(s.Ctx) if !tc.shouldErr { - _, err := s.feeShareMsgServer.UpdateFeeShare(goCtx, tc.msg) + _, err := s.App.FeeShareKeeper.UpdateFeeShare(goCtx, tc.msg) s.Require().NoError(err) } else { - resp, err := s.feeShareMsgServer.UpdateFeeShare(goCtx, tc.msg) + resp, err := s.App.FeeShareKeeper.UpdateFeeShare(goCtx, tc.msg) s.Require().Error(err) s.Require().Nil(resp) } @@ -336,9 +333,7 @@ func (s *IntegrationTestSuite) TestUpdateFeeShare() { func (s *IntegrationTestSuite) TestCancelFeeShare() { s.AppTestSuite.Setup() - _, _, sender := testdata.KeyTestPubAddr() - err := s.FundAccount(s.Ctx, sender, sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(1_000_000)))) - s.Require().NoError(err) + sender := s.AppTestSuite.TestAccs[0] contractAddress := s.InstantiateContract(sender.String(), "") _, _, withdrawer := testdata.KeyTestPubAddr() @@ -350,7 +345,7 @@ func (s *IntegrationTestSuite) TestCancelFeeShare() { DeployerAddress: sender.String(), WithdrawerAddress: withdrawer.String(), } - _, err = s.feeShareMsgServer.RegisterFeeShare(goCtx, msg) + _, err := s.App.FeeShareKeeper.RegisterFeeShare(goCtx, msg) s.Require().NoError(err) for _, tc := range []struct { @@ -391,11 +386,11 @@ func (s *IntegrationTestSuite) TestCancelFeeShare() { s.Run(tc.desc, func() { goCtx := sdk.WrapSDKContext(s.Ctx) if !tc.shouldErr { - resp, err := s.feeShareMsgServer.CancelFeeShare(goCtx, tc.msg) + resp, err := s.App.FeeShareKeeper.CancelFeeShare(goCtx, tc.msg) s.Require().NoError(err) s.Require().Equal(resp, tc.resp) } else { - resp, err := s.feeShareMsgServer.CancelFeeShare(goCtx, tc.msg) + resp, err := s.App.FeeShareKeeper.CancelFeeShare(goCtx, tc.msg) s.Require().Error(err) s.Require().Equal(resp, tc.resp) } diff --git a/x/feeshare/module.go b/x/feeshare/module.go index 041866a5..6f1d7f6e 100644 --- a/x/feeshare/module.go +++ b/x/feeshare/module.go @@ -170,13 +170,13 @@ func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json. var genesisState types.GenesisState cdc.MustUnmarshalJSON(data, &genesisState) - InitGenesis(ctx, am.keeper, genesisState) + am.keeper.InitGenesis(ctx, genesisState) return []abci.ValidatorUpdate{} } // ExportGenesis returns the fees module's exported genesis state as raw JSON bytes. func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { - gs := ExportGenesis(ctx, am.keeper) + gs := am.keeper.ExportGenesis(ctx) return cdc.MustMarshalJSON(gs) } diff --git a/x/tokenfactory/keeper/keeper_test.go b/x/tokenfactory/keeper/keeper_test.go index 553feaf9..469bb857 100644 --- a/x/tokenfactory/keeper/keeper_test.go +++ b/x/tokenfactory/keeper/keeper_test.go @@ -4,9 +4,7 @@ import ( "testing" "time" - "cosmossdk.io/math" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/suite" wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" @@ -16,7 +14,6 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" app "github.com/terra-money/core/v2/app/app_test" - "github.com/terra-money/core/v2/app/config" "github.com/terra-money/core/v2/x/tokenfactory/keeper" "github.com/terra-money/core/v2/x/tokenfactory/types" ) @@ -36,11 +33,6 @@ func TestKeeperTestSuite(t *testing.T) { func (s *KeeperTestSuite) SetupTest() { s.Setup() - // Fund every TestAcc with two denoms, one of which is the denom creation fee - fundAccsAmount := sdk.NewCoins(sdk.NewCoin(config.BondDenom, math.NewInt(1_000_000_000))) - for _, acc := range s.TestAccs { - s.FundAcc(acc, fundAccsAmount) - } s.contractKeeper = wasmkeeper.NewGovPermissionKeeper(s.App.WasmKeeper) s.queryClient = types.NewQueryClient(s.QueryHelper) s.msgServer = keeper.NewMsgServerImpl(s.App.TokenFactoryKeeper)