-
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 gethwrappers with zkstack support (integrated with main flow) #15487
base: develop
Are you sure you want to change the base?
Conversation
…nk into zksync-wrappers
@@ -38,6 +39,13 @@ compileContract () { | |||
--bin-runtime --hashes --metadata --metadata-literal --combined-json abi,hashes,metadata,srcmap,srcmap-runtime \ | |||
--evm-version paris \ | |||
"$ROOT"/contracts/src/v0.8/"$1" | |||
|
|||
zksolc --overwrite -O3 --metadata-hash none \ |
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.
is the overwrite same as the "mode"?
& any other option to provide "fallback_to_optimizing_for_size"?
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.
--fallback-Oz Try to recompile with -Oz if the bytecode is too large
i think unless you dont specify this flag, it should be false.
--overwrite
is for overwriting a file if the wrapper already exists
@@ -78,11 +86,11 @@ compileContract ccip/test/helpers/receivers/MaybeRevertMessageReceiver.sol | |||
compileContract ccip/test/helpers/MultiOCR3Helper.sol | |||
compileContract ccip/test/mocks/MockE2EUSDCTokenMessenger.sol | |||
compileContract ccip/test/mocks/MockE2EUSDCTransmitter.sol | |||
compileContract ccip/test/WETH9.sol | |||
# compileContract ccip/test/WETH9.sol (error) |
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.
I think we can completely exclude these test contracts? no?
compileContract ccip/test/helpers/CCIPReaderTester.sol | ||
|
||
# Encoding Utils | ||
compileContract ccip/interfaces/encodingutils/ICCIPEncodingUtils.sol | ||
# compileContract ccip/interfaces/encodingutils/ICCIPEncodingUtils.sol (error) |
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.
hmm, what is the error here? something we can fix? or is this file not being used by any contract?
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.
tools/bin/setup_zksolc.sh
Outdated
set -e | ||
|
||
# Specify the version of zksolc you want to install | ||
VERSION="1.5.6" |
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.
What do you think about parameterising this for both the Zksolc setup and the Solidity compilation script so that the products and the user can choose the version of the contracts to be compiled? for example ccip 1.5.3, automation could be a different version, even within ccip, MCMS contracts have a different version
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.
fair
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.
done
AER Report: CI Core ran successfully ✅AER Report: Operator UI CI ran successfully ✅ |
It appears that the changeset file you've added or modified in |
…kit/chainlink into zksync-wrappers-integrated
I see you updated files related to
|
This breaks integration-tests because:
if
conditions to every deploy method we have across the different toolsInstead of doing this
We will now do this, where we add a
zksync wallet
into thecontext.value
of theTransactOps
If the above is done, we can simply do the below for deploying to both ethereum and zkstack chains (no special logic for zkstack)
TODO:
abigen.go
constantsWETH9.sol compilation breaks
Requires
Supports