test(contracts): add state oracle v2 stateful invariants - #46
Conversation
|
Known inherited CI blocker: the shared workflow builds |
| } | ||
|
|
||
| function invariant_ownerAndDefaultAdminRemainCoupled() public view { | ||
| assertEq(oracle.owner(), ORACLE_ADMIN); |
There was a problem hiding this comment.
This remains true because the handler never changes ownership. The selector set has no transferOwnership or acceptOwnership action, and the ghost model has no owner state. ENG 4252 calls for this coupling across modeled transitions, so this invariant cannot catch a split during ownership handoff. Can we add the two step ownership path to the handler and check the modeled owner against the default admin role?
d03568f to
36fa7e3
Compare
Addresses ENG-4252.
Adds stateful invariant handlers for exclusive assignment, assertion-count and trigger-unit conservation, recoverability, terminal retirement, and owner/default-admin coupling.