Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0c1cb99
feat: srv3 acceptance tests
Amuhar Jul 7, 2026
d90f91d
fix: circuit_breaker tests fix
Amuhar Jul 7, 2026
9315d36
fix: add new interfaces
krogla Jul 9, 2026
d2e691c
chore: update srv3 vote items description
krogla Jul 9, 2026
17bf587
feat: set actual UpgradeVoteScript mainnet address
krogla Jul 9, 2026
bfa7829
test: srv3 voting before/after test
krogla Jul 9, 2026
cf232bc
fix: bump srv3 vote ipfs description
krogla Jul 9, 2026
54f6700
fix: update mainnet addresses
krogla Jul 9, 2026
b854124
Merge pull request #646 from lidofinance/feat/srv3-upgrade
krogla Jul 9, 2026
d328d08
fix: stake_distribution update
Amuhar Jul 9, 2026
49f746a
test: add staking modules vote regressions
skhomuti Jul 9, 2026
61bd7a1
ci: keep staking modules workflow dispatchable
skhomuti Jul 9, 2026
8ea20e2
test: harden merkle gate permission revert check
skhomuti Jul 9, 2026
cddf419
test: update staking modules regression workflow
skhomuti Jul 9, 2026
16aa87b
Merge remote-tracking branch 'origin/fix/srv3-tests' into fix/srv3-tests
Amuhar Jul 9, 2026
794aa09
test: fix staking modules ABI references
skhomuti Jul 9, 2026
d7f6c8e
test: skip some changed by upgrade slots from snapshot
krogla Jul 9, 2026
66ea219
test: exclude aggregate/view slots touched by mandatory oracle report…
krogla Jul 9, 2026
cc2a3c6
test: workaround for deposit flor before/after upgrade
krogla Jul 9, 2026
d3600a6
test: exclude slots updated by mandatory oracle report before upgrade
krogla Jul 9, 2026
da4f0fd
fix: update target share via old method
Amuhar Jul 9, 2026
a6d0dc3
Merge pull request #645 from lidofinance/codex/modules-regression-pr6…
skhomuti Jul 10, 2026
e6ae588
fix: top up gateway acceptance
Amuhar Jul 10, 2026
956cfc3
Merge remote-tracking branch 'origin/fix/srv3-tests' into fix/srv3-tests
Amuhar Jul 10, 2026
9c9bede
fix: test_pause_resume
Amuhar Jul 10, 2026
2c9af44
add curated module v2 helpers + adjust sr distribution tests
skhomuti Jul 10, 2026
28acaa7
Merge branch 'fix/srv3-tests' of github.com:lidofinance/scripts into …
krogla Jul 10, 2026
7337150
fix: disable balance_check_middleware for snapshots
krogla Jul 10, 2026
3268630
fix: permissions tests
Amuhar Jul 10, 2026
9991535
fix: refactor and temp bypass deposit in nor snapshot test
krogla Jul 10, 2026
02ac283
Merge branch 'fix/srv3-tests' of github.com:lidofinance/scripts into …
krogla Jul 10, 2026
87fafd6
chore: del commented code
krogla Jul 10, 2026
551164f
fix: test accounts fund
krogla Jul 10, 2026
ac7632b
feat: allowconsolidationpair easytrack factory test
krogla Jul 10, 2026
560d9b8
fix: staking module happy path
Amuhar Jul 10, 2026
ef4a814
Merge remote-tracking branch 'origin/fix/srv3-tests' into fix/srv3-tests
Amuhar Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,14 @@ jobs:
run: poetry run brownie networks import network-config.yaml True
working-directory: scripts

- name: Capture pre-vote block for staking modules regression
id: modules-regression-vote-block
shell: bash
run: |
vote_prev_block=$(make --no-print-directory __get_rpc_latest_block_number CORE_TESTS_TARGET_RPC_URL=${{ env.HARDHAT_NODE_URL }})
echo "vote_prev_block=$vote_prev_block" >> "$GITHUB_OUTPUT"
working-directory: scripts

