@@ -192,23 +192,7 @@ func rejectTestCases(t *testing.T, solver, outbox common.Address) []rejectTestCa
192
192
tests = append (tests , toRejectTestCase (t , tt , outbox ))
193
193
}
194
194
195
- // not shared with quote
196
- additional := []rejectTestCase {
197
- toRejectTestCase (t , orderTestCase {
198
- name : "insufficient deposit" ,
199
- reason : rejectInsufficientDeposit ,
200
- reject : true ,
201
- order : testOrder {
202
- srcChainID : evmchain .IDBaseSepolia ,
203
- dstChainID : evmchain .IDHolesky ,
204
- deposits : []Deposit {{Amount : big .NewInt (1 )}},
205
- calls : []Call {{Value : big .NewInt (2 )}},
206
- expenses : []Expense {{Amount : big .NewInt (2 )}},
207
- },
208
- }, outbox ),
209
- }
210
-
211
- return append (tests , additional ... )
195
+ return tests
212
196
}
213
197
214
198
func orderTestCases (t * testing.T , solver common.Address ) []orderTestCase {
@@ -225,12 +209,12 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
225
209
// request 1 native OMNI for 1 erc20 OMNI on omega
226
210
srcChainID : evmchain .IDHolesky ,
227
211
dstChainID : evmchain .IDOmniOmega ,
228
- deposits : []Deposit {{Amount : big . NewInt (1 ), Token : omegaOMNIAddr }},
229
- calls : []Call {{Value : big . NewInt (1 )}},
230
- expenses : []Expense {{Amount : big . NewInt (1 )}},
212
+ deposits : []Deposit {{Amount : ether (1 ), Token : omegaOMNIAddr }},
213
+ calls : []Call {{Value : ether (1 )}},
214
+ expenses : []Expense {{Amount : ether (1 )}},
231
215
},
232
216
mock : func (clients MockClients ) {
233
- mockNativeBalance (t , clients .Client (t , evmchain .IDOmniOmega ), solver , big . NewInt (0 ))
217
+ mockNativeBalance (t , clients .Client (t , evmchain .IDOmniOmega ), solver , ether (0 ))
234
218
},
235
219
},
236
220
{
@@ -241,12 +225,13 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
241
225
// request 1 native OMNI for 1 erc20 OMNI on omega
242
226
srcChainID : evmchain .IDHolesky ,
243
227
dstChainID : evmchain .IDOmniOmega ,
244
- deposits : []Deposit {{Amount : big .NewInt (1 ), Token : omegaOMNIAddr }},
245
- calls : []Call {{Value : big .NewInt (1 )}},
246
- expenses : []Expense {{Amount : big .NewInt (1 )}},
228
+ // OMNI does not require fee
229
+ deposits : []Deposit {{Amount : ether (1 ), Token : omegaOMNIAddr }},
230
+ calls : []Call {{Value : ether (1 )}},
231
+ expenses : []Expense {{Amount : ether (1 )}},
247
232
},
248
233
mock : func (clients MockClients ) {
249
- mockNativeBalance (t , clients .Client (t , evmchain .IDOmniOmega ), solver , big . NewInt (1 ))
234
+ mockNativeBalance (t , clients .Client (t , evmchain .IDOmniOmega ), solver , ether (1 ))
250
235
},
251
236
},
252
237
{
@@ -257,11 +242,11 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
257
242
// request 1 erc20 OMNI for 1 native OMNI on omega
258
243
srcChainID : evmchain .IDOmniOmega ,
259
244
dstChainID : evmchain .IDHolesky ,
260
- deposits : []Deposit {{Amount : big . NewInt (1 )}},
261
- expenses : []Expense {{Amount : big . NewInt (1 ), Token : omegaOMNIAddr }},
245
+ deposits : []Deposit {{Amount : ether (1 )}},
246
+ expenses : []Expense {{Amount : ether (1 ), Token : omegaOMNIAddr }},
262
247
},
263
248
mock : func (clients MockClients ) {
264
- mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , big . NewInt (0 ))
249
+ mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , ether (0 ))
265
250
},
266
251
},
267
252
{
@@ -272,11 +257,12 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
272
257
// request 1 erc20 OMNI for 1 native OMNI on omega
273
258
srcChainID : evmchain .IDOmniOmega ,
274
259
dstChainID : evmchain .IDHolesky ,
275
- deposits : []Deposit {{Amount : big .NewInt (1 )}},
276
- expenses : []Expense {{Amount : big .NewInt (1 ), Token : omegaOMNIAddr }},
260
+ // OMNI does not require fee
261
+ deposits : []Deposit {{Amount : ether (1 )}},
262
+ expenses : []Expense {{Amount : ether (1 ), Token : omegaOMNIAddr }},
277
263
},
278
264
mock : func (clients MockClients ) {
279
- mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , big . NewInt (1 ))
265
+ mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , ether (1 ))
280
266
mockERC20Allowance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr )
281
267
},
282
268
},
@@ -291,11 +277,11 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
291
277
// request 1 erc20 OMNI for 1 native OMNI on omega
292
278
srcChainID : evmchain .IDOmniOmega ,
293
279
dstChainID : evmchain .IDHolesky ,
294
- deposits : []Deposit {{Amount : big . NewInt (1 )}},
295
- expenses : []Expense {{Amount : big . NewInt (1 ), Token : omegaOMNIAddr }},
280
+ deposits : []Deposit {{Amount : ether (1 )}},
281
+ expenses : []Expense {{Amount : ether (1 ), Token : omegaOMNIAddr }},
296
282
},
297
283
mock : func (clients MockClients ) {
298
- mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , big . NewInt (1 ))
284
+ mockERC20Balance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr , ether (1 ))
299
285
mockERC20Allowance (t , clients .Client (t , evmchain .IDHolesky ), omegaOMNIAddr )
300
286
},
301
287
},
@@ -306,8 +292,8 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
306
292
order : testOrder {
307
293
srcChainID : evmchain .IDOmniOmega ,
308
294
dstChainID : evmchain .IDHolesky ,
309
- deposits : []Deposit {{Amount : big . NewInt (1 )}},
310
- expenses : []Expense {{Amount : big . NewInt (1 ), Token : common .HexToAddress ("0x01" )}},
295
+ deposits : []Deposit {{Amount : ether (1 )}},
296
+ expenses : []Expense {{Amount : ether (1 ), Token : common .HexToAddress ("0x01" )}},
311
297
},
312
298
},
313
299
{
@@ -326,9 +312,9 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
326
312
order : testOrder {
327
313
srcChainID : evmchain .IDHolesky ,
328
314
dstChainID : evmchain .IDOmniOmega ,
329
- deposits : []Deposit {{Amount : big . NewInt (1 )}},
330
- calls : []Call {{Value : big . NewInt (1 )}},
331
- expenses : []Expense {{Amount : big . NewInt (1 )}},
315
+ deposits : []Deposit {{Amount : ether (1 )}},
316
+ calls : []Call {{Value : ether (1 )}},
317
+ expenses : []Expense {{Amount : ether (1 )}},
332
318
},
333
319
},
334
320
{
@@ -339,10 +325,10 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
339
325
srcChainID : evmchain .IDHolesky ,
340
326
dstChainID : evmchain .IDBaseSepolia ,
341
327
// wstETH on holesky
342
- deposits : []Deposit {{Amount : big . NewInt (1 ), Token : common .HexToAddress ("0x8d09a4502cc8cf1547ad300e066060d043f6982d" )}},
328
+ deposits : []Deposit {{Amount : ether (1 ), Token : common .HexToAddress ("0x8d09a4502cc8cf1547ad300e066060d043f6982d" )}},
343
329
// native eth on base
344
- calls : []Call {{Value : big . NewInt (1 )}},
345
- expenses : []Expense {{Amount : big . NewInt (1 )}},
330
+ calls : []Call {{Value : ether (1 )}},
331
+ expenses : []Expense {{Amount : ether (1 )}},
346
332
},
347
333
},
348
334
{
@@ -352,9 +338,9 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
352
338
order : testOrder {
353
339
srcChainID : evmchain .IDHolesky ,
354
340
dstChainID : evmchain .IDOmniOmega ,
355
- deposits : []Deposit {{Amount : big . NewInt (1 ), Token : omegaOMNIAddr }, {Amount : big . NewInt (1 )}},
356
- calls : []Call {{Value : big . NewInt (1 )}},
357
- expenses : []Expense {{Amount : big . NewInt (1 )}},
341
+ deposits : []Deposit {{Amount : ether (1 ), Token : omegaOMNIAddr }, {Amount : ether (1 )}},
342
+ calls : []Call {{Value : ether (1 )}},
343
+ expenses : []Expense {{Amount : ether (1 )}},
358
344
},
359
345
},
360
346
{
@@ -364,9 +350,9 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
364
350
order : testOrder {
365
351
srcChainID : evmchain .IDHolesky ,
366
352
dstChainID : evmchain .IDOptimism ,
367
- deposits : []Deposit {{Amount : big . NewInt (1 )}},
368
- calls : []Call {{Value : big . NewInt (1 )}},
369
- expenses : []Expense {{Amount : big . NewInt (1 )}},
353
+ deposits : []Deposit {{Amount : ether (1 )}},
354
+ calls : []Call {{Value : ether (1 )}},
355
+ expenses : []Expense {{Amount : ether (1 )}},
370
356
},
371
357
},
372
358
{
@@ -376,14 +362,59 @@ func orderTestCases(t *testing.T, solver common.Address) []orderTestCase {
376
362
order : testOrder {
377
363
srcChainID : evmchain .IDOmniOmega ,
378
364
dstChainID : evmchain .IDHolesky ,
379
- deposits : []Deposit {{Amount : big . NewInt (2 )}},
380
- calls : []Call {{Value : big . NewInt (1 )}},
365
+ deposits : []Deposit {{Amount : ether (2 )}},
366
+ calls : []Call {{Value : ether (1 )}},
381
367
expenses : []Expense {
382
- {Amount : big . NewInt (1 )},
383
- {Amount : big . NewInt (1 ), Token : common .HexToAddress ("0x8d09a4502cc8cf1547ad300e066060d043f6982d" )},
368
+ {Amount : ether (1 )},
369
+ {Amount : ether (1 ), Token : common .HexToAddress ("0x8d09a4502cc8cf1547ad300e066060d043f6982d" )},
384
370
},
385
371
},
386
372
},
373
+ {
374
+ name : "insufficient deposit" ,
375
+ reason : rejectInsufficientDeposit ,
376
+ reject : true ,
377
+ order : testOrder {
378
+ srcChainID : evmchain .IDBaseSepolia ,
379
+ dstChainID : evmchain .IDHolesky ,
380
+ // does not include fee
381
+ deposits : []Deposit {{Amount : ether (1 )}},
382
+ calls : []Call {{Value : ether (1 )}},
383
+ expenses : []Expense {{Amount : ether (1 )}},
384
+ },
385
+ },
386
+ {
387
+ name : "sufficient deposit" ,
388
+ order : testOrder {
389
+ srcChainID : evmchain .IDBaseSepolia ,
390
+ dstChainID : evmchain .IDHolesky ,
391
+ // includes fee
392
+ deposits : []Deposit {{Amount : depositFor (ether (1 ), standardFeeBips )}},
393
+ calls : []Call {{Value : ether (1 )}},
394
+ expenses : []Expense {{Amount : ether (1 )}},
395
+ },
396
+ mock : func (clients MockClients ) {
397
+ mockNativeBalance (t , clients .Client (t , evmchain .IDHolesky ), solver , ether (1 ))
398
+ },
399
+ },
400
+ {
401
+ name : "more than sufficient deposit" ,
402
+ order : testOrder {
403
+ srcChainID : evmchain .IDBaseSepolia ,
404
+ dstChainID : evmchain .IDHolesky ,
405
+ deposits : []Deposit {{
406
+ Amount : new (big.Int ).Add (
407
+ depositFor (ether (1 ), standardFeeBips ), // required deposit
408
+ gwei (1 ), // a little more
409
+ ),
410
+ }},
411
+ calls : []Call {{Value : ether (1 )}},
412
+ expenses : []Expense {{Amount : ether (1 )}},
413
+ },
414
+ mock : func (clients MockClients ) {
415
+ mockNativeBalance (t , clients .Client (t , evmchain .IDHolesky ), solver , ether (2 ))
416
+ },
417
+ },
387
418
}
388
419
}
389
420
@@ -641,3 +672,11 @@ func mustGetABI(metadata *bind.MetaData) *abi.ABI {
641
672
642
673
return abi
643
674
}
675
+
676
+ func ether (x int64 ) * big.Int {
677
+ return new (big.Int ).Mul (big .NewInt (x ), big .NewInt (1e18 ))
678
+ }
679
+
680
+ func gwei (x int64 ) * big.Int {
681
+ return new (big.Int ).Mul (big .NewInt (x ), big .NewInt (1e9 ))
682
+ }
0 commit comments