-
Notifications
You must be signed in to change notification settings - Fork 29
Aave V3 Ethereum: Handle Strategic Assets #208
base: main
Are you sure you want to change the base?
Conversation
src/AaveV3StrategicAssets_20230606/LSDLiquidityGaugeManager.sol
Outdated
Show resolved
Hide resolved
src/AaveV3StrategicAssets_20230606/libs/VersionedInitializable.sol
Outdated
Show resolved
Hide resolved
|
@sakulstra this has been updated accordingly. |
src/AaveV3StrategicAssets_20230606/LSDLiquidityGaugeManager.sol
Outdated
Show resolved
Hide resolved
|
@brotherlymite updated |
|
@brotherlymite alright, updated. good catch on those. |
|
@brotherlymite thanks for the review, i've updated all comments. |
13d369b to
305e26e
Compare
|
|
||
| // @notice Withdraw a specified amount of ERC20 token to the Aave Collector | ||
| // @param token The address of the ERC20 token to withdraw | ||
| // @param amount The amount of token to withdraw |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey, multi-line comments are normally done either with "///" or "/** */" (as we do in our code), just something to note.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh wow, i don't know why i went with // only. thanks for catching!
|
|
||
| address public constant B_80BAL_20WETH = 0x5c6Ee304399DBdB9C8Ef030aB642B10820DB8F56; | ||
| address public constant VE_BAL = 0xC128a9954e6c874eA3d62ce62B468bA073093F25; | ||
| address public constant VE_BAL_GAUGE = 0x27Fd581E9D0b2690C2f808cd40f7fe667714b575; // TODO: Replace with right gauge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
|
|
||
| /// @notice Duration in weeks (ie: 1 for 1 Week) | ||
| /// @param delegator Address of user to buy boost from | ||
| /// @param receiver Address receiving the boost |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the receiver be the DAO treasury all the time?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i was told they wanted flexibility to buy boost for other contracts as well, but we can hard code as address(this) too.
i'll ask in the group chat to dydy
| uint32 unlockTime; | ||
| } | ||
|
|
||
| interface IVlToken { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Natspec not correctly formatted here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
|
i've addressed your comments. thank you! |
| } | ||
| } | ||
|
|
||
| contract DeployStrategicAssetsProposal is EthereumScript { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@efecarranza I think we don't need a proposal for this no, as we can just deploy and set the permission of the asset manager to the executor and guardian and that's it... or am I missing something.
|
@brotherlymite @Zer0dot last one, i promise. also, should i move all of this into |
|
|
||
| pragma solidity ^0.8.0; | ||
|
|
||
| import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; |
| /// @param pricePerVote Price of 1 vote per second (in wei) | ||
| /// @param maxDurationWeeks Maximum duration (in weeks) that a Boost can last when taken from this Offer | ||
| /// @param expiryTime Timestamp when this Offer is no longer valid | ||
| /// @param minPerc Minimum percent of users voting token balance to buy for a Boost (in BPS) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[info] I guess this should be to sell, not to buy.
| uint16 maxPerc, | ||
| bool useAdvicePrice | ||
| ) external onlyOwnerOrGuardian { | ||
| IERC20(IWardenBoost(WARDEN_VE_BAL).delegationBoost()).forceApprove( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[info] Maybe a bit inefficient to call this on every sell, but this doesn't seem to be a very high velocity function, so I don't really see an issue. Just flagging.
|
Foundry report forge 0.2.0 (87283bc 2023-10-06T00:27:02.062949965Z)Build loginstalling solc version "0.8.17"
Successfully installed solc 0.8.17
installing solc version "0.8.21"
Successfully installed solc 0.8.21
installing solc version "0.8.19"
Successfully installed solc 0.8.19
Compiling 120 files with 0.8.17
Compiling 187 files with 0.8.19
Solc 0.8.17 finished in 53.15s
Compiling 456 files with 0.8.21
Solc 0.8.19 finished in 95.59s
Solc 0.8.21 finished in 342.36s
Compiler run successful with warnings:
Warning (2072): Unused local variable.
--> src/20230817_AaveV3_Eth_SDAIOnboarding/AaveV3_Ethereum_SDAIOnboarding_20230817.t.sol:24:5:
|
24 | ReserveConfig[] memory allConfigsBefore = createConfigurationSnapshot(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2072): Unused local variable.
--> src/20230825_AaveV3_Eth_GhoFreezing/AaveV3_Ethereum_GhoFreezing_20230825.t.sol:62:5:
|
62 | ReserveConfig[] memory allConfigsAfter2 = createConfigurationSnapshot(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2072): Unused local variable.
--> src/AaveV2EthBUSDIR_20230804/AaveV2EthBUSDIR_20230804Test.t.sol:32:5:
|
32 | ReserveConfig memory configBUSDBefore = _findReserveConfigBySymbol(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2072): Unused local variable.
--> src/AaveV3_Met_SetEmissionManager_20232607/AaveV3_Met_SetEmissionManager_20232607.t.sol:28:5:
|
28 | ReserveConfig[] memory allConfigsBefore = createConfigurationSnapshot(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (2072): Unused local variable.
--> src/AaveV3_Met_SetEmissionManager_20232607/AaveV3_Met_SetEmissionManager_20232607.t.sol:37:5:
|
37 | ReserveConfig[] memory allConfigsAfter = createConfigurationSnapshot(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| Contract | Size (kB) | Margin (kB) |
|------------------------------------------------------------------------|-----------|-------------|
| AaveAvalancheTreasuryMigration_20230903 | 3.335 | 21.241 |
| AaveGovernanceV2.0.8.17 | 0.086 | 24.49 |
| AaveGovernanceV2.0.8.19 | 0.086 | 24.49 |
| AaveGovernanceV2.0.8.21 | 0.086 | 24.49 |
| AaveMisc.0.8.17 | 0.086 | 24.49 |
| AaveMisc.0.8.19 | 0.086 | 24.49 |
| AaveMisc.0.8.21 | 0.086 | 24.49 |
| AavePolygonTreasuryMigration_20230801 | 4.221 | 20.355 |
| AaveSafetyModule | 0.086 | 24.49 |
| AaveSwapper | 5.613 | 18.963 |
| AaveV2Avalanche.0.8.17 | 0.086 | 24.49 |
| AaveV2Avalanche.0.8.19 | 0.086 | 24.49 |
| AaveV2Avalanche.0.8.21 | 0.086 | 24.49 |
| AaveV2AvalancheAssets.0.8.17 | 0.086 | 24.49 |
| AaveV2AvalancheAssets.0.8.19 | 0.086 | 24.49 |
| AaveV2AvalancheAssets.0.8.21 | 0.086 | 24.49 |
| AaveV2CRVRiskParams_20230621 | 0.336 | 24.24 |
| AaveV2DelegatesGasRebate_20230703 | 2.215 | 22.361 |
| AaveV2EthAGDGrantsPayload | 0.566 | 24.01 |
| AaveV2EthBUSDIR_20230602 | 0.972 | 23.604 |
| AaveV2EthBUSDIR_20230804 | 2.343 | 22.233 |
| AaveV2EthFEIRiskParams_20230703 | 2.251 | 22.325 |
| AaveV2EthRatesUpdates_20230328_Payload | 0.326 | 24.25 |
| AaveV2EthRiskParams_20230702 | 4.609 | 19.967 |
| AaveV2Ethereum.0.8.17 | 0.086 | 24.49 |
| AaveV2Ethereum.0.8.19 | 0.086 | 24.49 |
| AaveV2Ethereum.0.8.21 | 0.086 | 24.49 |
| AaveV2EthereumAMM.0.8.17 | 0.086 | 24.49 |
| AaveV2EthereumAMM.0.8.19 | 0.086 | 24.49 |
| AaveV2EthereumAMM.0.8.21 | 0.086 | 24.49 |
| AaveV2EthereumAMMAssets.0.8.17 | 0.086 | 24.49 |
| AaveV2EthereumAMMAssets.0.8.19 | 0.086 | 24.49 |
| AaveV2EthereumAMMAssets.0.8.21 | 0.086 | 24.49 |
| AaveV2EthereumArc | 0.086 | 24.49 |
| AaveV2EthereumArcAssets | 0.086 | 24.49 |
| AaveV2EthereumAssets.0.8.17 | 0.086 | 24.49 |
| AaveV2EthereumAssets.0.8.19 | 0.086 | 24.49 |
| AaveV2EthereumAssets.0.8.21 | 0.086 | 24.49 |
| AaveV2EthereumRatesUpdates_20230627 | 3.273 | 21.303 |
| AaveV2FreezeReserves_20230619 | 1.106 | 23.47 |
| AaveV2FreezeReserves_20230627 | 0.281 | 24.295 |
| AaveV2Fuji | 0.086 | 24.49 |
| AaveV2FujiAssets | 0.086 | 24.49 |
| AaveV2Goerli | 0.086 | 24.49 |
| AaveV2GoerliAssets | 0.086 | 24.49 |
| AaveV2Mumbai | 0.086 | 24.49 |
| AaveV2MumbaiAssets | 0.086 | 24.49 |
| AaveV2PolRatesUpdates_20230328_Payload | 0.326 | 24.25 |
| AaveV2Polygon.0.8.17 | 0.086 | 24.49 |
| AaveV2Polygon.0.8.19 | 0.086 | 24.49 |
| AaveV2Polygon.0.8.21 | 0.086 | 24.49 |
| AaveV2PolygonAssets.0.8.17 | 0.086 | 24.49 |
| AaveV2PolygonAssets.0.8.19 | 0.086 | 24.49 |
| AaveV2PolygonAssets.0.8.21 | 0.086 | 24.49 |
| AaveV2PolygonIR_20230519 | 0.908 | 23.668 |
| AaveV2PolygonRatesUpdates_20230614 | 4.551 | 20.025 |
| AaveV2PolygonReserveFactorUpdate_20230717 | 2.322 | 22.254 |
| AaveV2PolygonReserveFactorUpdate_20230828 | 1.903 | 22.673 |
| AaveV2PolygonReserveFactorUpdate_20230920 | 1.01 | 23.566 |
| AaveV2PriceFeedsUpdate_20230504_Payload | 0.63 | 23.946 |
| AaveV2PriceFeedsUpdate_20230613_Payload | 0.63 | 23.946 |
| AaveV2_Eth_AURA_OTC_Deal_20230508 | 1.67 | 22.906 |
| AaveV2_Eth_CRVAaveV2Ethereum_LTReduction_20230822 | 0.334 | 24.242 |
| AaveV2_Eth_CRVLTUpdate_20230806 | 0.334 | 24.242 |
| AaveV2_Eth_CRVRiskParamsUpdate_20232507 | 1.225 | 23.351 |
| AaveV2_Eth_CRV_OTC_Deal_20230508 | 2.015 | 22.561 |
| AaveV2_Eth_ServiceProviders_20231907 | 7.285 | 17.291 |
| AaveV2_Eth_TUSDOffboardingPlan_20233107 | 1.542 | 23.034 |
| AaveV2_Eth_TreasuryManagement_20230308 | 6.704 | 17.872 |
| AaveV2_Ethereum_AaveTreasuryRWAAllocationPartI_20230925 | 1.044 | 23.532 |
| AaveV2_Ethereum_CRVAaveV2EthereumLTReduction_20230919 | 0.334 | 24.242 |
| AaveV2_Ethereum_ChaosLabsRiskParameterUpdates_20230831 | 5.232 | 19.344 |
| AaveV2_Ethereum_DAIParamsUpdates_20230817 | 1.766 | 22.81 |
| AaveV2_Ethereum_TUSDOffboardingPlanPartII_20230925 | 2.525 | 22.051 |
| AaveV3ACIProposal_20230411 | 0.705 | 23.871 |
| AaveV3ARBDFSFlashBorrowActivation | 0.458 | 24.118 |
| AaveV3ARBMAIFixes_20230606 | 1.662 | 22.914 |
| AaveV3ARBMAIListing_20230425 | 3.596 | 20.98 |
| AaveV3ARBSupplyBorrowUpdate_20230427 | 3.019 | 21.557 |
| AaveV3AVASupplyBorrowUpdate_20230427 | 2.934 | 21.642 |
| AaveV3ArbCapsUpdates_20230508_Payload | 2.953 | 21.623 |
| AaveV3ArbFraxListing_20230619 | 3.746 | 20.83 |
| AaveV3ArbListings_20230523_Payload | 3.741 | 20.835 |
| AaveV3ArbListings_20230524_Payload | 3.743 | 20.833 |
| AaveV3ArbMAICapsUpdates_20230724 | 3.306 | 21.27 |
| AaveV3ArbNativeUSDCListing_20230621 | 3.748 | 20.828 |
| AaveV3ArbPriceFeedsUpdate_20230504_Payload | 2.905 | 21.671 |
| AaveV3ArbPriceFeedsUpdate_20230613_Payload | 2.905 | 21.671 |
| AaveV3ArbRatesUpdates_20230307 | 4.564 | 20.012 |
| AaveV3ArbSupplyCapsUpdate_20230330 | 3.019 | 21.557 |
| AaveV3ArbUpdate20230327Payload | 2.929 | 21.647 |
| AaveV3Arbitrum.0.8.17 | 0.086 | 24.49 |
| AaveV3Arbitrum.0.8.19 | 0.086 | 24.49 |
| AaveV3Arbitrum.0.8.21 | 0.086 | 24.49 |
| AaveV3ArbitrumAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3ArbitrumAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3ArbitrumAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3ArbitrumGoerli | 0.086 | 24.49 |
| AaveV3ArbitrumGoerliAssets | 0.086 | 24.49 |
| AaveV3ArbwstETHCapsUpdates_20230703 | 2.953 | 21.623 |
| AaveV3AvaRatesUpdatesSteward_20230331 | 5.105 | 19.471 |
| AaveV3AvaRatesUpdates_20230322 | 3.246 | 21.33 |
| AaveV3Avalanche.0.8.17 | 0.086 | 24.49 |
| AaveV3Avalanche.0.8.19 | 0.086 | 24.49 |
| AaveV3Avalanche.0.8.21 | 0.086 | 24.49 |
| AaveV3AvalancheAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3AvalancheAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3AvalancheAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3AvaxMAICapsUpdates_20230724 | 3.292 | 21.284 |
| AaveV3AvaxretrofundingPayload | 1.123 | 23.453 |
| AaveV3Base | 0.086 | 24.49 |
| AaveV3BaseAssets | 0.086 | 24.49 |
| AaveV3ChaosLabsPaymentCollection_20230626 | 0.411 | 24.165 |
| AaveV3ETHIsoMode_20230330 | 3.549 | 21.027 |
| AaveV3ETHSupplyBorrowUpdate_20230427 | 2.932 | 21.644 |
| AaveV3ETHrETHEmode_20230522 | 3.03 | 21.546 |
| AaveV3Eth1INCHListing_20230517_Payload | 3.59 | 20.986 |
| AaveV3EthCBETHSupplyCapUpdate_20230328 | 2.929 | 21.647 |
| AaveV3EthDFSFlashBorrowActivation | 0.458 | 24.118 |
| AaveV3EthENSListing_20230517_Payload | 3.586 | 20.99 |
| AaveV3EthFraxListing_20230619 | 3.548 | 21.028 |
| AaveV3EthNewListings_20230321 | 5.149 | 19.427 |
| AaveV3EthRatesUpdates_20230328 | 3.24 | 21.336 |
| AaveV3EthRiskParams_20230529 | 3.832 | 20.744 |
| AaveV3EthUpdate20230322Payload | 3.033 | 21.543 |
| AaveV3EthUpdate20230327Payload | 3.032 | 21.544 |
| AaveV3Ethereum.0.8.17 | 0.086 | 24.49 |
| AaveV3Ethereum.0.8.19 | 0.086 | 24.49 |
| AaveV3Ethereum.0.8.21 | 0.086 | 24.49 |
| AaveV3EthereumAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3EthereumAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3EthereumAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3Fantom.0.8.17 | 0.086 | 24.49 |
| AaveV3Fantom.0.8.19 | 0.086 | 24.49 |
| AaveV3Fantom.0.8.21 | 0.086 | 24.49 |
| AaveV3FantomAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3FantomAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3FantomAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3FantomTestnet | 0.086 | 24.49 |
| AaveV3FantomTestnetAssets | 0.086 | 24.49 |
| AaveV3Fuji | 0.086 | 24.49 |
| AaveV3FujiAssets | 0.086 | 24.49 |
| AaveV3GoerliGho | 0.086 | 24.49 |
| AaveV3GoerliGhoAssets | 0.086 | 24.49 |
| AaveV3Harmony.0.8.17 | 0.086 | 24.49 |
| AaveV3Harmony.0.8.19 | 0.086 | 24.49 |
| AaveV3Harmony.0.8.21 | 0.086 | 24.49 |
| AaveV3HarmonyAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3HarmonyAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3HarmonyAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3Listings_20230403_Payload | 3.587 | 20.989 |
| AaveV3Listings_20230413_Payload | 4.185 | 20.391 |
| AaveV3LlamaProposal_20230803 | 1.385 | 23.191 |
| AaveV3Metis | 0.086 | 24.49 |
| AaveV3MetisAssets | 0.086 | 24.49 |
| AaveV3Mumbai | 0.086 | 24.49 |
| AaveV3MumbaiAssets | 0.086 | 24.49 |
| AaveV3OPEmode_20220622_Payload | 0.88 | 23.696 |
| AaveV3OPListings_20230710_Payload | 3.744 | 20.832 |
| AaveV3OPMAIFixes_20230606 | 1.662 | 22.914 |
| AaveV3OPMAIListing_20230425 | 3.596 | 20.98 |
| AaveV3OPNewListings_20230327 | 3.591 | 20.985 |
| AaveV3OPRiskParams_20230330 | 3.184 | 21.392 |
| AaveV3OPSupplyBorrowUpdate_20230427 | 3.03 | 21.546 |
| AaveV3OptDFSFlashBorrowActivation | 0.458 | 24.118 |
| AaveV3OptMAICapsUpdates_20230724 | 3.306 | 21.27 |
| AaveV3OptPriceFeedsSentinelUpdate_20230504_Payload | 3.073 | 21.503 |
| AaveV3OptPriceFeedsUpdate_20230613_Payload | 2.905 | 21.671 |
| AaveV3OptRatesUpdates_20230307 | 4.143 | 20.433 |
| AaveV3Optimism.0.8.17 | 0.086 | 24.49 |
| AaveV3Optimism.0.8.19 | 0.086 | 24.49 |
| AaveV3Optimism.0.8.21 | 0.086 | 24.49 |
| AaveV3OptimismAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3OptimismAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3OptimismAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3OptimismGoerli | 0.086 | 24.49 |
| AaveV3OptimismGoerliAssets | 0.086 | 24.49 |
| AaveV3POLSupplyBorrowUpdate_20230427 | 3.03 | 21.546 |
| AaveV3PolCRVRiskParams_20230702 | 3.03 | 21.546 |
| AaveV3PolCapsUpdate_20230421 | 2.932 | 21.644 |
| AaveV3PolCapsUpdates_20230328 | 3.079 | 21.497 |
| AaveV3PolCapsUpdates_20230418_Payload | 2.956 | 21.62 |
| AaveV3PolCapsUpdates_20230503_Payload | 2.956 | 21.62 |
| AaveV3PolCapsUpdates_20230508_Payload | 3.144 | 21.432 |
| AaveV3PolCapsUpdates_20230518_Payload | 2.946 | 21.63 |
| AaveV3PolCapsUpdates_20230610_Payload | 3.081 | 21.495 |
| AaveV3PolMAICapsUpdates_20230724 | 3.305 | 21.271 |
| AaveV3PolPriceFeedsUpdate_20230504_Payload | 3.05 | 21.526 |
| AaveV3PolPriceFeedsUpdate_20230626_Payload | 2.904 | 21.672 |
| AaveV3PolRatesUpdates_20230307 | 5.868 | 18.708 |
| AaveV3PolRatesUpdates_20230328 | 3.239 | 21.337 |
| AaveV3PolRiskParams_20230423 | 3.513 | 21.063 |
| AaveV3Polygon.0.8.17 | 0.086 | 24.49 |
| AaveV3Polygon.0.8.19 | 0.086 | 24.49 |
| AaveV3Polygon.0.8.21 | 0.086 | 24.49 |
| AaveV3PolygonAssets.0.8.17 | 0.086 | 24.49 |
| AaveV3PolygonAssets.0.8.19 | 0.086 | 24.49 |
| AaveV3PolygonAssets.0.8.21 | 0.086 | 24.49 |
| AaveV3PolygonSupplyCapStmatic_20230810 | 2.93 | 21.646 |
| AaveV3PriceFeedsUpdate_20230613_Payload | 2.905 | 21.671 |
| AaveV3RiskParams_20230516 | 3.031 | 21.545 |
| AaveV3RiskSteward_20230404 | 0.397 | 24.179 |
| AaveV3ScrollAlpha | 0.086 | 24.49 |
| AaveV3ScrollAlphaAssets | 0.086 | 24.49 |
| AaveV3ScrollSepolia | 0.086 | 24.49 |
| AaveV3ScrollSepoliaAssets | 0.086 | 24.49 |
| AaveV3Sepolia | 0.086 | 24.49 |
| AaveV3SepoliaAssets | 0.086 | 24.49 |
| AaveV3StrategicAssets_20220622Payload | 2.848 | 21.728 |
| AaveV3_Arb_ARBListing_20231207 | 3.757 | 20.819 |
| AaveV3_Arb_wstETH_CapsIncrease_20230908 | 2.963 | 21.613 |
| AaveV3_Arbitrum_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Arbitrum_StataTokenOperationalUpdate_20230815 | 0.828 | 23.748 |
| AaveV3_Avalanche_ChaosLabsRiskParameterUpdatesAaveV3Avalanche_20230918 | 3.361 | 21.215 |
| AaveV3_Avalanche_EnablingUSDTAsCollateralOnAaveV3AVAXMarket_20230926 | 3.317 | 21.259 |
| AaveV3_Avalanche_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Avalanche_StataTokenOperationalUpdate_20230815 | 0.828 | 23.748 |
| AaveV3_Base_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Eth_AaveV3ListRPL_20230711 | 3.59 | 20.986 |
| AaveV3_Eth_AaveV3USDTRiskParams_20231107 | 3.011 | 21.565 |
| AaveV3_Eth_BugBounty_20230710 | 1.095 | 23.481 |
| AaveV3_Eth_DisableCRVBorrows_20230508 | 3.026 | 21.55 |
| AaveV3_Ethereum_AaveBGDPhase2_20230828 | 3.272 | 21.304 |
| AaveV3_Ethereum_AaveImmunefiActivation_20230920 | 0.274 | 24.302 |
| AaveV3_Ethereum_ChaosLabsRiskParameterUpdates_AaveV3Ethereum_20230828 | 3.524 | 21.052 |
| AaveV3_Ethereum_ChaosLabsScopeAndCompensationAmendment_20230816 | 2.417 | 22.159 |
| AaveV3_Ethereum_ExpansionOfOrbit_20230925 | 1.767 | 22.809 |
| AaveV3_Ethereum_GHOBorrowRateUpdate_20230904 | 0.326 | 24.25 |
| AaveV3_Ethereum_GhoFreezing_20230825 | 0.587 | 23.989 |
| AaveV3_Ethereum_LUSDCollateralActivation_20230811 | 3.011 | 21.565 |
| AaveV3_Ethereum_MKRDebtCeiling_20230908 | 3.032 | 21.544 |
| AaveV3_Ethereum_QuarterlyGasRebateDistributionAugust2023_20230906 | 1.625 | 22.951 |
| AaveV3_Ethereum_SDAIOnboarding_20230817 | 4.189 | 20.387 |
| AaveV3_Ethereum_SigmaPrimeAuditBudgetExtension_20230830 | 0.413 | 24.163 |
| AaveV3_Ethereum_StataTokenOperationalUpdate_20230815 | 1.46 | 23.116 |
| AaveV3_Ethereum_VGHOImprovement_20230826 | 3.835 | 20.741 |
| AaveV3_Met_SetEmissionManager_20232607 | 0.364 | 24.212 |
| AaveV3_Metis_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Opt_RiskParamsUpdate_20232408 | 3.194 | 21.382 |
| AaveV3_Opt_wstETH_CapsIncrease_20230908 | 2.963 | 21.613 |
| AaveV3_Optimism_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Optimism_OPRiskParametersUpdate_20230924 | 3.25 | 21.326 |
| AaveV3_Optimism_StataTokenOperationalUpdate_20230815 | 0.828 | 23.748 |
| AaveV3_Pol_CapsUpdate_20230608 | 2.966 | 21.61 |
| AaveV3_Pol_CapsUpdates_20231107_Payload | 2.956 | 21.62 |
| AaveV3_Pol_DisableCRVBorrows_20230508 | 3.025 | 21.551 |
| AaveV3_Pol_wstETH_CapsIncrease_20230908 | 2.962 | 21.614 |
| AaveV3_Polygon_FreezeStewards_20230907 | 0.333 | 24.243 |
| AaveV3_Polygon_StataTokenOperationalUpdate_20230815 | 0.828 | 23.748 |
| AaveV3_Polygon_SupplyCapLSTs_20230831 | 3.031 | 21.545 |
| Address.0.8.17 | 0.086 | 24.49 |
| Address.0.8.19 | 0.086 | 24.49 |
| Address.0.8.21 | 0.086 | 24.49 |
| AgdAllowanceModification_20230817 | 1.848 | 22.728 |
| COWSwapper | 3.88 | 20.696 |
| COWTrader | 4.088 | 20.488 |
| CapsPlusRiskSteward | 2.609 | 21.967 |
| CapsPlusRiskStewardErrors | 0.556 | 24.02 |
| ChainIds.0.8.17 | 0.086 | 24.49 |
| ChainIds.0.8.19 | 0.086 | 24.49 |
| ChainIds.0.8.21 | 0.086 | 24.49 |
| ConfiguratorInputTypes.0.8.17 | 0.086 | 24.49 |
| ConfiguratorInputTypes.0.8.19 | 0.086 | 24.49 |
| ConfiguratorInputTypes.0.8.21 | 0.086 | 24.49 |
| DataTypes | 0.086 | 24.49 |
| DataTypes.0.8.17 | 0.086 | 24.49 |
| DataTypes.0.8.19 | 0.086 | 24.49 |
| DataTypes.0.8.21 | 0.086 | 24.49 |
| DeployMainnetProposal | 0.086 | 24.49 |
| ERC1967Proxy.0.8.19 | 0.177 | 24.399 |
| ERC1967Proxy.0.8.21 | 0.177 | 24.399 |
| EngineFlags.0.8.17 | 0.086 | 24.49 |
| EngineFlags.0.8.19 | 0.086 | 24.49 |
| EngineFlags.0.8.21 | 0.086 | 24.49 |
| Errors.0.8.17 | 4.392 | 20.184 |
| Errors.0.8.19 | 4.392 | 20.184 |
| Errors.0.8.21 | 4.392 | 20.184 |
| FreezingSteward | 0.715 | 23.861 |
| GhoInterestRateStrategy | 0.724 | 23.852 |
| GovHelpers.0.8.17 | 0.086 | 24.49 |
| GovHelpers.0.8.19 | 0.086 | 24.49 |
| GovHelpers.0.8.21 | 0.086 | 24.49 |
| GovernanceV3Arbitrum | 0.086 | 24.49 |
| GovernanceV3Avalanche | 0.086 | 24.49 |
| GovernanceV3Ethereum | 0.086 | 24.49 |
| GovernanceV3Fuji | 0.086 | 24.49 |
| GovernanceV3Mumbai | 0.086 | 24.49 |
| GovernanceV3Optimism | 0.086 | 24.49 |
| GovernanceV3Polygon | 0.086 | 24.49 |
| GovernanceV3Sepolia | 0.086 | 24.49 |
| MockExecutor.0.8.17 | 0.437 | 24.139 |
| MockExecutor.0.8.19 | 0.437 | 24.139 |
| MockExecutor.0.8.21 | 0.437 | 24.139 |
| MockReceiver | 0.899 | 23.677 |
| ProxyAdmin.0.8.19 | 1.683 | 22.893 |
| ProxyAdmin.0.8.21 | 1.683 | 22.893 |
| ProxyHelpers.0.8.17 | 0.086 | 24.49 |
| ProxyHelpers.0.8.19 | 0.086 | 24.49 |
| ProxyHelpers.0.8.21 | 0.086 | 24.49 |
| ReserveConfiguration.0.8.17 | 0.171 | 24.405 |
| ReserveConfiguration.0.8.19 | 0.171 | 24.405 |
| ReserveConfiguration.0.8.21 | 0.171 | 24.405 |
| RewardsDataTypes | 0.086 | 24.49 |
| SafeERC20.0.8.17 | 0.086 | 24.49 |
| SafeERC20.0.8.19 | 0.086 | 24.49 |
| SafeERC20.0.8.21 | 0.086 | 24.49 |
| StdStyle.0.8.17 | 0.086 | 24.49 |
| StdStyle.0.8.19 | 0.086 | 24.49 |
| StdStyle.0.8.21 | 0.086 | 24.49 |
| StorageHelpers.0.8.17 | 0.086 | 24.49 |
| StorageHelpers.0.8.19 | 0.086 | 24.49 |
| StorageHelpers.0.8.21 | 0.086 | 24.49 |
| StorageSlot.0.8.19 | 0.086 | 24.49 |
| StorageSlot.0.8.21 | 0.086 | 24.49 |
| StrategicAssetsManager | 9.691 | 14.885 |
| StrategicAssetsManagerPayload | 10.656 | 13.92 |
| SwapFor80BAL20WETHPayload | 5.788 | 18.788 |
| TokenAddresses | 3.399 | 21.177 |
| TokenLogicFunding_20230919 | 1.219 | 23.357 |
| TransparentProxyFactory | 7.375 | 17.201 |
| TransparentUpgradeableProxy.0.8.19 | 2.081 | 22.495 |
| TransparentUpgradeableProxy.0.8.21 | 2.081 | 22.495 |
| WadRayMath.0.8.17 | 0.086 | 24.49 |
| WadRayMath.0.8.19 | 0.086 | 24.49 |
| WadRayMath.0.8.21 | 0.086 | 24.49 |
| console | 0.086 | 24.49 |
| console.0.8.17 | 0.086 | 24.49 |
| console.0.8.19 | 0.086 | 24.49 |
| console.0.8.21 | 0.086 | 24.49 |
| console2.0.8.17 | 0.086 | 24.49 |
| console2.0.8.19 | 0.086 | 24.49 |
| console2.0.8.21 | 0.086 | 24.49 |
| safeconsole.0.8.17 | 0.086 | 24.49 |
| safeconsole.0.8.19 | 0.086 | 24.49 |
| safeconsole.0.8.21 | 0.086 | 24.49 |
| stdError.0.8.17 | 0.591 | 23.985 |
| stdError.0.8.19 | 0.591 | 23.985 |
| stdError.0.8.21 | 0.591 | 23.985 |
| stdJson.0.8.17 | 0.086 | 24.49 |
| stdJson.0.8.19 | 0.086 | 24.49 |
| stdJson.0.8.21 | 0.086 | 24.49 |
| stdMath.0.8.17 | 0.086 | 24.49 |
| stdMath.0.8.19 | 0.086 | 24.49 |
| stdMath.0.8.21 | 0.086 | 24.49 |
| stdStorage.0.8.17 | 0.086 | 24.49 |
| stdStorage.0.8.19 | 0.086 | 24.49 |
| stdStorage.0.8.21 | 0.086 | 24.49 |
| stdStorageSafe.0.8.17 | 0.086 | 24.49 |
| stdStorageSafe.0.8.19 | 0.086 | 24.49 |
| stdStorageSafe.0.8.21 | 0.086 | 24.49 |Test success 🌈No files changed, compilation skipped
Running 4 tests for src/AaveV3StrategicAssets_20230606/TestLSDLiquidityGaugeManager.t.sol:SetGaugeController
[PASS] test_revertsIf_invalidCaller() (gas: 12850)
[PASS] test_revertsIf_invalidZeroAddress() (gas: 11463)
[PASS] test_revertsIf_settingToSameController() (gas: 36627)
[PASS] test_successful() (gas: 39567)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 294.15ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestLSDLiquidityGaugeManager.t.sol:VoteForGaugeWeight
[PASS] test_revertsIf_gaugeIsZeroAddress() (gas: 11597)
[PASS] test_revertsIf_invalidCaller() (gas: 12972)
[PASS] test_successful() (gas: 784417)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.21s
Ran 2 test suites: 7 tests passed, 0 failed, 0 skipped (7 total tests)
No files changed, compilation skipped
Running 1 test for src/AaveV3StrategicAssets_20230606/TestStrategicAssetsManager.t.sol:Initialize
[PASS] test_revertsIf_alreadyInitialized() (gas: 10894)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 120.03ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestStrategicAssetsManager.t.sol:RemoveStrategicAssetManager
[PASS] test_revertsIf_invalidCaller() (gas: 12902)
[PASS] test_successful() (gas: 16362)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 120.18ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestStrategicAssetsManager.t.sol:TransferOwnership
[PASS] test_revertsIf_invalidCaller() (gas: 12308)
[PASS] test_successful() (gas: 18232)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.18ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestStrategicAssetsManager.t.sol:SetStrategicAssetManager
[PASS] test_revertsIf_invalidCaller() (gas: 14524)
[PASS] test_successful() (gas: 22760)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.10ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestStrategicAssetsManager.t.sol:WithdrawERC20
[PASS] test_revertsIf_insufficientBalance() (gas: 18086)
[PASS] test_revertsIf_invalidCaller() (gas: 10779)
[PASS] test_successful() (gas: 180445)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 113.52ms
Ran 5 test suites: 10 tests passed, 0 failed, 0 skipped (10 total tests)
No files changed, compilation skipped
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:SetLockDurationTest
[PASS] test_revertsIf_invalidCaller() (gas: 12806)
[PASS] test_successful() (gas: 35704)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 87.27ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:SetSpaceIdTest
[PASS] test_revertsIf_invalidCaller() (gas: 12747)
[PASS] test_successful() (gas: 101490)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 178.34ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:BuyBoostTest
[PASS] test_revertsIf_estimatedFeeExceedsMaxFee() (gas: 51696)
[PASS] test_revertsIf_invalidCaller() (gas: 16493)
[PASS] test_successful() (gas: 499011)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.60s
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:Claim
[PASS] test_revertsIf_invalidCaller() (gas: 12810)
[PASS] test_revertsIf_noRewardsWereEarned() (gas: 163975)
[PASS] test_successful() (gas: 1122110)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 534.66ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:ClearDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 12779)
[PASS] test_successful() (gas: 100192)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.50ms
Running 5 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:LockTest
[PASS] test_revertsIf_invalidCaller() (gas: 12834)
[PASS] test_revertsIf_nothingToLockOrRelock() (gas: 119271)
[PASS] test_successful_increaseBalance() (gas: 794326)
[PASS] test_successful_increaseUnlockTime() (gas: 819150)
[PASS] test_successful_locksFirstTime() (gas: 511903)
Test result: ok. 5 passed; 0 failed; 0 skipped; finished in 151.79ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:RemoveBoostOfferTest
[PASS] test_revertsIf_invalidCaller() (gas: 12758)
[PASS] test_successful() (gas: 149628)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.37ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:SellBoostTest
[PASS] test_revertsIf_invalidCaller() (gas: 13519)
[PASS] test_successful() (gas: 164960)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.80ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:SetDelegationSnapshot
[PASS] test_revertsIf_invalidCaller() (gas: 14515)
[PASS] test_successful() (gas: 101685)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.48ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:UpdateBoostOfferTest
[PASS] test_revertsIf_invalidCaller() (gas: 13574)
[PASS] test_revertsIf_noOfferExists() (gas: 22570)
[PASS] test_successful() (gas: 181149)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.37ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVeTokenManager.t.sol:UnlockTest
[PASS] test_revertsIf_invalidCaller() (gas: 12790)
[PASS] test_revertsIf_unlockTimeHasNotPassed() (gas: 522544)
[PASS] test_successful_unlock() (gas: 5302141)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 6.14s
Ran 11 test suites: 29 tests passed, 0 failed, 0 skipped (29 total tests)
No files changed, compilation skipped
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:ClaimVLAURARewardsTest
[PASS] test_revertsIf_invalidCaller() (gas: 12779)
[PASS] test_successful() (gas: 335465)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 498.61ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:DelegateVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 14551)
[PASS] test_revertsIf_nothingToDelegate() (gas: 23737)
[PASS] test_revertsIf_successful() (gas: 375064)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 44.01ms
Running 2 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:EmergencyWithdrawVLAURA
[PASS] test_revertsIf_invalidCaller() (gas: 12789)
[PASS] test_successful() (gas: 371403)
Test result: ok. 2 passed; 0 failed; 0 skipped; finished in 56.61ms
Running 3 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:LockVLAURATest
[PASS] test_revertsIf_insufficientBalance() (gas: 93448)
[PASS] test_revertsIf_invalidCaller() (gas: 12905)
[PASS] test_successful() (gas: 297802)
Test result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.97ms
Running 4 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:RelockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12766)
[PASS] test_revertsIf_noExpiredLocks() (gas: 308221)
[PASS] test_revertsIf_noLocks() (gas: 65153)
[PASS] test_successful() (gas: 687486)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 255.39ms
Running 4 tests for src/AaveV3StrategicAssets_20230606/TestVlTokenManager.t.sol:UnlockVLAURATest
[PASS] test_revertsIf_invalidCaller() (gas: 12791)
[PASS] test_revertsIf_noExpiredLocks() (gas: 308248)
[PASS] test_revertsIf_noLocks() (gas: 65186)
[PASS] test_successful() (gas: 333279)
Test result: ok. 4 passed; 0 failed; 0 skipped; finished in 5.06ms
Ran 6 test suites: 18 tests passed, 0 failed, 0 skipped (18 total tests) |
Changelog
Add upgradeable StrategicAssetsModule.
Add ability to set a strategic assets manager (multi-sig/EOA).
Add ability to stake in gauges the LSTs.
Add ability to lock LSTs in sd/ve type of tokens.
Rough draft AIP: https://hackmd.io/xINHBhn7RZeIrd6vPJkMxA
Open Quesetions
How do we handle swaps in this contract?
I've thought of two options: adding a dependency to "Curator" which is the following contract (coming next week):
https://hackmd.io/NBRsrBI0S3mO20chk1m7FQ
Option two, re write code to handle swapping using COW Swap on this contract so that rewards can be reinvested.
For example, receiving BAL rewards, swapping for 80BAL20WETH and re-locking using this contract.
Option three, relying on payloads where we send funds to the collector, then handle the swaps using curator and then re-sending here.
I think option 1 is the best but open for discussion.