@@ -48,6 +48,29 @@ func (s *GenesisTestSuite) SetupTestWithChainID(chainID testconstants.ChainID) {
4848 })
4949}
5050
51+ func (s * GenesisTestSuite ) adjustModuleBalance (expectedAmt sdkmath.Int ) {
52+ moduleAddr := s .network .App .GetAccountKeeper ().GetModuleAddress (types .ModuleName )
53+ balance := s .network .App .GetBankKeeper ().GetBalance (s .network .GetContext (), moduleAddr , types .IntegerCoinDenom ())
54+
55+ if balance .Amount .GT (expectedAmt ) {
56+ // Burn excess
57+ err := s .network .App .GetBankKeeper ().BurnCoins (
58+ s .network .GetContext (),
59+ types .ModuleName ,
60+ sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), balance .Amount .Sub (expectedAmt ))),
61+ )
62+ s .Require ().NoError (err )
63+ } else if balance .Amount .LT (expectedAmt ) {
64+ // Mint deficit
65+ err := s .network .App .GetBankKeeper ().MintCoins (
66+ s .network .GetContext (),
67+ types .ModuleName ,
68+ sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), expectedAmt .Sub (balance .Amount ))),
69+ )
70+ s .Require ().NoError (err )
71+ }
72+ }
73+
5174func (s * GenesisTestSuite ) TestInitGenesis () {
5275 tests := []struct {
5376 name string
@@ -72,12 +95,7 @@ func (s *GenesisTestSuite) TestInitGenesis() {
7295 func () {
7396 // The network setup creates an initial balance of 1, so we need to mint 1 more
7497 // to get to the expected amount of 2 for this test case
75- err := s .network .App .GetBankKeeper ().MintCoins (
76- s .network .GetContext (),
77- types .ModuleName ,
78- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
79- )
80- s .Require ().NoError (err )
98+ s .adjustModuleBalance (sdkmath .NewInt (2 ))
8199 },
82100 types .NewGenesisState (
83101 types.FractionalBalances {
@@ -107,12 +125,7 @@ func (s *GenesisTestSuite) TestInitGenesis() {
107125 func () {
108126 // The network setup creates an initial balance of 1, so we need to burn that
109127 // to get to 0 balance for this test case
110- err := s .network .App .GetBankKeeper ().BurnCoins (
111- s .network .GetContext (),
112- types .ModuleName ,
113- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
114- )
115- s .Require ().NoError (err )
128+ s .adjustModuleBalance (sdkmath .ZeroInt ())
116129 },
117130 types .NewGenesisState (
118131 types.FractionalBalances {
@@ -130,12 +143,7 @@ func (s *GenesisTestSuite) TestInitGenesis() {
130143 func () {
131144 // The network setup creates an initial balance of 1, so we need to mint 99 more
132145 // to get to 100 total balance for this test case
133- err := s .network .App .GetBankKeeper ().MintCoins (
134- s .network .GetContext (),
135- types .ModuleName ,
136- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (99 ))),
137- )
138- s .Require ().NoError (err )
146+ s .adjustModuleBalance (sdkmath .NewInt (100 ))
139147 },
140148 types .NewGenesisState (
141149 types.FractionalBalances {
@@ -235,19 +243,7 @@ func (s *GenesisTestSuite) TestExportGenesis() {
235243 "balances, no remainder" ,
236244 func () * types.GenesisState {
237245 // Burn the initial balance created by network setup, then mint the expected amount
238- err := s .network .App .GetBankKeeper ().BurnCoins (
239- s .network .GetContext (),
240- types .ModuleName ,
241- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
242- )
243- s .Require ().NoError (err )
244-
245- err = s .network .App .GetBankKeeper ().MintCoins (
246- s .network .GetContext (),
247- types .ModuleName ,
248- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
249- )
250- s .Require ().NoError (err )
246+ s .adjustModuleBalance (sdkmath .NewInt (1 ))
251247
252248 return types .NewGenesisState (
253249 types.FractionalBalances {
@@ -262,19 +258,7 @@ func (s *GenesisTestSuite) TestExportGenesis() {
262258 "balances, remainder" ,
263259 func () * types.GenesisState {
264260 // Burn the initial balance created by network setup, then mint the expected amount
265- err := s .network .App .GetBankKeeper ().BurnCoins (
266- s .network .GetContext (),
267- types .ModuleName ,
268- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
269- )
270- s .Require ().NoError (err )
271-
272- err = s .network .App .GetBankKeeper ().MintCoins (
273- s .network .GetContext (),
274- types .ModuleName ,
275- sdk .NewCoins (sdk .NewCoin (types .IntegerCoinDenom (), sdkmath .NewInt (1 ))),
276- )
277- s .Require ().NoError (err )
261+ s .adjustModuleBalance (sdkmath .NewInt (1 ))
278262
279263 return types .NewGenesisState (
280264 types.FractionalBalances {
0 commit comments