- name: Prepare test environment with Brownie
run: PYTHONPATH=$PWD poetry run brownie run scripts/ci/prepare_environment --network mfh-1
working-directory: scripts
Expand All @@ -100,6 +108,7 @@ jobs:
uses: lidofinance/staking-modules/.github/actions/regression-tests@develop
with:
repository: lidofinance/staking-modules
ref: main
ref: develop
path: staking-modules
rpc_url: ${{ env.HARDHAT_NODE_URL }}
vote_prev_block: ${{ steps.modules-regression-vote-block.outputs.vote_prev_block }}
157 changes: 134 additions & 23 deletions configs/config_mainnet.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,15 @@
EASYTRACK_CURATED_SUBMIT_VALIDATOR_EXIT_REQUEST_HASHES_FACTORY = "0x4F716AD3Cc7A3A5cdA2359e5B2c84335c171dCde"
EASYTRACK_SIMPLE_DVT_SUBMIT_VALIDATOR_EXIT_REQUEST_HASHES_FACTORY = "0x58A59dDC6Aea9b1D5743D024E15DfA4badB56E37"
EASYTRACK_CS_SET_VETTED_GATE_TREE_FACTORY = "0xBc5642bDD6F2a54b01A75605aAe9143525D97308"
EASYTRACK_CSM_SET_MERKLE_GATE_TREE_FACTORY = "0xf3ec30B86c3dC1b8a1C754D885F9bE3160e15B4c"
EASYTRACK_CSM_REPORT_WITHDRAWALS_FOR_SLASHED_VALIDATORS_FACTORY = "0xE330516a03bDdEBA4209b5591112f1aa3dd90F0A"
EASYTRACK_CSM_SETTLE_GENERAL_DELAYED_PENALTY_FACTORY = "0xB71755bE764abB4Ce26cb4dADf056Be57fB8880F"
EASYTRACK_CM_SET_MERKLE_GATE_TREE_FACTORY = "0xa121667D1780a1D54EAEd67AE17ee13d0f872D60"
EASYTRACK_CM_REPORT_WITHDRAWALS_FOR_SLASHED_VALIDATORS_FACTORY = "0x71862Abd99819597670007bb992A7a7562fE50f2"
EASYTRACK_CM_SETTLE_GENERAL_DELAYED_PENALTY_FACTORY = "0xfffEFC16231eDC6Dc9C93e364ff4D4E3f787f416"
EASYTRACK_CM_CREATE_OR_UPDATE_OPERATOR_GROUP_FACTORY = "0x2fC78638b77381e9D040163Bd6EB1cac967bDBdF"
EASYTRACK_UPDATE_STAKING_MODULE_SHARE_LIMITS_FACTORY = "0x0C6703F1d8D9DdfB6c6e5F57b4f7432a6500D6D8"
EASYTRACK_ALLOW_CONSOLIDATION_PAIR_FACTORY = "0x29e23B1EF0c9fffAc8330F9abaCebDDD827E4b5C"

# Liquidity Observation Lab (LOL) stETH AllowedRecipientsRegistry
LOL_ALLOWED_RECIPIENTS_REGISTRY = "0x48c4929630099b217136b64089E8543dB0E5163a"
Expand Down Expand Up @@ -116,7 +125,7 @@

# LidoLocator
LIDO_LOCATOR = "0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb"
LIDO_LOCATOR_IMPL = "0x2f8779042EFaEd4c53db2Ce293eB6B3f7096C72d"
LIDO_LOCATOR_IMPL = "0x0360002bf51DCae1c0267aE0AFDaBacAF7De686b" # SRV3

# Other upgrade addresses
LIDO_V2_UPGRADE_TEMPLATE = "0xa818fF9EC93122Bf9401ab4340C42De638CD600a"
Expand All @@ -129,10 +138,12 @@
WITHDRAWAL_CREDENTIALS = "0x010000000000000000000000b9d7934878b5fb9610b3fe8a5e441e8fad7e293f"

# Lido
LIDO_IMPL = "0x6ca84080381E43938476814be61B779A8bB6a600"
LIDO_IMPL = "0x028271E30a695c0527A0C50cA30603feD004cDb0" # SRV3
# see Lido's proxy appId()
LIDO_ARAGON_APP_ID = "0x3ca7c3e38968823ccb4c78ea688df41356f182ae1d159e4ee608d30d68cef320"
LIDO_MAX_STAKE_LIMIT_ETH = 150_000
# set by finalizeUpgrade_v4 (upgrade-params-mainnet.toml [lido].depositsReserveTarget)
LIDO_DEPOSITS_RESERVE_TARGET = 1_500 * 10**18 # 1500 ETH # SRV3

