Skip to content

Commit ea0c020

Browse files
committed
feat: xcall testing script added
1 parent a78c459 commit ea0c020

8 files changed

+231
-200
lines changed

contracts/evm/.env.example

+145-36
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
PRIVATE_KEY=
2-
ADMIN= #owner address for the admin of proxy contract
2+
ADMIN=
33

44
#RPC URLS
5+
LOCAL_RPC_URL=http://127.0.0.1:8545
56
BSCTEST_RPC_URL=https://data-seed-prebsc-1-s1.binance.org:8545
67
SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/JxPqX6PhmfdYfoQ1avgoBFwCxNUCKzu2
78
BASE_GOERLI_RPC_URL=https://goerli.base.org
@@ -10,70 +11,153 @@ ARBITRUM_GOERLI_RPC_URL=https://goerli-rollup.arbitrum.io/rpc
1011
FUJI_RPC_URL=https://api.avax-test.network/ext/C/rpc
1112
CELOTEST_RPC_URL=https://alfajores-forno.celo-testnet.org
1213
POLYGON_MUMBAI_RPC_URL=https://rpc.ankr.com/polygon_mumbai
14+
OPTIMISM_SEPOLIA_RPC_URL=https://sepolia.optimism.io
15+
ARBITRUM_SEPOLIA_RPC_URL=https://sepolia-rollup.arbitrum.io/rpc
16+
GOERLI_RPC_URL=https://eth-goerli.g.alchemy.com/v2/JxPqX6PhmfdYfoQ1avgoBFwCxNUCKzu2
1317

14-
BSC_RPC_URL=
15-
ETHEREUM_RPC_URL=
16-
BASE_RPC_URL=
17-
OPTIMISM_RPC_URL=
18-
ARBITRUM_RPC_URL=
19-
AVALANCHE_RPC_URL=
18+
BINANCE_RPC_URL=https://binance.llamarpc.com
19+
ETHEREUM_RPC_URL=https://eth.llamarpc.com
20+
BASE_RPC_URL=https://base.llamarpc.com
21+
OPTIMISM_RPC_URL=https://op-pokt.nodies.app
22+
ARBITRUM_RPC_URL=https://arbitrum.llamarpc.com
23+
AVALANCHE_RPC_URL=https://avalanche.drpc.org
2024

2125
#DIFFERENT CHAINS NID
26+
LOCAL_NID=local
27+
2228
BSCTEST_NID=0x61.bsc
23-
SEPOLIA_NID=
29+
SEPOLIA_NID=0xaa36a7.eth
30+
GOERLI_NID=0x5.eth
2431
BASE_GOERLI_NID=0x14a33.base
25-
OPTIMISM_GOERLI_NID=
26-
ARBITRUM_GOERLI_NID=
32+
ARBITRUM_GOERLI_NID=0x66eed.arbitrum
2733
FUJI_NID=0xa869.fuji
2834
CELOTEST_NID=0xaef3.celo
2935
POLYGON_MUMBAI_NID=0x13881.mumbai
36+
OPTIMISM_SEPOLIA_NID=0x66eee.optimism
37+
ARBITRUM_SEPOLIA_NID=0xaa37dc.arbitrum
3038

31-
32-
BSC_NID=*
33-
ETHEREUM_NID=*
34-
BASE_NID=*
35-
OPTIMISM_NID=*
36-
ARBITRUM_NID=*
37-
AVALANCHE_NID=*
38-
39+
BINANCE_NID=0x38.bsc
40+
ETHEREUM_NID=0x1.eth
41+
BASE_NID=0x2105.base
42+
OPTIMISM_NID=0xa.optimism
43+
ARBITRUM_NID=0xa4b1.arbitrum
44+
AVALANCHE_NID=0xa86a.avax
3945

4046
#WORMHOLE RELAYER ADDRESSES
4147
LOCAL_WORMHOLE_RELAYER=0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB
4248
FUJI_WORMHOLE_RELAYER=0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB
4349
BSCTEST_WORMHOLE_RELAYER=0x80aC94316391752A193C1c47E27D382b507c93F3
4450
BASE_GOERLI_WORMHOLE_RELAYER=0xea8029CD7FCAEFFcD1F53686430Db0Fc8ed384E1
51+
GOERLI_WORMHOLE_RELAYER=0x28D8F1Be96f97C1387e94A53e00eCcFb4E75175a
52+
ARBITRUM_GOERLI_WORMHOLE_RELAYER=0xAd753479354283eEE1b86c9470c84D42f229FF43
53+
ARBITRUM_SEPOLIA_WORMHOLE_RELAYER=0x7B1bD7a6b4E61c2a123AC6BC2cbfC614437D0470
54+
OPTIMISM_SEPOLIA_WORMHOLE_RELAYER=0x93BAD53DDfB6132b0aC8E37f6029163E63372cEE
55+
56+
ETHEREUM_WORMHOLE_RELAYER=0x27428DD2d3DD32A4D7f7C497eAaa23130d894911
57+
BINANCE_WORMHOLE_RELAYER=0x27428DD2d3DD32A4D7f7C497eAaa23130d894911
58+
AVALANCHE_WORMHOLE_RELAYER=0x27428DD2d3DD32A4D7f7C497eAaa23130d894911
59+
BASE_WORMHOLE_RELAYER=0x706f82e9bb5b0813501714ab5974216704980e31
60+
OPTIMISM_WORMHOLE_RELAYER=0x27428DD2d3DD32A4D7f7C497eAaa23130d894911
61+
ARBITRUM_WORMHOLE_RELAYER=0x27428DD2d3DD32A4D7f7C497eAaa23130d894911
4562

4663
#LAYER ZERO RELAYER ENDPOINT
47-
LOCAL_LAYERZERO_RELAYER=0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB
64+
GOERLI_LAYERZERO_RELAYER=0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB
4865
FUJI_LAYERZERO_RELAYER=0x93f54D755A063cE7bB9e6Ac47Eccc8e33411d706
4966
BSCTEST_LAYERZERO_RELAYER=0x6Fcb97553D41516Cb228ac03FdC8B9a0a9df04A1
5067
BASE_GOERLI_LAYERZERO_RELAYER=0x6aB5Ae6822647046626e83ee6dB8187151E1d5ab
68+
CELOTEST_LAYERZERO_RELAYER=0xae92d5aD7583AD66E49A0c67BAd18F6ba52dDDc1
69+
ARBITRUM_SEPOLIA_LAYERZERO_RELAYER=0x6098e96a28E02f27B1e6BD381f870F1C8Bd169d3
70+
OPTIMISM_SEPOLIA_LAYERZERO_RELAYER=0x55370E0fBB5f5b8dAeD978BA1c075a499eB107B8
71+
72+
ETHEREUM_LAYERZERO_RELAYER=0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675
73+
BINANCE_LAYERZERO_RELAYER=0x3c2269811836af69497E5F486A85D7316753cf62
74+
AVALANCHE_LAYERZERO_RELAYER=0x3c2269811836af69497E5F486A85D7316753cf62
75+
BASE_LAYERZERO_RELAYER=0xb6319cC6c8c27A8F5dAF0dD3DF91EA35C4720dd7
76+
OPTIMISM_LAYERZERO_RELAYER=0x3c2269811836af69497E5F486A85D7316753cf62
77+
ARBITRUM_LAYERZERO_RELAYER=0x3c2269811836af69497E5F486A85D7316753cf62
5178

5279
#Wormhole Chain ID
5380
FUJI_CHAIN_ID=6
5481
BSCTEST_CHAIN_ID=4
5582
BASE_GOERLI_CHAIN_ID=30
83+
GOERLI_CHAIN_ID=2
84+
ARBITRUM_GOERLI_CHAIN_ID=23
85+
ARBITRUM_SEPOLIA_CHAIN_ID=10003
86+
OPTIMISM_SEPOLIA_CHAIN_ID=10005
87+
88+
ETHEREUM_CHAIN_ID=2
89+
BINANCE_CHAIN_ID=4
90+
BASE_CHAIN_ID=30
91+
AVALANCHE_CHAIN_ID=6
92+
OPTIMISM_CHAIN_ID=24
93+
ARBITRUM_CHAIN_ID=23
5694

5795
#LAYERZERO CHAINID
5896
FUJI_LAYERZERO_CHAIN_ID=10106
5997
BSCTEST_LAYERZERO_CHAIN_ID=10102
6098
BASE_GOERLI_LAYERZERO_CHAIN_ID=10160
99+
CELOTEST_LAYERZERO_CHAIN_ID=10125
100+
OPTIMISM_SEPOLIA_LAYERZERO_CHAIN_ID=10232
101+
ARBITRUM_SEPOLIA_LAYERZERO_CHAIN_ID=10231
102+
ARBITRUM_GOERLI_LAYERZERO_CHAIN_ID=10143
103+
104+
ETHEREUM_LAYERZERO_CHAIN_ID=101
105+
BINANCE_LAYERZERO_CHAIN_ID=102
106+
BASE_LAYERZERO_CHAIN_ID=184
107+
AVALANCHE_LAYERZERO_CHAIN_ID=106
108+
OPTIMISM_LAYERZERO_CHAIN_ID=111
109+
ARBITRUM_LAYERZERO_CHAIN_ID=110
61110

62111
#XCALL ADDRESSES
63-
BSCTEST_XCALL=
64-
FUJI_XCALL=
65-
BASE_GOERLI_XCALL=
66-
LOCAL_XCALL=
112+
BSCTEST_XCALL=0xF9709093389963A1145A34Be3b24fA31F891D969
113+
FUJI_XCALL=0x3f6391be658E9e163DA476b6ed1F6135cc29a376
114+
BASE_GOERLI_XCALL=0xd6761944b408fE141BF82eA55E1290B4c26eED58
115+
ARBITRUM_GOERLI_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
116+
GOERLI_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
117+
SEPOLIA_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
118+
POLYGON_MUMBAI_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
119+
OPTIMISM_SEPOLIA_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
120+
ARBITRUM_SEPOLIA_XCALL=0x2Ca03A78001b9c2E18D56Daa27b0A6BB9761eBCD
121+
122+
ETHEREUM_XCALL=
123+
BINANCE_XCALL=
124+
AVALANCHE_XCALL=
125+
BASE_XCALL=
126+
OPTIMISM_XCALL=
127+
ARBITRUM_XCALL=
67128

68129
#MOCK DAPP ADDRESSES
69-
BSCTEST_MOCK_DAPP=
70-
FUJI_MOCK_DAPP=
71-
BASE_GOERLI_MOCK_DAPP=
130+
BSCTEST_MOCK_DAPP=0xfF2845aA159a8736039b6c4aBbb4C6f40ab19FdB
131+
FUJI_MOCK_DAPP=0xb369e640b543F5669171f588a708ED746f86e3Ca
132+
BASE_GOERLI_MOCK_DAPP=0x386aD8b6EF981DEcC642e84099b89c86D1DeEaF6
133+
OPTIMISM_SEPOLIA_MOCK_DAPP=0x451788e76Bb0A7fB7eD088e43d9EaEB7990B6cc6
134+
ARBITRUM_SEPOLIA_MOCK_DAPP=0x451788e76Bb0A7fB7eD088e43d9EaEB7990B6cc6
135+
ARBITRUM_GOERLI_MOCK_DAPP=0x7276977aeb208bfa7376168EF2b97Ebe5B0BFCF8
136+
GOERLI_MOCK_DAPP=0x7276977aeb208bfa7376168EF2b97Ebe5B0BFCF8
137+
SEPOLIA_MOCK_DAPP=0x0B59764C48297E768c135b8D072F9884a37EB84c
138+
139+
ETHEREUM_MOCK_DAPP=
140+
BINANCE_MOCK_DAPP=
141+
AVALANCHE_MOCK_DAPP=
142+
BASE_MOCK_DAPP=
143+
OPTIMISM_MOCK_DAPP=
144+
ARBITRUM_MOCK_DAPP=
72145

73146
# WORMHOLE ADDRESSES
74-
BSCTEST_WORMHOLE_ADAPTER=
75-
FUJI_WORMHOLE_ADAPTER=
76-
BASE_GOERLI_WORMHOLE_ADAPTER=
147+
BSCTEST_WORMHOLE_ADAPTER=0xAF180CDFE82578dB128088C4D8aa60a38E5CF505
148+
FUJI_WORMHOLE_ADAPTER=0x0a1128524798022b2483bBDD967E54DdCfda0cA2
149+
BASE_GOERLI_WORMHOLE_ADAPTER=0x59B7e6939E8dc33A023504a87E5333E7E7cFb242
150+
GOERLI_WORMHOLE_ADAPTER=0x0B59764C48297E768c135b8D072F9884a37EB84c
151+
ARBITRUM_GOERLI_WORMHOLE_ADAPTER=0x0B59764C48297E768c135b8D072F9884a37EB84c
152+
ARBITRUM_SEPOLIA_WORMHOLE_ADAPTER=0xFE8E7ebF26b642Eff32C673482BeFf77cBEB993d
153+
OPTIMISM_SEPOLIA_WORMHOLE_ADAPTER=0xFE8E7ebF26b642Eff32C673482BeFf77cBEB993d
154+
155+
ETHEREUM_WORMHOLE_ADAPTER=
156+
BINANCE_WORMHOLE_ADAPTER=
157+
AVALANCHE_WORMHOLE_ADAPTER=
158+
BASE_WORMHOLE_ADAPTER=
159+
OPTIMISM_WORMHOLE_ADAPTER=
160+
ARBITRUM_WORMHOLE_ADAPTER=
77161

78162
#ETHERSCAN APIS
79163
BSCSCAN_API_KEY=MDBZR5TAPWDJAQD4DA3Q77HYBITBI1UE6P
@@ -86,16 +170,41 @@ CELOSCAN_API_KEY=83RKDAH8MR5FV5CUXK7HIEH1G3R5ZHI9IA
86170
POLYSCAN_API_KEY=YD3616TF1CD81YRH2J2TBF1SMJE9XJH38R
87171

88172
#LAYERZERO
89-
BSCTEST_LAYERZERO_ADAPTER=
90-
FUJI_LAYERZERO_ADAPTER=
91-
BASE_GOERLI_LAYERZERO_ADAPTER=
173+
BSCTEST_LAYERZERO_ADAPTER=0x8e83b1d0a2def6dd3c754a91f8c08cdf8a917f42
174+
FUJI_LAYERZERO_ADAPTER=0xC9E76a4902524B1401910012028f524637eC6Ecd
175+
BASE_GOERLI_LAYERZERO_ADAPTER=0xe9BBeeE2B57fabA1345b020A4A4E235a173594BE
176+
SEPOLIA_LAYERZERO_ADAPTER=0x885dd30aed3a009C72a8a21F4A23784bF0a41303
177+
OPTIMISM_SEPOLIA_LAYERZERO_ADAPTER=0x3498faa2b382DC01E9bAEaE4ADd13730A2FCd52A
178+
ARBITRUM_SEPOLIA_LAYERZERO_ADAPTER=0x3498faa2b382DC01E9bAEaE4ADd13730A2FCd52A
179+
180+
ETHEREUM_LAYERZERO_ADAPTER=
181+
BINANCE_LAYERZERO_ADAPTER=
182+
AVALANCHE_LAYERZERO_ADAPTER=
183+
BASE_LAYERZERO_ADAPTER=
184+
ARBITRUM_LAYERZERO_ADAPTER=
185+
OPTIMISM_LAYERZERO_ADAPTER=
92186

93187
#CENTRALIZED_RELAYER
94-
BSCTEST_CENTRALIZED_RELAYER=
95-
FUJI_CENTRALIZED_RELAYER=
96-
BASE_GOERLI_CENTRALIZED_RELAYER=
188+
BSCTEST_CENTRALIZED_RELAYER=0x8A4e91ab095c1c5Acd101B7dF6fF46524C4af9DB
189+
FUJI_CENTRALIZED_RELAYER=0xb89596d95b2183722f16d4c30b347dadbf8c941a
190+
BASE_GOERLI_CENTRALIZED_RELAYER=0x8A4e91ab095c1c5Acd101B7dF6fF46524C4af9DB
191+
192+
ETHEREUM_CENTRALIZED_RELAYER=
193+
BINANCE_CENTRALIZED_RELAYER=
194+
AVALANCHE_CENTRALIZED_RELAYER=
195+
BASE_CENTRALIZED_RELAYER=
196+
OPTIMISM_CENTRALIZED_RELAYER=
197+
ARBITRUM_CENTRALIZED_RELAYER=
97198

98199
#CENTRALIZED_ADAPTER
99200
BSCTEST_CENTRALIZED_ADAPTER=
100-
FUJI_CENTRALIZED_ADAPTER=
201+
FUJI_CENTRALIZED_ADAPTER=0x2500986cCD5e804B206925780e66628e88fE49f3
101202
BASE_GOERLI_CENTRALIZED_ADAPTER=
203+
204+
ETHEREUM_CENTRALIZED_ADAPTER=
205+
BINANCE_CENTRALIZED_ADAPTER=
206+
AVALANCHE_CENTRALIZED_ADAPTER=
207+
BASE_CENTRALIZED_ADAPTER=
208+
OPTIMISM_CENTRALIZED_ADAPTER=
209+
ARBITRUM_CENTRALIZED_ADAPTER=
210+

contracts/evm/README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,14 @@ forge script DeployCallService -s "addConnection(string memory chain1, string m
141141
```
142142

143143
#### Step 5: Execute Test
144-
145-
```
146-
./test_xcall_flow.sh <source_chain> <destination_chain>
144+
```bash
145+
$ ./test_xcall_flow.sh --src <source_chain> --dest <destination_chain> --fee <value>
147146
```
148147

148+
- `--fee <value>`: Sets the transaction fee (in wei). The value must be a number.
149+
- `--src <source_chain>`: Sets the source chain for the transaction. Valid chain options are `fuji`, `bsctest`, `base_goerli`, `optimism_sepolia`, and `arbitrum_goerli`.
150+
- `--dest <destination_chain>`: Sets the destination chain for the transaction. Valid chain options are `fuji`, `bsctest`, `base_goerli`, `optimism_sepolia`, and `arbitrum_goerli`.
151+
149152
### Cast
150153
Set the CONTRACT_ADDRESS variable in your terminal:
151154

contracts/evm/deploy_script.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ valid_actions=("deploy" "upgrade" "configure")
55
valid_contracts=("callservice" "mock" "wormhole" "layerzero" "centralized")
66
valid_environments=("mainnet" "testnet" "local")
77
valid_mainnet_chains=("ethereum" "binance" "avalanche" "arbitrum" "optimism" "base" "all")
8-
valid_testnet_chains=("sepolia" "bsctest" "fuji" "arbitrum_goerli" "optimism_goerli" "base_goerli" "all")
8+
valid_testnet_chains=("sepolia" "bsctest" "fuji" "arbitrum_goerli" "optimism_goerli" "base_goerli" "optimism_sepolia" "arbitrum_sepolia" "goerli" "all")
99
valid_local_chains=("local" "all")
1010

1111
# Initialize variables

0 commit comments

Comments
 (0)