From 648c009a893cff0035e7b0c1afd0ab78f4da19aa Mon Sep 17 00:00:00 2001 From: r4bbit <445106+0x-r4bbit@users.noreply.github.com> Date: Thu, 12 Oct 2023 10:43:53 +0200 Subject: [PATCH] refactor(StakeVault): use custom error over error strings --- .gas-snapshot | 9 +++++---- contracts/StakeVault.sol | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index edd796b..42218f7 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,16 +1,17 @@ ExecuteAccountTest:testDeployment() (gas: 26400) -ExecuteAccountTest:test_RevertWhen_InvalidLimitEpoch() (gas: 974502) +ExecuteAccountTest:test_RevertWhen_InvalidLimitEpoch() (gas: 964423) LeaveTest:testDeployment() (gas: 26172) -LeaveTest:test_RevertWhen_NoPendingMigration() (gas: 662520) +LeaveTest:test_RevertWhen_NoPendingMigration() (gas: 652901) LeaveTest:test_RevertWhen_SenderIsNotVault() (gas: 10562) LockTest:testDeployment() (gas: 26400) -LockTest:test_RevertWhen_DecreasingLockTime() (gas: 976972) +LockTest:test_RevertWhen_DecreasingLockTime() (gas: 967353) LockTest:test_RevertWhen_SenderIsNotVault() (gas: 10607) MigrateTest:testDeployment() (gas: 26172) +MigrateTest:test_RevertWhen_NoPendingMigration() (gas: 652740) MigrateTest:test_RevertWhen_SenderIsNotVault() (gas: 10629) StakeManagerTest:testDeployment() (gas: 26172) StakeTest:testDeployment() (gas: 26172) StakeTest:test_RevertWhen_SenderIsNotVault() (gas: 10638) UnstakeTest:testDeployment() (gas: 26355) -UnstakeTest:test_RevertWhen_FundsLocked() (gas: 973435) +UnstakeTest:test_RevertWhen_FundsLocked() (gas: 963816) UnstakeTest:test_RevertWhen_SenderIsNotVault() (gas: 10609) \ No newline at end of file diff --git a/contracts/StakeVault.sol b/contracts/StakeVault.sol index 6c9bb50..b3140f4 100644 --- a/contracts/StakeVault.sol +++ b/contracts/StakeVault.sol @@ -13,6 +13,8 @@ import { StakeManager } from "./StakeManager.sol"; */ contract StakeVault is Ownable { + error StakeVault__MigrationNotAvailable(); + StakeManager private stakeManager; ERC20 immutable stakedToken; @@ -50,7 +52,7 @@ contract StakeVault is Ownable { */ function updateManager() external onlyOwner { StakeManager migrated = stakeManager.migrate(); - require(address(migrated) != address(0), "Migration not available."); + if (address(migrated) == address(0)) revert StakeVault__MigrationNotAvailable(); stakeManager = migrated; } }