@wormhole-foundation/sdk-evm-ntt 0.5.2-beta.0

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.
Files changed (75) hide show
  1. package/README.md +17 -0
  2. package/dist/cjs/ethers-contracts/NttManager.d.ts +837 -0
  3. package/dist/cjs/ethers-contracts/NttManager.d.ts.map +1 -0
  4. package/dist/cjs/ethers-contracts/NttManager.js +3 -0
  5. package/dist/cjs/ethers-contracts/NttManager.js.map +1 -0
  6. package/dist/cjs/ethers-contracts/WormholeTransceiver.d.ts +606 -0
  7. package/dist/cjs/ethers-contracts/WormholeTransceiver.d.ts.map +1 -0
  8. package/dist/cjs/ethers-contracts/WormholeTransceiver.js +3 -0
  9. package/dist/cjs/ethers-contracts/WormholeTransceiver.js.map +1 -0
  10. package/dist/cjs/ethers-contracts/common.d.ts +51 -0
  11. package/dist/cjs/ethers-contracts/common.d.ts.map +1 -0
  12. package/dist/cjs/ethers-contracts/common.js +3 -0
  13. package/dist/cjs/ethers-contracts/common.js.map +1 -0
  14. package/dist/cjs/ethers-contracts/factories/NttManager__factory.d.ts +1358 -0
  15. package/dist/cjs/ethers-contracts/factories/NttManager__factory.d.ts.map +1 -0
  16. package/dist/cjs/ethers-contracts/factories/NttManager__factory.js +1787 -0
  17. package/dist/cjs/ethers-contracts/factories/NttManager__factory.js.map +1 -0
  18. package/dist/cjs/ethers-contracts/factories/WormholeTransceiver__factory.d.ts +962 -0
  19. package/dist/cjs/ethers-contracts/factories/WormholeTransceiver__factory.d.ts.map +1 -0
  20. package/dist/cjs/ethers-contracts/factories/WormholeTransceiver__factory.js +1272 -0
  21. package/dist/cjs/ethers-contracts/factories/WormholeTransceiver__factory.js.map +1 -0
  22. package/dist/cjs/ethers-contracts/factories/index.d.ts +3 -0
  23. package/dist/cjs/ethers-contracts/factories/index.d.ts.map +1 -0
  24. package/dist/cjs/ethers-contracts/factories/index.js +11 -0
  25. package/dist/cjs/ethers-contracts/factories/index.js.map +1 -0
  26. package/dist/cjs/ethers-contracts/index.d.ts +4 -0
  27. package/dist/cjs/ethers-contracts/index.d.ts.map +1 -0
  28. package/dist/cjs/ethers-contracts/index.js +28 -0
  29. package/dist/cjs/ethers-contracts/index.js.map +1 -0
  30. package/dist/cjs/index.d.ts +3 -0
  31. package/dist/cjs/index.d.ts.map +1 -0
  32. package/dist/cjs/index.js +36 -0
  33. package/dist/cjs/index.js.map +1 -0
  34. package/dist/cjs/ntt.d.ts +47 -0
  35. package/dist/cjs/ntt.d.ts.map +1 -0
  36. package/dist/cjs/ntt.js +148 -0
  37. package/dist/cjs/ntt.js.map +1 -0
  38. package/dist/cjs/package.json +1 -0
  39. package/dist/esm/ethers-contracts/NttManager.d.ts +837 -0
  40. package/dist/esm/ethers-contracts/NttManager.d.ts.map +1 -0
  41. package/dist/esm/ethers-contracts/NttManager.js +2 -0
  42. package/dist/esm/ethers-contracts/NttManager.js.map +1 -0
  43. package/dist/esm/ethers-contracts/WormholeTransceiver.d.ts +606 -0
  44. package/dist/esm/ethers-contracts/WormholeTransceiver.d.ts.map +1 -0
  45. package/dist/esm/ethers-contracts/WormholeTransceiver.js +2 -0
  46. package/dist/esm/ethers-contracts/WormholeTransceiver.js.map +1 -0
  47. package/dist/esm/ethers-contracts/common.d.ts +51 -0
  48. package/dist/esm/ethers-contracts/common.d.ts.map +1 -0
  49. package/dist/esm/ethers-contracts/common.js +2 -0
  50. package/dist/esm/ethers-contracts/common.js.map +1 -0
  51. package/dist/esm/ethers-contracts/factories/NttManager__factory.d.ts +1358 -0
  52. package/dist/esm/ethers-contracts/factories/NttManager__factory.d.ts.map +1 -0
  53. package/dist/esm/ethers-contracts/factories/NttManager__factory.js +1783 -0
  54. package/dist/esm/ethers-contracts/factories/NttManager__factory.js.map +1 -0
  55. package/dist/esm/ethers-contracts/factories/WormholeTransceiver__factory.d.ts +962 -0
  56. package/dist/esm/ethers-contracts/factories/WormholeTransceiver__factory.d.ts.map +1 -0
  57. package/dist/esm/ethers-contracts/factories/WormholeTransceiver__factory.js +1268 -0
  58. package/dist/esm/ethers-contracts/factories/WormholeTransceiver__factory.js.map +1 -0
  59. package/dist/esm/ethers-contracts/factories/index.d.ts +3 -0
  60. package/dist/esm/ethers-contracts/factories/index.d.ts.map +1 -0
  61. package/dist/esm/ethers-contracts/factories/index.js +6 -0
  62. package/dist/esm/ethers-contracts/factories/index.js.map +1 -0
  63. package/dist/esm/ethers-contracts/index.d.ts +4 -0
  64. package/dist/esm/ethers-contracts/index.d.ts.map +1 -0
  65. package/dist/esm/ethers-contracts/index.js +2 -0
  66. package/dist/esm/ethers-contracts/index.js.map +1 -0
  67. package/dist/esm/index.d.ts +3 -0
  68. package/dist/esm/index.d.ts.map +1 -0
  69. package/dist/esm/index.js +7 -0
  70. package/dist/esm/index.js.map +1 -0
  71. package/dist/esm/ntt.d.ts +47 -0
  72. package/dist/esm/ntt.d.ts.map +1 -0
  73. package/dist/esm/ntt.js +142 -0
  74. package/dist/esm/ntt.js.map +1 -0
  75. package/package.json +72 -0
