• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
BalancerBalancerby0x512fce9B07Ce64590849115EE6B32fd40eC0f5F3Solarcurve

Authorize Gauntlet to Manage MetaStable and Stable Pools

Voting ended over 4 years agoSucceeded

Motivation

Currently Gauntlet manages dynamic fees for any two token pool which has delegated fee control to them on mainnet. With the advent of MetaStable and Stable pools and the increased complexity in managing not only the swap fee but the amplification parameter, Gauntlet wasn't able to accept management of these pool types immediately. They have signaled they are ready now, so we are proceeding with this vote quickly so these pools can start working better for our LP's and for the protocol.

This proposal would only cover mainnet MetaStable and Stable Pools and only allow Gauntlet to manage the swap fee and amplification parameter.

Specification

The Balancer governance multisig would submit FOUR transactions to the Authorizer in order to grant the ability to set swap fees on StablePools and MetaStablePools to the GAUNTLET_FEE_SETTER and the ability to set amplification factor on StablePools and MetaStablePools to the GAUNTLET_SAFE.

Set Swap Fees on StablePools

**[1]**The Gnosis Safe at 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f would send a transaction to the Vault Authorizer at 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 with the following data to authorize the GAUNTLET_FEE_SETTER at 0xE4a8ed6c1D8d048bD29A00946BFcf2DB10E7923B to set swap fees on StablePools:

authorizer.grantRole(
0x7b09f4b61ccfe85436161b0223489b187d9f9158c542b5e6105df147afc78aca,
 0xE4a8ed6c1D8d048bD29A00946BFcf2DB10E7923B
);

For transparency's sake, a developer could reproduce the bytes specifying the role above using this pseudo-code:

pool.getActionId(pool.interface.getSighash('setSwapFeePercentage')); // 0x7b09f4b61ccfe85436161b0223489b187d9f9158c542b5e6105df147afc78aca

Set Swap Fees on MetaStablePools

**[2]**The Gnosis Safe at 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f would send a transaction to the Vault Authorizer at 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 with the following data to authorize the GAUNTLET_FEE_SETTER at 0xE4a8ed6c1D8d048bD29A00946BFcf2DB10E7923B to set swap fees on MetaStablePools:

authorizer.grantRole(
0x15d3918ca8f9895d8906a780f5f402d32707bada7b1b5e7b21b7351257103a35, 
0xE4a8ed6c1D8d048bD29A00946BFcf2DB10E7923B
);

For transparency's sake, a developer could reproduce the bytes specifying the role above using this pseudo-code:

pool.getActionId(pool.interface.getSighash('setSwapFeePercentage')); // 0x15d3918ca8f9895d8906a780f5f402d32707bada7b1b5e7b21b7351257103a35

Set Amplification Factor on StablePools

**[3]**The Gnosis Safe at 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f would send a transaction to the Vault Authorizer at 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 with the following data to authorize the GAUNTLET_SAFE at 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6 to set the amplification factor on StablePools:

authorizer.grantRoles(
    [
0x8c9b4c1f53b968f62f656d48126bd856c38b0d879974dff5b5d6055c0d2917d4,
0xc787be37f98a254065bf8678258de57ce53a2d6814c519063f3003dd9f92dfc3,
    ],
    0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
  );

For transparency's sake, a developer could reproduce the bytes specifying the role above using this pseudo-code:

pool.getActionId(pool.interface.getSighash('startAmplificationParameterUpdate')); // 0x8c9b4c1f53b968f62f656d48126bd856c38b0d879974dff5b5d6055c0d2917d4
pool.getActionId(pool.interface.getSighash('stopAmplificationParameterUpdate')); // 0xc787be37f98a254065bf8678258de57ce53a2d6814c519063f3003dd9f92dfc3

Set Amplification Factor on MetaStablePools

**[4]**The Gnosis Safe at 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f would send a transaction to the Vault Authorizer at 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 with the following data to authorize the GAUNTLET_SAFE at 0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6 to set the amplification factor on MetaStablePools:

authorizer.grantRoles(
    [
0xc108e87eca9f3a0e9a9db0b708e6b15a70c3d0859b02723a7cc4b5ca1fb9fc28,
0x2f17310a7a479b437515eb1917c45a5f8d1fc7035462cfc7c7c43825dec621b5,
    ],
    0xf4A80929163C5179Ca042E1B292F5EFBBE3D89e6
  );

For transparency's sake, a developer could reproduce the bytes specifying the role above using this pseudo-code:

pool.getActionId(pool.interface.getSighash('startAmplificationParameterUpdate')); // 0xc108e87eca9f3a0e9a9db0b708e6b15a70c3d0859b02723a7cc4b5ca1fb9fc28
pool.getActionId(pool.interface.getSighash('stopAmplificationParameterUpdate')); // 0x2f17310a7a479b437515eb1917c45a5f8d1fc7035462cfc7c7c43825dec621b5

Off-Chain Vote

Yes
166.62K 100%
No
1.19 0%
Download mobile app to vote

Timeline

Sep 17, 2021Proposal created
Sep 17, 2021Proposal vote started
Sep 20, 2021Proposal vote ended
Apr 19, 2025Proposal updated