@@ -322,13 +322,11 @@ contract ChangeConsensusAddressForkTest is Test {
322
322
// TODO(bao): @TuDo1403 please enhance this test
323
323
_cheatSetRoninGACode ();
324
324
IRoninTrustedOrganization.TrustedOrganization[] memory trustedOrgs = _roninTO.getAllTrustedOrganizations ();
325
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
326
- address validatorCandidate = validatorCandidates[2 ];
327
- ICandidateManager.ValidatorCandidate memory oldCandidate = _validator.getCandidateInfo (
328
- TConsensus.wrap (validatorCandidate)
329
- );
325
+ TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates ();
326
+ TConsensus validatorCandidate = validatorCandidates[2 ];
327
+ ICandidateManager.ValidatorCandidate memory oldCandidate = _validator.getCandidateInfo (validatorCandidate);
330
328
331
- (address admin , , ) = _staking.getPoolDetail (TConsensus. wrap ( validatorCandidate) );
329
+ (address admin , , ) = _staking.getPoolDetail (validatorCandidate);
332
330
console2.log ("admin " , admin);
333
331
334
332
address newAdmin = makeAddr ("new-admin " );
@@ -353,10 +351,10 @@ contract ChangeConsensusAddressForkTest is Test {
353
351
proposalRequestAt,
354
352
proposalExpiredAt
355
353
);
356
- _staking.requestEmergencyExit (TConsensus. wrap ( validatorCandidate) );
357
- _profile.requestChangeConsensusAddr (validatorCandidate, newConsensusAddr);
358
- _profile.requestChangeTreasuryAddr (validatorCandidate, newTreasury);
359
- _profile.requestChangeAdminAddress (validatorCandidate, newAdmin);
354
+ _staking.requestEmergencyExit (validatorCandidate);
355
+ _profile.requestChangeConsensusAddr (TConsensus. unwrap ( validatorCandidate) , newConsensusAddr);
356
+ _profile.requestChangeTreasuryAddr (TConsensus. unwrap ( validatorCandidate) , newTreasury);
357
+ _profile.requestChangeAdminAddress (TConsensus. unwrap ( validatorCandidate) , newAdmin);
360
358
vm.stopPrank ();
361
359
362
360
// NOTE: locked fund refunded to the old treasury
@@ -365,7 +363,7 @@ contract ChangeConsensusAddressForkTest is Test {
365
363
console2.log ("balanceBefore " , balanceBefore);
366
364
367
365
for (uint256 i; i < trustedOrgs.length ; ++ i) {
368
- if (trustedOrgs[i].governor != validatorCandidate) {
366
+ if (trustedOrgs[i].governor != TConsensus. unwrap ( validatorCandidate) ) {
369
367
vm.prank (trustedOrgs[i].governor);
370
368
_roninGA.voteEmergencyExit (
371
369
voteHash,
@@ -419,16 +417,16 @@ contract ChangeConsensusAddressForkTest is Test {
419
417
}
420
418
421
419
function testFork_NotReceiveReward_BeforeAndAfterUpgraded_execEmergencyExit () external {
422
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
423
- address validatorCandidate = validatorCandidates[2 ];
424
- address recipient = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedTreasury;
420
+ TConsensus [] memory validatorCandidates = _validator.getValidatorCandidates ();
421
+ TConsensus validatorCandidate = validatorCandidates[2 ];
422
+ address recipient = _validator.getCandidateInfo (validatorCandidate).__shadowedTreasury;
425
423
426
424
uint256 snapshotId = vm.snapshot ();
427
425
428
- (address admin , , ) = _staking.getPoolDetail (TConsensus. wrap ( validatorCandidate) );
426
+ (address admin , , ) = _staking.getPoolDetail (validatorCandidate);
429
427
console2.log ("before-upgrade-admin " , admin);
430
428
vm.prank (admin);
431
- _staking.requestEmergencyExit (TConsensus. wrap ( validatorCandidate) );
429
+ _staking.requestEmergencyExit (validatorCandidate);
432
430
433
431
uint256 adminBalanceBefore = admin.balance;
434
432
console2.log ("before-upgrade:adminBalanceBefore " , adminBalanceBefore);
@@ -439,7 +437,7 @@ contract ChangeConsensusAddressForkTest is Test {
439
437
uint256 adminBalanceAfter = admin.balance;
440
438
console2.log ("before-upgrade:adminBalanceAfter " , adminBalanceAfter);
441
439
442
- assertFalse (_validator.isValidatorCandidate (TConsensus. wrap ( validatorCandidate) ));
440
+ assertFalse (_validator.isValidatorCandidate (validatorCandidate));
443
441
console2.log ("before-upgrade:recipient " , recipient);
444
442
uint256 balanceBefore = recipient.balance;
445
443
console2.log ("before-upgrade:balanceBefore " , balanceBefore);
@@ -459,10 +457,10 @@ contract ChangeConsensusAddressForkTest is Test {
459
457
vm.revertTo (snapshotId);
460
458
_upgradeContracts ();
461
459
462
- (admin, , ) = _staking.getPoolDetail (TConsensus. wrap ( validatorCandidate) );
460
+ (admin, , ) = _staking.getPoolDetail (validatorCandidate);
463
461
console2.log ("after-upgrade-admin " , admin);
464
462
vm.prank (admin);
465
- _staking.requestEmergencyExit (TConsensus. wrap ( validatorCandidate) );
463
+ _staking.requestEmergencyExit (validatorCandidate);
466
464
467
465
adminBalanceBefore = admin.balance;
468
466
console2.log ("after-upgrade:adminBalanceBefore " , adminBalanceBefore);
@@ -475,7 +473,7 @@ contract ChangeConsensusAddressForkTest is Test {
475
473
476
474
uint256 afterUpgradeAdminStakingAmount = adminBalanceAfter - adminBalanceBefore;
477
475
console2.log ("after-upgrade:adminStakingAmount " , afterUpgradeAdminStakingAmount);
478
- assertFalse (_validator.isValidatorCandidate (TConsensus. wrap ( validatorCandidate) ));
476
+ assertFalse (_validator.isValidatorCandidate (validatorCandidate));
479
477
console2.log ("after-upgrade:recipient " , recipient);
480
478
balanceBefore = recipient.balance;
481
479
console2.log ("after-upgrade:balanceBefore " , balanceBefore);
@@ -547,21 +545,22 @@ contract ChangeConsensusAddressForkTest is Test {
547
545
}
548
546
549
547
function testFork_AfterUpgraded_ChangeConsensusAddress () external upgrade {
550
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
551
- address validatorCandidate = validatorCandidates[0 ];
552
- address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (validatorCandidate)).__shadowedAdmin;
548
+ TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates ();
549
+ TConsensus validatorCandidate = validatorCandidates[0 ];
550
+ address cid = TConsensus.unwrap (validatorCandidate);
551
+ address candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
553
552
TConsensus newConsensus = TConsensus.wrap (makeAddr ("new-consensus-0 " ));
554
553
555
554
vm.prank (candidateAdmin);
556
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
555
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
557
556
558
557
_bulkWrapUpEpoch (1 );
559
558
560
559
validatorCandidate = validatorCandidates[1 ];
561
- candidateAdmin = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedAdmin;
560
+ candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
562
561
newConsensus = TConsensus.wrap (makeAddr ("new-consensus-1 " ));
563
562
vm.prank (candidateAdmin);
564
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
563
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
565
564
566
565
_bulkWrapUpEpoch (1 );
567
566
}
@@ -570,8 +569,8 @@ contract ChangeConsensusAddressForkTest is Test {
570
569
external
571
570
upgrade
572
571
{
573
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
574
- address cid = validatorCandidates[0 ];
572
+ TConsensus [] memory validatorCandidates = _validator.getValidatorCandidates ();
573
+ address cid = TConsensus. unwrap ( validatorCandidates[0 ]) ;
575
574
address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (cid)).__shadowedAdmin;
576
575
577
576
// change validator admin
@@ -624,13 +623,14 @@ contract ChangeConsensusAddressForkTest is Test {
624
623
}
625
624
626
625
function testFork_SlashIndicator_BeforeAndAfterUpgrade () external {
627
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
628
- address validatorCandidate = validatorCandidates[0 ];
629
- address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (validatorCandidate)).__shadowedAdmin;
626
+ TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates ();
627
+ TConsensus validatorCandidate = validatorCandidates[0 ];
628
+ address cid = TConsensus.unwrap (validatorCandidate);
629
+ address candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
630
630
631
631
uint256 snapshotId = vm.snapshot ();
632
632
633
- address recipient = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedTreasury;
633
+ address recipient = _validator.getCandidateInfo (validatorCandidate).__shadowedTreasury;
634
634
console2.log ("before-upgrade:recipient " , recipient);
635
635
uint256 balanceBefore = recipient.balance;
636
636
console2.log ("before-upgrade:balanceBefore " , balanceBefore);
@@ -644,16 +644,16 @@ contract ChangeConsensusAddressForkTest is Test {
644
644
console2.log ("before-upgrade:balanceAfter " , balanceAfter);
645
645
uint256 beforeUpgradeReward = balanceAfter - balanceBefore;
646
646
console2.log ("before-upgrade:reward " , beforeUpgradeReward);
647
- assertFalse (_validator.isBlockProducer (TConsensus. wrap ( validatorCandidate) ));
647
+ assertFalse (_validator.isBlockProducer (validatorCandidate));
648
648
649
649
vm.revertTo (snapshotId);
650
650
_upgradeContracts ();
651
651
TConsensus newConsensus = TConsensus.wrap (makeAddr ("consensus " ));
652
652
vm.prank (candidateAdmin);
653
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
653
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
654
654
655
655
_bulkSubmitBlockReward (1 );
656
- _bulkSlashIndicator (TConsensus. unwrap ( newConsensus) , 150 );
656
+ _bulkSlashIndicator (newConsensus, 150 );
657
657
658
658
console2.log ("new-consensus " , TConsensus.unwrap (newConsensus));
659
659
@@ -676,11 +676,12 @@ contract ChangeConsensusAddressForkTest is Test {
676
676
677
677
function testFork_Maintenance_BeforeAndAfterUpgrade () external {
678
678
IRoninTrustedOrganization.TrustedOrganization memory trustedOrg = _roninTO.getTrustedOrganizationAt (0 );
679
- address validatorCandidate = TConsensus.unwrap (trustedOrg.consensusAddr);
680
- address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (validatorCandidate)).__shadowedAdmin;
679
+ TConsensus validatorCandidate = trustedOrg.consensusAddr;
680
+ address cid = TConsensus.unwrap (validatorCandidate);
681
+ address candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
681
682
682
683
// check balance before wrapup epoch
683
- address recipient = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedTreasury;
684
+ address recipient = _validator.getCandidateInfo (validatorCandidate).__shadowedTreasury;
684
685
console2.log ("before-upgrade:recipient " , recipient);
685
686
uint256 balanceBefore = recipient.balance;
686
687
console2.log ("before-upgrade:balanceBefore " , balanceBefore);
@@ -699,8 +700,8 @@ contract ChangeConsensusAddressForkTest is Test {
699
700
_bulkSlashIndicator (validatorCandidate, 150 );
700
701
_bulkWrapUpEpoch (1 );
701
702
702
- // assertFalse(_maintenance.checkMaintained(TConsensus.wrap( validatorCandidate) , block.number + 1));
703
- assertFalse (_validator.isBlockProducer (TConsensus. wrap ( validatorCandidate) ));
703
+ // assertFalse(_maintenance.checkMaintained(validatorCandidate, block.number + 1));
704
+ assertFalse (_validator.isBlockProducer (validatorCandidate));
704
705
uint256 balanceAfter = recipient.balance;
705
706
console2.log ("before-upgrade:balanceAfter " , balanceAfter);
706
707
uint256 beforeUpgradeReward = balanceAfter - balanceBefore;
@@ -715,7 +716,7 @@ contract ChangeConsensusAddressForkTest is Test {
715
716
// change consensus address
716
717
TConsensus newConsensus = TConsensus.wrap (makeAddr ("consensus " ));
717
718
vm.prank (candidateAdmin);
718
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
719
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
719
720
720
721
recipient = _validator.getCandidateInfo (newConsensus).__shadowedTreasury;
721
722
console2.log ("after-upgrade:recipient " , recipient);
@@ -727,13 +728,13 @@ contract ChangeConsensusAddressForkTest is Test {
727
728
startMaintenanceBlock = latestEpoch + 1 + minOffsetToStartSchedule;
728
729
endMaintenanceBlock = latestEpoch + minOffsetToStartSchedule + _maintenance.minMaintenanceDurationInBlock ();
729
730
730
- this .schedule (candidateAdmin, TConsensus. unwrap ( newConsensus) , startMaintenanceBlock, endMaintenanceBlock);
731
+ this .schedule (candidateAdmin, newConsensus, startMaintenanceBlock, endMaintenanceBlock);
731
732
vm.roll (latestEpoch + minOffsetToStartSchedule + 200 );
732
733
733
- _bulkSlashIndicator (TConsensus. unwrap ( newConsensus) , 150 );
734
+ _bulkSlashIndicator (newConsensus, 150 );
734
735
_bulkWrapUpEpoch (1 );
735
736
736
- assertFalse (_maintenance.checkMaintained (TConsensus. wrap ( validatorCandidate) , block .number + 1 ));
737
+ assertFalse (_maintenance.checkMaintained (validatorCandidate, block .number + 1 ));
737
738
assertFalse (_validator.isBlockProducer (newConsensus));
738
739
balanceAfter = recipient.balance;
739
740
console2.log ("after-upgrade:balanceAfter " , balanceBefore);
@@ -743,11 +744,12 @@ contract ChangeConsensusAddressForkTest is Test {
743
744
}
744
745
745
746
function testFork_ShareSameSameReward_BeforeAndAfterUpgrade () external {
746
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
747
- address validatorCandidate = validatorCandidates[0 ];
748
- address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (validatorCandidate)).__shadowedAdmin;
747
+ TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates ();
748
+ TConsensus validatorCandidate = validatorCandidates[0 ];
749
+ address cid = TConsensus.unwrap (validatorCandidate);
750
+ address candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
749
751
//address recipient = candidateAdmin;
750
- address recipient = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedTreasury;
752
+ address recipient = _validator.getCandidateInfo (validatorCandidate).__shadowedTreasury;
751
753
console2.log ("before-upgrade:recipient " , recipient);
752
754
uint256 balanceBefore = recipient.balance;
753
755
console2.log ("before-upgrade:balanceBefore " , balanceBefore);
@@ -765,7 +767,7 @@ contract ChangeConsensusAddressForkTest is Test {
765
767
_upgradeContracts ();
766
768
TConsensus newConsensus = TConsensus.wrap (makeAddr ("consensus " ));
767
769
vm.prank (candidateAdmin);
768
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
770
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
769
771
770
772
console2.log ("new-consensus " , TConsensus.unwrap (newConsensus));
771
773
@@ -787,20 +789,21 @@ contract ChangeConsensusAddressForkTest is Test {
787
789
}
788
790
789
791
function testFailFork_RevertWhen_AfterUpgraded_DifferentAdmins_ShareSameConsensusAddr () external upgrade {
790
- address [] memory validatorCandidates = _validator.getValidatorCandidates ();
791
- address validatorCandidate = validatorCandidates[0 ];
792
- address candidateAdmin = _validator.getCandidateInfo (TConsensus.wrap (validatorCandidate)).__shadowedAdmin;
792
+ TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates ();
793
+ TConsensus validatorCandidate = validatorCandidates[0 ];
794
+ address cid = TConsensus.unwrap (validatorCandidate);
795
+ address candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
793
796
TConsensus newConsensus = TConsensus.wrap (makeAddr ("same-consensus " ));
794
797
vm.prank (candidateAdmin);
795
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
798
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
796
799
797
800
_bulkWrapUpEpoch (1 );
798
801
799
802
validatorCandidate = validatorCandidates[1 ];
800
- candidateAdmin = _validator.getCandidateInfo (TConsensus. wrap ( validatorCandidate) ).__shadowedAdmin;
803
+ candidateAdmin = _validator.getCandidateInfo (validatorCandidate).__shadowedAdmin;
801
804
newConsensus = TConsensus.wrap (makeAddr ("same-consensus " ));
802
805
vm.prank (candidateAdmin);
803
- _profile.requestChangeConsensusAddr (validatorCandidate , newConsensus);
806
+ _profile.requestChangeConsensusAddr (cid , newConsensus);
804
807
805
808
_bulkWrapUpEpoch (1 );
806
809
}
@@ -828,9 +831,9 @@ contract ChangeConsensusAddressForkTest is Test {
828
831
_applyValidatorCandidate ("candidate-admin " , "consensus " );
829
832
}
830
833
831
- function schedule (address admin , address consensus , uint256 startAtBlock , uint256 endedAtBlock ) external {
834
+ function schedule (address admin , TConsensus consensus , uint256 startAtBlock , uint256 endedAtBlock ) external {
832
835
vm.prank (admin);
833
- _maintenance.schedule (TConsensus. wrap ( consensus) , startAtBlock, endedAtBlock);
836
+ _maintenance.schedule (consensus, startAtBlock, endedAtBlock);
834
837
}
835
838
836
839
function _bulkWrapUpEpoch (uint256 times ) internal {
@@ -840,10 +843,10 @@ contract ChangeConsensusAddressForkTest is Test {
840
843
}
841
844
}
842
845
843
- function _bulkSlashIndicator (address consensus , uint256 times ) internal {
846
+ function _bulkSlashIndicator (TConsensus consensus , uint256 times ) internal {
844
847
vm.startPrank (block .coinbase );
845
848
for (uint256 i; i < times; ++ i) {
846
- _slashIndicator.slashUnavailability (TConsensus. wrap ( consensus) );
849
+ _slashIndicator.slashUnavailability (consensus);
847
850
vm.roll (block .number + 1 );
848
851
}
849
852
vm.stopPrank ();
@@ -993,7 +996,7 @@ contract ChangeConsensusAddressForkTest is Test {
993
996
}
994
997
995
998
function _pickOneStandardCandidate () internal view returns (address standardId , TConsensus standardConsensus ) {
996
- address [] memory validatorCids = _validator.getValidatorCandidates ();
999
+ address [] memory validatorCids = _validator.getValidatorCandidateIds ();
997
1000
for (uint i; i < validatorCids.length ; i++ ) {
998
1001
if (_roninTO.getConsensusWeightById (validatorCids[i]) == 0 ) {
999
1002
standardId = validatorCids[i];
0 commit comments