# LegacyOracle (former LidoOracle)
## address is LIDO_LEGACY_ORACLE
Expand Down Expand Up @@ -163,6 +174,35 @@
CURATED_STAKING_MODULE_MAX_DEPOSITS_PER_BLOCK = 150
CURATED_STAKING_MODULE_MIN_DEPOSITS_BLOCK_DISTANCE = 25

# Curated Module v2 — added by the SRv3/CMv2 upgrade via StakingRouter.addStakingModule.
# Values mirror UpgradeConfig.getCuratedModuleConfig() (see core deployed-*.json `curatedModule`).
# It is appended after the existing 3 modules (Curated=1, SimpleDVT=2, CSM=3), so its id is 4.
CURATED_V2_STAKING_MODULE_ID = 4
CURATED_V2_STAKING_MODULE_ADDRESS = "0xDa5F930cE326EB5205085D66c72A4E79d60cB8C1" # SRV3
CURATED_V2_STAKING_MODULE_NAME = "curated-onchain-v2"
CURATED_V2_STAKING_MODULE_TARGET_SHARE_BP = 10000
CURATED_V2_STAKING_MODULE_PRIORITY_EXIT_SHARE_THRESHOLD = 10000
CURATED_V2_STAKING_MODULE_MODULE_FEE_BP = 400
CURATED_V2_STAKING_MODULE_TREASURY_FEE_BP = 600
CURATED_V2_STAKING_MODULE_MAX_DEPOSITS_PER_BLOCK = 100
CURATED_V2_STAKING_MODULE_MIN_DEPOSITS_BLOCK_DISTANCE = 75
CURATED_V2_ACCOUNTING = "0x2F91e3A8C5d6593bf4F8403fCfeCcd62dF59f6F6" # SRV3
CURATED_V2_FEE_ORACLE = "0x8EeFCdbD984c30E472BcbF545783D051CB5114e5" # SRV3
CURATED_V2_VERIFIER = "0xC392F457960f1B13Ebaf1aa6C065479dD507E1E3" # SRV3
CURATED_V2_EJECTOR = "0xe181A377A2d2BDE9A83f1474BC3DB7A412de091E" # SRV3
CM_MODULE_ADDRESS = CURATED_V2_STAKING_MODULE_ADDRESS
CM_META_REGISTRY_ADDRESS = "0xA64b339eebD3dC3De848298B6a140955932901d8"
CM_PROFESSIONAL_OPERATOR_GATE_ADDRESS = "0x6093EFA6B5E2FF3be54d1c895c9deA932805c49F"
CM_ACCOUNTING_ADDRESS = CURATED_V2_ACCOUNTING
CM_EJECTOR_ADDRESS = CURATED_V2_EJECTOR
# CuratedModuleConfig.circuitBreakerPauser — the vote registers it as pauser
# for all five CM v2 pausables on the CircuitBreaker
CURATED_V2_CIRCUIT_BREAKER_PAUSER = "0x2570e0b22AD904501dfB0d49575991ACB801dD91" # SRV3

# SRv3/CMv2 upgrade omnibus (UpgradeVoteScript) — the vote script reads its items
# from this contract. Synced from core/deployed-mainnet.json.
UPGRADE_VOTE_SCRIPT = "0xE6530830A2cf90773cB232748b2c674c27b6E0CA" # SRV3

# NodeOperatorsRegistry clone aka SimpleDVT
SIMPLE_DVT_IMPL = "0x6828b023e737f96B168aCd0b5c6351971a4F81aE"
SIMPLE_DVT_REPO = "0x2325b0a607808dE42D918DB07F925FFcCfBb2968"
Expand All @@ -186,6 +226,7 @@

# CSM
CS_ORACLE_EPOCHS_PER_FRAME = 225 * 28 # 28 days
CS_FEE_ORACLE_CONSENSUS_VERSION = 4 # SRV3: set by FeeOracle.finalizeUpgradeV3(consensusVersion)
CS_MODULE_ID = 3
CS_MODULE_NAME = "Community Staking"
CS_MODULE_MODULE_FEE_BP = 600
Expand All @@ -195,6 +236,8 @@
CS_MODULE_MAX_DEPOSITS_PER_BLOCK = 30
CS_MODULE_MIN_DEPOSIT_BLOCK_DISTANCE = 25

# CMV2

