# \[BIP-253\] Permission granting for managed v2, composableStable v4, weighted v4 factories

**URL:** <https://forum.balancer.fi/t/bip-253-permission-granting-for-managed-v2-composablestable-v4-weighted-v4-factories/4662>\
**Category:** General Proposal\
**Created:** [April 16, 2023, 11:58am UTC](https://forum.balancer.fi/t/bip-253-permission-granting-for-managed-v2-composablestable-v4-weighted-v4-factories/4662 "2023-04-16T11:58:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)\
**Post date:** [April 16, 2023, 11:58am UTC](https://forum.balancer.fi/t/bip-253-permission-granting-for-managed-v2-composablestable-v4-weighted-v4-factories/4662/1 "2023-04-16T11:58:04Z")

</div>

## [Payload PR - BIP-253](https://github.com/BalancerMaxis/multisig-ops/pull/142)

## Background

The [v4 Weighted Pool Factory](https://github.com/balancer/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20230320-weighted-pool-v4) and the [v4 Composable Stable Pool Factory](https://github.com/balancer/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20230320-composable-stable-pool-v4) were deployed to allow the use of `create2` instead of `create`. The [v2 Managed Pool Factory](https://github.com/balancer/balancer-v2-monorepo/tree/master/pkg/deployments/tasks/20230411-managed-pool-v2) allows using `create2`, adds reentrancy protection, and has various other improvements. Some initial “wire-up” of permissions is required to bring them into standard function. This BIP lays out these changes and requests permission to apply them.

## English Specification

The transaction details were generated by [this script](https://github.com/BalancerMaxis/multisig-ops/blob/main/tools/python/gen_add_permissions_payload.py) with inputs and outputs in [this directory](https://github.com/BalancerMaxis/multisig-ops/tree/staging/BIPs/BIP-253)

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

| Filename | Description of Contents |
| --- | --- |
| [inputs.json](https://github.com/BalancerMaxis/multisig-ops/blob/staging/BIPs/BIP-253/inputs.json) | The inputs to the script mapping functions and deployments to target addresses that can execute them. |
| [results\_address\_sorted.md](https://github.com/BalancerMaxis/multisig-ops/blob/staging/BIPs/BIP-253/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](https://github.com/BalancerMaxis/multisig-ops/blob/staging/BIPs/BIP-253/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](https://github.com/BalancerMaxis/multisig-ops/blob/staging/BIPs/BIP-253/function_descriptions.md) | A table that describes what each function that is being granted privileged access to allows. |
| [`chainname`.json](https://github.com/BalancerMaxis/multisig-ops/tree/staging/BIPs/BIP-253/) | For each change with changes, a transaction builder json named after said chain exists to apply the changes described in the tables. |

In the tables above:

The “emergency” caller group:

- maps to the Balancer Emergency DAO Multisig as defined in [this vote](https://forum.balancer.fi/t/form-the-emergency-subdao/3197).

The “feeManager” caller group:

- maps to the feeManager multisig controlled by the Balancer Maxis on all chains except mainnet.
- On mainnet a special feeSetter multisig exists to manage a-factors and a gautletFeeSetter contract that allows bulk changing of fees.
- The maxi’s functionally control all contracts that make up the feeManager target group.

_More information about the various Balancer Multisigs and their functions can be found in the [multisig-ops repo](https://github.com/BalancerMaxis/multisig-ops/blob/staging/multisigs.md)_

# Specification

As described in the payload json, the authorizer will be called to grant the roles as described.

The change can be reviewed by the below by comparing the [results\_deployment\_sorted.md](https://github.com/BalancerMaxis/multisig-ops/tree/staging/BIPs/BIP-183/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-v2-monorepo](https://github.com/balancer-labs/balancer-v2-monorepo/tree/master/pkg/deployments/action-ids).

For record, the contents of [results\_address\_sorted.md](https://github.com/BalancerMaxis/multisig-ops/tree/staging/BIPs/BIP-253/results_address_sorted.md) are printed here:

| deployment | chain | function | role | target | target\_address |
| --- | --- | --- | --- | --- | --- |
| 20230411-managed-pool-v2 | arbitrum | enableRecoveryMode() | 0xb213b9fefdba263a47d6449bab5d563a39489f656d504fd24d5b9efe6fe23a61 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2 |
| 20230320-composable-stable-pool-v4 | arbitrum | enableRecoveryMode() | 0xa7152bc948bf07e3c3fff4953f5f4962d845ee3261d784e6e9b31f160d99da54 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2 |
| 20230320-weighted-pool-v4 | arbitrum | enableRecoveryMode() | 0xe184fa0d5bfa8981c4a008826c1302ad4a0235d114bd82980681f620c748abc1 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2 |
| 20230320-composable-stable-pool-v4 | arbitrum | setSwapFeePercentage(uint256) | 0x50ccb689033ea83f58a1b54b091916255bb56c2334a12ed908ecb06f72d2a688 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | arbitrum | startAmplificationParameterUpdate(uint256,uint256) | 0x197a2915652227e96ce9367b8488b59f12fa838f0ae2381b1437dcf3992b8349 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | arbitrum | stopAmplificationParameterUpdate() | 0x76fe94a15b02391aba1fbac69e9d2f37f355fe1e5031c218535568ee6bb98219 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-weighted-pool-v4 | arbitrum | setSwapFeePercentage(uint256) | 0x70368640683195889d0f146ab060210f43fbb1c317a87bdf17a4dca8d8feed86 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230411-managed-pool-v2 | arbitrum | disable() | 0x8d305e761700b38cf2bc3f9e2c4ad60807e843cf2efd2415b902b1163f8f9a22 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230411-managed-pool-v2 | arbitrum | enableRecoveryMode() | 0xb213b9fefdba263a47d6449bab5d563a39489f656d504fd24d5b9efe6fe23a61 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230411-managed-pool-v2 | arbitrum | pause() | 0x6c331c074092fbc25cd1032630ed25155aa5b81afa1d296bf5a0f0e9e0c6e846 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-composable-stable-pool-v4 | arbitrum | disable() | 0x2459196cb4ed0fe6ae2ab5497be53008d92acf640cb0174ce413b1e613d56e35 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-composable-stable-pool-v4 | arbitrum | enableRecoveryMode() | 0xa7152bc948bf07e3c3fff4953f5f4962d845ee3261d784e6e9b31f160d99da54 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-composable-stable-pool-v4 | arbitrum | pause() | 0x4af83a29926fe55935b85568f0f0cab066e294993eaba067cdef68541ccf0195 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-weighted-pool-v4 | arbitrum | disable() | 0x06cafebf5a6142d1acfc442d8a4f2b4d40a7cdfa6c1311679adc8fd679a559a7 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-weighted-pool-v4 | arbitrum | enableRecoveryMode() | 0xe184fa0d5bfa8981c4a008826c1302ad4a0235d114bd82980681f620c748abc1 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-weighted-pool-v4 | arbitrum | pause() | 0xd98740b6136649627930e4de42dd9232af00b3ded6023d9d9202b47f0356ff43 | multisig/emergency | 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D |
| 20230320-composable-stable-pool-v4 | gnosis | setSwapFeePercentage(uint256) | 0xceef6cf4faeffc4260dea255a7815f36c153816232b663a816c08b761ad73cbc | multisig/lm | 0x14969B55a675d13a1700F71A37511bc22D90155a |
| 20230320-composable-stable-pool-v4 | gnosis | startAmplificationParameterUpdate(uint256,uint256) | 0x144167e496476037f70eaed5c87faa423fb69e52609d0b4ee48a8284784a800d | multisig/lm | 0x14969B55a675d13a1700F71A37511bc22D90155a |
| 20230320-composable-stable-pool-v4 | gnosis | stopAmplificationParameterUpdate() | 0x6470d89bfdcc75143ff276dba3b9742eb1e31ae77d9c6e1330743a621d33e755 | multisig/lm | 0x14969B55a675d13a1700F71A37511bc22D90155a |
| 20230320-weighted-pool-v4 | gnosis | setSwapFeePercentage(uint256) | 0x0e439756a3aff035984c3a9be923d228a560b708849149e6384abd264011962a | multisig/lm | 0x14969B55a675d13a1700F71A37511bc22D90155a |
| 20230411-managed-pool-v2 | gnosis | enableRecoveryMode() | 0x46efbab063c0b0398c10c3e97d24a5263780379231f3ead5ac0eaf2e9cf8a318 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xc3ccacE87f6d3A81724075ADcb5ddd85a8A1bB68 |
| 20230320-composable-stable-pool-v4 | gnosis | enableRecoveryMode() | 0xb35863a581c2826e59cfa027d5228768a0fcc02c7497f27c05e435870fa4e34b | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xc3ccacE87f6d3A81724075ADcb5ddd85a8A1bB68 |
| 20230320-weighted-pool-v4 | gnosis | enableRecoveryMode() | 0x1d8c9dcce0bb3a303ff9556ace00e75eb744769eeeac8c5beb115a1d697378bd | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0xc3ccacE87f6d3A81724075ADcb5ddd85a8A1bB68 |
| 20230411-managed-pool-v2 | gnosis | disable() | 0xad5264d61ee90db6d19d6e36a2c93f6d23112459b8a494e489fa1b8f0b9fac38 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230411-managed-pool-v2 | gnosis | enableRecoveryMode() | 0x46efbab063c0b0398c10c3e97d24a5263780379231f3ead5ac0eaf2e9cf8a318 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230411-managed-pool-v2 | gnosis | pause() | 0x376ffebf3f39d793f8453bbf54f031a0b93c0455a242f89dc6c534b14016e7c5 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-composable-stable-pool-v4 | gnosis | disable() | 0x51d0341d2686f3ed15bf4f4b5745540b32c4723280e3eefa8dabcb4a366ab0d2 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-composable-stable-pool-v4 | gnosis | enableRecoveryMode() | 0xb35863a581c2826e59cfa027d5228768a0fcc02c7497f27c05e435870fa4e34b | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-composable-stable-pool-v4 | gnosis | pause() | 0x21ea7ba7282a115973d24d0598646f2b24b98bfd5ed4811eafc19282ada7063c | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-weighted-pool-v4 | gnosis | disable() | 0xee4957b205e6db89fef568d9e8aa4fce4a9a8de50ccf9bf7bd611d8c9fa20a07 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-weighted-pool-v4 | gnosis | enableRecoveryMode() | 0x1d8c9dcce0bb3a303ff9556ace00e75eb744769eeeac8c5beb115a1d697378bd | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230320-weighted-pool-v4 | gnosis | pause() | 0x424af7587d00b5e073c5d47ad47b564a6510fa9fb35fb0393c6e83f928227270 | multisig/emergency | 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962 |
| 20230411-managed-pool-v2 | mainnet | enableRecoveryMode() | 0xfab707b8c3c30c3593808e391f0e18aad40b6e8621b45494988ca0a31a55aff5 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x1b300C86980a5195bCF49bD419A068D98dC133Db |
| 20230320-composable-stable-pool-v4 | mainnet | enableRecoveryMode() | 0x97b984f4d02757894d110e636f8e8fcdb03099f5c473e4f494496f3eff253cde | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x1b300C86980a5195bCF49bD419A068D98dC133Db |
| 20230320-weighted-pool-v4 | mainnet | enableRecoveryMode() | 0xa311a2d0d64a462699773489c804dc8760412f0ab9958da8d266a409200a8947 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x1b300C86980a5195bCF49bD419A068D98dC133Db |
| 20230411-managed-pool-v2 | mainnet | disable() | 0x3a8726e9b397a00fc6ba5b2cb40716b9844deceaeb064d72a63d4d2f149d9e2a | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230411-managed-pool-v2 | mainnet | enableRecoveryMode() | 0xfab707b8c3c30c3593808e391f0e18aad40b6e8621b45494988ca0a31a55aff5 | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230411-managed-pool-v2 | mainnet | pause() | 0x93d028247647bd545d7dfbf7369348eca5dc45b20bf8bdb759610f808016af1b | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-composable-stable-pool-v4 | mainnet | disable() | 0xe31225bb7818ffa444c35f1c3b7dd416438415dcdd675d609ea6343c1a1111ad | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-composable-stable-pool-v4 | mainnet | enableRecoveryMode() | 0x97b984f4d02757894d110e636f8e8fcdb03099f5c473e4f494496f3eff253cde | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-composable-stable-pool-v4 | mainnet | pause() | 0x409c04f28f6c508db18cec1f9381aa1dced3dc1f8fa8113485974bcb9664c57b | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-weighted-pool-v4 | mainnet | disable() | 0x493661c8d8cc29f86981a64d4fbc5cec0d83e973a00ccf48867d9d565577cc43 | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-weighted-pool-v4 | mainnet | enableRecoveryMode() | 0xa311a2d0d64a462699773489c804dc8760412f0ab9958da8d266a409200a8947 | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-weighted-pool-v4 | mainnet | pause() | 0xf027a6de0f5fcff0e202ce375789440fe96671a3d602f11b72666eb3b3e0835f | multisig/emergency | 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 |
| 20230320-composable-stable-pool-v4 | mainnet | setSwapFeePercentage(uint256) | 0x0acc45f3ac7c04369514ee383aad82d5c1eef484fbf9ca5f6d87ad5c5859da40 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | mainnet | startAmplificationParameterUpdate(uint256,uint256) | 0xa67ca78c7311cd47624917626fa335f80b4bd4290a39d66dbe5fa4e9c75e09c4 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | mainnet | stopAmplificationParameterUpdate() | 0x682fca1bedeeef7829d348be1ad1b4374173ca952cf181baff30e5249425ce8b | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-weighted-pool-v4 | mainnet | setSwapFeePercentage(uint256) | 0xa5547190e3d59f2bfeb4174ca3454b2f2acaeed644bc7ad7018014516f73f2bd | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | optimism | setSwapFeePercentage(uint256) | 0xe92c5e92fd07c923b506e4ef7eb29972642a073312f496c812148a15bb6b8967 | multisig/lm | 0x09Df1626110803C7b3b07085Ef1E053494155089 |
| 20230320-composable-stable-pool-v4 | optimism | startAmplificationParameterUpdate(uint256,uint256) | 0x3d1105ece259c9620b4c0b8c8a01554fdbf4efacfe00c648fa8f99a98c7c26bd | multisig/lm | 0x09Df1626110803C7b3b07085Ef1E053494155089 |
| 20230320-composable-stable-pool-v4 | optimism | stopAmplificationParameterUpdate() | 0x39e75d95add118410df221d6d408e602d372ebc0e6657e596e87ab948b093408 | multisig/lm | 0x09Df1626110803C7b3b07085Ef1E053494155089 |
| 20230320-weighted-pool-v4 | optimism | setSwapFeePercentage(uint256) | 0x32725667b078898f78f53e59f45eb1837b34a9469dbe36f9270b674247b23abf | multisig/lm | 0x09Df1626110803C7b3b07085Ef1E053494155089 |
| 20230411-managed-pool-v2 | optimism | enableRecoveryMode() | 0xadbf17d5cbdfa6f1473b5c3fae1de6e9959223e464815fc481499cd58a591bab | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x26743984e3357eFC59f2fd6C1aFDC310335a61c9 |
| 20230320-composable-stable-pool-v4 | optimism | enableRecoveryMode() | 0xf7c36607b85de415dd5d9b2e4c47d42f2093d7338fc8af38b88070683da54da1 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x26743984e3357eFC59f2fd6C1aFDC310335a61c9 |
| 20230320-weighted-pool-v4 | optimism | enableRecoveryMode() | 0x8ceae9d0f076b4b0c529529f6bf11832835b93b533445c655b840015f7025e50 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x26743984e3357eFC59f2fd6C1aFDC310335a61c9 |
| 20230411-managed-pool-v2 | optimism | disable() | 0xa8ff4830c7bf9a4c5c71257a9e4272ae652308e2fadfe8e0b2b862f77ead95d7 | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230411-managed-pool-v2 | optimism | enableRecoveryMode() | 0xadbf17d5cbdfa6f1473b5c3fae1de6e9959223e464815fc481499cd58a591bab | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230411-managed-pool-v2 | optimism | pause() | 0x0cce170c212bd2a0cb239b2e279b6a7527ddab4a9bfe5a6801db9f4e55b3f0df | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-composable-stable-pool-v4 | optimism | disable() | 0xdb0e2ca147bb165fcfd2631fb8cb87ab34aa8fb9d2a81e95334a207f753f0302 | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-composable-stable-pool-v4 | optimism | enableRecoveryMode() | 0xf7c36607b85de415dd5d9b2e4c47d42f2093d7338fc8af38b88070683da54da1 | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-composable-stable-pool-v4 | optimism | pause() | 0x6464a19f906714393234821d14f9899d08c3c32edac6ac68a28e8e2c444dc372 | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-weighted-pool-v4 | optimism | disable() | 0xd7acda26118b9ff06dd8526d0197d58c0c7ed83074be6d915bff2db42b5581ae | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-weighted-pool-v4 | optimism | enableRecoveryMode() | 0x8ceae9d0f076b4b0c529529f6bf11832835b93b533445c655b840015f7025e50 | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230320-weighted-pool-v4 | optimism | pause() | 0xb9c5dbd31b49d898a12157d05b5f59e61b30533c20fe266652c1017837135f0c | multisig/emergency | 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B |
| 20230411-managed-pool-v2 | polygon | disable() | 0x855759a5f9e9b4b303700b2720e91e78c453fd1a58be9c84122ad342d492a99e | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230411-managed-pool-v2 | polygon | enableRecoveryMode() | 0x356381b4c3ae04ffd3d8778286ace45849220e97b1397a1deb1fbcffdbf294d8 | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230411-managed-pool-v2 | polygon | pause() | 0xfa21c40c9cc6c92667996b0306f905fe8138de4a48895627c3e23ae693e13c14 | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-composable-stable-pool-v4 | polygon | disable() | 0xa544127d0ad449e0603bfabd973ce71e16260ff91463b98f8e17ca841b863671 | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-composable-stable-pool-v4 | polygon | enableRecoveryMode() | 0x237ec20a8fc896e2ccd593e146cfb897d33a3aec61da4c3a35d5d91e5ff3c5f3 | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-composable-stable-pool-v4 | polygon | pause() | 0xad24869d8e59d11e376f5dd5087c9c3e7ecf500f6aa2f0272120b16e2bd1a1ce | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-weighted-pool-v4 | polygon | disable() | 0xbcd976054e605d08b3c0674552476261b198b61b307ff1b8b5dda320cf3f6027 | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-weighted-pool-v4 | polygon | enableRecoveryMode() | 0x2ea86ec12cc48f7c7a247493f2eadbe33029a24816226ba4c7ac4b4087949c4a | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230320-weighted-pool-v4 | polygon | pause() | 0x0334e3e272e2cd5eb2537ae08beca8f9d1665f0ce03a7026b1dfc8665ffe12af | multisig/emergency | 0x3c58668054c299bE836a0bBB028Bee3aD4724846 |
| 20230411-managed-pool-v2 | polygon | enableRecoveryMode() | 0x356381b4c3ae04ffd3d8778286ace45849220e97b1397a1deb1fbcffdbf294d8 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x495F696430F4A51F7fcB98FbE68a9Cb7A07fB1bA |
| 20230320-composable-stable-pool-v4 | polygon | enableRecoveryMode() | 0x237ec20a8fc896e2ccd593e146cfb897d33a3aec61da4c3a35d5d91e5ff3c5f3 | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x495F696430F4A51F7fcB98FbE68a9Cb7A07fB1bA |
| 20230320-weighted-pool-v4 | polygon | enableRecoveryMode() | 0x2ea86ec12cc48f7c7a247493f2eadbe33029a24816226ba4c7ac4b4087949c4a | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x495F696430F4A51F7fcB98FbE68a9Cb7A07fB1bA |
| 20230320-composable-stable-pool-v4 | polygon | setSwapFeePercentage(uint256) | 0xdc4f292a9c37b8bfbaf2dc78ff4d2a53114e770bcb186a21957939f01ffbfe6b | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | polygon | startAmplificationParameterUpdate(uint256,uint256) | 0x3dc055c2eb0eb929c7bf4eec68903547110bbb0c41c81959c15b122062ce5703 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-composable-stable-pool-v4 | polygon | stopAmplificationParameterUpdate() | 0xe394fbc4dc19aef582d4ee54bbbddddca8bffe39a3af34cb2e8ba09b2bf43b46 | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |
| 20230320-weighted-pool-v4 | polygon | setSwapFeePercentage(uint256) | 0x0ad9662eb9978d490b9f9bc897a15af8892817d0c299cb8ec0c624cccd6b192d | multisig/lm | 0xc38c5f97B34E175FFd35407fc91a937300E33860 |

## Risk Assessment

This BIP is routine operation for provisioning a new factory. The new factories are themselves a risk mitigation.

## References

[Directory of Addresses used by script which generated the table and multsig payloads](https://github.com/BalancerMaxis/multisig-ops/blob/main/tools/python/brownie/helpers/addresses.py)

---

<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:** [April 18, 2023, 3:19pm UTC](https://forum.balancer.fi/t/bip-253-permission-granting-for-managed-v2-composablestable-v4-weighted-v4-factories/4662/2 "2023-04-18T15:19:43Z")

</div>

[https://snapshot.org/#/balancer.eth/proposal/0x167276289834a906533f0a0696e348fe2c17a25e28dfee844e988e40ba977869](https://snapshot.org/#/balancer.eth/proposal/0x167276289834a906533f0a0696e348fe2c17a25e28dfee844e988e40ba977869)
