Several critical functions in the InheritanceManager contract do not call InheritanceManager::setDeadline
to update the inactivity period. These functions include: InheritanceManager::contractInteractions
, InheritanceManager::createEstateNFT
and InheritanceManager::removeBeneficiary
.
The deadline is intended to be reset every time the owner performs an action, ensuring that beneficiaries cannot inherit the contract unless the owner has been inactive for 90 days. However, the absence of InheritanceManager::setDeadline
in these functions means that the inactivity period is not properly enforced, potentially allowing beneficiaries to inherit the contract earlier than intended.
Place the following test in the test/InheritanceManagerTest.t.sol
file:
Beneficiaries can inherit the contract prematurely and withdraw all funds before the inactivity period has elapsed.
Manual Review
Foundry
Ensure that InheritanceManager::_setDeadline
is called in all functions where owner activity is expected (all the functions mentioned in the summary).
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.