Rescue Mission Phase 1 Long Executor
01Summary
Activation of Aave Rescue Mission Phase 1 to recover tokens accidentally sent to Aave ecosystem smart contracts (AAVE, LEND, UNI, USDT, stkAAVE). The proposal upgrades the AAVE token and stkAAVE token implementations to include rescue logic that will distribute ~19,845 LEND, ~28,420 AAVE, ~111 UNI, ~15,632 USDT, ~768 AAVE, and ~107 stkAAVE to affected users through AaveMerkleDistributor.
- Type
- contract upgrade
Key changes
- Upgrade AAVE token implementation (AaveTokenV2) to include rescue logic for tokens accidentally sent to it(high)
- Upgrade stkAAVE token implementation (StakedTokenV2Rev4) to include rescue logic for tokens accidentally sent to it(high)
- Initialize new implementations with rescue amounts for LEND, AAVE, UNI, USDT, and stkAAVE to be sent to AaveMerkleDistributor(high)
- Recover LEND tokens with automatic conversion to AAVE at 1 AAVE = 100 LEND ratio(medium)
Notable concerns
- Contract implementations have been upgraded; ensure Certora audit findings are satisfactory
- New implementations must only differ in rescue logic during initialize function to minimize invasiveness
- Storage layout compatibility must be verified for both AAVE and stkAAVE tokens
Generated by Kvorum
02Description
Simple Summary
Activation of Aave rescue mission Phase 1, Level 2 (Long) Executor part
Motivation
Since the birth of the Aave ecosystem, multiple people have sent tokens by mistake to incorrect addresses.
In some cases, when the transfer is to another unknown wallet, the tokens are usually locked and lost forever, as it is factually impossible to prove that the transfer was a mistake.
But there are special cases, where the transfer happens to a well-known smart contract address of the ecosystem, for which is simple to understand that the action was really a mistake, as there is no rational reason to send tokens there.
In the case of Aave, the existence of upgradeable smart contracts across the ecosystem makes technically possible the recovery of such tokens sent by mistake. Consequently, given the requests from members of the community affected, we have come up with a plan to “rescue” those funds, providing the affected people a way to recover them.
This initial phase will affect the following:
- Users who sentAAVE, LEND, USDT and UNI to the AAVE token smart contract
- Users who sent LEND to the LEND smart contract
- User who sent LEND to the LendToAaveMigrator smart contract
- Users who sent AAVE and stkAAVE to the stkAAVE contract
The LEND sent to the specified contracts will be claimed already as AAVE tokens with the transformation LEND to AAVE already taken into account (1 AAVE = 100 LEND)
Specification
To rescue the tokens specified on Phase 1 that are on AAVE and stkAAVE token contracts, the payload will connect and initialize the new implementations for the AAVE token and the stkAAVE token with appropriate amounts and send them to the AaveMerkleDistributor specified on the Rescue Short Executor Proposal.
To be as less invasive as possible, these new implementations only include that extra logic on their initialize() function, with everything else remaining the same.
- AaveTokenV2: from this new implementations the following tokens will be rescued:
- LEND: 19845132947543342156792 LEND in WEI (~19845,13 LEND).
- AAVE: 28420317154904044370842 AAVE in WEI (~28420,32 AAVE).
- UNI: 110947986090000000000 UNI in WEI (~110,95 UNI).
- USDT: 15631946764 USDT in WEI (~15631,95 USDT).
- StakedTokenV2Rev4: from this new implementation the following tokens will be rescued:
- AAVE: 768271398516378775101 AAVE in WEI (~768,27 AAVE).
- stkAAVE: 107412975567454603565 stkAAVE in WEI (~107,41 stkAAVE).
References
A list of relevant links like for this proposal:
- forum discussion
- tests
- Contracts:
Security Considerations
The contracts have been audited by Certora, and the report can be found here
Implementation diffs have been generated to see that the new implementations only differ on the rescue logic:
Storage layouts diffs have also been generated for the contracts where the implementation is updated:
Deployed Contracts
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
The proposal follows the standard Aave Long Executor governance pattern: a single top-level action delegatecalls execute() on a dedicated ProposalPayloadLong contract, which internally performs the detailed logic (upgrading AaveTokenV2 and StakedTokenV2Rev4 implementations, initializing them with rescue amounts, and forwarding tokens to the AaveMerkleDistributor). The decoded calldata shows exactly one action targeting 0x889c0cc3283db588a34e89ad1e8f25b0fc827b4b, which matches the 'ProposalPayloadLong' address explicitly listed in the description's 'Deployed Contracts' section. Since the internal logic of the payload contract is not separately decoded here, we cannot verify byte-for-byte the exact rescue amounts or implementation addresses referenced in the prose (e.g., AaveTokenV2 Implementation, StkAaveTokenV2Rev4 Implementation), but this is expected and standard for this proposal type — the single execute() call is the correct and complete on-chain representation of the described action. No value, target, or scope mismatches are apparent between the description and the one decoded action. Confidence is medium rather than high because the fine-grained rescue amounts and secondary implementation addresses are not independently visible in the decoded action list, so a full line-by-line verification of dollar amounts is not possible from this data alone, but nothing here contradicts the description.
Generated by Kvorum
04Actions
- Target
- 0x889c…7b4b
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedRescue Mission Phase 1 Short Executor96%
- aaveexecutedRescue Mission Phase 2, 387%
- aaveexecutedAave <> Starknet - Phase I72%
- aaveexecutedAave <> Starknet - Phase I (Part 2)72%
- aaveexecutedAave StarkNet Phase I - Aave <> StarkNet Bridge deployment/activation by Aave governance71%
- aaveexecutedEthereum v2 Collector Contract Consolidation67%
- aaveexecutedSwap assets to aUSDC66%
- aaveexecutedTreasury Managemet - Acquire wstETH & rETH65%
- aaveexecutedAcquire More aUSDC on Aave Ethereum Collector64%
- lidoexecutedSend 3999999999999997473694078 tokens at 0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32 to 0x4b3edb22952fb4a70140e39fb1add05a6b49622b: transfer to the airdrop distributor contract50%