88 sdk "github.com/cosmos/cosmos-sdk/types"
99 "github.com/stretchr/testify/require"
1010
11+ stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
1112 appparams "github.com/sourcenetwork/sourcehub/app/params"
1213 epochstypes "github.com/sourcenetwork/sourcehub/x/epochs/types"
1314 "github.com/sourcenetwork/sourcehub/x/tier/types"
@@ -364,26 +365,28 @@ func TestProratedCredit(t *testing.T) {
364365
365366func TestBurnAllCredits (t * testing.T ) {
366367 tests := []struct {
367- name string
368- creditBalances map [string ]int64
369- openBalances map [string ]int64
370- wantErr bool
368+ name string
369+ lockups map [string ]int64
370+ openBalances map [string ]int64
371+ wantErr bool
371372 }{
372373 {
373- name : "Burn all credits successfully (single address)" ,
374- creditBalances : map [string ]int64 {"source1wjj5v5rlf57kayyeskncpu4hwev25ty645p2et" : 100 },
375- openBalances : map [string ]int64 {},
376- wantErr : false ,
374+ name : "Burn all credits successfully (single address)" ,
375+ lockups : map [string ]int64 {
376+ "source1wjj5v5rlf57kayyeskncpu4hwev25ty645p2et" : 100 ,
377+ },
378+ openBalances : map [string ]int64 {},
379+ wantErr : false ,
377380 },
378381 {
379- name : "No addresses have credits" ,
380- creditBalances : map [string ]int64 {},
381- openBalances : map [string ]int64 {},
382- wantErr : false ,
382+ name : "No addresses have credits" ,
383+ lockups : map [string ]int64 {},
384+ openBalances : map [string ]int64 {},
385+ wantErr : false ,
383386 },
384387 {
385388 name : "Multiple addresses with credits" ,
386- creditBalances : map [string ]int64 {
389+ lockups : map [string ]int64 {
387390 "source1wjj5v5rlf57kayyeskncpu4hwev25ty645p2et" : 50 ,
388391 "source1m4f5a896t7fzd9vc7pfgmc3fxkj8n24s68fcw9" : 150 ,
389392 },
@@ -392,7 +395,7 @@ func TestBurnAllCredits(t *testing.T) {
392395 },
393396 {
394397 name : "Burn credits when addresses also hold uopen" ,
395- creditBalances : map [string ]int64 {
398+ lockups : map [string ]int64 {
396399 "source1wjj5v5rlf57kayyeskncpu4hwev25ty645p2et" : 80 ,
397400 "source1m4f5a896t7fzd9vc7pfgmc3fxkj8n24s68fcw9" : 200 ,
398401 },
@@ -404,53 +407,54 @@ func TestBurnAllCredits(t *testing.T) {
404407 },
405408 }
406409
410+ valAddr , err := sdk .ValAddressFromBech32 ("sourcevaloper1cy0p47z24ejzvq55pu3lesxwf73xnrnd0pzkqm" )
411+ require .NoError (t , err )
412+
407413 for _ , tt := range tests {
408414 t .Run (tt .name , func (t * testing.T ) {
409415 k , ctx := setupKeeper (t )
410416
411- // Mint and distribute credits
412- for addrStr , balance := range tt .creditBalances {
417+ err := k .SetParams (ctx , types .DefaultParams ())
418+ require .NoError (t , err )
419+
420+ initializeValidator (t , k .GetStakingKeeper ().(* stakingkeeper.Keeper ), ctx , valAddr , math .NewInt (10_000_000 ))
421+
422+ // Add lockups
423+ for addrStr , lockupAmount := range tt .lockups {
413424 addr := sdk .MustAccAddressFromBech32 (addrStr )
414- coins := sdk .NewCoins (sdk .NewCoin (appparams .MicroCreditDenom , math .NewInt (balance )))
415- err := k .GetBankKeeper ().MintCoins (ctx , types .ModuleName , coins )
416- require .NoError (t , err , "MintCoins failed" )
417- err = k .GetBankKeeper ().SendCoinsFromModuleToAccount (ctx , types .ModuleName , addr , coins )
418- require .NoError (t , err , "SendCoinsFromModuleToAccount failed" )
425+ amt := math .NewInt (lockupAmount )
426+ initializeDelegator (t , & k , ctx , addr , amt )
427+ err = k .Lock (ctx , addr , valAddr , amt )
428+ require .NoError (t , err )
419429 }
420430
421431 // Mint and distribute uopen
422432 for addrStr , balance := range tt .openBalances {
423433 addr := sdk .MustAccAddressFromBech32 (addrStr )
424- coins := sdk .NewCoins (sdk .NewCoin (appparams .DefaultBondDenom , math .NewInt (balance )))
425- err := k .GetBankKeeper ().MintCoins (ctx , types .ModuleName , coins )
426- require .NoError (t , err , "MintCoins uopen failed" )
427- err = k .GetBankKeeper ().SendCoinsFromModuleToAccount (ctx , types .ModuleName , addr , coins )
428- require .NoError (t , err , "SendCoinsFromModuleToAccount uopen failed" )
434+ initializeDelegator (t , & k , ctx , addr , math .NewInt (balance ))
429435 }
430436
431437 // Burn all credits
432- err : = k .burnAllCredits (ctx , 1 )
438+ err = k .burnAllCredits (ctx , 1 )
433439 if (err != nil ) != tt .wantErr {
434440 t .Errorf ("burnAllCredits() error = %v, wantErr %v" , err , tt .wantErr )
435441 }
436442
437- // Verify that all credit balances are zero
438- for addrStr , origBalance := range tt .creditBalances {
443+ // Verify that all ucredit balances are zero
444+ for addrStr := range tt .lockups {
439445 addr := sdk .MustAccAddressFromBech32 (addrStr )
440- bal := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .MicroCreditDenom )
441- if ! bal .IsZero () {
442- t .Errorf ("Expected all credit burned for %s, original = %d, still found = %s" ,
443- addrStr , origBalance , bal .Amount )
446+ creditBalance := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .MicroCreditDenom )
447+ if ! creditBalance .IsZero () {
448+ t .Errorf ("Expected all ucredit to be burned for %s, still found = %v" , addrStr , creditBalance .Amount )
444449 }
445450 }
446451
447452 // Verify that uopen balances are unchanged
448453 for addrStr , expectedBalance := range tt .openBalances {
449454 addr := sdk .MustAccAddressFromBech32 (addrStr )
450- bal := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .DefaultBondDenom )
451- if ! bal .Amount .Equal (math .NewInt (expectedBalance )) {
452- t .Errorf ("Non-credit denom incorrectly burned. For %s, got = %d, expected = %d" ,
453- addrStr , bal .Amount .Int64 (), expectedBalance )
455+ openBalance := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .MicroOpenDenom )
456+ if ! openBalance .Amount .Equal (math .NewInt (expectedBalance )) {
457+ t .Errorf ("Should not burn uopen. For %s, got = %v, expected = %v" , addrStr , openBalance .Amount , expectedBalance )
454458 }
455459 }
456460 })
@@ -545,11 +549,14 @@ func TestResetAllCredits(t *testing.T) {
545549 err := k .SetParams (ctx , types .DefaultParams ())
546550 require .NoError (t , err )
547551
552+ initializeValidator (t , k .GetStakingKeeper ().(* stakingkeeper.Keeper ), ctx , valAddr , math .NewInt (10_000_000 ))
553+
548554 // Add lockups
549555 for addrStr , lockupAmounts := range tt .lockups {
550556 addr := sdk .MustAccAddressFromBech32 (addrStr )
551557 for _ , amt := range lockupAmounts {
552- err = k .AddLockup (ctx , addr , valAddr , math .NewInt (amt ))
558+ initializeDelegator (t , & k , ctx , addr , math .NewInt (amt ))
559+ err = k .Lock (ctx , addr , valAddr , math .NewInt (amt ))
553560 require .NoError (t , err )
554561 }
555562 }
@@ -562,8 +569,13 @@ func TestResetAllCredits(t *testing.T) {
562569 }
563570 }
564571
572+ err = k .burnAllCredits (ctx , 1 )
573+ if (err != nil ) != tt .wantErr {
574+ t .Errorf ("burnAllCredits() error = %v, wantErr %v" , err , tt .wantErr )
575+ }
576+
565577 // Reset all credits
566- err = k .resetAllCredits (ctx )
578+ err = k .resetAllCredits (ctx , 1 )
567579 if (err != nil ) != tt .wantErr {
568580 t .Errorf ("resetAllCredits() error = %v, wantErr %v" , err , tt .wantErr )
569581 }
@@ -573,19 +585,17 @@ func TestResetAllCredits(t *testing.T) {
573585 addr := sdk .MustAccAddressFromBech32 (addrStr )
574586 bal := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .MicroCreditDenom )
575587 if ! bal .Amount .Equal (math .NewInt (expected )) {
576- t .Errorf ("Incorrect credit balance for %s, got = %v, expected = %v" ,
577- addrStr , bal .Amount , expected )
588+ t .Errorf ("Incorrect ucredit balance for %s, got = %v, expected = %v" , addrStr , bal .Amount , expected )
578589 }
579590 }
580591
581- // Addresses not in expectedCredit should have zero credit
592+ // Addresses not in expectedCredit should have zero ucredit
582593 for addrStr := range tt .lockups {
583594 if _ , ok := tt .expectedCredit [addrStr ]; ! ok {
584595 addr := sdk .MustAccAddressFromBech32 (addrStr )
585596 bal := k .GetBankKeeper ().GetBalance (ctx , addr , appparams .MicroCreditDenom )
586597 if ! bal .IsZero () {
587- t .Errorf ("Address %s was not in expectedCredit, but has credit = %v" ,
588- addrStr , bal .Amount )
598+ t .Errorf ("Address %s was not in expectedCredit, but has ucredit = %v" , addrStr , bal .Amount )
589599 }
590600 }
591601 }
0 commit comments