[BIP-353] Grant Permissions for Composable Stable Pool Factory v5

Payload PR - BIP-353

Background

The v5 Composable Stable Pool Factory were deployed to fix issue reported by a whitehat and requiring many CSPv4 pools to be put in recovery mode. A full disclosure about the issue will be posted by Balancer Labs once they have wrapped up the ImmuniFi process(paid out). 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 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.
chainname.json For each change with changes, a transaction builder json named after said chain exists to apply the changes described in the tables.

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 will be called to grant the roles as described.

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 chain function role caller caller_address
20230711-composable-stable-pool-v5 arbitrum enableRecoveryMode() 0xa6c4d4b9774fc0afef75aa08e9c80377e0b5e5be609a4dafefe381cc580a9e7b 20221123-pool-recovery-helper/PoolRecoveryHelper 0xb5e56CC3d2e38e53b1166175C59e921A37cDC1E2
20230711-composable-stable-pool-v5 arbitrum setSwapFeePercentage(uint256) 0xfab324385696857b52130b135e7e81f8b7f34382c9b27f254b6bca9a70fe0784 multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 arbitrum startAmplificationParameterUpdate(uint256,uint256) 0x3be753be2ced552d75d5556694d2012e157294f50103c95273191fb5a0209481 multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 arbitrum stopAmplificationParameterUpdate() 0x9d2042bf873d984ff8ce2661c7f5854078b8bbf1d618d0509ec379533d3ba9af multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 arbitrum disable() 0x063bbaf4b25095681176c8be04d41958e40ee88e0a6fe895a8d225cda9bd64ad multisigs/emergency 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
20230711-composable-stable-pool-v5 arbitrum disableRecoveryMode() 0xc0255b53e66bf2965d8fbd2af1cec52f34060d539ff8dd3c96a8d6aaa678d109 multisigs/emergency 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
20230711-composable-stable-pool-v5 arbitrum enableRecoveryMode() 0xa6c4d4b9774fc0afef75aa08e9c80377e0b5e5be609a4dafefe381cc580a9e7b multisigs/emergency 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
20230711-composable-stable-pool-v5 arbitrum pause() 0x998b893d641593fd3aa179e7641c4e0a7ead0e9f8d25df6d5637ab28d32e924e multisigs/emergency 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
20230711-composable-stable-pool-v5 avalanche disable() 0x1426567817459896eea032971802f23ffedf7dbce9ba83c56000f1f9616a25ed multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230711-composable-stable-pool-v5 avalanche disableRecoveryMode() 0xffb70f4f9562b3a5f8e82e3c9eeb43b6769d1af1086819e6881cb0456404ecc1 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230711-composable-stable-pool-v5 avalanche enableRecoveryMode() 0x4fba353c4ff3db60adac7b39685b4c7079fa9c9080841748fc9ce74f8a1160b0 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230711-composable-stable-pool-v5 avalanche pause() 0x2f33caac3ea80144501f854d7fc8870e770fe1ec5260b2f09d45014e4ae11b0c multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230711-composable-stable-pool-v5 avalanche setSwapFeePercentage(uint256) 0x846447d11e52871f13911642f2df294a08a10c704fd3746ee2b8e99ef3dd802a multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230711-composable-stable-pool-v5 avalanche startAmplificationParameterUpdate(uint256,uint256) 0x61422cbfc16cfb61b82397377ab5165c6755ee7466a24630f4027d79453e83e5 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230711-composable-stable-pool-v5 avalanche stopAmplificationParameterUpdate() 0x28dcd620872aaaed93f0363c5b4b038f3b1fcaba6944fb976d670390e56accd0 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230711-composable-stable-pool-v5 avalanche enableRecoveryMode() 0x4fba353c4ff3db60adac7b39685b4c7079fa9c9080841748fc9ce74f8a1160b0 20221123-pool-recovery-helper/PoolRecoveryHelper 0x3b8cA519122CdD8efb272b0D3085453404B25bD0
20230711-composable-stable-pool-v5 gnosis setSwapFeePercentage(uint256) 0x22627da2e7670aed1292420d5f0a2a49a7bd5992e0aef001702aa3285b5979b3 multisigs/lm 0x14969B55a675d13a1700F71A37511bc22D90155a
20230711-composable-stable-pool-v5 gnosis startAmplificationParameterUpdate(uint256,uint256) 0x86f2cd537c832d7823d7b51e7f52288e383427c8c41180561f0f8054bc216f56 multisigs/lm 0x14969B55a675d13a1700F71A37511bc22D90155a
20230711-composable-stable-pool-v5 gnosis stopAmplificationParameterUpdate() 0x0c055dc6cd1d6558914ef49c536f751680f8c413a3563007992801443bcca7a5 multisigs/lm 0x14969B55a675d13a1700F71A37511bc22D90155a
20230711-composable-stable-pool-v5 gnosis enableRecoveryMode() 0x73c3332de64a6f7b137bea3255a221d779cc0f170ea4892ff0581faf799230ff 20221123-pool-recovery-helper/PoolRecoveryHelper 0xc3ccacE87f6d3A81724075ADcb5ddd85a8A1bB68
20230711-composable-stable-pool-v5 gnosis disable() 0x3dd110fd101a1be6115ceb811a85535de6c9c019360c7d67c022c48a3dd685d9 multisigs/emergency 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962
20230711-composable-stable-pool-v5 gnosis disableRecoveryMode() 0x8f33b1eaf9e2f2523d32b89a23d1a83e1225eb96ef489fde9b81bc44c7e207c1 multisigs/emergency 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962
20230711-composable-stable-pool-v5 gnosis enableRecoveryMode() 0x73c3332de64a6f7b137bea3255a221d779cc0f170ea4892ff0581faf799230ff multisigs/emergency 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962
20230711-composable-stable-pool-v5 gnosis pause() 0x04221c483f49fe794f5ce394e0ffc086722e106b9fef863610ccfbe1a019b997 multisigs/emergency 0xd6110A7756080a4e3BCF4e7EBBCA8E8aDFBC9962
20230711-composable-stable-pool-v5 mainnet enableRecoveryMode() 0x9a645ed7f1bf603a8f6a44b2227b47a0355b902e65abb9d45e60bbc7e220992f 20221123-pool-recovery-helper/PoolRecoveryHelper 0x1b300C86980a5195bCF49bD419A068D98dC133Db
20230711-composable-stable-pool-v5 mainnet disable() 0xceeb84f98e049989237e570ba87203572b1ba663061d817739b66a9fb08a7901 multisigs/emergency 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
20230711-composable-stable-pool-v5 mainnet disableRecoveryMode() 0x004ed6bc39c7b1141c8d34bc8c481dde189197c700d070129e6f6a3cbbfdce9f multisigs/emergency 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
20230711-composable-stable-pool-v5 mainnet enableRecoveryMode() 0x9a645ed7f1bf603a8f6a44b2227b47a0355b902e65abb9d45e60bbc7e220992f multisigs/emergency 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
20230711-composable-stable-pool-v5 mainnet pause() 0xbb09fe1ad67eb7a320ad9131d81ea3835e51215410ea5d5866bc516003d06287 multisigs/emergency 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
20230711-composable-stable-pool-v5 mainnet setSwapFeePercentage(uint256) 0x42bc3b76ebdb675c6f7836b464d27c7517e14b05dc08bb944a4837563fc805ca multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 mainnet startAmplificationParameterUpdate(uint256,uint256) 0x6bf9f64e8755a240cd5604ab5cabd4a1eed020059be9a1a64be071859f023276 multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 mainnet stopAmplificationParameterUpdate() 0xd5e70e51651eb5be66f83b01794f74b5dbb417b607bf0425c5c5d3aa7386b38b multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 optimism setSwapFeePercentage(uint256) 0x167c1baf0159e423e633f0a68e1025918332919ade802b33759880576cb2c50d multisigs/lm 0x09Df1626110803C7b3b07085Ef1E053494155089
20230711-composable-stable-pool-v5 optimism startAmplificationParameterUpdate(uint256,uint256) 0xadd685e44755d3d511a26b97a7c40f42354f1e494795ad163dd79e22da45026e multisigs/lm 0x09Df1626110803C7b3b07085Ef1E053494155089
20230711-composable-stable-pool-v5 optimism stopAmplificationParameterUpdate() 0xdbfdeb1d2ce00232fda29f8069f731deb70f0e1438aa8a1e35e89eac02403c23 multisigs/lm 0x09Df1626110803C7b3b07085Ef1E053494155089
20230711-composable-stable-pool-v5 optimism enableRecoveryMode() 0x7f42c77cb4b9f8e5f51b922886e6f62e00feaf246cccf2927a0f00dd3150e1ae 20221123-pool-recovery-helper/PoolRecoveryHelper 0x26743984e3357eFC59f2fd6C1aFDC310335a61c9
20230711-composable-stable-pool-v5 optimism disable() 0x209075578b0c6819e5f117c0e9c4cafdfb4bac956e8ea969ff11fb444cd95b08 multisigs/emergency 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
20230711-composable-stable-pool-v5 optimism disableRecoveryMode() 0xb4b8b756b9cc9f73e9debc41c8f8a805f6f964192d26d6f1bf764f147279bc8b multisigs/emergency 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
20230711-composable-stable-pool-v5 optimism enableRecoveryMode() 0x7f42c77cb4b9f8e5f51b922886e6f62e00feaf246cccf2927a0f00dd3150e1ae multisigs/emergency 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
20230711-composable-stable-pool-v5 optimism pause() 0xb4dacaceeadf349e2eaf81fae99db22f312f7b8d19bd3aa0aae4d74e8c40460a multisigs/emergency 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
20230711-composable-stable-pool-v5 polygon disable() 0x740f4332364e3e7815877d3129b935f10ce37584e973ed33b93e793000a1c263 multisigs/emergency 0x3c58668054c299bE836a0bBB028Bee3aD4724846
20230711-composable-stable-pool-v5 polygon disableRecoveryMode() 0xacd6e3cd60fe4741be79438b5d7599a59db6fe321838b1aafd090cb76ac6a5d0 multisigs/emergency 0x3c58668054c299bE836a0bBB028Bee3aD4724846
20230711-composable-stable-pool-v5 polygon enableRecoveryMode() 0x2ac3edb051b1334473999eeea35bc4ff0f87e8c066b66f6940819629a2ccf820 multisigs/emergency 0x3c58668054c299bE836a0bBB028Bee3aD4724846
20230711-composable-stable-pool-v5 polygon pause() 0x91ce64502d2ca1550ea11bbfcdc5a965e2646c09818313a851c0eeb71cedbb1d multisigs/emergency 0x3c58668054c299bE836a0bBB028Bee3aD4724846
20230711-composable-stable-pool-v5 polygon enableRecoveryMode() 0x2ac3edb051b1334473999eeea35bc4ff0f87e8c066b66f6940819629a2ccf820 20221123-pool-recovery-helper/PoolRecoveryHelper 0x495F696430F4A51F7fcB98FbE68a9Cb7A07fB1bA
20230711-composable-stable-pool-v5 polygon setSwapFeePercentage(uint256) 0x8e9ee99533bd178c1573e352145db0eeb33e8722b92d1d6fbc1de799b41f180c multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 polygon startAmplificationParameterUpdate(uint256,uint256) 0x38db2dc993d272984aa505f0b59a8b6aac970193c0e50bfa5e8ba503c053a2a5 multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 polygon stopAmplificationParameterUpdate() 0xbb90aa662dea36fc9db5c97eafcf6a4379941e6e2675d8c1bc1416a42b77db25 multisigs/lm 0xc38c5f97B34E175FFd35407fc91a937300E33860
20230711-composable-stable-pool-v5 zkevm disable() 0x0ebf042d38f8e1bb630c3010c686232d7334f90360a82eb23623fd01fbe8e656 multisigs/emergency 0x79b131498355daa2cC740936fcb9A7dF76A86223
20230711-composable-stable-pool-v5 zkevm disableRecoveryMode() 0xcfd45e344ead8485b80a5f9da66791663c8306984e9c6dc12eda2ee747cce604 multisigs/emergency 0x79b131498355daa2cC740936fcb9A7dF76A86223
20230711-composable-stable-pool-v5 zkevm enableRecoveryMode() 0x6fa5acf6e6e303c2d281bf1af5f4d83642a125c5a3308cdf67e956bec276b69e multisigs/emergency 0x79b131498355daa2cC740936fcb9A7dF76A86223
20230711-composable-stable-pool-v5 zkevm pause() 0xa5d55e5978cb5ab0a8b23eed8889931ca33b54522edde10e348f4f96d35f0b35 multisigs/emergency 0x79b131498355daa2cC740936fcb9A7dF76A86223
20230711-composable-stable-pool-v5 zkevm setSwapFeePercentage(uint256) 0x04dd8b85ae9bff95ec24f18269d23bd2d04784d5f5d8b35261545b82ed754a85 multisigs/lm 0xB59Ab49CA8d064E645Bf2c546d9FE6d1d4147a09
20230711-composable-stable-pool-v5 zkevm startAmplificationParameterUpdate(uint256,uint256) 0x1307ea331d8ab1feffafb967ddf20c66fd92ce496eda1de129a4608d4b40f313 multisigs/lm 0xB59Ab49CA8d064E645Bf2c546d9FE6d1d4147a09
20230711-composable-stable-pool-v5 zkevm stopAmplificationParameterUpdate() 0xbd408e756684e5ea83089ee33aa05ce9410b392967bffc71c11fb394026e7a09 multisigs/lm 0xB59Ab49CA8d064E645Bf2c546d9FE6d1d4147a09
20230711-composable-stable-pool-v5 zkevm enableRecoveryMode() 0x6fa5acf6e6e303c2d281bf1af5f4d83642a125c5a3308cdf67e956bec276b69e 20221123-pool-recovery-helper/PoolRecoveryHelper 0xf7D5DcE55E6D47852F054697BAB6A1B48A00ddbd

Risk Assessment

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

References

Balancer Deployments
BAL Addresses

3 Likes

https://snapshot.org/#/balancer.eth/proposal/0x42c6aa9444292fb9d9ee3f0045e851781e5fafd794f388e7422bf1ab2803c4d6