-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Conversation
6e2511e
to
538dfb1
Compare
Solidity Review Jira issueHey! 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. 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: This PR has been linked to Solidity Review Jira issue: CCIP-3966 |
f96bb5e
to
99b29e8
Compare
AER Report: CI Core ran successfully ✅AER Report: Operator UI CI ran successfully ✅ |
abis have changed in order, no bytecode diff
bump shared compilation version to 0.8.24
909b0b3
to
bd06d04
Compare
Quality Gate passedIssues Measures |
@@ -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 |
There was a problem hiding this comment.
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
* 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>
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 oldgeneration/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 inshared
. This should always be done in theshared
wrapper generation.These compilation changes should be applied for each product.