In src/InheritanceManager.sol
, the buyOutEstateNFT
function allows a beneficiary to buy out an estate NFT by transferring tokens to other beneficiaries. However, after the payment is completed, the function burns the NFT instead of transferring ownership to the buyer. This results in the buyer losing their claim to the estate despite successfully paying for it.
In InheritanceManager.sol#L263, the buyOutEstateNFT
function facilitates the payment process but does not correctly update the NFT ownership.
Here is the affected code:
Loss of Ownership: After completing the payment, the buyer does not receive the estate NFT.
Irrecoverable Asset Destruction: The NFT is permanently burned, meaning the buyer cannot claim the estate.
Financial Loss: A paying beneficiary loses both the tokens spent on the buyout and the estate NFT.
Manual code review
Instead of burning the estate NFT, transfer it to the buyer after the payment is processed.
Here is the fixed code:
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.