@@ -8,23 +8,40 @@ source $(pwd)/scripts/evm
8
8
ADDRESS_BOOK=${ADDRESS_BOOK:- " addresses-local.json" }
9
9
ARBITRUM_ADDRESS_BOOK=${ARBITRUM_ADDRESS_BOOK:- " arbitrum-addresses-local.json" }
10
10
ARBITRUM_DEPLOYMENT_FILE=${ARBITRUM_DEPLOYMENT_FILE:- " localNetwork.json" }
11
- L1_NETWORK=${L1_NETWORK:- " localhost" }
12
- L2_NETWORK=${L2_NETWORK} # By default run only L1 tests on localhost network
11
+
12
+ L1_NETWORK=${L1_NETWORK}
13
+ L2_NETWORK=${L2_NETWORK}
14
+
13
15
L1_GRAPH_CONFIG=${L1_GRAPH_CONFIG:- " config/graph.localhost.yml" }
14
16
L2_GRAPH_CONFIG=${L2_GRAPH_CONFIG:- " config/graph.arbitrum-localhost.yml" }
15
17
16
18
echo " Running e2e tests"
17
19
echo " - Using address book: $ADDRESS_BOOK "
18
- echo " - Using L1 network: $L1_NETWORK "
19
- echo " - Using L1 config: $L1_GRAPH_CONFIG "
20
+
21
+ if [[ -n " $L1_NETWORK " ]]; then
22
+ echo " - Using L1 network: $L1_NETWORK "
23
+ echo " - Using L1 config: $L1_GRAPH_CONFIG "
24
+ else
25
+ echo " - No L1_NETWORK provided, skipping L1 tests"
26
+ fi
20
27
21
28
if [[ -n " $L2_NETWORK " ]]; then
22
29
echo " - Using L2 network: $L2_NETWORK "
23
30
echo " - Using L2 config: $L2_GRAPH_CONFIG "
24
31
echo " - Using arbitrum address book: $ARBITRUM_ADDRESS_BOOK "
25
32
echo " - Using arbitrum deployment file: $ARBITRUM_DEPLOYMENT_FILE "
26
33
else
27
- echo " - Skipping L2 tests"
34
+ echo " - No L2_NETWORK provided, skipping L2 tests"
35
+ fi
36
+
37
+ if [[ -z " $L1_NETWORK " ]] && [[ -z " $L2_NETWORK " ]]; then
38
+ echo " Must specify one of L1_NETWORK or L2_NETWORK!"
39
+ exit 0
40
+ fi
41
+
42
+ if [[ " $L1_NETWORK " == " $L2_NETWORK " ]]; then
43
+ echo " L1_NETWORK and L2_NETWORK must be different networks!"
44
+ exit 0
28
45
fi
29
46
30
47
# ## > SCRIPT AUX FUNCTIONS <
@@ -106,9 +123,9 @@ function test_e2e () {
106
123
local NETWORK=$1
107
124
local GRAPH_CONFIG=$2
108
125
local ADDRESS_BOOK=$3
109
- local SKIP_BRIDGE_TESTS =$4
126
+ local COUNTERPART_NETWORK =$4
110
127
111
- if [[ -z " $SKIP_BRIDGE_TESTS " ]]; then
128
+ if [[ -n " $COUNTERPART_NETWORK " ]]; then
112
129
npx hardhat e2e --network " $NETWORK " --graph-config " $GRAPH_CONFIG " --address-book " $ADDRESS_BOOK "
113
130
else
114
131
npx hardhat e2e --network " $NETWORK " --graph-config " $GRAPH_CONFIG " --address-book " $ADDRESS_BOOK " --skip-bridge
@@ -146,7 +163,7 @@ function test_e2e_scenarios_bridge () {
146
163
yarn build
147
164
148
165
# Start evm
149
- if [[ " $L1_NETWORK " == " localhost" ]]; then
166
+ if [[ " $L1_NETWORK " == " localhost" || " $L2_NETWORK " == " localhost " ]]; then
150
167
evm_kill
151
168
evm_start
152
169
fi
163
180
164
181
# # DEPLOY
165
182
# Deploy L1
166
- echo " Deploying L1 protocol"
167
- pre_deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG "
168
- deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
169
- post_deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
183
+ if [[ -n " $L1_NETWORK " ]]; then
184
+ echo " Deploying L1 protocol"
185
+ pre_deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG "
186
+ deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
187
+ post_deploy " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
188
+ fi
170
189
171
190
# Deploy L2
172
191
if [[ -n " $L2_NETWORK " ]]; then
@@ -177,30 +196,37 @@ if [[ -n "$L2_NETWORK" ]]; then
177
196
fi
178
197
179
198
# Configure bridge
180
- if [[ -n " $L2_NETWORK " ]]; then
199
+ if [[ -n " $L1_NETWORK " ]] && [[ -n " $ L2_NETWORK" ]]; then
181
200
configure_bridge " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $L2_NETWORK " " $L2_GRAPH_CONFIG " " $ADDRESS_BOOK " " $ARBITRUM_ADDRESS_BOOK " " $ARBITRUM_DEPLOYMENT_FILE "
182
201
fi
183
202
184
203
185
204
# # TEST
186
205
# Run e2e tests
187
- if [[ -z " $L2_NETWORK " ]]; then
188
- test_e2e " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK " true
189
- else
190
- test_e2e " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
191
- test_e2e " $L2_NETWORK " " $L2_GRAPH_CONFIG " " $ADDRESS_BOOK "
206
+ if [[ -n " $L1_NETWORK " ]]; then
207
+ test_e2e " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK " " $L2_NETWORK "
192
208
fi
193
209
194
- # Run scenario tests
195
- test_e2e_scenarios " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
196
210
if [[ -n " $L2_NETWORK " ]]; then
211
+ test_e2e " $L2_NETWORK " " $L2_GRAPH_CONFIG " " $ADDRESS_BOOK " " $L1_NETWORK "
212
+ fi
213
+
214
+ # Run scenario tests
215
+ if [[ -n " $L1_NETWORK " ]]; then
216
+ test_e2e_scenarios " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $ADDRESS_BOOK "
217
+ fi
218
+
219
+ if [[ -n " $L1_NETWORK " ]] && [[ -n " $L2_NETWORK " ]]; then
197
220
test_e2e_scenarios_bridge " $L1_NETWORK " " $L1_GRAPH_CONFIG " " $L2_NETWORK " " $L2_GRAPH_CONFIG " " $ADDRESS_BOOK "
221
+ fi
222
+
223
+ if [[ -n " $L2_NETWORK " ]]; then
198
224
test_e2e_scenarios " $L2_NETWORK " " $L2_GRAPH_CONFIG " " $ADDRESS_BOOK "
199
225
fi
200
226
201
227
# # Cleanup
202
228
# Exit error mode so the evm instance always gets killed
203
- if [[ " $L1_NETWORK " == " localhost" ]]; then
229
+ if [[ " $L1_NETWORK " == " localhost" || " $L2_NETWORK " == " localhost " ]]; then
204
230
set +e
205
231
result=0
206
232
0 commit comments