[BIP-49] ComposableStable and AaveLinearPools: permission granting

[BIP-XX] ComposableStable and AaveLinearPools: permission granting

New pool factories have been deployed on all networks.

This proposal seeks governance approval to grant specific roles to certain ecosystem participants for security purposes and efficient management of these pools.

Authorize the Emergency subDAO to pause the pools

Just like with previous pools, these new pools have an emergency pause period which is hardcoded at 3 months from the time the factories were deployed. During the pause period, the Balancer Governance Multisig has the power to gracefully pause the system in case vulnerabilities or issues arise. Funds can always be withdrawn by users , even during an emergency pause, and the pause is only to be invoked in situations where user funds may be at risk.

Since gathering 6/11 governance multisig signers during an emergency may not be feasible or expedient, we propose also authorizing the Emergency subDAO to pause the system. Note that after the 3-month pause period ends, neither the Governance Multisig nor the Emergency subDAO will have any pause power.

Authorize Balancer Maxis to manage pool parameters

As in previous versions, these pools contain a series of parameters that affect their efficiency and can be tuned depending on market conditions:

  • Composable Stable Pools:
    • swap fee
    • amplification parameter
    • token rate cache duration
  • Linear Pools:
    • swap fee
    • lower target
    • upper target

For a detailed description of each one of those, see the corresponding proposal for StablePhamtomPools and AaveLinearPool v1.

The action IDs corresponding to each one of the functions in each one the pools in each network can be found in the Balancer Labs Monorepo

The list of Balancer Maxis’s multisigs can be found in their Notion

Specification

The DAO multisig in each network will initiate transactions with the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling the function grantRole for each one of the following role/account tuples:

