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.