11import pytest
22
3- from brownie import reverts , web3 , ZERO_ADDRESS
3+ from brownie import reverts , web3 , ZERO_ADDRESS , accounts
44
55from utils .balance import set_balance_in_wei
66from utils .config import (
1717 oracle_report , wait_to_next_available_report_time , prepare_csm_report ,
1818 reach_consensus ,
1919)
20- from utils .test .staking_router_helpers import set_staking_module_status , StakingModuleStatus
20+ from utils .test .staking_router_helpers import (
21+ set_staking_module_status , StakingModuleStatus ,
22+ increase_staking_module_share ,
23+ )
2124
2225contracts : ContractsLazyLoader = contracts
2326
2427CSM_MODULE_ID = 3
28+ MAX_DEPOSITS = 50
2529
2630
2731@pytest .fixture (scope = "module" )
@@ -43,6 +47,7 @@ def fee_distributor():
4347def fee_oracle ():
4448 return contracts .cs_fee_oracle
4549
50+
4651@pytest .fixture (scope = "module" )
4752def early_adoption ():
4853 return contracts .cs_early_adoption
@@ -63,12 +68,18 @@ def pause_modules():
6368 if module [0 ] != CSM_MODULE_ID :
6469 set_staking_module_status (module [0 ], StakingModuleStatus .Stopped )
6570
71+ @pytest .fixture
72+ def remove_stake_limit ():
73+ contracts .lido .removeStakingLimit ({"from" : accounts .at (contracts .voting , force = True )})
74+
6675
6776@pytest .fixture
68- def deposits_to_csm (csm , pause_modules , node_operator ):
77+ def deposits_to_csm (csm , pause_modules , node_operator , remove_stake_limit ):
6978 (_ , _ , depositable ) = csm .getStakingModuleSummary ()
7079 fill_deposit_buffer (depositable )
71- contracts .lido .deposit (depositable , CSM_MODULE_ID , "0x" , {"from" : contracts .deposit_security_module })
80+ increase_staking_module_share (module_id = CSM_MODULE_ID , share_multiplier = 2 )
81+ for i in range (0 , depositable , MAX_DEPOSITS ):
82+ contracts .lido .deposit (MAX_DEPOSITS , CSM_MODULE_ID , "0x" , {"from" : contracts .deposit_security_module })
7283
7384
7485@pytest .fixture
@@ -150,12 +161,14 @@ def test_upload_keys_more_than_limit(csm, accounting, node_operator):
150161
151162
152163@pytest .mark .usefixtures ("pause_modules" )
153- def test_deposit (node_operator , csm ):
164+ def test_deposit (node_operator , csm , remove_stake_limit ):
154165 (_ , _ , depositable_validators_count ) = csm .getStakingModuleSummary ()
155166 deposits_count = depositable_validators_count
156167 fill_deposit_buffer (deposits_count )
168+ increase_staking_module_share (module_id = CSM_MODULE_ID , share_multiplier = 2 )
157169
158- contracts .lido .deposit (deposits_count , CSM_MODULE_ID , "0x" , {"from" : contracts .deposit_security_module })
170+ for i in range (0 , deposits_count , MAX_DEPOSITS ):
171+ contracts .lido .deposit (MAX_DEPOSITS , CSM_MODULE_ID , "0x" , {"from" : contracts .deposit_security_module })
159172
160173 no = csm .getNodeOperator (node_operator )
161174 assert no ["totalDepositedKeys" ] == no ["totalAddedKeys" ]
@@ -238,7 +251,7 @@ def test_csm_report_stuck(csm, node_operator, extra_data_service):
238251
239252
240253@pytest .mark .usefixtures ("deposits_to_csm" )
241- def test_csm_get_staking_module_summary (csm , accounting , node_operator , extra_data_service ):
254+ def test_csm_get_staking_module_summary (csm , accounting , node_operator , extra_data_service , remove_stake_limit ):
242255 (exited_before , deposited_before , depositable_before ) = contracts .staking_router .getStakingModuleSummary (CSM_MODULE_ID )
243256
244257 # Assure there are new exited keys
@@ -259,6 +272,8 @@ def test_csm_get_staking_module_summary(csm, accounting, node_operator, extra_da
259272 new_keys = 5
260273 new_depositable = new_keys - deposits_count
261274 csm_upload_keys (csm , accounting , node_operator , new_keys )
275+ increase_staking_module_share (module_id = CSM_MODULE_ID , share_multiplier = 2 )
276+
262277 fill_deposit_buffer (deposits_count )
263278 contracts .lido .deposit (deposits_count , CSM_MODULE_ID , "0x" , {"from" : contracts .deposit_security_module })
264279
0 commit comments