Network Pool Function Role (action ID) Account
Mainnet Composable setSwapFeePercentage 0x94611f33019f04ed070e076bbacb9ff5c5fe03d7184bef4026e1ee669d3b623e 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Composable startAmplificationParameterUpdate 0x11562115fbcf4955e097732f59969867f1cb458a8cbd648231b0ffae14c800de 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Composable stopAmplificationParameterUpdate 0xf8ab8bdb4497d157053d2f796e50c33e6fff3d586b6db6880ab12eff1d907b2b 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Composable setTokenRateCacheDuration 0xd4f0c40da2129d4b1aba541e693e03b92a323a66f649257a258fe6e4ea331b52 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Composable pause 0x367e95c6cc9f3041f3c6ee21b06ef8992a82318a6b2adbbfb6af3ee601769a30 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
Mainnet Composable unpause 0xfef90c64be79cb170a20e526196e7c8f2f37f441ae85c945c18a91a64777d309 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
Mainnet Linear setSwapFeePercentage 0x7fad14fae895c80a37148957909942740cfbc0ddc5676b975d9893577ba7cd17 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Linear setTargets 0xef008574ca41f2b6033a54a73ad6adc382165acd85b6f76f8456d9946b299a16 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
Mainnet Linear pause 0x8d329099a8220fbd27ff3cf304a4cb1dae32335654ec5115c3a643ac0e623418 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
Mainnet Linear unpause 0xa738fa584fff6afe4e319db36f7f5270924047e5e2c04a1712cbfc082e3fd078 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888
Arbitrum Composable setSwapFeePercentage 0xe605bedb5062fc75d9a4c9b67d38cd084c8e883c9821eb951f858447df8e3a2f 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Composable startAmplificationParameterUpdate 0x8412f218d25cee223ab7a404c3406940a064f40fdaa417d647445eba10b97038 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Composable stopAmplificationParameterUpdate 0x9a3c5c0ea4b79c825df11ad6ce909976a96ac0f53aff7a7b739ca6b723b20600 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Composable setTokenRateCacheDuration 0x90cb2445e696709389ac5e1031afc231c98d773cf96ab0e1ba7807c2366e42ff 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Composable pause 0x790eac10c9ba4bc5ac31ce9b82c6bdc74cb75dada4b62b7f951b3962cf360305 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
Arbitrum Composable unpause 0xb765124d230f343b0ac8a1cae93458954ce6dd674c67b4e88fc1724ae35c9fc8 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
Arbitrum Linear setSwapFeePercentage 0xe9d4a41f6bb25c8862c0c2c860268861488f862a3702115587343e3c3d6ea29a 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Linear setTargets 0x2095feae5b22289753af2b83be023818aa08f8d76f2083e5fb8a393a2c8a4836 0x7c68c42De679ffB0f16216154C996C354cF1161B
Arbitrum Linear pause 0x25ec546c5f4dfc2fe31ba04f5cf65a8098b35111075a5fd114ea3475e4254ac6 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
Arbitrum Linear unpause 0xb48ae0b045f774f177ab4b36d641b3bfaeb28e42f6da1a418a80f696f3a21703 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D
Polygon Composable setSwapFeePercentage 0x576b700db98ec644eecfa8897c70a0d2b3d30bed2ccdf3bddefe31760f8c0633 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Composable startAmplificationParameterUpdate 0x5d4a1165b8bf34b0f592f2bdc6f1ee5d09481814963677ed7630f5c67841b626 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Composable stopAmplificationParameterUpdate 0x6f1a0dba66a9983fa400ea47a5386421a36e9bdcfa882c97c2741d077f04141b 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Composable setTokenRateCacheDuration 0x37726c43670a7ead095d76165a2416d6eff42e053156b5c37a214568b28cd7a0 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Composable pause 0xb2e5923fd9825ad003a6916a2959b6fec8c1cbd137e7f4717e8f3a0ef5356f5d 0x3c58668054c299bE836a0bBB028Bee3aD4724846
Polygon Composable unpause 0x36747b6cd8d8f2a23383e96a481dc01e6635f54026b006f9188384f6893474ee 0x3c58668054c299bE836a0bBB028Bee3aD4724846
Polygon Linear setSwapFeePercentage 0xcf5e03a737e4f5ba6d13e23f893a1e0255b362d8ce22e9568e1565fcf92789c7 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Linear setTargets 0x6acd4f21c434de03ec54c117c6044204a513d0adac665ede4c7206f56f907ef7 0x7c68c42De679ffB0f16216154C996C354cF1161B
Polygon Linear pause 0xcd7e0ee0107ef7cac4d00d3821101a9ba6f02158f7f4dd52693e82ad3c91e918 0x3c58668054c299bE836a0bBB028Bee3aD4724846
Polygon Linear unpause 0x07b4fb5e12466b66136a430edadfe74892e0cbfc410f6268a2d1d24cc09a6e05 0x3c58668054c299bE836a0bBB028Bee3aD4724846
Optimism Composable setSwapFeePercentage 0x66ac87b56c0b6f1b8ba5ce2036d91aaa631367d588313cd8cc730df051efa140 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Composable startAmplificationParameterUpdate 0x3d7fd8b3446db77eb8d83e5121c868c127b5f3fe8f91aa450efe51afb2195d6d 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Composable stopAmplificationParameterUpdate 0x829c6af04e241a9112e22d83f9762834e232755ac15bcd8413c3ebbbd5870eaa 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Composable setTokenRateCacheDuration 0x6674086fab3168c3fc3cdb60f353d450e59522be8e64a0db73b5f3745322a54c 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Composable pause 0x04c4307b17c18ef584c6c9111ccaa6d1281fb85d0b22696a165ab2619f7c24ab 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
Optimism Composable unpause 0x883d4d096be6a2505447f839999d94e029323effbc22f771d5d78f974462963a 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
Optimism Linear setSwapFeePercentage 0xb440521601245c504e842f9580cabe88c3718e8eccd49f4a077b092ad010a967 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Linear setTargets 0xc01b11d5a2f4ee957997d10342772e3140603f0dad8741f7407662573682daf7 0x09Df1626110803C7b3b07085Ef1E053494155089
Optimism Linear pause 0x6e961d95077acbe45f054b20b277b2e56ab7d35ba632f0d71a7ea1b48ca3e7e9 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
Optimism Linear unpause 0x7e82eda3057396200811c8c0ece0c5638d4f2a78645f9d05fd0da9072dc4815f 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B
6 Likes

I hadn’t realized that there are multisigs for the Emergency subDAO in every one of those networks. I’m amending this proposal to replace the Balancer Labs with the Emergency subDAO multisigs

Mainnet: 0xA29F61256e948F3FB707b4b3B138C5cCb9EF9888 Gnosis Safe
Polygon: 0x3c58668054c299bE836a0bBB028Bee3aD4724846 Gnosis Safe
Arbitrum: 0xf404C5a0c02397f0908A3524fc5eb84e68Bbe60D Gnosis Safe
Optimism: 0xd4c87b33afcE39F1E3F4aF1ce8fFFF7241d9128B Gnosis Safe

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