@@ -0,0 +1,1787 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NttManager__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: '_token',
14
+ type: 'address',
15
+ },
16
+ {
17
+ internalType: 'enum IManagerBase.Mode',
18
+ name: '_mode',
19
+ type: 'uint8',
20
+ },
21
+ {
22
+ internalType: 'uint16',
23
+ name: '_chainId',
24
+ type: 'uint16',
25
+ },
26
+ {
27
+ internalType: 'uint64',
28
+ name: '_rateLimitDuration',
29
+ type: 'uint64',
30
+ },
31
+ {
32
+ internalType: 'bool',
33
+ name: '_skipRateLimiting',
34
+ type: 'bool',
35
+ },
36
+ ],
37
+ stateMutability: 'nonpayable',
38
+ type: 'constructor',
39
+ },
40
+ {
41
+ inputs: [
42
+ {
43
+ internalType: 'uint256',
44
+ name: 'burnAmount',
45
+ type: 'uint256',
46
+ },
47
+ {
48
+ internalType: 'uint256',
49
+ name: 'balanceDiff',
50
+ type: 'uint256',
51
+ },
52
+ ],
53
+ name: 'BurnAmountDifferentThanBalanceDiff',
54
+ type: 'error',
55
+ },
56
+ {
57
+ inputs: [
58
+ {
59
+ internalType: 'address',
60
+ name: 'caller',
61
+ type: 'address',
62
+ },
63
+ ],
64
+ name: 'CallerNotTransceiver',
65
+ type: 'error',
66
+ },
67
+ {
68
+ inputs: [
69
+ {
70
+ internalType: 'TrimmedAmount',
71
+ name: 'newCurrentCapacity',
72
+ type: 'uint72',
73
+ },
74
+ {
75
+ internalType: 'TrimmedAmount',
76
+ name: 'newLimit',
77
+ type: 'uint72',
78
+ },
79
+ ],
80
+ name: 'CapacityCannotExceedLimit',
81
+ type: 'error',
82
+ },
83
+ {
84
+ inputs: [
85
+ {
86
+ internalType: 'uint256',
87
+ name: 'requiredPayment',
88
+ type: 'uint256',
89
+ },
90
+ {
91
+ internalType: 'uint256',
92
+ name: 'providedPayment',
93
+ type: 'uint256',
94
+ },
95
+ ],
96
+ name: 'DeliveryPaymentTooLow',
97
+ type: 'error',
98
+ },
99
+ {
100
+ inputs: [
101
+ {
102
+ internalType: 'address',
103
+ name: 'transceiver',
104
+ type: 'address',
105
+ },
106
+ ],
107
+ name: 'DisabledTransceiver',
108
+ type: 'error',
109
+ },
110
+ {
111
+ inputs: [
112
+ {
113
+ internalType: 'bytes32',
114
+ name: 'digest',
115
+ type: 'bytes32',
116
+ },
117
+ ],
118
+ name: 'InboundQueuedTransferNotFound',
119
+ type: 'error',
120
+ },
121
+ {
122
+ inputs: [
123
+ {
124
+ internalType: 'bytes32',
125
+ name: 'digest',
126
+ type: 'bytes32',
127
+ },
128
+ {
129
+ internalType: 'uint256',
130
+ name: 'transferTimestamp',
131
+ type: 'uint256',
132
+ },
133
+ ],
134
+ name: 'InboundQueuedTransferStillQueued',
135
+ type: 'error',
136
+ },
137
+ {
138
+ inputs: [
139
+ {
140
+ internalType: 'uint256',
141
+ name: 'evmChainId',
142
+ type: 'uint256',
143
+ },
144
+ {
145
+ internalType: 'uint256',
146
+ name: 'blockChainId',
147
+ type: 'uint256',
148
+ },
149
+ ],
150
+ name: 'InvalidFork',
151
+ type: 'error',
152
+ },
153
+ {
154
+ inputs: [],
155
+ name: 'InvalidInitialization',
156
+ type: 'error',
157
+ },
158
+ {
159
+ inputs: [
160
+ {
161
+ internalType: 'uint8',
162
+ name: 'mode',
163
+ type: 'uint8',
164
+ },
165
+ ],
166
+ name: 'InvalidMode',
167
+ type: 'error',
168
+ },
169
+ {
170
+ inputs: [
171
+ {
172
+ internalType: 'address',
173
+ name: 'account',
174
+ type: 'address',
175
+ },
176
+ ],
177
+ name: 'InvalidPauser',
178
+ type: 'error',
179
+ },
180
+ {
181
+ inputs: [
182
+ {
183
+ internalType: 'uint16',
184
+ name: 'chainId',
185
+ type: 'uint16',
186
+ },
187
+ {
188
+ internalType: 'bytes32',
189
+ name: 'peerAddress',
190
+ type: 'bytes32',
191
+ },
192
+ ],
193
+ name: 'InvalidPeer',
194
+ type: 'error',
195
+ },
196
+ {
197
+ inputs: [],
198
+ name: 'InvalidPeerChainIdZero',
199
+ type: 'error',
200
+ },
201
+ {
202
+ inputs: [],
203
+ name: 'InvalidPeerDecimals',
204
+ type: 'error',
205
+ },
206
+ {
207
+ inputs: [],
208
+ name: 'InvalidPeerZeroAddress',
209
+ type: 'error',
210
+ },
211
+ {
212
+ inputs: [],
213
+ name: 'InvalidRecipient',
214
+ type: 'error',
215
+ },
216
+ {
217
+ inputs: [
218
+ {
219
+ internalType: 'uint16',
220
+ name: 'targetChain',
221
+ type: 'uint16',
222
+ },
223
+ {
224
+ internalType: 'uint16',
225
+ name: 'thisChain',
226
+ type: 'uint16',
227
+ },
228
+ ],
229
+ name: 'InvalidTargetChain',
230
+ type: 'error',
231
+ },
232
+ {
233
+ inputs: [],
234
+ name: 'InvalidTransceiverZeroAddress',
235
+ type: 'error',
236
+ },
237
+ {
238
+ inputs: [
239
+ {
240
+ internalType: 'bytes32',
241
+ name: 'msgHash',
242
+ type: 'bytes32',
243
+ },
244
+ ],
245
+ name: 'MessageNotApproved',
246
+ type: 'error',
247
+ },
248
+ {
249
+ inputs: [],
250
+ name: 'NoEnabledTransceivers',
251
+ type: 'error',
252
+ },
253
+ {
254
+ inputs: [
255
+ {
256
+ internalType: 'address',
257
+ name: 'transceiver',
258
+ type: 'address',
259
+ },
260
+ ],
261
+ name: 'NonRegisteredTransceiver',
262
+ type: 'error',
263
+ },
264
+ {
265
+ inputs: [
266
+ {
267
+ internalType: 'bytes32',
268
+ name: '',
269
+ type: 'bytes32',
270
+ },
271
+ ],
272
+ name: 'NotAnEvmAddress',
273
+ type: 'error',
274
+ },
275
+ {
276
+ inputs: [
277
+ {
278
+ internalType: 'uint256',
279
+ name: 'currentCapacity',
280
+ type: 'uint256',
281
+ },
282
+ {
283
+ internalType: 'uint256',
284
+ name: 'amount',
285
+ type: 'uint256',
286
+ },
287
+ ],
288
+ name: 'NotEnoughCapacity',
289
+ type: 'error',
290
+ },
291
+ {
292
+ inputs: [],
293
+ name: 'NotInitializing',
294
+ type: 'error',
295
+ },
296
+ {
297
+ inputs: [],
298
+ name: 'NotMigrating',
299
+ type: 'error',
300
+ },
301
+ {
302
+ inputs: [
303
+ {
304
+ internalType: 'uint8',
305
+ name: 'decimals',
306
+ type: 'uint8',
307
+ },
308
+ {
309
+ internalType: 'uint8',
310
+ name: 'decimalsOther',
311
+ type: 'uint8',
312
+ },
313
+ ],
314
+ name: 'NumberOfDecimalsNotEqual',
315
+ type: 'error',
316
+ },
317
+ {
318
+ inputs: [],
319
+ name: 'OnlyDelegateCall',
320
+ type: 'error',
321
+ },
322
+ {
323
+ inputs: [
324
+ {
325
+ internalType: 'uint64',
326
+ name: 'queueSequence',
327
+ type: 'uint64',
328
+ },
329
+ ],
330
+ name: 'OutboundQueuedTransferNotFound',
331
+ type: 'error',
332
+ },
333
+ {
334
+ inputs: [
335
+ {
336
+ internalType: 'uint64',
337
+ name: 'queueSequence',
338
+ type: 'uint64',
339
+ },
340
+ {
341
+ internalType: 'uint256',
342
+ name: 'transferTimestamp',
343
+ type: 'uint256',
344
+ },
345
+ ],
346
+ name: 'OutboundQueuedTransferStillQueued',
347
+ type: 'error',
348
+ },
349
+ {
350
+ inputs: [
351
+ {
352
+ internalType: 'address',
353
+ name: 'owner',
354
+ type: 'address',
355
+ },
356
+ ],
357
+ name: 'OwnableInvalidOwner',
358
+ type: 'error',
359
+ },
360
+ {
361
+ inputs: [
362
+ {
363
+ internalType: 'address',
364
+ name: 'account',
365
+ type: 'address',
366
+ },
367
+ ],
368
+ name: 'OwnableUnauthorizedAccount',
369
+ type: 'error',
370
+ },
371
+ {
372
+ inputs: [
373
+ {
374
+ internalType: 'uint16',
375
+ name: 'chainId',
376
+ type: 'uint16',
377
+ },
378
+ ],
379
+ name: 'PeerNotRegistered',
380
+ type: 'error',
381
+ },
382
+ {
383
+ inputs: [],
384
+ name: 'ReentrancyGuardReentrantCall',
385
+ type: 'error',
386
+ },
387
+ {
388
+ inputs: [
389
+ {
390
+ internalType: 'uint256',
391
+ name: 'refundAmount',
392
+ type: 'uint256',
393
+ },
394
+ ],
395
+ name: 'RefundFailed',
396
+ type: 'error',
397
+ },
398
+ {
399
+ inputs: [],
400
+ name: 'RequireContractIsNotPaused',
401
+ type: 'error',
402
+ },
403
+ {
404
+ inputs: [],
405
+ name: 'RequireContractIsPaused',
406
+ type: 'error',
407
+ },
408
+ {
409
+ inputs: [
410
+ {
411
+ internalType: 'uint256',
412
+ name: 'retrieved',
413
+ type: 'uint256',
414
+ },
415
+ {
416
+ internalType: 'uint256',
417
+ name: 'registered',
418
+ type: 'uint256',
419
+ },
420
+ ],
421
+ name: 'RetrievedIncorrectRegisteredTransceivers',
422
+ type: 'error',
423
+ },
424
+ {
425
+ inputs: [
426
+ {
427
+ internalType: 'uint256',
428
+ name: 'threshold',
429
+ type: 'uint256',
430
+ },
431
+ {
432
+ internalType: 'uint256',
433
+ name: 'transceivers',
434
+ type: 'uint256',
435
+ },
436
+ ],
437
+ name: 'ThresholdTooHigh',
438
+ type: 'error',
439
+ },
440
+ {
441
+ inputs: [],
442
+ name: 'TooManyTransceivers',
443
+ type: 'error',
444
+ },
445
+ {
446
+ inputs: [
447
+ {
448
+ internalType: 'bytes32',
449
+ name: 'nttManagerMessageHash',
450
+ type: 'bytes32',
451
+ },
452
+ ],
453
+ name: 'TransceiverAlreadyAttestedToMessage',
454
+ type: 'error',
455
+ },
456
+ {
457
+ inputs: [
458
+ {
459
+ internalType: 'address',
460
+ name: 'transceiver',
461
+ type: 'address',
462
+ },
463
+ ],
464
+ name: 'TransceiverAlreadyEnabled',
465
+ type: 'error',
466
+ },
467
+ {
468
+ inputs: [
469
+ {
470
+ internalType: 'uint256',
471
+ name: 'amount',
472
+ type: 'uint256',
473
+ },
474
+ {
475
+ internalType: 'uint256',
476
+ name: 'dust',
477
+ type: 'uint256',
478
+ },
479
+ ],
480
+ name: 'TransferAmountHasDust',
481
+ type: 'error',
482
+ },
483
+ {
484
+ inputs: [],
485
+ name: 'UndefinedRateLimiting',
486
+ type: 'error',
487
+ },
488
+ {
489
+ inputs: [
490
+ {
491
+ internalType: 'address',
492
+ name: 'expectedOwner',
493
+ type: 'address',
494
+ },
495
+ {
496
+ internalType: 'address',
497
+ name: 'owner',
498
+ type: 'address',
499
+ },
500
+ ],
501
+ name: 'UnexpectedDeployer',
502
+ type: 'error',
503
+ },
504
+ {
505
+ inputs: [],
506
+ name: 'ZeroAmount',
507
+ type: 'error',
508
+ },
509
+ {
510
+ inputs: [],
511
+ name: 'ZeroThreshold',
512
+ type: 'error',
513
+ },
514
+ {
515
+ anonymous: false,
516
+ inputs: [
517
+ {
518
+ indexed: false,
519
+ internalType: 'address',
520
+ name: 'previousAdmin',
521
+ type: 'address',
522
+ },
523
+ {
524
+ indexed: false,
525
+ internalType: 'address',
526
+ name: 'newAdmin',
527
+ type: 'address',
528
+ },
529
+ ],
530
+ name: 'AdminChanged',
531
+ type: 'event',
532
+ },
533
+ {
534
+ anonymous: false,
535
+ inputs: [
536
+ {
537
+ indexed: true,
538
+ internalType: 'address',
539
+ name: 'beacon',
540
+ type: 'address',
541
+ },
542
+ ],
543
+ name: 'BeaconUpgraded',
544
+ type: 'event',
545
+ },
546
+ {
547
+ anonymous: false,
548
+ inputs: [
549
+ {
550
+ indexed: false,
551
+ internalType: 'bytes32',
552
+ name: 'digest',
553
+ type: 'bytes32',
554
+ },
555
+ ],
556
+ name: 'InboundTransferQueued',
557
+ type: 'event',
558
+ },
559
+ {
560
+ anonymous: false,
561
+ inputs: [
562
+ {
563
+ indexed: false,
564
+ internalType: 'uint64',
565
+ name: 'version',
566
+ type: 'uint64',
567
+ },
568
+ ],
569
+ name: 'Initialized',
570
+ type: 'event',
571
+ },
572
+ {
573
+ anonymous: false,
574
+ inputs: [
575
+ {
576
+ indexed: true,
577
+ internalType: 'bytes32',
578
+ name: 'sourceNttManager',
579
+ type: 'bytes32',
580
+ },
581
+ {
582
+ indexed: true,
583
+ internalType: 'bytes32',
584
+ name: 'msgHash',
585
+ type: 'bytes32',
586
+ },
587
+ ],
588
+ name: 'MessageAlreadyExecuted',
589
+ type: 'event',
590
+ },
591
+ {
592
+ anonymous: false,
593
+ inputs: [
594
+ {
595
+ indexed: false,
596
+ internalType: 'bytes32',
597
+ name: 'digest',
598
+ type: 'bytes32',
599
+ },
600
+ {
601
+ indexed: false,
602
+ internalType: 'address',
603
+ name: 'transceiver',
604
+ type: 'address',
605
+ },
606
+ {
607
+ indexed: false,
608
+ internalType: 'uint8',
609
+ name: 'index',
610
+ type: 'uint8',
611
+ },
612
+ ],
613
+ name: 'MessageAttestedTo',
614
+ type: 'event',
615
+ },
616
+ {
617
+ anonymous: false,
618
+ inputs: [
619
+ {
620
+ indexed: false,
621
+ internalType: 'bool',
622
+ name: 'notPaused',
623
+ type: 'bool',
624
+ },
625
+ ],
626
+ name: 'NotPaused',
627
+ type: 'event',
628
+ },
629
+ {
630
+ anonymous: false,
631
+ inputs: [
632
+ {
633
+ indexed: false,
634
+ internalType: 'uint64',
635
+ name: 'queueSequence',
636
+ type: 'uint64',
637
+ },
638
+ ],
639
+ name: 'OutboundTransferQueued',
640
+ type: 'event',
641
+ },
642
+ {
643
+ anonymous: false,
644
+ inputs: [
645
+ {
646
+ indexed: true,
647
+ internalType: 'address',
648
+ name: 'sender',
649
+ type: 'address',
650
+ },
651
+ {
652
+ indexed: false,
653
+ internalType: 'uint64',
654
+ name: 'sequence',
655
+ type: 'uint64',
656
+ },
657
+ {
658
+ indexed: false,
659
+ internalType: 'uint256',
660
+ name: 'amount',
661
+ type: 'uint256',
662
+ },
663
+ {
664
+ indexed: false,
665
+ internalType: 'uint256',
666
+ name: 'currentCapacity',
667
+ type: 'uint256',
668
+ },
669
+ ],
670
+ name: 'OutboundTransferRateLimited',
671
+ type: 'event',
672
+ },
673
+ {
674
+ anonymous: false,
675
+ inputs: [
676
+ {
677
+ indexed: true,
678
+ internalType: 'address',
679
+ name: 'previousOwner',
680
+ type: 'address',
681
+ },
682
+ {
683
+ indexed: true,
684
+ internalType: 'address',
685
+ name: 'newOwner',
686
+ type: 'address',
687
+ },
688
+ ],
689
+ name: 'OwnershipTransferred',
690
+ type: 'event',
691
+ },
692
+ {
693
+ anonymous: false,
694
+ inputs: [
695
+ {
696
+ indexed: false,
697
+ internalType: 'bool',
698
+ name: 'paused',
699
+ type: 'bool',
700
+ },
701
+ ],
702
+ name: 'Paused',
703
+ type: 'event',
704
+ },
705
+ {
706
+ anonymous: false,
707
+ inputs: [
708
+ {
709
+ indexed: true,
710
+ internalType: 'address',
711
+ name: 'oldPauser',
712
+ type: 'address',
713
+ },
714
+ {
715
+ indexed: true,
716
+ internalType: 'address',
717
+ name: 'newPauser',
718
+ type: 'address',
719
+ },
720
+ ],
721
+ name: 'PauserTransferred',
722
+ type: 'event',
723
+ },
724
+ {
725
+ anonymous: false,
726
+ inputs: [
727
+ {
728
+ indexed: true,
729
+ internalType: 'uint16',
730
+ name: 'chainId_',
731
+ type: 'uint16',
732
+ },
733
+ {
734
+ indexed: false,
735
+ internalType: 'bytes32',
736
+ name: 'oldPeerContract',
737
+ type: 'bytes32',
738
+ },
739
+ {
740
+ indexed: false,
741
+ internalType: 'uint8',
742
+ name: 'oldPeerDecimals',
743
+ type: 'uint8',
744
+ },
745
+ {
746
+ indexed: false,
747
+ internalType: 'bytes32',
748
+ name: 'peerContract',
749
+ type: 'bytes32',
750
+ },
751
+ {
752
+ indexed: false,
753
+ internalType: 'uint8',
754
+ name: 'peerDecimals',
755
+ type: 'uint8',
756
+ },
757
+ ],
758
+ name: 'PeerUpdated',
759
+ type: 'event',
760
+ },
761
+ {
762
+ anonymous: false,
763
+ inputs: [
764
+ {
765
+ indexed: false,
766
+ internalType: 'uint8',
767
+ name: 'oldThreshold',
768
+ type: 'uint8',
769
+ },
770
+ {
771
+ indexed: false,
772
+ internalType: 'uint8',
773
+ name: 'threshold',
774
+ type: 'uint8',
775
+ },
776
+ ],
777
+ name: 'ThresholdChanged',
778
+ type: 'event',
779
+ },
780
+ {
781
+ anonymous: false,
782
+ inputs: [
783
+ {
784
+ indexed: false,
785
+ internalType: 'address',
786
+ name: 'transceiver',
787
+ type: 'address',
788
+ },
789
+ {
790
+ indexed: false,
791
+ internalType: 'uint256',
792
+ name: 'transceiversNum',
793
+ type: 'uint256',
794
+ },
795
+ {
796
+ indexed: false,
797
+ internalType: 'uint8',
798
+ name: 'threshold',
799
+ type: 'uint8',
800
+ },
801
+ ],
802
+ name: 'TransceiverAdded',
803
+ type: 'event',
804
+ },
805
+ {
806
+ anonymous: false,
807
+ inputs: [
808
+ {
809
+ indexed: false,
810
+ internalType: 'address',
811
+ name: 'transceiver',
812
+ type: 'address',
813
+ },
814
+ {
815
+ indexed: false,
816
+ internalType: 'uint8',
817
+ name: 'threshold',
818
+ type: 'uint8',
819
+ },
820
+ ],
821
+ name: 'TransceiverRemoved',
822
+ type: 'event',
823
+ },
824
+ {
825
+ anonymous: false,
826
+ inputs: [
827
+ {
828
+ indexed: true,
829
+ internalType: 'bytes32',
830
+ name: 'digest',
831
+ type: 'bytes32',
832
+ },
833
+ ],
834
+ name: 'TransferRedeemed',
835
+ type: 'event',
836
+ },
837
+ {
838
+ anonymous: false,
839
+ inputs: [
840
+ {
841
+ indexed: false,
842
+ internalType: 'bytes32',
843
+ name: 'recipient',
844
+ type: 'bytes32',
845
+ },
846
+ {
847
+ indexed: false,
848
+ internalType: 'uint256',
849
+ name: 'amount',
850
+ type: 'uint256',
851
+ },
852
+ {
853
+ indexed: false,
854
+ internalType: 'uint256',
855
+ name: 'fee',
856
+ type: 'uint256',
857
+ },
858
+ {
859
+ indexed: false,
860
+ internalType: 'uint16',
861
+ name: 'recipientChain',
862
+ type: 'uint16',
863
+ },
864
+ {
865
+ indexed: false,
866
+ internalType: 'uint64',
867
+ name: 'msgSequence',
868
+ type: 'uint64',
869
+ },
870
+ ],
871
+ name: 'TransferSent',
872
+ type: 'event',
873
+ },
874
+ {
875
+ anonymous: false,
876
+ inputs: [
877
+ {
878
+ indexed: true,
879
+ internalType: 'address',
880
+ name: 'implementation',
881
+ type: 'address',
882
+ },
883
+ ],
884
+ name: 'Upgraded',
885
+ type: 'event',
886
+ },
887
+ {
888
+ inputs: [
889
+ {
890
+ internalType: 'uint16',
891
+ name: 'sourceChainId',
892
+ type: 'uint16',
893
+ },
894
+ {
895
+ internalType: 'bytes32',
896
+ name: 'sourceNttManagerAddress',
897
+ type: 'bytes32',
898
+ },
899
+ {
900
+ components: [
901
+ {
902
+ internalType: 'bytes32',
903
+ name: 'id',
904
+ type: 'bytes32',
905
+ },
906
+ {
907
+ internalType: 'bytes32',
908
+ name: 'sender',
909
+ type: 'bytes32',
910
+ },
911
+ {
912
+ internalType: 'bytes',
913
+ name: 'payload',
914
+ type: 'bytes',
915
+ },
916
+ ],
917
+ internalType: 'struct TransceiverStructs.NttManagerMessage',
918
+ name: 'payload',
919
+ type: 'tuple',
920
+ },
921
+ ],
922
+ name: 'attestationReceived',
923
+ outputs: [],
924
+ stateMutability: 'nonpayable',
925
+ type: 'function',
926
+ },
927
+ {
928
+ inputs: [],
929
+ name: 'chainId',
930
+ outputs: [
931
+ {
932
+ internalType: 'uint16',
933
+ name: '',
934
+ type: 'uint16',
935
+ },
936
+ ],
937
+ stateMutability: 'view',
938
+ type: 'function',
939
+ },
940
+ {
941
+ inputs: [
942
+ {
943
+ internalType: 'bytes32',
944
+ name: 'digest',
945
+ type: 'bytes32',
946
+ },
947
+ ],
948
+ name: 'completeInboundQueuedTransfer',
949
+ outputs: [],
950
+ stateMutability: 'nonpayable',
951
+ type: 'function',
952
+ },
953
+ {
954
+ inputs: [
955
+ {
956
+ internalType: 'uint64',
957
+ name: 'messageSequence',
958
+ type: 'uint64',
959
+ },
960
+ ],
961
+ name: 'completeOutboundQueuedTransfer',
962
+ outputs: [
963
+ {
964
+ internalType: 'uint64',
965
+ name: '',
966
+ type: 'uint64',
967
+ },
968
+ ],
969
+ stateMutability: 'payable',
970
+ type: 'function',
971
+ },
972
+ {
973
+ inputs: [
974
+ {
975
+ internalType: 'uint16',
976
+ name: 'sourceChainId',
977
+ type: 'uint16',
978
+ },
979
+ {
980
+ internalType: 'bytes32',
981
+ name: 'sourceNttManagerAddress',
982
+ type: 'bytes32',
983
+ },
984
+ {
985
+ components: [
986
+ {
987
+ internalType: 'bytes32',
988
+ name: 'id',
989
+ type: 'bytes32',
990
+ },
991
+ {
992
+ internalType: 'bytes32',
993
+ name: 'sender',
994
+ type: 'bytes32',
995
+ },
996
+ {
997
+ internalType: 'bytes',
998
+ name: 'payload',
999
+ type: 'bytes',
1000
+ },
1001
+ ],
1002
+ internalType: 'struct TransceiverStructs.NttManagerMessage',
1003
+ name: 'message',
1004
+ type: 'tuple',
1005
+ },
1006
+ ],
1007
+ name: 'executeMsg',
1008
+ outputs: [],
1009
+ stateMutability: 'nonpayable',
1010
+ type: 'function',
1011
+ },
1012
+ {
1013
+ inputs: [
1014
+ {
1015
+ internalType: 'uint16',
1016
+ name: 'chainId_',
1017
+ type: 'uint16',
1018
+ },
1019
+ ],
1020
+ name: 'getCurrentInboundCapacity',
1021
+ outputs: [
1022
+ {
1023
+ internalType: 'uint256',
1024
+ name: '',
1025
+ type: 'uint256',
1026
+ },
1027
+ ],
1028
+ stateMutability: 'view',
1029
+ type: 'function',
1030
+ },
1031
+ {
1032
+ inputs: [],
1033
+ name: 'getCurrentOutboundCapacity',
1034
+ outputs: [
1035
+ {
1036
+ internalType: 'uint256',
1037
+ name: '',
1038
+ type: 'uint256',
1039
+ },
1040
+ ],
1041
+ stateMutability: 'view',
1042
+ type: 'function',
1043
+ },
1044
+ {
1045
+ inputs: [
1046
+ {
1047
+ internalType: 'uint16',
1048
+ name: 'chainId_',
1049
+ type: 'uint16',
1050
+ },
1051
+ ],
1052
+ name: 'getInboundLimitParams',
1053
+ outputs: [
1054
+ {
1055
+ components: [
1056
+ {
1057
+ internalType: 'TrimmedAmount',
1058
+ name: 'limit',
1059
+ type: 'uint72',
1060
+ },
1061
+ {
1062
+ internalType: 'TrimmedAmount',
1063
+ name: 'currentCapacity',
1064
+ type: 'uint72',
1065
+ },
1066
+ {
1067
+ internalType: 'uint64',
1068
+ name: 'lastTxTimestamp',
1069
+ type: 'uint64',
1070
+ },
1071
+ ],
1072
+ internalType: 'struct IRateLimiter.RateLimitParams',
1073
+ name: '',
1074
+ type: 'tuple',
1075
+ },
1076
+ ],
1077
+ stateMutability: 'view',
1078
+ type: 'function',
1079
+ },
1080
+ {
1081
+ inputs: [
1082
+ {
1083
+ internalType: 'bytes32',
1084
+ name: 'digest',
1085
+ type: 'bytes32',
1086
+ },
1087
+ ],
1088
+ name: 'getInboundQueuedTransfer',
1089
+ outputs: [
1090
+ {
1091
+ components: [
1092
+ {
1093
+ internalType: 'TrimmedAmount',
1094
+ name: 'amount',
1095
+ type: 'uint72',
1096
+ },
1097
+ {
1098
+ internalType: 'uint64',
1099
+ name: 'txTimestamp',
1100
+ type: 'uint64',
1101
+ },
1102
+ {
1103
+ internalType: 'address',
1104
+ name: 'recipient',
1105
+ type: 'address',
1106
+ },
1107
+ ],
1108
+ internalType: 'struct IRateLimiter.InboundQueuedTransfer',
1109
+ name: '',
1110
+ type: 'tuple',
1111
+ },
1112
+ ],
1113
+ stateMutability: 'view',
1114
+ type: 'function',
1115
+ },
1116
+ {
1117
+ inputs: [],
1118
+ name: 'getMigratesImmutables',
1119
+ outputs: [
1120
+ {
1121
+ internalType: 'bool',
1122
+ name: '',
1123
+ type: 'bool',
1124
+ },
1125
+ ],
1126
+ stateMutability: 'view',
1127
+ type: 'function',
1128
+ },
1129
+ {
1130
+ inputs: [],
1131
+ name: 'getMode',
1132
+ outputs: [
1133
+ {
1134
+ internalType: 'uint8',
1135
+ name: '',
1136
+ type: 'uint8',
1137
+ },
1138
+ ],
1139
+ stateMutability: 'view',
1140
+ type: 'function',
1141
+ },
1142
+ {
1143
+ inputs: [],
1144
+ name: 'getOutboundLimitParams',
1145
+ outputs: [
1146
+ {
1147
+ components: [
1148
+ {
1149
+ internalType: 'TrimmedAmount',
1150
+ name: 'limit',
1151
+ type: 'uint72',
1152
+ },
1153
+ {
1154
+ internalType: 'TrimmedAmount',
1155
+ name: 'currentCapacity',
1156
+ type: 'uint72',
1157
+ },
1158
+ {
1159
+ internalType: 'uint64',
1160
+ name: 'lastTxTimestamp',
1161
+ type: 'uint64',
1162
+ },
1163
+ ],
1164
+ internalType: 'struct IRateLimiter.RateLimitParams',
1165
+ name: '',
1166
+ type: 'tuple',
1167
+ },
1168
+ ],
1169
+ stateMutability: 'pure',
1170
+ type: 'function',
1171
+ },
1172
+ {
1173
+ inputs: [
1174
+ {
1175
+ internalType: 'uint64',
1176
+ name: 'queueSequence',
1177
+ type: 'uint64',
1178
+ },
1179
+ ],
1180
+ name: 'getOutboundQueuedTransfer',
1181
+ outputs: [
1182
+ {
1183
+ components: [
1184
+ {
1185
+ internalType: 'bytes32',
1186
+ name: 'recipient',
1187
+ type: 'bytes32',
1188
+ },
1189
+ {
1190
+ internalType: 'TrimmedAmount',
1191
+ name: 'amount',
1192
+ type: 'uint72',
1193
+ },
1194
+ {
1195
+ internalType: 'uint64',
1196
+ name: 'txTimestamp',
1197
+ type: 'uint64',
1198
+ },
1199
+ {
1200
+ internalType: 'uint16',
1201
+ name: 'recipientChain',
1202
+ type: 'uint16',
1203
+ },
1204
+ {
1205
+ internalType: 'address',
1206
+ name: 'sender',
1207
+ type: 'address',
1208
+ },
1209
+ {
1210
+ internalType: 'bytes',
1211
+ name: 'transceiverInstructions',
1212
+ type: 'bytes',
1213
+ },
1214
+ ],
1215
+ internalType: 'struct IRateLimiter.OutboundQueuedTransfer',
1216
+ name: '',
1217
+ type: 'tuple',
1218
+ },
1219
+ ],
1220
+ stateMutability: 'view',
1221
+ type: 'function',
1222
+ },
1223
+ {
1224
+ inputs: [
1225
+ {
1226
+ internalType: 'uint16',
1227
+ name: 'chainId_',
1228
+ type: 'uint16',
1229
+ },
1230
+ ],
1231
+ name: 'getPeer',
1232
+ outputs: [
1233
+ {
1234
+ components: [
1235
+ {
1236
+ internalType: 'bytes32',
1237
+ name: 'peerAddress',
1238
+ type: 'bytes32',
1239
+ },
1240
+ {
1241
+ internalType: 'uint8',
1242
+ name: 'tokenDecimals',
1243
+ type: 'uint8',
1244
+ },
1245
+ ],
1246
+ internalType: 'struct INttManager.NttManagerPeer',
1247
+ name: '',
1248
+ type: 'tuple',
1249
+ },
1250
+ ],
1251
+ stateMutability: 'view',
1252
+ type: 'function',
1253
+ },
1254
+ {
1255
+ inputs: [],
1256
+ name: 'getThreshold',
1257
+ outputs: [
1258
+ {
1259
+ internalType: 'uint8',
1260
+ name: '',
1261
+ type: 'uint8',
1262
+ },
1263
+ ],
1264
+ stateMutability: 'view',
1265
+ type: 'function',
1266
+ },
1267
+ {
1268
+ inputs: [],
1269
+ name: 'getTransceivers',
1270
+ outputs: [
1271
+ {
1272
+ internalType: 'address[]',
1273
+ name: 'result',
1274
+ type: 'address[]',
1275
+ },
1276
+ ],
1277
+ stateMutability: 'pure',
1278
+ type: 'function',
1279
+ },
1280
+ {
1281
+ inputs: [],
1282
+ name: 'initialize',
1283
+ outputs: [],
1284
+ stateMutability: 'nonpayable',
1285
+ type: 'function',
1286
+ },
1287
+ {
1288
+ inputs: [
1289
+ {
1290
+ internalType: 'bytes32',
1291
+ name: 'digest',
1292
+ type: 'bytes32',
1293
+ },
1294
+ ],
1295
+ name: 'isMessageApproved',
1296
+ outputs: [
1297
+ {
1298
+ internalType: 'bool',
1299
+ name: '',
1300
+ type: 'bool',
1301
+ },
1302
+ ],
1303
+ stateMutability: 'view',
1304
+ type: 'function',
1305
+ },
1306
+ {
1307
+ inputs: [
1308
+ {
1309
+ internalType: 'bytes32',
1310
+ name: 'digest',
1311
+ type: 'bytes32',
1312
+ },
1313
+ ],
1314
+ name: 'isMessageExecuted',
1315
+ outputs: [
1316
+ {
1317
+ internalType: 'bool',
1318
+ name: '',
1319
+ type: 'bool',
1320
+ },
1321
+ ],
1322
+ stateMutability: 'view',
1323
+ type: 'function',
1324
+ },
1325
+ {
1326
+ inputs: [],
1327
+ name: 'isPaused',
1328
+ outputs: [
1329
+ {
1330
+ internalType: 'bool',
1331
+ name: '',
1332
+ type: 'bool',
1333
+ },
1334
+ ],
1335
+ stateMutability: 'view',
1336
+ type: 'function',
1337
+ },
1338
+ {
1339
+ inputs: [
1340
+ {
1341
+ internalType: 'bytes32',
1342
+ name: 'digest',
1343
+ type: 'bytes32',
1344
+ },
1345
+ ],
1346
+ name: 'messageAttestations',
1347
+ outputs: [
1348
+ {
1349
+ internalType: 'uint8',
1350
+ name: 'count',
1351
+ type: 'uint8',
1352
+ },
1353
+ ],
1354
+ stateMutability: 'view',
1355
+ type: 'function',
1356
+ },
1357
+ {
1358
+ inputs: [],
1359
+ name: 'migrate',
1360
+ outputs: [],
1361
+ stateMutability: 'nonpayable',
1362
+ type: 'function',
1363
+ },
1364
+ {
1365
+ inputs: [],
1366
+ name: 'mode',
1367
+ outputs: [
1368
+ {
1369
+ internalType: 'enum IManagerBase.Mode',
1370
+ name: '',
1371
+ type: 'uint8',
1372
+ },
1373
+ ],
1374
+ stateMutability: 'view',
1375
+ type: 'function',
1376
+ },
1377
+ {
1378
+ inputs: [],
1379
+ name: 'nextMessageSequence',
1380
+ outputs: [
1381
+ {
1382
+ internalType: 'uint64',
1383
+ name: '',
1384
+ type: 'uint64',
1385
+ },
1386
+ ],
1387
+ stateMutability: 'view',
1388
+ type: 'function',
1389
+ },
1390
+ {
1391
+ inputs: [],
1392
+ name: 'owner',
1393
+ outputs: [
1394
+ {
1395
+ internalType: 'address',
1396
+ name: '',
1397
+ type: 'address',
1398
+ },
1399
+ ],
1400
+ stateMutability: 'view',
1401
+ type: 'function',
1402
+ },
1403
+ {
1404
+ inputs: [],
1405
+ name: 'pause',
1406
+ outputs: [],
1407
+ stateMutability: 'nonpayable',
1408
+ type: 'function',
1409
+ },
1410
+ {
1411
+ inputs: [],
1412
+ name: 'pauser',
1413
+ outputs: [
1414
+ {
1415
+ internalType: 'address',
1416
+ name: '',
1417
+ type: 'address',
1418
+ },
1419
+ ],
1420
+ stateMutability: 'view',
1421
+ type: 'function',
1422
+ },
1423
+ {
1424
+ inputs: [
1425
+ {
1426
+ internalType: 'uint16',
1427
+ name: 'recipientChain',
1428
+ type: 'uint16',
1429
+ },
1430
+ {
1431
+ components: [
1432
+ {
1433
+ internalType: 'uint8',
1434
+ name: 'index',
1435
+ type: 'uint8',
1436
+ },
1437
+ {
1438
+ internalType: 'bytes',
1439
+ name: 'payload',
1440
+ type: 'bytes',
1441
+ },
1442
+ ],
1443
+ internalType: 'struct TransceiverStructs.TransceiverInstruction[]',
1444
+ name: 'transceiverInstructions',
1445
+ type: 'tuple[]',
1446
+ },
1447
+ {
1448
+ internalType: 'address[]',
1449
+ name: 'enabledTransceivers',
1450
+ type: 'address[]',
1451
+ },
1452
+ ],
1453
+ name: 'quoteDeliveryPrice',
1454
+ outputs: [
1455
+ {
1456
+ internalType: 'uint256[]',
1457
+ name: '',
1458
+ type: 'uint256[]',
1459
+ },
1460
+ {
1461
+ internalType: 'uint256',
1462
+ name: '',
1463
+ type: 'uint256',
1464
+ },
1465
+ ],
1466
+ stateMutability: 'view',
1467
+ type: 'function',
1468
+ },
1469
+ {
1470
+ inputs: [],
1471
+ name: 'rateLimitDuration',
1472
+ outputs: [
1473
+ {
1474
+ internalType: 'uint64',
1475
+ name: '',
1476
+ type: 'uint64',
1477
+ },
1478
+ ],
1479
+ stateMutability: 'view',
1480
+ type: 'function',
1481
+ },
1482
+ {
1483
+ inputs: [
1484
+ {
1485
+ internalType: 'address',
1486
+ name: 'transceiver',
1487
+ type: 'address',
1488
+ },
1489
+ ],
1490
+ name: 'removeTransceiver',
1491
+ outputs: [],
1492
+ stateMutability: 'nonpayable',
1493
+ type: 'function',
1494
+ },
1495
+ {
1496
+ inputs: [
1497
+ {
1498
+ internalType: 'uint256',
1499
+ name: 'limit',
1500
+ type: 'uint256',
1501
+ },
1502
+ {
1503
+ internalType: 'uint16',
1504
+ name: 'chainId_',
1505
+ type: 'uint16',
1506
+ },
1507
+ ],
1508
+ name: 'setInboundLimit',
1509
+ outputs: [],
1510
+ stateMutability: 'nonpayable',
1511
+ type: 'function',
1512
+ },
1513
+ {
1514
+ inputs: [
1515
+ {
1516
+ internalType: 'uint256',
1517
+ name: 'limit',
1518
+ type: 'uint256',
1519
+ },
1520
+ ],
1521
+ name: 'setOutboundLimit',
1522
+ outputs: [],
1523
+ stateMutability: 'nonpayable',
1524
+ type: 'function',
1525
+ },
1526
+ {
1527
+ inputs: [
1528
+ {
1529
+ internalType: 'uint16',
1530
+ name: 'peerChainId',
1531
+ type: 'uint16',
1532
+ },
1533
+ {
1534
+ internalType: 'bytes32',
1535
+ name: 'peerContract',
1536
+ type: 'bytes32',
1537
+ },
1538
+ {
1539
+ internalType: 'uint8',
1540
+ name: 'decimals',
1541
+ type: 'uint8',
1542
+ },
1543
+ {
1544
+ internalType: 'uint256',
1545
+ name: 'inboundLimit',
1546
+ type: 'uint256',
1547
+ },
1548
+ ],
1549
+ name: 'setPeer',
1550
+ outputs: [],
1551
+ stateMutability: 'nonpayable',
1552
+ type: 'function',
1553
+ },
1554
+ {
1555
+ inputs: [
1556
+ {
1557
+ internalType: 'uint8',
1558
+ name: 'threshold',
1559
+ type: 'uint8',
1560
+ },
1561
+ ],
1562
+ name: 'setThreshold',
1563
+ outputs: [],
1564
+ stateMutability: 'nonpayable',
1565
+ type: 'function',
1566
+ },
1567
+ {
1568
+ inputs: [
1569
+ {
1570
+ internalType: 'address',
1571
+ name: 'transceiver',
1572
+ type: 'address',
1573
+ },
1574
+ ],
1575
+ name: 'setTransceiver',
1576
+ outputs: [],
1577
+ stateMutability: 'nonpayable',
1578
+ type: 'function',
1579
+ },
1580
+ {
1581
+ inputs: [],
1582
+ name: 'token',
1583
+ outputs: [
1584
+ {
1585
+ internalType: 'address',
1586
+ name: '',
1587
+ type: 'address',
1588
+ },
1589
+ ],
1590
+ stateMutability: 'view',
1591
+ type: 'function',
1592
+ },
1593
+ {
1594
+ inputs: [],
1595
+ name: 'tokenDecimals',
1596
+ outputs: [
1597
+ {
1598
+ internalType: 'uint8',
1599
+ name: '',
1600
+ type: 'uint8',
1601
+ },
1602
+ ],
1603
+ stateMutability: 'view',
1604
+ type: 'function',
1605
+ },
1606
+ {
1607
+ inputs: [
1608
+ {
1609
+ internalType: 'bytes32',
1610
+ name: 'digest',
1611
+ type: 'bytes32',
1612
+ },
1613
+ {
1614
+ internalType: 'uint8',
1615
+ name: 'index',
1616
+ type: 'uint8',
1617
+ },
1618
+ ],
1619
+ name: 'transceiverAttestedToMessage',
1620
+ outputs: [
1621
+ {
1622
+ internalType: 'bool',
1623
+ name: '',
1624
+ type: 'bool',
1625
+ },
1626
+ ],
1627
+ stateMutability: 'view',
1628
+ type: 'function',
1629
+ },
1630
+ {
1631
+ inputs: [
1632
+ {
1633
+ internalType: 'uint256',
1634
+ name: 'amount',
1635
+ type: 'uint256',
1636
+ },
1637
+ {
1638
+ internalType: 'uint16',
1639
+ name: 'recipientChain',
1640
+ type: 'uint16',
1641
+ },
1642
+ {
1643
+ internalType: 'bytes32',
1644
+ name: 'recipient',
1645
+ type: 'bytes32',
1646
+ },
1647
+ ],
1648
+ name: 'transfer',
1649
+ outputs: [
1650
+ {
1651
+ internalType: 'uint64',
1652
+ name: '',
1653
+ type: 'uint64',
1654
+ },
1655
+ ],
1656
+ stateMutability: 'payable',
1657
+ type: 'function',
1658
+ },
1659
+ {
1660
+ inputs: [
1661
+ {
1662
+ internalType: 'uint256',
1663
+ name: 'amount',
1664
+ type: 'uint256',
1665
+ },
1666
+ {
1667
+ internalType: 'uint16',
1668
+ name: 'recipientChain',
1669
+ type: 'uint16',
1670
+ },
1671
+ {
1672
+ internalType: 'bytes32',
1673
+ name: 'recipient',
1674
+ type: 'bytes32',
1675
+ },
1676
+ {
1677
+ internalType: 'bool',
1678
+ name: 'shouldQueue',
1679
+ type: 'bool',
1680
+ },
1681
+ {
1682
+ internalType: 'bytes',
1683
+ name: 'transceiverInstructions',
1684
+ type: 'bytes',
1685
+ },
1686
+ ],
1687
+ name: 'transfer',
1688
+ outputs: [
1689
+ {
1690
+ internalType: 'uint64',
1691
+ name: '',
1692
+ type: 'uint64',
1693
+ },
1694
+ ],
1695
+ stateMutability: 'payable',
1696
+ type: 'function',
1697
+ },
1698
+ {
1699
+ inputs: [
1700
+ {
1701
+ internalType: 'address',
1702
+ name: 'newOwner',
1703
+ type: 'address',
1704
+ },
1705
+ ],
1706
+ name: 'transferOwnership',
1707
+ outputs: [],
1708
+ stateMutability: 'nonpayable',
1709
+ type: 'function',
1710
+ },
1711
+ {
1712
+ inputs: [
1713
+ {
1714
+ internalType: 'address',
1715
+ name: 'newPauser',
1716
+ type: 'address',
1717
+ },
1718
+ ],
1719
+ name: 'transferPauserCapability',
1720
+ outputs: [],
1721
+ stateMutability: 'nonpayable',
1722
+ type: 'function',
1723
+ },
1724
+ {
1725
+ inputs: [],
1726
+ name: 'unpause',
1727
+ outputs: [],
1728
+ stateMutability: 'nonpayable',
1729
+ type: 'function',
1730
+ },
1731
+ {
1732
+ inputs: [
1733
+ {
1734
+ internalType: 'address',
1735
+ name: 'newImplementation',
1736
+ type: 'address',
1737
+ },
1738
+ ],
1739
+ name: 'upgrade',
1740
+ outputs: [],
1741
+ stateMutability: 'nonpayable',
1742
+ type: 'function',
1743
+ },
1744
+ ];
1745
+ const _bytecode = '0x6101606040523480156200001257600080fd5b5060405162006a5a38038062006a5a8339810160408190526200003591620005a6565b84848484846001600160401b03821615801562000050575080155b806200006d57506001600160401b038216158015906200006d5750805b156200008c5760405163e543ef0560e01b815260040160405180910390fd5b506001600160401b0316608052620000a36200010d565b620000ad62000279565b3060a0526001600160a01b03831660c052816001811115620000d357620000d362000640565b610100816001811115620000eb57620000eb62000640565b90525061ffff16610120525050466101405250503360e05250620006e0915050565b6000620001196200032d565b905060006200012762000363565b82548154919250610100900460ff1690811462000148576200014862000656565b60005b818110156200019d57620001888382815481106200016d576200016d6200066c565b6000918252602090912001546001600160a01b031662000392565b80620001948162000698565b9150506200014b565b5060005b8181101562000259576000620001b9826001620006b4565b90505b828110156200024357838181548110620001da57620001da6200066c565b60009182526020909120015484546001600160a01b03909116908590849081106200020957620002096200066c565b6000918252602090912001546001600160a01b0316036200022e576200022e62000656565b806200023a8162000698565b915050620001bc565b5080620002508162000698565b915050620001a1565b508254604060ff909116111562000274576200027462000656565b505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620002ca5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146200032a5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000806200035d60017f8561949d1c6242cee5c5a5aeb6b9c190ee611d7742fcec65d9e5b1341ea04d8a620006ca565b92915050565b6000806200035d60017e758a264b9bdbe3295fe36bd6ff7abaa122f48bf70e90af04a1b8a32d21e4e2620006ca565b60006200039e62000530565b90506000620003ac62000560565b90506000620003ba6200032d565b90506000620003c862000363565b6001600160a01b038616600090815260208681526040918290208251606081018452905460ff80821615158084526101008304821615159484019490945262010000909104169281019290925291925090806200043857508060200151158015620004385750604081015160ff16155b62000447576200044762000656565b604081015184546020830151600160ff9093169290921b166001600160401b03161515906000805b8654610100900460ff16811015620004da57896001600160a01b0316868281548110620004a057620004a06200066c565b6000918252602090912001546001600160a01b031603620004c55760019150620004da565b80620004d18162000698565b9150506200046f565b5081151583151514620004f157620004f162000656565b8115158115151462000507576200050762000656565b8554604085015160ff91821691161062000525576200052562000656565b505050505050505050565b6000806200035d60017f49bca747e973430e858f2f5de357b8dba36ea6d375b81bdb5d53dfaabf0b3a80620006ca565b6000806200035d60017ffd6568c039679b3b7cc93c26c41d9379b7b1bec1677120493b467688302cb120620006ca565b80518015158114620005a157600080fd5b919050565b600080600080600060a08688031215620005bf57600080fd5b85516001600160a01b0381168114620005d757600080fd5b602087015190955060028110620005ed57600080fd5b604087015190945061ffff811681146200060657600080fd5b60608701519093506001600160401b03811681146200062457600080fd5b9150620006346080870162000590565b90509295509295909350565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620006ad57620006ad62000682565b5060010190565b808201808211156200035d576200035d62000682565b818103818111156200035d576200035d62000682565b60805160a05160c05160e051610100516101205161014051616246620008146000396000611abb01526000818161066601528181611b8001528181611bd00152614c100152600081816103dd01528181610cf70152818161277d015281816127ef015281816128ad01528181612b620152614b5e015260008181613dc90152613e0501526000818161083401528181610c56015281816127bf0152818161284a01528181612ac801528181612afc01528181612b2b01528181612bad01528181612c1801528181612de30152614abc015260006126710152600081816104a4015281816110300152818161167c01528181611ea801528181611f09015281816135fb015281816137210152818161378701528181613a610152818161411a0152818161431c015261436c01526162466000f3fe6080604052600436106102675760003560e01c80638da5cb5b11610144578063b187bd26116100b6578063e5a986031161007a578063e5a98603146107b8578063e75235b8146107d8578063f2fde38b146107ed578063f5cfec181461080d578063fc0c546a14610822578063fd96063c1461085657600080fd5b8063b187bd2614610703578063b4d591bb14610718578063c128d1701461073a578063d788c14714610778578063da4856a11461079857600080fd5b806397c351461161010857806397c35146146106415780639a8a0592146106545780639d7824541461069b5780639f86029c146106bb5780639fd0506d146106db578063a2713356146106f057600080fd5b80638da5cb5b1461059e5780638e3ba8c9146105cb5780638fd3ab80146105eb57806393acc09e14610600578063961b94d01461062e57600080fd5b80633b97e856116101dd5780637c918634116101a15780637c918634146104c65780638129fc1c146104e65780638413bcba146104fb5780638456cb591461051b57806386e11ffa1461053057806389c619dd1461057e57600080fd5b80633b97e8561461042c5780633f4ba83a146104535780634b4fd03b14610468578063689f90c31461047d57806374aa7bfc1461049257600080fd5b8063190171751161022f57806319017175146103315780631f97c9a814610351578063203e4a9b1461037e57806323d75e311461039e578063295a5212146103cb578063396c16b71461040c57600080fd5b8063027172501461026c578063036de8af1461029f5780630677df54146102c15780630900f010146102f1578063186ce61214610311575b600080fd5b34801561027857600080fd5b5061028c6102873660046152fe565b6108b3565b6040519081526020015b60405180910390f35b3480156102ab57600080fd5b506102bf6102ba366004615330565b6108f0565b005b3480156102cd57600080fd5b506102e16102dc36600461534d565b61095c565b6040519015158152602001610296565b3480156102fd57600080fd5b506102bf61030c366004615330565b610991565b34801561031d57600080fd5b506102bf61032c366004615366565b6109a5565b34801561033d57600080fd5b506102bf61034c36600461534d565b6109d2565b34801561035d57600080fd5b5061037161036c3660046153ab565b6109fd565b6040516102969190615418565b34801561038a57600080fd5b506102bf610399366004615330565b610b4c565b3480156103aa57600080fd5b506103b3610be6565b6040516001600160401b039091168152602001610296565b3480156103d757600080fd5b506103ff7f000000000000000000000000000000000000000000000000000000000000000081565b6040516102969190615499565b34801561041857600080fd5b506102e161042736600461534d565b610bff565b34801561043857600080fd5b50610441610c1d565b60405160ff9091168152602001610296565b34801561045f57600080fd5b506102bf610cde565b34801561047457600080fd5b50610441610cf3565b34801561048957600080fd5b506102e1610d2c565b34801561049e57600080fd5b506103b37f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d257600080fd5b506102bf6104e13660046154d0565b610d3f565b3480156104f257600080fd5b506102bf610ebb565b34801561050757600080fd5b506102bf61051636600461534d565b610fbd565b34801561052757600080fd5b506102bf611108565b34801561053c57600080fd5b5061054561111b565b6040805182516001600160481b03908116825260208085015190911690820152918101516001600160401b031690820152606001610296565b34801561058a57600080fd5b5061044161059936600461534d565b61117f565b3480156105aa57600080fd5b506105b3611198565b6040516001600160a01b039091168152602001610296565b3480156105d757600080fd5b506102e16105e6366004615518565b6111c6565b3480156105f757600080fd5b506102bf611200565b34801561060c57600080fd5b5061062061061b3660046156ba565b611302565b6040516102969291906157e6565b6103b361063c36600461582e565b611482565b6103b361064f3660046153ab565b6114f9565b34801561066057600080fd5b506106887f000000000000000000000000000000000000000000000000000000000000000081565b60405161ffff9091168152602001610296565b3480156106a757600080fd5b506102bf6106b6366004615866565b61179a565b3480156106c757600080fd5b506102bf6106d6366004615330565b611837565b3480156106e757600080fd5b506105b36118d0565b6103b36106fe36600461592a565b6118e9565b34801561070f57600080fd5b506102e1611948565b34801561072457600080fd5b5061072d61195d565b604051610296919061599f565b34801561074657600080fd5b5061075a6107553660046152fe565b6119c5565b604080518251815260209283015160ff169281019290925201610296565b34801561078457600080fd5b506105456107933660046152fe565b611a15565b3480156107a457600080fd5b506102bf6107b3366004615866565b611a90565b3480156107c457600080fd5b506102bf6107d33660046159ec565b611ca1565b3480156107e457600080fd5b50610441611d2c565b3480156107f957600080fd5b506102bf610808366004615330565b611d36565b34801561081957600080fd5b5061028c611df4565b34801561082e57600080fd5b506105b37f000000000000000000000000000000000000000000000000000000000000000081565b34801561086257600080fd5b5061087661087136600461534d565b611e2a565b6040805182516001600160481b031681526020808401516001600160401b031690820152918101516001600160a01b031690820152606001610296565b6000806108c76108c284611a15565b611ea4565b905060006108d3610c1d565b90506108e86001600160481b03831682611fa9565b949350505050565b6109006108fb611198565b611fd3565b600061090a61201c565b80546001600160a01b038481166001600160a01b031983168117845560405193945091169182907f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef690600090a3505050565b600080610967611d2c565b90508060ff166109768461117f565b60ff161015801561098a575060008160ff16115b9392505050565b61099961204a565b6109a28161207c565b50565b6109ad61204a565b60006109b7610c1d565b90506109cd6109c784838061218a565b836121d7565b505050565b6109da61204a565b60006109e4610c1d565b90506109f96109f483838061218a565b6121fc565b5050565b6040805160c0810182526000808252602082018190529181018290526060808201839052608082019290925260a0810191909152610a3961220d565b6001600160401b0383811660009081526020928352604090819020815160c0810183528154815260018201546001600160481b03811695820195909552600160481b850490931691830191909152600160881b90920461ffff16606082015260028201546001600160a01b0316608082015260038201805491929160a084019190610ac390615a09565b80601f0160208091040260200160405190810160405280929190818152602001828054610aef90615a09565b8015610b3c5780601f10610b1157610100808354040283529160200191610b3c565b820191906000526020600020905b815481529060010190602001808311610b1f57829003601f168201915b5050505050815250509050919050565b610b5461204a565b610b5d8161223b565b506000610b686124ed565b805490915060ff16600003610b8357805460ff191660011781555b7ff05962b5774c658e85ed80c91a75af9d66d2af2253dda480f90bce78aff5eda582610bad61251b565b548354604080516001600160a01b03909416845261010090920460ff908116602085015216908201526060015b60405180910390a15050565b6000610bf0612549565b546001600160401b0316919050565b6000610c09612577565b600092835260205250604090205460ff1690565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b179052905160009182916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691610c8091615a43565b600060405180830381855afa9150503d8060008114610cbb576040519150601f19603f3d011682016040523d82523d6000602084013e610cc0565b606091505b5091505080806020019051810190610cd89190615a5f565b91505090565b610ce96108fb611198565b610cf16125a5565b565b60007f00000000000000000000000000000000000000000000000000000000000000006001811115610d2757610d27615483565b905090565b6000610d3661260b565b5460ff16919050565b610d4761204a565b8361ffff16600003610d6c5760405163100b0f2760e11b815260040160405180910390fd5b82610d8a5760405163f839a0cb60e01b815260040160405180910390fd5b8160ff16600003610dae5760405163ade64f0b60e01b815260040160405180910390fd5b6000610db8612639565b61ffff8616600090815260209182526040908190208151808301909252805482526001015460ff1691810191909152905083610df2612639565b61ffff87166000908152602091909152604090205582610e10612639565b61ffff8716600090815260209190915260408120600101805460ff191660ff9390931692909217909155610e42610c1d565b9050610e58610e5284838061218a565b876121d7565b81516020808401516040805193845260ff918216928401929092529082018790528516606082015261ffff8716907f1456404e7f41f35c3daac941bb50bad417a66275c3040061b4287d787719599d9060800160405180910390a2505050505050565b610ec3612667565b6000805160206161f18339815191528054600160401b810460ff1615906001600160401b0316600081158015610ef65750825b90506000826001600160401b03166001148015610f125750303b155b905081158015610f20575080155b15610f3e5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f6857845460ff60401b1916600160401b1785555b610f706126b0565b8315610fb657845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b610fc56126c8565b610fcd611948565b15610feb576040516309e3d0f360e11b815260040160405180910390fd5b6000610ff682611e2a565b905080602001516001600160401b031660000361102e57604051630301bcaf60e61b8152600481018390526024015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031681602001516001600160401b0316426110719190615a92565b10156110a85760208101516040516301cb739d60e71b8152600481018490526001600160401b039091166024820152604401611025565b6110b0612700565b600083815260209190915260409081902080546001600160881b031916815560010180546001600160a01b031916905581015181516110f091849161272e565b506109a260016000805160206161d183398151915255565b6111136108fb611198565b610cf1612910565b6040805160608101825260008082526020820181905291810191909152611140612971565b6040805160608101825291546001600160481b038082168452600160481b8204166020840152600160901b90046001600160401b031690820152919050565b600061119261118d8361299f565b6129db565b92915050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b600080600160ff84161b6111d8612577565b600086815260209190915260409020546101009004166001600160401b031611905092915050565b611208612667565b611210612a0e565b61121b906001615aa5565b6000805160206161f18339815191528054600160401b900460ff168061124e575080546001600160401b03808416911610155b1561126c5760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff19166001600160401b03831617600160401b178155611295612a24565b5460ff166112b657604051632866815360e11b815260040160405180910390fd5b6112be6126b8565b805460ff60401b191681556040516001600160401b03831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602001610bda565b805160609060009081611313612a52565b90506000826001600160401b0381111561132f5761132f61553d565b604051908082528060200260200182016040528015611358578160200160208202803683370190505b5090506000805b8481101561147157600088828151811061137b5761137b615acc565b6020908102919091018101516001600160a01b03811660008181529288905260408320548d5192945062010000900460ff16929163b5634c73908f908f90869081106113c9576113c9615acc565b60200260200101516040518363ffffffff1660e01b81526004016113ee929190615b04565b602060405180830381865afa15801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142f9190615b21565b90508086858151811061144457611444615acc565b60209081029190910101526114598186615b3a565b9450505050808061146990615b4d565b91505061135f565b50909450925050505b935093915050565b600061148c6126c8565b611494611948565b156114b2576040516309e3d0f360e11b815260040160405180910390fd5b6040805160018082528183019092526114e09186918691869160009160208201818036833701905050612a80565b905061098a60016000805160206161d183398151915255565b60006115036126c8565b61150b611948565b15611529576040516309e3d0f360e11b815260040160405180910390fd5b600061153361220d565b6001600160401b0384811660009081526020928352604090819020815160c0810183528154815260018201546001600160481b03811695820195909552600160481b850490931691830191909152600160881b90920461ffff16606082015260028201546001600160a01b0316608082015260038201805491929160a0840191906115bd90615a09565b80601f01602080910402602001604051908101604052809291908181526020018280546115e990615a09565b80156116365780601f1061160b57610100808354040283529160200191611636565b820191906000526020600020905b81548152906001019060200180831161161957829003601f168201915b505050505081525050905080604001516001600160401b031660000361167a57604051635feafa3160e11b81526001600160401b0384166004820152602401611025565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031681604001516001600160401b0316426116bd9190615a92565b10156116f557604080820151905163c06cf05f60e01b81526001600160401b0380861660048301529091166024820152604401611025565b6116fd61220d565b6001600160401b03841660009081526020919091526040812081815560018101805472ffffffffffffffffffffffffffffffffffffff191690556002810180546001600160a01b03191690559061175760038301826152a4565b505061177b8382602001518360600151846000015185608001518660a00151612da3565b91505061179560016000805160206161d183398151915255565b919050565b6117a2612a52565b3360009081526020919091526040902054610100900460ff166117da5760405163a0ae911d60e01b8152336004820152602401611025565b6117e2611948565b15611800576040516309e3d0f360e11b815260040160405180910390fd5b61180a8383613030565b60006118168483613079565b90506118218161095c565b1561183157611831848484611a90565b50505050565b61183f61204a565b6118488161314e565b60006118526124ed565b9050600061185e61251b565b54825460ff610100909204821692501681101561188357815460ff191660ff82161782555b8154604080516001600160a01b038616815260ff90921660208301527f697a3853515b88013ad432f29f53d406debc9509ed6d9313dcfe115250fcd18f91015b60405180910390a1505050565b60006118da61201c565b546001600160a01b0316919050565b60006118f36126c8565b6118fb611948565b15611919576040516309e3d0f360e11b815260040160405180910390fd5b6119268686868686612a80565b905061193f60016000805160206161d183398151915255565b95945050505050565b600080611953613416565b5460021492915050565b6060611967613444565b8054806020026020016040519081016040528092919081815260200182805480156119bb57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161199d575b5050505050905090565b60408051808201909152600080825260208201526119e1612639565b61ffff909216600090815260209283526040908190208151808301909252805482526001015460ff16928101929092525090565b6040805160608101825260008082526020820181905291810191909152611a3a613471565b61ffff9290921660009081526020928352604090819020815160608101835290546001600160481b038082168352600160481b82041694820194909452600160901b9093046001600160401b0316908301525090565b611a98611948565b15611ab6576040516309e3d0f360e11b815260040160405180910390fd5b611adf7f000000000000000000000000000000000000000000000000000000000000000061349f565b600080611aed8585856134c8565b915091508015611afe575050505050565b6040808401519051635399ded560e11b815260009173__$93083e246e55d56d98f3df2872cd16bfd0$__9163a733bdaa91611b3b91600401615b66565b608060405180830381865af4158015611b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7c9190615b79565b90507f000000000000000000000000000000000000000000000000000000000000000061ffff16816060015161ffff1614611bff576060810151604051631ee5902560e11b815261ffff91821660048201527f00000000000000000000000000000000000000000000000000000000000000009091166024820152604401611025565b6000611c09610c1d565b90506000611c398283611c328587600001516001600160481b0316611fa990919063ffffffff16565b919061218a565b90506000611c4a84604001516135cb565b90506000611c58838b6135f7565b90508015611c7757611c6b878484613646565b50505050505050505050565b50611c82828a61371f565b611c8b82613785565b611c9686828461272e565b505050505050505050565b611ca961204a565b8060ff16600003611ccd5760405163831761d760e01b815260040160405180910390fd5b6000611cd76124ed565b805460ff84811660ff19831617835591925016611cf26137d5565b6040805160ff8084168252851660208201527f2a855b929b9a53c6fb5b5ed248b27e502b709c088e036a5aa17620c8fc5085a991016118c3565b6000610d366124ed565b611d3e61204a565b611d4781613876565b6000611d516138b1565b9050611d5b6138df565b60005b81548110156109cd57818181548110611d7957611d79615acc565b600091825260209091200154604051632c7b84dd60e11b81526001600160a01b038581166004830152909116906358f709ba90602401600060405180830381600087803b158015611dc957600080fd5b505af1158015611ddd573d6000803e3d6000fd5b505050508080611dec90615b4d565b915050611d5e565b600080611e026108c261111b565b90506000611e0e610c1d565b9050611e236001600160481b03831682611fa9565b9250505090565b6040805160608101825260008082526020820181905291810191909152611e4f612700565b60009283526020908152604092839020835160608101855281546001600160481b0381168252600160481b90046001600160401b031692810192909252600101546001600160a01b0316928101929092525090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600003611eef57602082015160ff1668ffffffffffffffff0017611192565b604082015182516001600160401b039182164203916000917f0000000000000000000000000000000000000000000000000000000000000000821691849160081c166001600160401b03160281611f4857611f48615bf9565b602086015186516001600160401b03600892831c811694909304939093019350600092611f7b9285929190911c16613930565b905061193f611f8982613946565b602087015160ff1660ff1660089190911b68ffffffffffffffff00161790565b60006001600160401b03600884901c1660ff841682611fc98383876139ae565b9695505050505050565b33611fdc6118d0565b6001600160a01b031614158015611ffc57506001600160a01b0381163314155b156109a25760405163e2a08e5d60e01b8152336004820152602401611025565b60008061119260017fbfa91572ce1e5fe8776a160d3b1f862e83f5ee2c080a7423b4761602a3ad124a615a92565b33612053611198565b6001600160a01b031614610cf15760405163118cdaa760e01b8152336004820152602401611025565b612084612667565b61208d81613a17565b6000612097612a24565b805490915060ff16156120ac576120ac615c0f565b805460ff191660011781556040805163011fa75760e71b815290513091638fd3ab8091600480830192600092919082900301818387803b1580156120ef57600080fd5b505af1158015612103573d6000803e3d6000fd5b50505050306001600160a01b031663689f90c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121699190615c25565b61217557612175613a57565b61217f6000613b01565b805460ff1916905550565b6000806121a161219b600886613b1c565b84613b1c565b905060006121b08686846139ae565b9050611fc96121be82613946565b8360ff1660089190911b68ffffffffffffffff00161790565b6109f9826121e3613471565b61ffff8416600090815260209190915260409020613b31565b6109a281612208612971565b613b31565b60008061119260017f852fa0677fef8612c6c15b518c9fa56761e9ed15cfd5c6e5399e5467985ac7ee615a92565b600080612246612a52565b90506000612252613c3a565b9050600061225e613444565b9050600061226a61251b565b90506001600160a01b03861661229357604051632f44bd7760e01b815260040160405180910390fd5b6001600160a01b03861660009081526020859052604090205460ff16156122de576001600160a01b0386166000908152602085905260409020805461ff0019166101001790556123db565b8054604060ff909116106123055760405163891684c360e01b815260040160405180910390fd5b6040805160608101825260018082526020808301918252845460ff9081168486019081526001600160a01b038c166000908152928a905294822093518454935195518216620100000262ff0000199615156101000261ff00199215159290921661ffff1990951694909417179490941691909117909155825490911690829061238d83615c42565b91906101000a81548160ff021916908360ff160217905550506123ae6138b1565b8054600181018255600091825260209091200180546001600160a01b0319166001600160a01b0388161790555b81546001808201845560008481526020902090910180546001600160a01b0319166001600160a01b0389161790558154610100900460ff1690829061241f83615c42565b82546101009290920a60ff8181021990931691831602179091556001600160a01b03881660009081526020879052604090205485546001620100009092049092161b6001600160401b039182168181179350911681170361249e57604051638d68f84d60e01b81526001600160a01b0388166004820152602401611025565b835467ffffffffffffffff19166001600160401b0382161784556124c0613c68565b505050506001600160a01b0392909216600090815260209290925250604090205462010000900460ff1690565b60008061119260017f47028352a8b3feae1a85fba43bc13f990568bb1637dce33d3dbfd791a0808b80615a92565b60008061119260017f8561949d1c6242cee5c5a5aeb6b9c190ee611d7742fcec65d9e5b1341ea04d8a615a92565b60008061119260017fad78307a8b51804c575f26039dcb87c58925afb3b7c08732f3b21b942aed7a77615a92565b60008061119260017f68dfeeddfa5e4e9adceec01a3aba274bdcbab3f6ac9956417a4332f2b08abddb615a92565b6125ad611948565b6125ca57604051637e38d1d360e11b815260040160405180910390fd5b6125d46001613da9565b604051600081527fe11c2112add17fb763d3bd59f63b10429c3e11373da4fb8ef6725107a2fdc4b0906020015b60405180910390a1565b60008061119260017f5443fea4dc453d96b81ce55b62e11a4094cc4cbb8a360956a7253cfdb42506cc615a92565b60008061119260017febcc9f646b0f459ff8f387587d536b0af3484cf442e1577400f322334e7d1ef1615a92565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610cf157604051633c64f99360e21b815260040160405180910390fd5b6126b8613db6565b6126c06137d5565b610cf1613c68565b6000805160206161d18339815191528054600119016126fa57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b60008061119260017f4e8909a01183a67951f5a6147d6e76ed02ea890c72afea01a9edee91edc609b9615a92565b600061274b61273b610c1d565b6001600160481b03841690611fa9565b60405190915084907f504e6efe18ab9eed10dc6501a417f5b12a2f7f2b1593aed9b89f9bce3cf29a9190600090a260007f000000000000000000000000000000000000000000000000000000000000000060018111156127ad576127ad615483565b036127eb576127e66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483613e5d565b611831565b60017f0000000000000000000000000000000000000000000000000000000000000000600181111561281f5761281f615483565b036128ab576040516340c10f1960e01b81526001600160a01b038481166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b15801561288e57600080fd5b505af11580156128a2573d6000803e3d6000fd5b50505050611831565b7f000000000000000000000000000000000000000000000000000000000000000060018111156128dd576128dd615483565b6040516366001a8960e01b815260ff9091166004820152602401611025565b60016000805160206161d183398151915255565b612918611948565b15612936576040516309e3d0f360e11b815260040160405180910390fd5b6129406002613da9565b604051600181527f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd290602001612601565b60008061119260017f7c25289a27ec8c9be54d4a154cf80490d69bda989cdb8328232e08fea9220421615a92565b6000806129aa613ec0565b9050806129b5612577565b60009485526020526040909320546101009004929092166001600160401b031692915050565b60005b6001600160401b03821615611795576129f8600183615c61565b9091169080612a0681615c42565b9150506129de565b60006000805160206161f1833981519152610bf0565b60008061119260017f7487ca88d037ca20519908b1ee7556206bef53bce0226a348750cb9d4f688e4f615a92565b60008061119260017f49bca747e973430e858f2f5de357b8dba36ea6d375b81bdb5d53dfaabf0b3a80615a92565b600085600003612aa357604051631f2a200560e01b815260040160405180910390fd5b83612ac157604051634e46966960e11b815260040160405180910390fd5b6000612aed7f000000000000000000000000000000000000000000000000000000000000000030613eca565b9050612b246001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308a613f7a565b6000612b507f000000000000000000000000000000000000000000000000000000000000000030613eca565b9050612b5c8282615a92565b975060017f00000000000000000000000000000000000000000000000000000000000000006001811115612b9257612b92615483565b03612c6b57604051630852cd8d60e31b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015612bf957600080fd5b505af1158015612c0d573d6000803e3d6000fd5b505050506000612c3d7f000000000000000000000000000000000000000000000000000000000000000030613eca565b9050808314612c69576040516302156a8f60e01b81526004810184905260248101829052604401611025565b505b50506000612c798787613fb2565b90506000612c98612c88610c1d565b6001600160481b0384169061406a565b90506000612ca46140b9565b90506000612cb183614116565b905086158015612cbe5750805b15612cef57612ccb611df4565b6040516326fb55dd60e01b81526004810191909152602481018b9052604401611025565b868015612cf95750805b15612d7457337ff33512b84e24a49905c26c6991942fc5a9652411769fc1e448f967cdb049f08a838c612d2a611df4565b604080516001600160401b03909416845260208401929092529082015260600160405180910390a2612d6082858b8b338b614164565b612d69346142ae565b50925061193f915050565b50612d7e8261431a565b612d88828961436a565b612d9681848a8a338a612da3565b9998505050505050505050565b6000806000806000612db589876143d0565b935093509350935060008b9050600060405180608001604052808d6001600160481b03168152602001612e0e7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690565b81526020018b81526020018c61ffff168152509050600073__$93083e246e55d56d98f3df2872cd16bfd0$__638b4979b86040518060600160405280866001600160401b031660001b8152602001612e6c8e6001600160a01b031690565b8152604080516315cfa3cb60e11b815287516001600160481b031660048201526020888101516024830152918801516044820152606088015161ffff16606482015291019073__$93083e246e55d56d98f3df2872cd16bfd0$__90632b9f479690608401600060405180830381865af4158015612eed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f159190810190615cc6565b8152506040518263ffffffff1660e01b8152600401612f349190615d23565b600060405180830381865af4158015612f51573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f799190810190615cc6565b9050612fa58c612f87612639565b61ffff8f166000908152602091909152604090205487898b8661454f565b8c8c7f9716fe52fe4e02cf924ae28f19f5748ef59877c6496041b986fbad3dae6a8ecf8d612fe4612fd4610c1d565b6001600160481b03861690611fa9565b604080519283526020830191909152810188905261ffff831660608201526001600160401b038716608082015260a00160405180910390a1509d9e9d5050505050505050505050505050565b80613039612639565b61ffff841660009081526020919091526040902054146109f957604051635788c0fd60e11b815261ffff8316600482015260248101829052604401611025565b60008073__$93083e246e55d56d98f3df2872cd16bfd0$__63b3f07bbd85856040518363ffffffff1660e01b81526004016130b5929190615d36565b602060405180830381865af41580156130d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f69190615b21565b905061312381613104612a52565b336000908152602091909152604090205462010000900460ff166111c6565b1561314457604051631089c4a160e11b815260048101829052602401611025565b61098a813361468c565b6000613158612a52565b90506000613164613c3a565b90506000613170613444565b90506001600160a01b03841661319957604051632f44bd7760e01b815260040160405180910390fd5b6001600160a01b03841660009081526020849052604090205460ff166131dd57604051630d583f4760e41b81526001600160a01b0385166004820152602401611025565b6001600160a01b038416600090815260208490526040902054610100900460ff16613226576040516307d86e9160e21b81526001600160a01b0385166004820152602401611025565b6001600160a01b0384166000908152602084905260409020805461ff001916905561324f61251b565b8054610100900460ff1690600161326583615d53565b82546101009290920a60ff8181021990931691831602179091556001600160a01b03861660009081526020869052604090205484546001600160401b036001620100009093049093169190911b198116821692501681106132c8576132c8615c0f565b825467ffffffffffffffff19166001600160401b0382161783558154600090815b818110156133ee57876001600160a01b031685828154811061330d5761330d615acc565b6000918252602090912001546001600160a01b0316036133dc5784613333600184615a92565b8154811061334357613343615acc565b9060005260206000200160009054906101000a90046001600160a01b031685828154811061337357613373615acc565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550848054806133b1576133b1615d70565b600082815260209020810160001990810180546001600160a01b0319169055019055600192506133ee565b806133e681615b4d565b9150506132e9565b50816133fc576133fc615c0f565b613404613c68565b61340d8761472d565b50505050505050565b60008061119260017f64bacf405c5d7f563d3ba5252584a52c37e4fee380fd825b10666c27b8258023615a92565b60008061119260017e758a264b9bdbe3295fe36bd6ff7abaa122f48bf70e90af04a1b8a32d21e4e2615a92565b60008061119260017fefb21dcaedea63b55c44882f329622e13a8d0f5b947b3a372826208a9003da16615a92565b4681146109a2576040516377d879fb60e01b815260048101829052466024820152604401611025565b600080600073__$93083e246e55d56d98f3df2872cd16bfd0$__63b3f07bbd87866040518363ffffffff1660e01b8152600401613506929190615d36565b602060405180830381865af4158015613523573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135479190615b21565b90506135528161095c565b61357257604051630451c4fb60e41b815260048101829052602401611025565b600061357d826148a1565b905080156135bf57604051829087907f4069dff8c9df7e38d2867c0910bd96fd61787695e5380281148c04932d02bef290600090a360009350915061147a9050565b90969095509350505050565b600060a082901c156135f35760405163033b960d60e41b815260048101839052602401611025565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361363157600061098a565b61098a6136406108c284611a15565b846148e2565b6040518060600160405280836001600160481b03168152602001426001600160401b03168152602001826001600160a01b0316815250613684612700565b6000858152602091825260409081902083518154858501516001600160481b039092166001600160881b031990911617600160481b6001600160401b039092169190910217815592810151600190930180546001600160a01b0319166001600160a01b039094169390931790925590518481527f7f63c9251d82a933210c2b6d0b0f116252c3c116788120e64e8e8215df6f316291016118c3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600003613754575050565b6109f9826137646108c284611a15565b61376c613471565b61ffff85166000908152602091909152604090206148ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166000036137b95750565b6109a2816137c86108c261111b565b6137d0612971565b614947565b60006137df6124ed565b5460ff16905060006137ef61251b565b60408051808201909152905460ff8082168352610100909104811660208301819052919250831611156138485760208101516040516313c3d1b160e01b815260ff80851660048301529091166024820152604401611025565b805160ff16156109f9578160ff166000036109f95760405163831761d760e01b815260040160405180910390fd5b61387e61204a565b6001600160a01b0381166138a857604051631e4fbdf760e01b815260006004820152602401611025565b6109a28161499b565b60008061119260017f3031d39df71efbb605646fc51d7571499445af538fa6dd17ce8c07e8118ed979615a92565b6138e761251b565b5460ff166138f36138b1565b5414610cf1576139016138b1565b5461390a61251b565b5460405163d2a13a2960e01b8152600481019290925260ff166024820152604401611025565b600081831061393f578161098a565b5090919050565b60006001600160401b038211156135f35760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401611025565b60008160ff168360ff16036139c457508261098a565b8160ff168360ff1611156139f8576139dc8284615d86565b6139e790600a615e83565b6139f19085615e92565b905061098a565b613a028383615d86565b613a0d90600a615e83565b6139f19085615eb4565b613a2081614a0c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b613a5f614aba565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316306001600160a01b03166374aa7bfc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aeb9190615ecb565b6001600160401b031614610cf157610cf1615c0f565b80613b0a61260b565b805460ff191691151591909117905550565b60008160ff168360ff161061393f578161098a565b80546001600160481b0316613b4581614ca6565b15613b7357815468ffffffffffffffffff60481b1916600160481b6001600160481b03851602178255613bf3565b6040805160608101825283546001600160481b038082168352600160481b8204166020830152600160901b90046001600160401b031691810191909152600090613bbc90611ea4565b9050613bc9848383614cc6565b83546001600160481b0391909116600160481b0268ffffffffffffffffff60481b19909116178355505b5080546001600160481b039290921679ffffffffffffffff000000000000000000ffffffffffffffffff1990921691909117600160901b426001600160401b031602179055565b60008061119260017ffd6568c039679b3b7cc93c26c41d9379b7b1bec1677120493b467688302cb120615a92565b6000613c7261251b565b90506000613c7e613444565b82548154919250610100900460ff16908114613c9c57613c9c615c0f565b60005b81811015613ce857613cd6838281548110613cbc57613cbc615acc565b6000918252602090912001546001600160a01b031661472d565b80613ce081615b4d565b915050613c9f565b5060005b81811015613d91576000613d01826001615b3a565b90505b82811015613d7e57838181548110613d1e57613d1e615acc565b60009182526020909120015484546001600160a01b0390911690859084908110613d4a57613d4a615acc565b6000918252602090912001546001600160a01b031603613d6c57613d6c615c0f565b80613d7681615b4d565b915050613d04565b5080613d8981615b4d565b915050613cec565b508254604060ff90911611156109cd576109cd615c0f565b80613db2613416565b5550565b613dbe614d68565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614613e3857604051636345072160e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152336024820152604401611025565b613e423333614d9f565b613e4a614db9565b610cf16109f4613e58610c1d565b614dc9565b6040516001600160a01b0383166024820152604481018290526109cd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614ded565b6000610bf0613c3a565b604080516001600160a01b0383811660248084019190915283518084039091018152604490920183526020820180516001600160e01b03166370a0823160e01b1790529151600092839290861691613f229190615a43565b600060405180830381855afa9150503d8060008114613f5d576040519150601f19603f3d011682016040523d82523d6000602084013e613f62565b606091505b50915050808060200190518101906108e89190615b21565b6040516001600160a01b03808516602483015283166044820152606481018290526118319085906323b872dd60e01b90608401613e89565b600080613fbd612639565b61ffff84166000908152602091909152604081206001015460ff169150819003613ffa5760405163ade64f0b60e01b815260040160405180910390fd5b600080614005610c1d565b905061401286828561218a565b915060006140296001600160481b03841683611fa9565b905080871461405f578661403d8282615a92565b6040516338f831a560e11b815260048101929092526024820152604401611025565b509095945050505050565b600080614078600884613b1c565b90506108e86140a061409b6001600160401b03600888901c1660ff8816856139ae565b613946565b8260ff1660089190911b68ffffffffffffffff00161790565b60006140c3612549565b546001600160401b031690506140d7612549565b80546001600160401b03169060006140ee83615ee8565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600003614150576000611192565b61119261415e6108c261111b565b836148e2565b6040518060c00160405280848152602001866001600160481b03168152602001426001600160401b031681526020018561ffff168152602001836001600160a01b03168152602001828152506141b861220d565b6001600160401b0380891660009081526020928352604090819020845181559284015160018401805492860151606087015161ffff16600160881b0261ffff60881b1991909516600160481b026001600160881b03199094166001600160481b0390931692909217929092171691909117905560808201516002820180546001600160a01b039092166001600160a01b031990921691909117905560a082015160038201906142679082615f5c565b50506040516001600160401b03881681527f69add1952a6a6b9cb86f04d05f0cb605cbb469a50ae916139d34495a9991481f915060200160405180910390a1505050505050565b604051600090339083908381818185875af1925050503d80600081146142f0576040519150601f19603f3d011682016040523d82523d6000602084013e6142f5565b606091505b50509050806109f957604051630b288dc560e21b815260048101839052602401611025565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361434e5750565b6109a28161435d6108c261111b565b614365612971565b6148ee565b7f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660000361439f575050565b6109f9826143af6108c284611a15565b6143b7613471565b61ffff8516600090815260209190915260409020614947565b60608060606000806143e0613444565b80548060200260200160405190810160405280929190818152602001828054801561443457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311614416575b50505050509050606060008251905080600003614464576040516334e7b19560e11b815260040160405180910390fd5b604051635b10743960e11b815273__$93083e246e55d56d98f3df2872cd16bfd0$__9063b620e8729061449d908b90859060040161601b565b600060405180830381865af41580156144ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526144e2919081019061603d565b9150506000806144f38a8486611302565b9150915080341015614521576040516306a91e3760e51b815260048101829052346024820152604401611025565b600061452d8234615a92565b9050801561453e5761453e816142ae565b509299919850965090945092505050565b8151600061455b612a52565b90508661458157604051630ebc95af60e21b815261ffff89166004820152602401611025565b60005b82811015611c965760008582815181106145a0576145a0615acc565b60200260200101519050806001600160a01b031663ee1d0c628984815181106145cb576145cb615acc565b60200260200101518c8a876000876001600160a01b03166001600160a01b0316815260200190815260200160002060000160029054906101000a900460ff1660ff168151811061461d5761461d615acc565b6020026020010151898e6040518663ffffffff1660e01b81526004016146469493929190616134565b6000604051808303818588803b15801561465f57600080fd5b505af1158015614673573d6000803e3d6000fd5b505050505050808061468490615b4d565b915050614584565b6146c082614698612a52565b6001600160a01b0384166000908152602091909152604090205462010000900460ff16614ebf565b7f35a2101eaac94b493e0dfca061f9a7f087913fde8678e7cde0aca9897edba0e582826146eb612a52565b6001600160a01b038581166000908152602092835260409081902054815195865293909116918401919091526201000090910460ff1690820152606001610bda565b6000614737612a52565b90506000614743613c3a565b9050600061474f61251b565b9050600061475b613444565b6001600160a01b038616600090815260208681526040918290208251606081018452905460ff80821615158084526101008304821615159484019490945262010000909104169281019290925291925090806147c9575080602001511580156147c95750604081015160ff16155b6147d5576147d5615c0f565b604081015184546020830151600160ff9093169290921b166001600160401b03161515906000805b8654610100900460ff1681101561485f57896001600160a01b031686828154811061482a5761482a615acc565b6000918252602090912001546001600160a01b03160361484d576001915061485f565b8061485781615b4d565b9150506147fd565b508115158315151461487357614873615c0f565b8115158115151461488657614886615c0f565b8554604085015160ff918216911610611c9657611c96615c0f565b60006148ac82610bff565b156148b957506001919050565b60016148c3612577565b600093845260205260408320805460ff19169115159190911790555090565b600061098a8383614f0d565b805467ffffffffffffffff60901b1916600160901b426001600160401b03160217815561491b8284614f32565b81546001600160481b0391909116600160481b0268ffffffffffffffffff60481b199091161790555050565b80546001600160401b034216600160901b0267ffffffffffffffff60901b1982168117835561491b916001600160481b03918216908216179061498c90851686614f77565b6001600160481b031690614fda565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6001600160a01b0381163b614a795760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611025565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b469190616175565b6001600160a01b031614614b5c57614b5c615c0f565b7f00000000000000000000000000000000000000000000000000000000000000006001811115614b8e57614b8e615483565b306001600160a01b031663295a52126040518163ffffffff1660e01b8152600401602060405180830381865afa158015614bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bf09190616192565b6001811115614c0157614c01615483565b14614c0e57614c0e615c0f565b7f000000000000000000000000000000000000000000000000000000000000000061ffff16306001600160a01b0316639a8a05926040518163ffffffff1660e01b8152600401602060405180830381865afa158015614c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c9591906161b3565b61ffff1614610cf157610cf1615c0f565b60006001600160401b03600883901c1615801561119257505060ff161590565b600080614cd38486615006565b15614d0c57614ce28486614f32565b9050614cee8382615006565b614cfb5760ff8316614d05565b614d058382614f32565b9150614d25565b614d168585614f32565b9050614d22838261502b565b91505b614d2f8286615006565b15614d6057604051631e74e8fb60e31b81526001600160481b03808416600483015286166024820152604401611025565b509392505050565b6000805160206161f183398151915254600160401b900460ff16610cf157604051631afcd79f60e31b815260040160405180910390fd5b614da7614d68565b614db082615070565b6109f981615081565b614dc1614d68565b610cf1615092565b600080614dd7600884613b1c565b905068ffffffffffffffff0060ff82161761098a565b6000614e42826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661509a9092919063ffffffff16565b8051909150156109cd5780806020019051810190614e609190615c25565b6109cd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611025565b600160ff82161b614ece612577565b60009384526020526040909220805468ffffffffffffffff00198116610100918290046001600160401b03908116951694909417029290921790915550565b6000614f1983836150a9565b506001600160401b03600891821c81169290911c161090565b6000614f3e83836150a9565b61098a614f5e6001600160401b03600885811c8216919087901c16615c61565b68ffffffffffffffff0060089190911b1660ff85161790565b6000614f8383836150a9565b600883811c6001600160401b039081169184901c811682810192918311614faa5782614fb3565b6001600160401b035b9250611fc9614fc184613946565b68ffffffffffffffff0060089190911b1660ff88161790565b6000614fe683836150a9565b600882811c6001600160401b039081169185901c161061393f578161098a565b600061501283836150a9565b506001600160401b03600891821c81169290911c161190565b600061503783836150a9565b61098a6150576001600160401b03600885811c8216919087901c16615aa5565b68ffffffffffffffff0060089190911b1660ff84161790565b615078614d68565b6109a2816150de565b615089614d68565b6109a281615123565b6128fc614d68565b60606108e8848460008561512b565b60ff82811690821680821461183157604051635ce6db6160e11b815260ff808416600483015282166024820152604401611025565b6150e6614d68565b60006150f0613416565b600181559050600061510061201c565b80546001600160a01b0319166001600160a01b0394909416939093179092555050565b61387e614d68565b60608247101561518c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401611025565b600080866001600160a01b031685876040516151a89190615a43565b60006040518083038185875af1925050503d80600081146151e5576040519150601f19603f3d011682016040523d82523d6000602084013e6151ea565b606091505b50915091506151fb87838387615206565b979650505050505050565b6060831561527557825160000361526e576001600160a01b0385163b61526e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611025565b50816108e8565b6108e8838381511561528a5781518083602001fd5b8060405162461bcd60e51b81526004016110259190615b66565b5080546152b090615a09565b6000825580601f106152c0575050565b601f0160209004906000526020600020908101906109a291905b808211156135f357600081556001016152da565b61ffff811681146109a257600080fd5b60006020828403121561531057600080fd5b813561098a816152ee565b6001600160a01b03811681146109a257600080fd5b60006020828403121561534257600080fd5b813561098a8161531b565b60006020828403121561535f57600080fd5b5035919050565b6000806040838503121561537957600080fd5b82359150602083013561538b816152ee565b809150509250929050565b6001600160401b03811681146109a257600080fd5b6000602082840312156153bd57600080fd5b813561098a81615396565b60005b838110156153e35781810151838201526020016153cb565b50506000910152565b600081518084526154048160208601602086016153c8565b601f01601f19169290920160200192915050565b60208152815160208201526001600160481b0360208301511660408201526001600160401b03604083015116606082015261ffff606083015116608082015260018060a01b0360808301511660a0820152600060a083015160c0808401526108e860e08401826153ec565b634e487b7160e01b600052602160045260246000fd5b60208101600283106154bb57634e487b7160e01b600052602160045260246000fd5b91905290565b60ff811681146109a257600080fd5b600080600080608085870312156154e657600080fd5b84356154f1816152ee565b9350602085013592506040850135615508816154c1565b9396929550929360600135925050565b6000806040838503121561552b57600080fd5b82359150602083013561538b816154c1565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156155755761557561553d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156155a3576155a361553d565b604052919050565b60006001600160401b038211156155c4576155c461553d565b5060051b60200190565b60006001600160401b038211156155e7576155e761553d565b50601f01601f191660200190565b600082601f83011261560657600080fd5b8135615619615614826155ce565b61557b565b81815284602083860101111561562e57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261565c57600080fd5b8135602061566c615614836155ab565b82815260059290921b8401810191818101908684111561568b57600080fd5b8286015b848110156156af5780356156a28161531b565b835291830191830161568f565b509695505050505050565b6000806000606084860312156156cf57600080fd5b83356156da816152ee565b92506020848101356001600160401b03808211156156f757600080fd5b818701915087601f83011261570b57600080fd5b8135615719615614826155ab565b81815260059190911b8301840190848101908a83111561573857600080fd5b8585015b838110156157b55780358581111561575357600080fd5b86016040818e03601f1901121561576a5760008081fd5b615772615553565b8882013561577f816154c1565b81526040820135878111156157945760008081fd5b6157a28f8b838601016155f5565b828b01525084525091860191860161573c565b509650505060408701359250808311156157ce57600080fd5b50506157dc8682870161564b565b9150509250925092565b604080825283519082018190526000906020906060840190828701845b8281101561581f57815184529284019290840190600101615803565b50505092019290925292915050565b60008060006060848603121561584357600080fd5b833592506020840135615855816152ee565b929592945050506040919091013590565b60008060006060848603121561587b57600080fd5b8335615886816152ee565b92506020840135915060408401356001600160401b03808211156158a957600080fd5b90850190606082880312156158bd57600080fd5b6040516060810181811083821117156158d8576158d861553d565b806040525082358152602083013560208201526040830135828111156158fd57600080fd5b615909898286016155f5565b6040830152508093505050509250925092565b80151581146109a257600080fd5b600080600080600060a0868803121561594257600080fd5b853594506020860135615954816152ee565b935060408601359250606086013561596b8161591c565b915060808601356001600160401b0381111561598657600080fd5b615992888289016155f5565b9150509295509295909350565b6020808252825182820181905260009190848201906040850190845b818110156159e05783516001600160a01b0316835292840192918401916001016159bb565b50909695505050505050565b6000602082840312156159fe57600080fd5b813561098a816154c1565b600181811c90821680615a1d57607f821691505b602082108103615a3d57634e487b7160e01b600052602260045260246000fd5b50919050565b60008251615a558184602087016153c8565b9190910192915050565b600060208284031215615a7157600080fd5b815161098a816154c1565b634e487b7160e01b600052601160045260246000fd5b8181038181111561119257611192615a7c565b6001600160401b03818116838216019080821115615ac557615ac5615a7c565b5092915050565b634e487b7160e01b600052603260045260246000fd5b60ff815116825260006020820151604060208501526108e860408501826153ec565b61ffff831681526040602082015260006108e86040830184615ae2565b600060208284031215615b3357600080fd5b5051919050565b8082018082111561119257611192615a7c565b600060018201615b5f57615b5f615a7c565b5060010190565b60208152600061098a60208301846153ec565b600060808284031215615b8b57600080fd5b604051608081018181106001600160401b0382111715615bad57615bad61553d565b60405282516001600160481b0381168114615bc757600080fd5b8082525060208301516020820152604083015160408201526060830151615bed816152ee565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600060208284031215615c3757600080fd5b815161098a8161591c565b600060ff821660ff8103615c5857615c58615a7c565b60010192915050565b6001600160401b03828116828216039080821115615ac557615ac5615a7c565b600082601f830112615c9257600080fd5b8151615ca0615614826155ce565b818152846020838601011115615cb557600080fd5b6108e88260208301602087016153c8565b600060208284031215615cd857600080fd5b81516001600160401b03811115615cee57600080fd5b6108e884828501615c81565b805182526020810151602083015260006040820151606060408501526108e860608501826153ec565b60208152600061098a6020830184615cfa565b61ffff831681526040602082015260006108e86040830184615cfa565b600060ff821680615d6657615d66615a7c565b6000190192915050565b634e487b7160e01b600052603160045260246000fd5b60ff828116828216039081111561119257611192615a7c565b600181815b80851115615dda578160001904821115615dc057615dc0615a7c565b80851615615dcd57918102915b93841c9390800290615da4565b509250929050565b600082615df157506001611192565b81615dfe57506000611192565b8160018114615e145760028114615e1e57615e3a565b6001915050611192565b60ff841115615e2f57615e2f615a7c565b50506001821b611192565b5060208310610133831016604e8410600b8410161715615e5d575081810a611192565b615e678383615d9f565b8060001904821115615e7b57615e7b615a7c565b029392505050565b600061098a60ff841683615de2565b600082615eaf57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761119257611192615a7c565b600060208284031215615edd57600080fd5b815161098a81615396565b60006001600160401b03808316818103615f0457615f04615a7c565b6001019392505050565b601f8211156109cd57600081815260208120601f850160051c81016020861015615f355750805b601f850160051c820191505b81811015615f5457828155600101615f41565b505050505050565b81516001600160401b03811115615f7557615f7561553d565b615f8981615f838454615a09565b84615f0e565b602080601f831160018114615fbe5760008415615fa65750858301515b600019600386901b1c1916600185901b178555615f54565b600085815260208120601f198616915b82811015615fed57888601518255948401946001909101908401615fce565b508582101561600b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061602e60408301856153ec565b90508260208301529392505050565b6000602080838503121561605057600080fd5b82516001600160401b038082111561606757600080fd5b818501915085601f83011261607b57600080fd5b8151616089615614826155ab565b81815260059190911b830184019084810190888311156160a857600080fd5b8585015b83811015616127578051858111156160c45760008081fd5b86016040818c03601f19018113156160dc5760008081fd5b6160e4615553565b898301516160f1816154c1565b81529082015190878211156161065760008081fd5b6161148d8b84860101615c81565b818b0152855250509186019186016160ac565b5098975050505050505050565b61ffff851681526080602082015260006161516080830186615ae2565b828103604084015261616381866153ec565b91505082606083015295945050505050565b60006020828403121561618757600080fd5b815161098a8161531b565b6000602082840312156161a457600080fd5b81516002811061098a57600080fd5b6000602082840312156161c557600080fd5b815161098a816152ee56fe9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212202271bd0a01baaab0561ec74eda8126d19ccc060dddbeded04269b1288291e41864736f6c63430008130033';
1746
+ const isSuperArgs = (xs) => {
1747
+ return (typeof xs[0] === 'string' ||
1748
+ Array.isArray(xs[0]) ||
1749
+ '_isInterface' in xs[0]);
1750
+ };
1751
+ class NttManager__factory extends ethers_1.ContractFactory {
1752
+ constructor(...args) {
1753
+ if (isSuperArgs(args)) {
1754
+ super(...args);
1755
+ }
1756
+ else {
1757
+ const [linkLibraryAddresses, signer] = args;
1758
+ super(_abi, NttManager__factory.linkBytecode(linkLibraryAddresses), signer);
1759
+ }
1760
+ }
1761
+ static linkBytecode(linkLibraryAddresses) {
1762
+ let linkedBytecode = _bytecode;
1763
+ linkedBytecode = linkedBytecode.replace(new RegExp('__\\$93083e246e55d56d98f3df2872cd16bfd0\\$__', 'g'), linkLibraryAddresses['src/libraries/TransceiverStructs.sol:TransceiverStructs']
1764
+ .replace(/^0x/, '')
1765
+ .toLowerCase());
1766
+ return linkedBytecode;
1767
+ }
1768
+ getDeployTransaction(_token, _mode, _chainId, _rateLimitDuration, _skipRateLimiting, overrides) {
1769
+ return super.getDeployTransaction(_token, _mode, _chainId, _rateLimitDuration, _skipRateLimiting, overrides || {});
1770
+ }
1771
+ deploy(_token, _mode, _chainId, _rateLimitDuration, _skipRateLimiting, overrides) {
1772
+ return super.deploy(_token, _mode, _chainId, _rateLimitDuration, _skipRateLimiting, overrides || {});
1773
+ }
1774
+ connect(runner) {
1775
+ return super.connect(runner);
1776
+ }
1777
+ static bytecode = _bytecode;
1778
+ static abi = _abi;
1779
+ static createInterface() {
1780
+ return new ethers_1.Interface(_abi);
1781
+ }
1782
+ static connect(address, runner) {
1783
+ return new ethers_1.Contract(address, _abi, runner);
1784
+ }
1785
+ }
1786
+ exports.NttManager__factory = NttManager__factory;
1787
+ //# sourceMappingURL=NttManager__factory.js.map