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

CCIP-4737 compile using foundry #15829

Merged
merged 20 commits into from
Jan 6, 2025
Merged

CCIP-4737 compile using foundry #15829

merged 20 commits into from
Jan 6, 2025

Conversation

RensR
Copy link
Contributor

@RensR RensR commented Jan 3, 2025

Compile CCIP and Shared using Foundry instead of using Python to install solc-select. Because it's using Foundry now, it uses the settings from the foundry.toml file, leading to a single source of truth.

One design choice taken was to clean up go_generate, which did come at a cost, which I would argue is a feature, of no longer being able to overwrite the contract name for the gethwrapper. The old generation/generate/wrap.go is still available for backwards compatibility, which still allows this. Because of this new restriction, this PR renamed a few wrongly named CCIP contracts.

Another minor change is the removal of out-of-package wrapper compilation, meaning ccip would compile a wrapper for a contract in shared. This should always be done in the shared wrapper generation.

These compilation changes should be applied for each product.

@RensR RensR changed the title compile using foundry CCIP-4737 compile using foundry Jan 3, 2025
@RensR RensR force-pushed the compile-using-foundry branch 2 times, most recently from 6e2511e to 538dfb1 Compare January 3, 2025 10:40
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
Copy link
Contributor

github-actions bot commented Jan 3, 2025

Solidity Review Jira issue

Hey! We have taken the liberty to link this PR to a Jira issue for Solidity Review.

This is a new feature, that's currently in the pilot phase, so please make sure that the linkage is correct. In a contrary case, please update it manually in JIRA and replace Solidity Review issue key in the changeset file with the correct one.
Please reach out to the Test Tooling team and notify them about any issues you encounter.

Any changes to the Solidity Review Jira issue should be reflected in the changeset file. If you need to update the issue key, please do so manually in the following changeset file: contracts/.changeset/cuddly-roses-vanish.md

This PR has been linked to Solidity Review Jira issue: CCIP-3966

@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@RensR RensR force-pushed the compile-using-foundry branch 2 times, most recently from f96bb5e to 99b29e8 Compare January 3, 2025 14:36
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
@smartcontractkit smartcontractkit deleted a comment from github-actions bot Jan 3, 2025
Copy link
Contributor

github-actions bot commented Jan 3, 2025

Static analysis results are available

Hey @RensR, you can view Slither reports in the job summary here or download them as artifact here.
Please check them before merging and make sure you have addressed all issues.

Copy link
Contributor

github-actions bot commented Jan 3, 2025

AER Report: CI Core ran successfully ✅

aer_workflow , commit

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@RensR RensR force-pushed the compile-using-foundry branch from 909b0b3 to bd06d04 Compare January 6, 2025 15:14
@RensR RensR enabled auto-merge January 6, 2025 17:05
@jhweintraub jhweintraub dismissed their stale review January 6, 2025 17:12

to be fixed in later PR

@@ -175,7 +175,7 @@ func deployChainContracts(
if chainState.Router == nil {
return fmt.Errorf("router not found for chain %s, deploy the prerequisites first", chain.String())
}
rmnProxyContract := chainState.RMNProxy
RMNProxy := chainState.RMNProxy
Copy link
Contributor

Choose a reason for hiding this comment

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

naming: rmnProxy since its a var

@RensR RensR added this pull request to the merge queue Jan 6, 2025
Merged via the queue into develop with commit 6e65dee Jan 6, 2025
211 checks passed
@RensR RensR deleted the compile-using-foundry branch January 6, 2025 17:48
joaoluisam pushed a commit that referenced this pull request Jan 9, 2025
* compile using foundry

* gen wrappers based on Foundry output

* rename ARMProxy -> RMNProxy

* let shared use foundry compiled wrappers

* move shared compilation files out of ccip

* gen ccip wrappers

abis have changed in order, no bytecode diff

* align contract names with wrapper names

* remove ccip version of mock_v3_agg

* gen shared wrappers

* install Foundry in wrapper gen CI

* install foundry for CI and add changeset

bump shared compilation version to 0.8.24

* [Bot] Update changeset file with jira issues

* add foundry install to more CI steps

* make foundry action install Foundry

* move chain_reader_test to shared compile and set to 0.8.19

* set foundry root

* undo changes to shared tests

* gen aggregator_v3_interface from shared

* fix lint, changeset

* fix ref to action

---------

Co-authored-by: app-token-issuer-infra-releng[bot] <120227048+app-token-issuer-infra-releng[bot]@users.noreply.github.com>
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.

6 participants