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