Release-Level Pause

In order to protect against value loss after critical bug discovery, this release allows the Dispatcher owner (i.e., the ETC) to institute a release-wide pause by setting FundDeployer.releaseStatus to Paused .

While in a Paused state, there are no calls allowed to any functions that change VaultProxy state (i.e., to protect value), except for shares redemption functions.

The idea is that funds would then migrate to a newly deployed release, potentially with a temporarily shortened migrationTimelock

The imagined pipeline of bug discovery would be:

  1. The bug finder reports said bug to the Enzyme Council

  2. If the bug is deemed critical, the ETC votes to setReleaseStatus for that release to Paused

  3. Avantgarde Finance immediately fixes the bug

  4. The bug fix is audited by either an auditing partner or a combination of auditors on the ETC

  5. A new release is deployed, and fund managers are instructed to migrate to the new release

Recognizing that it may take some time between pause and deployment of a new release and that not all bugs may be considered critical for all funds, we have provided a per-fund option to overridePause . The fund owner can set this to true, which will allow all fund operations to proceed as normal.

The fund owner must thus make the ultimate determination on the safety of unpausing operations for their fund.