# OracleDaemonConfig
ORACLE_DAEMON_CONFIG = "0xbf05A929c3D7885a6aeAd833a992dA6E5ac23b09"
NORMALIZED_CL_REWARD_PER_EPOCH = 64
Expand All @@ -209,7 +252,7 @@
EXIT_EVENTS_LOOKBACK_WINDOW_IN_SLOTS = 14 * 7200 # 14 days

# OracleReportSanityChecker
ORACLE_REPORT_SANITY_CHECKER = "0xf1647c86E6D7959f638DD9CE1d90e2F3C9503129"
ORACLE_REPORT_SANITY_CHECKER = "0x147f8d3cf3004FAf9Bf94E88B54b6C06De507be9" # SRV3
APPEARED_VALIDATORS_PER_DAY_LIMIT = 1800
EXITED_VALIDATORS_PER_DAY_LIMIT = 3600
ANNUAL_BALANCE_INCREASE_BP_LIMIT = 1000 # 10%
Expand All @@ -223,13 +266,23 @@
INACTIVITY_PENALTIES_AMOUNT_PWEI = 101
CL_BALANCE_ORACLES_ERROR_UPPER_BP_LIMIT = 50

EXITED_ETH_AMOUNT_PER_DAY_LIMIT = 57600
APPEARED_ETH_AMOUNT_PER_DAY_LIMIT = 57600
MAX_BALANCE_EXIT_REQUESTED_PER_REPORT_IN_ETH = 19200
MAX_EFFECTIVE_BALANCE_WEIGHT_WC_TYPE_01 = 32
MAX_EFFECTIVE_BALANCE_WEIGHT_WC_TYPE_02 = 2048
MAX_CL_BALANCE_DECREASE_BP = 360
CONSOLIDATION_ETH_AMOUNT_PER_DAY_LIMIT = 93375
EXITED_VALIDATOR_ETH_AMOUNT_LIMIT = 32
EXTERNAL_PENDING_BALANCE_CAP_ETH = 300

# Burner
BURNER = "0xE76c52750019b80B43E36DF30bf4060EB73F573a"
TOTAL_NON_COVER_SHARES_BURNT = 32145684728326685744
TOTAL_COVER_SHARES_BURNT = 0

# DepositSecurityModule
DEPOSIT_SECURITY_MODULE = "0xfFA96D84dEF2EA035c7AB153D8B991128e3d72fD"
DEPOSIT_SECURITY_MODULE = "0xF573E9E3de1f86B085417ab294f56E7920B4e9Be" # SRV3
DEPOSIT_SECURITY_MODULE_V2 = "0xC77F8768774E1c9244BEed705C4354f2113CFc09" # dsm address before SR V2 enact
DSM_MAX_OPERATORS_PER_UNVETTING = 200
DSM_PAUSE_INTENT_VALIDITY_PERIOD_BLOCKS = 6646
Expand All @@ -247,23 +300,27 @@
# AccountingOracle
# and its corresponding HashConsensus
ACCOUNTING_ORACLE = "0x852deD011285fe67063a08005c71a85690503Cee"
ACCOUNTING_ORACLE_IMPL = "0x1455B96780A93e08abFE41243Db92E2fCbb0141c"
ACCOUNTING_ORACLE_IMPL = "0xe4f03D1107d1905B6F2A28FCb6Af221E0CE19136" # SRV3
HASH_CONSENSUS_FOR_AO = "0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288"
AO_EPOCHS_PER_FRAME = 225
AO_FAST_LANE_LENGTH_SLOTS = 100
AO_CONSENSUS_VERSION = 5
# set by finalizeUpgrade_v5 (upgrade-params-mainnet.toml [accountingOracle].consensusVersion)
AO_CONSENSUS_VERSION = 6 # SRV3

