safe-global / safe-smart-account

Safe allows secure management of blockchain assets.
https://safe.global
GNU Lesser General Public License v3.0
1.84k stars 907 forks source link

Upgrade certora spec files and CI to certora-cli v6 #732

Closed mmv08 closed 7 months ago

mmv08 commented 8 months ago

This PR updates the certora cli to the latest available v6 version. The main breaking change is that ghosts have to be marked persistent if we don't want them to be HAVOC'ed on, let's say, an external call.

github-actions[bot] commented 8 months ago

Pull Request Test Coverage Report for Build 7543498216


Totals Coverage Status
Change from base Build 7542362512: 0.0%
Covered Lines: 396
Relevant Lines: 404

💛 - Coveralls
mmv08 commented 8 months ago

I'm converting this to a draft because the update to v6 broke the ownerSignaturesAreProvidedForExecTransaction rule. Presumably, because the tool behaves non-deterministically for abi.encodePacked (or a hash of it) even for the same data. The certora team's investigating.

Example run: https://prover.certora.com/output/6575/96223f29578f4584b7e1afa6c4356ce8/?anonymousKey=b4c7ff82200f16cc7d24b33fca4948008693a3a7

coveralls commented 7 months ago

Pull Request Test Coverage Report for Build 7785684151


Totals Coverage Status
Change from base Build 7609222733: 94.4%
Covered Lines: 396
Relevant Lines: 404

💛 - Coveralls