0xec092c15…471asent to0xbeccb6bb…9bf6·#24,871,444·view on Etherscan
# Pass Through yETH Recovery Assets to Affected FiRM Users
# Pass Through yETH Recovery Assets to Affected FiRM Users
Forum Post: https://forum.inverse.finance/t/pass-through-yeth-recovery-assets-to-affected-firm-users/657
## Summary
This proposal seeks to claim Inverse Finance’s allocation from the [Yearn yETH optimistic recovery plan](https://gov.yearn.fi/t/yip-90-yeth-optimistic-recovery-plan/14573/27), and distribute 100% of the received [ysWETH](https://etherscan.io/address/0xe5387cd454dcc542421c069c009d915ab9efaafd) 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](https://gov.yearn.fi/t/yip-90-yeth-optimistic-recovery-plan/14573/27) 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](https://etherscan.io/address/0x9564850c7090B13794e6d1164B0826C0aEFf3143) allows claimants to call `claim(false)`, which mints [ysWETH](https://etherscan.io/address/0xe5387cd454dcc542421c069c009d915ab9efaafd) 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](https://etherscan.io/address/0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e). The helper can only be called by the [Inverse Treasury](https://etherscan.io/address/0x926dF14a23BE491164dCF93f4c468A50ef659D5B), 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](https://etherscan.io/address/0x9564850c7090B13794e6d1164B0826C0aEFf3143): `0x9564850c7090B13794e6d1164B0826C0aEFf3143`
- [ysWETH](https://etherscan.io/address/0xe5387cd454dcc542421c069c009d915ab9efaafd): `0xe5387cd454dcc542421c069c009d915ab9efaafd`
- [distributor helper](https://etherscan.io/address/0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e): `0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e`
- [Inverse Treasury](https://etherscan.io/address/0x926dF14a23BE491164dCF93f4c468A50ef659D5B): `0x926dF14a23BE491164dCF93f4c468A50ef659D5B`
## On-Chain Actions
- call `claim(false)` on the [Yearn yETH recovery claim contract](https://etherscan.io/address/0x9564850c7090B13794e6d1164B0826C0aEFf3143) from the Treasury
- approve the [distributor helper](https://etherscan.io/address/0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e) to spend [ysWETH](https://etherscan.io/address/0xe5387cd454dcc542421c069c009d915ab9efaafd) from the Treasury
- call `execute()` on the [distributor helper](https://etherscan.io/address/0xFeB4763867Ce21506bE8037eF4f10737E12fDF2e), distributing 100% of the Treasury’s ysWETH balance to the 4 affected users pro rata
- reset the helper’s ysWETH allowance back to `0`