Skip to content

Commit 04a86f0

Browse files
committed
fix: reorder test items
1 parent 01f58e3 commit 04a86f0

File tree

1 file changed

+37
-29
lines changed

1 file changed

+37
-29
lines changed

tests/test_2026_01_20.py

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
180180
staking_router = interface.StakingRouter(STAKING_ROUTER)
181181
cs_hash_consensus = interface.CSHashConsensus(CS_HASH_CONSENSUS)
182182
vaults_adapter = interface.IVaultsAdapter(NEW_VAULTS_ADAPTER)
183+
predeposit_guarantee_proxy = interface.OssifiableProxy(PREDEPOSIT_GUARANTEE)
184+
predeposit_guarantee = interface.PredepositGuarantee(PREDEPOSIT_GUARANTEE)
183185

184186
registry_role = web3.keccak(text=OPERATOR_GRID_REGISTRY_ROLE)
185187
validator_exit_role = web3.keccak(text=VAULT_HUB_VALIDATOR_EXIT_ROLE)
@@ -441,6 +443,7 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
441443
# ================== DG before proposal executed checks ===================
442444
# =========================================================================
443445

446+
# ======================== EasyTrack items ========================
444447
# Step 1.1. Check old VaultsAdapter has REGISTRY_ROLE on OperatorGrid
445448
assert operator_grid.hasRole(registry_role, OLD_VAULTS_ADAPTER), "Old VaultsAdapter should have REGISTRY_ROLE on OperatorGrid before upgrade"
446449

@@ -462,7 +465,21 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
462465
if NEW_VAULTS_ADAPTER != OLD_VAULTS_ADAPTER:
463466
assert not vault_hub.hasRole(bad_debt_master_role, NEW_VAULTS_ADAPTER), "New VaultsAdapter should not have BAD_DEBT_MASTER_ROLE on VaultHub before upgrade"
464467

465-
# Step 1.7. Check CSM module parameters before upgrade
468+
# ======================== PDG items ========================
469+
# Step 1.7. Check PredepositGuarantee implementation before upgrade
470+
predeposit_guarantee_impl_before = str(predeposit_guarantee_proxy.proxy__getImplementation()).lower()
471+
assert predeposit_guarantee_impl_before != PREDEPOSIT_GUARANTEE_NEW_IMPL.lower(), "PredepositGuarantee should have old implementation before upgrade"
472+
473+
# Step 1.8-1.10. Check PredepositGuarantee is paused before upgrade
474+
assert predeposit_guarantee.isPaused(), "PredepositGuarantee should be paused before upgrade"
475+
476+
# ======================== Lido items ========================
477+
# Step 1.11-1.13. Check max external ratio before upgrade
478+
max_external_ratio_before = lido.getMaxExternalRatioBP()
479+
assert max_external_ratio_before == 300, "Lido max external ratio should be 3% (300 BP) before upgrade"
480+
481+
# ======================== CSM items ========================
482+
# Step 1.14. Check CSM module parameters before upgrade
466483
csm_module_before = staking_router.getStakingModule(CSM_MODULE_ID)
467484
assert csm_module_before["stakeShareLimit"] == CSM_MODULE_OLD_TARGET_SHARE_BP, "CSM module should have old stake share limit before upgrade"
468485
assert csm_module_before["priorityExitShareThreshold"] == CSM_MODULE_OLD_PRIORITY_EXIT_THRESHOLD_BP, "CSM module should have old priority exit threshold before upgrade"
@@ -471,27 +488,14 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
471488
assert csm_module_before["maxDepositsPerBlock"] == CSM_MODULE_MAX_DEPOSITS_PER_BLOCK, "CSM max deposits per block should be unchanged before upgrade"
472489
assert csm_module_before["minDepositBlockDistance"] == CSM_MODULE_MIN_DEPOSIT_BLOCK_DISTANCE, "CSM min deposit block distance should be unchanged before upgrade"
473490

474-
# Step 1.8. Check TwoPhaseFrameConfigUpdate does not have MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus before upgrade
491+
# Step 1.15. Check TwoPhaseFrameConfigUpdate does not have MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus before upgrade
475492
assert not cs_hash_consensus.hasRole(manage_frame_config_role, TWO_PHASE_FRAME_CONFIG_UPDATE), "TwoPhaseFrameConfigUpdate should not have MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus before upgrade"
476493

477494
# Test that executeOffsetPhase reverts with permission denied error before enactment
478495
chain.snapshot()
479496
two_phase_frame_config_update_revert_no_permission_test(stranger)
480497
chain.revert()
481498

482-
# Step 1.9. Check PredepositGuarantee implementation before upgrade
483-
predeposit_guarantee_proxy = interface.OssifiableProxy(PREDEPOSIT_GUARANTEE)
484-
predeposit_guarantee_impl_before = str(predeposit_guarantee_proxy.proxy__getImplementation()).lower()
485-
assert predeposit_guarantee_impl_before != PREDEPOSIT_GUARANTEE_NEW_IMPL.lower(), "PredepositGuarantee should have old implementation before upgrade"
486-
487-
# Step 1.10-1.12. Check PredepositGuarantee is paused before upgrade
488-
predeposit_guarantee = interface.PredepositGuarantee(PREDEPOSIT_GUARANTEE)
489-
assert predeposit_guarantee.isPaused(), "PredepositGuarantee should be paused before upgrade"
490-
491-
# Step 1.13. Check max external ratio before upgrade
492-
max_external_ratio_before = lido.getMaxExternalRatioBP()
493-
assert max_external_ratio_before == 300, "Lido max external ratio should be 3% (300 BP) before upgrade"
494-
495499
if details["status"] == PROPOSAL_STATUS["submitted"]:
496500
chain.sleep(timelock.getAfterSubmitDelay() + 1)
497501
dual_governance.scheduleProposal(EXPECTED_DG_PROPOSAL_ID, {"from": stranger})
@@ -596,7 +600,7 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
596600
emitted_by=predeposit_guarantee,
597601
)
598602

599-
# ======================== External share items ========================
603+
# ======================== Lido items ========================
600604
# 1.11. Validate grant STAKING_CONTROL_ROLE on Lido to Agent
601605
validate_aragon_grant_permission_event(
602606
dg_events[10],
@@ -650,6 +654,7 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
650654
# ==================== After DG proposal executed checks ==================
651655
# =========================================================================
652656

657+
# ======================== EasyTrack items ========================
653658
# Step 1.1. Check old VaultsAdapter does not have REGISTRY_ROLE on OperatorGrid
654659
assert not operator_grid.hasRole(registry_role, OLD_VAULTS_ADAPTER), "Old VaultsAdapter should not have REGISTRY_ROLE on OperatorGrid after upgrade"
655660

@@ -668,7 +673,20 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
668673
# Step 1.6. Check new VaultsAdapter has BAD_DEBT_MASTER_ROLE on VaultHub
669674
assert vault_hub.hasRole(bad_debt_master_role, NEW_VAULTS_ADAPTER), "New VaultsAdapter should have BAD_DEBT_MASTER_ROLE on VaultHub after upgrade"
670675

671-
# Step 1.7. Check CSM module parameters after upgrade
676+
# ======================== PDG items ========================
677+
# Step 1.7. Check PredepositGuarantee implementation after upgrade
678+
assert str(predeposit_guarantee_proxy.proxy__getImplementation()).lower() == PREDEPOSIT_GUARANTEE_NEW_IMPL.lower(), "PredepositGuarantee should have new implementation after upgrade"
679+
680+
# Step 1.8-1.10. Check PredepositGuarantee is unpaused after upgrade and Agent does not have RESUME_ROLE
681+
assert not predeposit_guarantee.isPaused(), "PredepositGuarantee should be unpaused after upgrade"
682+
assert not predeposit_guarantee.hasRole(resume_role, AGENT), "Agent should not have RESUME_ROLE on PredepositGuarantee after upgrade"
683+
684+
# ======================== Lido items ========================
685+
# Step 1.11-1.13. Check max external ratio after upgrade and Agent does not have STAKING_CONTROL_ROLE
686+
assert lido.getMaxExternalRatioBP() == MAX_EXTERNAL_RATIO_BP, "Lido max external ratio should be 30% after upgrade"
687+
688+
# ======================== CSM items ========================
689+
# Step 1.14. Check CSM module parameters after upgrade
672690
csm_module_after = staking_router.getStakingModule(CSM_MODULE_ID)
673691
assert csm_module_after["stakeShareLimit"] == CSM_MODULE_NEW_TARGET_SHARE_BP, "CSM module should have new stake share limit after upgrade"
674692
assert csm_module_after["priorityExitShareThreshold"] == CSM_MODULE_NEW_PRIORITY_EXIT_THRESHOLD_BP, "CSM module should have new priority exit threshold after upgrade"
@@ -680,20 +698,10 @@ def test_vote(helpers, accounts, ldo_holder, vote_ids_from_env, stranger, dual_g
680698
if key not in changed_fields:
681699
assert csm_module_after[key] == csm_module_before[key], f"CSM module {key} should be unchanged after upgrade"
682700

683-
# Step 1.8. Check TwoPhaseFrameConfigUpdate has MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus after upgrade
701+
# Step 1.15. Check TwoPhaseFrameConfigUpdate has MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus after upgrade
684702
assert cs_hash_consensus.hasRole(manage_frame_config_role, TWO_PHASE_FRAME_CONFIG_UPDATE), "TwoPhaseFrameConfigUpdate should have MANAGE_FRAME_CONFIG_ROLE on CS HashConsensus after upgrade"
685703

686-
# Step 1.9. Check PredepositGuarantee implementation after upgrade
687-
predeposit_guarantee_proxy = interface.OssifiableProxy(PREDEPOSIT_GUARANTEE)
688-
assert str(predeposit_guarantee_proxy.proxy__getImplementation()).lower() == PREDEPOSIT_GUARANTEE_NEW_IMPL.lower(), "PredepositGuarantee should have new implementation after upgrade"
689-
690-
# Step 1.10-1.12. Check PredepositGuarantee is unpaused after upgrade and Agent does not have RESUME_ROLE
691-
predeposit_guarantee = interface.PredepositGuarantee(PREDEPOSIT_GUARANTEE)
692-
assert not predeposit_guarantee.isPaused(), "PredepositGuarantee should be unpaused after upgrade"
693-
assert not predeposit_guarantee.hasRole(resume_role, AGENT), "Agent should not have RESUME_ROLE on PredepositGuarantee after upgrade"
694-
695-
# Step 1.13. Check max external ratio after upgrade
696-
assert lido.getMaxExternalRatioBP() == MAX_EXTERNAL_RATIO_BP, "Lido max external ratio should be 30% after upgrade"
704+
697705

698706
# Scenario tests for Easy Track factories behavior after the vote ----------------------------------------------------
699707
# --------------------------------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)