• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
Aura FinanceAura Financeby0x021C5536bd60bCe9f15FB0E32746e332E3fbFAF4Aura Finance BIPs

[BIP-585] Enable ComposableStablePool V6 - Long pause windows

Voting ended almost 2 years agoSucceeded

This proposal's description has been partially trimmed to fit.

The full proposal text can be found on the Balancer proposal: https://snapshot.org/#/balancer.eth/proposal/0x436e1f8b83c63820c8c2fc3cb7eeb564b376e59d984e62ff442052223d3f9aaf

Payload PR - BIP-585

https://github.com/BalancerMaxis/multisig-ops/pull/903

TL;DR

  • This BIP proposes enabling a new version of the StableSwap factory with a 4-year pause window.
  • The current running stableswap factory has a 6-month pause window that has expired, so it is no longer possible to pause pools.
  • The ability to pause all our stableswaps would have allowed us to mitigate all losses in the linear pool hack from last year.
  • Our recently forged relationship with Hypernative introduces new capabilities in advanced threat detection and response.
    • In the future Hypernative technology could be granted the access to proactively pause Balancer pools in the event of a security incident.
    • This would only be possible on pools that still have a running pause window.
  • This BIP finally proposes disabling the CSPv5 factory with a shorter pause window in 8 weeks.
    • This gives time for more thought and a future BIP to abort the disable and leave both options available to pool creators.
  • This BIP grants the right for the Emergency Multisig to pause pools. Further the Governance can authorize additional pausers through a BIP and eventual payload execution by the DAO Multisig.

Background

Balancer pools traditionally have been launched with 6-month pause window. This allows for pools to be paused for up to 6 months, within within the first 6 months of deployment of the factory that they were created by. Following this, pauses are no longer possible.

Most of the mitigation around the Linear Pool Hack that occured last year involved finding some way to prevent pools from trading. If all affected pools would have allowed pausing, we could have prevented any losses.

Following these events, Balancer forged a relationship with Hypernative. The ability to pause pools for a longer time will enable future integration with Hypernative's threat detection and response systems.

Balancer V3 pools are intended to also have long pause windows, so this BIP also represents a shift in thinking away from truly unstoppable pools towards something that in theory can be paused by a trusted and authorized party should things go really wrong.

Specifics around pause capabilities:

As described in the deployment PR ComposableStablePoolV6(CSPv6) will have:

    uint256 private constant _INITIAL_PAUSE_WINDOW_DURATION = 4 * 365 days;
    uint256 private constant _BUFFER_PERIOD_DURATION = 180 days;

The factories were deployed on or around March 26th (chain dependent) as can be observed by this TX on Mainnet which deploys CSPv6 as referenced by this PR. This means, that on mainnet:

  • Pause window starts counting on factory deployment. Feb 26th, 2024.
  • Authorized callers can call pause until Feb 26th, 2028.
  • Authorizer callers can unpause anytime the pool is paused (it's a different permission, but it can be done).
  • If the pool is paused on Feb 26th, 2028 it'll stay paused for 6 more months (or until unpause is called)
  • If the pool is paused on Feb 1st, 2028 and none calls unpause, it will be unpaused forever after 6 months without any governance interaction of any kind.

It should be noted that an authorized caller could unpause/repause a pool in a single TX to reset the buffer as long as the pause window has not ended.

English Specification

This PR contains many payloads that:

  • Grant standard authorizer permisisons on all chains for CSPV6
  • Suspends create of new pools with no pause window using CSPV5 around the end of June baring further governance action.

The transaction details were generated by this script with inputs and outputs in this directory

The following files can be found both linked below and in the payload PR linked above:

Filename Description of Contents
inputs.json The inputs to the script mapping functions and deployments to target addresses that can execute them.
results_address_sorted.md The resulting changes printed in a table sorted by target chain and target address. (to easily understand permisisons granted)
results_deployment_sorted.md The resulting changes printed in a table sorted by target chain and target deployment. (for verification against action ids)
function_descriptions.md A table that describes what each function that is being granted privileged access to allows.
2024-04-17_chainname.json For each change with changes, a transaction builder json named after said chain exists to apply the changes described in the tables.
chainname_CSP5_disable.json Disable new CSPV5(no pause window) pool creation
More information about the various Balancer Multisigs and their functions can be found in the multisig-ops repo

Specification

As described in the payload json, the authorizer would be called to grant the roles as described. These actions should be executed soon after the pasasge of this BIP.

The DAO Multisig is also requested to execute [chainname]_CSP5_disable.json on each chain around it's 26th execution week of the year 2024, which:

  • Grants the LM multisig rights to disable the active CSPV5 factory.
  • Disables the CSPV5 factory
  • Revokes the DAO multisig rights granted in the first step

The change can be reviewed by the below by comparing the results_deployment_sorted.md file to the source of truth, which should match the order found in the source of truth for actionIds on the balancer-deployments.

For record, the contents of results_address_sorted.md are printed here:

deployment function role chain caller caller_address
20240223-composable-stable-pool-v6 setSwapFeePercentage(uint256) 0x22627da2e7670aed1292420d5f0a2a49a7bd5992e0aef001702aa3285b5979b3 arbitrum maxiKeepers/one_inch/settlement 0xad3b67BCA8935Cb510C8D18bD45F0b94F54A968f
20240223-composable-stable-pool-v6 enableRecoveryMode() 0x73c3332de64a6f7b137bea3255a221d779cc0f170ea4892ff0581faf799230ff arbitrum 20221123-pool-recovery-helper/PoolRecoveryHelper 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2
20240223-composable-stable-pool-v6 setSwapFeePercentage(uint256) 0x22627da2e7670aed1292420d5f0a2a49a7bd5992e0aef001702aa3285b5979b3 arbitrum multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20240223-composable-stable-pool-v6 startAmplificationParameterUpdate(uint256,uint256) 0x86f2cd537c832d7823d7b51e7f52288e383427c8c41180561f0f8054bc216f56 arbitrum multisigs/lm 0xc38c5f9...

Off-Chain Vote

Yes, let's do it
14.01M vlAURA100%
No, this is not the way
0 vlAURA0%
Abstain
0 vlAURA0%
Download mobile app to vote

Discussion

Aura Finance[BIP-585] Enable ComposableStablePool V6 - Long pause windows

Timeline

Apr 18, 2024Proposal created
Apr 18, 2024Proposal vote started
Apr 22, 2024Proposal vote ended
Jan 17, 2025Proposal updated