# \[BIP-142\] Permission Granting - Recovery Mode - ComposableStable-V2

**URL:** https://forum.balancer.fi/t/bip-142-permission-granting-recovery-mode-composablestable-v2/4183
**Category:** Governance
**Created:** [December 17, 2022, 7:14pm UTC](https://forum.balancer.fi/t/bip-142-permission-granting-recovery-mode-composablestable-v2/4183 "2022-12-17T19:14:38Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![ZenDragon](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/zendragon/32/1542_2.png) [@ZenDragon](https://forum.balancer.fi/u/ZenDragon)
#### Post date: [December 17, 2022, 7:14pm UTC](https://forum.balancer.fi/t/bip-142-permission-granting-recovery-mode-composablestable-v2/4183/1 "2022-12-17T19:14:38Z")

</div>

# Summary

Authorize the PoolRecoveryHelper contract to put ComposableStable-V2 pools in Recovery Mode. This proposal is follow up to the [original](https://forum.balancer.fi/t/bip-121-permission-granting-recovery-mode/4045#grant-the-following-roles-to-the-poolrecoveryhelpers-on-each-network-4) to cover the additional pool factory.

# Motivation

It has recently come to our attention that rate providers can cause some operations to revert if the call to `getRate` reverts. This goes undetected by most order routing algorithms, which assume rates change slowly and only use the pool’s internal rate cache for estimating the expected outputs of a transaction.

In order to prevent pools with faulty rate providers from interfering with order routing algorithms, Balancer Labs has developed the [PoolRecoveryHelper](https://github.com/balancer-labs/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20221123-pool-recovery-helper), a smart contract which performs checks on all rate providers of a given pool and puts the pool into Recovery Mode if one of the rate providers reverts.

The notion of Recovery Mode was introduced in recent pool factories. Only addresses authorized by Balancer Governance can put pools in Recovery Mode.

When a pool enters Recovery Mode, any protocol fees it owes at that time are forfeited and a new exit kind is enabled, that bypasses updating the rate cache.

When a pool is put in Recovery Mode, this fact is recorded in the subgraph and order routing algorithms can ignore the pool.

The PoolRecoveryHelper contract is permissionless. Anyone can trigger a check, but the pool will only be put in Recovery Mode in the event that the rate provider required for that pool to work properly reverts.

The contract can only interact with pools deployed from a set of factories. This set will now include the [ComposableStable-V2](https://github.com/balancer-labs/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20221122-composable-stable-pool-v2) pool factory deployed in December. See this previous [proposal](https://forum.balancer.fi/t/bip-121-permission-granting-recovery-mode/4045#grant-the-following-roles-to-the-poolrecoveryhelpers-on-each-network-4) where Balancer Labs was granted the ability to add/remove factories from this set, given the governance decision to do so.

# Specification

### Grant the following roles to the PoolRecoveryHelpers on each network

Expand Table

| Network | Pool | Function | Role (action ID) | PoolRecoveryHelper |
| --- | --- | --- | --- | --- |
| Mainnet | ComposableStable-V2 | enableRecoveryMode | 0x7d89412e7c8893c1c85589d68187b2ee925cd2d27c10393980897d1fa4346b0a | 0x1b300C86980a5195bCF49bD419A068D98dC133Db |
| Polygon | ComposableStable-V2 | enableRecoveryMode | 0x7d89412e7c8893c1c85589d68187b2ee925cd2d27c10393980897d1fa4346b0a | 0x495F696430F4A51F7fcB98FbE68a9Cb7A07fB1bA |
| Arbitrum | ComposableStable-V2 | enableRecoveryMode | 0x7d89412e7c8893c1c85589d68187b2ee925cd2d27c10393980897d1fa4346b0a | 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2 |
| Optimism | ComposableStable-V2 | enableRecoveryMode | 0x7d89412e7c8893c1c85589d68187b2ee925cd2d27c10393980897d1fa4346b0a | 0x26743984e3357eFC59f2fd6C1aFDC310335a61c9 |

---

<div class="post-metadata">

### Author: ![Xeonus](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/xeonus/32/3621_2.png) [@Xeonus](https://forum.balancer.fi/u/Xeonus)
#### Post date: [December 22, 2022, 7:03am UTC](https://forum.balancer.fi/t/bip-142-permission-granting-recovery-mode-composablestable-v2/4183/2 "2022-12-22T07:03:47Z")

</div>

Vote is pending: [**https://snapshot.org/#/balancer.eth/proposal/0xc0e6a9bf5eaf73eac00d52ac007bfd5349e47f7037277603702ab3f6b3d469ee**](https://snapshot.org/#/balancer.eth/proposal/0xc0e6a9bf5eaf73eac00d52ac007bfd5349e47f7037277603702ab3f6b3d469ee)
