@@ -331,14 +331,15 @@ func TestEstimateTerminationPenalty2(t *testing.T) {
331
331
}
332
332
}
333
333
334
- var BLOCK_HEIGHT = big .NewInt (4198539 )
334
+ var BASE_BLOCK_HEIGHT = big .NewInt (4198539 )
335
335
336
336
type baseFiTest struct {
337
337
* BaseFi
338
338
339
339
maxBorrowAndSeal * big.Int
340
340
maxBorrowAndWithdraw * big.Int
341
341
liquidationValue * big.Int
342
+ height * big.Int
342
343
}
343
344
344
345
var baseFiTests = []struct {
@@ -360,6 +361,7 @@ var baseFiTests = []struct {
360
361
maxBorrowAndSeal : bigFromStr ("50375782116425480034999" ),
361
362
maxBorrowAndWithdraw : bigFromStr ("12593945529106370008750" ),
362
363
liquidationValue : bigFromStr ("16791927372141826678333" ),
364
+ height : BASE_BLOCK_HEIGHT ,
363
365
}},
364
366
{"miner with fee debt" , "f01836766" , baseFiTest {
365
367
BaseFi : & BaseFi {
@@ -375,6 +377,7 @@ var baseFiTests = []struct {
375
377
maxBorrowAndSeal : big .NewInt (0 ),
376
378
maxBorrowAndWithdraw : big .NewInt (0 ),
377
379
liquidationValue : big .NewInt (0 ),
380
+ height : BASE_BLOCK_HEIGHT ,
378
381
}},
379
382
{"inactive miner (all 0s)" , "f01156" , baseFiTest {
380
383
BaseFi : & BaseFi {
@@ -390,6 +393,7 @@ var baseFiTests = []struct {
390
393
maxBorrowAndSeal : big .NewInt (0 ),
391
394
maxBorrowAndWithdraw : big .NewInt (0 ),
392
395
liquidationValue : big .NewInt (0 ),
396
+ height : BASE_BLOCK_HEIGHT ,
393
397
}},
394
398
{"normal miner" , "f01344987" , baseFiTest {
395
399
BaseFi : & BaseFi {
@@ -405,6 +409,23 @@ var baseFiTests = []struct {
405
409
maxBorrowAndSeal : bigFromStr ("492527766798191726655114" ),
406
410
maxBorrowAndWithdraw : bigFromStr ("123131941699547931663779" ),
407
411
liquidationValue : bigFromStr ("164175922266063908885038" ),
412
+ height : BASE_BLOCK_HEIGHT ,
413
+ }},
414
+ {"miner with fee debt and positive balance" , "f01931245" , baseFiTest {
415
+ BaseFi : & BaseFi {
416
+ Balance : bigFromStr ("65041872611791874551" ),
417
+ AvailableBalance : bigFromStr ("0" ),
418
+ LockedRewards : bigFromStr ("137666159110180561" ),
419
+ InitialPledge : bigFromStr ("64904206452681693990" ),
420
+ FeeDebt : bigFromStr ("957933257513729319" ),
421
+ TerminationFee : bigFromStr ("12832724091624933434" ),
422
+ LiveSectors : big .NewInt (323 ),
423
+ FaultySectors : big .NewInt (323 ),
424
+ },
425
+ maxBorrowAndSeal : bigFromStr ("156627445560500823351" ),
426
+ maxBorrowAndWithdraw : bigFromStr ("39156861390125205838" ),
427
+ liquidationValue : bigFromStr ("52209148520166941117" ),
428
+ height : big .NewInt (4299545 ),
408
429
}},
409
430
}
410
431
@@ -420,14 +441,13 @@ func TestMinerFi(t *testing.T) {
420
441
}
421
442
defer closer ()
422
443
423
- ts , err := lapi .ChainGetTipSetByHeight (context .Background (), abi .ChainEpoch (BLOCK_HEIGHT .Int64 ()), types .EmptyTSK )
424
- if err != nil {
425
- t .Fatal (err )
426
- }
427
-
428
444
for _ , tt := range baseFiTests {
429
445
testname := fmt .Sprintf ("%s:%s" , tt .name , tt .miner )
430
446
t .Run (testname , func (t * testing.T ) {
447
+ ts , err := lapi .ChainGetTipSetByHeight (context .Background (), abi .ChainEpoch (tt .want .height .Int64 ()), types .EmptyTSK )
448
+ if err != nil {
449
+ t .Fatal (err )
450
+ }
431
451
minerAddr , err := address .NewFromString (tt .miner )
432
452
if err != nil {
433
453
t .Fatal (err )
@@ -490,7 +510,7 @@ var agentTests = []struct {
490
510
want agentFiTest
491
511
}{
492
512
// agent 59
493
- {"agent many miners" , "0x64Ea1aD49A78B6A6878c4975566b8953b1Ef1e79" , BLOCK_HEIGHT , agentFiTest {
513
+ {"agent many miners" , "0x64Ea1aD49A78B6A6878c4975566b8953b1Ef1e79" , BASE_BLOCK_HEIGHT , agentFiTest {
494
514
AgentFi : & AgentFi {
495
515
BaseFi : BaseFi {
496
516
Balance : bigFromStr ("2090733730144435384596917" ),
@@ -517,7 +537,7 @@ var agentTests = []struct {
517
537
dtl : 0.574289111476492565 ,
518
538
}},
519
539
// agent 27
520
- {"agent no miners" , "0xDBa96B0FDbc87C7eEb641Ee37EAFC55B355079E4" , BLOCK_HEIGHT , agentFiTest {
540
+ {"agent no miners" , "0xDBa96B0FDbc87C7eEb641Ee37EAFC55B355079E4" , BASE_BLOCK_HEIGHT , agentFiTest {
521
541
AgentFi : EmptyAgentFi (),
522
542
balance : big .NewInt (0 ),
523
543
maxBorrowAndSeal : big .NewInt (0 ),
@@ -530,7 +550,7 @@ var agentTests = []struct {
530
550
dtl : 0 ,
531
551
}},
532
552
// agent 2
533
- {"agent single miner" , "0xf0F1ceCCF78D411EeD9Ca190ca7F157140cCB2d3" , BLOCK_HEIGHT , agentFiTest {
553
+ {"agent single miner" , "0xf0F1ceCCF78D411EeD9Ca190ca7F157140cCB2d3" , BASE_BLOCK_HEIGHT , agentFiTest {
534
554
AgentFi : & AgentFi {
535
555
BaseFi : BaseFi {
536
556
Balance : bigFromStr ("133252309755096579751" ),
@@ -557,7 +577,7 @@ var agentTests = []struct {
557
577
dtl : 0.016608593934123496 ,
558
578
}},
559
579
// agent 91
560
- {"agent miner with fee debt" , "0xFF65F5f3D309fEA7aA2d4cB2727E918FAb0aE7F7" , BLOCK_HEIGHT , agentFiTest {
580
+ {"agent miner with fee debt" , "0xFF65F5f3D309fEA7aA2d4cB2727E918FAb0aE7F7" , BASE_BLOCK_HEIGHT , agentFiTest {
561
581
AgentFi : & AgentFi {
562
582
BaseFi : BaseFi {
563
583
Balance : bigFromStr ("0" ),
@@ -675,8 +695,8 @@ func TestComputePerc(t *testing.T) {
675
695
i := bigFromStr ("28202982363374106229" )
676
696
677
697
perc := computePerc (new (big.Int ).Add (p , i ), lv )
678
- exp := big .NewFloat ( 0.394356164017979036 )
679
- if perc .Cmp ( exp ) != 0 {
698
+ exp , _ := new ( big.Float ). SetString ( " 0.394356164017979036" )
699
+ if perc .String ( ) != exp . String () {
680
700
t .Fatalf ("Expected perc: %v, actual: %v" , exp , perc )
681
701
}
682
702
}
0 commit comments