# ValidatorsExitBusOracle
VALIDATORS_EXIT_BUS_ORACLE = "0x0De4Ea0184c2ad0BacA7183356Aea5B8d5Bf5c6e"
VALIDATORS_EXIT_BUS_ORACLE_IMPL = "0x905A211eD6830Cfc95643f0bE2ff64E7f3bf9b94"
VALIDATORS_EXIT_BUS_ORACLE_IMPL = "0x2C3386b39db89eef0F362A3BE0C05a6811E809E3" # SRV3
HASH_CONSENSUS_FOR_VEBO = "0x7FaDB6358950c5fAA66Cb5EB8eE5147De3df355a"
VEBO_EPOCHS_PER_FRAME = 45
VEBO_FAST_LANE_LENGTH_SLOTS = 100
VEBO_CONSENSUS_VERSION = 4
VEBO_CONSENSUS_VERSION = 5 # SRV3 (finalizeUpgrade_v3)
MAX_VALIDATORS_PER_REPORT = 600
MAX_EXIT_REQUESTS_LIMIT = 11200
EXITS_PER_FRAME = 1
FRAME_DURATION_IN_SEC = 48
# VEBO exit-balance rate limit, set by finalizeUpgrade_v3 (upgrade-params-mainnet.toml [validatorsExitBusOracle])
VEBO_MAX_EXIT_BALANCE_ETH = 358400
VEBO_BALANCE_PER_FRAME_ETH = 32


# AccountingOracle and ValidatorsExitBusOracle
Expand Down Expand Up @@ -300,17 +357,56 @@

# WithdrawalsVault
WITHDRAWAL_VAULT_IMPL_V1 = "0xe681faB8851484B57F32143FD78548f25fD59980"
WITHDRAWAL_VAULT_IMPL = "0x7D2BAa6094E1C4B60Da4cbAF4A77C3f4694fD53D"
WITHDRAWAL_VAULT_IMPL = "0xfB4521BD151BFB45DB6045D2d07e58e0f597e340" # SRV3

# EIP712StETH
EIP712_STETH = "0x8F73e4C2A6D852bb4ab2A45E6a9CF5715b3228B7"

# StakingRouter
STAKING_ROUTER = "0xFdDf38947aFB03C621C71b06C9C70bce73f12999"

STAKING_ROUTER_IMPL = "0x226f9265CBC37231882b7409658C18bB7738173A"
STAKING_ROUTER_VERSION = 3
STAKING_ROUTER_IMPL = "0xDD76927045435C7605cf6f5F978cfb8CABDb5F80" # SRV3
STAKING_ROUTER_VERSION = 4 # SRV3
# Global per-block top-up cap (in Gwei), set by StakingRouter.finalizeUpgrade_v4
STAKING_ROUTER_MAX_TOP_UP_PER_BLOCK_GWEI = 3200000000000 # SRV3

# TopUpGateway
TOP_UP_GATEWAY = "0x3FC2C71579D80790Aaa3fc7Be8B66ac39dC57374" # SRV3
TOP_UP_GATEWAY_IMPL = "0xb08dBc68C521cD7A4318dc4C807a42bEB20f1106" # SRV3
# initialize() params — upgrade-params-mainnet.toml [topUpGateway]
TOP_UP_GATEWAY_MAX_VALIDATORS_PER_TOP_UP = 32
TOP_UP_GATEWAY_MIN_BLOCK_DISTANCE = 75
TOP_UP_GATEWAY_MAX_ROOT_AGE = 600 # seconds
TOP_UP_GATEWAY_TARGET_BALANCE_GWEI = 2_046_750_000_000 # 2046.75 ETH (1.25 ETH margin below MaxEB)
TOP_UP_GATEWAY_MIN_TOP_UP_GWEI = 2_000_000_000 # 2 ETH
# sole TOP_UP_ROLE holder (coreUpgrade.topUpGatewayDepositor, stable deploy input)
TOP_UP_GATEWAY_DEPOSITOR = "0xF82aC5937A20dC862F9bc0668779031E06000f17"

# CircuitBreaker — TW-upgrade pause hub; the SRv3 vote registers it as pauser for the new gateways
CIRCUIT_BREAKER = "0x6019CB557978296BA3C08a7B73225C0975DFB2F7"

# ConsolidationGateway — deployed directly (no proxy), admin/limits set in the constructor
CONSOLIDATION_GATEWAY = "0x17be979344f2c2cC806229a532D92f8742C10462" # SRV3
# constructor params — upgrade-params-mainnet.toml [consolidationGateway]
CONSOLIDATION_GATEWAY_MAX_REQUESTS_LIMIT = 2900 # SRV3
CONSOLIDATION_GATEWAY_CONSOLIDATIONS_PER_FRAME = 1 # SRV3
CONSOLIDATION_GATEWAY_FRAME_DURATION_IN_SEC = 30 # SRV3

