Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
ed9c959
Script to install zksolc
Mar 18, 2025
9a09a3a
Add script to compile with zksolc
Mar 18, 2025
72ba874
Add link token as example
Mar 18, 2025
2fc06f2
Wrap zksync bytecode into its deployment function
Mar 19, 2025
db132a5
Adapt changesets to pick the correct deploy function
Mar 19, 2025
0d4d25d
Merge branch 'develop' into zksync-gethwrappers
Mar 19, 2025
7217861
Add zksolc to CI
Mar 19, 2025
f6851ba
Fix template
Mar 19, 2025
705926f
Fix compilation command
Mar 19, 2025
8d74ff2
Bump ctf
Mar 19, 2025
f49a1b0
Merge branch 'develop' into zksync-gethwrappers
Mar 19, 2025
8eb15ae
Tidy go mods
Mar 19, 2025
e355c06
Use forge --zksync
Mar 19, 2025
3410584
Add shell to ci script
Mar 19, 2025
72ee0d4
Remove scripts
Mar 20, 2025
6f0ec28
Undo refactorings
Mar 20, 2025
f15121f
Remove deployment changes
Mar 20, 2025
8dce3b5
Update helpers.go
ilanolkies Mar 20, 2025
ad5ccfe
Update deploy_link_token.go
ilanolkies Mar 20, 2025
c0c7b09
Update test_helpers.go
ilanolkies Mar 20, 2025
6dec3fa
Update logger import path in test_helpers.go
ilanolkies Mar 20, 2025
ddbc5e4
Update test_helpers.go
ilanolkies Mar 20, 2025
38daf21
Merge branch 'develop' into zksync-gethwrappers
Mar 20, 2025
df4cfaf
Revert go mods
Mar 20, 2025
20849be
Update Foundry ZKSync installation command
ilanolkies Mar 20, 2025
71f013c
Add sudo to Foundry ZKSync installation command
ilanolkies Mar 20, 2025
b05e35f
Update Foundry ZKSync installation command
ilanolkies Mar 20, 2025
404e802
Update Foundry ZKSync installation method
ilanolkies Mar 20, 2025
dc546cf
Fix indentation in install-solidity-foundry action
ilanolkies Mar 20, 2025
a807ef7
Add shell specification to download binaries step
ilanolkies Mar 20, 2025
0b75391
Add to path
Mar 20, 2025
6c0c95f
Tidy go mods
Mar 20, 2025
59dd573
Merge 6c0c95f0b8bc39e796069b0a0ae18dc2ae36ed7f into 80c21ace3cd3f2a13…
ilanolkies Mar 20, 2025
426c85b
Update gethwrappers
app-token-issuer-infra-releng[bot] Mar 20, 2025
feb4173
Use v0.0.11 in CI
Mar 20, 2025
59e822b
Merge branch 'develop' into zksync-gethwrappers
ilanolkies Mar 20, 2025
a6afbeb
Merge 59e822b6c2fcb8908fcfbd9f39e6a12d4ada0e90 into 6c71b3edef10d3b5f…
ilanolkies Mar 20, 2025
d1461ab
Update gethwrappers
app-token-issuer-infra-releng[bot] Mar 20, 2025
113d90f
Rebuild and tidy again
Mar 20, 2025
c0c1a76
Lint
Mar 20, 2025
77bb8e6
Move zksync to root
Mar 20, 2025
7ebe40f
Lint
Mar 20, 2025
a6c077c
Simplify deploy funciton
Mar 20, 2025
02431cc
Update .github/actions/install-solidity-foundry/action.yml
ilanolkies Mar 25, 2025
9a02001
Generate all CCIP contracts
Mar 28, 2025
0a1df19
Port Link Token for ZK
Mar 27, 2025
2931b62
Copy files to versioned folders
Mar 28, 2025
82fc174
Port CS Home Chain for ZK Sync
Mar 28, 2025
1a9a653
Delete copy script
Mar 28, 2025
f42d99f
Revert "Port CS Home Chain for ZK Sync"
Mar 28, 2025
48dc184
Revert "Port Link Token for ZK"
Mar 28, 2025
2de9a4b
Revert "Revert "Port Link Token for ZK""
Mar 28, 2025
e45f055
Revert "Revert "Port CS Home Chain for ZK Sync""
Mar 28, 2025
cd85306
Port prerequisites and deploy chain changesets + add salt to deploy fn
Mar 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/actions/install-solidity-foundry/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,10 @@ runs:
uses: foundry-rs/foundry-toolchain@de808b1eea699e761c404bda44ba8f21aba30b2c # v1.3.1
with:
version: ${{ steps.extract-foundry-version.outputs.foundry-version }}

