Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

Tutorial 8 manager - uniqueManager rule fails #4

Open
Roy-Certora opened this issue Mar 27, 2022 · 0 comments
Open

Tutorial 8 manager - uniqueManager rule fails #4

Roy-Certora opened this issue Mar 27, 2022 · 0 comments
Labels
bug Something isn't working

Comments

@Roy-Certora
Copy link

In the Pre-conditions Vs. Valid States section of the tutorial,
the rule uniqueManager fails in calling the function flipOwnership.
Note that the invocation with arbitrary "args" leads to an infeasible state where
the same manager might have two funds from the beginning. I suggest fixing this rule
by calling this function with the given arguments. One can add the else-if statement in the same block:

else if(f.selector == flipOwnership(uint256 , uint256).selector)
{
// I added this if block with the arguments of "f" set as
// the rule arguments - otherwise, this creates a situation where
// there exists another fund (id3) whose owner is one of the previous owners.
flipOwnership(e, fundId1,fundId2);
}

This fixed the rule (but the invariant still fails, as expected).

@Roy-Certora Roy-Certora added the bug Something isn't working label Mar 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant