Skip to content

Commit b70b604

Browse files
committed
test(Profile): correct types in profile fork test
1 parent e367570 commit b70b604

File tree

1 file changed

+63
-60
lines changed

1 file changed

+63
-60
lines changed

test/foundry/forking/REP-004/ChangeConsensusAddress.t.sol

Lines changed: 63 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -322,13 +322,11 @@ contract ChangeConsensusAddressForkTest is Test {
322322
// TODO(bao): @TuDo1403 please enhance this test
323323
_cheatSetRoninGACode();
324324
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);
330328

331-
(address admin, , ) = _staking.getPoolDetail(TConsensus.wrap(validatorCandidate));
329+
(address admin, , ) = _staking.getPoolDetail(validatorCandidate);
332330
console2.log("admin", admin);
333331

334332
address newAdmin = makeAddr("new-admin");
@@ -353,10 +351,10 @@ contract ChangeConsensusAddressForkTest is Test {
353351
proposalRequestAt,
354352
proposalExpiredAt
355353
);
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);
360358
vm.stopPrank();
361359

362360
// NOTE: locked fund refunded to the old treasury
@@ -365,7 +363,7 @@ contract ChangeConsensusAddressForkTest is Test {
365363
console2.log("balanceBefore", balanceBefore);
366364

367365
for (uint256 i; i < trustedOrgs.length; ++i) {
368-
if (trustedOrgs[i].governor != validatorCandidate) {
366+
if (trustedOrgs[i].governor != TConsensus.unwrap(validatorCandidate)) {
369367
vm.prank(trustedOrgs[i].governor);
370368
_roninGA.voteEmergencyExit(
371369
voteHash,
@@ -419,16 +417,16 @@ contract ChangeConsensusAddressForkTest is Test {
419417
}
420418

421419
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;
425423

426424
uint256 snapshotId = vm.snapshot();
427425

428-
(address admin, , ) = _staking.getPoolDetail(TConsensus.wrap(validatorCandidate));
426+
(address admin, , ) = _staking.getPoolDetail(validatorCandidate);
429427
console2.log("before-upgrade-admin", admin);
430428
vm.prank(admin);
431-
_staking.requestEmergencyExit(TConsensus.wrap(validatorCandidate));
429+
_staking.requestEmergencyExit(validatorCandidate);
432430

433431
uint256 adminBalanceBefore = admin.balance;
434432
console2.log("before-upgrade:adminBalanceBefore", adminBalanceBefore);
@@ -439,7 +437,7 @@ contract ChangeConsensusAddressForkTest is Test {
439437
uint256 adminBalanceAfter = admin.balance;
440438
console2.log("before-upgrade:adminBalanceAfter", adminBalanceAfter);
441439

442-
assertFalse(_validator.isValidatorCandidate(TConsensus.wrap(validatorCandidate)));
440+
assertFalse(_validator.isValidatorCandidate(validatorCandidate));
443441
console2.log("before-upgrade:recipient", recipient);
444442
uint256 balanceBefore = recipient.balance;
445443
console2.log("before-upgrade:balanceBefore", balanceBefore);
@@ -459,10 +457,10 @@ contract ChangeConsensusAddressForkTest is Test {
459457
vm.revertTo(snapshotId);
460458
_upgradeContracts();
461459

462-
(admin, , ) = _staking.getPoolDetail(TConsensus.wrap(validatorCandidate));
460+
(admin, , ) = _staking.getPoolDetail(validatorCandidate);
463461
console2.log("after-upgrade-admin", admin);
464462
vm.prank(admin);
465-
_staking.requestEmergencyExit(TConsensus.wrap(validatorCandidate));
463+
_staking.requestEmergencyExit(validatorCandidate);
466464

467465
adminBalanceBefore = admin.balance;
468466
console2.log("after-upgrade:adminBalanceBefore", adminBalanceBefore);
@@ -475,7 +473,7 @@ contract ChangeConsensusAddressForkTest is Test {
475473

476474
uint256 afterUpgradeAdminStakingAmount = adminBalanceAfter - adminBalanceBefore;
477475
console2.log("after-upgrade:adminStakingAmount", afterUpgradeAdminStakingAmount);
478-
assertFalse(_validator.isValidatorCandidate(TConsensus.wrap(validatorCandidate)));
476+
assertFalse(_validator.isValidatorCandidate(validatorCandidate));
479477
console2.log("after-upgrade:recipient", recipient);
480478
balanceBefore = recipient.balance;
481479
console2.log("after-upgrade:balanceBefore", balanceBefore);
@@ -547,21 +545,22 @@ contract ChangeConsensusAddressForkTest is Test {
547545
}
548546

549547
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;
553552
TConsensus newConsensus = TConsensus.wrap(makeAddr("new-consensus-0"));
554553

555554
vm.prank(candidateAdmin);
556-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
555+
_profile.requestChangeConsensusAddr(cid, newConsensus);
557556

558557
_bulkWrapUpEpoch(1);
559558

560559
validatorCandidate = validatorCandidates[1];
561-
candidateAdmin = _validator.getCandidateInfo(TConsensus.wrap(validatorCandidate)).__shadowedAdmin;
560+
candidateAdmin = _validator.getCandidateInfo(validatorCandidate).__shadowedAdmin;
562561
newConsensus = TConsensus.wrap(makeAddr("new-consensus-1"));
563562
vm.prank(candidateAdmin);
564-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
563+
_profile.requestChangeConsensusAddr(cid, newConsensus);
565564

566565
_bulkWrapUpEpoch(1);
567566
}
@@ -570,8 +569,8 @@ contract ChangeConsensusAddressForkTest is Test {
570569
external
571570
upgrade
572571
{
573-
address[] memory validatorCandidates = _validator.getValidatorCandidates();
574-
address cid = validatorCandidates[0];
572+
TConsensus[] memory validatorCandidates = _validator.getValidatorCandidates();
573+
address cid = TConsensus.unwrap(validatorCandidates[0]);
575574
address candidateAdmin = _validator.getCandidateInfo(TConsensus.wrap(cid)).__shadowedAdmin;
576575

577576
// change validator admin
@@ -624,13 +623,14 @@ contract ChangeConsensusAddressForkTest is Test {
624623
}
625624

626625
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;
630630

631631
uint256 snapshotId = vm.snapshot();
632632

633-
address recipient = _validator.getCandidateInfo(TConsensus.wrap(validatorCandidate)).__shadowedTreasury;
633+
address recipient = _validator.getCandidateInfo(validatorCandidate).__shadowedTreasury;
634634
console2.log("before-upgrade:recipient", recipient);
635635
uint256 balanceBefore = recipient.balance;
636636
console2.log("before-upgrade:balanceBefore", balanceBefore);
@@ -644,16 +644,16 @@ contract ChangeConsensusAddressForkTest is Test {
644644
console2.log("before-upgrade:balanceAfter", balanceAfter);
645645
uint256 beforeUpgradeReward = balanceAfter - balanceBefore;
646646
console2.log("before-upgrade:reward", beforeUpgradeReward);
647-
assertFalse(_validator.isBlockProducer(TConsensus.wrap(validatorCandidate)));
647+
assertFalse(_validator.isBlockProducer(validatorCandidate));
648648

649649
vm.revertTo(snapshotId);
650650
_upgradeContracts();
651651
TConsensus newConsensus = TConsensus.wrap(makeAddr("consensus"));
652652
vm.prank(candidateAdmin);
653-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
653+
_profile.requestChangeConsensusAddr(cid, newConsensus);
654654

655655
_bulkSubmitBlockReward(1);
656-
_bulkSlashIndicator(TConsensus.unwrap(newConsensus), 150);
656+
_bulkSlashIndicator(newConsensus, 150);
657657

658658
console2.log("new-consensus", TConsensus.unwrap(newConsensus));
659659

@@ -676,11 +676,12 @@ contract ChangeConsensusAddressForkTest is Test {
676676

677677
function testFork_Maintenance_BeforeAndAfterUpgrade() external {
678678
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;
681682

682683
// check balance before wrapup epoch
683-
address recipient = _validator.getCandidateInfo(TConsensus.wrap(validatorCandidate)).__shadowedTreasury;
684+
address recipient = _validator.getCandidateInfo(validatorCandidate).__shadowedTreasury;
684685
console2.log("before-upgrade:recipient", recipient);
685686
uint256 balanceBefore = recipient.balance;
686687
console2.log("before-upgrade:balanceBefore", balanceBefore);
@@ -699,8 +700,8 @@ contract ChangeConsensusAddressForkTest is Test {
699700
_bulkSlashIndicator(validatorCandidate, 150);
700701
_bulkWrapUpEpoch(1);
701702

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));
704705
uint256 balanceAfter = recipient.balance;
705706
console2.log("before-upgrade:balanceAfter", balanceAfter);
706707
uint256 beforeUpgradeReward = balanceAfter - balanceBefore;
@@ -715,7 +716,7 @@ contract ChangeConsensusAddressForkTest is Test {
715716
// change consensus address
716717
TConsensus newConsensus = TConsensus.wrap(makeAddr("consensus"));
717718
vm.prank(candidateAdmin);
718-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
719+
_profile.requestChangeConsensusAddr(cid, newConsensus);
719720

720721
recipient = _validator.getCandidateInfo(newConsensus).__shadowedTreasury;
721722
console2.log("after-upgrade:recipient", recipient);
@@ -727,13 +728,13 @@ contract ChangeConsensusAddressForkTest is Test {
727728
startMaintenanceBlock = latestEpoch + 1 + minOffsetToStartSchedule;
728729
endMaintenanceBlock = latestEpoch + minOffsetToStartSchedule + _maintenance.minMaintenanceDurationInBlock();
729730

730-
this.schedule(candidateAdmin, TConsensus.unwrap(newConsensus), startMaintenanceBlock, endMaintenanceBlock);
731+
this.schedule(candidateAdmin, newConsensus, startMaintenanceBlock, endMaintenanceBlock);
731732
vm.roll(latestEpoch + minOffsetToStartSchedule + 200);
732733

733-
_bulkSlashIndicator(TConsensus.unwrap(newConsensus), 150);
734+
_bulkSlashIndicator(newConsensus, 150);
734735
_bulkWrapUpEpoch(1);
735736

736-
assertFalse(_maintenance.checkMaintained(TConsensus.wrap(validatorCandidate), block.number + 1));
737+
assertFalse(_maintenance.checkMaintained(validatorCandidate, block.number + 1));
737738
assertFalse(_validator.isBlockProducer(newConsensus));
738739
balanceAfter = recipient.balance;
739740
console2.log("after-upgrade:balanceAfter", balanceBefore);
@@ -743,11 +744,12 @@ contract ChangeConsensusAddressForkTest is Test {
743744
}
744745

745746
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;
749751
//address recipient = candidateAdmin;
750-
address recipient = _validator.getCandidateInfo(TConsensus.wrap(validatorCandidate)).__shadowedTreasury;
752+
address recipient = _validator.getCandidateInfo(validatorCandidate).__shadowedTreasury;
751753
console2.log("before-upgrade:recipient", recipient);
752754
uint256 balanceBefore = recipient.balance;
753755
console2.log("before-upgrade:balanceBefore", balanceBefore);
@@ -765,7 +767,7 @@ contract ChangeConsensusAddressForkTest is Test {
765767
_upgradeContracts();
766768
TConsensus newConsensus = TConsensus.wrap(makeAddr("consensus"));
767769
vm.prank(candidateAdmin);
768-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
770+
_profile.requestChangeConsensusAddr(cid, newConsensus);
769771

770772
console2.log("new-consensus", TConsensus.unwrap(newConsensus));
771773

@@ -787,20 +789,21 @@ contract ChangeConsensusAddressForkTest is Test {
787789
}
788790

789791
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;
793796
TConsensus newConsensus = TConsensus.wrap(makeAddr("same-consensus"));
794797
vm.prank(candidateAdmin);
795-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
798+
_profile.requestChangeConsensusAddr(cid, newConsensus);
796799

797800
_bulkWrapUpEpoch(1);
798801

799802
validatorCandidate = validatorCandidates[1];
800-
candidateAdmin = _validator.getCandidateInfo(TConsensus.wrap(validatorCandidate)).__shadowedAdmin;
803+
candidateAdmin = _validator.getCandidateInfo(validatorCandidate).__shadowedAdmin;
801804
newConsensus = TConsensus.wrap(makeAddr("same-consensus"));
802805
vm.prank(candidateAdmin);
803-
_profile.requestChangeConsensusAddr(validatorCandidate, newConsensus);
806+
_profile.requestChangeConsensusAddr(cid, newConsensus);
804807

805808
_bulkWrapUpEpoch(1);
806809
}
@@ -828,9 +831,9 @@ contract ChangeConsensusAddressForkTest is Test {
828831
_applyValidatorCandidate("candidate-admin", "consensus");
829832
}
830833

831-
function schedule(address admin, address consensus, uint256 startAtBlock, uint256 endedAtBlock) external {
834+
function schedule(address admin, TConsensus consensus, uint256 startAtBlock, uint256 endedAtBlock) external {
832835
vm.prank(admin);
833-
_maintenance.schedule(TConsensus.wrap(consensus), startAtBlock, endedAtBlock);
836+
_maintenance.schedule(consensus, startAtBlock, endedAtBlock);
834837
}
835838

836839
function _bulkWrapUpEpoch(uint256 times) internal {
@@ -840,10 +843,10 @@ contract ChangeConsensusAddressForkTest is Test {
840843
}
841844
}
842845

843-
function _bulkSlashIndicator(address consensus, uint256 times) internal {
846+
function _bulkSlashIndicator(TConsensus consensus, uint256 times) internal {
844847
vm.startPrank(block.coinbase);
845848
for (uint256 i; i < times; ++i) {
846-
_slashIndicator.slashUnavailability(TConsensus.wrap(consensus));
849+
_slashIndicator.slashUnavailability(consensus);
847850
vm.roll(block.number + 1);
848851
}
849852
vm.stopPrank();
@@ -993,7 +996,7 @@ contract ChangeConsensusAddressForkTest is Test {
993996
}
994997

995998
function _pickOneStandardCandidate() internal view returns (address standardId, TConsensus standardConsensus) {
996-
address[] memory validatorCids = _validator.getValidatorCandidates();
999+
address[] memory validatorCids = _validator.getValidatorCandidateIds();
9971000
for (uint i; i < validatorCids.length; i++) {
9981001
if (_roninTO.getConsensusWeightById(validatorCids[i]) == 0) {
9991002
standardId = validatorCids[i];

0 commit comments

Comments
 (0)