# ConsolidationBus
CONSOLIDATION_BUS = "0xd907CE33B4Be423823d1CFFe80BD147E8b8554C8" # SRV3
CONSOLIDATION_BUS_IMPL = "0xFfDe8Acab9D7037f29198Ad03ad6d05bac8B0a2E" # SRV3
# initialize() params — upgrade-params-mainnet.toml [consolidationBus]
CONSOLIDATION_BUS_BATCH_SIZE = 200 # SRV3
CONSOLIDATION_BUS_MAX_GROUPS_IN_BATCH = 10 # SRV3
CONSOLIDATION_BUS_EXECUTION_DELAY = 86400 # SRV3 (seconds)

# ConsolidationMigrator — Curated (id 1) -> Curated Module v2 (id 4) migration
CONSOLIDATION_MIGRATOR = "0x9Dc70b5A4f4F5E4AF9058C983D560564F031f1D7" # SRV3
CONSOLIDATION_MIGRATOR_IMPL = "0x6Fb4c152F092373dD71f0C07C83c1E77406599aB" # SRV3
CONSOLIDATION_SOURCE_MODULE_ID = 1 # SRV3
CONSOLIDATION_TARGET_MODULE_ID = 4 # SRV3 == CURATED_V2_STAKING_MODULE_ID
# Curated Module Committee (CMC) multisig — stable deploy input from the toml
CONSOLIDATION_COMMITTEE = "0x2570e0b22AD904501dfB0d49575991ACB801dD91" # SRV3

# Not a precise but still some estimation of the fees. Assume here that all modules are filled
# SR_MODULES_FEE =
Expand Down Expand Up @@ -359,12 +455,15 @@

# CircuitBreaker
CIRCUIT_BREAKER = "0x6019CB557978296BA3C08a7B73225C0975DFB2F7"
CIRCUIT_BREAKER_MIN_PAUSE_DURATION = 432000 # 5 days
CIRCUIT_BREAKER_MAX_PAUSE_DURATION = 5184000 # 60 days
CIRCUIT_BREAKER_PAUSE_DURATION = 1814400 # 21 days
CIRCUIT_BREAKER_MIN_HEARTBEAT_INTERVAL = 2592000 # 30 days
# GlobalConfig.circuitBreakerCommittee — the vote registers it as pauser for
# ConsolidationGateway / TopUpGateway
CIRCUIT_BREAKER_COMMITTEE = "0x8772E3a2D86B9347A2688f9bc1808A6d8917760C" # SRV3
CIRCUIT_BREAKER_MIN_PAUSE_DURATION = 432000 # 5 days
CIRCUIT_BREAKER_MAX_PAUSE_DURATION = 5184000 # 60 days
CIRCUIT_BREAKER_PAUSE_DURATION = 1814400 # 21 days
CIRCUIT_BREAKER_MIN_HEARTBEAT_INTERVAL = 2592000 # 30 days
CIRCUIT_BREAKER_MAX_HEARTBEAT_INTERVAL = 94608000 # 1095 days (~3 years)
CIRCUIT_BREAKER_HEARTBEAT_INTERVAL = 31536000 # 1 year (365 days)
CIRCUIT_BREAKER_HEARTBEAT_INTERVAL = 31536000 # 1 year (365 days)

