The inactivity period is reset by calls to InheritanceManager::_setDeadline
in functions that the owner would use to interact with the wallet. However, such calls are missing in InheritanceManager::contractInteractions
and InheritanceManager::createEstateNFT
which would allow earlier inheritance than expected and breaks one of the core assumptions of the protocol:
In functions InheritanceManager::createEstateNFT
and more importantly InheritanceManager::contractInteractions
there is no inactivity deadline reset. While it's important for both functions to register the owner interaction, the latter is the main way the owner would interact with other contracts using the smart wallet, so it's crucial those interactions reflect on the inactivity period.
Allows for premature inheritance by the beneficiaries and breaks a core invariant of the protocol
Add a user as a beneficiary to initialize the deadline
90 days pass
On the 90th day the owner calls createEstateNFT
and contractInteractions
but the deadline isn't reset
One more day passes
The beneficiary can inherit the contract even though the owner interacted with the wallet just one day ago
Foundry
Add _setDeadline
calls in both functions:
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.