Pass Through yETH Recovery Assets to Affected FiRM Users
Summary
This proposal seeks to claim Inverse Finance’s allocation from the Yearn yETH optimistic recovery plan, and distribute 100% of the received ysWETH shares to the 4 affected FiRM users pro rata based on their yETH balances at the time of the exploit.
Under the Yearn recovery plan, integrator-held balances are claimable by the integrator, with the expectation that the integrator distributes the recovered value onward to the underlying users. Inverse had 4 affected FiRM users with yETH exposure, and these users have since fully repaid their debts. As such, the recovered assets should be passed through to them in full.
Background
The Yearn yETH exploit resulted in a loss of underlying ETH backing yETH. Yearn has since recovered a meaningful portion of these assets and launched an optimistic recovery plan to distribute the recovered value back to affected holders. Recovery eligibility is based on balances at snapshot block 23914085, and for integrator-held balances the integrator is treated as the claimant. The downstream distribution is then handled by the integrator according to its own governance process.
Inverse had 4 users on FiRM with yETH exposure at the time of the exploit. These users are included in the Yearn recovery plan. Since all 4 users have now fully repaid their debts, there is no remaining protocol debt to offset, and the recovered assets should therefore be returned to the affected users directly.
The Yearn recovery claim contract allows claimants to call claim(false), which mints ysWETH recovery vault shares to the claimant address. The number of ysWETH shares received cannot be known in advance, because the amount of shares minted depends on the recovery vault share price at execution time, and DAO governance execution is not instantaneous.
To handle this cleanly, a simple helper contract has been deployed at 0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e. The helper can only be called by the Inverse Treasury, reads the Treasury’s full ysWETH balance at execution time, and distributes 100% of that balance pro rata to the 4 affected users. It does not custody funds itself, instead using transferFrom(Treasury, user, amount), and is single-use. This avoids the need to predict the amount of ysWETH in advance and ensures the full recovered balance is distributed in one execution flow.
Distribution
The distribution will be based on each user’s yETH balance at the time of the exploit.
| User | yETH balance | Share |
|---|---|---|
0xC95f235896F5a82486Ab645596fC29b76e52900c |
196.178283039425670085 | 52.572498% |
0x3C9F71Ae57FEA4a2E38C9d413705Ed1FDcD9e3Da |
121.518520195354211134 | 32.564930% |
0xaE79f0562C2128cC12d0ac068aC288856Fe0e1AB |
0.966854089014142159 | 0.259101% |
0xc989Df5B623fa84E57e99eC9006283510Ea8C2eC |
54.493967510951575023 | 14.603472% |
Total yETH balance: 373.157624834745598401
Contracts
- yETH recovery claim contract:
0x9564850c7090B13794e6d1164B0826C0aEFf3143 - ysWETH:
0xe5387cd454dcc542421c069c009d915ab9efaafd - distributor helper:
0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e - Inverse Treasury:
0x926dF14a23BE491164dCF93f4c468A50ef659D5B
On-Chain Actions
- call
claim(false)on the Yearn yETH recovery claim contract from the Treasury - approve the distributor helper to spend ysWETH from the Treasury
- call
execute()on the distributor helper, distributing 100% of the Treasury’s ysWETH balance to the 4 affected users pro rata - reset the helper’s ysWETH allowance back to
0