Skip to content

Conversation

@tsudmi
Copy link
Member

@tsudmi tsudmi commented Sep 27, 2025

No description provided.

Copilot AI review requested due to automatic review settings September 27, 2025 12:23
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes the ValidatorsChecker contracts by adding support for genesis vault pool escrow functionality. The changes ensure that genesis vaults properly account for assets held in their associated pool escrow contracts when calculating total vault assets.

  • Adds genesisVaultPoolEscrow parameter to ValidatorsChecker constructors
  • Updates asset calculation logic to include pool escrow balances for genesis vaults
  • Updates deployment configurations with new ValidatorsChecker addresses

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
contracts/validators/ValidatorsChecker.sol Adds pool escrow parameter to base constructor and stores it as immutable field
contracts/validators/GnoValidatorsChecker.sol Implements genesis vault detection and includes pool escrow assets in GNO calculations
contracts/validators/EthValidatorsChecker.sol Implements genesis vault detection and includes pool escrow ETH balance
test/gnosis/GnoValidatorsChecker.t.sol Updates test constructor to pass pool escrow parameter
test/EthValidatorsChecker.t.sol Updates test constructor to pass pool escrow parameter
script/UpgradeGnoNetwork.s.sol Updates deployment script to include pool escrow parameter
script/UpgradeEthNetwork.s.sol Updates deployment script to include pool escrow parameter
deployments/*.json Updates ValidatorsChecker contract addresses across all networks

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions
Copy link

Forge code coverage:

File % Lines % Statements % Branches % Funcs
contracts/base/ERC20Upgradeable.sol 100.00% (32/32) 100.00% (33/33) 100.00% (5/5) 100.00% (8/8)
contracts/base/Multicall.sol 100.00% (6/6) 100.00% (8/8) 100.00% (0/0) 100.00% (1/1)
contracts/curators/BalancedCurator.sol 100.00% (57/57) 100.00% (63/63) 100.00% (15/15) 100.00% (2/2)
contracts/curators/CuratorsRegistry.sol 100.00% (15/15) 100.00% (12/12) 100.00% (4/4) 100.00% (3/3)
contracts/libraries/EIP712Utils.sol 100.00% (2/2) 100.00% (2/2) 100.00% (0/0) 100.00% (1/1)
contracts/libraries/ExitQueue.sol 95.92% (47/49) 95.16% (59/62) 57.14% (4/7) 100.00% (5/5)
contracts/libraries/OsTokenUtils.sol 100.00% (13/13) 100.00% (14/14) 100.00% (5/5) 100.00% (1/1)
contracts/libraries/ValidatorUtils.sol 100.00% (93/93) 100.00% (105/105) 100.00% (16/16) 100.00% (7/7)
contracts/misc/EthRewardSplitter.sol 100.00% (5/5) 100.00% (3/3) 100.00% (0/0) 100.00% (2/2)
contracts/misc/GnoRewardSplitter.sol 100.00% (6/6) 100.00% (3/3) 100.00% (0/0) 100.00% (3/3)
contracts/misc/RewardSplitter.sol 100.00% (87/87) 98.88% (88/89) 91.67% (11/12) 100.00% (17/17)
contracts/misc/RewardSplitterFactory.sol 100.00% (6/6) 100.00% (4/4) 100.00% (0/0) 100.00% (2/2)
contracts/tokens/EthOsTokenRedeemer.sol 100.00% (6/6) 100.00% (5/5) 100.00% (0/0) 100.00% (3/3)
contracts/tokens/EthOsTokenVaultEscrow.sol 0.00% (0/4) 0.00% (0/3) 100.00% (0/0) 0.00% (0/2)
contracts/tokens/GnoOsTokenRedeemer.sol 100.00% (11/11) 100.00% (8/8) 100.00% (1/1) 100.00% (5/5)
contracts/tokens/GnoOsTokenVaultEscrow.sol 0.00% (0/4) 0.00% (0/2) 100.00% (0/0) 0.00% (0/2)
contracts/tokens/OsToken.sol 0.00% (0/15) 0.00% (0/15) 0.00% (0/3) 0.00% (0/6)
contracts/tokens/OsTokenConfig.sol 0.00% (0/30) 0.00% (0/34) 0.00% (0/11) 0.00% (0/4)
contracts/tokens/OsTokenFlashLoans.sol 0.00% (0/13) 0.00% (0/16) 0.00% (0/2) 0.00% (0/2)
contracts/tokens/OsTokenRedeemer.sol 98.71% (153/155) 98.27% (170/173) 92.59% (25/27) 100.00% (18/18)
contracts/tokens/OsTokenVaultController.sol 0.00% (0/107) 0.00% (0/117) 0.00% (0/14) 0.00% (0/17)
contracts/tokens/OsTokenVaultEscrow.sol 0.00% (0/90) 0.00% (0/98) 0.00% (0/22) 0.00% (0/11)
contracts/tokens/PriceFeed.sol 100.00% (14/14) 100.00% (11/11) 100.00% (0/0) 100.00% (6/6)
contracts/validators/ConsolidationsChecker.sol 100.00% (24/24) 100.00% (32/32) 100.00% (3/3) 100.00% (4/4)
contracts/validators/EthValidatorsChecker.sol 83.33% (5/6) 66.67% (4/6) 0.00% (0/1) 100.00% (2/2)
contracts/validators/GnoValidatorsChecker.sol 55.56% (5/9) 57.14% (4/7) 0.00% (0/1) 66.67% (2/3)
contracts/validators/ValidatorsChecker.sol 100.00% (78/78) 100.00% (102/102) 100.00% (17/17) 100.00% (7/7)
contracts/vaults/ethereum/EthBlocklistErc20Vault.sol 100.00% (27/27) 100.00% (23/23) 100.00% (1/1) 100.00% (8/8)
contracts/vaults/ethereum/EthBlocklistVault.sol 100.00% (23/23) 100.00% (20/20) 100.00% (1/1) 100.00% (7/7)
contracts/vaults/ethereum/EthErc20Vault.sol 100.00% (44/44) 100.00% (36/36) 100.00% (1/1) 100.00% (14/14)
contracts/vaults/ethereum/EthGenesisVault.sol 100.00% (45/45) 100.00% (52/52) 100.00% (8/8) 100.00% (11/11)
contracts/vaults/ethereum/EthPrivErc20Vault.sol 100.00% (27/27) 100.00% (23/23) 100.00% (1/1) 100.00% (8/8)
contracts/vaults/ethereum/EthPrivVault.sol 100.00% (23/23) 100.00% (20/20) 100.00% (1/1) 100.00% (7/7)
contracts/vaults/ethereum/EthVault.sol 100.00% (28/28) 100.00% (23/23) 100.00% (1/1) 100.00% (9/9)
contracts/vaults/ethereum/EthVaultFactory.sol 100.00% (15/15) 100.00% (12/12) 100.00% (2/2) 100.00% (2/2)
contracts/vaults/ethereum/custom/EthFoxVault.sol 100.00% (23/23) 100.00% (21/21) 100.00% (1/1) 100.00% (7/7)
contracts/vaults/ethereum/custom/EthMetaVault.sol 100.00% (51/51) 97.67% (42/43) 66.67% (2/3) 100.00% (19/19)
contracts/vaults/ethereum/custom/EthMetaVaultFactory.sol 100.00% (11/11) 100.00% (10/10) 100.00% (1/1) 100.00% (2/2)
contracts/vaults/ethereum/mev/OwnMevEscrow.sol 100.00% (10/10) 100.00% (8/8) 100.00% (1/1) 100.00% (3/3)
contracts/vaults/ethereum/mev/SharedMevEscrow.sol 100.00% (8/8) 100.00% (6/6) 100.00% (1/1) 100.00% (3/3)
contracts/vaults/gnosis/GnoBlocklistErc20Vault.sol 100.00% (22/22) 100.00% (20/20) 100.00% (1/1) 100.00% (6/6)
contracts/vaults/gnosis/GnoBlocklistVault.sol 100.00% (18/18) 100.00% (17/17) 100.00% (1/1) 100.00% (5/5)
contracts/vaults/gnosis/GnoErc20Vault.sol 100.00% (43/43) 100.00% (34/34) 100.00% (1/1) 100.00% (13/13)
contracts/vaults/gnosis/GnoGenesisVault.sol 100.00% (40/40) 100.00% (48/48) 100.00% (6/6) 100.00% (8/8)
contracts/vaults/gnosis/GnoPrivErc20Vault.sol 100.00% (22/22) 100.00% (20/20) 100.00% (1/1) 100.00% (6/6)
contracts/vaults/gnosis/GnoPrivVault.sol 100.00% (18/18) 100.00% (17/17) 100.00% (1/1) 100.00% (5/5)
contracts/vaults/gnosis/GnoVault.sol 100.00% (27/27) 100.00% (21/21) 100.00% (1/1) 100.00% (8/8)
contracts/vaults/gnosis/GnoVaultFactory.sol 100.00% (18/18) 100.00% (15/15) 100.00% (2/2) 100.00% (2/2)
contracts/vaults/gnosis/custom/GnoMetaVault.sol 100.00% (47/47) 100.00% (36/36) 100.00% (1/1) 100.00% (17/17)
contracts/vaults/gnosis/custom/GnoMetaVaultFactory.sol 100.00% (14/14) 100.00% (13/13) 100.00% (1/1) 100.00% (2/2)
contracts/vaults/gnosis/mev/GnoOwnMevEscrow.sol 100.00% (11/11) 100.00% (9/9) 100.00% (2/2) 100.00% (3/3)
contracts/vaults/gnosis/mev/GnoSharedMevEscrow.sol 100.00% (8/8) 100.00% (6/6) 100.00% (1/1) 100.00% (3/3)
contracts/vaults/modules/VaultAdmin.sol 100.00% (16/16) 100.00% (14/14) 100.00% (3/3) 100.00% (5/5)
contracts/vaults/modules/VaultBlocklist.sol 100.00% (17/17) 100.00% (13/13) 100.00% (3/3) 100.00% (5/5)
contracts/vaults/modules/VaultEnterExit.sol 100.00% (62/62) 98.61% (71/72) 90.91% (10/11) 100.00% (8/8)
contracts/vaults/modules/VaultEthStaking.sol 100.00% (30/30) 100.00% (29/29) 100.00% (3/3) 100.00% (9/9)
contracts/vaults/modules/VaultFee.sol 100.00% (29/29) 100.00% (28/28) 100.00% (6/6) 100.00% (5/5)
contracts/vaults/modules/VaultGnoStaking.sol 100.00% (43/43) 100.00% (37/37) 100.00% (2/2) 100.00% (11/11)
contracts/vaults/modules/VaultImmutables.sol 100.00% (9/9) 100.00% (8/8) 100.00% (2/2) 100.00% (4/4)
contracts/vaults/modules/VaultMev.sol 100.00% (16/16) 100.00% (15/15) 100.00% (4/4) 100.00% (4/4)
contracts/vaults/modules/VaultOsToken.sol 100.00% (90/90) 100.00% (93/93) 100.00% (15/15) 100.00% (13/13)
contracts/vaults/modules/VaultState.sol 98.28% (114/116) 97.54% (119/122) 78.57% (11/14) 100.00% (17/17)
contracts/vaults/modules/VaultSubVaults.sol 96.62% (257/266) 97.07% (298/307) 88.24% (45/51) 96.30% (26/27)
contracts/vaults/modules/VaultToken.sol 100.00% (21/21) 100.00% (21/21) 100.00% (3/3) 100.00% (7/7)
contracts/vaults/modules/VaultValidators.sol 100.00% (73/73) 100.00% (66/66) 100.00% (12/12) 100.00% (11/11)
contracts/vaults/modules/VaultVersion.sol 100.00% (12/12) 100.00% (20/20) 100.00% (1/1) 100.00% (3/3)
contracts/vaults/modules/VaultWhitelist.sol 100.00% (17/17) 100.00% (14/14) 100.00% (3/3) 100.00% (5/5)
Total 88.09% (2094/2377) 87.25% (2128/2439) 79.18% (270/341) 89.91% (410/456)

@tsudmi tsudmi merged commit c511cd9 into main Sep 27, 2025
7 checks passed
@tsudmi tsudmi deleted the fix-validators-checker branch September 27, 2025 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants