Skip to content

Commit a2a1cfd

Browse files
authored
feat: Deploy on testnets (#63)
1 parent bb43c60 commit a2a1cfd

File tree

8 files changed

+593
-50
lines changed

8 files changed

+593
-50
lines changed

.env.template

Lines changed: 9 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,14 @@
1-
# CreateX Factory Address
2-
CREATE_X_FACTORY_ADDRESS=0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed
3-
SALT=0x<salt-value>
1+
SEPOLIA_RPC_URL="https://gateway.tenderly.co/public/sepolia"
2+
ARBITRUM_SEPOLIA_RPC_URL="https://arbitrum-sepolia.gateway.tenderly.co"
43

5-
# Account to be used for script execution.
6-
# Account name in Foundry keystore
7-
ACCOUNT=<your-account-name>
4+
# Etherscan v2 uses a single API key for all networks.
5+
ETHERSCAN_API_URL=https://api.etherscan.io/v2/api
6+
ETHERSCAN_API_KEY=
87

9-
# Ethereum Sepolia Configuration
10-
# SEPOLIA_RPC_URL is added to Github env "ci".
11-
SEPOLIA_RPC_URL="https://gateway.tenderly.co/public/sepolia"
8+
# Local dev config.
129
ANVIL_SEPOLIA_RPC_URL=http://localhost:8545
13-
LAYER_ZERO_SEPOLIA_ENDPOINT_ADDRESS=0x6EDCE65403992e310A62460808c4b910D972f10f
14-
LAYER_ZERO_SEPOLIA_CHAIN_ID=40161 # LayerZero chain ID for Ethereum Sepolia
15-
RLC_ADDRESS=0x26A738b6D33EF4D94FF084D3552961b8f00639Cd
16-
RLC_LIQUIDITY_UNIFIER_PROXY_ADDRESS=0x<deployed-rlc-liquidity-unifier-proxy-address>
17-
LAYERZERO_BRIDGE_ADAPTER_IMPLEMENTATION_ADDRESS=0x<deployed-layerzero-bridge-implementation-address>
18-
LAYERZERO_BRIDGE_ADAPTER_PROXY_ADDRESS=0x<deployed-layerzero-bridge-adapter-proxy-address>
19-
20-
# Arbitrum Sepolia Configuration
21-
ARBITRUM_SEPOLIA_RPC_URL="https://arbitrum-sepolia.gateway.tenderly.co"
2210
ANVIL_ARBITRUM_SEPOLIA_RPC_URL=http://localhost:8546
23-
LAYER_ZERO_ARBITRUM_SEPOLIA_ENDPOINT_ADDRESS=0x6EDCE65403992e310A62460808c4b910D972f10f
24-
LAYER_ZERO_ARBITRUM_SEPOLIA_CHAIN_ID=40231 # LayerZero chain ID for Arbitrum Sepolia
25-
RLC_CROSSCHAIN_ADDRESS=0x<deployed-rlc-crosschain-address>
26-
LAYERZERO_BRIDGE_IMPLEMENTATION_ADDRESS=0x<deployed-layerzero-bridge-implementation-address>
27-
LAYERZERO_BRIDGE_PROXY_ADDRESS=0x<deployed-layerzero-bridge-proxy-address>
28-
29-
# Transaction Settings
30-
ADMIN_ADDRESS=0x<owner-wallet-address>
31-
UPGRADER_ADDRESS=0x<upgrader-wallet-address>
32-
PAUSER_ADDRESS=0x<pauser-wallet-address>
3311

34-
# API Keys
35-
ETHERSCAN_API_KEY=<your-etherscan-api-key>
36-
ARBISCAN_API_KEY=<your-etherscan-api-key>
12+
# Account to be used for script execution.
13+
# Account name in Foundry keystore
14+
ACCOUNT=<your-account-name>

Makefile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,18 @@ deploy-on-testnets:
5252
$(MAKE) deploy-all \
5353
SOURCE_CHAIN=sepolia SOURCE_RPC=$(SEPOLIA_RPC_URL) \
5454
TARGET_CHAIN=arbitrum_sepolia TARGET_RPC=$(ARBITRUM_SEPOLIA_RPC_URL) \
55-
OPTIONS=--verify
55+
OPTIONS="--verify --verifier etherscan --verifier-api-key $(ETHERSCAN_API_KEY) --verifier-url $(ETHERSCAN_API_URL)"
5656

5757
deploy-all: # SOURCE_CHAIN, SOURCE_RPC, TARGET_CHAIN, TARGET_RPC, OPTIONS
58-
$(MAKE) deploy-contract CONTRACT=RLCLiquidityUnifier CHAIN=$(SOURCE_CHAIN) RPC_URL=$(SOURCE_RPC) OPTIONS=$(OPTIONS)
59-
$(MAKE) deploy-contract CONTRACT=bridges/layerZero/IexecLayerZeroBridge CHAIN=$(SOURCE_CHAIN) RPC_URL=$(SOURCE_RPC) OPTIONS=$(OPTIONS)
60-
$(MAKE) deploy-contract CONTRACT=RLCCrosschainToken CHAIN=$(TARGET_CHAIN) RPC_URL=$(TARGET_RPC) OPTIONS=$(OPTIONS)
61-
$(MAKE) deploy-contract CONTRACT=bridges/layerZero/IexecLayerZeroBridge CHAIN=$(TARGET_CHAIN) RPC_URL=$(TARGET_RPC) OPTIONS=$(OPTIONS)
58+
$(MAKE) deploy-contract CONTRACT=RLCLiquidityUnifier CHAIN=$(SOURCE_CHAIN) RPC_URL=$(SOURCE_RPC) OPTIONS=$(OPTIONS) || true
59+
$(MAKE) deploy-contract CONTRACT=bridges/layerZero/IexecLayerZeroBridge CHAIN=$(SOURCE_CHAIN) RPC_URL=$(SOURCE_RPC) OPTIONS=$(OPTIONS) || true
60+
$(MAKE) deploy-contract CONTRACT=RLCCrosschainToken CHAIN=$(TARGET_CHAIN) RPC_URL=$(TARGET_RPC) OPTIONS=$(OPTIONS) || true
61+
$(MAKE) deploy-contract CONTRACT=bridges/layerZero/IexecLayerZeroBridge CHAIN=$(TARGET_CHAIN) RPC_URL=$(TARGET_RPC) OPTIONS=$(OPTIONS) || true
6262
$(MAKE) configure-bridge SOURCE_CHAIN=$(SOURCE_CHAIN) TARGET_CHAIN=$(TARGET_CHAIN) RPC_URL=$(SOURCE_RPC)
6363
$(MAKE) configure-bridge SOURCE_CHAIN=$(TARGET_CHAIN) TARGET_CHAIN=$(SOURCE_CHAIN) RPC_URL=$(TARGET_RPC)
64+
@echo "Deployment completed."
65+
@echo "⚠️ Please authorize bridges on RLCLiquidityUnifier and RLCCrosschainToken contracts."
66+
# TODO verify contracts after deployment.
6467

6568
#
6669
# High-level upgrade targets
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0x67be1884d8bc7cb8eeee770d631eaec7c5178e2ba7d169f7da10f704b0631722",
5+
"transactionType": "CALL",
6+
"contractName": null,
7+
"contractAddress": "0x68cc55914cbc2630c2c60f49531e4b70b33399ff",
8+
"function": "setPeer(uint32,bytes32)",
9+
"arguments": [
10+
"40231",
11+
"0x00000000000000000000000062fa14c85638eb81ef38121591dcb8e4e12ce9fc"
12+
],
13+
"transaction": {
14+
"from": "0x29d9fb59587af02ae3bee909babdd0ac75580009",
15+
"to": "0x68cc55914cbc2630c2c60f49531e4b70b33399ff",
16+
"gas": "0x11c2a",
17+
"value": "0x0",
18+
"input": "0x3400288b0000000000000000000000000000000000000000000000000000000000009d2700000000000000000000000062fa14c85638eb81ef38121591dcb8e4e12ce9fc",
19+
"nonce": "0x11",
20+
"chainId": "0xaa36a7"
21+
},
22+
"additionalContracts": [],
23+
"isFixedGasLimit": false
24+
}
25+
],
26+
"receipts": [
27+
{
28+
"status": "0x1",
29+
"cumulativeGasUsed": "0x161869b",
30+
"logs": [
31+
{
32+
"address": "0x68cc55914cbc2630c2c60f49531e4b70b33399ff",
33+
"topics": [
34+
"0x238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b"
35+
],
36+
"data": "0x0000000000000000000000000000000000000000000000000000000000009d2700000000000000000000000062fa14c85638eb81ef38121591dcb8e4e12ce9fc",
37+
"blockHash": "0x93c25f536537ad30444c2fafd4f1171dff843c1ebe99a87774ccc8830f936ecb",
38+
"blockNumber": "0x84971c",
39+
"transactionHash": "0x67be1884d8bc7cb8eeee770d631eaec7c5178e2ba7d169f7da10f704b0631722",
40+
"transactionIndex": "0x132",
41+
"logIndex": "0x1e4",
42+
"removed": false
43+
}
44+
],
45+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000002000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000",
46+
"type": "0x2",
47+
"transactionHash": "0x67be1884d8bc7cb8eeee770d631eaec7c5178e2ba7d169f7da10f704b0631722",
48+
"transactionIndex": "0x132",
49+
"blockHash": "0x93c25f536537ad30444c2fafd4f1171dff843c1ebe99a87774ccc8830f936ecb",
50+
"blockNumber": "0x84971c",
51+
"gasUsed": "0xcdbc",
52+
"effectiveGasPrice": "0x36e0152a",
53+
"blobGasUsed": "0x0",
54+
"from": "0x29d9fb59587af02ae3bee909babdd0ac75580009",
55+
"to": "0x68cc55914cbc2630c2c60f49531e4b70b33399ff",
56+
"contractAddress": null
57+
}
58+
],
59+
"libraries": [],
60+
"pending": [],
61+
"returns": {},
62+
"timestamp": 1751619999,
63+
"chain": 11155111,
64+
"commit": "bb43c60"
65+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0xbd09bbb0ab405f22bba29dfa7e3655fd65056118262c9444970d553566fc30b2",
5+
"transactionType": "CALL",
6+
"contractName": null,
7+
"contractAddress": "0x62fa14c85638eb81ef38121591dcb8e4e12ce9fc",
8+
"function": "setPeer(uint32,bytes32)",
9+
"arguments": [
10+
"40161",
11+
"0x00000000000000000000000068cc55914cbc2630c2c60f49531e4b70b33399ff"
12+
],
13+
"transaction": {
14+
"from": "0x29d9fb59587af02ae3bee909babdd0ac75580009",
15+
"to": "0x62fa14c85638eb81ef38121591dcb8e4e12ce9fc",
16+
"gas": "0x1128f",
17+
"value": "0x0",
18+
"input": "0x3400288b0000000000000000000000000000000000000000000000000000000000009ce100000000000000000000000068cc55914cbc2630c2c60f49531e4b70b33399ff",
19+
"nonce": "0x3b",
20+
"chainId": "0x66eee"
21+
},
22+
"additionalContracts": [],
23+
"isFixedGasLimit": false
24+
}
25+
],
26+
"receipts": [
27+
{
28+
"status": "0x1",
29+
"cumulativeGasUsed": "0x5160c",
30+
"logs": [
31+
{
32+
"address": "0x62fa14c85638eb81ef38121591dcb8e4e12ce9fc",
33+
"topics": [
34+
"0x238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b"
35+
],
36+
"data": "0x0000000000000000000000000000000000000000000000000000000000009ce100000000000000000000000068cc55914cbc2630c2c60f49531e4b70b33399ff",
37+
"blockHash": "0x5aa5e9b88d47410fef030f612a4b90d9d2ad59913dadf2919ac2df2a456309a8",
38+
"blockNumber": "0xa2367e1",
39+
"transactionHash": "0xbd09bbb0ab405f22bba29dfa7e3655fd65056118262c9444970d553566fc30b2",
40+
"transactionIndex": "0x4",
41+
"logIndex": "0x9",
42+
"removed": false
43+
}
44+
],
45+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000080000000000000000000000000000",
46+
"type": "0x2",
47+
"transactionHash": "0xbd09bbb0ab405f22bba29dfa7e3655fd65056118262c9444970d553566fc30b2",
48+
"transactionIndex": "0x4",
49+
"blockHash": "0x5aa5e9b88d47410fef030f612a4b90d9d2ad59913dadf2919ac2df2a456309a8",
50+
"blockNumber": "0xa2367e1",
51+
"gasUsed": "0xcf92",
52+
"effectiveGasPrice": "0x5f5e100",
53+
"blobGasUsed": "0x0",
54+
"from": "0x29d9fb59587af02ae3bee909babdd0ac75580009",
55+
"to": "0x62fa14c85638eb81ef38121591dcb8e4e12ce9fc",
56+
"contractAddress": null,
57+
"gasUsedForL1": "0x1d6",
58+
"l1BlockNumber": "0x84971c"
59+
}
60+
],
61+
"libraries": [],
62+
"pending": [],
63+
"returns": {},
64+
"timestamp": 1751620020,
65+
"chain": 421614,
66+
"commit": "bb43c60"
67+
}

broadcast/RLCCrosschainToken.s.sol/421614/run-latest.json

Lines changed: 217 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)