Authors philjfry, ahtle7
Summary
In Q1 2023, Aura underwent a proactive security upgrade (AIP-20) to remove certain protected functions in the system that are not necessary and could lead to security issues in the future. This would then apply to all pools added to Aura after this time (i.e. where poolId > 48
). A number of high TVL pools below pid
48 are still active, and while not at notable technical risk requires migration to ensure full functionality and longevity into the future.
It is therefore proposed that these 23 remaining pools (listed below), be migrated over 2 weeks, in 2 groups.
Background
As AIP-20 specifies, Aura underwent an upgrade in Q1 2023. This upgrade updated the implementation of the ExtraRewardStashV3
in the immutable StashFactory
and locked it in place. This would then apply to all pools added to Aura after this time (i.e. where pid
> 48). A number of high TVL pools below pid
48 are still active, and while not at notable technical risk requires migration to ensure full functionality into the future.
One notable example of functionality removed from old pools in AIP-20 is the addition of ExtraRewardStash
contracts to old pools. This lack of functionality currently stops AIP-26, which optimizes rewards to AURA/ETH and auraBAL Stable, from being fully implemented. This proposed migration has some urgency to ensure AIP-26 can be set in motion properly.
There is no notable risk to LPs in keeping old pools active, though LPs should be migrated to ensure functionality going forward. Given that smart contract integrations should be able to rely on the longevity of the pools, this is important so we can avoid doing this in the future if these pools have high value integrations. For example, Aave governance is currently considering adding Aura BPTs as collateral to Aave; by ensuring important pools are migrated properly, we can ensure the integration goes smoothly.
Specifics
The term Migration here simply means that the existing Aura pool would be shutdown, and then the same gauge re-added (thus updating to the new stash), creating a new Aura pool.
Previously farmed BAL by the old pool would continue to emit for ~7 days, while all the new/future BAL emission would go to the new pool. This would require LPs to do a migration on the Aura UI within 7 days to continue earning rewards. Note that for projects with POL, they would not loose out on any BAL rewards in sum, although may wish to migrate in 2 batches to ensure a smooth process.
This proposal specifies migration for the following pools:
Pool Name | Gauge Address | Group |
---|---|---|
50WETH-50AURA | 0x275dF57d2B23d53e20322b4bb71Bf1dCb21D0A00 | 1 |
Balancer auraBAL Stable Pool | 0x0312AA8D0BA4a1969Fddb382235870bF55f7f242 | 1 |
50COW-50GNO BPT | 0x57AB3b673878C3fEaB7f8FF434C40Ab004408c4c | 1 |
50COW-50WETH BPT | 0x7C777eEA1dC264e71E567Fcc9B6DdaA9064Eff51 | 1 |
50DFX-50WETH | 0x27Fd581E9D0b2690C2f808cd40f7fe667714b575 | 1 |
USDC-PAL | 0xe2b680A8d02fbf48C7D9465398C4225d7b7A7f87 | 1 |
80D2D-20USDC | 0x1249c510e066731FF14422500466A7102603da9e | 1 |
80palStkAAVE-20AAVE | 0x39a9E78c3b9b5B47f1f6632BD74890E2430215Cf | 1 |
Balancer rETH Stable Pool | 0x79eF6103A513951a3b25743DB509E267685726B7 | 1 |
20WETH-80WNCG | 0x47c56A900295df5224EC5e6751dC31eb900321D5 | 2 |
20WBTC-80BADGER | 0x3F29e69955E5202759208DD0C5E0BA55ff934814 | 2 |
40WBTC-40DIGG-20graviAURA | 0xE5f24cD43f77fadF4dB33Dab44EB25774159AC66 | 2 |
50INV-50DOLA | 0x46804462f147fF96e9CAFB20cA35A3B2600656DF | 2 |
50Silo-50WETH | 0x75cAceBb5b4a73a530EdcdFdE7cFfbfea44c026E | 2 |
Balancer stETH Stable Pool | 0xcD4722B7c24C29e0413BDCd9e51404B4539D14aE | 2 |
Balancer 80 GNO 20 WETH | 0xCB664132622f29943f67FA56CCfD1e24CC8B4995 | 2 |
33auraBAL-33graviAURA-33WETH | 0x2e79D6f631177F8E7f08Fbd5110e893e1b1D790A | 2 |
33LUSD-33LQTY-33WETH | 0x63E3951212cCCAFE3eDC7588FD4D20Ee5e7Ad73f | 2 |
20WETH-80T | 0x7Fc115BF013844D6eF988837F7ae6398af153532 | 2 |
Balancer 50 VITA 50 WETH | 0x777C45BD0a2AF1dA5fe4a532AD6B207D3CEd8b2d | 2 |
VitaDAO Balancer Pool | 0xc2D343E2C9498E905F53C818B88eB8064B42D036 | 2 |
DOLA USDC Stable Pool | 0xBC02eF87f4E15EF78A571f3B2aDcC726Fee70d8b | 2 |
50RBN-50USDC | 0x81C452E84B103555C2Dd2DEc0bFABC0c4d6B3065 | 2 |
Terms
Should this proposal pass, Aura DAO approves a migration by calling shutdownPool
on all the PIDs relevant, and then addPool
for the “gaugeAddress” of all those pools. Additionally, AURA will be re-added as a reward token on the AURA/ETH and auraBAL pools as per AIP-26 and AIP-2
To ensure a smooth transition:
- The migration will be split into 2 groups, executed 1 week apart to ensure sufficient time to communicate between DAOs
- The txs will be split into batches of 3 pools per tx to avoid block gas limits
- The first group will be executed upon passing of this proposal, i.e. if this snapshot passes by Monday 5th, the first group would be shut down/re-added then, and the second group on the 12th
Shutdown Pool Payload
{
"version": "1.0",
"chainId": "1",
"createdAt": 1685000249692,
"meta": {
"name": "Transactions Batch",
"description": "",
"txBuilderVersion": "1.14.1",
"createdFromSafeAddress": "0x5feA4413E3Cc5Cf3A29a49dB41ac0c24850417a0",
"createdFromOwnerAddress": "",
"checksum": "0x100f76af7a4ee94f50d00c1c55b3a499de6b0a808812b7e12056e1b4190194a6"
},
"transactions": [
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "uint256",
"name": "_pid",
"type": "uint256"
}
],
"name": "shutdownPool",
"payable": false
},
"contractInputsValues": {
"_pid": "PID_NUMBER_0"
}
},
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "uint256",
"name": "_pid",
"type": "uint256"
}
],
"name": "shutdownPool",
"payable": false
},
"contractInputsValues": {
"_pid": "PID_NUMBER_2"
}
},
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "uint256",
"name": "_pid",
"type": "uint256"
}
],
"name": "shutdownPool",
"payable": false
},
"contractInputsValues": {
"_pid": "PID_NUMBER_3"
}
}
]
}
addPool Payload
{
"version": "1.0",
"chainId": "1",
"createdAt": 1685000249692,
"meta": {
"name": "Transactions Batch",
"description": "",
"txBuilderVersion": "1.14.1",
"createdFromSafeAddress": "0x5feA4413E3Cc5Cf3A29a49dB41ac0c24850417a0",
"createdFromOwnerAddress": "",
"checksum": "0x100f76af7a4ee94f50d00c1c55b3a499de6b0a808812b7e12056e1b4190194a6"
},
"transactions": [
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "address",
"name": "_gauge",
"type": "address"
}
],
"name": "addPool",
"payable": false
},
"contractInputsValues": {
"_gauge": "GAUGE_ADDRESS_1"
}
},
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "address",
"name": "_gauge",
"type": "address"
}
],
"name": "addPool",
"payable": false
},
"contractInputsValues": {
"_gauge": "GAUGE_ADDRESS_2"
}
},
{
"to": "0x8Dd8cDb1f3d419CCDCbf4388bC05F4a7C8aEBD64",
"value": "0",
"data": null,
"contractMethod": {
"inputs": [
{
"internalType": "address",
"name": "_gauge",
"type": "address"
}
],
"name": "addPool",
"payable": false
},
"contractInputsValues": {
"_gauge": "GAUGE_ADDRESS_3"
}
}
]
}
Voting
This vote will be a single-choice vote. You may vote “For” or “Against” this proposal, or choose to abstain from the vote.
By voting “For” this proposal, you are voting in favor of migrating the pools as specified above.