@wormhole-foundation/sdk-evm-tokenbridge 0.5.0-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 (83) hide show
  1. package/dist/cjs/automaticTokenBridge.d.ts +26 -0
  2. package/dist/cjs/automaticTokenBridge.d.ts.map +1 -0
  3. package/dist/cjs/automaticTokenBridge.js +109 -0
  4. package/dist/cjs/automaticTokenBridge.js.map +1 -0
  5. package/dist/cjs/ethers-contracts/Bridge.d.ts +630 -0
  6. package/dist/cjs/ethers-contracts/Bridge.d.ts.map +1 -0
  7. package/dist/cjs/ethers-contracts/Bridge.js +3 -0
  8. package/dist/cjs/ethers-contracts/Bridge.js.map +1 -0
  9. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.d.ts +600 -0
  10. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.d.ts.map +1 -0
  11. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.js +3 -0
  12. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.js.map +1 -0
  13. package/dist/cjs/ethers-contracts/common.d.ts +51 -0
  14. package/dist/cjs/ethers-contracts/common.d.ts.map +1 -0
  15. package/dist/cjs/ethers-contracts/common.js +3 -0
  16. package/dist/cjs/ethers-contracts/common.js.map +1 -0
  17. package/dist/cjs/ethers-contracts/factories/Bridge__factory.d.ts +944 -0
  18. package/dist/cjs/ethers-contracts/factories/Bridge__factory.d.ts.map +1 -0
  19. package/dist/cjs/ethers-contracts/factories/Bridge__factory.js +1248 -0
  20. package/dist/cjs/ethers-contracts/factories/Bridge__factory.js.map +1 -0
  21. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts +820 -0
  22. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts.map +1 -0
  23. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.js +1079 -0
  24. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.js.map +1 -0
  25. package/dist/cjs/ethers-contracts/factories/index.d.ts +3 -0
  26. package/dist/cjs/ethers-contracts/factories/index.d.ts.map +1 -0
  27. package/dist/cjs/ethers-contracts/factories/index.js +19 -0
  28. package/dist/cjs/ethers-contracts/factories/index.js.map +1 -0
  29. package/dist/cjs/ethers-contracts/index.d.ts +4 -0
  30. package/dist/cjs/ethers-contracts/index.d.ts.map +1 -0
  31. package/dist/cjs/ethers-contracts/index.js +18 -0
  32. package/dist/cjs/ethers-contracts/index.js.map +1 -0
  33. package/dist/cjs/index.d.ts +4 -0
  34. package/dist/cjs/index.d.ts.map +1 -0
  35. package/dist/cjs/index.js +39 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/tokenBridge.d.ts +28 -0
  38. package/dist/cjs/tokenBridge.d.ts.map +1 -0
  39. package/dist/cjs/tokenBridge.js +154 -0
  40. package/dist/cjs/tokenBridge.js.map +1 -0
  41. package/dist/esm/automaticTokenBridge.d.ts +26 -0
  42. package/dist/esm/automaticTokenBridge.d.ts.map +1 -0
  43. package/dist/esm/automaticTokenBridge.js +105 -0
  44. package/dist/esm/automaticTokenBridge.js.map +1 -0
  45. package/dist/esm/ethers-contracts/Bridge.d.ts +630 -0
  46. package/dist/esm/ethers-contracts/Bridge.d.ts.map +1 -0
  47. package/dist/esm/ethers-contracts/Bridge.js +2 -0
  48. package/dist/esm/ethers-contracts/Bridge.js.map +1 -0
  49. package/dist/esm/ethers-contracts/TokenBridgeRelayer.d.ts +600 -0
  50. package/dist/esm/ethers-contracts/TokenBridgeRelayer.d.ts.map +1 -0
  51. package/dist/esm/ethers-contracts/TokenBridgeRelayer.js +2 -0
  52. package/dist/esm/ethers-contracts/TokenBridgeRelayer.js.map +1 -0
  53. package/dist/esm/ethers-contracts/common.d.ts +51 -0
  54. package/dist/esm/ethers-contracts/common.d.ts.map +1 -0
  55. package/dist/esm/ethers-contracts/common.js +2 -0
  56. package/dist/esm/ethers-contracts/common.js.map +1 -0
  57. package/dist/esm/ethers-contracts/factories/Bridge__factory.d.ts +944 -0
  58. package/dist/esm/ethers-contracts/factories/Bridge__factory.d.ts.map +1 -0
  59. package/dist/esm/ethers-contracts/factories/Bridge__factory.js +1244 -0
  60. package/dist/esm/ethers-contracts/factories/Bridge__factory.js.map +1 -0
  61. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts +820 -0
  62. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts.map +1 -0
  63. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.js +1075 -0
  64. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.js.map +1 -0
  65. package/dist/esm/ethers-contracts/factories/index.d.ts +3 -0
  66. package/dist/esm/ethers-contracts/factories/index.d.ts.map +1 -0
  67. package/dist/esm/ethers-contracts/factories/index.js +3 -0
  68. package/dist/esm/ethers-contracts/factories/index.js.map +1 -0
  69. package/dist/esm/ethers-contracts/index.d.ts +4 -0
  70. package/dist/esm/ethers-contracts/index.d.ts.map +1 -0
  71. package/dist/esm/ethers-contracts/index.js +2 -0
  72. package/dist/esm/ethers-contracts/index.js.map +1 -0
  73. package/dist/esm/index.d.ts +4 -0
  74. package/dist/esm/index.d.ts.map +1 -0
  75. package/dist/esm/index.js +10 -0
  76. package/dist/esm/index.js.map +1 -0
  77. package/dist/esm/tokenBridge.d.ts +28 -0
  78. package/dist/esm/tokenBridge.d.ts.map +1 -0
  79. package/dist/esm/tokenBridge.js +150 -0
  80. package/dist/esm/tokenBridge.js.map +1 -0
  81. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  82. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  83. package/package.json +59 -0
