From e42a99cbac2fc5a2458b0384a200374b67f5e22b Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 25 Feb 2025 17:53:28 +0400 Subject: [PATCH] chore: more tests --- test/vault/v1.1/Vault.t.sol | 57 ++++++++++++++++++++++++++++ test/vault/v1.1/VaultTokenized.t.sol | 52 +++++++++++++++++++++++++ test/vault/v1.1/VaultVotes.t.sol | 2 +- 3 files changed, 110 insertions(+), 1 deletion(-) diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index a0d0c8f..7fa9511 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -13,6 +13,7 @@ import {NetworkMiddlewareService} from "../../../src/contracts/service/NetworkMi import {OptInService} from "../../../src/contracts/service/OptInService.sol"; import {Vault as VaultV1} from "../../../src/contracts/vault/Vault.sol"; +import {IVaultTokenized as IVaultTokenizedV1} from "../../../src/interfaces/vault/IVaultTokenized.sol"; import {IVault as IVaultV1} from "../../../src/interfaces/vault/IVault.sol"; import {VaultTokenized as VaultTokenizedV1} from "../../../src/contracts/vault/VaultTokenized.sol"; import {Vault} from "../../../src/contracts/vault/v1.1/Vault.sol"; @@ -4473,6 +4474,62 @@ contract VaultTest is Test { vm.stopPrank(); } + function test_MigrateInvalidOrigin() public { + uint256 blockTimestamp = vm.getBlockTimestamp(); + blockTimestamp = blockTimestamp + 1_720_700_948; + vm.warp(blockTimestamp); + + address[] memory networkLimitSetRoleHolders = new address[](1); + networkLimitSetRoleHolders[0] = alice; + address[] memory operatorNetworkSharesSetRoleHolders = new address[](1); + operatorNetworkSharesSetRoleHolders[0] = alice; + (address vault_,,) = vaultConfigurator.create( + IVaultConfigurator.InitParams({ + version: 2, + owner: alice, + vaultParams: abi.encode( + IVaultTokenizedV1.InitParamsTokenized({ + baseParams: IVaultV1.InitParams({ + collateral: address(collateral), + burner: address(0xdEaD), + epochDuration: 7 days, + depositWhitelist: false, + isDepositLimit: false, + depositLimit: 0, + defaultAdminRoleHolder: alice, + depositWhitelistSetRoleHolder: alice, + depositorWhitelistRoleHolder: alice, + isDepositLimitSetRoleHolder: alice, + depositLimitSetRoleHolder: alice + }), + name: "Name", + symbol: "SYMBOL" + }) + ), + delegatorIndex: 0, + delegatorParams: abi.encode( + INetworkRestakeDelegator.InitParams({ + baseParams: IBaseDelegator.BaseParams({ + defaultAdminRoleHolder: alice, + hook: address(0), + hookSetRoleHolder: alice + }), + networkLimitSetRoleHolders: networkLimitSetRoleHolders, + operatorNetworkSharesSetRoleHolders: operatorNetworkSharesSetRoleHolders + }) + ), + withSlasher: false, + slasherIndex: 0, + slasherParams: abi.encode(ISlasher.InitParams({baseParams: IBaseSlasher.BaseParams({isBurnerHook: false})})) + }) + ); + + vm.startPrank(alice); + vm.expectRevert(IVault.InvalidOrigin.selector); + vaultFactory.migrate(vault_, 3, new bytes(0)); + vm.stopPrank(); + } + function test_NotFactoryCheck() public { vault = _getVault(7 days); diff --git a/test/vault/v1.1/VaultTokenized.t.sol b/test/vault/v1.1/VaultTokenized.t.sol index 743f247..a4c2e6d 100644 --- a/test/vault/v1.1/VaultTokenized.t.sol +++ b/test/vault/v1.1/VaultTokenized.t.sol @@ -3753,6 +3753,58 @@ contract VaultTokenizedTest is Test { vm.stopPrank(); } + function test_MigrateInvalidOrigin() public { + uint256 blockTimestamp = vm.getBlockTimestamp(); + blockTimestamp = blockTimestamp + 1_720_700_948; + vm.warp(blockTimestamp); + + address[] memory networkLimitSetRoleHolders = new address[](1); + networkLimitSetRoleHolders[0] = alice; + address[] memory operatorNetworkSharesSetRoleHolders = new address[](1); + operatorNetworkSharesSetRoleHolders[0] = alice; + (address vault_,,) = vaultConfigurator.create( + IVaultConfigurator.InitParams({ + version: 1, + owner: alice, + vaultParams: abi.encode( + IVaultV1.InitParams({ + collateral: address(collateral), + burner: address(0xdEaD), + epochDuration: 7 days, + depositWhitelist: false, + isDepositLimit: false, + depositLimit: 0, + defaultAdminRoleHolder: alice, + depositWhitelistSetRoleHolder: alice, + depositorWhitelistRoleHolder: alice, + isDepositLimitSetRoleHolder: alice, + depositLimitSetRoleHolder: alice + }) + ), + delegatorIndex: 0, + delegatorParams: abi.encode( + INetworkRestakeDelegator.InitParams({ + baseParams: IBaseDelegator.BaseParams({ + defaultAdminRoleHolder: alice, + hook: address(0), + hookSetRoleHolder: alice + }), + networkLimitSetRoleHolders: networkLimitSetRoleHolders, + operatorNetworkSharesSetRoleHolders: operatorNetworkSharesSetRoleHolders + }) + ), + withSlasher: false, + slasherIndex: 0, + slasherParams: abi.encode(ISlasher.InitParams({baseParams: IBaseSlasher.BaseParams({isBurnerHook: false})})) + }) + ); + + vm.startPrank(alice); + vm.expectRevert(IVault.InvalidOrigin.selector); + vaultFactory.migrate(vault_, 4, new bytes(0)); + vm.stopPrank(); + } + function test_NotFactoryCheck() public { vault = _getVault(7 days); diff --git a/test/vault/v1.1/VaultVotes.t.sol b/test/vault/v1.1/VaultVotes.t.sol index ea1a657..54d32f3 100644 --- a/test/vault/v1.1/VaultVotes.t.sol +++ b/test/vault/v1.1/VaultVotes.t.sol @@ -3985,7 +3985,7 @@ contract VaultVotesTest is Test { vm.startPrank(alice); vm.expectRevert(IVault.InvalidOrigin.selector); - vaultFactory.migrate(vault_, 4, new bytes(0)); + vaultFactory.migrate(vault_, 5, new bytes(0)); vm.stopPrank(); }