From a7d0332a584653a516fce240008cf5c9c9f0dc52 Mon Sep 17 00:00:00 2001 From: Jochen Hoenicke Date: Fri, 1 Aug 2025 18:30:26 +0200 Subject: [PATCH] Another mutation: freezeFunds when already withdrawing --- .../039_freezeFunds_when_withdrawing.patch | 13 +++++++++++++ .../039_freezeFunds_when_withdrawing.patch | 1 + 2 files changed, 14 insertions(+) create mode 100644 certora/mutations/039_freezeFunds_when_withdrawing.patch create mode 120000 certora/mutations/VaultBase/039_freezeFunds_when_withdrawing.patch diff --git a/certora/mutations/039_freezeFunds_when_withdrawing.patch b/certora/mutations/039_freezeFunds_when_withdrawing.patch new file mode 100644 index 0000000..6e70f1e --- /dev/null +++ b/certora/mutations/039_freezeFunds_when_withdrawing.patch @@ -0,0 +1,13 @@ +diff --git a/contracts/vault/VaultBase.sol b/contracts/vault/VaultBase.sol +index be21481..04e914f 100644 +--- a/contracts/vault/VaultBase.sol ++++ b/contracts/vault/VaultBase.sol +@@ -237,7 +237,7 @@ abstract contract VaultBase { + + function _freezeFund(Controller controller, FundId fundId) internal { + Fund storage fund = _funds[controller][fundId]; +- require(fund.status() == FundStatus.Locked, VaultFundNotLocked()); ++ require(fund.status() == FundStatus.Locked || fund.status() == FundStatus.Withdrawing, VaultFundNotLocked()); + + fund.frozenAt = Timestamps.currentTime(); + } diff --git a/certora/mutations/VaultBase/039_freezeFunds_when_withdrawing.patch b/certora/mutations/VaultBase/039_freezeFunds_when_withdrawing.patch new file mode 120000 index 0000000..90da36a --- /dev/null +++ b/certora/mutations/VaultBase/039_freezeFunds_when_withdrawing.patch @@ -0,0 +1 @@ +../039_freezeFunds_when_withdrawing.patch \ No newline at end of file