In the event that beneficiaries are undecided on the evaluation of the estate or want to change the payout asset, a trustee can be appointed by any of them to handle this process.
But, as is standard practice in real-life situations, the estate goes into a escrow immediately a trustee is appointed. This is to ensure that it is not tampered with. But it is not the case with the InheritanceManager protocol.
Thus, any of the beneficiaries can buy out the estate whilst it is meant to be in escrow.
Consider this scenario:
Gabriel left behind a private jet as an estate for his beneficiaries; Alice and Bob
The original value of the jet as set up by Gabriel is 10mil USDC
Alice feels that the jet is worth as much as 15 mil USDC
, and is confident that she can get a buyer who will pay that amount
She convinces Bob that a trustee should be appointed to facilitate the sale of the jet
But, because the contract does not put the jet into escrow, she goes behind Bob to buy out the estate (the jet) for 5 mil USDC
, and then sells it for 15 mil USDC
to a wealthy sheikh
She makes 10 mil USDC
profit, while Bob only makes 5 mil USDC
Manual Review
Consider adding a pause/escrow functionality that is automatically called on the estate immediately a trustee is appointed.
Also, currently the function to appoint a trustee can be called by any beneficiary. What this means in real-life is that any benficiary can appoint any trustee of their choice and does not need to seek approval from other beneficiaries before calling this function. A check should be implemented that ensures that all beneficiaries have given approval for a trustee to be appointed.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.