Payload PR - BIP-613
Background
This BIP is to add permissions to the Balancer Multisigs as described in the payload PR linked above in order to enable the protocol to operate on Fraxtal and Mode.
It is similar to other permissions BIPs such as BIP-388 for Base and BIP-318 for AVAX.
Specifications
This BIP includes a number of payload files that perform various functions required to get a chain up and running. The payloads can be found with reports in the PR linked above, and are described in the tables below.
The transaction details for 00fraxtal.json
and 00mode.json
were generated by this script with inputs and outputs in this directory. These files were amended with transactions to set protocol fee percentages to 50% after generation.
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. |
00chainname .json |
Transaction Payloads to invoke the permissions changes described above per chain. Also sets protcool fees to 50% on swap and yield. |
BIP-613B-chainname .json |
Adds the gauge factory to the psuedominter on both chains |
BIP-613C-chainname .json |
Configures the AuthorizorAdapter on both chains |
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 | function | role | chain | caller | caller_address |
---|---|---|---|---|---|
20220725-protocol-fee-percentages-provider | setFeeTypePercentage(uint256,uint256) | 0x6a0dbf850b77efe39084cc09b1e400307ad6949c5b87efdec8381b88592862fa | fraxtal | multisigs/dao | 0x4f22C2784Cbd2B24a172566491Ee73fee1A63c2e |
20230320-weighted-pool-v4 | enableRecoveryMode() | 0x55183eaafc9e607c22ca713ce26b115fe0e7e47216af41fcec2f0fff0d6f622a | fraxtal | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x76578ecf9a141296Ec657847fb45B0585bCDa3a6 |
20240223-composable-stable-pool-v6 | enableRecoveryMode() | 0x73c3332de64a6f7b137bea3255a221d779cc0f170ea4892ff0581faf799230ff | fraxtal | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x76578ecf9a141296Ec657847fb45B0585bCDa3a6 |
20230411-managed-pool-v2 | enableRecoveryMode() | 0x1d087bf5277f83a51abd0bb650d0f671ec1075c10fc740f941334329621bb89d | fraxtal | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x76578ecf9a141296Ec657847fb45B0585bCDa3a6 |
20210418-vault | withdrawCollectedFees(address,uint256,address) | 0xb2b6e48fa160a7c887d9d7a68b6a9bb9d47d4953d33e07f3a39e175d75e97796 | fraxtal | 20220517-protocol-fee-withdrawer/ProtocolFeesWithdrawer | 0x85a80afee867aDf27B50BdB7b76DA70f1E853062 |
20230320-weighted-pool-v4 | setSwapFeePercentage(uint256) | 0x2ae3adc781b5bd1b6741f6a0d64c69c177a309fa771c818a298f437b11e338a9 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | setSwapFeePercentage(uint256) | 0x22627da2e7670aed1292420d5f0a2a49a7bd5992e0aef001702aa3285b5979b3 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | startAmplificationParameterUpdate(uint256,uint256) | 0x86f2cd537c832d7823d7b51e7f52288e383427c8c41180561f0f8054bc216f56 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | stopAmplificationParameterUpdate() | 0x0c055dc6cd1d6558914ef49c536f751680f8c413a3563007992801443bcca7a5 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230316-child-chain-gauge-factory-v2 | add_reward(address,address) | 0x5136d1203b14ba22a937b7e444c8af4b759cc078fda17daabcc62cb16d44f770 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20220517-protocol-fee-withdrawer | withdrawCollectedFees(address,uint256,address) | 0x0e9dc9cb7f6c04b4bd6a3a1454fea541139560e67c2305a90fa5021b5a9654a6 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20221123-pool-recovery-helper | removePoolFactory(address) | 0xe59f99daac75c9e44d591c49a65423101c290813a1ebd1ef8833a4dab984fa9a | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20221123-pool-recovery-helper | addPoolFactory(address) | 0x8bd6c78035cf14d9a9eee5f76434919f54549515ffeb33ef262637ace4623751 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230223-protocol-id-registry | registerProtocolId(uint256,string) | 0xafaf4ce764706ff75bea937f87b0d04970292af6c75a3e1bc4045bb9777dfa65 | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230223-protocol-id-registry | renameProtocolId(uint256,string) | 0x3ebf880359d778f39e7be152c0f9e08ca720deb5fec5c8d1f452538638a298db | fraxtal | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230320-weighted-pool-v4 | pause() | 0x9fca6ce6b2733f09e22be866cbbfc8b9b4b6822e7ff1e1c9b5c10895e2bbb6b0 | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20230320-weighted-pool-v4 | disable() | 0xf27a3cfffd6082308886cb5ef66425202d4b3180e84c6852d7d8109b4228a5ec | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20230320-weighted-pool-v4 | enableRecoveryMode() | 0x55183eaafc9e607c22ca713ce26b115fe0e7e47216af41fcec2f0fff0d6f622a | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20240223-composable-stable-pool-v6 | pause() | 0x04221c483f49fe794f5ce394e0ffc086722e106b9fef863610ccfbe1a019b997 | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20240223-composable-stable-pool-v6 | disable() | 0x3dd110fd101a1be6115ceb811a85535de6c9c019360c7d67c022c48a3dd685d9 | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20240223-composable-stable-pool-v6 | enableRecoveryMode() | 0x73c3332de64a6f7b137bea3255a221d779cc0f170ea4892ff0581faf799230ff | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20230411-managed-pool-v2 | pause() | 0xda3af9541f52be1def53d54294a906c129ad5721f0b79b6a7efa9d0b6ed49de5 | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20230411-managed-pool-v2 | disable() | 0xbd92af6a2dfb24acf76fcff3ee827e4d13aceb26a57d95e47b90581760c41049 | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20230411-managed-pool-v2 | enableRecoveryMode() | 0x1d087bf5277f83a51abd0bb650d0f671ec1075c10fc740f941334329621bb89d | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20210418-vault | setPaused(bool) | 0xb5593fe09464f360ecf835d5b9319ce69900ae1b29d13844b73c250b1f5f92fb | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20220517-protocol-fee-withdrawer | denylistToken(address) | 0x3d2eef14850cbbadfbbe943f0365f71562f347a7f22272c6fde14bc3b2e8890b | fraxtal | multisigs/emergency | 0xC66d0Ba27b8309D27cCa70064dfb40b73DB6de9E |
20210418-vault | exitPool(bytes32,address,address,(address,uint256,bytes,bool)) | 0xc149e88b59429ded7f601ab52ecd62331cac006ae07c16543439ed138dcb8d34 | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | joinPool(bytes32,address,address,(address,uint256,bytes,bool)) | 0x78ad1b68d148c070372f8643c4648efbb63c6a8a338f3c24714868e791367653 | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes),address,(address,bool,address,bool),int256,uint256) | 0x1282ab709b2b70070f829c46bc36f76b32ad4989fecb2fcb09a1b3ce00bbfc30 | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | manageUserBalance((uint8,address,uint256,address,address)) | 0xeba777d811cd36c06d540d7ff2ed18ed042fd67bbf7c9afcf88c818c7ee6b498 | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | setRelayerApproval(address,address,bool) | 0x0014a06d322ff07fcc02b12f93eb77bb76e28cdee4fc0670b9dec98d24bbfec8 | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | swap((bytes32,uint8,address,address,uint256,bytes),(address,bool,address,bool),uint256,uint256) | 0x7b8a1d293670124924a0f532213753b89db10bde737249d4540e9a03657d1aff | fraxtal | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | setSwapFeePercentage(uint256) | 0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083 | fraxtal | 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider | 0xf23b4DB826DbA14c0e857029dfF076b1c0264843 |
20210418-vault | setFlashLoanFeePercentage(uint256) | 0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e | fraxtal | 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider | 0xf23b4DB826DbA14c0e857029dfF076b1c0264843 |
20230320-weighted-pool-v4 | enableRecoveryMode() | 0xf0136d1b61d53c1164668375458dd86685a88c5324271349ace94b5f2743a932 | mode | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x4132f7AcC9dB7A6cF7BE2Dd3A9DC8b30C7E6E6c8 |
20240223-composable-stable-pool-v6 | enableRecoveryMode() | 0xccaf05adf78d1e0bda037c9eaa020571023c007befc81506bbe8ae647cdf260c | mode | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x4132f7AcC9dB7A6cF7BE2Dd3A9DC8b30C7E6E6c8 |
20230411-managed-pool-v2 | enableRecoveryMode() | 0x7f42c77cb4b9f8e5f51b922886e6f62e00feaf246cccf2927a0f00dd3150e1ae | mode | 20221123-pool-recovery-helper/PoolRecoveryHelper | 0x4132f7AcC9dB7A6cF7BE2Dd3A9DC8b30C7E6E6c8 |
20220725-protocol-fee-percentages-provider | setFeeTypePercentage(uint256,uint256) | 0x1c81700c4527c26bb9aa170d0053c053b25de1492f19267ac6be7f8c62ef5569 | mode | multisigs/dao | 0x4f22C2784Cbd2B24a172566491Ee73fee1A63c2e |
20230320-weighted-pool-v4 | pause() | 0x7533f5ec889e599162d5b62c7931b402430fe4e92f30ca02054986fc9ba5f0d5 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20230320-weighted-pool-v4 | disable() | 0xd9801dfe2a5b9b3b528585abebb08cd61b35502437c6bec85414ff7aaa387f84 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20230320-weighted-pool-v4 | enableRecoveryMode() | 0xf0136d1b61d53c1164668375458dd86685a88c5324271349ace94b5f2743a932 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20240223-composable-stable-pool-v6 | pause() | 0x7610899afab87ac343d3033932882e61b78ae3df6c6ca132e39b607f1761c624 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20240223-composable-stable-pool-v6 | disable() | 0x4d30cbc2e28f426257db0dd64beff2e6fd04e66b7453e947fecc1cf4d0b4eef7 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20240223-composable-stable-pool-v6 | enableRecoveryMode() | 0xccaf05adf78d1e0bda037c9eaa020571023c007befc81506bbe8ae647cdf260c | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20230411-managed-pool-v2 | pause() | 0xb4dacaceeadf349e2eaf81fae99db22f312f7b8d19bd3aa0aae4d74e8c40460a | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20230411-managed-pool-v2 | disable() | 0x209075578b0c6819e5f117c0e9c4cafdfb4bac956e8ea969ff11fb444cd95b08 | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20230411-managed-pool-v2 | enableRecoveryMode() | 0x7f42c77cb4b9f8e5f51b922886e6f62e00feaf246cccf2927a0f00dd3150e1ae | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20210418-vault | setPaused(bool) | 0xb5593fe09464f360ecf835d5b9319ce69900ae1b29d13844b73c250b1f5f92fb | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20220517-protocol-fee-withdrawer | denylistToken(address) | 0xb402f1c527ae841a6ab9272b0b11576bb706145b9e1857103b96b31606cb995a | mode | multisigs/emergency | 0x66C4b8Ba38a7B57495b7D0581f25784E629516c2 |
20210418-vault | setSwapFeePercentage(uint256) | 0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083 | mode | 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider | 0x85a80afee867aDf27B50BdB7b76DA70f1E853062 |
20210418-vault | setFlashLoanFeePercentage(uint256) | 0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e | mode | 20220725-protocol-fee-percentages-provider/ProtocolFeePercentagesProvider | 0x85a80afee867aDf27B50BdB7b76DA70f1E853062 |
20210418-vault | withdrawCollectedFees(address,uint256,address) | 0xb2b6e48fa160a7c887d9d7a68b6a9bb9d47d4953d33e07f3a39e175d75e97796 | mode | 20220517-protocol-fee-withdrawer/ProtocolFeesWithdrawer | 0x9Ac3E70dB606659Bf32D4BdFbb687AD193FD1F5B |
20230320-weighted-pool-v4 | setSwapFeePercentage(uint256) | 0xa1d496e6430b89d0d1db0f2a465fa90c6869e0fa261764f9ded0fc763c7fe5a6 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | setSwapFeePercentage(uint256) | 0xa78f1cb63d3f446e1e9b8487adb64f8eb62fb54ea65fcacb2c71bd3984818985 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | startAmplificationParameterUpdate(uint256,uint256) | 0xe14e689f3fefda81a75d35b8e900ec0af04143ad3c43dfc6f460cfb0a45815f6 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20240223-composable-stable-pool-v6 | stopAmplificationParameterUpdate() | 0x9a098720ece757a23df7742e3f16c6ad6e0610120f10c8edbd6ac53cd9b7c951 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230316-child-chain-gauge-factory-v2 | add_reward(address,address) | 0xf27822b70ee081744165c05eea053ce08242fb70b8c76d0839da1cf7a4f5fa01 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20220517-protocol-fee-withdrawer | withdrawCollectedFees(address,uint256,address) | 0x000dfb61af4938ab97859cfdca0fcf16419f15e36c90216b41d5e38d72ef208e | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20221123-pool-recovery-helper | removePoolFactory(address) | 0x8cda99fc04bda5395d59be6ecac7c4311f4b7fd26fdc0a111934a1aeb5c4637f | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20221123-pool-recovery-helper | addPoolFactory(address) | 0x921076734257eb232f70b5aff2cae0f998b4e1aa7a55ae3a0af1ce8629c33da9 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230223-protocol-id-registry | registerProtocolId(uint256,string) | 0xcdf8a72988961264bb6330f6907f1a0833ad472cbc1d9522cc8e23d8b6e7fbb9 | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20230223-protocol-id-registry | renameProtocolId(uint256,string) | 0xb484eabe5a2eb23a030770c8418e6b7ac968a740108f25f9360bc2bae2c41e4c | mode | multisigs/lm | 0x9ff471F9f98F42E5151C7855fD1b5aa906b1AF7e |
20210418-vault | exitPool(bytes32,address,address,(address,uint256,bytes,bool)) | 0xc149e88b59429ded7f601ab52ecd62331cac006ae07c16543439ed138dcb8d34 | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | joinPool(bytes32,address,address,(address,uint256,bytes,bool)) | 0x78ad1b68d148c070372f8643c4648efbb63c6a8a338f3c24714868e791367653 | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes),address,(address,bool,address,bool),int256,uint256) | 0x1282ab709b2b70070f829c46bc36f76b32ad4989fecb2fcb09a1b3ce00bbfc30 | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | manageUserBalance((uint8,address,uint256,address,address)) | 0xeba777d811cd36c06d540d7ff2ed18ed042fd67bbf7c9afcf88c818c7ee6b498 | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | setRelayerApproval(address,address,bool) | 0x0014a06d322ff07fcc02b12f93eb77bb76e28cdee4fc0670b9dec98d24bbfec8 | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
20210418-vault | swap((bytes32,uint8,address,address,uint256,bytes),(address,bool,address,bool),uint256,uint256) | 0x7b8a1d293670124924a0f532213753b89db10bde737249d4540e9a03657d1aff | mode | 20231031-batch-relayer-v6/BalancerRelayer | 0xb541765F540447646A9545E0A4800A0Bacf9E13D |
Risk Assessment
This is standard operating procedure for new chains. Detailed review is important, but at the moment the protocol is not active on these chains and there is no risk.