Formal Verification for Safe v1.5 Audit #901
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request corresponds to the formal verification aspect of the Safe v1.5 audit done by Certora.
Summary of Changes
Added
Configuration and Specification files corresponding to new rules:
execute.conf
andExecute.spec
extensible.conf
andExtensible.spec
fallback.conf
andFallback.spec
guards.conf
andGuards.spec
hash.conf
andHash.spec
setup.conf
andSetup.spec
Harness:
ExtensibleFallbackHandlerHarness.sol
to reason about the fallback handlerMocks:
DummyHandler.sol
for reasoning about the fallback handlerTxnGuardMock.sol
andTxnGuardMockDuplicate.sol
for reasoning about the transaction guardModuleGuardMock.sol
andModuleGuardMockDuplicate.sol
for reasoning about the module guardModified
applyHarness.patch
- added some minor munging as explained in the audit reportrun.conf
- remove a deprecated configuration tag that was giving errors to the ProverSafe.spec
- moved a rule about guards toGuard.spec
for logical continuitySafeHarness.sol
- added some view functionality to the Safe harness for some rules