@across-protocol/contracts 3.0.20 → 3.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cher_SpokePool__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "_wrappedNativeTokenAddress",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "uint32",
18
+ name: "_depositQuoteTimeBuffer",
19
+ type: "uint32",
20
+ },
21
+ {
22
+ internalType: "uint32",
23
+ name: "_fillDeadlineBuffer",
24
+ type: "uint32",
25
+ },
26
+ {
27
+ internalType: "contract IERC20",
28
+ name: "_l2Usdc",
29
+ type: "address",
30
+ },
31
+ {
32
+ internalType: "contract ITokenMessenger",
33
+ name: "_cctpTokenMessenger",
34
+ type: "address",
35
+ },
36
+ ],
37
+ stateMutability: "nonpayable",
38
+ type: "constructor",
39
+ },
40
+ {
41
+ inputs: [],
42
+ name: "ClaimedMerkleLeaf",
43
+ type: "error",
44
+ },
45
+ {
46
+ inputs: [],
47
+ name: "DepositsArePaused",
48
+ type: "error",
49
+ },
50
+ {
51
+ inputs: [],
52
+ name: "DisabledRoute",
53
+ type: "error",
54
+ },
55
+ {
56
+ inputs: [],
57
+ name: "ExpiredFillDeadline",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "FillsArePaused",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "InvalidChainId",
68
+ type: "error",
69
+ },
70
+ {
71
+ inputs: [],
72
+ name: "InvalidCrossDomainAdmin",
73
+ type: "error",
74
+ },
75
+ {
76
+ inputs: [],
77
+ name: "InvalidDepositorSignature",
78
+ type: "error",
79
+ },
80
+ {
81
+ inputs: [],
82
+ name: "InvalidExclusiveRelayer",
83
+ type: "error",
84
+ },
85
+ {
86
+ inputs: [],
87
+ name: "InvalidFillDeadline",
88
+ type: "error",
89
+ },
90
+ {
91
+ inputs: [],
92
+ name: "InvalidMerkleLeaf",
93
+ type: "error",
94
+ },
95
+ {
96
+ inputs: [],
97
+ name: "InvalidMerkleProof",
98
+ type: "error",
99
+ },
100
+ {
101
+ inputs: [],
102
+ name: "InvalidPayoutAdjustmentPct",
103
+ type: "error",
104
+ },
105
+ {
106
+ inputs: [],
107
+ name: "InvalidQuoteTimestamp",
108
+ type: "error",
109
+ },
110
+ {
111
+ inputs: [],
112
+ name: "InvalidRelayerFeePct",
113
+ type: "error",
114
+ },
115
+ {
116
+ inputs: [],
117
+ name: "InvalidSlowFillRequest",
118
+ type: "error",
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: "InvalidWithdrawalRecipient",
123
+ type: "error",
124
+ },
125
+ {
126
+ inputs: [
127
+ {
128
+ internalType: "bytes",
129
+ name: "data",
130
+ type: "bytes",
131
+ },
132
+ ],
133
+ name: "LowLevelCallFailed",
134
+ type: "error",
135
+ },
136
+ {
137
+ inputs: [],
138
+ name: "MaxTransferSizeExceeded",
139
+ type: "error",
140
+ },
141
+ {
142
+ inputs: [],
143
+ name: "MsgValueDoesNotMatchInputAmount",
144
+ type: "error",
145
+ },
146
+ {
147
+ inputs: [],
148
+ name: "NoSlowFillsInExclusivityWindow",
149
+ type: "error",
150
+ },
151
+ {
152
+ inputs: [],
153
+ name: "NotCrossChainCall",
154
+ type: "error",
155
+ },
156
+ {
157
+ inputs: [],
158
+ name: "NotCrossDomainAdmin",
159
+ type: "error",
160
+ },
161
+ {
162
+ inputs: [],
163
+ name: "NotEOA",
164
+ type: "error",
165
+ },
166
+ {
167
+ inputs: [],
168
+ name: "NotExclusiveRelayer",
169
+ type: "error",
170
+ },
171
+ {
172
+ inputs: [],
173
+ name: "RelayFilled",
174
+ type: "error",
175
+ },
176
+ {
177
+ inputs: [],
178
+ name: "WrongERC7683OrderId",
179
+ type: "error",
180
+ },
181
+ {
182
+ anonymous: false,
183
+ inputs: [
184
+ {
185
+ indexed: false,
186
+ internalType: "address",
187
+ name: "previousAdmin",
188
+ type: "address",
189
+ },
190
+ {
191
+ indexed: false,
192
+ internalType: "address",
193
+ name: "newAdmin",
194
+ type: "address",
195
+ },
196
+ ],
197
+ name: "AdminChanged",
198
+ type: "event",
199
+ },
200
+ {
201
+ anonymous: false,
202
+ inputs: [
203
+ {
204
+ indexed: true,
205
+ internalType: "address",
206
+ name: "beacon",
207
+ type: "address",
208
+ },
209
+ ],
210
+ name: "BeaconUpgraded",
211
+ type: "event",
212
+ },
213
+ {
214
+ anonymous: false,
215
+ inputs: [
216
+ {
217
+ indexed: true,
218
+ internalType: "uint256",
219
+ name: "rootBundleId",
220
+ type: "uint256",
221
+ },
222
+ ],
223
+ name: "EmergencyDeleteRootBundle",
224
+ type: "event",
225
+ },
226
+ {
227
+ anonymous: false,
228
+ inputs: [
229
+ {
230
+ indexed: true,
231
+ internalType: "address",
232
+ name: "originToken",
233
+ type: "address",
234
+ },
235
+ {
236
+ indexed: true,
237
+ internalType: "uint256",
238
+ name: "destinationChainId",
239
+ type: "uint256",
240
+ },
241
+ {
242
+ indexed: false,
243
+ internalType: "bool",
244
+ name: "enabled",
245
+ type: "bool",
246
+ },
247
+ ],
248
+ name: "EnabledDepositRoute",
249
+ type: "event",
250
+ },
251
+ {
252
+ anonymous: false,
253
+ inputs: [
254
+ {
255
+ indexed: false,
256
+ internalType: "uint256",
257
+ name: "amountToReturn",
258
+ type: "uint256",
259
+ },
260
+ {
261
+ indexed: true,
262
+ internalType: "uint256",
263
+ name: "chainId",
264
+ type: "uint256",
265
+ },
266
+ {
267
+ indexed: false,
268
+ internalType: "uint256[]",
269
+ name: "refundAmounts",
270
+ type: "uint256[]",
271
+ },
272
+ {
273
+ indexed: true,
274
+ internalType: "uint32",
275
+ name: "rootBundleId",
276
+ type: "uint32",
277
+ },
278
+ {
279
+ indexed: true,
280
+ internalType: "uint32",
281
+ name: "leafId",
282
+ type: "uint32",
283
+ },
284
+ {
285
+ indexed: false,
286
+ internalType: "address",
287
+ name: "l2TokenAddress",
288
+ type: "address",
289
+ },
290
+ {
291
+ indexed: false,
292
+ internalType: "address[]",
293
+ name: "refundAddresses",
294
+ type: "address[]",
295
+ },
296
+ {
297
+ indexed: false,
298
+ internalType: "address",
299
+ name: "caller",
300
+ type: "address",
301
+ },
302
+ ],
303
+ name: "ExecutedRelayerRefundRoot",
304
+ type: "event",
305
+ },
306
+ {
307
+ anonymous: false,
308
+ inputs: [
309
+ {
310
+ indexed: false,
311
+ internalType: "address",
312
+ name: "inputToken",
313
+ type: "address",
314
+ },
315
+ {
316
+ indexed: false,
317
+ internalType: "address",
318
+ name: "outputToken",
319
+ type: "address",
320
+ },
321
+ {
322
+ indexed: false,
323
+ internalType: "uint256",
324
+ name: "inputAmount",
325
+ type: "uint256",
326
+ },
327
+ {
328
+ indexed: false,
329
+ internalType: "uint256",
330
+ name: "outputAmount",
331
+ type: "uint256",
332
+ },
333
+ {
334
+ indexed: false,
335
+ internalType: "uint256",
336
+ name: "repaymentChainId",
337
+ type: "uint256",
338
+ },
339
+ {
340
+ indexed: true,
341
+ internalType: "uint256",
342
+ name: "originChainId",
343
+ type: "uint256",
344
+ },
345
+ {
346
+ indexed: true,
347
+ internalType: "uint32",
348
+ name: "depositId",
349
+ type: "uint32",
350
+ },
351
+ {
352
+ indexed: false,
353
+ internalType: "uint32",
354
+ name: "fillDeadline",
355
+ type: "uint32",
356
+ },
357
+ {
358
+ indexed: false,
359
+ internalType: "uint32",
360
+ name: "exclusivityDeadline",
361
+ type: "uint32",
362
+ },
363
+ {
364
+ indexed: false,
365
+ internalType: "address",
366
+ name: "exclusiveRelayer",
367
+ type: "address",
368
+ },
369
+ {
370
+ indexed: true,
371
+ internalType: "address",
372
+ name: "relayer",
373
+ type: "address",
374
+ },
375
+ {
376
+ indexed: false,
377
+ internalType: "address",
378
+ name: "depositor",
379
+ type: "address",
380
+ },
381
+ {
382
+ indexed: false,
383
+ internalType: "address",
384
+ name: "recipient",
385
+ type: "address",
386
+ },
387
+ {
388
+ indexed: false,
389
+ internalType: "bytes",
390
+ name: "message",
391
+ type: "bytes",
392
+ },
393
+ {
394
+ components: [
395
+ {
396
+ internalType: "address",
397
+ name: "updatedRecipient",
398
+ type: "address",
399
+ },
400
+ {
401
+ internalType: "bytes",
402
+ name: "updatedMessage",
403
+ type: "bytes",
404
+ },
405
+ {
406
+ internalType: "uint256",
407
+ name: "updatedOutputAmount",
408
+ type: "uint256",
409
+ },
410
+ {
411
+ internalType: "enum V3SpokePoolInterface.FillType",
412
+ name: "fillType",
413
+ type: "uint8",
414
+ },
415
+ ],
416
+ indexed: false,
417
+ internalType: "struct V3SpokePoolInterface.V3RelayExecutionEventInfo",
418
+ name: "relayExecutionInfo",
419
+ type: "tuple",
420
+ },
421
+ ],
422
+ name: "FilledV3Relay",
423
+ type: "event",
424
+ },
425
+ {
426
+ anonymous: false,
427
+ inputs: [
428
+ {
429
+ indexed: false,
430
+ internalType: "uint8",
431
+ name: "version",
432
+ type: "uint8",
433
+ },
434
+ ],
435
+ name: "Initialized",
436
+ type: "event",
437
+ },
438
+ {
439
+ anonymous: false,
440
+ inputs: [
441
+ {
442
+ indexed: false,
443
+ internalType: "bool",
444
+ name: "isPaused",
445
+ type: "bool",
446
+ },
447
+ ],
448
+ name: "PausedDeposits",
449
+ type: "event",
450
+ },
451
+ {
452
+ anonymous: false,
453
+ inputs: [
454
+ {
455
+ indexed: false,
456
+ internalType: "bool",
457
+ name: "isPaused",
458
+ type: "bool",
459
+ },
460
+ ],
461
+ name: "PausedFills",
462
+ type: "event",
463
+ },
464
+ {
465
+ anonymous: false,
466
+ inputs: [
467
+ {
468
+ indexed: true,
469
+ internalType: "uint32",
470
+ name: "rootBundleId",
471
+ type: "uint32",
472
+ },
473
+ {
474
+ indexed: true,
475
+ internalType: "bytes32",
476
+ name: "relayerRefundRoot",
477
+ type: "bytes32",
478
+ },
479
+ {
480
+ indexed: true,
481
+ internalType: "bytes32",
482
+ name: "slowRelayRoot",
483
+ type: "bytes32",
484
+ },
485
+ ],
486
+ name: "RelayedRootBundle",
487
+ type: "event",
488
+ },
489
+ {
490
+ anonymous: false,
491
+ inputs: [
492
+ {
493
+ indexed: false,
494
+ internalType: "uint256",
495
+ name: "updatedOutputAmount",
496
+ type: "uint256",
497
+ },
498
+ {
499
+ indexed: true,
500
+ internalType: "uint32",
501
+ name: "depositId",
502
+ type: "uint32",
503
+ },
504
+ {
505
+ indexed: true,
506
+ internalType: "address",
507
+ name: "depositor",
508
+ type: "address",
509
+ },
510
+ {
511
+ indexed: false,
512
+ internalType: "address",
513
+ name: "updatedRecipient",
514
+ type: "address",
515
+ },
516
+ {
517
+ indexed: false,
518
+ internalType: "bytes",
519
+ name: "updatedMessage",
520
+ type: "bytes",
521
+ },
522
+ {
523
+ indexed: false,
524
+ internalType: "bytes",
525
+ name: "depositorSignature",
526
+ type: "bytes",
527
+ },
528
+ ],
529
+ name: "RequestedSpeedUpV3Deposit",
530
+ type: "event",
531
+ },
532
+ {
533
+ anonymous: false,
534
+ inputs: [
535
+ {
536
+ indexed: false,
537
+ internalType: "address",
538
+ name: "inputToken",
539
+ type: "address",
540
+ },
541
+ {
542
+ indexed: false,
543
+ internalType: "address",
544
+ name: "outputToken",
545
+ type: "address",
546
+ },
547
+ {
548
+ indexed: false,
549
+ internalType: "uint256",
550
+ name: "inputAmount",
551
+ type: "uint256",
552
+ },
553
+ {
554
+ indexed: false,
555
+ internalType: "uint256",
556
+ name: "outputAmount",
557
+ type: "uint256",
558
+ },
559
+ {
560
+ indexed: true,
561
+ internalType: "uint256",
562
+ name: "originChainId",
563
+ type: "uint256",
564
+ },
565
+ {
566
+ indexed: true,
567
+ internalType: "uint32",
568
+ name: "depositId",
569
+ type: "uint32",
570
+ },
571
+ {
572
+ indexed: false,
573
+ internalType: "uint32",
574
+ name: "fillDeadline",
575
+ type: "uint32",
576
+ },
577
+ {
578
+ indexed: false,
579
+ internalType: "uint32",
580
+ name: "exclusivityDeadline",
581
+ type: "uint32",
582
+ },
583
+ {
584
+ indexed: false,
585
+ internalType: "address",
586
+ name: "exclusiveRelayer",
587
+ type: "address",
588
+ },
589
+ {
590
+ indexed: false,
591
+ internalType: "address",
592
+ name: "depositor",
593
+ type: "address",
594
+ },
595
+ {
596
+ indexed: false,
597
+ internalType: "address",
598
+ name: "recipient",
599
+ type: "address",
600
+ },
601
+ {
602
+ indexed: false,
603
+ internalType: "bytes",
604
+ name: "message",
605
+ type: "bytes",
606
+ },
607
+ ],
608
+ name: "RequestedV3SlowFill",
609
+ type: "event",
610
+ },
611
+ {
612
+ anonymous: false,
613
+ inputs: [
614
+ {
615
+ indexed: true,
616
+ internalType: "uint32",
617
+ name: "newL1Gas",
618
+ type: "uint32",
619
+ },
620
+ ],
621
+ name: "SetL1Gas",
622
+ type: "event",
623
+ },
624
+ {
625
+ anonymous: false,
626
+ inputs: [
627
+ {
628
+ indexed: true,
629
+ internalType: "address",
630
+ name: "l2Token",
631
+ type: "address",
632
+ },
633
+ {
634
+ indexed: true,
635
+ internalType: "address",
636
+ name: "tokenBridge",
637
+ type: "address",
638
+ },
639
+ ],
640
+ name: "SetL2TokenBridge",
641
+ type: "event",
642
+ },
643
+ {
644
+ anonymous: false,
645
+ inputs: [
646
+ {
647
+ indexed: true,
648
+ internalType: "address",
649
+ name: "l2Token",
650
+ type: "address",
651
+ },
652
+ {
653
+ indexed: true,
654
+ internalType: "address",
655
+ name: "l1Token",
656
+ type: "address",
657
+ },
658
+ ],
659
+ name: "SetRemoteL1Token",
660
+ type: "event",
661
+ },
662
+ {
663
+ anonymous: false,
664
+ inputs: [
665
+ {
666
+ indexed: true,
667
+ internalType: "address",
668
+ name: "newWithdrawalRecipient",
669
+ type: "address",
670
+ },
671
+ ],
672
+ name: "SetWithdrawalRecipient",
673
+ type: "event",
674
+ },
675
+ {
676
+ anonymous: false,
677
+ inputs: [
678
+ {
679
+ indexed: true,
680
+ internalType: "address",
681
+ name: "newAdmin",
682
+ type: "address",
683
+ },
684
+ ],
685
+ name: "SetXDomainAdmin",
686
+ type: "event",
687
+ },
688
+ {
689
+ anonymous: false,
690
+ inputs: [
691
+ {
692
+ indexed: false,
693
+ internalType: "uint256",
694
+ name: "amountToReturn",
695
+ type: "uint256",
696
+ },
697
+ {
698
+ indexed: true,
699
+ internalType: "uint256",
700
+ name: "chainId",
701
+ type: "uint256",
702
+ },
703
+ {
704
+ indexed: true,
705
+ internalType: "uint32",
706
+ name: "leafId",
707
+ type: "uint32",
708
+ },
709
+ {
710
+ indexed: true,
711
+ internalType: "address",
712
+ name: "l2TokenAddress",
713
+ type: "address",
714
+ },
715
+ {
716
+ indexed: false,
717
+ internalType: "address",
718
+ name: "caller",
719
+ type: "address",
720
+ },
721
+ ],
722
+ name: "TokensBridged",
723
+ type: "event",
724
+ },
725
+ {
726
+ anonymous: false,
727
+ inputs: [
728
+ {
729
+ indexed: true,
730
+ internalType: "address",
731
+ name: "implementation",
732
+ type: "address",
733
+ },
734
+ ],
735
+ name: "Upgraded",
736
+ type: "event",
737
+ },
738
+ {
739
+ anonymous: false,
740
+ inputs: [
741
+ {
742
+ indexed: false,
743
+ internalType: "address",
744
+ name: "inputToken",
745
+ type: "address",
746
+ },
747
+ {
748
+ indexed: false,
749
+ internalType: "address",
750
+ name: "outputToken",
751
+ type: "address",
752
+ },
753
+ {
754
+ indexed: false,
755
+ internalType: "uint256",
756
+ name: "inputAmount",
757
+ type: "uint256",
758
+ },
759
+ {
760
+ indexed: false,
761
+ internalType: "uint256",
762
+ name: "outputAmount",
763
+ type: "uint256",
764
+ },
765
+ {
766
+ indexed: true,
767
+ internalType: "uint256",
768
+ name: "destinationChainId",
769
+ type: "uint256",
770
+ },
771
+ {
772
+ indexed: true,
773
+ internalType: "uint32",
774
+ name: "depositId",
775
+ type: "uint32",
776
+ },
777
+ {
778
+ indexed: false,
779
+ internalType: "uint32",
780
+ name: "quoteTimestamp",
781
+ type: "uint32",
782
+ },
783
+ {
784
+ indexed: false,
785
+ internalType: "uint32",
786
+ name: "fillDeadline",
787
+ type: "uint32",
788
+ },
789
+ {
790
+ indexed: false,
791
+ internalType: "uint32",
792
+ name: "exclusivityDeadline",
793
+ type: "uint32",
794
+ },
795
+ {
796
+ indexed: true,
797
+ internalType: "address",
798
+ name: "depositor",
799
+ type: "address",
800
+ },
801
+ {
802
+ indexed: false,
803
+ internalType: "address",
804
+ name: "recipient",
805
+ type: "address",
806
+ },
807
+ {
808
+ indexed: false,
809
+ internalType: "address",
810
+ name: "exclusiveRelayer",
811
+ type: "address",
812
+ },
813
+ {
814
+ indexed: false,
815
+ internalType: "bytes",
816
+ name: "message",
817
+ type: "bytes",
818
+ },
819
+ ],
820
+ name: "V3FundsDeposited",
821
+ type: "event",
822
+ },
823
+ {
824
+ inputs: [],
825
+ name: "EMPTY_RELAYER",
826
+ outputs: [
827
+ {
828
+ internalType: "address",
829
+ name: "",
830
+ type: "address",
831
+ },
832
+ ],
833
+ stateMutability: "view",
834
+ type: "function",
835
+ },
836
+ {
837
+ inputs: [],
838
+ name: "EMPTY_REPAYMENT_CHAIN_ID",
839
+ outputs: [
840
+ {
841
+ internalType: "uint256",
842
+ name: "",
843
+ type: "uint256",
844
+ },
845
+ ],
846
+ stateMutability: "view",
847
+ type: "function",
848
+ },
849
+ {
850
+ inputs: [],
851
+ name: "INFINITE_FILL_DEADLINE",
852
+ outputs: [
853
+ {
854
+ internalType: "uint32",
855
+ name: "",
856
+ type: "uint32",
857
+ },
858
+ ],
859
+ stateMutability: "view",
860
+ type: "function",
861
+ },
862
+ {
863
+ inputs: [],
864
+ name: "MAX_EXCLUSIVITY_PERIOD_SECONDS",
865
+ outputs: [
866
+ {
867
+ internalType: "uint32",
868
+ name: "",
869
+ type: "uint32",
870
+ },
871
+ ],
872
+ stateMutability: "view",
873
+ type: "function",
874
+ },
875
+ {
876
+ inputs: [],
877
+ name: "MAX_TRANSFER_SIZE",
878
+ outputs: [
879
+ {
880
+ internalType: "uint256",
881
+ name: "",
882
+ type: "uint256",
883
+ },
884
+ ],
885
+ stateMutability: "view",
886
+ type: "function",
887
+ },
888
+ {
889
+ inputs: [],
890
+ name: "MESSENGER",
891
+ outputs: [
892
+ {
893
+ internalType: "address",
894
+ name: "",
895
+ type: "address",
896
+ },
897
+ ],
898
+ stateMutability: "view",
899
+ type: "function",
900
+ },
901
+ {
902
+ inputs: [],
903
+ name: "UPDATE_V3_DEPOSIT_DETAILS_HASH",
904
+ outputs: [
905
+ {
906
+ internalType: "bytes32",
907
+ name: "",
908
+ type: "bytes32",
909
+ },
910
+ ],
911
+ stateMutability: "view",
912
+ type: "function",
913
+ },
914
+ {
915
+ inputs: [
916
+ {
917
+ internalType: "uint32",
918
+ name: "_initialDepositId",
919
+ type: "uint32",
920
+ },
921
+ {
922
+ internalType: "address",
923
+ name: "_crossDomainAdmin",
924
+ type: "address",
925
+ },
926
+ {
927
+ internalType: "address",
928
+ name: "_withdrawalRecipient",
929
+ type: "address",
930
+ },
931
+ {
932
+ internalType: "address",
933
+ name: "_l2Eth",
934
+ type: "address",
935
+ },
936
+ ],
937
+ name: "__OvmSpokePool_init",
938
+ outputs: [],
939
+ stateMutability: "nonpayable",
940
+ type: "function",
941
+ },
942
+ {
943
+ inputs: [
944
+ {
945
+ internalType: "uint32",
946
+ name: "_initialDepositId",
947
+ type: "uint32",
948
+ },
949
+ {
950
+ internalType: "address",
951
+ name: "_crossDomainAdmin",
952
+ type: "address",
953
+ },
954
+ {
955
+ internalType: "address",
956
+ name: "_withdrawalRecipient",
957
+ type: "address",
958
+ },
959
+ ],
960
+ name: "__SpokePool_init",
961
+ outputs: [],
962
+ stateMutability: "nonpayable",
963
+ type: "function",
964
+ },
965
+ {
966
+ inputs: [],
967
+ name: "cctpTokenMessenger",
968
+ outputs: [
969
+ {
970
+ internalType: "contract ITokenMessenger",
971
+ name: "",
972
+ type: "address",
973
+ },
974
+ ],
975
+ stateMutability: "view",
976
+ type: "function",
977
+ },
978
+ {
979
+ inputs: [],
980
+ name: "chainId",
981
+ outputs: [
982
+ {
983
+ internalType: "uint256",
984
+ name: "",
985
+ type: "uint256",
986
+ },
987
+ ],
988
+ stateMutability: "view",
989
+ type: "function",
990
+ },
991
+ {
992
+ inputs: [],
993
+ name: "crossDomainAdmin",
994
+ outputs: [
995
+ {
996
+ internalType: "address",
997
+ name: "",
998
+ type: "address",
999
+ },
1000
+ ],
1001
+ stateMutability: "view",
1002
+ type: "function",
1003
+ },
1004
+ {
1005
+ inputs: [
1006
+ {
1007
+ internalType: "address",
1008
+ name: "recipient",
1009
+ type: "address",
1010
+ },
1011
+ {
1012
+ internalType: "address",
1013
+ name: "originToken",
1014
+ type: "address",
1015
+ },
1016
+ {
1017
+ internalType: "uint256",
1018
+ name: "amount",
1019
+ type: "uint256",
1020
+ },
1021
+ {
1022
+ internalType: "uint256",
1023
+ name: "destinationChainId",
1024
+ type: "uint256",
1025
+ },
1026
+ {
1027
+ internalType: "int64",
1028
+ name: "relayerFeePct",
1029
+ type: "int64",
1030
+ },
1031
+ {
1032
+ internalType: "uint32",
1033
+ name: "quoteTimestamp",
1034
+ type: "uint32",
1035
+ },
1036
+ {
1037
+ internalType: "bytes",
1038
+ name: "message",
1039
+ type: "bytes",
1040
+ },
1041
+ {
1042
+ internalType: "uint256",
1043
+ name: "",
1044
+ type: "uint256",
1045
+ },
1046
+ ],
1047
+ name: "deposit",
1048
+ outputs: [],
1049
+ stateMutability: "payable",
1050
+ type: "function",
1051
+ },
1052
+ {
1053
+ inputs: [
1054
+ {
1055
+ internalType: "address",
1056
+ name: "depositor",
1057
+ type: "address",
1058
+ },
1059
+ {
1060
+ internalType: "address",
1061
+ name: "recipient",
1062
+ type: "address",
1063
+ },
1064
+ {
1065
+ internalType: "address",
1066
+ name: "inputToken",
1067
+ type: "address",
1068
+ },
1069
+ {
1070
+ internalType: "address",
1071
+ name: "outputToken",
1072
+ type: "address",
1073
+ },
1074
+ {
1075
+ internalType: "uint256",
1076
+ name: "inputAmount",
1077
+ type: "uint256",
1078
+ },
1079
+ {
1080
+ internalType: "uint256",
1081
+ name: "outputAmount",
1082
+ type: "uint256",
1083
+ },
1084
+ {
1085
+ internalType: "uint256",
1086
+ name: "destinationChainId",
1087
+ type: "uint256",
1088
+ },
1089
+ {
1090
+ internalType: "address",
1091
+ name: "exclusiveRelayer",
1092
+ type: "address",
1093
+ },
1094
+ {
1095
+ internalType: "uint32",
1096
+ name: "quoteTimestamp",
1097
+ type: "uint32",
1098
+ },
1099
+ {
1100
+ internalType: "uint32",
1101
+ name: "fillDeadline",
1102
+ type: "uint32",
1103
+ },
1104
+ {
1105
+ internalType: "uint32",
1106
+ name: "exclusivityPeriod",
1107
+ type: "uint32",
1108
+ },
1109
+ {
1110
+ internalType: "bytes",
1111
+ name: "message",
1112
+ type: "bytes",
1113
+ },
1114
+ ],
1115
+ name: "depositExclusive",
1116
+ outputs: [],
1117
+ stateMutability: "payable",
1118
+ type: "function",
1119
+ },
1120
+ {
1121
+ inputs: [
1122
+ {
1123
+ internalType: "address",
1124
+ name: "depositor",
1125
+ type: "address",
1126
+ },
1127
+ {
1128
+ internalType: "address",
1129
+ name: "recipient",
1130
+ type: "address",
1131
+ },
1132
+ {
1133
+ internalType: "address",
1134
+ name: "originToken",
1135
+ type: "address",
1136
+ },
1137
+ {
1138
+ internalType: "uint256",
1139
+ name: "amount",
1140
+ type: "uint256",
1141
+ },
1142
+ {
1143
+ internalType: "uint256",
1144
+ name: "destinationChainId",
1145
+ type: "uint256",
1146
+ },
1147
+ {
1148
+ internalType: "int64",
1149
+ name: "relayerFeePct",
1150
+ type: "int64",
1151
+ },
1152
+ {
1153
+ internalType: "uint32",
1154
+ name: "quoteTimestamp",
1155
+ type: "uint32",
1156
+ },
1157
+ {
1158
+ internalType: "bytes",
1159
+ name: "message",
1160
+ type: "bytes",
1161
+ },
1162
+ {
1163
+ internalType: "uint256",
1164
+ name: "",
1165
+ type: "uint256",
1166
+ },
1167
+ ],
1168
+ name: "depositFor",
1169
+ outputs: [],
1170
+ stateMutability: "payable",
1171
+ type: "function",
1172
+ },
1173
+ {
1174
+ inputs: [],
1175
+ name: "depositQuoteTimeBuffer",
1176
+ outputs: [
1177
+ {
1178
+ internalType: "uint32",
1179
+ name: "",
1180
+ type: "uint32",
1181
+ },
1182
+ ],
1183
+ stateMutability: "view",
1184
+ type: "function",
1185
+ },
1186
+ {
1187
+ inputs: [
1188
+ {
1189
+ internalType: "address",
1190
+ name: "depositor",
1191
+ type: "address",
1192
+ },
1193
+ {
1194
+ internalType: "address",
1195
+ name: "recipient",
1196
+ type: "address",
1197
+ },
1198
+ {
1199
+ internalType: "address",
1200
+ name: "inputToken",
1201
+ type: "address",
1202
+ },
1203
+ {
1204
+ internalType: "address",
1205
+ name: "outputToken",
1206
+ type: "address",
1207
+ },
1208
+ {
1209
+ internalType: "uint256",
1210
+ name: "inputAmount",
1211
+ type: "uint256",
1212
+ },
1213
+ {
1214
+ internalType: "uint256",
1215
+ name: "outputAmount",
1216
+ type: "uint256",
1217
+ },
1218
+ {
1219
+ internalType: "uint256",
1220
+ name: "destinationChainId",
1221
+ type: "uint256",
1222
+ },
1223
+ {
1224
+ internalType: "address",
1225
+ name: "exclusiveRelayer",
1226
+ type: "address",
1227
+ },
1228
+ {
1229
+ internalType: "uint32",
1230
+ name: "quoteTimestamp",
1231
+ type: "uint32",
1232
+ },
1233
+ {
1234
+ internalType: "uint32",
1235
+ name: "fillDeadline",
1236
+ type: "uint32",
1237
+ },
1238
+ {
1239
+ internalType: "uint32",
1240
+ name: "exclusivityParameter",
1241
+ type: "uint32",
1242
+ },
1243
+ {
1244
+ internalType: "bytes",
1245
+ name: "message",
1246
+ type: "bytes",
1247
+ },
1248
+ ],
1249
+ name: "depositV3",
1250
+ outputs: [],
1251
+ stateMutability: "payable",
1252
+ type: "function",
1253
+ },
1254
+ {
1255
+ inputs: [
1256
+ {
1257
+ internalType: "address",
1258
+ name: "depositor",
1259
+ type: "address",
1260
+ },
1261
+ {
1262
+ internalType: "address",
1263
+ name: "recipient",
1264
+ type: "address",
1265
+ },
1266
+ {
1267
+ internalType: "address",
1268
+ name: "inputToken",
1269
+ type: "address",
1270
+ },
1271
+ {
1272
+ internalType: "address",
1273
+ name: "outputToken",
1274
+ type: "address",
1275
+ },
1276
+ {
1277
+ internalType: "uint256",
1278
+ name: "inputAmount",
1279
+ type: "uint256",
1280
+ },
1281
+ {
1282
+ internalType: "uint256",
1283
+ name: "outputAmount",
1284
+ type: "uint256",
1285
+ },
1286
+ {
1287
+ internalType: "uint256",
1288
+ name: "destinationChainId",
1289
+ type: "uint256",
1290
+ },
1291
+ {
1292
+ internalType: "address",
1293
+ name: "exclusiveRelayer",
1294
+ type: "address",
1295
+ },
1296
+ {
1297
+ internalType: "uint32",
1298
+ name: "fillDeadlineOffset",
1299
+ type: "uint32",
1300
+ },
1301
+ {
1302
+ internalType: "uint32",
1303
+ name: "exclusivityPeriod",
1304
+ type: "uint32",
1305
+ },
1306
+ {
1307
+ internalType: "bytes",
1308
+ name: "message",
1309
+ type: "bytes",
1310
+ },
1311
+ ],
1312
+ name: "depositV3Now",
1313
+ outputs: [],
1314
+ stateMutability: "payable",
1315
+ type: "function",
1316
+ },
1317
+ {
1318
+ inputs: [
1319
+ {
1320
+ internalType: "uint256",
1321
+ name: "rootBundleId",
1322
+ type: "uint256",
1323
+ },
1324
+ ],
1325
+ name: "emergencyDeleteRootBundle",
1326
+ outputs: [],
1327
+ stateMutability: "nonpayable",
1328
+ type: "function",
1329
+ },
1330
+ {
1331
+ inputs: [
1332
+ {
1333
+ internalType: "address",
1334
+ name: "",
1335
+ type: "address",
1336
+ },
1337
+ {
1338
+ internalType: "uint256",
1339
+ name: "",
1340
+ type: "uint256",
1341
+ },
1342
+ ],
1343
+ name: "enabledDepositRoutes",
1344
+ outputs: [
1345
+ {
1346
+ internalType: "bool",
1347
+ name: "",
1348
+ type: "bool",
1349
+ },
1350
+ ],
1351
+ stateMutability: "view",
1352
+ type: "function",
1353
+ },
1354
+ {
1355
+ inputs: [
1356
+ {
1357
+ internalType: "uint32",
1358
+ name: "rootBundleId",
1359
+ type: "uint32",
1360
+ },
1361
+ {
1362
+ components: [
1363
+ {
1364
+ internalType: "uint256",
1365
+ name: "amountToReturn",
1366
+ type: "uint256",
1367
+ },
1368
+ {
1369
+ internalType: "uint256",
1370
+ name: "chainId",
1371
+ type: "uint256",
1372
+ },
1373
+ {
1374
+ internalType: "uint256[]",
1375
+ name: "refundAmounts",
1376
+ type: "uint256[]",
1377
+ },
1378
+ {
1379
+ internalType: "uint32",
1380
+ name: "leafId",
1381
+ type: "uint32",
1382
+ },
1383
+ {
1384
+ internalType: "address",
1385
+ name: "l2TokenAddress",
1386
+ type: "address",
1387
+ },
1388
+ {
1389
+ internalType: "address[]",
1390
+ name: "refundAddresses",
1391
+ type: "address[]",
1392
+ },
1393
+ ],
1394
+ internalType: "struct SpokePoolInterface.RelayerRefundLeaf",
1395
+ name: "relayerRefundLeaf",
1396
+ type: "tuple",
1397
+ },
1398
+ {
1399
+ internalType: "bytes32[]",
1400
+ name: "proof",
1401
+ type: "bytes32[]",
1402
+ },
1403
+ ],
1404
+ name: "executeRelayerRefundLeaf",
1405
+ outputs: [],
1406
+ stateMutability: "payable",
1407
+ type: "function",
1408
+ },
1409
+ {
1410
+ inputs: [
1411
+ {
1412
+ components: [
1413
+ {
1414
+ components: [
1415
+ {
1416
+ internalType: "address",
1417
+ name: "depositor",
1418
+ type: "address",
1419
+ },
1420
+ {
1421
+ internalType: "address",
1422
+ name: "recipient",
1423
+ type: "address",
1424
+ },
1425
+ {
1426
+ internalType: "address",
1427
+ name: "exclusiveRelayer",
1428
+ type: "address",
1429
+ },
1430
+ {
1431
+ internalType: "address",
1432
+ name: "inputToken",
1433
+ type: "address",
1434
+ },
1435
+ {
1436
+ internalType: "address",
1437
+ name: "outputToken",
1438
+ type: "address",
1439
+ },
1440
+ {
1441
+ internalType: "uint256",
1442
+ name: "inputAmount",
1443
+ type: "uint256",
1444
+ },
1445
+ {
1446
+ internalType: "uint256",
1447
+ name: "outputAmount",
1448
+ type: "uint256",
1449
+ },
1450
+ {
1451
+ internalType: "uint256",
1452
+ name: "originChainId",
1453
+ type: "uint256",
1454
+ },
1455
+ {
1456
+ internalType: "uint32",
1457
+ name: "depositId",
1458
+ type: "uint32",
1459
+ },
1460
+ {
1461
+ internalType: "uint32",
1462
+ name: "fillDeadline",
1463
+ type: "uint32",
1464
+ },
1465
+ {
1466
+ internalType: "uint32",
1467
+ name: "exclusivityDeadline",
1468
+ type: "uint32",
1469
+ },
1470
+ {
1471
+ internalType: "bytes",
1472
+ name: "message",
1473
+ type: "bytes",
1474
+ },
1475
+ ],
1476
+ internalType: "struct V3SpokePoolInterface.V3RelayData",
1477
+ name: "relayData",
1478
+ type: "tuple",
1479
+ },
1480
+ {
1481
+ internalType: "uint256",
1482
+ name: "chainId",
1483
+ type: "uint256",
1484
+ },
1485
+ {
1486
+ internalType: "uint256",
1487
+ name: "updatedOutputAmount",
1488
+ type: "uint256",
1489
+ },
1490
+ ],
1491
+ internalType: "struct V3SpokePoolInterface.V3SlowFill",
1492
+ name: "slowFillLeaf",
1493
+ type: "tuple",
1494
+ },
1495
+ {
1496
+ internalType: "uint32",
1497
+ name: "rootBundleId",
1498
+ type: "uint32",
1499
+ },
1500
+ {
1501
+ internalType: "bytes32[]",
1502
+ name: "proof",
1503
+ type: "bytes32[]",
1504
+ },
1505
+ ],
1506
+ name: "executeV3SlowRelayLeaf",
1507
+ outputs: [],
1508
+ stateMutability: "nonpayable",
1509
+ type: "function",
1510
+ },
1511
+ {
1512
+ inputs: [
1513
+ {
1514
+ internalType: "bytes32",
1515
+ name: "orderId",
1516
+ type: "bytes32",
1517
+ },
1518
+ {
1519
+ internalType: "bytes",
1520
+ name: "originData",
1521
+ type: "bytes",
1522
+ },
1523
+ {
1524
+ internalType: "bytes",
1525
+ name: "fillerData",
1526
+ type: "bytes",
1527
+ },
1528
+ ],
1529
+ name: "fill",
1530
+ outputs: [],
1531
+ stateMutability: "nonpayable",
1532
+ type: "function",
1533
+ },
1534
+ {
1535
+ inputs: [],
1536
+ name: "fillDeadlineBuffer",
1537
+ outputs: [
1538
+ {
1539
+ internalType: "uint32",
1540
+ name: "",
1541
+ type: "uint32",
1542
+ },
1543
+ ],
1544
+ stateMutability: "view",
1545
+ type: "function",
1546
+ },
1547
+ {
1548
+ inputs: [
1549
+ {
1550
+ internalType: "bytes32",
1551
+ name: "",
1552
+ type: "bytes32",
1553
+ },
1554
+ ],
1555
+ name: "fillStatuses",
1556
+ outputs: [
1557
+ {
1558
+ internalType: "uint256",
1559
+ name: "",
1560
+ type: "uint256",
1561
+ },
1562
+ ],
1563
+ stateMutability: "view",
1564
+ type: "function",
1565
+ },
1566
+ {
1567
+ inputs: [
1568
+ {
1569
+ components: [
1570
+ {
1571
+ internalType: "address",
1572
+ name: "depositor",
1573
+ type: "address",
1574
+ },
1575
+ {
1576
+ internalType: "address",
1577
+ name: "recipient",
1578
+ type: "address",
1579
+ },
1580
+ {
1581
+ internalType: "address",
1582
+ name: "exclusiveRelayer",
1583
+ type: "address",
1584
+ },
1585
+ {
1586
+ internalType: "address",
1587
+ name: "inputToken",
1588
+ type: "address",
1589
+ },
1590
+ {
1591
+ internalType: "address",
1592
+ name: "outputToken",
1593
+ type: "address",
1594
+ },
1595
+ {
1596
+ internalType: "uint256",
1597
+ name: "inputAmount",
1598
+ type: "uint256",
1599
+ },
1600
+ {
1601
+ internalType: "uint256",
1602
+ name: "outputAmount",
1603
+ type: "uint256",
1604
+ },
1605
+ {
1606
+ internalType: "uint256",
1607
+ name: "originChainId",
1608
+ type: "uint256",
1609
+ },
1610
+ {
1611
+ internalType: "uint32",
1612
+ name: "depositId",
1613
+ type: "uint32",
1614
+ },
1615
+ {
1616
+ internalType: "uint32",
1617
+ name: "fillDeadline",
1618
+ type: "uint32",
1619
+ },
1620
+ {
1621
+ internalType: "uint32",
1622
+ name: "exclusivityDeadline",
1623
+ type: "uint32",
1624
+ },
1625
+ {
1626
+ internalType: "bytes",
1627
+ name: "message",
1628
+ type: "bytes",
1629
+ },
1630
+ ],
1631
+ internalType: "struct V3SpokePoolInterface.V3RelayData",
1632
+ name: "relayData",
1633
+ type: "tuple",
1634
+ },
1635
+ {
1636
+ internalType: "uint256",
1637
+ name: "repaymentChainId",
1638
+ type: "uint256",
1639
+ },
1640
+ ],
1641
+ name: "fillV3Relay",
1642
+ outputs: [],
1643
+ stateMutability: "nonpayable",
1644
+ type: "function",
1645
+ },
1646
+ {
1647
+ inputs: [
1648
+ {
1649
+ components: [
1650
+ {
1651
+ internalType: "address",
1652
+ name: "depositor",
1653
+ type: "address",
1654
+ },
1655
+ {
1656
+ internalType: "address",
1657
+ name: "recipient",
1658
+ type: "address",
1659
+ },
1660
+ {
1661
+ internalType: "address",
1662
+ name: "exclusiveRelayer",
1663
+ type: "address",
1664
+ },
1665
+ {
1666
+ internalType: "address",
1667
+ name: "inputToken",
1668
+ type: "address",
1669
+ },
1670
+ {
1671
+ internalType: "address",
1672
+ name: "outputToken",
1673
+ type: "address",
1674
+ },
1675
+ {
1676
+ internalType: "uint256",
1677
+ name: "inputAmount",
1678
+ type: "uint256",
1679
+ },
1680
+ {
1681
+ internalType: "uint256",
1682
+ name: "outputAmount",
1683
+ type: "uint256",
1684
+ },
1685
+ {
1686
+ internalType: "uint256",
1687
+ name: "originChainId",
1688
+ type: "uint256",
1689
+ },
1690
+ {
1691
+ internalType: "uint32",
1692
+ name: "depositId",
1693
+ type: "uint32",
1694
+ },
1695
+ {
1696
+ internalType: "uint32",
1697
+ name: "fillDeadline",
1698
+ type: "uint32",
1699
+ },
1700
+ {
1701
+ internalType: "uint32",
1702
+ name: "exclusivityDeadline",
1703
+ type: "uint32",
1704
+ },
1705
+ {
1706
+ internalType: "bytes",
1707
+ name: "message",
1708
+ type: "bytes",
1709
+ },
1710
+ ],
1711
+ internalType: "struct V3SpokePoolInterface.V3RelayData",
1712
+ name: "relayData",
1713
+ type: "tuple",
1714
+ },
1715
+ {
1716
+ internalType: "uint256",
1717
+ name: "repaymentChainId",
1718
+ type: "uint256",
1719
+ },
1720
+ {
1721
+ internalType: "uint256",
1722
+ name: "updatedOutputAmount",
1723
+ type: "uint256",
1724
+ },
1725
+ {
1726
+ internalType: "address",
1727
+ name: "updatedRecipient",
1728
+ type: "address",
1729
+ },
1730
+ {
1731
+ internalType: "bytes",
1732
+ name: "updatedMessage",
1733
+ type: "bytes",
1734
+ },
1735
+ {
1736
+ internalType: "bytes",
1737
+ name: "depositorSignature",
1738
+ type: "bytes",
1739
+ },
1740
+ ],
1741
+ name: "fillV3RelayWithUpdatedDeposit",
1742
+ outputs: [],
1743
+ stateMutability: "nonpayable",
1744
+ type: "function",
1745
+ },
1746
+ {
1747
+ inputs: [],
1748
+ name: "getCurrentTime",
1749
+ outputs: [
1750
+ {
1751
+ internalType: "uint256",
1752
+ name: "",
1753
+ type: "uint256",
1754
+ },
1755
+ ],
1756
+ stateMutability: "view",
1757
+ type: "function",
1758
+ },
1759
+ {
1760
+ inputs: [
1761
+ {
1762
+ internalType: "uint32",
1763
+ name: "_initialDepositId",
1764
+ type: "uint32",
1765
+ },
1766
+ {
1767
+ internalType: "address",
1768
+ name: "_crossDomainAdmin",
1769
+ type: "address",
1770
+ },
1771
+ {
1772
+ internalType: "address",
1773
+ name: "_withdrawalRecipient",
1774
+ type: "address",
1775
+ },
1776
+ ],
1777
+ name: "initialize",
1778
+ outputs: [],
1779
+ stateMutability: "nonpayable",
1780
+ type: "function",
1781
+ },
1782
+ {
1783
+ inputs: [],
1784
+ name: "l1Gas",
1785
+ outputs: [
1786
+ {
1787
+ internalType: "uint32",
1788
+ name: "",
1789
+ type: "uint32",
1790
+ },
1791
+ ],
1792
+ stateMutability: "view",
1793
+ type: "function",
1794
+ },
1795
+ {
1796
+ inputs: [],
1797
+ name: "l2Eth",
1798
+ outputs: [
1799
+ {
1800
+ internalType: "address",
1801
+ name: "",
1802
+ type: "address",
1803
+ },
1804
+ ],
1805
+ stateMutability: "view",
1806
+ type: "function",
1807
+ },
1808
+ {
1809
+ inputs: [
1810
+ {
1811
+ internalType: "bytes[]",
1812
+ name: "data",
1813
+ type: "bytes[]",
1814
+ },
1815
+ ],
1816
+ name: "multicall",
1817
+ outputs: [
1818
+ {
1819
+ internalType: "bytes[]",
1820
+ name: "results",
1821
+ type: "bytes[]",
1822
+ },
1823
+ ],
1824
+ stateMutability: "nonpayable",
1825
+ type: "function",
1826
+ },
1827
+ {
1828
+ inputs: [],
1829
+ name: "numberOfDeposits",
1830
+ outputs: [
1831
+ {
1832
+ internalType: "uint32",
1833
+ name: "",
1834
+ type: "uint32",
1835
+ },
1836
+ ],
1837
+ stateMutability: "view",
1838
+ type: "function",
1839
+ },
1840
+ {
1841
+ inputs: [
1842
+ {
1843
+ internalType: "bool",
1844
+ name: "pause",
1845
+ type: "bool",
1846
+ },
1847
+ ],
1848
+ name: "pauseDeposits",
1849
+ outputs: [],
1850
+ stateMutability: "nonpayable",
1851
+ type: "function",
1852
+ },
1853
+ {
1854
+ inputs: [
1855
+ {
1856
+ internalType: "bool",
1857
+ name: "pause",
1858
+ type: "bool",
1859
+ },
1860
+ ],
1861
+ name: "pauseFills",
1862
+ outputs: [],
1863
+ stateMutability: "nonpayable",
1864
+ type: "function",
1865
+ },
1866
+ {
1867
+ inputs: [],
1868
+ name: "pausedDeposits",
1869
+ outputs: [
1870
+ {
1871
+ internalType: "bool",
1872
+ name: "",
1873
+ type: "bool",
1874
+ },
1875
+ ],
1876
+ stateMutability: "view",
1877
+ type: "function",
1878
+ },
1879
+ {
1880
+ inputs: [],
1881
+ name: "pausedFills",
1882
+ outputs: [
1883
+ {
1884
+ internalType: "bool",
1885
+ name: "",
1886
+ type: "bool",
1887
+ },
1888
+ ],
1889
+ stateMutability: "view",
1890
+ type: "function",
1891
+ },
1892
+ {
1893
+ inputs: [],
1894
+ name: "proxiableUUID",
1895
+ outputs: [
1896
+ {
1897
+ internalType: "bytes32",
1898
+ name: "",
1899
+ type: "bytes32",
1900
+ },
1901
+ ],
1902
+ stateMutability: "view",
1903
+ type: "function",
1904
+ },
1905
+ {
1906
+ inputs: [],
1907
+ name: "recipientCircleDomainId",
1908
+ outputs: [
1909
+ {
1910
+ internalType: "uint32",
1911
+ name: "",
1912
+ type: "uint32",
1913
+ },
1914
+ ],
1915
+ stateMutability: "view",
1916
+ type: "function",
1917
+ },
1918
+ {
1919
+ inputs: [
1920
+ {
1921
+ internalType: "bytes32",
1922
+ name: "relayerRefundRoot",
1923
+ type: "bytes32",
1924
+ },
1925
+ {
1926
+ internalType: "bytes32",
1927
+ name: "slowRelayRoot",
1928
+ type: "bytes32",
1929
+ },
1930
+ ],
1931
+ name: "relayRootBundle",
1932
+ outputs: [],
1933
+ stateMutability: "nonpayable",
1934
+ type: "function",
1935
+ },
1936
+ {
1937
+ inputs: [
1938
+ {
1939
+ internalType: "address",
1940
+ name: "",
1941
+ type: "address",
1942
+ },
1943
+ ],
1944
+ name: "remoteL1Tokens",
1945
+ outputs: [
1946
+ {
1947
+ internalType: "address",
1948
+ name: "",
1949
+ type: "address",
1950
+ },
1951
+ ],
1952
+ stateMutability: "view",
1953
+ type: "function",
1954
+ },
1955
+ {
1956
+ inputs: [
1957
+ {
1958
+ components: [
1959
+ {
1960
+ internalType: "address",
1961
+ name: "depositor",
1962
+ type: "address",
1963
+ },
1964
+ {
1965
+ internalType: "address",
1966
+ name: "recipient",
1967
+ type: "address",
1968
+ },
1969
+ {
1970
+ internalType: "address",
1971
+ name: "exclusiveRelayer",
1972
+ type: "address",
1973
+ },
1974
+ {
1975
+ internalType: "address",
1976
+ name: "inputToken",
1977
+ type: "address",
1978
+ },
1979
+ {
1980
+ internalType: "address",
1981
+ name: "outputToken",
1982
+ type: "address",
1983
+ },
1984
+ {
1985
+ internalType: "uint256",
1986
+ name: "inputAmount",
1987
+ type: "uint256",
1988
+ },
1989
+ {
1990
+ internalType: "uint256",
1991
+ name: "outputAmount",
1992
+ type: "uint256",
1993
+ },
1994
+ {
1995
+ internalType: "uint256",
1996
+ name: "originChainId",
1997
+ type: "uint256",
1998
+ },
1999
+ {
2000
+ internalType: "uint32",
2001
+ name: "depositId",
2002
+ type: "uint32",
2003
+ },
2004
+ {
2005
+ internalType: "uint32",
2006
+ name: "fillDeadline",
2007
+ type: "uint32",
2008
+ },
2009
+ {
2010
+ internalType: "uint32",
2011
+ name: "exclusivityDeadline",
2012
+ type: "uint32",
2013
+ },
2014
+ {
2015
+ internalType: "bytes",
2016
+ name: "message",
2017
+ type: "bytes",
2018
+ },
2019
+ ],
2020
+ internalType: "struct V3SpokePoolInterface.V3RelayData",
2021
+ name: "relayData",
2022
+ type: "tuple",
2023
+ },
2024
+ ],
2025
+ name: "requestV3SlowFill",
2026
+ outputs: [],
2027
+ stateMutability: "nonpayable",
2028
+ type: "function",
2029
+ },
2030
+ {
2031
+ inputs: [
2032
+ {
2033
+ internalType: "uint256",
2034
+ name: "",
2035
+ type: "uint256",
2036
+ },
2037
+ ],
2038
+ name: "rootBundles",
2039
+ outputs: [
2040
+ {
2041
+ internalType: "bytes32",
2042
+ name: "slowRelayRoot",
2043
+ type: "bytes32",
2044
+ },
2045
+ {
2046
+ internalType: "bytes32",
2047
+ name: "relayerRefundRoot",
2048
+ type: "bytes32",
2049
+ },
2050
+ ],
2051
+ stateMutability: "view",
2052
+ type: "function",
2053
+ },
2054
+ {
2055
+ inputs: [
2056
+ {
2057
+ internalType: "address",
2058
+ name: "newCrossDomainAdmin",
2059
+ type: "address",
2060
+ },
2061
+ ],
2062
+ name: "setCrossDomainAdmin",
2063
+ outputs: [],
2064
+ stateMutability: "nonpayable",
2065
+ type: "function",
2066
+ },
2067
+ {
2068
+ inputs: [
2069
+ {
2070
+ internalType: "address",
2071
+ name: "originToken",
2072
+ type: "address",
2073
+ },
2074
+ {
2075
+ internalType: "uint256",
2076
+ name: "destinationChainId",
2077
+ type: "uint256",
2078
+ },
2079
+ {
2080
+ internalType: "bool",
2081
+ name: "enabled",
2082
+ type: "bool",
2083
+ },
2084
+ ],
2085
+ name: "setEnableRoute",
2086
+ outputs: [],
2087
+ stateMutability: "nonpayable",
2088
+ type: "function",
2089
+ },
2090
+ {
2091
+ inputs: [
2092
+ {
2093
+ internalType: "uint32",
2094
+ name: "newl1Gas",
2095
+ type: "uint32",
2096
+ },
2097
+ ],
2098
+ name: "setL1GasLimit",
2099
+ outputs: [],
2100
+ stateMutability: "nonpayable",
2101
+ type: "function",
2102
+ },
2103
+ {
2104
+ inputs: [
2105
+ {
2106
+ internalType: "address",
2107
+ name: "l2Token",
2108
+ type: "address",
2109
+ },
2110
+ {
2111
+ internalType: "address",
2112
+ name: "l1Token",
2113
+ type: "address",
2114
+ },
2115
+ ],
2116
+ name: "setRemoteL1Token",
2117
+ outputs: [],
2118
+ stateMutability: "nonpayable",
2119
+ type: "function",
2120
+ },
2121
+ {
2122
+ inputs: [
2123
+ {
2124
+ internalType: "address",
2125
+ name: "l2Token",
2126
+ type: "address",
2127
+ },
2128
+ {
2129
+ internalType: "address",
2130
+ name: "tokenBridge",
2131
+ type: "address",
2132
+ },
2133
+ ],
2134
+ name: "setTokenBridge",
2135
+ outputs: [],
2136
+ stateMutability: "nonpayable",
2137
+ type: "function",
2138
+ },
2139
+ {
2140
+ inputs: [
2141
+ {
2142
+ internalType: "address",
2143
+ name: "newWithdrawalRecipient",
2144
+ type: "address",
2145
+ },
2146
+ ],
2147
+ name: "setWithdrawalRecipient",
2148
+ outputs: [],
2149
+ stateMutability: "nonpayable",
2150
+ type: "function",
2151
+ },
2152
+ {
2153
+ inputs: [
2154
+ {
2155
+ internalType: "address",
2156
+ name: "depositor",
2157
+ type: "address",
2158
+ },
2159
+ {
2160
+ internalType: "uint32",
2161
+ name: "depositId",
2162
+ type: "uint32",
2163
+ },
2164
+ {
2165
+ internalType: "uint256",
2166
+ name: "updatedOutputAmount",
2167
+ type: "uint256",
2168
+ },
2169
+ {
2170
+ internalType: "address",
2171
+ name: "updatedRecipient",
2172
+ type: "address",
2173
+ },
2174
+ {
2175
+ internalType: "bytes",
2176
+ name: "updatedMessage",
2177
+ type: "bytes",
2178
+ },
2179
+ {
2180
+ internalType: "bytes",
2181
+ name: "depositorSignature",
2182
+ type: "bytes",
2183
+ },
2184
+ ],
2185
+ name: "speedUpV3Deposit",
2186
+ outputs: [],
2187
+ stateMutability: "nonpayable",
2188
+ type: "function",
2189
+ },
2190
+ {
2191
+ inputs: [
2192
+ {
2193
+ internalType: "address",
2194
+ name: "",
2195
+ type: "address",
2196
+ },
2197
+ ],
2198
+ name: "tokenBridges",
2199
+ outputs: [
2200
+ {
2201
+ internalType: "address",
2202
+ name: "",
2203
+ type: "address",
2204
+ },
2205
+ ],
2206
+ stateMutability: "view",
2207
+ type: "function",
2208
+ },
2209
+ {
2210
+ inputs: [
2211
+ {
2212
+ internalType: "bytes[]",
2213
+ name: "data",
2214
+ type: "bytes[]",
2215
+ },
2216
+ ],
2217
+ name: "tryMulticall",
2218
+ outputs: [
2219
+ {
2220
+ components: [
2221
+ {
2222
+ internalType: "bool",
2223
+ name: "success",
2224
+ type: "bool",
2225
+ },
2226
+ {
2227
+ internalType: "bytes",
2228
+ name: "returnData",
2229
+ type: "bytes",
2230
+ },
2231
+ ],
2232
+ internalType: "struct MultiCallerUpgradeable.Result[]",
2233
+ name: "results",
2234
+ type: "tuple[]",
2235
+ },
2236
+ ],
2237
+ stateMutability: "nonpayable",
2238
+ type: "function",
2239
+ },
2240
+ {
2241
+ inputs: [
2242
+ {
2243
+ internalType: "address",
2244
+ name: "newImplementation",
2245
+ type: "address",
2246
+ },
2247
+ ],
2248
+ name: "upgradeTo",
2249
+ outputs: [],
2250
+ stateMutability: "nonpayable",
2251
+ type: "function",
2252
+ },
2253
+ {
2254
+ inputs: [
2255
+ {
2256
+ internalType: "address",
2257
+ name: "newImplementation",
2258
+ type: "address",
2259
+ },
2260
+ {
2261
+ internalType: "bytes",
2262
+ name: "data",
2263
+ type: "bytes",
2264
+ },
2265
+ ],
2266
+ name: "upgradeToAndCall",
2267
+ outputs: [],
2268
+ stateMutability: "payable",
2269
+ type: "function",
2270
+ },
2271
+ {
2272
+ inputs: [],
2273
+ name: "usdcToken",
2274
+ outputs: [
2275
+ {
2276
+ internalType: "contract IERC20",
2277
+ name: "",
2278
+ type: "address",
2279
+ },
2280
+ ],
2281
+ stateMutability: "view",
2282
+ type: "function",
2283
+ },
2284
+ {
2285
+ inputs: [],
2286
+ name: "withdrawalRecipient",
2287
+ outputs: [
2288
+ {
2289
+ internalType: "address",
2290
+ name: "",
2291
+ type: "address",
2292
+ },
2293
+ ],
2294
+ stateMutability: "view",
2295
+ type: "function",
2296
+ },
2297
+ {
2298
+ inputs: [],
2299
+ name: "wrappedNativeToken",
2300
+ outputs: [
2301
+ {
2302
+ internalType: "contract WETH9Interface",
2303
+ name: "",
2304
+ type: "address",
2305
+ },
2306
+ ],
2307
+ stateMutability: "view",
2308
+ type: "function",
2309
+ },
2310
+ {
2311
+ stateMutability: "payable",
2312
+ type: "receive",
2313
+ },
2314
+ ];
2315
+ const _bytecode = "0x610160346200024c57601f620059dc38819003918201601f19168301916001600160401b03831184841017620002505780849260a0946040528339810103126200024c5780516001600160a01b039190828116908190036200024c57620000696020830162000264565b620000776040840162000264565b9160608401519385851685036200024c576080015194851685036200024c573060805260a05260c05260e0525f5460ff8160081c16620001f75760ff80821603620001bc575b50610120908152610140918252610100915f8352604051916157659384620002778539608051848181610c88015281816113ca01526115bc015260a0518481816107b701528181611c390152818161304f015281816138010152818161396501528181613f620152818161423601528181614972015281816149990152614eaa015260c05184818161172801528181611be701528181612fff01526137b6015260e0518481816103ce01528181611de1015261316a01525183818161190101526154b501525182818161075a01528181614833015281816151fc01526153af0152518181816120850152818161493001528181614fb801526153db0152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f620000bd565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b519063ffffffff821682036200024c5756fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c71461039f5780630c5d5f731461039a5780630eaac9f0146103955780631186ec331461039057806311eac8551461038b57806315348e441461032257806317fcb39b146103865780631b3d555914610381578063272751c71461037c57806329cb924d146103775780632cfc26c5146103725780632e3781151461036d5780633659cfe614610368578063431023b814610363578063437b91161461035e578063490e49ef14610359578063493a4f84146103545780634e0fb8f51461034f5780634f1ef2861461034a5780635249fef1146103455780635285e0581461034057806352d1902d1461033b578063541f4f141461033657806357f6dcb8146103315780636068d6cb1461032c578063647c576c146103275780636bbbcd2e146103225780636e4009831461031d578063738b62e514610318578063766e0703146103135780637aef642c1461030e5780637b939232146102d757806382e2c43f146103095780638a7860ce14610304578063927ede2d146102ff5780639748cf7c146102fa578063979f2bc2146102f55780639963e5a8146102f057806399cc2968146102eb5780639a8a0592146102e6578063a1244c67146102e1578063ac9650d8146102dc578063add051a3146102d7578063b27a4300146102d2578063b370b7f5146102cd578063bbca7db0146102c8578063bf10268d146102c3578063c35c83fc146102be578063ccfa5971146102b9578063ceb4c987146102b4578063dda52113146102af578063ddd224f1146102aa578063de7eba78146102a5578063e3229211146102a0578063ee2a53f81461029b578063fbbba9ac146102965763fc8a584f0361000e57612993565b61290f565b6128d1565b612855565b612825565b6127fc565b6127d6565b6127b8565b612735565b61270a565b612686565b612545565b61251e565b6124df565b611b3d565b612421565b612397565b61237d565b6122cf565b6120d3565b6120a9565b612066565b612038565b611fc0565b611e62565b6119f8565b6119d4565b611925565b6118e5565b61077e565b6117a4565b61174c565b61170c565b611677565b6115a2565b61157b565b61152d565b611385565b61126b565b6111b6565b611198565b6110cb565b610e0f565b610c5f565b610b0a565b610ac1565b610aa7565b610a08565b610926565b610798565b61073b565b610682565b610468565b610410565b6103b2565b5f9103126103ae57565b5f80fd5b346103ae575f3660031901126103ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6001600160a01b038116036103ae57565b359061040e826103f2565b565b346103ae5760203660031901126103ae57602060043561042f816103f2565b6001600160a01b038091165f52610c5d825260405f205416604051908152f35b63ffffffff8116036103ae57565b359061040e8261044f565b346103ae5760203660031901126103ae5763ffffffff60043561048a8161044f565b61049261354c565b61049a61365e565b16610c5a8163ffffffff198254161790557fe486a5c4bd7b36eabbfe274c99b39130277417be8d2209b4dae04c4fba64ee3a5f80a26001606555005b634e487b7160e01b5f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761050657604052565b6104d6565b67ffffffffffffffff811161050657604052565b6060810190811067ffffffffffffffff82111761050657604052565b6020810190811067ffffffffffffffff82111761050657604052565b60e0810190811067ffffffffffffffff82111761050657604052565b60a0810190811067ffffffffffffffff82111761050657604052565b90601f8019910116810190811067ffffffffffffffff82111761050657604052565b6040519060c0820182811067ffffffffffffffff82111761050657604052565b60405190610180820182811067ffffffffffffffff82111761050657604052565b604051906080820182811067ffffffffffffffff82111761050657604052565b67ffffffffffffffff811161050657601f01601f191660200190565b92919261063a82610612565b91610648604051938461058f565b8294818452818301116103ae578281602093845f960137010152565b9080601f830112156103ae5781602061067f9335910161062e565b90565b6101003660031901126103ae5760043561069b816103f2565b6024356106a7816103f2565b6084358060070b81036103ae5760a435906106c18261044f565b60c43567ffffffffffffffff81116103ae576106e1903690600401610664565b926106ea61365e565b60ff61086b5460e81c166107115761070a94606435916044359133613729565b6001606555005b60046040517f5a65d188000000000000000000000000000000000000000000000000000000008152fd5b346103ae575f3660031901126103ae5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103ae575f3660031901126103ae5760206040515f8152f35b346103ae575f3660031901126103ae5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b67ffffffffffffffff81116105065760051b60200190565b9080601f830112156103ae57602090823561080d816107db565b9361081b604051958661058f565b81855260208086019260051b8201019283116103ae57602001905b828210610844575050505090565b81358152908301908301610836565b9080601f830112156103ae57602090823561086d816107db565b9361087b604051958661058f565b81855260208086019260051b8201019283116103ae57602001905b8282106108a4575050505090565b83809183356108b2816103f2565b815201910190610896565b92916108c8826107db565b916108d6604051938461058f565b829481845260208094019160051b81019283116103ae57905b8282106108fc5750505050565b813581529083019083016108ef565b9080601f830112156103ae5781602061067f933591016108bd565b6003196060368201126103ae5760043561093f8161044f565b60243567ffffffffffffffff928382116103ae5760c09082360301126103ae576109676105b1565b90806004013582526024810135602083015260448101358481116103ae5761099590600436918401016107f3565b60408301526109a66064820161045d565b60608301526109b760848201610403565b608083015260a4810135908482116103ae5760046109d89236920101610853565b60a08201526044359283116103ae576109f861001893369060040161090b565b916129c3565b801515036103ae57565b346103ae5760603660031901126103ae57600435610a25816103f2565b602435907f0a21fdd43d0ad0c62689ee7230a47309a050755bcc52eba00310add65297692a60206001600160a01b0360443593610a61856109fe565b610a6961354c565b610a7161365e565b1692835f5261086d825260405f20855f52825260405f209015159060ff1981541660ff8316179055604051908152a36001606555005b346103ae575f3660031901126103ae576020604051428152f35b346103ae575f3660031901126103ae5760206040517f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd98152f35b90816101809103126103ae5790565b346103ae5760403660031901126103ae5760043567ffffffffffffffff81116103ae57610b3b903690600401610afb565b610b4361365e565b60ff61086b5460e01c16610c4e57610b5e6101408201612bba565b63ffffffff8042169116101580610c30575b610c0657610bfc90610be8610b8d610b883684612bce565b613c2f565b9160c0610be1610b9f60208401612bc4565b610bad610160850185612cae565b939094610bb86105b1565b97610bc33683612bce565b89526020890152013560408701526001600160a01b03166060860152565b369161062e565b608082015260243560a08201523390613d68565b6100186001606555565b60046040517fc3a9b9d0000000000000000000000000000000000000000000000000000000008152fd5b50610c3d60408201612bc4565b6001600160a01b0316331415610b70565b6004604051633d90fc5560e11b8152fd5b346103ae5760203660031901126103ae57600435610c7c816103f2565b6001600160a01b0390817f00000000000000000000000000000000000000000000000000000000000000001691610cb583301415612ce1565b610ce47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614612d52565b610cec61354c565b60405190610cf98261053b565b5f82527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d325750506100189150614be4565b6020600491604094939451928380926352d1902d60e01b825286165afa5f9181610dde575b50610dcb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b0390fd5b61001893610dd99114614341565b614ac6565b610e0191925060203d602011610e08575b610df9818361058f565b810190614332565b905f610d57565b503d610def565b346103ae5760803660031901126103ae57610018600435610e2f8161044f565b610f61602435610e3e816103f2565b610f5c60443591610e4e836103f2565b610ead60643595610e5e876103f2565b610e8a60ff5f5460081c16610e7281612dc3565b610c5a805463ffffffff1916624c4b40179055612dc3565b61086b9063ffffffff60c01b1963ffffffff60c01b83549260c01b169116179055565b604051610eb9816104ea565b6009815260208101907f4143524f53532d56320000000000000000000000000000000000000000000000825260405191610ef2836104ea565b6005835260208301917f312e302e300000000000000000000000000000000000000000000000000000008352610f3760ff5f5460081c16610f3281612dc3565b612dc3565b519020915190209061047f5561048055610f4f61452d565b610f5761453d565b614558565b6145ca565b610c5a907fffffffffffffffff0000000000000000000000000000000000000000ffffffff77ffffffffffffffffffffffffffffffffffffffff0000000083549260201b169116179055565b9181601f840112156103ae5782359167ffffffffffffffff83116103ae576020808501948460051b0101116103ae57565b60206003198201126103ae576004359067ffffffffffffffff82116103ae5761100991600401610fad565b9091565b5f5b83811061101e5750505f910152565b818101518382015260200161100f565b906020916110478151809281855285808601910161100d565b601f01601f1916010190565b6020808201908083528351809252604092604081018260408560051b8401019601945f925b858410611089575050505050505090565b9091929394959685806110ba600193603f1986820301885286838d518051151584520151918185820152019061102e565b990194019401929594939190611078565b346103ae576110d936610fde565b6110e2816107db565b9160406110f2604051948561058f565b828452601f19611101846107db565b015f5b8181106111755750505f5b83811061112857604051806111248782611053565b0390f35b8061116f61113860019388612e34565b515f80611146858a8a612e48565b90611155895180938193612e5f565b0390305af490611163612e6c565b60208201529015159052565b0161110f565b6020908351611183816104ea565b5f815282606081830152828901015201611104565b346103ae575f3660031901126103ae5760206040516301e133808152f35b346103ae5760403660031901126103ae576024356004356111d561354c565b6111dd61365e565b61086c8054680100000000000000008110156105065763ffffffff916001820190558361120982612892565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b9181601f840112156103ae5782359167ffffffffffffffff83116103ae57602083818601950101116103ae57565b346103ae5760c03660031901126103ae57600435611288816103f2565b602435906112958261044f565b6044356064356112a4816103f2565b67ffffffffffffffff916084358381116103ae576112c690369060040161123d565b93909460a4359182116103ae5761136963ffffffff7fb0a29aed3d389a1041194255878b423f7780be3ed2324d4693508c6ff189845e9661130e61137b95369060040161123d565b93909961131961365e565b6113408c8c8b8b61133761132e368a8961062e565b938b369161062e565b9346908c6143b2565b6001600160a01b0392836040519a8b9a8b521660208a0152608060408a01526080890191612e9b565b93868503606088015216981696612e9b565b0390a36001606555005b60403660031901126103ae5760043561139d816103f2565b60243567ffffffffffffffff81116103ae576113bd903690600401610664565b906001600160a01b0391827f000000000000000000000000000000000000000000000000000000000000000016926113f784301415612ce1565b6114267f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc948286541614612d52565b61142e61354c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114645750506100189150614be4565b6020600491604094939451928380926352d1902d60e01b825286165afa5f918161150c575b506114f95760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b610018936115079114614341565b614b92565b61152691925060203d602011610e0857610df9818361058f565b905f611489565b346103ae5760403660031901126103ae576001600160a01b03600435611552816103f2565b165f5261086d60205260405f206024355f52602052602060ff60405f2054166040519015158152f35b346103ae575f3660031901126103ae5760206001600160a01b036108695416604051908152f35b346103ae575f3660031901126103ae576001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361160d576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b608460405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b6101203660031901126103ae57600435611690816103f2565b6024359061169d826103f2565b604435916116aa836103f2565b60a4358060070b81036103ae5760c435916116c48361044f565b60e43567ffffffffffffffff81116103ae576116e4903690600401610664565b936116ed61365e565b60ff61086b5460e81c166107115761070a956084359260643592613729565b346103ae575f3660031901126103ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103ae575f3660031901126103ae57602060ff61086b5460e81c166040519015158152f35b60609060031901126103ae5760043561178a8161044f565b90602435611797816103f2565b9060443561067f816103f2565b346103ae576117b236611772565b5f54600881901c60ff16159392908490816118d7575b81156118b7575b501561184d576117f392846117ea600160ff195f5416175f55565b61183657612ebb565b6117f957005b61180761ff00195f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b61184861010061ff00195f5416175f55565b612ebb565b608460405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b303b159150816118c9575b505f6117cf565b6001915060ff16145f6118c2565b600160ff82161091506117c8565b346103ae575f3660031901126103ae57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103ae5760203660031901126103ae577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae492196020600435611965816109fe565b61196d61354c565b61197561365e565b151561086b80547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7dff00000000000000000000000000000000000000000000000000000000008460e81b169116179055604051908152a16001606555005b346103ae575f3660031901126103ae57602063ffffffff610c5a5416604051908152f35b6101603660031901126103ae57600435611a11816103f2565b60243590611a1e826103f2565b604435611a2a816103f2565b60643590611a37826103f2565b60e435611a43816103f2565b6101043590611a518261044f565b6101243592611a5f8461044f565b610144359667ffffffffffffffff88116103ae57611a8461001898369060040161123d565b97909660c4359360a4359360843593612f54565b906101806003198301126103ae57600435611ab2816103f2565b91602435611abf816103f2565b91604435611acc816103f2565b91606435611ad9816103f2565b916084359160a4359160c4359160e435611af2816103f2565b9161010435611b008161044f565b9161012435611b0e8161044f565b9161014435611b1c8161044f565b91610164359067ffffffffffffffff82116103ae576110099160040161123d565b611b4636611a98565b959996919a92909493611b5b9c98999c61365e565b61086b549260ff8460e81c166107115763ffffffff809460c01c169c611b808e613197565b611ba79061086b9063ffffffff60c01b1963ffffffff60c01b83549260c01b169116179055565b8c611bc48b6001600160a01b03165f5261086d60205260405f2090565b5f918252602052604090205460ff1615611e3857611be4858416426136b3565b857f00000000000000000000000000000000000000000000000000000000000000001610611e0e57848416428110908115611dd9575b50611daf57809480821680611d4a575b5050506001600160a01b039a8b7f0000000000000000000000000000000000000000000000000000000000000000168c8b1681811480611d41575b15611d275750813403611cfd57803b156103ae575f60049160405192838092630d0e30db60e41b825234905af18015611cf857611cdf575b505b6040519b8c9b169e611cb19a8c6144c5565b037fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f91a46100186001606555565b80611cec611cf29261050b565b806103a4565b5f611c9d565b6136c0565b60046040517f6452a35d000000000000000000000000000000000000000000000000000000008152fd5b905034611cfd5781611d3c91309033906146f0565b611c9f565b50341515611c65565b6301e133801015611d99575b50506001600160a01b03861615611d6f575f8080611c2a565b60046040517f495d907f000000000000000000000000000000000000000000000000000000008152fd5b611da7929550421690612f37565b925f80611d56565b60046040517f582e3889000000000000000000000000000000000000000000000000000000008152fd5b9050611e07867f000000000000000000000000000000000000000000000000000000000000000016426144b8565b105f611c1a565b60046040517ff722177f000000000000000000000000000000000000000000000000000000008152fd5b60046040517f2a58c4f3000000000000000000000000000000000000000000000000000000008152fd5b346103ae5760603660031901126103ae5767ffffffffffffffff6024358181116103ae57611e9490369060040161123d565b916044359081116103ae57611ead90369060040161123d565b9060405193602085019480611ec44684888a6131ac565b0395611ed8601f199788810184528361058f565b6004359151902003611f96575f94611f07611f3f93611efe87611f4b958a9901906131c9565b958101906131ef565b5160405193849160208301967f2e378115000000000000000000000000000000000000000000000000000000008852602484016132ea565b0390810183528261058f565b5190305af4611f58612e6c565b9015611f6057005b610dc7906040519182917fb8fe37a700000000000000000000000000000000000000000000000000000000835260048301613301565b60046040517f1e191e8e000000000000000000000000000000000000000000000000000000008152fd5b346103ae5760203660031901126103ae57600435611fdc61354c565b611fe461365e565b611fed81612892565b612025576001815f80935501557f3569b846531b754c99cb80df3f49cd72fa6fe106aaee5ab8e0caf35a9d7ce88d5f80a26001606555005b634e487b7160e01b5f525f60045260245ffd5b346103ae575f3660031901126103ae5760206040517342000000000000000000000000000000000000078152f35b346103ae575f3660031901126103ae5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103ae57610018610ead610f5c6120c036611772565b939091610e8a60ff5f5460081c16612dc3565b346103ae5760203660031901126103ae576004803567ffffffffffffffff81116103ae576121049036908301610afb565b61210c61365e565b60ff61086b5460e01c166122bf5763ffffffff8042166101408301936121448261213587612bba565b63ffffffff9182169116101590565b612297576101208401918361215884612bba565b16106122885761216b610b883686612bce565b9061217f825f5261087260205260405f2090565b546122605750906121c46121be7f923794976d026d6b119735adc163cb71decfc903e17c3dc226c00789593c04e194935f5261087260205260405f2090565b60019055565b6122536121d360608601612bc4565b956121e060808701612bc4565b956122006121fa6121f46101008401612bba565b95612bba565b92612bba565b61220c60408301612bc4565b61221583612bc4565b9061222260208501612bc4565b92612231610160860186612cae565b9690956040519a8b9a169d60e08201359d60a060c0840135930135918c613335565b0390a36100186001606555565b6040517f012f9e44000000000000000000000000000000000000000000000000000000008152fd5b60405163d642b7d960e01b8152fd5b6040517f09deb9ec000000000000000000000000000000000000000000000000000000008152fd5b50604051633d90fc5560e11b8152fd5b346103ae5760203660031901126103ae577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e602060043561230f816109fe565b61231761354c565b61231f61365e565b151561086b80547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7cff000000000000000000000000000000000000000000000000000000008460e01b169116179055604051908152a16001606555005b346103ae575f3660031901126103ae576020604051468152f35b346103ae575f3660031901126103ae57602063ffffffff61086b5460c01c16604051908152f35b6020808201906020835283518092526040830192602060408460051b8301019501935f915b8483106123f35750505050505090565b9091929394958480612411600193603f198682030187528a5161102e565b98019301930191949392906123e3565b346103ae5761242f36610fde565b906124398261339d565b915f5b818110612451576040518061112486826123be565b5f8061245e838587612e48565b60409391612470855180938193612e5f565b0390305af49061247e612e6c565b91156124a55750906001916124938287612e34565b5261249e8186612e34565b500161243c565b9060448151106103ae57610dc76124ca600492838101516024809183010191016133e6565b925192839262461bcd60e51b84528301613301565b346103ae5760203660031901126103ae5760206004356124fe816103f2565b6001600160a01b038091165f52610c5c825260405f205416604051908152f35b346103ae575f3660031901126103ae5760206001600160a01b0361086a5416604051908152f35b346103ae576003196060368201126103ae5760043567ffffffffffffffff8082116103ae576060823603938401126103ae57602435906125848261044f565b6044359081116103ae5761259c903690600401610fad565b9190936125a761365e565b60048401359061018219018112156103ae57610bfc9461265c936125d46126559360043691890101612bce565b956125f16125ec60808901516001600160a01b031690565b61395b565b6126436125fd88613c2f565b91604461261460208b01516001600160a01b031690565b916101608b0151946126246105b1565b9b8c5260208c0152013560408a01526001600160a01b03166060890152565b60808701525f60a087015236916108bd565b908361463c565b614077565b60409060031901126103ae57600435612679816103f2565b9060243561067f816103f2565b346103ae5761269436612661565b9061269d61354c565b6126a561365e565b6001600160a01b0380911691825f52610c5d6020526126dd8160405f20906001600160a01b03166001600160a01b0319825416179055565b16907fcb84c2022106a6f2b6f805d446f32fbfd2a528474364fa755f37dac1c0c1b6c85f80a36001606555005b346103ae5760203660031901126103ae576004355f52610872602052602060405f2054604051908152f35b346103ae5760c03660031901126103ae5767ffffffffffffffff6004358181116103ae57612767903690600401610afb565b60643590612774826103f2565b6084358381116103ae5761278c90369060040161123d565b9060a4359485116103ae576127a861001895369060040161123d565b9490936044359060243590613445565b346103ae575f3660031901126103ae57602060405163ffffffff8152f35b346103ae575f3660031901126103ae57602060ff61086b5460e01c166040519015158152f35b346103ae575f3660031901126103ae5760206040516ec097ce7bc90715b34b9f10000000008152f35b346103ae5760203660031901126103ae5761070a600435612845816103f2565b61284d61354c565b610f5761365e565b346103ae575f3660031901126103ae576020610c5a546001600160a01b0360405191831c168152f35b634e487b7160e01b5f52603260045260245ffd5b61086c9081548110156128cc576003915f52027f71cd7344f4eb2efc8e30291f6dbdb44d618ca368ea5425d217c1d604bf26b84d01905f90565b61287e565b346103ae5760203660031901126103ae5760043561086c548110156103ae576128fb604091612892565b506001815491015482519182526020820152f35b346103ae5761291d36612661565b9061292661354c565b61292e61365e565b6001600160a01b0380911691825f52610c5c6020526129668160405f20906001600160a01b03166001600160a01b0319825416179055565b16907ff3dc137d2246f9b8abd0bb821e185ba01122c9b3ea3745ffca6208037674d6705f80a36001606555005b346103ae5760203660031901126103ae5761070a6004356129b3816103f2565b6129bb61354c565b610f5c61365e565b916129cc61365e565b60808201916129e56125ec84516001600160a01b031690565b602081019182514603612aea57612a0d612a1191836001612a0589612892565b500154613a0a565b1590565b612ad9578060607ff8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab920193612a53612a4d865163ffffffff1690565b87613aca565b612acc845194612ab1612aa3855195612a9360408201998a51612a7a8d5163ffffffff1690565b89516001600160a01b03169160a086019b8c5194613b37565b5192519751985163ffffffff1690565b93516001600160a01b031690565b935163ffffffff9485604051968796169a1698339386612b14565b0390a461040e6001606555565b600460405163582f497d60e11b8152fd5b60046040517f7a47c9a2000000000000000000000000000000000000000000000000000000008152fd5b95949392919060a0870190875260209060a08289015282518091528160c089019301905f5b818110612ba6575050506001600160a01b03809316604088015286820360608801528080855193848152019401925f905b838210612b8d57505050505090608061040e929401906001600160a01b03169052565b8451811686529482019493820193600190910190612b6a565b825185529383019391830191600101612b39565b3561067f8161044f565b3561067f816103f2565b9190610180838203126103ae57612be36105d1565b92612bed81610403565b8452612bfb60208201610403565b6020850152612c0c60408201610403565b6040850152612c1d60608201610403565b6060850152612c2e60808201610403565b608085015260a081013560a085015260c081013560c085015260e081013560e0850152610100612c5f81830161045d565b90850152610120612c7181830161045d565b90850152610140612c8381830161045d565b90850152610160918282013567ffffffffffffffff81116103ae57612ca89201610664565b90830152565b903590601e19813603018212156103ae570180359067ffffffffffffffff82116103ae576020019181360383136103ae57565b15612ce857565b608460405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b15612d5957565b608460405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b15612dca57565b608460405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b80518210156128cc5760209160051b010190565b908210156128cc576110099160051b810190612cae565b908092918237015f815290565b3d15612e96573d90612e7d82610612565b91612e8b604051938461058f565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b612edb9291610ead610f5c92610e8a60ff5f5460081c16610e7281612dc3565b61040e610c5a77deaddeaddeaddeaddeaddeaddeaddeaddead0000000000007fffffffffffffffff0000000000000000000000000000000000000000ffffffff825416179055565b634e487b7160e01b5f52601160045260245ffd5b91909163ffffffff80809416911601918211612f4f57565b612f23565b96929a94999397909195989963ffffffff91612f738342169182612f37565b91612f7c61365e565b61086b5460ff8160e81c166107115760c01c84169c612f9a8e613197565b612fc19061086b9063ffffffff60c01b1963ffffffff60c01b83549260c01b169116179055565b8c612fde8b6001600160a01b03165f5261086d60205260405f2090565b5f918252602052604090205460ff1615611e3857612ffc83426136b3565b857f00000000000000000000000000000000000000000000000000000000000000001610611e0e57848416428110908115613162575b50611daf57809481168061312b575b50506001600160a01b039a8b7f0000000000000000000000000000000000000000000000000000000000000000168c8b1681811480613122575b156131085750813403611cfd57803b156103ae575f60049160405192838092630d0e30db60e41b825234905af18015611cf8576130f5575b505b6040519b8c9b169e6130c79a8c6144c5565b037fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f91a461040e6001606555565b80611cec6131029261050b565b5f6130b3565b905034611cfd578161311d91309033906146f0565b6130b5565b5034151561307b565b6301e13380101561314e575b506001600160a01b03861615611d6f575f80613041565b61315b9194508290612f37565b925f613137565b9050613190867f000000000000000000000000000000000000000000000000000000000000000016426144b8565b105f613032565b63ffffffff809116908114612f4f5760010190565b9392916020916131c491604087526040870191612e9b565b930152565b906020828203126103ae57813567ffffffffffffffff81116103ae5761067f9201612bce565b908160209103126103ae57604051906020820182811067ffffffffffffffff8211176105065760405235815290565b80516001600160a01b0316825261067f91610180906020838101516001600160a01b0316908201526040838101516001600160a01b0316908201526060838101516001600160a01b0316908201526080838101516001600160a01b03169082015260a083015160a082015260c083015160c082015260e083015160e08201526132b5610100808501519083019063ffffffff169052565b6101208381015163ffffffff16908201526101408381015163ffffffff1690820152816101608094015193820152019061102e565b9291906131c460209160408652604086019061321e565b90602061067f92818152019061102e565b634e487b7160e01b5f52602160045260245ffd5b6003111561333057565b613312565b969091939792959461067f9b9995610140996001600160a01b0398898098818098168d521660208c015260408b015260608a015263ffffffff80921660808a01521660a08801521660c08601521660e084015216610100820152816101208201520191612e9b565b906133a7826107db565b6133b4604051918261058f565b82815280926133c5601f19916107db565b01905f5b8281106133d557505050565b8060606020809385010152016133c9565b6020818303126103ae5780519067ffffffffffffffff82116103ae570181601f820112156103ae57805161341981610612565b92613427604051948561058f565b818452602082840101116103ae5761067f916020808501910161100d565b949096939561345261365e565b60ff61086b5460e01c16610c4e5761346d6101408701612bba565b63ffffffff804216911610158061352e575b610c065761348d3687612bce565b61349690613c2f565b9761349f6105b1565b986134aa3689612bce565b8a5260208a0152604089018490526001600160a01b03851660608a01526134d236848a61062e565b60808a015260a08901526134e586612bc4565b966134f36101008801612bba565b9236906134ff9261062e565b94369061350b9261062e565b9460e001359061351a966143b2565b3361352491613d68565b61040e6001606555565b5061353b60408701612bc4565b6001600160a01b031633141561347f565b734200000000000000000000000000000000000007803303613634576020600491604051928380927f6e296e450000000000000000000000000000000000000000000000000000000082525afa908115611cf8575f91613605575b506001600160a01b036135d26135c6610869546001600160a01b031690565b6001600160a01b031690565b9116036135db57565b60046040517f36a816d9000000000000000000000000000000000000000000000000000000008152fd5b613627915060203d60201161362d575b61361f818361058f565b8101906146cc565b5f6135a7565b503d613615565b60046040517f4a74df92000000000000000000000000000000000000000000000000000000008152fd5b60026065541461366f576002606555565b606460405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b91908203918211612f4f57565b6040513d5f823e3d90fd5b929361067f9695919294610140956001600160a01b0380951686525f60208701526040860152606085015263ffffffff809116608085015260a08401525f60c08401521660e08201525f61010082015281610120820152019061102e565b919596939492909261376b612a0d613764886137578b6001600160a01b03165f5261086d60205260405f2090565b905f5260205260405f2090565b5460ff1690565b611e385760070b936706f05b59d3b20000613785866146e1565b1015613931576ec097ce7bc90715b34b9f100000000082116139075763ffffffff936137b3858a16426136b3565b857f00000000000000000000000000000000000000000000000000000000000000001610611e0e5761086b5460c01c63ffffffff16986137f5610e8a8b613197565b6001600160a01b0395867f00000000000000000000000000000000000000000000000000000000000000001694878b16868114806138fe575b156138c15750803403611cfd57853b156103ae575f60049660405197888092630d0e30db60e41b825234905af18015611cf8577fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f996138a997613898926138ae575b505b8261474d565b91604051988998169c169a876136cb565b0390a4565b80611cec6138bb9261050b565b5f613890565b6138a996507fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f996138f98361389893309033906146f0565b613892565b5034151561382e565b60046040517fc45b6b52000000000000000000000000000000000000000000000000000000008152fd5b60046040517fa13c425c000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811691168114613992575b50565b4761399a5750565b4790803b156103ae575f90600460405180948193630d0e30db60e41b83525af18015611cf8571561398f5761040e9061050b565b9081518082526020808093019301915f5b8281106139ed575050505090565b83516001600160a01b0316855293810193928101926001016139df565b6040805160208082018181528551838501528186015160608401529285015160c0608084015280516101008401819052610120840198979692918201915f5b828110613ab6575050505081613a9f61067f979860a084613a796060613aad9701518387019063ffffffff169052565b60808101516001600160a01b031660c08601520151838203603f190160e08501526139ce565b03601f19810183528261058f565b51902091614783565b83518b529981019992810192600101613a49565b613ad5600291612892565b500162ffffff8260081c16805f5281602052600160ff60405f205494161b8080941614613b0d575f5260205260405f20908154179055565b60046040517f954476d9000000000000000000000000000000000000000000000000000000008152fd5b9294939190938051825103613c05578151915f5b838110613bb7575050505082613b62575b50505050565b6001600160a01b0381613b967f828fc203220356df8f072a91681caee7d5c75095e2a95e80ed5a14b384697f719386614830565b6040805195865233602087015291169463ffffffff1693a45f808080613b5c565b80613bc460019284612e34565b5180613bd2575b5001613b4b565b613bff90613bf0613be38488612e34565b516001600160a01b031690565b6001600160a01b0389166147d4565b5f613bcb565b60046040517fcd298b38000000000000000000000000000000000000000000000000000000008152fd5b604051613c4681613a9f60208201944690866132ea565b51902090565b613c5582613326565b52565b906001600160a01b038251168152606080613c82602085015160806020860152608085019061102e565b9360408101516040850152015191613c9983613326565b015290565b9a97909695613d1c9661067f9d9b9660808e613d0b98613d2b9e986101809d6001600160a01b03998a80921685521660208401526040830152606082015201528c60a063ffffffff8094169101521660c08c01521660e08a01526101008901906001600160a01b03169052565b6001600160a01b0316610120870152565b8061014086015284019061102e565b91610160818403910152613c58565b9061067f94936080936001600160a01b0380931684526020840152166040820152816060820152019061102e565b805191610120830190613d7f825163ffffffff1690565b63ffffffff429116106140665760208301516001613da6825f5261087260205260405f2090565b540361405f576001905b6002613dc5825f5261087260205260405f2090565b541461403557613dde905f5261087260205260405f2090565b6002905560608501516001600160a01b031660808601516001600160a01b03169260a0870151918660c0890151948960a08301519660e082015197610100830151613e2c9063ffffffff1690565b9a5163ffffffff1661014084015163ffffffff16906040850151613e56906001600160a01b031690565b928551613e69906001600160a01b031690565b946020870151613e7f906001600160a01b031690565b9661016001519760608a0151613e9b906001600160a01b031690565b996080810151906040015190613eaf6105f2565b6001600160a01b03909c168c5260208c015260408b0152613ed39060608b01613c4c565b6040519b6001600160a01b038d9c169f63ffffffff169e613ef49b8d613c9e565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff791a460608101516001600160a01b03169182903382148061402d575b613b5c57608001516001600160a01b03169260806040840151936001600160a01b03861685856001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683145f1461401d5750613f9891309033906146f0565b613fa28584614957565b015191825115159081614012575b50613fbb5750505050565b803b156103ae57613fe8935f809460405196879586948593633a5be8cb60e01b8552339160048601613d3a565b03925af18015611cf857613fff575b808080613b5c565b80611cec61400c9261050b565b5f613ff7565b90503b15155f613fb0565b6140289233906146f0565b613fa2565b506001613f32565b60046040517f8f260c60000000000000000000000000000000000000000000000000000000008152fd5b5f90613db0565b600460405163d642b7d960e01b8152fd5b905f8251610120810161408e815163ffffffff1690565b63ffffffff4291161061406657602085015160026140b5825f5261087260205260405f2090565b5414614035576140ce905f5261087260205260405f2090565b6002905560608201516001600160a01b031660808301516001600160a01b03169060a08401519260c0850151918860a0810151938760e08101519561010082015161411c9063ffffffff1690565b955163ffffffff1661014083015163ffffffff1660408401516001600160a01b0316918451614151906001600160a01b031690565b936020860151614167906001600160a01b031690565b956101600151966060890151614183906001600160a01b031690565b9860808101519060400151906141976105f2565b6001600160a01b03909b168b5260208b015260408a0152600260608a01526040519d63ffffffff8f9c169d6141cc9b8d613c9e565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7905f94a460608401516001600160a01b0316906001600160a01b0394858316918233148061432b575b61432257608001516001600160a01b03169060408101519687818416917f00000000000000000000000000000000000000000000000000000000000000001682145f1461430b579060809291876142f7575b614274915085614957565b0151928351151590816142ec575b50614290575b505050509050565b813b156142e857836142bc959660405196879586948593633a5be8cb60e01b8552339160048601613d3a565b03925af18015611cf8576142d5575b8080808493614288565b80611cec6142e29261050b565b5f6142cb565b8380fd5b90503b15155f614282565b61430491309033906146f0565b5f88614269565b60809291965061431d90865f986147d4565b614274565b50505050509050565b505f614217565b908160209103126103ae575190565b1561434857565b608460405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b93926042936001600160a01b0361040e989760208151910120916040519363ffffffff60208601967f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd9885216604086015286606086015260808501521660a083015260c082015260c0815261442681610557565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e85526040840152606083015260808201526080815261447c81610573565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090614c91565b91908201809211612f4f57565b6001600160a01b03918216815291811660208301526040820192909252606081019290925263ffffffff928316608083015292821660a0820152921660c083015291821660e08201529116610100820152610140610120820181905261067f93910191612e9b565b61040e60ff5f5460081c16612dc3565b61455160ff5f5460081c16610f3281612dc3565b6001606555565b6001600160a01b031680156145a057610869816001600160a01b03198254161790557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b60046040517fba97b39d000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b031680156146125761086a816001600160a01b03198254161790557fa73e8909f8616742d7fe701153d82666f7b7cd480552e23ebb05d358c22fd04e5f80a2565b60046040517fb6061256000000000000000000000000000000000000000000000000000000008152fd5b91612a0d906146b59284516040809601519186519161465a8361051f565b8252613aad6146756020840192468452898501958652612892565b505493885192839161469a6020840196602088525160608d86015260a085019061321e565b9151606084015251608083015203601f19810183528261058f565b6146bc5750565b6004905163582f497d60e11b8152fd5b908160209103126103ae575161067f816103f2565b5f81126146eb5790565b5f0390565b909261040e93604051937f23b872dd0000000000000000000000000000000000000000000000000000000060208601526001600160a01b03809216602486015216604484015260648301526064825261474882610573565b614da0565b90670de0b6b3a7640000915f828403921283831281169084841390151617612f4f57818102918183041490151715612f4f570490565b929091905f915b84518310156147cc5761479d8386612e34565b5190818110156147bb575f52602052600160405f205b92019161478a565b905f52602052600160405f206147b3565b915092501490565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000060208201526001600160a01b039092166024830152604482019290925261040e9161474882606481015b03601f19810184528361058f565b907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0380831681831614908161492c575b501561492157508161487a91615223565b61086a546001600160a01b0316610c5a5463ffffffff16738be79275fcfd08a931087ecf70ba8a99aee3ac59803b156103ae576040517f4c598b560000000000000000000000000000000000000000000000000000000081526001600160a01b039093166004840152602483019390935263ffffffff166044820152905f908290818381606481015b03925af18015611cf8576149145750565b80611cec61040e9261050b565b905061040e91614e9a565b90507f000000000000000000000000000000000000000000000000000000000000000016155f614869565b6001600160a01b0390811690813b15614997579061040e92917f0000000000000000000000000000000000000000000000000000000000000000166147d4565b7f000000000000000000000000000000000000000000000000000000000000000016803b156103ae575f8091602460405180948193632e1a7d4d60e01b83528860048401525af18015611cf857614ab7575b50814710614a73575f80809381935af1614a01612e6c565b5015614a0957565b608460405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b614ac09061050b565b5f6149e9565b90614ad082614be4565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115801590614b8b575b614b11575050565b61398f915f8060405193614b248561051f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af4614b85612e6c565b9161561c565b505f614b09565b90614b9c82614be4565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115801590614bdc57614b11575050565b506001614b09565b803b15614c27576001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91166001600160a01b0319825416179055565b608460405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b614c9b83836155eb565b600581959295101561333057159384614d8a575b508315614ceb575b50505015614cc157565b60046040517f938a1821000000000000000000000000000000000000000000000000000000008152fd5b5f929350908291604051614d3c81613a9f60208201947f1626ba7e00000000000000000000000000000000000000000000000000000000998a8752602484015260406044840152606483019061102e565b51915afa90614d49612e6c565b82614d7c575b82614d5f575b50505f8080614cb7565b614d7491925060208082518301019101614332565b145f80614d55565b915060208251101591614d4f565b6001600160a01b0383811691161493505f614caf565b604051614df7916001600160a01b0316614db9826104ea565b5f806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1614b85612e6c565b8051828115918215614e7a575b5050905015614e105750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b83809293500103126103ae57810151614e92816109fe565b80825f614e04565b906001600160a01b0390818116907f000000000000000000000000000000000000000000000000000000000000000083168203614fb45750803b156103ae575f6040518092632e1a7d4d60e01b8252818381614efe89600483019190602083019252565b03925af18015611cf857614fa1575b50610c5a5491614f2661086a546001600160a01b031690565b73420000000000000000000000000000000000001090813b156103ae57604051631474f2a960e31b81526001600160a01b03602087901c90951685166004820152931660248401526044830182905263ffffffff909316606483015260a060848301525f60a483018190529192839182908160c48101614903565b80611cec614fae9261050b565b5f614f0d565b91807f0000000000000000000000000000000000000000000000000000000000000000161515806151f8575b156150045750505061040e90614fff61086a546001600160a01b031690565b6153ad565b80615031615024856001600160a01b03165f52610c5c60205260405f2090565b546001600160a01b031690565b166151d4577342000000000000000000000000000000000000105b16906150706135c6615024856001600160a01b03165f52610c5d60205260405f2090565b1561514e578382615080926152e0565b61509f615024836001600160a01b03165f52610c5d60205260405f2090565b906150b361086a546001600160a01b031690565b916150c4610c5a5463ffffffff1690565b823b156103ae576040517f540abf730000000000000000000000000000000000000000000000000000000081526001600160a01b0395861660048201529185166024830152929093166044840152606483019390935263ffffffff16608482015260c060a48201525f60c482018190529091829060e490829084905af18015611cf8576149145750565b509161516361086a546001600160a01b031690565b92615174610c5a5463ffffffff1690565b93813b156103ae575f809461490360405197889687958694631474f2a960e31b8652600486019260c0949163ffffffff936001600160a01b038092168652166020850152604084015216606082015260a060808201525f60a08201520190565b6151f3615024846001600160a01b03165f52610c5c60205260405f2090565b61504c565b50807f0000000000000000000000000000000000000000000000000000000000000000168214614fe0565b9060405190636eb1769f60e11b8252306004830152738be79275fcfd08a931087ecf70ba8a99aee3ac5960248301526020826044816001600160a01b0387165afa918215611cf8575f926152bf575b508101809111612f4f5760405163095ea7b360e01b6020820152738be79275fcfd08a931087ecf70ba8a99aee3ac596024820152604481019190915261040e916147488260648101614822565b6152d991925060203d602011610e0857610df9818361058f565b905f615272565b604051636eb1769f60e11b81523060048201526001600160a01b03831660248201529192602083806044810103816001600160a01b0386165afa928315611cf8575f9361536c575b508201809211612f4f5760405163095ea7b360e01b60208201526001600160a01b039093166024840152604483019190915261040e91906147488260648101614822565b61538691935060203d602011610e0857610df9818361058f565b915f615328565b908160209103126103ae575167ffffffffffffffff811681036103ae5790565b7f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0392837f000000000000000000000000000000000000000000000000000000000000000016916154078284866152e0565b604092604051937fcb75c11c0000000000000000000000000000000000000000000000000000000085526020936004908587600481875afa978815611cf85789975f996155c4575b506040517fa56ec6320000000000000000000000000000000000000000000000000000000081526001600160a01b03918916918216600482015299909887918b9190829081602481015b0392165afa988915611cf8575f996155a5575b509390951696947f000000000000000000000000000000000000000000000000000000000000000093805b6154e657505050505050505050565b615550908781111561559f5787905b84517f6fd3504e00000000000000000000000000000000000000000000000000000000815284810183815263ffffffff89166020820152604081018d90526001600160a01b038c166060820152909389918591829160800190565b03815f8a5af1928315611cf85761556c93615572575b506136b3565b806154d7565b61559190893d8b11615598575b615589818361058f565b81019061538d565b505f615566565b503d61557f565b806154f5565b6155bd919950863d8811610e0857610df9818361058f565b975f6154ac565b87919950886155e261549992843d861161362d5761361f818361058f565b9a92505061544f565b9060418151145f146156135761100991602082015190606060408401519301515f1a906156b4565b50505f90600290565b9192901561567d5750815115615630575090565b3b156156395790565b606460405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156156905750805190602001fd5b610dc79060405191829162461bcd60e51b835260206004840152602483019061102e565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615724576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15611cf8575f516001600160a01b0381161561571c57905f90565b505f90600190565b505050505f9060039056fea2646970667358221220140b94c0050a4fbb3a18619d852f6b23488403ab1dd757ad971e51f0a18ca06564736f6c63430008170033";
2316
+ const isSuperArgs = (xs) => xs.length > 1;
2317
+ class Cher_SpokePool__factory extends ethers_1.ContractFactory {
2318
+ constructor(...args) {
2319
+ if (isSuperArgs(args)) {
2320
+ super(...args);
2321
+ }
2322
+ else {
2323
+ super(_abi, _bytecode, args[0]);
2324
+ }
2325
+ }
2326
+ deploy(_wrappedNativeTokenAddress, _depositQuoteTimeBuffer, _fillDeadlineBuffer, _l2Usdc, _cctpTokenMessenger, overrides) {
2327
+ return super.deploy(_wrappedNativeTokenAddress, _depositQuoteTimeBuffer, _fillDeadlineBuffer, _l2Usdc, _cctpTokenMessenger, overrides || {});
2328
+ }
2329
+ getDeployTransaction(_wrappedNativeTokenAddress, _depositQuoteTimeBuffer, _fillDeadlineBuffer, _l2Usdc, _cctpTokenMessenger, overrides) {
2330
+ return super.getDeployTransaction(_wrappedNativeTokenAddress, _depositQuoteTimeBuffer, _fillDeadlineBuffer, _l2Usdc, _cctpTokenMessenger, overrides || {});
2331
+ }
2332
+ attach(address) {
2333
+ return super.attach(address);
2334
+ }
2335
+ connect(signer) {
2336
+ return super.connect(signer);
2337
+ }
2338
+ static createInterface() {
2339
+ return new ethers_1.utils.Interface(_abi);
2340
+ }
2341
+ static connect(address, signerOrProvider) {
2342
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
2343
+ }
2344
+ }
2345
+ exports.Cher_SpokePool__factory = Cher_SpokePool__factory;
2346
+ Cher_SpokePool__factory.bytecode = _bytecode;
2347
+ Cher_SpokePool__factory.abi = _abi;