- name: Install Foundry ZKSync
shell: bash
run: |
mkdir -p ~/.zksync
wget -qc https://github.com/matter-labs/foundry-zksync/releases/download/foundry-zksync-v0.0.11/foundry_zksync_v0.0.11_linux_amd64.tar.gz -O - | tar -xz -C ~/.zksync
echo "$HOME/.zksync" >> $GITHUB_PATH
1 change: 1 addition & 0 deletions contracts/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ artifacts
cache
node_modules
solc
zkout
abi
coverage
coverage.json
Expand Down
9 changes: 9 additions & 0 deletions contracts/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,15 @@ pnpmdep: ## Install solidity contract dependencies through pnpm
abigen: ## Build & install abigen.
../tools/bin/build_abigen

.PHONY: foundry-zksync
foundry-zksync:
# https://docs.zksync.io/zksync-era/tooling/foundry/installation
curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync -o install-foundry-zksync
chmod +x install-foundry-zksync
./install-foundry-zksync
rm install-foundry-zksync
rm foundryup-zksync

.PHONY: mockery
mockery: $(mockery) ## Install mockery.
go install github.com/vektra/mockery/[email protected]
Expand Down
9 changes: 8 additions & 1 deletion contracts/scripts/native_solc_compile_all_ccip
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,11 @@ compileContract() {
contract=$(basename "$1")
echo "Compiling" "$contract"

local in
in=$CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol"

local command
command="forge build $CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol" \
command="forge build $in \
--root $CONTRACTS_DIR \
$(getOptimizations "$contract") \
--extra-output-files bin abi \
Expand All @@ -34,6 +37,10 @@ compileContract() {

# Copy the generated abi files to a single folder
cp "$CONTRACTS_DIR"/solc/$PROJECT/"$contract"/"$contract".sol/"$contract".abi.json "$ABI_DIR""$contract".abi

forge build $in --zksync \
--root $CONTRACTS_DIR

}

# Define optimization overrides in this function. Anything that is not an override will use the default value
Expand Down
12 changes: 10 additions & 2 deletions contracts/scripts/native_solc_compile_all_keystone
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,23 @@ compileContract () {
contract=$(basename "$1")
echo "Compiling" "$contract"

local in
in=$CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol"

local command
command="forge build $CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol" \
command="forge build $in \
--root $CONTRACTS_DIR \
--extra-output-files bin abi \
-o $CONTRACTS_DIR/solc/$PROJECT/$contract"
$command

if [ -n "$2" ]; then
forge build $in --zksync \
--root $CONTRACTS_DIR
fi
}

compileContract CapabilitiesRegistry
compileContract CapabilitiesRegistry zk
compileContract KeystoneForwarder
compileContract OCR3Capability
compileContract KeystoneFeedsConsumer
Expand Down
20 changes: 15 additions & 5 deletions contracts/scripts/native_solc_compile_all_shared
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,32 @@ compileContract() {
PROJECT=$2
fi

local in
in=$CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol"

# We override the foundry.toml Solidity version to not change the bytecode.
local command
command="forge build $CONTRACTS_DIR/src/v0.8/$PROJECT/"$1.sol" \
command="forge build $in \
--root $CONTRACTS_DIR \
--extra-output-files bin abi \
--use 0.8.19 \
-o $CONTRACTS_DIR/solc/$PROJECT/$contract"

$command

if [ -n "$3" ]; then
forge build $in --zksync \
--root $CONTRACTS_DIR \
--use 0.8.19 \
$4
fi
}

compileContract interfaces/AggregatorV3Interface
compileContract interfaces/ITypeAndVersion
compileContract token/ERC677/ERC677
compileContract token/ERC677/BurnMintERC677
compileContract token/ERC677/LinkToken
compileContract token/ERC677/BurnMintERC677 "" zk
compileContract token/ERC677/LinkToken "" zk
compileContract token/ERC20/BurnMintERC20
compileContract test/helpers/ChainReaderTester
compileContract test/helpers/LogEmitter
Expand All @@ -46,5 +56,5 @@ compileContract mocks/MockV3Aggregator
compileContract mocks/WERC20Mock

compileContract openzeppelin-solidity/v4.8.3/contracts/token/ERC20/ERC20 vendor
compileContract multicall/ebd8b64/src/Multicall3 vendor
compileContract canonical-weth/WETH9 vendor
compileContract multicall/ebd8b64/src/Multicall3 vendor zk
compileContract canonical-weth/WETH9 vendor zk "--suppress-errors sendtransfer"

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading
Loading