Skip to content

Commit

Permalink
Merge pull request #14 from bgd-labs/feat/zksync
Browse files Browse the repository at this point in the history
feat: add deploy script for zksync gelato keeper
  • Loading branch information
brotherlymite authored Sep 25, 2024
2 parents 83c12ac + 28d090f commit df68dc7
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 14 deletions.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ RPC_ZKEVM=https://zkevm-rpc.com
RPC_GNOSIS=https://rpc.ankr.com/gnosis
RPC_BNB=https://binance.llamarpc.com
RPC_SCROLL=https://rpc.scroll.io
RPC_ZKSYNC=https://mainnet.era.zksync.io

# Etherscan api keys for verification & download utils
ETHERSCAN_API_KEY_MAINNET=
Expand All @@ -32,3 +33,4 @@ ETHERSCAN_API_KEY_ZKEVM=
ETHERSCAN_API_KEY_GNOSIS=
ETHERSCAN_API_KEY_BNB=
ETHERSCAN_API_KEY_SCROLL=
ETHERSCAN_API_KEY_ZKSYNC=
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# build and cache
cache/
out/
zkout/

# general
.env
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,6 @@ deploy-metis-execution-keeper :; forge script ./scripts/GelatoGasCappedExecution

# Gnosis deployments
deploy-gnosis-execution-keeper :; forge script ./scripts/GelatoGasCappedExecutionChainRobotKeeper.s.sol:DeployGnosis --rpc-url gnosis --broadcast --legacy --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --etherscan-api-key ${ETHERSCAN_API_KEY_GNOSIS} --gas-estimate-multiplier 175 --verify -vvvv

# zkSync deployments
deploy-zksync-execution-keeper :; FOUNDRY_PROFILE=zksync forge script --zksync .zksync/scripts/GelatoGasCappedExecutionChainRobotKeeper.s.sol:DeployZkSync --rpc-url zksync --broadcast --legacy --ledger --mnemonic-indexes ${MNEMONIC_INDEX} --sender ${LEDGER_SENDER} --etherscan-api-key ${ETHERSCAN_API_KEY_GNOSIS} --gas-estimate-multiplier 175 --verify -vvvv
34 changes: 21 additions & 13 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,26 @@ script = 'scripts'
out = 'out'
libs = ['lib']
solc='0.8.19'

remappings = [
'chainlink/=lib/chainlink/contracts/',
'openzeppelin-contracts/=lib/aave-governance-v3/lib/openzeppelin-contracts/',
'aave-governance-v3/=lib/aave-governance-v3/',
'aave-address-book/=lib/aave-address-book/src/',
'aave-delivery-infrastructure/=lib/aave-governance-v3/lib/aave-delivery-infrastructure/src/',
'solidity-utils/=lib/solidity-utils/src/',
'aave-token-v3/=lib/aave-governance-v3/lib/aave-token-v3/src/',
'aave-helpers/=lib/aave-helpers/src/'
]
remappings = []
fs_permissions = [{access = "write", path = "./reports"}]
ffi = true

[profile.zksync]
src = 'zksync/src'
test = 'zksync/tests'
script = 'zksync/scripts'
libs = ['lib']
solc = '0.8.19'
fs_permissions = [{ access = "write", path = "./reports" }]
ffi = true
evm_version = 'paris'

[profile.zksync.zksync]
compile = true
fallback_oz = true
mode = '3'
zksolc = '1.5.3'

[rpc_endpoints]
mainnet = "${RPC_MAINNET}"
optimism = "${RPC_OPTIMISM}"
Expand All @@ -33,6 +39,7 @@ zkevm = "${RPC_ZKEVM}"
gnosis = "${RPC_GNOSIS}"
bnb = "${RPC_BNB}"
scroll="${RPC_SCROLL}"
zksync = "${RPC_ZKSYNC}"

[etherscan]
mainnet = { key="${ETHERSCAN_API_KEY_MAINNET}", chain=1 }
Expand All @@ -45,7 +52,8 @@ metis = { key="any", chainId=1088, url='https://andromeda-explorer.metis.io/' }
base = { key="${ETHERSCAN_API_KEY_BASE}", chainId=8453 }
zkevm = { key="${ETHERSCAN_API_KEY_ZKEVM}", chainId=1101 }
gnosis = { key="${ETHERSCAN_API_KEY_GNOSIS}", chainId=100 }
bnb= { key="${ETHERSCAN_API_KEY_BNB}",chainId=56,url='https://api.bscscan.com/api'}
scroll={key="${ETHERSCAN_API_KEY_SCROLL}",chainId=534352}
bnb= { key="${ETHERSCAN_API_KEY_BNB}", chainId=56,url='https://api.bscscan.com/api' }
scroll={ key="${ETHERSCAN_API_KEY_SCROLL}", chainId=534352 }
zksync = { key="${ETHERSCAN_API_KEY_ZKSYNC}", chainId= 324 }

# See more config options https://github.com/gakonst/foundry/tree/master/config
2 changes: 1 addition & 1 deletion lib/aave-address-book
Submodule aave-address-book updated 501 files
9 changes: 9 additions & 0 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
chainlink/=lib/chainlink/contracts/
openzeppelin-contracts/=lib/aave-governance-v3/lib/openzeppelin-contracts/
aave-governance-v3/=lib/aave-governance-v3/
aave-address-book/=lib/aave-address-book/src/
aave-delivery-infrastructure/=lib/aave-governance-v3/lib/aave-delivery-infrastructure/src/
solidity-utils/=lib/solidity-utils/src/
aave-token-v3/=lib/aave-governance-v3/lib/aave-token-v3/src/
aave-helpers/=lib/aave-helpers/src/
aave-v3-origin/=lib/aave-address-book/lib/aave-v3-origin/src
21 changes: 21 additions & 0 deletions zksync/scripts/GelatoGasCappedExecutionChainRobotKeeper.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.0;

import {Script} from 'forge-std/Script.sol';
import {console} from 'forge-std/console.sol';
import {GelatoGasCappedExecutionChainRobotKeeper} from '../../src/contracts/gelato/GelatoGasCappedExecutionChainRobotKeeper.sol';
import {GovernanceV3ZkSync} from 'aave-address-book/GovernanceV3ZkSync.sol';

contract DeployZkSync is Script {
GelatoGasCappedExecutionChainRobotKeeper public keeper;

function run() external {
vm.startBroadcast();
keeper = new GelatoGasCappedExecutionChainRobotKeeper(address(GovernanceV3ZkSync.PAYLOADS_CONTROLLER)); // payloads controller
keeper.setMaxGasPrice(50 gwei);
keeper.transferOwnership(0xe3FD707583932a99513a5c65c8463De769f5DAdF);

console.log('Gelato Gas Capped Execution chain zkSync keeper address', address(keeper));
vm.stopBroadcast();
}
}

0 comments on commit df68dc7

Please sign in to comment.