# Aragon Permissions test
ACL_DEPLOY_BLOCK_NUMBER = 11473216
Expand Down Expand Up @@ -416,16 +515,20 @@
CS_FEE_DISTRIBUTOR_ADDRESS = "0xD99CC66fEC647E68294C6477B40fC7E0F6F618D0"
CS_FEE_ORACLE_ADDRESS = "0x4D4074628678Bd302921c20573EEa1ed38DdF7FB"
CS_GATE_SEAL_ADDRESS = "0x16Dbd4B85a448bE564f1742d5c8cCdD2bB3185D0"
CS_VERIFIER_ADDRESS = "0xeC6Cc185f671F627fb9b6f06C8772755F587b05d"
CS_VERIFIER_ADDRESS_OLD = "0x3Dfc50f22aCA652a0a6F28a0F892ab62074b5583"
CS_VERIFIER_ADDRESS = "0xfce7aB839e55de77730716D05b3553e45ab3A5Ba" # SRV3 newVerifier
CS_VERIFIER_ADDRESS_OLD = "0xdC5FE1782B6943f318E05230d688713a560063DC"
CS_PARAMS_REGISTRY_ADDRESS = "0x9D28ad303C90DF524BA960d7a2DAC56DcC31e428"
CS_EXIT_PENALTIES_ADDRESS = "0x06cd61045f958A209a0f8D746e103eCc625f4193"
CS_STRIKES_ADDRESS = "0xaa328816027F2D32B9F56d190BC9Fa4A5C07637f"
CS_EJECTOR_ADDRESS = "0xc72b58aa02E0e98cF8A4a0E9Dce75e763800802C"
CS_EJECTOR_ADDRESS = "0x610B517D380f287c239C93F8eF6FfBd567AA4bA5" # SRV3
CS_VETTED_GATE_ADDRESS = "0xB314D4A76C457c93150d308787939063F4Cc67E0"
CS_PERMISSIONLESS_GATE_ADDRESS = "0xcF33a38111d0B1246A3F38a838fb41D626B454f0"
CS_PERMISSIONLESS_GATE_ADDRESS = "0xb8cd8F059Ad7a5dB8CAfDe34aAb007317F7156C8" # SRV3 newPermissionlessGate
CS_PERMISSIONLESS_GATE_V3_ADDRESS = CS_PERMISSIONLESS_GATE_ADDRESS
CS_VERIFIER_V2_ADDRESS = "0xdC5FE1782B6943f318E05230d688713a560063DC"
CS_VERIFIER_V3_ADDRESS = CS_VERIFIER_ADDRESS
CS_IDENTIFIED_DVT_CLUSTER_GATE_ADDRESS = "0xa12760721A72A7199aB38059DA6690b9Cd4ed7B8" # SRV3
CS_GATE_SEAL_V2_ADDRESS = "0xE1686C2E90eb41a48356c1cC7FaA17629af3ADB3"
CS_EJECTOR_V3_ADDRESS = CS_EJECTOR_ADDRESS
TWO_PHASE_FRAME_CONFIG_UPDATE = "0xb2B4DB1491cbe949ae85EfF01E0d3ee239f110C1"

# DualGovernance
Expand Down Expand Up @@ -474,7 +577,11 @@
"GOVERNANCE": DUAL_GOVERNANCE,
"EMERGENCY_ACTIVATION_COMMITTEE": EMERGENCY_ACTIVATION_COMMITTEE,
"EMERGENCY_EXECUTION_COMMITTEE": EMERGENCY_EXECUTION_COMMITTEE,
"EMERGENCY_PROTECTION_DETAILS": (2592000, 0, 1813449600), # end-date extended by vote_2026_05_13
"EMERGENCY_PROTECTION_DETAILS": (
2592000,
0,
1813449600,
), # end-date extended by vote_2026_05_13
}

TIEBREAKER_VALUES = {
Expand Down Expand Up @@ -539,14 +646,18 @@
"TIEBREAKER_DETAILS": {
"TIEBREAKER_COMMITTEE": TIEBREAKER_VALUES["CORE_COMMITTEE"]["ADDRESS"],
"TIEBREAKER_ACTIVATION_TIMEOUT": 31536000, # 1 year
"WITHDRAWAL_BLOCKERS": (WITHDRAWAL_QUEUE, VALIDATORS_EXIT_BUS_ORACLE, TRIGGERABLE_WITHDRAWALS_GATEWAY),
"WITHDRAWAL_BLOCKERS": (
WITHDRAWAL_QUEUE,
VALIDATORS_EXIT_BUS_ORACLE,
TRIGGERABLE_WITHDRAWALS_GATEWAY,
),
},
}

# Lido V3 - stVaults
VAULT_HUB = "0x1d201BE093d847f6446530Efb0E8Fb426d176709"
ACCOUNTING = "0x23ED611be0e1a820978875C0122F92260804cdDf"
ACCOUNTING_IMPL = "0xd43a3E984071F40d5d840f60708Af0e9526785df"
ACCOUNTING_IMPL = "0x3aa937Ac2ab89CDd363EdC6b5A4d4A42dF5bc043" # SRV3
OPERATOR_GRID = "0xC69685E89Cefc327b43B7234AC646451B27c544d"
LAZY_ORACLE = "0x5DB427080200c235F2Ae8Cd17A7be87921f7AD6c"
PREDEPOSIT_GUARANTEE = "0xF4bF42c6D6A0E38825785048124DBAD6c9eaaac3"
Expand Down
Loading
Loading