Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

L2 bridges audit #63

Merged
merged 5 commits into from
Sep 19, 2022
Merged

L2 bridges audit #63

merged 5 commits into from
Sep 19, 2022

Conversation

miguelmtzinf
Copy link
Contributor

No description provided.

MichaelMorami and others added 5 commits July 29, 2022 12:04
* certora folder added

* Added spec and script for OptimismExecutor

Created harnesses version of BridgeExecutorBase.sol
Added windows script,
Created spec file for ExecutorBase.
Modified the import file for L2Bridge

* Created munged direcotry

Restored original code,
Added munged directory,
Some modifications in munged and added a harness version.

* Updated bridge spec and harnessed files.

* Updated Harness and Spec

* Verified rules in spec. Changed target calls mocks.

* Updated OptimisimBridge spec

* Updated optimism executor spec

* Added a target call mock contract.

Removed targetCall from the Optimism contract and created a mock contract instead.
Added links to the script.

* Added verification for Polygon Bridge

Created: PolygonHarness.sol - bridge harness
verifyPolygon.sh - script
mockTargetPoly.sol - target mock contract
PolygonBridge.spec - spec file

* Updated Polygon and Optimism specs

* splitting certora's gitignore from main gitignore

* Updated Polygon & Optimism spec (after review)

Changed specs for both Optimism and Polygon
"Removed" queue function, replaced by queue2
Harnessed executeDelegateCall, without delegates.

* Update PolygonBridge.spec

* Added Arbitrum verficiation

Combined Arbitrum & Optimism spec.
Added script for Arbitrum.
Added links for full verification reports.

* adding certora files to gitignore

* deleting json file

* adding the verification report

* Create README.md

* Update README.md

* Updated independentQueuedActions rule

* Update Formal Verification Report of AAVE L2 Bridge.pdf

* Updated noIncarnations rule.

Co-authored-by: Roy-Certora <[email protected]>
…ation (#61)

* certora folder added

* fix: Fix natspec typo

* Added spec and script for OptimismExecutor

Created harnesses version of BridgeExecutorBase.sol
Added windows script,
Created spec file for ExecutorBase.
Modified the import file for L2Bridge

* Created munged direcotry

Restored original code,
Added munged directory,
Some modifications in munged and added a harness version.

* Updated bridge spec and harnessed files.

* Updated Harness and Spec

* Verified rules in spec. Changed target calls mocks.

* Updated OptimisimBridge spec

* Updated optimism executor spec

* Added a target call mock contract.

Removed targetCall from the Optimism contract and created a mock contract instead.
Added links to the script.

* Added verification for Polygon Bridge

Created: PolygonHarness.sol - bridge harness
verifyPolygon.sh - script
mockTargetPoly.sol - target mock contract
PolygonBridge.spec - spec file

* Updated Polygon and Optimism specs

* splitting certora's gitignore from main gitignore

* Updated Polygon & Optimism spec (after review)

Changed specs for both Optimism and Polygon
"Removed" queue function, replaced by queue2
Harnessed executeDelegateCall, without delegates.

* Update PolygonBridge.spec

* Added Arbitrum verficiation

Combined Arbitrum & Optimism spec.
Added script for Arbitrum.
Added links for full verification reports.

* adding certora files to gitignore

* deleting json file

* adding the verification report

* Create README.md

* Update README.md

* Updated independentQueuedActions rule

* updated report

* Update Formal Verification Report of AAVE L2 Bridge.pdf

* Updated noIncarnations rule.

* Update AddressAliasHelper library to work with solidity 0.8 version (#58)

* test: Add test that bricks the executor with an underflowing address

* fix: Updates the AddressAliasHelper library with 0.8 solidity version

* feat: Add CI setup

* adding mocks to munged + updating arbitrum dependency

* created harness patch and munged directory

* adding git action

* fixing yaml

* adding ls checks for munged

* fixing yaml

* adding optimism and polygon yamls

* testing git action on staging

* changing the yaml back to cloud

* removing complexity check

* fixing error in line 105

* installing certora-cli-alpha-master instead of certora-cli

* adding debug

* removing debug

* returning to certora-clo

* going back to regular cli

* removing munged content

* updating python version to 3.9

* removing non existing rule in polygon

* adding mocks to munged + updating arbitrum dependency

* setting CI integration for formal verification by Certora

Co-authored-by: miguelmtzinf <[email protected]>
Co-authored-by: miguelmtz <[email protected]>
Co-authored-by: Roy-Certora <[email protected]>
@miguelmtzinf miguelmtzinf merged commit 93c39de into master Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants