[BIP-318] Grant Avalanche Permissions

Payload PR - BIP-318

Background

The goal of this BIP is to grant all necessary permissions and perform various “start up” actions to bring Avalanche up to par with Balancer’s other networks ahead of our upcoming launch.

BIP-318 grants all base permissions for the network to operate
BIP-318A sets the protocol fee on swaps and yield to 50%
BIP-318B adds the child chain gauge factory to the pseudo minter to allow the L2 gauges to emit BAL
BIP-318C enables the authorizer wrapper
BIP-318D adds the avalanche root gauge factory to the gauge adder v4

Note, there will be upcoming governance to enable layer zero boosts on Avalanche and zkEVM.

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
20210418-vault avalanche batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes),address,(address,bool,address,bool),int256,uint256) 0x1282ab709b2b70070f829c46bc36f76b32ad4989fecb2fcb09a1b3ce00bbfc30 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20210418-vault avalanche exitPool(bytes32,address,address,(address,uint256,bytes,bool)) 0xc149e88b59429ded7f601ab52ecd62331cac006ae07c16543439ed138dcb8d34 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20210418-vault avalanche joinPool(bytes32,address,address,(address,uint256,bytes,bool)) 0x78ad1b68d148c070372f8643c4648efbb63c6a8a338f3c24714868e791367653 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20210418-vault avalanche manageUserBalance((uint8,address,uint256,address,address)) 0xeba777d811cd36c06d540d7ff2ed18ed042fd67bbf7c9afcf88c818c7ee6b498 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20210418-vault avalanche setRelayerApproval(address,address,bool) 0x0014a06d322ff07fcc02b12f93eb77bb76e28cdee4fc0670b9dec98d24bbfec8 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20210418-vault avalanche swap((bytes32,uint8,address,address,uint256,bytes),(address,bool,address,bool),uint256,uint256) 0x7b8a1d293670124924a0f532213753b89db10bde737249d4540e9a03657d1aff 20230314-batch-relayer-v5/BalancerRelayer 0x03F1ab8b19bcE21EB06C364aEc9e40322572a1e9
20220725-protocol-fee-percentages-provider avalanche setFeeTypePercentage(uint256,uint256) 0xf966da38fb72cb10be01d2ff406b1aeb9cdc62f757d0042e6ff6249f196221a1 multisigs/dao 0x17b11FF13e2d7bAb2648182dFD1f1cfa0E4C7cf3
20210418-vault avalanche setFlashLoanFeePercentage(uint256) 0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider 0x239e55F427D44C3cc793f49bFB507ebe76638a2b
20210418-vault avalanche setSwapFeePercentage(uint256) 0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider 0x239e55F427D44C3cc793f49bFB507ebe76638a2b
20230409-erc4626-linear-pool-v4 avalanche disable() 0x7c86cd148d8db45c3b501ebc46765f768002a524cfb99123f8f21c719f62e38c multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230409-erc4626-linear-pool-v4 avalanche enableRecoveryMode() 0xa2685f4f3b3ddc4fd9c791acbb59d64abb16a8597f810c7154b1b9b5a6c3b5a9 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230409-erc4626-linear-pool-v4 avalanche pause() 0xeefb035cba9a13afe91cf64ecc5036868aa5cc5340cd7c5017def2049ac0b0ba multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230410-aave-linear-pool-v5 avalanche disable() 0x627a2e247176a7cc72374908eeb1ee97159879e68e9a4dbce0144199d17c8a69 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230410-aave-linear-pool-v5 avalanche enableRecoveryMode() 0x58bc56d9b84cb2e4efd84f56c7763228f92c6b4714a2cbe10c252384c8b5aa9f multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230410-aave-linear-pool-v5 avalanche pause() 0x0c17c4a98fd69c4f4acbe101409c122417155d8b138eb16bdbdffe541de0355d multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230411-managed-pool-v2 avalanche disable() 0xc286c677f812387602b94d5dee672097cae543d80e175977381fbdbcdb9b2c12 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230411-managed-pool-v2 avalanche enableRecoveryMode() 0x2aa887a92d3d18f30f198214d2c197b7d148bb735c610372199c51c6a4866b86 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230411-managed-pool-v2 avalanche pause() 0xe67bef3cfb0ba409959647fa3d8ff78b267a1c13f5434c2f32219ced33fec922 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20210418-vault avalanche setPaused(bool) 0xb5593fe09464f360ecf835d5b9319ce69900ae1b29d13844b73c250b1f5f92fb multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20220517-protocol-fee-withdrawer avalanche denylistToken(address) 0xf3eadfc5e658bb5d9308d4d7d2b30766bd48e5db7a3637a92428d39fb6b97645 multisigs/emergency 0x308f8d3536261C32c97D2f85ddc357f5cCdF33F0
20230409-erc4626-linear-pool-v4 avalanche setSwapFeePercentage(uint256) 0x6103010ac84a79eba6f8385214ddd4e50f4d1e8a2210023cfdf373b4bae5450c multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230409-erc4626-linear-pool-v4 avalanche setTargets(uint256,uint256) 0x94e7c43729e6cb635126e5a736eaa1db1ee39400b329e3d1d9a9dda175f52b1f multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230410-aave-linear-pool-v5 avalanche setSwapFeePercentage(uint256) 0x46d03ee209073be69d372d41f744c1529b277254f22efebde5fbc8d6038e3bde multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230410-aave-linear-pool-v5 avalanche setTargets(uint256,uint256) 0xa194a38f094d72bf8e03dde416d3522afc065785e96948ad893a514dcadfc401 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230316-child-chain-gauge-factory-v2 avalanche add_reward(address,address) 0xde6b942f89e9060258ffab001fdc0f8f8586641c2f0aa6a47ab427260a470059 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20220517-protocol-fee-withdrawer avalanche withdrawCollectedFees(address,uint256,address) 0x9b7cac7a6e50200d3ceb1372c25ac2f697fa4ba4495fb37091ffc35e5b4f8a42 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20221123-pool-recovery-helper avalanche addPoolFactory(address) 0x90ce8036a67bbe2451d4f50ab7353343339db901728ae2de09928006819ee686 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20221123-pool-recovery-helper avalanche removePoolFactory(address) 0x25cbdd96392463c2c0b1e5a2db364a18327ef561b6ceeb4a444b694dbf2c7890 multisigs/lm 0x326A7778DB9B741Cb2acA0DE07b9402C7685dAc6
20230409-erc4626-linear-pool-v4 avalanche enableRecoveryMode() 0xa2685f4f3b3ddc4fd9c791acbb59d64abb16a8597f810c7154b1b9b5a6c3b5a9 20221123-pool-recovery-helper/PoolRecoveryHelper 0x3b8cA519122CdD8efb272b0D3085453404B25bD0
20230410-aave-linear-pool-v5 avalanche enableRecoveryMode() 0x58bc56d9b84cb2e4efd84f56c7763228f92c6b4714a2cbe10c252384c8b5aa9f 20221123-pool-recovery-helper/PoolRecoveryHelper 0x3b8cA519122CdD8efb272b0D3085453404B25bD0
20230411-managed-pool-v2 avalanche enableRecoveryMode() 0x2aa887a92d3d18f30f198214d2c197b7d148bb735c610372199c51c6a4866b86 20221123-pool-recovery-helper/PoolRecoveryHelper 0x3b8cA519122CdD8efb272b0D3085453404B25bD0
20210418-vault avalanche withdrawCollectedFees(address,uint256,address) 0xb2b6e48fa160a7c887d9d7a68b6a9bb9d47d4953d33e07f3a39e175d75e97796 20220517-protocol-fee-withdrawer/ProtocolFeesWithdrawer 0x8F42aDBbA1B16EaAE3BB5754915E0D06059aDd75

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

2 Likes

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