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

Making contracts memory-safe #711

Merged
merged 57 commits into from
Jan 10, 2024
Merged

Making contracts memory-safe #711

merged 57 commits into from
Jan 10, 2024

Conversation

remedcu
Copy link
Member

@remedcu remedcu commented Dec 4, 2023

This PR does the following things:

  • Updates the solc used to 0.8.19 (Need confirmation if this should be done @nlordell / @mmv08 ) for both the project as well as FV using Certora.
  • Makes it possible to compile using 0.8.19 with viaIR and optimization enabled (To check, use .env file with solidity version and settings with the appropriate values)
  • Updates assembly to be memory-safe either through tags explicitly or by using proper free memory allocation.

Closes #544

@remedcu remedcu self-assigned this Dec 4, 2023
Copy link

github-actions bot commented Dec 4, 2023

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@remedcu
Copy link
Member Author

remedcu commented Dec 4, 2023

I have read the CLA Document and I hereby sign the CLA

github-actions bot added a commit that referenced this pull request Dec 4, 2023
@coveralls
Copy link

coveralls commented Dec 5, 2023

Pull Request Test Coverage Report for Build 7475596867

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 94.567%

Totals Coverage Status
Change from base Build 6969581763: 0.0%
Covered Lines: 397
Relevant Lines: 405

💛 - Coveralls

@remedcu remedcu marked this pull request as ready for review December 5, 2023 16:46
@remedcu remedcu requested review from a team, rmeissner, nlordell and akshay-ap and removed request for a team December 5, 2023 16:48
.env.sample Outdated Show resolved Hide resolved
certora/applyHarness.patch Outdated Show resolved Hide resolved
contracts/test/Token.sol Outdated Show resolved Hide resolved
contracts/proxies/SafeProxy.sol Outdated Show resolved Hide resolved
contracts/libraries/MultiSendCallOnly.sol Outdated Show resolved Hide resolved
contracts/libraries/MultiSendCallOnly.sol Outdated Show resolved Hide resolved
docs/guidelines.md Outdated Show resolved Hide resolved
test/utils/contracts.ts Outdated Show resolved Hide resolved
Copy link
Collaborator

@nlordell nlordell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - if it isn't too much hassle, I would propose to move the returndatasize changes to a separate PR so that change doesn't get mixed up in this one.

@remedcu
Copy link
Member Author

remedcu commented Jan 10, 2024

Will make a new issue & PR once this is merged for the returndatasize. Will merge this one, once all the checks pass.

Thank you all for reviewing this PR!

@remedcu remedcu merged commit fc87888 into main Jan 10, 2024
20 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 10, 2024
@mmv08 mmv08 deleted the optimizer-enabled branch January 10, 2024 14:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enabling yul optimizer and viaIR causes stack too deep error using Solidity 0.8.19
5 participants