@@ -0,0 +1,1248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Bridge__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
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: false,
14
+ internalType: 'address',
15
+ name: 'previousAdmin',
16
+ type: 'address',
17
+ },
18
+ {
19
+ indexed: false,
20
+ internalType: 'address',
21
+ name: 'newAdmin',
22
+ type: 'address',
23
+ },
24
+ ],
25
+ name: 'AdminChanged',
26
+ type: 'event',
27
+ },
28
+ {
29
+ anonymous: false,
30
+ inputs: [
31
+ {
32
+ indexed: true,
33
+ internalType: 'address',
34
+ name: 'beacon',
35
+ type: 'address',
36
+ },
37
+ ],
38
+ name: 'BeaconUpgraded',
39
+ type: 'event',
40
+ },
41
+ {
42
+ anonymous: false,
43
+ inputs: [
44
+ {
45
+ indexed: true,
46
+ internalType: 'address',
47
+ name: 'oldContract',
48
+ type: 'address',
49
+ },
50
+ {
51
+ indexed: true,
52
+ internalType: 'address',
53
+ name: 'newContract',
54
+ type: 'address',
55
+ },
56
+ ],
57
+ name: 'ContractUpgraded',
58
+ type: 'event',
59
+ },
60
+ {
61
+ anonymous: false,
62
+ inputs: [
63
+ {
64
+ indexed: true,
65
+ internalType: 'uint16',
66
+ name: 'emitterChainId',
67
+ type: 'uint16',
68
+ },
69
+ {
70
+ indexed: true,
71
+ internalType: 'bytes32',
72
+ name: 'emitterAddress',
73
+ type: 'bytes32',
74
+ },
75
+ {
76
+ indexed: true,
77
+ internalType: 'uint64',
78
+ name: 'sequence',
79
+ type: 'uint64',
80
+ },
81
+ ],
82
+ name: 'TransferRedeemed',
83
+ type: 'event',
84
+ },
85
+ {
86
+ anonymous: false,
87
+ inputs: [
88
+ {
89
+ indexed: true,
90
+ internalType: 'address',
91
+ name: 'implementation',
92
+ type: 'address',
93
+ },
94
+ ],
95
+ name: 'Upgraded',
96
+ type: 'event',
97
+ },
98
+ {
99
+ inputs: [],
100
+ name: 'WETH',
101
+ outputs: [
102
+ {
103
+ internalType: 'contract IWETH',
104
+ name: '',
105
+ type: 'address',
106
+ },
107
+ ],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [
113
+ {
114
+ internalType: 'bytes',
115
+ name: 'encoded',
116
+ type: 'bytes',
117
+ },
118
+ ],
119
+ name: '_parseTransferCommon',
120
+ outputs: [
121
+ {
122
+ components: [
123
+ {
124
+ internalType: 'uint8',
125
+ name: 'payloadID',
126
+ type: 'uint8',
127
+ },
128
+ {
129
+ internalType: 'uint256',
130
+ name: 'amount',
131
+ type: 'uint256',
132
+ },
133
+ {
134
+ internalType: 'bytes32',
135
+ name: 'tokenAddress',
136
+ type: 'bytes32',
137
+ },
138
+ {
139
+ internalType: 'uint16',
140
+ name: 'tokenChain',
141
+ type: 'uint16',
142
+ },
143
+ {
144
+ internalType: 'bytes32',
145
+ name: 'to',
146
+ type: 'bytes32',
147
+ },
148
+ {
149
+ internalType: 'uint16',
150
+ name: 'toChain',
151
+ type: 'uint16',
152
+ },
153
+ {
154
+ internalType: 'uint256',
155
+ name: 'fee',
156
+ type: 'uint256',
157
+ },
158
+ ],
159
+ internalType: 'struct BridgeStructs.Transfer',
160
+ name: 'transfer',
161
+ type: 'tuple',
162
+ },
163
+ ],
164
+ stateMutability: 'pure',
165
+ type: 'function',
166
+ },
167
+ {
168
+ inputs: [
169
+ {
170
+ internalType: 'address',
171
+ name: 'tokenAddress',
172
+ type: 'address',
173
+ },
174
+ {
175
+ internalType: 'uint32',
176
+ name: 'nonce',
177
+ type: 'uint32',
178
+ },
179
+ ],
180
+ name: 'attestToken',
181
+ outputs: [
182
+ {
183
+ internalType: 'uint64',
184
+ name: 'sequence',
185
+ type: 'uint64',
186
+ },
187
+ ],
188
+ stateMutability: 'payable',
189
+ type: 'function',
190
+ },
191
+ {
192
+ inputs: [
193
+ {
194
+ internalType: 'uint16',
195
+ name: 'chainId_',
196
+ type: 'uint16',
197
+ },
198
+ ],
199
+ name: 'bridgeContracts',
200
+ outputs: [
201
+ {
202
+ internalType: 'bytes32',
203
+ name: '',
204
+ type: 'bytes32',
205
+ },
206
+ ],
207
+ stateMutability: 'view',
208
+ type: 'function',
209
+ },
210
+ {
211
+ inputs: [],
212
+ name: 'chainId',
213
+ outputs: [
214
+ {
215
+ internalType: 'uint16',
216
+ name: '',
217
+ type: 'uint16',
218
+ },
219
+ ],
220
+ stateMutability: 'view',
221
+ type: 'function',
222
+ },
223
+ {
224
+ inputs: [
225
+ {
226
+ internalType: 'bytes',
227
+ name: 'encodedVm',
228
+ type: 'bytes',
229
+ },
230
+ ],
231
+ name: 'completeTransfer',
232
+ outputs: [],
233
+ stateMutability: 'nonpayable',
234
+ type: 'function',
235
+ },
236
+ {
237
+ inputs: [
238
+ {
239
+ internalType: 'bytes',
240
+ name: 'encodedVm',
241
+ type: 'bytes',
242
+ },
243
+ ],
244
+ name: 'completeTransferAndUnwrapETH',
245
+ outputs: [],
246
+ stateMutability: 'nonpayable',
247
+ type: 'function',
248
+ },
249
+ {
250
+ inputs: [
251
+ {
252
+ internalType: 'bytes',
253
+ name: 'encodedVm',
254
+ type: 'bytes',
255
+ },
256
+ ],
257
+ name: 'completeTransferAndUnwrapETHWithPayload',
258
+ outputs: [
259
+ {
260
+ internalType: 'bytes',
261
+ name: '',
262
+ type: 'bytes',
263
+ },
264
+ ],
265
+ stateMutability: 'nonpayable',
266
+ type: 'function',
267
+ },
268
+ {
269
+ inputs: [
270
+ {
271
+ internalType: 'bytes',
272
+ name: 'encodedVm',
273
+ type: 'bytes',
274
+ },
275
+ ],
276
+ name: 'completeTransferWithPayload',
277
+ outputs: [
278
+ {
279
+ internalType: 'bytes',
280
+ name: '',
281
+ type: 'bytes',
282
+ },
283
+ ],
284
+ stateMutability: 'nonpayable',
285
+ type: 'function',
286
+ },
287
+ {
288
+ inputs: [
289
+ {
290
+ internalType: 'bytes',
291
+ name: 'encodedVm',
292
+ type: 'bytes',
293
+ },
294
+ ],
295
+ name: 'createWrapped',
296
+ outputs: [
297
+ {
298
+ internalType: 'address',
299
+ name: 'token',
300
+ type: 'address',
301
+ },
302
+ ],
303
+ stateMutability: 'nonpayable',
304
+ type: 'function',
305
+ },
306
+ {
307
+ inputs: [
308
+ {
309
+ components: [
310
+ {
311
+ internalType: 'uint8',
312
+ name: 'payloadID',
313
+ type: 'uint8',
314
+ },
315
+ {
316
+ internalType: 'bytes32',
317
+ name: 'tokenAddress',
318
+ type: 'bytes32',
319
+ },
320
+ {
321
+ internalType: 'uint16',
322
+ name: 'tokenChain',
323
+ type: 'uint16',
324
+ },
325
+ {
326
+ internalType: 'uint8',
327
+ name: 'decimals',
328
+ type: 'uint8',
329
+ },
330
+ {
331
+ internalType: 'bytes32',
332
+ name: 'symbol',
333
+ type: 'bytes32',
334
+ },
335
+ {
336
+ internalType: 'bytes32',
337
+ name: 'name',
338
+ type: 'bytes32',
339
+ },
340
+ ],
341
+ internalType: 'struct BridgeStructs.AssetMeta',
342
+ name: 'meta',
343
+ type: 'tuple',
344
+ },
345
+ ],
346
+ name: 'encodeAssetMeta',
347
+ outputs: [
348
+ {
349
+ internalType: 'bytes',
350
+ name: 'encoded',
351
+ type: 'bytes',
352
+ },
353
+ ],
354
+ stateMutability: 'pure',
355
+ type: 'function',
356
+ },
357
+ {
358
+ inputs: [
359
+ {
360
+ components: [
361
+ {
362
+ internalType: 'uint8',
363
+ name: 'payloadID',
364
+ type: 'uint8',
365
+ },
366
+ {
367
+ internalType: 'uint256',
368
+ name: 'amount',
369
+ type: 'uint256',
370
+ },
371
+ {
372
+ internalType: 'bytes32',
373
+ name: 'tokenAddress',
374
+ type: 'bytes32',
375
+ },
376
+ {
377
+ internalType: 'uint16',
378
+ name: 'tokenChain',
379
+ type: 'uint16',
380
+ },
381
+ {
382
+ internalType: 'bytes32',
383
+ name: 'to',
384
+ type: 'bytes32',
385
+ },
386
+ {
387
+ internalType: 'uint16',
388
+ name: 'toChain',
389
+ type: 'uint16',
390
+ },
391
+ {
392
+ internalType: 'uint256',
393
+ name: 'fee',
394
+ type: 'uint256',
395
+ },
396
+ ],
397
+ internalType: 'struct BridgeStructs.Transfer',
398
+ name: 'transfer',
399
+ type: 'tuple',
400
+ },
401
+ ],
402
+ name: 'encodeTransfer',
403
+ outputs: [
404
+ {
405
+ internalType: 'bytes',
406
+ name: 'encoded',
407
+ type: 'bytes',
408
+ },
409
+ ],
410
+ stateMutability: 'pure',
411
+ type: 'function',
412
+ },
413
+ {
414
+ inputs: [
415
+ {
416
+ components: [
417
+ {
418
+ internalType: 'uint8',
419
+ name: 'payloadID',
420
+ type: 'uint8',
421
+ },
422
+ {
423
+ internalType: 'uint256',
424
+ name: 'amount',
425
+ type: 'uint256',
426
+ },
427
+ {
428
+ internalType: 'bytes32',
429
+ name: 'tokenAddress',
430
+ type: 'bytes32',
431
+ },
432
+ {
433
+ internalType: 'uint16',
434
+ name: 'tokenChain',
435
+ type: 'uint16',
436
+ },
437
+ {
438
+ internalType: 'bytes32',
439
+ name: 'to',
440
+ type: 'bytes32',
441
+ },
442
+ {
443
+ internalType: 'uint16',
444
+ name: 'toChain',
445
+ type: 'uint16',
446
+ },
447
+ {
448
+ internalType: 'bytes32',
449
+ name: 'fromAddress',
450
+ type: 'bytes32',
451
+ },
452
+ {
453
+ internalType: 'bytes',
454
+ name: 'payload',
455
+ type: 'bytes',
456
+ },
457
+ ],
458
+ internalType: 'struct BridgeStructs.TransferWithPayload',
459
+ name: 'transfer',
460
+ type: 'tuple',
461
+ },
462
+ ],
463
+ name: 'encodeTransferWithPayload',
464
+ outputs: [
465
+ {
466
+ internalType: 'bytes',
467
+ name: 'encoded',
468
+ type: 'bytes',
469
+ },
470
+ ],
471
+ stateMutability: 'pure',
472
+ type: 'function',
473
+ },
474
+ {
475
+ inputs: [],
476
+ name: 'evmChainId',
477
+ outputs: [
478
+ {
479
+ internalType: 'uint256',
480
+ name: '',
481
+ type: 'uint256',
482
+ },
483
+ ],
484
+ stateMutability: 'view',
485
+ type: 'function',
486
+ },
487
+ {
488
+ inputs: [],
489
+ name: 'finality',
490
+ outputs: [
491
+ {
492
+ internalType: 'uint8',
493
+ name: '',
494
+ type: 'uint8',
495
+ },
496
+ ],
497
+ stateMutability: 'view',
498
+ type: 'function',
499
+ },
500
+ {
501
+ inputs: [
502
+ {
503
+ internalType: 'bytes32',
504
+ name: 'hash',
505
+ type: 'bytes32',
506
+ },
507
+ ],
508
+ name: 'governanceActionIsConsumed',
509
+ outputs: [
510
+ {
511
+ internalType: 'bool',
512
+ name: '',
513
+ type: 'bool',
514
+ },
515
+ ],
516
+ stateMutability: 'view',
517
+ type: 'function',
518
+ },
519
+ {
520
+ inputs: [],
521
+ name: 'governanceChainId',
522
+ outputs: [
523
+ {
524
+ internalType: 'uint16',
525
+ name: '',
526
+ type: 'uint16',
527
+ },
528
+ ],
529
+ stateMutability: 'view',
530
+ type: 'function',
531
+ },
532
+ {
533
+ inputs: [],
534
+ name: 'governanceContract',
535
+ outputs: [
536
+ {
537
+ internalType: 'bytes32',
538
+ name: '',
539
+ type: 'bytes32',
540
+ },
541
+ ],
542
+ stateMutability: 'view',
543
+ type: 'function',
544
+ },
545
+ {
546
+ inputs: [],
547
+ name: 'isFork',
548
+ outputs: [
549
+ {
550
+ internalType: 'bool',
551
+ name: '',
552
+ type: 'bool',
553
+ },
554
+ ],
555
+ stateMutability: 'view',
556
+ type: 'function',
557
+ },
558
+ {
559
+ inputs: [
560
+ {
561
+ internalType: 'address',
562
+ name: 'impl',
563
+ type: 'address',
564
+ },
565
+ ],
566
+ name: 'isInitialized',
567
+ outputs: [
568
+ {
569
+ internalType: 'bool',
570
+ name: '',
571
+ type: 'bool',
572
+ },
573
+ ],
574
+ stateMutability: 'view',
575
+ type: 'function',
576
+ },
577
+ {
578
+ inputs: [
579
+ {
580
+ internalType: 'bytes32',
581
+ name: 'hash',
582
+ type: 'bytes32',
583
+ },
584
+ ],
585
+ name: 'isTransferCompleted',
586
+ outputs: [
587
+ {
588
+ internalType: 'bool',
589
+ name: '',
590
+ type: 'bool',
591
+ },
592
+ ],
593
+ stateMutability: 'view',
594
+ type: 'function',
595
+ },
596
+ {
597
+ inputs: [
598
+ {
599
+ internalType: 'address',
600
+ name: 'token',
601
+ type: 'address',
602
+ },
603
+ ],
604
+ name: 'isWrappedAsset',
605
+ outputs: [
606
+ {
607
+ internalType: 'bool',
608
+ name: '',
609
+ type: 'bool',
610
+ },
611
+ ],
612
+ stateMutability: 'view',
613
+ type: 'function',
614
+ },
615
+ {
616
+ inputs: [
617
+ {
618
+ internalType: 'address',
619
+ name: 'token',
620
+ type: 'address',
621
+ },
622
+ ],
623
+ name: 'outstandingBridged',
624
+ outputs: [
625
+ {
626
+ internalType: 'uint256',
627
+ name: '',
628
+ type: 'uint256',
629
+ },
630
+ ],
631
+ stateMutability: 'view',
632
+ type: 'function',
633
+ },
634
+ {
635
+ inputs: [
636
+ {
637
+ internalType: 'bytes',
638
+ name: 'encoded',
639
+ type: 'bytes',
640
+ },
641
+ ],
642
+ name: 'parseAssetMeta',
643
+ outputs: [
644
+ {
645
+ components: [
646
+ {
647
+ internalType: 'uint8',
648
+ name: 'payloadID',
649
+ type: 'uint8',
650
+ },
651
+ {
652
+ internalType: 'bytes32',
653
+ name: 'tokenAddress',
654
+ type: 'bytes32',
655
+ },
656
+ {
657
+ internalType: 'uint16',
658
+ name: 'tokenChain',
659
+ type: 'uint16',
660
+ },
661
+ {
662
+ internalType: 'uint8',
663
+ name: 'decimals',
664
+ type: 'uint8',
665
+ },
666
+ {
667
+ internalType: 'bytes32',
668
+ name: 'symbol',
669
+ type: 'bytes32',
670
+ },
671
+ {
672
+ internalType: 'bytes32',
673
+ name: 'name',
674
+ type: 'bytes32',
675
+ },
676
+ ],
677
+ internalType: 'struct BridgeStructs.AssetMeta',
678
+ name: 'meta',
679
+ type: 'tuple',
680
+ },
681
+ ],
682
+ stateMutability: 'pure',
683
+ type: 'function',
684
+ },
685
+ {
686
+ inputs: [
687
+ {
688
+ internalType: 'bytes',
689
+ name: 'encoded',
690
+ type: 'bytes',
691
+ },
692
+ ],
693
+ name: 'parsePayloadID',
694
+ outputs: [
695
+ {
696
+ internalType: 'uint8',
697
+ name: 'payloadID',
698
+ type: 'uint8',
699
+ },
700
+ ],
701
+ stateMutability: 'pure',
702
+ type: 'function',
703
+ },
704
+ {
705
+ inputs: [
706
+ {
707
+ internalType: 'bytes',
708
+ name: 'encodedRecoverChainId',
709
+ type: 'bytes',
710
+ },
711
+ ],
712
+ name: 'parseRecoverChainId',
713
+ outputs: [
714
+ {
715
+ components: [
716
+ {
717
+ internalType: 'bytes32',
718
+ name: 'module',
719
+ type: 'bytes32',
720
+ },
721
+ {
722
+ internalType: 'uint8',
723
+ name: 'action',
724
+ type: 'uint8',
725
+ },
726
+ {
727
+ internalType: 'uint256',
728
+ name: 'evmChainId',
729
+ type: 'uint256',
730
+ },
731
+ {
732
+ internalType: 'uint16',
733
+ name: 'newChainId',
734
+ type: 'uint16',
735
+ },
736
+ ],
737
+ internalType: 'struct BridgeStructs.RecoverChainId',
738
+ name: 'rci',
739
+ type: 'tuple',
740
+ },
741
+ ],
742
+ stateMutability: 'pure',
743
+ type: 'function',
744
+ },
745
+ {
746
+ inputs: [
747
+ {
748
+ internalType: 'bytes',
749
+ name: 'encoded',
750
+ type: 'bytes',
751
+ },
752
+ ],
753
+ name: 'parseRegisterChain',
754
+ outputs: [
755
+ {
756
+ components: [
757
+ {
758
+ internalType: 'bytes32',
759
+ name: 'module',
760
+ type: 'bytes32',
761
+ },
762
+ {
763
+ internalType: 'uint8',
764
+ name: 'action',
765
+ type: 'uint8',
766
+ },
767
+ {
768
+ internalType: 'uint16',
769
+ name: 'chainId',
770
+ type: 'uint16',
771
+ },
772
+ {
773
+ internalType: 'uint16',
774
+ name: 'emitterChainID',
775
+ type: 'uint16',
776
+ },
777
+ {
778
+ internalType: 'bytes32',
779
+ name: 'emitterAddress',
780
+ type: 'bytes32',
781
+ },
782
+ ],
783
+ internalType: 'struct BridgeStructs.RegisterChain',
784
+ name: 'chain',
785
+ type: 'tuple',
786
+ },
787
+ ],
788
+ stateMutability: 'pure',
789
+ type: 'function',
790
+ },
791
+ {
792
+ inputs: [
793
+ {
794
+ internalType: 'bytes',
795
+ name: 'encoded',
796
+ type: 'bytes',
797
+ },
798
+ ],
799
+ name: 'parseTransfer',
800
+ outputs: [
801
+ {
802
+ components: [
803
+ {
804
+ internalType: 'uint8',
805
+ name: 'payloadID',
806
+ type: 'uint8',
807
+ },
808
+ {
809
+ internalType: 'uint256',
810
+ name: 'amount',
811
+ type: 'uint256',
812
+ },
813
+ {
814
+ internalType: 'bytes32',
815
+ name: 'tokenAddress',
816
+ type: 'bytes32',
817
+ },
818
+ {
819
+ internalType: 'uint16',
820
+ name: 'tokenChain',
821
+ type: 'uint16',
822
+ },
823
+ {
824
+ internalType: 'bytes32',
825
+ name: 'to',
826
+ type: 'bytes32',
827
+ },
828
+ {
829
+ internalType: 'uint16',
830
+ name: 'toChain',
831
+ type: 'uint16',
832
+ },
833
+ {
834
+ internalType: 'uint256',
835
+ name: 'fee',
836
+ type: 'uint256',
837
+ },
838
+ ],
839
+ internalType: 'struct BridgeStructs.Transfer',
840
+ name: 'transfer',
841
+ type: 'tuple',
842
+ },
843
+ ],
844
+ stateMutability: 'pure',
845
+ type: 'function',
846
+ },
847
+ {
848
+ inputs: [
849
+ {
850
+ internalType: 'bytes',
851
+ name: 'encoded',
852
+ type: 'bytes',
853
+ },
854
+ ],
855
+ name: 'parseTransferWithPayload',
856
+ outputs: [
857
+ {
858
+ components: [
859
+ {
860
+ internalType: 'uint8',
861
+ name: 'payloadID',
862
+ type: 'uint8',
863
+ },
864
+ {
865
+ internalType: 'uint256',
866
+ name: 'amount',
867
+ type: 'uint256',
868
+ },
869
+ {
870
+ internalType: 'bytes32',
871
+ name: 'tokenAddress',
872
+ type: 'bytes32',
873
+ },
874
+ {
875
+ internalType: 'uint16',
876
+ name: 'tokenChain',
877
+ type: 'uint16',
878
+ },
879
+ {
880
+ internalType: 'bytes32',
881
+ name: 'to',
882
+ type: 'bytes32',
883
+ },
884
+ {
885
+ internalType: 'uint16',
886
+ name: 'toChain',
887
+ type: 'uint16',
888
+ },
889
+ {
890
+ internalType: 'bytes32',
891
+ name: 'fromAddress',
892
+ type: 'bytes32',
893
+ },
894
+ {
895
+ internalType: 'bytes',
896
+ name: 'payload',
897
+ type: 'bytes',
898
+ },
899
+ ],
900
+ internalType: 'struct BridgeStructs.TransferWithPayload',
901
+ name: 'transfer',
902
+ type: 'tuple',
903
+ },
904
+ ],
905
+ stateMutability: 'pure',
906
+ type: 'function',
907
+ },
908
+ {
909
+ inputs: [
910
+ {
911
+ internalType: 'bytes',
912
+ name: 'encoded',
913
+ type: 'bytes',
914
+ },
915
+ ],
916
+ name: 'parseUpgrade',
917
+ outputs: [
918
+ {
919
+ components: [
920
+ {
921
+ internalType: 'bytes32',
922
+ name: 'module',
923
+ type: 'bytes32',
924
+ },
925
+ {
926
+ internalType: 'uint8',
927
+ name: 'action',
928
+ type: 'uint8',
929
+ },
930
+ {
931
+ internalType: 'uint16',
932
+ name: 'chainId',
933
+ type: 'uint16',
934
+ },
935
+ {
936
+ internalType: 'bytes32',
937
+ name: 'newContract',
938
+ type: 'bytes32',
939
+ },
940
+ ],
941
+ internalType: 'struct BridgeStructs.UpgradeContract',
942
+ name: 'chain',
943
+ type: 'tuple',
944
+ },
945
+ ],
946
+ stateMutability: 'pure',
947
+ type: 'function',
948
+ },
949
+ {
950
+ inputs: [
951
+ {
952
+ internalType: 'bytes',
953
+ name: 'encodedVM',
954
+ type: 'bytes',
955
+ },
956
+ ],
957
+ name: 'registerChain',
958
+ outputs: [],
959
+ stateMutability: 'nonpayable',
960
+ type: 'function',
961
+ },
962
+ {
963
+ inputs: [
964
+ {
965
+ internalType: 'bytes',
966
+ name: 'encodedVM',
967
+ type: 'bytes',
968
+ },
969
+ ],
970
+ name: 'submitRecoverChainId',
971
+ outputs: [],
972
+ stateMutability: 'nonpayable',
973
+ type: 'function',
974
+ },
975
+ {
976
+ inputs: [],
977
+ name: 'tokenImplementation',
978
+ outputs: [
979
+ {
980
+ internalType: 'address',
981
+ name: '',
982
+ type: 'address',
983
+ },
984
+ ],
985
+ stateMutability: 'view',
986
+ type: 'function',
987
+ },
988
+ {
989
+ inputs: [
990
+ {
991
+ internalType: 'address',
992
+ name: 'token',
993
+ type: 'address',
994
+ },
995
+ {
996
+ internalType: 'uint256',
997
+ name: 'amount',
998
+ type: 'uint256',
999
+ },
1000
+ {
1001
+ internalType: 'uint16',
1002
+ name: 'recipientChain',
1003
+ type: 'uint16',
1004
+ },
1005
+ {
1006
+ internalType: 'bytes32',
1007
+ name: 'recipient',
1008
+ type: 'bytes32',
1009
+ },
1010
+ {
1011
+ internalType: 'uint256',
1012
+ name: 'arbiterFee',
1013
+ type: 'uint256',
1014
+ },
1015
+ {
1016
+ internalType: 'uint32',
1017
+ name: 'nonce',
1018
+ type: 'uint32',
1019
+ },
1020
+ ],
1021
+ name: 'transferTokens',
1022
+ outputs: [
1023
+ {
1024
+ internalType: 'uint64',
1025
+ name: 'sequence',
1026
+ type: 'uint64',
1027
+ },
1028
+ ],
1029
+ stateMutability: 'payable',
1030
+ type: 'function',
1031
+ },
1032
+ {
1033
+ inputs: [
1034
+ {
1035
+ internalType: 'address',
1036
+ name: 'token',
1037
+ type: 'address',
1038
+ },
1039
+ {
1040
+ internalType: 'uint256',
1041
+ name: 'amount',
1042
+ type: 'uint256',
1043
+ },
1044
+ {
1045
+ internalType: 'uint16',
1046
+ name: 'recipientChain',
1047
+ type: 'uint16',
1048
+ },
1049
+ {
1050
+ internalType: 'bytes32',
1051
+ name: 'recipient',
1052
+ type: 'bytes32',
1053
+ },
1054
+ {
1055
+ internalType: 'uint32',
1056
+ name: 'nonce',
1057
+ type: 'uint32',
1058
+ },
1059
+ {
1060
+ internalType: 'bytes',
1061
+ name: 'payload',
1062
+ type: 'bytes',
1063
+ },
1064
+ ],
1065
+ name: 'transferTokensWithPayload',
1066
+ outputs: [
1067
+ {
1068
+ internalType: 'uint64',
1069
+ name: 'sequence',
1070
+ type: 'uint64',
1071
+ },
1072
+ ],
1073
+ stateMutability: 'payable',
1074
+ type: 'function',
1075
+ },
1076
+ {
1077
+ inputs: [
1078
+ {
1079
+ internalType: 'bytes',
1080
+ name: 'encodedVm',
1081
+ type: 'bytes',
1082
+ },
1083
+ ],
1084
+ name: 'updateWrapped',
1085
+ outputs: [
1086
+ {
1087
+ internalType: 'address',
1088
+ name: 'token',
1089
+ type: 'address',
1090
+ },
1091
+ ],
1092
+ stateMutability: 'nonpayable',
1093
+ type: 'function',
1094
+ },
1095
+ {
1096
+ inputs: [
1097
+ {
1098
+ internalType: 'bytes',
1099
+ name: 'encodedVM',
1100
+ type: 'bytes',
1101
+ },
1102
+ ],
1103
+ name: 'upgrade',
1104
+ outputs: [],
1105
+ stateMutability: 'nonpayable',
1106
+ type: 'function',
1107
+ },
1108
+ {
1109
+ inputs: [],
1110
+ name: 'wormhole',
1111
+ outputs: [
1112
+ {
1113
+ internalType: 'contract IWormhole',
1114
+ name: '',
1115
+ type: 'address',
1116
+ },
1117
+ ],
1118
+ stateMutability: 'view',
1119
+ type: 'function',
1120
+ },
1121
+ {
1122
+ inputs: [
1123
+ {
1124
+ internalType: 'uint16',
1125
+ name: 'recipientChain',
1126
+ type: 'uint16',
1127
+ },
1128
+ {
1129
+ internalType: 'bytes32',
1130
+ name: 'recipient',
1131
+ type: 'bytes32',
1132
+ },
1133
+ {
1134
+ internalType: 'uint256',
1135
+ name: 'arbiterFee',
1136
+ type: 'uint256',
1137
+ },
1138
+ {
1139
+ internalType: 'uint32',
1140
+ name: 'nonce',
1141
+ type: 'uint32',
1142
+ },
1143
+ ],
1144
+ name: 'wrapAndTransferETH',
1145
+ outputs: [
1146
+ {
1147
+ internalType: 'uint64',
1148
+ name: 'sequence',
1149
+ type: 'uint64',
1150
+ },
1151
+ ],
1152
+ stateMutability: 'payable',
1153
+ type: 'function',
1154
+ },
1155
+ {
1156
+ inputs: [
1157
+ {
1158
+ internalType: 'uint16',
1159
+ name: 'recipientChain',
1160
+ type: 'uint16',
1161
+ },
1162
+ {
1163
+ internalType: 'bytes32',
1164
+ name: 'recipient',
1165
+ type: 'bytes32',
1166
+ },
1167
+ {
1168
+ internalType: 'uint32',
1169
+ name: 'nonce',
1170
+ type: 'uint32',
1171
+ },
1172
+ {
1173
+ internalType: 'bytes',
1174
+ name: 'payload',
1175
+ type: 'bytes',
1176
+ },
1177
+ ],
1178
+ name: 'wrapAndTransferETHWithPayload',
1179
+ outputs: [
1180
+ {
1181
+ internalType: 'uint64',
1182
+ name: 'sequence',
1183
+ type: 'uint64',
1184
+ },
1185
+ ],
1186
+ stateMutability: 'payable',
1187
+ type: 'function',
1188
+ },
1189
+ {
1190
+ inputs: [
1191
+ {
1192
+ internalType: 'uint16',
1193
+ name: 'tokenChainId',
1194
+ type: 'uint16',
1195
+ },
1196
+ {
1197
+ internalType: 'bytes32',
1198
+ name: 'tokenAddress',
1199
+ type: 'bytes32',
1200
+ },
1201
+ ],
1202
+ name: 'wrappedAsset',
1203
+ outputs: [
1204
+ {
1205
+ internalType: 'address',
1206
+ name: '',
1207
+ type: 'address',
1208
+ },
1209
+ ],
1210
+ stateMutability: 'view',
1211
+ type: 'function',
1212
+ },
1213
+ {
1214
+ stateMutability: 'payable',
1215
+ type: 'receive',
1216
+ },
1217
+ ];
1218
+ const _bytecode = '0x6080806040523461001b576001600d5561522990816100218239f35b600080fdfe608060405260043610156200001d575b36156200001b57600080fd5b005b60003560e01c806301f5325514620002fe57806307dfd8fb14620002f85780630f50900814620002f25780630f5287b014620002ec578063178149e714620002e65780631a2be4da14620002e05780631c8475e414620002da5780631ff1e28614620002d45780632539464514620002ce5780632b51137514620002c85780632c3c02a414620002c25780632f3a3d5d14620002bc5780635f85426614620002b657806364d42b1714620002b0578063739fc8d114620002aa57806384acd1bb14620002a45780639981509f146200029e5780639a8a05921462000298578063a5799f931462000292578063aa4efa5b146200028c578063ad5c46481462000286578063ad66a5f11462000280578063b046223b146200027a578063b172b2221462000274578063b96c7e4d146200026e578063bee9cdfc1462000268578063c3f511c11462000262578063c48fa115146200025c578063c5a5ebda1462000256578063c68785191462000250578063cb4cfea8146200024a578063d56e2e241462000244578063d60b347f146200023e578063e039f2241462000238578063e80598101462000232578063e89bc401146200022c578063ea63738d1462000226578063f768441f1462000220578063fbe3c2cd146200021a578063fbeeacd914620002145763ff200cde036200000f5762001a10565b620019c5565b6200199e565b62001903565b6200186e565b6200184f565b6200174c565b62001729565b620016e6565b62001616565b620015cb565b620015b6565b6200150d565b62001305565b620012e6565b620010ae565b62001070565b62001050565b62000fd3565b62000fa4565b62000f79565b62000f49565b62000e2b565b62000e07565b62000bb6565b62000b8b565b62000b66565b62000b46565b62000ab8565b62000a74565b62000a2e565b620009b7565b620008e2565b6200088f565b6200085b565b620007b9565b620006df565b62000632565b620005bb565b62000559565b62000502565b634e487b7160e01b600052604160045260246000fd5b60e081019081106001600160401b038211176200033657604052565b62000304565b60c081019081106001600160401b038211176200033657604052565b6001600160401b0381116200033657604052565b608081019081106001600160401b038211176200033657604052565b60a081019081106001600160401b038211176200033657604052565b604081019081106001600160401b038211176200033657604052565b90601f801991011681019081106001600160401b038211176200033657604052565b60405190620003f1826200033c565b565b6040519061010082018281106001600160401b038211176200033657604052565b60405190620003f18262000388565b60405190620003f1826200031a565b6040519061016082018281106001600160401b038211176200033657604052565b90620003f16040519283620003c0565b6001600160401b0381116200033657601f01601f191660200190565b81601f82011215620004cc57803590620004998262000463565b92620004a96040519485620003c0565b82845260208383010111620004cc57816000926020809301838601378301015290565b600080fd5b6020600319820112620004cc57600435906001600160401b038211620004cc57620004ff916004016200047f565b90565b34620004cc5760a06200051f6200051936620004d1565b62004421565b6080604051918051835260ff602082015116602084015261ffff806040830151166040850152606082015116606084015201516080820152f35b34620004cc5760c0620005766200057036620004d1565b62003a18565b60a06040519160ff81511683526020810151602084015261ffff604082015116604084015260ff606082015116606084015260808101516080840152015160a0820152f35b34620004cc576020620005d8620005d236620004d1565b620047a1565b60ff60405191168152f35b600435906001600160a01b0382168203620004cc57565b61ffff811603620004cc57565b60a43590620003f182620005fa565b3590620003f182620005fa565b63ffffffff811603620004cc57565b60c0366003190112620004cc57620006db620006bc62000651620005e3565b6044356200065f81620005fa565b6200069660a43592620006728462000623565b620006836002600d54141562001cbd565b6002600d5560843590602435906200208d565b61ffff815116602082015192604083015160806060850151940151946064359362002421565b6001600d556040516001600160401b0390911681529081906020820190565b0390f35b34620004cc57620006f036620004d1565b600c54461462000787576200077560606200074f60e062000723620007196200001b966200410f565b909291926200276b565b6200074761014082015160005260056020526040600020600160ff19825416179055565b015162004591565b6200076c60408201620007654682511462003fa3565b5162004645565b015161ffff1690565b61ffff1661ffff196002541617600255565b60405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606490fd5b34620004cc576020366003190112620004cc576001600160a01b03620007de620005e3565b166000526009602052602060ff604060002054166040519015158152f35b60005b838110620008105750506000910152565b8181015183820152602001620007ff565b906020916200083c81518092818552858086019101620007fc565b601f01601f1916010190565b906020620004ff92818152019062000821565b34620004cc57620006db6200087a6200087436620004d1565b62002e3d565b60405191829160208352602083019062000821565b34620004cc576040366003190112620004cc5761ffff600435620008b381620005fa565b1660005260086020526040600020602435600052602052602060018060a01b0360406000205416604051908152f35b34620004cc576200094260e062000916620007196200090136620004d1565b62000910600c544614620037ea565b6200410f565b6200093a61014082015160005260056020526040600020600160ff19825416179055565b01516200451f565b61ffff806040830151169060025416036200098157606001516200001b906200097b906001600160a01b03165b6001600160a01b031690565b62004236565b60405162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c818da185a5b881a5960921b6044820152606490fd5b34620004cc57620006db620009d6620009d036620004d1565b62003b94565b6040519182918291909160c08060e083019460ff8151168452602081015160208501526040810151604085015261ffff8060608301511660608601526080820151608086015260a08201511660a08501520151910152565b34620004cc576020366003190112620004cc57602062000a5e600435600052600560205260ff6040600020541690565b6040519015158152f35b6000910312620004cc57565b34620004cc576000366003190112620004cc576001546040516001600160a01b039091168152602090f35b60ff811603620004cc57565b3590620003f18262000a9f565b34620004cc5760e0366003190112620004cc57620006db62000b3960405162000ae1816200031a565b60043562000aef8162000a9f565b81526024356020820152604435604082015260643562000b0f81620005fa565b6060820152608435608082015262000b2662000607565b60a082015260c43560c0820152620038c9565b6040519182918262000848565b34620004cc576000366003190112620004cc576020600c54604051908152f35b34620004cc576000366003190112620004cc57602060025460ff60405191831c168152f35b34620004cc576000366003190112620004cc576000546040516001600160a01b039091168152602090f35b6080366003190112620004cc576004803562000bd281620005fa565b604435916064359062000be58262000623565b62000bef62001b7d565b50600080546001600160a01b0394839160209062000c0f9088166200096f565b604051631a90a21960e01b815295869182905afa93841562000d9b57839462000dd0575b5062000c4134851062001bc9565b62000c4d843462001c4d565b9662000c5c8882111562001c5b565b6402540be40080890491049362000c7e62000c77836200238f565b8a62001c4d565b818115801562000da5575b5050845462000cb0919062000ca9908b166001600160a01b03166200096f565b9a62001c4d565b98803b1562000da15784604051809b8193630d0e30db60e41b83525af196871562000d9b5760209862000d6c9862000d7d575b50835462000d0990839062000d039084166001600160a01b03166200096f565b620036f6565b62000d306200096f6200096f6200096f61ffff94856002541698541660018060a01b031690565b9062000d4962000d3f62000414565b61ffff9096168652565b818a86015282604086015285606086015286608086015260243594511662002421565b6001600160401b0360405191168152f35b8062000d8d62000d949262000358565b8062000a68565b3862000ce3565b62001b71565b5080fd5b82829162000dc5575b8280929181923390f11562000d9b57813862000c89565b6108fc915062000dae565b62000df791945060203d811162000dff575b62000dee8183620003c0565b81019062001bb9565b923862000c33565b503d62000de2565b34620004cc576000366003190112620004cc57602061ffff60025416604051908152f35b34620004cc576200001b62000e7a60e062000e4e620007196200091036620004d1565b62000e7261014082015160005260056020526040600020600160ff19825416179055565b015162004421565b62000ec662000e8e604083015161ffff1690565b61ffff62000eaa62000ea360025461ffff1690565b61ffff1690565b9116908114908162000f2b575b811562000f21575b5062003f16565b608062000f096060830162000f0162000efa62000ee5835161ffff1690565b61ffff16600052600b60205260406000205490565b1562003f56565b5161ffff1690565b9101519061ffff16600052600b602052604060002055565b9050153862000ebf565b905062000f4262000f3e600c5446141590565b1590565b9062000eb7565b34620004cc576020366003190112620004cc57602062000a5e600435600052600660205260ff6040600020541690565b34620004cc576000366003190112620004cc576004546040516001600160a01b039091168152602090f35b34620004cc576020366003190112620004cc57602062000fcb60043562000ee581620005fa565b604051908152f35b34620004cc5760c0366003190112620004cc57620006db62000b3960405162000ffc816200033c565b6004356200100a8162000a9f565b815260243560208201526044356200102281620005fa565b6040820152606435620010358162000a9f565b6060820152608435608082015260a43560a082015262003860565b34620004cc576000366003190112620004cc576020600354604051908152f35b34620004cc576020366003190112620004cc576001600160a01b0362001095620005e3565b16600052600a6020526020604060002054604051908152f35b6080366003190112620004cc576004803590620010cb82620005fa565b604435620010d98162000623565b6064356001600160401b038111620004cc57620010fa90369084016200047f565b906200110562001b7d565b506000805490946001600160a01b039491829190602090620011299088166200096f565b604051631a90a21960e01b815294859182905afa92831562000d9b578793620012c1575b506200115b34841062001bc9565b62001167833462001c4d565b966402540be4008804906200118062000c77836200238f565b818115801562001296575b50508454620011ab919062000ca9908b166001600160a01b03166200096f565b98803b1562000da157819085604051809c8193630d0e30db60e41b83525af197881562000d9b57620006db9962001265996200127f575b5084546200120290849062000d039084166001600160a01b03166200096f565b620012296200096f6200096f6200096f61ffff94856002541699541660018060a01b031690565b91620012426200123862000414565b61ffff9097168752565b8260208701528360408701526060860152856080860152602435945116620024fd565b6040516001600160401b0390911681529081906020820190565b8062000d8d6200128f9262000358565b38620011e2565b828291620012b6575b8280929181923390f11562000d9b5781386200118b565b6108fc91506200129f565b620012de91935060203d811162000dff5762000dee8183620003c0565b91386200114d565b34620004cc57620006db6200087a620012ff36620004d1565b62003263565b604080600319360112620004cc576200131d620005e3565b602435916200132c8362000623565b805192602080938186019563313ce56760e01b8752600481526200135081620003a4565b6000809781925190845afa506200136662001a49565b86808651858101906395d89b4160e01b8252600481526200138781620003a4565b5190855afa5060ff6200147d6200096f6200146c88620013a662001a49565b958c8083518b8101906306fdde0360e01b825260048152620013c881620003a4565b51908b5afa5088806200141662001406620013f6620013e662001a49565b9584808251830101910162001a8b565b9a83808251830101910162001aed565b9382808251830101910162001aed565b920151910151906200145c600254986200145262001433620003e2565b60028152956001600160a01b039c8d16878f015261ffff8c1690870152565b60ff166060850152565b608083015260a082015262003860565b8a549095166001600160a01b031690565b91620014a38751968795869485946358cd21bf60e11b8652891c16916004850162001b42565b039134905af192831562000d9b57620006db9493620014d7575b5050516001600160401b0390911681529081906020820190565b620014fc929350803d1062001505575b620014f38183620003c0565b81019062001b2b565b903880620014bd565b503d620014e7565b60c0366003190112620004cc5762001524620005e3565b604435906200153382620005fa565b60843590620015428262000623565b60a435916001600160401b038311620004cc57620006db936200159362001572620006bc9536906004016200047f565b93620015846002600d54141562001cbd565b6002600d556024359062001d2f565b9061ffff82511690602083015192608060408201519101519360643593620024fd565b34620004cc576200001b620012ff36620004d1565b34620004cc576080620015e8620015e236620004d1565b62004591565b61ffff6060604051928051845260ff6020820151166020850152604081015160408501520151166060820152f35b34620004cc57600319602036820112620004cc576004356001600160401b0391828211620004cc57610100908236030112620004cc5762001656620003f3565b620016648260040162000aab565b81526024820135602082015260448201356040820152620016886064830162000616565b606082015260848201356080820152620016a560a4830162000616565b60a082015260c482013560c082015260e4820135928311620004cc57620016db62000b39926004620006db95369201016200047f565b60e08201526200393f565b34620004cc576020366003190112620004cc576001600160a01b036200170b620005e3565b166000526007602052602060ff604060002054166040519015158152f35b34620004cc576000366003190112620004cc576020600c54604051904614158152f35b34620004cc57620017916200176136620004d1565b6000805460405163607ec5ef60e11b8152939192839285926001600160a01b031691839182916004830162000848565b03915afa90811562000d9b57620006db9262001801928291839084926200181b575b50620017c19293506200276b565b620017d6620017d08262003826565b6200279e565b620017fa60a0620017eb60e084015162003a18565b9201516001600160401b031690565b9062002a65565b6040516001600160a01b0390911681529081906020820190565b915050620018439150620017c1923d8091833e6200183a8183620003c0565b81019062002632565b909291928392620017b3565b34620004cc57620006db620009d66200186836620004d1565b62003d2e565b34620004cc5760e06200188b6200188536620004d1565b62003c3f565b620006db6040519283926020845260ff8151166020850152602081015160408501526040810151606085015261ffff6060820151166080850152608081015160a0850152620018e560a082015160c086019061ffff169052565b60c08101518285015201516101008084015261012083019062000821565b34620004cc57620019186200176136620004d1565b03915afa90811562000d9b57620006db92620018019282918390849262001973575b50620019489293506200276b565b62001957620017d08262003826565b6200196c60a0620017eb60e084015162003a18565b9062002813565b91505062001992915062001948923d8091833e6200183a8183620003c0565b9092919283926200193a565b34620004cc576000366003190112620004cc57602061ffff60025460101c16604051908152f35b34620004cc576080620019e2620019dc36620004d1565b6200451f565b6060604051918051835260ff602082015116602084015261ffff604082015116604084015201516060820152f35b34620004cc576200001b6200087436620004d1565b60405190602082018281106001600160401b03821117620003365760405260008252565b3d1562001a79573d9062001a5d8262000463565b9162001a6d6040519384620003c0565b82523d6000602084013e565b606090565b5190620003f18262000a9f565b90816020910312620004cc5751620004ff8162000a9f565b81601f82011215620004cc57805162001abc8162000463565b9262001acc6040519485620003c0565b81845260208284010111620004cc57620004ff9160208085019101620007fc565b90602082820312620004cc5781516001600160401b038111620004cc57620004ff920162001aa3565b51906001600160401b0382168203620004cc57565b90816020910312620004cc57620004ff9062001b16565b9162001b6a60ff9163ffffffff60409497969716855260606020860152606085019062000821565b9416910152565b6040513d6000823e3d90fd5b6040519060a082018281106001600160401b03821117620003365760405260006080838281528260208201528260408201528260608201520152565b90816020910312620004cc575190565b1562001bd157565b60405162461bcd60e51b815260206004820152602260248201527f76616c756520697320736d616c6c6572207468616e20776f726d686f6c652066604482015261656560f01b6064820152608490fd5b634e487b7160e01b600052601160045260246000fd5b60841981019190821162001c4757565b62001c21565b9190820391821162001c4757565b1562001c6357565b60405162461bcd60e51b815260206004820152602c60248201527f66656520697320626967676572207468616e20616d6f756e74206d696e75732060448201526b776f726d686f6c652066656560a01b6064820152608490fd5b1562001cc557565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5190620003f182620005fa565b90816020910312620004cc5751620004ff81620005fa565b9062001d3a62001b7d565b506001600160a01b038216600090815260096020526040902062001d60905b5460ff1690565b156200206f57604051634d4502c960e11b81526001600160a01b0383169260209290918381600481885afa90811562000d9b5760049185916000916200203b575b509560405192838092633d6c043b60e01b82525afa90811562000d9b5762001e289460009262002019575b5050905b62001e2e604051916000806020948581019063313ce56760e01b82526004815262001dfb81620003a4565b5190885afa5062001e1e62001e0f62001a49565b84808251830101910162001a8b565b958680926200234d565b620023aa565b9261ffff9462001e43866002541661ffff1690565b87871690810362001f935762001f5362001f3e8362001f388660008062001f479c8b62001f0f60405162001eed8382019486806370a0823160e01b978881528562001ea03060248301919091602081019260018060a01b03169052565b039562001eb6601f1997888101835282620003c0565b51908c5afa5062001ed962001eca62001a49565b86808251830101910162001bb9565b98309033906001600160a01b031662004942565b60405192830193845230602484015282604481015b03908101835282620003c0565b51908b5afa5062001f3262001f2362001a49565b8a808251830101910162001bb9565b62001c4d565b6200234d565b96879362002308565b976002541661ffff1690565b1462001f80575b505062001f6a62000d3f62000414565b8401526040830152606082015234608082015290565b62001f8b91620036f6565b388362001f5a565b6001600160a01b0383169562001fac8130338a62004942565b863b15620004cc57604051632770a7eb60e21b815230600482015260248101829052966000908890604490829084905af196871562000d9b578362001f539262001f3e9262001f479a62002002575b506200234d565b8062000d8d620020129262000358565b3862001ffb565b620020339250803d1062000dff5762000dee8183620003c0565b388062001dcc565b620020609150823d841162002067575b620020578183620003c0565b81019062001d17565b3862001da1565b503d6200204b565b60025461ffff169162001e28916001600160a01b0382169062001dd0565b91906200209962001b7d565b506001600160a01b0383166000908152600960205260409020620020bd9062001d59565b15620022c457604051634d4502c960e11b81526001600160a01b0384169360209290918381600481895afa90811562000d9b576004918591600091620022a2575b509660405192838092633d6c043b60e01b82525afa90811562000d9b5762001e289460009262002280575b5050915b6200217b604051926000806020958681019063313ce56760e01b8252600481526200215881620003a4565b5190865afa5062001e1e6200216c62001a49565b85808251830101910162001a8b565b60025461ffff969188881691879085908a16840362002210576040516370a0823160e01b81890181815230602484015262001f539562001f47956200220795909462001f389491936000938493928f92620021e49262001eed9187908190856044810162001ea0565b51908c5afa5062001f32620021f862001a49565b8b808251830101910162001bb9565b9788946200234d565b50506001600160a01b038416906200222b8130338562004942565b813b15620004cc57604051632770a7eb60e21b815230600482015260248101829052916000908390604490829084905af191821562000d9b578862001f4792620022079262001f53956200200257506200234d565b6200229a9250803d1062000dff5762000dee8183620003c0565b388062002129565b620022bd9150823d84116200206757620020578183620003c0565b38620020fe565b60025461ffff169262001e28916001600160a01b038216916200212d565b60ff6007199116019060ff821162001c4757565b60ff16604d811162001c4757600a0a90565b600090600860ff8216116200231b575090565b6200232a6200233091620022e2565b620022f6565b15620023395790565b634e487b7160e01b81526012600452602490fd5b90600860ff8216116200235e575090565b6200232a6200236d91620022e2565b90811562002379570490565b634e487b7160e01b600052601260045260246000fd5b6402540be4009081810291818304149015171562001c475790565b90600860ff821611620023bb575090565b6200232a620023ca91620022e2565b9081810291818304149015171562001c475790565b15620023e757565b60405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b6044820152606490fd5b92620024c997959294620024696020989562002479946200244589881115620023df565b6200244f62000423565b60018152985b898c0152604089015261ffff166060880152565b608086015261ffff1660a0850152565b60c0830152600054620024a1906200249a906001600160a01b03166200096f565b92620038c9565b6002546040516358cd21bf60e11b81529687958694938593891c60ff16916004850162001b42565b03925af190811562000d9b57600091620024e1575090565b620004ff915060203d81116200150557620014f38183620003c0565b92620024c997929462002469602098979562002528946200251d620003f3565b600381529862002455565b3360c084015260e0830152600054620024a1906200254f906001600160a01b03166200096f565b926200393f565b5190620003f18262000623565b9080601f83011215620004cc578151916001600160401b03831162000336576040918251936020916200259c838360051b0187620003c0565b818652828087019260071b85010193818511620004cc578301915b848310620025c85750505050505090565b608083830312620004cc57836080918751620025e4816200036c565b85518152828601518382015288860151620025ff8162000a9f565b8982015260608087015190620026158262000a9f565b820152815201920191620025b7565b51908115158203620004cc57565b9091606082840312620004cc578151916001600160401b0392838111620004cc57810161016081860312620004cc576200266b62000432565b90620026778162001a7e565b8252620026876020820162002556565b60208301526200269a6040820162002556565b6040830152620026ad6060820162001d0a565b606083015260808101516080830152620026ca60a0820162001b16565b60a0830152620026dd60c0820162001a7e565b60c083015260e0810151858111620004cc5786620026fd91830162001aa3565b60e08301526101006200271281830162002556565b9083015261012080820151868111620004cc57876200273391840162002563565b90830152610140809101519082015293620027516020830162002624565b936040830151908111620004cc57620004ff920162001aa3565b15620027745750565b60405162461bcd60e51b8152602060048201529081906200279a90602483019062000821565b0390fd5b15620027a657565b60405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b21032b6b4ba3a32b960891b6044820152606490fd5b9162001b6a6001600160401b03916200280460409497969760608752606087019062000821565b90858203602087015262000821565b906200285061ffff60408401511660208401519061ffff16600052600860205260406000209060005260205260018060a01b036040600020541690565b916001600160a01b038316918215620028d5576200288160806200287860a085015162003e8a565b93015162003e8a565b92803b15620004cc57620028b19360008094604051968795869485936350c66be360e11b855260048501620027dd565b03925af1801562000d9b57620028c5575090565b8062000d8d620004ff9262000358565b60405162461bcd60e51b815260206004820152601d60248201527f7772617070656420617373657420646f6573206e6f74206578697374730000006044820152606490fd5b156200292257565b60405162461bcd60e51b815260206004820152602860248201527f63616e206f6e6c79207772617020746f6b656e732066726f6d20666f726569676044820152676e20636861696e7360c01b6064820152608490fd5b156200298057565b60405162461bcd60e51b815260206004820152601c60248201527f7772617070656420617373657420616c726561647920657869737473000000006044820152606490fd5b936001600160401b039060ff62002a0361ffff969b9a9995620029f460c09a9660e08b5260e08b019062000821565b9089820360208b015262000821565b9a1660408701521660608501526001600160a01b031660808401521660a08201520152565b6001600160a01b039091168152604060208201819052620004ff9291019062000821565b9062002a6160209282815194859201620007fc565b0190565b91909162002bb262002b68604083019462002a9962002a86875161ffff1690565b60025461ffff908116911614156200291a565b85516020858101805161ffff909316600090815260088352604080822094825293835292909220549195909162002b75919062002ae0906001600160a01b03161562002978565b62002b4262002af360a083015162003e8a565b9462002b12606062002b09608086015162003e8a565b94015160ff1690565b9562002b208c5161ffff1690565b908a519260405198899663c71f461560e01b8a890152309360248901620029c5565b039262002b58601f1994858101835282620003c0565b6040519485913085840162002a28565b03838101855284620003c0565b62002bbf6106f69362002b8a83860162000453565b9480865262004afe8487013960405195869162002bab858401809862002a4c565b9062002a4c565b03838101865285620003c0565b62002bfd62002bd0885161ffff1690565b865160405160f09290921b6001600160f01b03191693820193845260028401529192826022850162001f02565b5190209151906000f592833b15620004cc5751905161ffff909116600090815260086020908152604080832093835292815282822080546001600160a01b0319166001600160a01b03871690811790915582526009905220805460ff19166001179055565b1562002c6a57565b60405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21039b2b73232b960911b6044820152606490fd5b1562002ca857565b60405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c657465640000000000006044820152606490fd5b1562002cf557565b60405162461bcd60e51b815260206004820152601460248201527334b73b30b634b2103a30b933b2ba1031b430b4b760611b6044820152606490fd5b1562002d3957565b60405162461bcd60e51b815260206004820152602560248201527f6e6f207772617070657220666f72207468697320746f6b656e2063726561746560448201526419081e595d60da1b6064820152608490fd5b1562002d9457565b60405162461bcd60e51b815260206004820152602360248201527f696e76616c696420746f6b656e2c2063616e206f6e6c7920756e77726170205760448201526208aa8960eb1b6064820152608490fd5b1562002ded57565b60405162461bcd60e51b815260206004820152602260248201527f66656520686967686572207468616e207472616e7366657272656420616d6f756044820152611b9d60f21b6064820152608490fd5b600080546001600160a01b039062002e579082166200096f565b604093838551809363607ec5ef60e11b8252818062002e7b60049687830162000848565b03915afa801562000d9b578492859086926200323c575b509062002e9f916200276b565b62002eae620017d08362003826565b60e082019462002ebf865162003d2e565b8462002ecf608083015162003681565b94600360ff62002ee0855160ff1690565b161462003227575b62002f34610140820162002f1962002f1362000f3e8351600052600660205260ff6040600020541690565b62002ca0565b5160005260066020526040600020600160ff19825416179055565b606081015161ffff16906001600160401b0362002f6060a060808401519301516001600160401b031690565b169061ffff8093167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c1698b80a48062002fbb62002fa160a086015161ffff1690565b62002fb1836002541661ffff1690565b9216821462002ced565b606084015161ffff1691821603620031df575062002fe06200096f8484015162003681565b62002ff26020840151838316620037a9565b1686806200300c6200096f8988541660018060a01b031690565b926200301c898516821462002d8c565b855163313ce56760e01b60208201908152888252906200303c81620003a4565b51915afa506200307e620030636200305362001a49565b6020808251830101910162001a8b565b60c062003075826020870151620023aa565b940151620023aa565b9081151580620031d2575b15620031c3576200309d8383111562002de5565b803b15620031bf578784518092632e1a7d4d60e01b8252818381620030c9888c83019190602083019252565b03925af1801562000d9b57620031a8575b5086808280156200319d575b8280929181923390f11562000d9b57620031009162001c4d565b82549092906200311b9086166001600160a01b03166200096f565b91823b15620031995751632e1a7d4d60e01b815290810183815290939291869185919082908490829060200103925af191821562000d9b5785948594859462003182575b508391831562003177575b1690f11562000d9b575190565b6108fc92506200316a565b8062000d8d620031929262000358565b386200315f565b8680fd5b6108fc9150620030e6565b8062000d8d620031b89262000358565b38620030da565b8780fd5b50506200310090869062001c4d565b5033878716141562003089565b620032138291858501519061ffff16600052600860205260406000209060005260205260018060a01b036040600020541690565b166200322181151562002d31565b62002ff2565b62003236828716331462002c62565b62002ee8565b905062002e9f93506200325b91503d8087833e6200183a8183620003c0565b919362002e92565b600080546001600160a01b03906200327d9082166200096f565b92604093838551809263607ec5ef60e11b82528180620032a260049788830162000848565b03915afa801562000d9b57849085869162003658575b620032c59293506200276b565b620032d4620017d08262003826565b60e0810194620032e5865162003d2e565b92620032f5608085015162003681565b93600360ff62003306835160ff1690565b161462003643575b62003339610140850162002f1962002f1362000f3e8351600052600660205260ff6040600020541690565b606084015161ffff16936001600160401b036200336560a060808401519301516001600160401b031690565b169061ffff8096167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c1698a80a483620033c0620033a660a084015161ffff1690565b620033b6836002541661ffff1690565b9616861462002ced565b866060830195620033d3875161ffff1690565b908382160362003602575050620033f16200096f8584015162003681565b90620034046020840151898416620037a9565b8782169289808751602081019063313ce56760e01b82528881526200342981620003a4565b5190875afa506200345c620034416200305362001a49565b60c062003453826020860151620023aa565b930151620023aa565b998a151580620035f5575b15620035e6576200347b828c111562002de5565b9962003489885161ffff1690565b836200349a816002541661ffff1690565b911614620035d457843b15620004cc5786516340c10f1960e01b81523387820190815260208101839052909290600090849081906040010381838a5af192831562000d9b57620034f193620035bd575b5062001c4d565b9589156200351657505082546200311b925087166001600160a01b031690506200096f565b909295969498506200352d919397505161ffff1690565b906200353e816002541661ffff1690565b911614620035ac5750813b15620004cc5793516340c10f1960e01b81526001600160a01b03909416928401928352602083019190915260009183919082908490829060400103925af1801562000d9b576200359857505190565b8062000d8d620035a89262000358565b5190565b9150919250620035a89350620048fd565b8062000d8d620035cd9262000358565b38620034ea565b620034f19162001f32823387620048fd565b9950620034f1908a9062001c4d565b50338a8a16141562003467565b8386015161ffff909116600090815260086020908152604080832093835292905220546001600160a01b0316166200363c81151562002d31565b9062003404565b62003652868616331462002c62565b6200330e565b50505062003675620032c5913d8087833e6200183a8183620003c0565b919250829190620032b8565b6001600160a01b031981166200369d576001600160a01b031690565b60405162461bcd60e51b8152602060048201526013602482015272696e76616c69642045564d206164647265737360681b6044820152606490fd5b90601f820180921162001c4757565b608501908160851162001c4757565b6001600160a01b0381166000908152600a60205260409020549091810190811062001c47576001600160401b03811162003746576001600160a01b039091166000908152600a6020526040902055565b60405162461bcd60e51b815260206004820152603560248201527f7472616e736665722065786365656473206d6178206f75747374616e64696e6760448201527408189c9a5919d959081d1bdad95b88185b5bdd5b9d605a1b6064820152608490fd5b6001600160a01b0381166000908152600a60205260409020549091810390811162001c47576001600160a01b039091166000908152600a6020526040902055565b15620037f257565b60405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606490fd5b62003835600c544614620037ea565b60806200385961ffff60608401511661ffff16600052600b60205260406000205490565b9101511490565b8051602082015191604081015191606082015160a06080840151930151936040519560ff60f81b809460f81b166020880152602187015261ffff60f01b9060f01b16604186015260f81b1660438401526044830152606482015260648152620004ff8162000388565b80519060208101519060408101519060608101519160808201519060c060a0840151930151946040519660ff60f81b9060f81b1660208801526021870152604186015261ffff60f01b809360f01b166061860152606385015260f01b166083830152608582015260858152620004ff816200033c565b620004ff60a582516020840151936040810151906060810151608082015160a08301519060e060c085015194015194604051998a9760ff60f81b9060f81b1660208901526021880152604187015261ffff60f01b809360f01b166061870152606386015260f01b1660838401526085830152620039c68151809260208686019101620007fc565b8101036085810184520182620003c0565b15620039df57565b60405162461bcd60e51b8152602060048201526011602482015270696e76616c69642041737365744d65746160781b6044820152606490fd5b906040519162003a28836200033c565b600090818452602084019082825260408501928084526060860193818552608087019082825260a0880192835262003a7460028960ff62003a6988620047a1565b1680915214620039d7565b602184511062003add57620003f19562003aa962003abb926064976021880151905262003aa18762004831565b61ffff169052565b62003ab485620047fe565b60ff169052565b62003ac683620048b9565b905262003ad382620048db565b90525114620039d7565b60405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606490fd5b6040519062003b29826200031a565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b1562003b5c57565b60405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b2102a3930b739b332b960811b6044820152606490fd5b9062003b9f62003b1a565b9162003bbe600160ff62003bb384620047a1565b168086521462003b54565b62003bc98162004853565b602084015262003bd98162004897565b604084015261ffff62003bec8262004820565b166060840152606381511062003add576085816063620003f1930151608086015262003c2762003c1c8262004842565b61ffff1660a0870152565b62003c328162004864565b60c0860152511462003b54565b906040519161010083018381106001600160401b03821117620003365760405260009081845260208401918083526040850181815260608601828152608087019083825260a088019284845260c0890194855260e0890196606088528962003ca788620047a1565b60ff169081905262003cbc9060031462003b54565b62003cc78762004853565b905262003cd48662004897565b905262003ce18562004820565b61ffff16905262003cf284620048ca565b905262003cff8362004842565b61ffff16905262003d1082620048ec565b9052805162003d1f9062001c37565b62003d2a916200470b565b9052565b9062003d3962003b1a565b9160ff62003d4782620047a1565b166001810362003d5f5750620004ff91925062003b94565b60030362003dda5762003dc660a062003d7c62003dd19362003c3f565b60038652602081015160208701526040810151604087015262003db362003da8606083015161ffff1690565b61ffff166060880152565b60808101516080870152015161ffff1690565b61ffff1660a0840152565b600060c0830152565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081c185e5b1bd859081a5960721b6044820152606490fd5b634e487b7160e01b600052603260045260246000fd5b600019811462001c475760010190565b9062003e468262000463565b62003e556040519182620003c0565b828152809262003e68601f199162000463565b0190602036910137565b90815181101562003e84570160200190565b62003e14565b60005b602081108062003ef8575b1562003eaf5762003ea99062003e2a565b62003e8d565b9062003ebb8262003e3a565b9160005b81811062003ecd5750505090565b602081101562003e8457808362003ef2921a62003eeb828762003e72565b5362003e2a565b62003ebf565b1562003e845781811a60f81b6001600160f81b031916151562003e98565b1562003f1e57565b60405162461bcd60e51b815260206004820152601060248201526f1a5b9d985b1a590818da185a5b881a5960821b6044820152606490fd5b1562003f5e57565b60405162461bcd60e51b815260206004820152601860248201527f636861696e20616c7265616479207265676973746572656400000000000000006044820152606490fd5b1562003fab57565b60405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606490fd5b6040519061016082018281106001600160401b038211176200033657604052816101406000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201528261010082015260606101208201520152565b604051906200405a82620003a4565b60168252753bb937b7339033b7bb32b93730b731b29031b430b4b760511b6020830152565b604051906200408e82620003a4565b601982527f77726f6e6720676f7665726e616e636520636f6e7472616374000000000000006020830152565b60405190606082018281106001600160401b0382111762000336576040526022825261195960f21b6040837f676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d60208201520152565b62004159906200411e62003fe4565b5060008054909182916200413d906200096f906001600160a01b031681565b604051808096819463607ec5ef60e11b83526004830162000848565b03915afa91821562000d9b5781928291839162004211575b50811562004209575050606082015161ffff1661ffff6200419d62000ea360025461ffff9060101c1690565b911603620041fd57608082015160035403620041f157620041d1610140830151600052600560205260ff6040600020541690565b620041e5575090600190620004ff62001a25565b9091620004ff620040ba565b9091620004ff6200407f565b9091620004ff6200404b565b929390929150565b9150506200422c9192503d8084833e6200183a8183620003c0565b9192913862004171565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908154813b1562004312577f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a499060018060a01b039081841694856bffffffffffffffffffffffff60a01b83161790556200430c604051600080968192897fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a263204a7f0760e21b602082019081526004825290620042f781620003a4565b51915af46200430562001a49565b906200276b565b169180a3565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b156200437557565b60405162461bcd60e51b815260206004820152600c60248201526b77726f6e67206d6f64756c6560a01b6044820152606490fd5b15620043b157565b60405162461bcd60e51b815260206004820152600c60248201526b3bb937b7339030b1ba34b7b760a11b6044820152606490fd5b15620043ed57565b60405162461bcd60e51b815260206004820152600c60248201526b0eee4dedcce40d8cadccee8d60a31b6044820152606490fd5b906200442c62001b7d565b91620044526a546f6b656e427269646765620044488362004875565b808652146200436d565b62004473600160ff6200446584620047ed565b1680602087015214620043a9565b6023815110620044bc576045620003f19161ffff8060238301511660408701526200449e826200480f565b166060860152620044af81620048a8565b60808601525114620043e5565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606490fd5b6040519062004507826200036c565b60006060838281528260208201528260408201520152565b906200452a620044f8565b91620045466a546f6b656e427269646765620044488362004875565b62004559600260ff6200446584620047ed565b6023815110620044bc57602381015161ffff166040840152620003f190604390620045848162004886565b60608601525114620043e5565b906200459c620044f8565b91620045b86a546f6b656e427269646765620044488362004875565b620045cb600360ff6200446584620047ed565b604181511062004608576043816041620003f1930151604086015262004600620045f58262004820565b61ffff166060870152565b5114620043e5565b60405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606490fd5b4681036200465257600c55565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606490fd5b156200469457565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15620046d257565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b62004723826200471b81620036d8565b10156200468c565b6200473c81516200473484620036e7565b1115620046ca565b8162004755575050604051600081526020810160405290565b60405191601f8116916085831560051b80858701019484860193010101905b8084106200478d5750508252601f01601f191660405290565b909283518152602080910193019062004774565b6001815110620047b2576001015190565b60405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606490fd5b6021815110620047b2576021015190565b6024815110620047b2576024015190565b6025815110620044bc576025015190565b6043815110620044bc576043015190565b6023815110620044bc576023015190565b6065815110620044bc576065015190565b602181511062004608576021015190565b608581511062004608576085015190565b602081511062003add576020015190565b604381511062003add576043015190565b604181511062003add576041015190565b604581511062003add576045015190565b604481511062003add576044015190565b606381511062003add576063015190565b606481511062003add576064015190565b608581511062003add576085015190565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152620003f1916200493c606483620003c0565b620049fe565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152620003f1916200493c8262000388565b90816020910312620004cc57620004ff9062002624565b15620049a657565b60405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b6040516001600160a01b03919091169162004a1982620003a4565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1562004a9a576000828192828762004a709796519301915af162004a6962001a49565b9062004adf565b8051908162004a7e57505050565b82620003f19362004a9493830101910162004987565b6200499e565b60405162461bcd60e51b815260048101859052601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9091901562004aec575090565b815115620027745750805190602001fdfe6080604052346100a3576106f6803803809161001a826100be565b60803960408160800191126100a35761003161010c565b60a05191906001600160401b0383116100a35781609f840112156100a35782608001519261005e84610122565b9261006c60405194856100e9565b84845260a085830101116100a3576100949361008f9160a060208601910161013d565b610160565b6040516101f690816105008239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6080601f91909101601f19168101906001600160401b038211908210176100e457604052565b6100a8565b601f909101601f19168101906001600160401b038211908210176100e457604052565b608051906001600160a01b03821682036100a357565b6001600160401b0381116100e457601f01601f191660200190565b60005b8381106101505750506000910152565b8181015183820152602001610140565b90813b156102c257604051635c60da1b60e01b8082526020939092916001600160a01b038216918582600481865afa918215610298576101ef926101af916000916102a5575b503b1515610340565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b03909216919091179055565b60405192817f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e600080a282511580159061029d575b610230575b5050505050565b6004848693819382525afa9182156102985761025e93600093610269575b50506102586103a5565b916103fe565b503880808080610229565b610289929350803d10610291575b61028181836100e9565b810190610315565b90388061024e565b503d610277565b610334565b506000610224565b6102bc9150883d8a116102915761028181836100e9565b386101a6565b60405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b6064820152608490fd5b908160209103126100a357516001600160a01b03811681036100a35790565b6040513d6000823e3d90fd5b1561034757565b60405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608490fd5b60405190606082016001600160401b038111838210176100e45760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b9190823b15610451576000816104469460208394519201905af43d15610449573d9061042982610122565b9161043760405193846100e9565b82523d6000602084013e6104a5565b90565b6060906104a5565b60405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b909190156104b1575090565b8151156104c15750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526104f1815180928160248601526020868601910161013d565b601f01601f19168101030190fdfe608080604052366100c4577fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054635c60da1b60e01b8252602090829060049082906001600160a01b03165afa9081156100b857600091610060575b5061015b565b6020903d82116100b0575b601f8201601f1916810167ffffffffffffffff81118282101761009c5761009693506040520161017a565b3861005a565b634e487b7160e01b84526041600452602484fd5b3d915061006b565b6040513d6000823e3d90fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5054604051635c60da1b60e01b815290602090829060049082906001600160a01b03165afa9081156100b85760009161011d575061015b565b60203d8111610154575b601f8101601f1916820167ffffffffffffffff81118382101761009c5761009693506040528101906101a1565b503d610127565b6000808092368280378136915af43d82803e15610176573d90f35b3d90fd5b602090607f19011261019c576080516001600160a01b038116810361019c5790565b600080fd5b9081602091031261019c57516001600160a01b038116810361019c579056fea2646970667358221220a928e3b00b7d19d8e2f067361e93c7712de3e243b0b8be428e9ac989960b767464736f6c63430008130033a26469706673582212200ab8408b24ad8ea6b955a8d00252b04da580f860c567cd433865e841fd49531564736f6c63430008130033';
1219
+ const isSuperArgs = (xs) => xs.length > 1;
1220
+ class Bridge__factory extends ethers_1.ContractFactory {
1221
+ constructor(...args) {
1222
+ if (isSuperArgs(args)) {
1223
+ super(...args);
1224
+ }
1225
+ else {
1226
+ super(_abi, _bytecode, args[0]);
1227
+ }
1228
+ }
1229
+ getDeployTransaction(overrides) {
1230
+ return super.getDeployTransaction(overrides || {});
1231
+ }
1232
+ deploy(overrides) {
1233
+ return super.deploy(overrides || {});
1234
+ }
1235
+ connect(runner) {
1236
+ return super.connect(runner);
1237
+ }
1238
+ static bytecode = _bytecode;
1239
+ static abi = _abi;
1240
+ static createInterface() {
1241
+ return new ethers_1.Interface(_abi);
1242
+ }
1243
+ static connect(address, runner) {
1244
+ return new ethers_1.Contract(address, _abi, runner);
1245
+ }
1246
+ }
1247
+ exports.Bridge__factory = Bridge__factory;
1248
+ //# sourceMappingURL=Bridge__factory.js.map