@wormhole-foundation/sdk-evm-core 0.5.0-alpha.2 → 0.5.0-alpha.4

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 (29) hide show
  1. package/dist/cjs/core.d.ts +25 -0
  2. package/dist/cjs/core.d.ts.map +1 -0
  3. package/dist/cjs/core.js +112 -0
  4. package/dist/cjs/core.js.map +1 -0
  5. package/dist/cjs/ethers-contracts/Implementation.d.ts +551 -0
  6. package/dist/cjs/ethers-contracts/Implementation.d.ts.map +1 -0
  7. package/dist/cjs/ethers-contracts/Implementation.js +3 -0
  8. package/dist/cjs/ethers-contracts/Implementation.js.map +1 -0
  9. package/dist/cjs/ethers-contracts/common.d.ts +51 -0
  10. package/dist/cjs/ethers-contracts/common.d.ts.map +1 -0
  11. package/dist/cjs/ethers-contracts/common.js +3 -0
  12. package/dist/cjs/ethers-contracts/common.js.map +1 -0
  13. package/dist/cjs/ethers-contracts/factories/Implementation__factory.d.ts +820 -0
  14. package/dist/cjs/ethers-contracts/factories/Implementation__factory.d.ts.map +1 -0
  15. package/dist/cjs/ethers-contracts/factories/Implementation__factory.js +1078 -0
  16. package/dist/cjs/ethers-contracts/factories/Implementation__factory.js.map +1 -0
  17. package/dist/cjs/ethers-contracts/factories/index.d.ts +2 -0
  18. package/dist/cjs/ethers-contracts/factories/index.d.ts.map +1 -0
  19. package/dist/cjs/ethers-contracts/factories/index.js +18 -0
  20. package/dist/cjs/ethers-contracts/factories/index.js.map +1 -0
  21. package/dist/cjs/ethers-contracts/index.d.ts +3 -0
  22. package/dist/cjs/ethers-contracts/index.d.ts.map +1 -0
  23. package/dist/cjs/ethers-contracts/index.js +19 -0
  24. package/dist/cjs/ethers-contracts/index.js.map +1 -0
  25. package/dist/cjs/index.d.ts +3 -0
  26. package/dist/cjs/index.d.ts.map +1 -0
  27. package/dist/cjs/index.js +36 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/package.json +16 -7
@@ -0,0 +1,1078 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Implementation__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: 'uint32',
66
+ name: 'index',
67
+ type: 'uint32',
68
+ },
69
+ ],
70
+ name: 'GuardianSetAdded',
71
+ type: 'event',
72
+ },
73
+ {
74
+ anonymous: false,
75
+ inputs: [
76
+ {
77
+ indexed: true,
78
+ internalType: 'address',
79
+ name: 'sender',
80
+ type: 'address',
81
+ },
82
+ {
83
+ indexed: false,
84
+ internalType: 'uint64',
85
+ name: 'sequence',
86
+ type: 'uint64',
87
+ },
88
+ {
89
+ indexed: false,
90
+ internalType: 'uint32',
91
+ name: 'nonce',
92
+ type: 'uint32',
93
+ },
94
+ {
95
+ indexed: false,
96
+ internalType: 'bytes',
97
+ name: 'payload',
98
+ type: 'bytes',
99
+ },
100
+ {
101
+ indexed: false,
102
+ internalType: 'uint8',
103
+ name: 'consistencyLevel',
104
+ type: 'uint8',
105
+ },
106
+ ],
107
+ name: 'LogMessagePublished',
108
+ type: 'event',
109
+ },
110
+ {
111
+ anonymous: false,
112
+ inputs: [
113
+ {
114
+ indexed: true,
115
+ internalType: 'address',
116
+ name: 'implementation',
117
+ type: 'address',
118
+ },
119
+ ],
120
+ name: 'Upgraded',
121
+ type: 'event',
122
+ },
123
+ {
124
+ stateMutability: 'payable',
125
+ type: 'fallback',
126
+ },
127
+ {
128
+ inputs: [],
129
+ name: 'chainId',
130
+ outputs: [
131
+ {
132
+ internalType: 'uint16',
133
+ name: '',
134
+ type: 'uint16',
135
+ },
136
+ ],
137
+ stateMutability: 'view',
138
+ type: 'function',
139
+ },
140
+ {
141
+ inputs: [],
142
+ name: 'evmChainId',
143
+ outputs: [
144
+ {
145
+ internalType: 'uint256',
146
+ name: '',
147
+ type: 'uint256',
148
+ },
149
+ ],
150
+ stateMutability: 'view',
151
+ type: 'function',
152
+ },
153
+ {
154
+ inputs: [],
155
+ name: 'getCurrentGuardianSetIndex',
156
+ outputs: [
157
+ {
158
+ internalType: 'uint32',
159
+ name: '',
160
+ type: 'uint32',
161
+ },
162
+ ],
163
+ stateMutability: 'view',
164
+ type: 'function',
165
+ },
166
+ {
167
+ inputs: [
168
+ {
169
+ internalType: 'uint32',
170
+ name: 'index',
171
+ type: 'uint32',
172
+ },
173
+ ],
174
+ name: 'getGuardianSet',
175
+ outputs: [
176
+ {
177
+ components: [
178
+ {
179
+ internalType: 'address[]',
180
+ name: 'keys',
181
+ type: 'address[]',
182
+ },
183
+ {
184
+ internalType: 'uint32',
185
+ name: 'expirationTime',
186
+ type: 'uint32',
187
+ },
188
+ ],
189
+ internalType: 'struct Structs.GuardianSet',
190
+ name: '',
191
+ type: 'tuple',
192
+ },
193
+ ],
194
+ stateMutability: 'view',
195
+ type: 'function',
196
+ },
197
+ {
198
+ inputs: [],
199
+ name: 'getGuardianSetExpiry',
200
+ outputs: [
201
+ {
202
+ internalType: 'uint32',
203
+ name: '',
204
+ type: 'uint32',
205
+ },
206
+ ],
207
+ stateMutability: 'view',
208
+ type: 'function',
209
+ },
210
+ {
211
+ inputs: [
212
+ {
213
+ internalType: 'bytes32',
214
+ name: 'hash',
215
+ type: 'bytes32',
216
+ },
217
+ ],
218
+ name: 'governanceActionIsConsumed',
219
+ outputs: [
220
+ {
221
+ internalType: 'bool',
222
+ name: '',
223
+ type: 'bool',
224
+ },
225
+ ],
226
+ stateMutability: 'view',
227
+ type: 'function',
228
+ },
229
+ {
230
+ inputs: [],
231
+ name: 'governanceChainId',
232
+ outputs: [
233
+ {
234
+ internalType: 'uint16',
235
+ name: '',
236
+ type: 'uint16',
237
+ },
238
+ ],
239
+ stateMutability: 'view',
240
+ type: 'function',
241
+ },
242
+ {
243
+ inputs: [],
244
+ name: 'governanceContract',
245
+ outputs: [
246
+ {
247
+ internalType: 'bytes32',
248
+ name: '',
249
+ type: 'bytes32',
250
+ },
251
+ ],
252
+ stateMutability: 'view',
253
+ type: 'function',
254
+ },
255
+ {
256
+ inputs: [],
257
+ name: 'initialize',
258
+ outputs: [],
259
+ stateMutability: 'nonpayable',
260
+ type: 'function',
261
+ },
262
+ {
263
+ inputs: [],
264
+ name: 'isFork',
265
+ outputs: [
266
+ {
267
+ internalType: 'bool',
268
+ name: '',
269
+ type: 'bool',
270
+ },
271
+ ],
272
+ stateMutability: 'view',
273
+ type: 'function',
274
+ },
275
+ {
276
+ inputs: [
277
+ {
278
+ internalType: 'address',
279
+ name: 'impl',
280
+ type: 'address',
281
+ },
282
+ ],
283
+ name: 'isInitialized',
284
+ outputs: [
285
+ {
286
+ internalType: 'bool',
287
+ name: '',
288
+ type: 'bool',
289
+ },
290
+ ],
291
+ stateMutability: 'view',
292
+ type: 'function',
293
+ },
294
+ {
295
+ inputs: [],
296
+ name: 'messageFee',
297
+ outputs: [
298
+ {
299
+ internalType: 'uint256',
300
+ name: '',
301
+ type: 'uint256',
302
+ },
303
+ ],
304
+ stateMutability: 'view',
305
+ type: 'function',
306
+ },
307
+ {
308
+ inputs: [
309
+ {
310
+ internalType: 'address',
311
+ name: 'emitter',
312
+ type: 'address',
313
+ },
314
+ ],
315
+ name: 'nextSequence',
316
+ outputs: [
317
+ {
318
+ internalType: 'uint64',
319
+ name: '',
320
+ type: 'uint64',
321
+ },
322
+ ],
323
+ stateMutability: 'view',
324
+ type: 'function',
325
+ },
326
+ {
327
+ inputs: [
328
+ {
329
+ internalType: 'bytes',
330
+ name: 'encodedVM',
331
+ type: 'bytes',
332
+ },
333
+ ],
334
+ name: 'parseAndVerifyVM',
335
+ outputs: [
336
+ {
337
+ components: [
338
+ {
339
+ internalType: 'uint8',
340
+ name: 'version',
341
+ type: 'uint8',
342
+ },
343
+ {
344
+ internalType: 'uint32',
345
+ name: 'timestamp',
346
+ type: 'uint32',
347
+ },
348
+ {
349
+ internalType: 'uint32',
350
+ name: 'nonce',
351
+ type: 'uint32',
352
+ },
353
+ {
354
+ internalType: 'uint16',
355
+ name: 'emitterChainId',
356
+ type: 'uint16',
357
+ },
358
+ {
359
+ internalType: 'bytes32',
360
+ name: 'emitterAddress',
361
+ type: 'bytes32',
362
+ },
363
+ {
364
+ internalType: 'uint64',
365
+ name: 'sequence',
366
+ type: 'uint64',
367
+ },
368
+ {
369
+ internalType: 'uint8',
370
+ name: 'consistencyLevel',
371
+ type: 'uint8',
372
+ },
373
+ {
374
+ internalType: 'bytes',
375
+ name: 'payload',
376
+ type: 'bytes',
377
+ },
378
+ {
379
+ internalType: 'uint32',
380
+ name: 'guardianSetIndex',
381
+ type: 'uint32',
382
+ },
383
+ {
384
+ components: [
385
+ {
386
+ internalType: 'bytes32',
387
+ name: 'r',
388
+ type: 'bytes32',
389
+ },
390
+ {
391
+ internalType: 'bytes32',
392
+ name: 's',
393
+ type: 'bytes32',
394
+ },
395
+ {
396
+ internalType: 'uint8',
397
+ name: 'v',
398
+ type: 'uint8',
399
+ },
400
+ {
401
+ internalType: 'uint8',
402
+ name: 'guardianIndex',
403
+ type: 'uint8',
404
+ },
405
+ ],
406
+ internalType: 'struct Structs.Signature[]',
407
+ name: 'signatures',
408
+ type: 'tuple[]',
409
+ },
410
+ {
411
+ internalType: 'bytes32',
412
+ name: 'hash',
413
+ type: 'bytes32',
414
+ },
415
+ ],
416
+ internalType: 'struct Structs.VM',
417
+ name: 'vm',
418
+ type: 'tuple',
419
+ },
420
+ {
421
+ internalType: 'bool',
422
+ name: 'valid',
423
+ type: 'bool',
424
+ },
425
+ {
426
+ internalType: 'string',
427
+ name: 'reason',
428
+ type: 'string',
429
+ },
430
+ ],
431
+ stateMutability: 'view',
432
+ type: 'function',
433
+ },
434
+ {
435
+ inputs: [
436
+ {
437
+ internalType: 'bytes',
438
+ name: 'encodedUpgrade',
439
+ type: 'bytes',
440
+ },
441
+ ],
442
+ name: 'parseContractUpgrade',
443
+ outputs: [
444
+ {
445
+ components: [
446
+ {
447
+ internalType: 'bytes32',
448
+ name: 'module',
449
+ type: 'bytes32',
450
+ },
451
+ {
452
+ internalType: 'uint8',
453
+ name: 'action',
454
+ type: 'uint8',
455
+ },
456
+ {
457
+ internalType: 'uint16',
458
+ name: 'chain',
459
+ type: 'uint16',
460
+ },
461
+ {
462
+ internalType: 'address',
463
+ name: 'newContract',
464
+ type: 'address',
465
+ },
466
+ ],
467
+ internalType: 'struct GovernanceStructs.ContractUpgrade',
468
+ name: 'cu',
469
+ type: 'tuple',
470
+ },
471
+ ],
472
+ stateMutability: 'pure',
473
+ type: 'function',
474
+ },
475
+ {
476
+ inputs: [
477
+ {
478
+ internalType: 'bytes',
479
+ name: 'encodedUpgrade',
480
+ type: 'bytes',
481
+ },
482
+ ],
483
+ name: 'parseGuardianSetUpgrade',
484
+ outputs: [
485
+ {
486
+ components: [
487
+ {
488
+ internalType: 'bytes32',
489
+ name: 'module',
490
+ type: 'bytes32',
491
+ },
492
+ {
493
+ internalType: 'uint8',
494
+ name: 'action',
495
+ type: 'uint8',
496
+ },
497
+ {
498
+ internalType: 'uint16',
499
+ name: 'chain',
500
+ type: 'uint16',
501
+ },
502
+ {
503
+ components: [
504
+ {
505
+ internalType: 'address[]',
506
+ name: 'keys',
507
+ type: 'address[]',
508
+ },
509
+ {
510
+ internalType: 'uint32',
511
+ name: 'expirationTime',
512
+ type: 'uint32',
513
+ },
514
+ ],
515
+ internalType: 'struct Structs.GuardianSet',
516
+ name: 'newGuardianSet',
517
+ type: 'tuple',
518
+ },
519
+ {
520
+ internalType: 'uint32',
521
+ name: 'newGuardianSetIndex',
522
+ type: 'uint32',
523
+ },
524
+ ],
525
+ internalType: 'struct GovernanceStructs.GuardianSetUpgrade',
526
+ name: 'gsu',
527
+ type: 'tuple',
528
+ },
529
+ ],
530
+ stateMutability: 'pure',
531
+ type: 'function',
532
+ },
533
+ {
534
+ inputs: [
535
+ {
536
+ internalType: 'bytes',
537
+ name: 'encodedRecoverChainId',
538
+ type: 'bytes',
539
+ },
540
+ ],
541
+ name: 'parseRecoverChainId',
542
+ outputs: [
543
+ {
544
+ components: [
545
+ {
546
+ internalType: 'bytes32',
547
+ name: 'module',
548
+ type: 'bytes32',
549
+ },
550
+ {
551
+ internalType: 'uint8',
552
+ name: 'action',
553
+ type: 'uint8',
554
+ },
555
+ {
556
+ internalType: 'uint256',
557
+ name: 'evmChainId',
558
+ type: 'uint256',
559
+ },
560
+ {
561
+ internalType: 'uint16',
562
+ name: 'newChainId',
563
+ type: 'uint16',
564
+ },
565
+ ],
566
+ internalType: 'struct GovernanceStructs.RecoverChainId',
567
+ name: 'rci',
568
+ type: 'tuple',
569
+ },
570
+ ],
571
+ stateMutability: 'pure',
572
+ type: 'function',
573
+ },
574
+ {
575
+ inputs: [
576
+ {
577
+ internalType: 'bytes',
578
+ name: 'encodedSetMessageFee',
579
+ type: 'bytes',
580
+ },
581
+ ],
582
+ name: 'parseSetMessageFee',
583
+ outputs: [
584
+ {
585
+ components: [
586
+ {
587
+ internalType: 'bytes32',
588
+ name: 'module',
589
+ type: 'bytes32',
590
+ },
591
+ {
592
+ internalType: 'uint8',
593
+ name: 'action',
594
+ type: 'uint8',
595
+ },
596
+ {
597
+ internalType: 'uint16',
598
+ name: 'chain',
599
+ type: 'uint16',
600
+ },
601
+ {
602
+ internalType: 'uint256',
603
+ name: 'messageFee',
604
+ type: 'uint256',
605
+ },
606
+ ],
607
+ internalType: 'struct GovernanceStructs.SetMessageFee',
608
+ name: 'smf',
609
+ type: 'tuple',
610
+ },
611
+ ],
612
+ stateMutability: 'pure',
613
+ type: 'function',
614
+ },
615
+ {
616
+ inputs: [
617
+ {
618
+ internalType: 'bytes',
619
+ name: 'encodedTransferFees',
620
+ type: 'bytes',
621
+ },
622
+ ],
623
+ name: 'parseTransferFees',
624
+ outputs: [
625
+ {
626
+ components: [
627
+ {
628
+ internalType: 'bytes32',
629
+ name: 'module',
630
+ type: 'bytes32',
631
+ },
632
+ {
633
+ internalType: 'uint8',
634
+ name: 'action',
635
+ type: 'uint8',
636
+ },
637
+ {
638
+ internalType: 'uint16',
639
+ name: 'chain',
640
+ type: 'uint16',
641
+ },
642
+ {
643
+ internalType: 'uint256',
644
+ name: 'amount',
645
+ type: 'uint256',
646
+ },
647
+ {
648
+ internalType: 'bytes32',
649
+ name: 'recipient',
650
+ type: 'bytes32',
651
+ },
652
+ ],
653
+ internalType: 'struct GovernanceStructs.TransferFees',
654
+ name: 'tf',
655
+ type: 'tuple',
656
+ },
657
+ ],
658
+ stateMutability: 'pure',
659
+ type: 'function',
660
+ },
661
+ {
662
+ inputs: [
663
+ {
664
+ internalType: 'bytes',
665
+ name: 'encodedVM',
666
+ type: 'bytes',
667
+ },
668
+ ],
669
+ name: 'parseVM',
670
+ outputs: [
671
+ {
672
+ components: [
673
+ {
674
+ internalType: 'uint8',
675
+ name: 'version',
676
+ type: 'uint8',
677
+ },
678
+ {
679
+ internalType: 'uint32',
680
+ name: 'timestamp',
681
+ type: 'uint32',
682
+ },
683
+ {
684
+ internalType: 'uint32',
685
+ name: 'nonce',
686
+ type: 'uint32',
687
+ },
688
+ {
689
+ internalType: 'uint16',
690
+ name: 'emitterChainId',
691
+ type: 'uint16',
692
+ },
693
+ {
694
+ internalType: 'bytes32',
695
+ name: 'emitterAddress',
696
+ type: 'bytes32',
697
+ },
698
+ {
699
+ internalType: 'uint64',
700
+ name: 'sequence',
701
+ type: 'uint64',
702
+ },
703
+ {
704
+ internalType: 'uint8',
705
+ name: 'consistencyLevel',
706
+ type: 'uint8',
707
+ },
708
+ {
709
+ internalType: 'bytes',
710
+ name: 'payload',
711
+ type: 'bytes',
712
+ },
713
+ {
714
+ internalType: 'uint32',
715
+ name: 'guardianSetIndex',
716
+ type: 'uint32',
717
+ },
718
+ {
719
+ components: [
720
+ {
721
+ internalType: 'bytes32',
722
+ name: 'r',
723
+ type: 'bytes32',
724
+ },
725
+ {
726
+ internalType: 'bytes32',
727
+ name: 's',
728
+ type: 'bytes32',
729
+ },
730
+ {
731
+ internalType: 'uint8',
732
+ name: 'v',
733
+ type: 'uint8',
734
+ },
735
+ {
736
+ internalType: 'uint8',
737
+ name: 'guardianIndex',
738
+ type: 'uint8',
739
+ },
740
+ ],
741
+ internalType: 'struct Structs.Signature[]',
742
+ name: 'signatures',
743
+ type: 'tuple[]',
744
+ },
745
+ {
746
+ internalType: 'bytes32',
747
+ name: 'hash',
748
+ type: 'bytes32',
749
+ },
750
+ ],
751
+ internalType: 'struct Structs.VM',
752
+ name: 'vm',
753
+ type: 'tuple',
754
+ },
755
+ ],
756
+ stateMutability: 'pure',
757
+ type: 'function',
758
+ },
759
+ {
760
+ inputs: [
761
+ {
762
+ internalType: 'uint32',
763
+ name: 'nonce',
764
+ type: 'uint32',
765
+ },
766
+ {
767
+ internalType: 'bytes',
768
+ name: 'payload',
769
+ type: 'bytes',
770
+ },
771
+ {
772
+ internalType: 'uint8',
773
+ name: 'consistencyLevel',
774
+ type: 'uint8',
775
+ },
776
+ ],
777
+ name: 'publishMessage',
778
+ outputs: [
779
+ {
780
+ internalType: 'uint64',
781
+ name: 'sequence',
782
+ type: 'uint64',
783
+ },
784
+ ],
785
+ stateMutability: 'payable',
786
+ type: 'function',
787
+ },
788
+ {
789
+ inputs: [
790
+ {
791
+ internalType: 'uint256',
792
+ name: 'numGuardians',
793
+ type: 'uint256',
794
+ },
795
+ ],
796
+ name: 'quorum',
797
+ outputs: [
798
+ {
799
+ internalType: 'uint256',
800
+ name: 'numSignaturesRequiredForQuorum',
801
+ type: 'uint256',
802
+ },
803
+ ],
804
+ stateMutability: 'pure',
805
+ type: 'function',
806
+ },
807
+ {
808
+ inputs: [
809
+ {
810
+ internalType: 'bytes',
811
+ name: '_vm',
812
+ type: 'bytes',
813
+ },
814
+ ],
815
+ name: 'submitContractUpgrade',
816
+ outputs: [],
817
+ stateMutability: 'nonpayable',
818
+ type: 'function',
819
+ },
820
+ {
821
+ inputs: [
822
+ {
823
+ internalType: 'bytes',
824
+ name: '_vm',
825
+ type: 'bytes',
826
+ },
827
+ ],
828
+ name: 'submitNewGuardianSet',
829
+ outputs: [],
830
+ stateMutability: 'nonpayable',
831
+ type: 'function',
832
+ },
833
+ {
834
+ inputs: [
835
+ {
836
+ internalType: 'bytes',
837
+ name: '_vm',
838
+ type: 'bytes',
839
+ },
840
+ ],
841
+ name: 'submitRecoverChainId',
842
+ outputs: [],
843
+ stateMutability: 'nonpayable',
844
+ type: 'function',
845
+ },
846
+ {
847
+ inputs: [
848
+ {
849
+ internalType: 'bytes',
850
+ name: '_vm',
851
+ type: 'bytes',
852
+ },
853
+ ],
854
+ name: 'submitSetMessageFee',
855
+ outputs: [],
856
+ stateMutability: 'nonpayable',
857
+ type: 'function',
858
+ },
859
+ {
860
+ inputs: [
861
+ {
862
+ internalType: 'bytes',
863
+ name: '_vm',
864
+ type: 'bytes',
865
+ },
866
+ ],
867
+ name: 'submitTransferFees',
868
+ outputs: [],
869
+ stateMutability: 'nonpayable',
870
+ type: 'function',
871
+ },
872
+ {
873
+ inputs: [
874
+ {
875
+ internalType: 'bytes32',
876
+ name: 'hash',
877
+ type: 'bytes32',
878
+ },
879
+ {
880
+ components: [
881
+ {
882
+ internalType: 'bytes32',
883
+ name: 'r',
884
+ type: 'bytes32',
885
+ },
886
+ {
887
+ internalType: 'bytes32',
888
+ name: 's',
889
+ type: 'bytes32',
890
+ },
891
+ {
892
+ internalType: 'uint8',
893
+ name: 'v',
894
+ type: 'uint8',
895
+ },
896
+ {
897
+ internalType: 'uint8',
898
+ name: 'guardianIndex',
899
+ type: 'uint8',
900
+ },
901
+ ],
902
+ internalType: 'struct Structs.Signature[]',
903
+ name: 'signatures',
904
+ type: 'tuple[]',
905
+ },
906
+ {
907
+ components: [
908
+ {
909
+ internalType: 'address[]',
910
+ name: 'keys',
911
+ type: 'address[]',
912
+ },
913
+ {
914
+ internalType: 'uint32',
915
+ name: 'expirationTime',
916
+ type: 'uint32',
917
+ },
918
+ ],
919
+ internalType: 'struct Structs.GuardianSet',
920
+ name: 'guardianSet',
921
+ type: 'tuple',
922
+ },
923
+ ],
924
+ name: 'verifySignatures',
925
+ outputs: [
926
+ {
927
+ internalType: 'bool',
928
+ name: 'valid',
929
+ type: 'bool',
930
+ },
931
+ {
932
+ internalType: 'string',
933
+ name: 'reason',
934
+ type: 'string',
935
+ },
936
+ ],
937
+ stateMutability: 'pure',
938
+ type: 'function',
939
+ },
940
+ {
941
+ inputs: [
942
+ {
943
+ components: [
944
+ {
945
+ internalType: 'uint8',
946
+ name: 'version',
947
+ type: 'uint8',
948
+ },
949
+ {
950
+ internalType: 'uint32',
951
+ name: 'timestamp',
952
+ type: 'uint32',
953
+ },
954
+ {
955
+ internalType: 'uint32',
956
+ name: 'nonce',
957
+ type: 'uint32',
958
+ },
959
+ {
960
+ internalType: 'uint16',
961
+ name: 'emitterChainId',
962
+ type: 'uint16',
963
+ },
964
+ {
965
+ internalType: 'bytes32',
966
+ name: 'emitterAddress',
967
+ type: 'bytes32',
968
+ },
969
+ {
970
+ internalType: 'uint64',
971
+ name: 'sequence',
972
+ type: 'uint64',
973
+ },
974
+ {
975
+ internalType: 'uint8',
976
+ name: 'consistencyLevel',
977
+ type: 'uint8',
978
+ },
979
+ {
980
+ internalType: 'bytes',
981
+ name: 'payload',
982
+ type: 'bytes',
983
+ },
984
+ {
985
+ internalType: 'uint32',
986
+ name: 'guardianSetIndex',
987
+ type: 'uint32',
988
+ },
989
+ {
990
+ components: [
991
+ {
992
+ internalType: 'bytes32',
993
+ name: 'r',
994
+ type: 'bytes32',
995
+ },
996
+ {
997
+ internalType: 'bytes32',
998
+ name: 's',
999
+ type: 'bytes32',
1000
+ },
1001
+ {
1002
+ internalType: 'uint8',
1003
+ name: 'v',
1004
+ type: 'uint8',
1005
+ },
1006
+ {
1007
+ internalType: 'uint8',
1008
+ name: 'guardianIndex',
1009
+ type: 'uint8',
1010
+ },
1011
+ ],
1012
+ internalType: 'struct Structs.Signature[]',
1013
+ name: 'signatures',
1014
+ type: 'tuple[]',
1015
+ },
1016
+ {
1017
+ internalType: 'bytes32',
1018
+ name: 'hash',
1019
+ type: 'bytes32',
1020
+ },
1021
+ ],
1022
+ internalType: 'struct Structs.VM',
1023
+ name: 'vm',
1024
+ type: 'tuple',
1025
+ },
1026
+ ],
1027
+ name: 'verifyVM',
1028
+ outputs: [
1029
+ {
1030
+ internalType: 'bool',
1031
+ name: 'valid',
1032
+ type: 'bool',
1033
+ },
1034
+ {
1035
+ internalType: 'string',
1036
+ name: 'reason',
1037
+ type: 'string',
1038
+ },
1039
+ ],
1040
+ stateMutability: 'view',
1041
+ type: 'function',
1042
+ },
1043
+ {
1044
+ stateMutability: 'payable',
1045
+ type: 'receive',
1046
+ },
1047
+ ];
1048
+ const _bytecode = '0x60808060405234610016576130a2908161001c8239f35b600080fdfe60806040526004361015610018575b366120d257612105565b60003560e01c80630319e59c146101e857806304ca84cf146101e3578063178149e7146101de5780631a90a219146101d95780631cfe7951146101d45780632c3c02a4146101cf5780634cf842b5146101ca5780634fdc60fa146101c5578063515f3247146101c05780635cb8cae2146101bb57806364d42b17146101b65780636606b4e0146101b15780638129fc1c146101ac578063875be02a146101a757806393df337e146101a25780639a8a05921461019d578063a0cce1b314610198578063a9e1189314610193578063b172b2221461018e578063b19a437e14610189578063c0fd8bde14610184578063cb4cfea81461017f578063d60b347f1461017a578063e039f22414610175578063eb8d3f1214610170578063f42bc6411461016b578063f8ce560a14610166578063f951975a146101615763fbe3c2cd0361000e576112d5565b61129d565b611277565b611203565b6111dd565b6111bc565b61117d565b611137565b6110d2565b610f96565b610f78565b610f50565b610d51565b610d2f565b610c78565b610b50565b610913565b6107c5565b6107a7565b6106d4565b61068e565b61063f565b6105fc565b61059b565b610577565b610559565b610476565b610409565b610363565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b0382111761021e57604052565b6101ed565b604081019081106001600160401b0382111761021e57604052565b60a081019081106001600160401b0382111761021e57604052565b606081019081106001600160401b0382111761021e57604052565b90601f801991011681019081106001600160401b0382111761021e57604052565b6040519061016082018281106001600160401b0382111761021e57604052565b604051906102c282610223565b565b6001600160401b03811161021e57601f01601f191660200190565b9291926102eb826102c4565b916102f96040519384610274565b829481845281830111610316578281602093846000960137010152565b600080fd5b9080601f8301121561031657816020610336933591016102df565b90565b602060031982011261031657600435906001600160401b038211610316576103369160040161031b565b346103165760a061037b61037636610339565b611dc4565b6080604051918051835260ff602082015116602084015261ffff60408201511660408401526060810151606084015201516080820152f35b906040810191805190604083528151809452606083019360208093019060005b8181106103ec5750505081015163ffffffff1691015290565b82516001600160a01b0316875295840195918401916001016103d3565b346103165761041f61041a36610339565b611b9f565b6040518091602082528051602083015260ff602082015116604083015261ffff604082015116606083015263ffffffff6080610469606084015160a08387015260c08601906103b3565b9201511660a08301520390f35b346103165761048436610339565b600854461461052757610513606061049e6105259361287e565b6104b06104aa8261185b565b906113b0565b61050a6104c060e0830151611e9d565b916104d163436f7265845114611459565b61050461014060408501926104e8468551146115ab565b015160005260056020526040600020600160ff19825416179055565b51612ca6565b015161ffff1690565b61ffff1661ffff196000541617600055565b005b60405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606490fd5b34610316576000366003190112610316576020600754604051908152f35b3461031657600036600319011261031657602063ffffffff60035416604051908152f35b346103165760203660031901126103165760206105c8600435600052600560205260ff6040600020541690565b6040519015158152f35b600435906001600160a01b038216820361031657565b35906001600160a01b038216820361031657565b34610316576020366003190112610316576001600160a01b0361061d6105d2565b16600052600460205260206001600160401b0360406000205416604051908152f35b3461031657608061065761065236610339565b611a0c565b604051908051825260ff602082015116602083015261ffff6040820151166040830152606060018060a01b03910151166060820152f35b346103165760806106a66106a136610339565b611ce1565b6060604051918051835260ff602082015116602084015261ffff604082015116604084015201516060820152f35b34610316576106e236610339565b60085446036107735761076e60606106fc6105259361287e565b6107086104aa8261185b565b61076061014061071b60e0840151611a0c565b9261072c63436f72658551146113e0565b6104e861073e604086015161ffff1690565b61ffff61075861075160005461ffff1690565b61ffff1690565b91161461141d565b01516001600160a01b031690565b61163e565b60405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606490fd5b34610316576000366003190112610316576020600854604051908152f35b34610316576105256108d96107e16107dc36610339565b61287e565b6107ed6104aa8261185b565b6108cf6107fd60e0830151611b9f565b61080d63436f7265825114611459565b61084b61081f604083015161ffff1690565b61ffff61083261075160005461ffff1690565b911690811490816108f8575b81156108ef575b50611496565b6108a9610140608060608401936108668551515115156114d2565b01946104e8610879875163ffffffff1690565b63ffffffff6108a161089861089360035463ffffffff1690565b611534565b63ffffffff1690565b911614611549565b6108c06108bb60035463ffffffff1690565b612b24565b51825163ffffffff1690612c1b565b5163ffffffff1690565b63ffffffff1663ffffffff196003541617600355565b90501538610845565b905061090d61090960085446141590565b1590565b9061083e565b34610316576000806003193601126109cc577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03168082526006602052604082205460ff16610991576001600160a01b03166000908152600660205260409020805460ff1916600117905561098e611f42565b80f35b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b80fd5b6044359060ff8216820361031657565b359060ff8216820361031657565b6004359063ffffffff8216820361031657565b359063ffffffff8216820361031657565b359061ffff8216820361031657565b35906001600160401b038216820361031657565b6001600160401b03811161021e5760051b60200190565b81601f8201121561031657803590610a6282610a34565b92604092610a7284519586610274565b808552602091828087019260071b85010193818511610316578301915b848310610a9f5750505050505090565b60808383031261031657836080918751610ab881610203565b853581528286013583820152610acf8987016109df565b898201526060610ae08188016109df565b90820152815201920191610a8f565b60005b838110610b025750506000910152565b8181015183820152602001610af2565b90602091610b2b81518092818552858086019101610aef565b601f01601f1916010190565b6040906103369392151581528160208201520190610b12565b346103165760031960203682011261031657600435906001600160401b03908183116103165761016090833603011261031657610b8b610295565b90610b98836004016109df565b8252610ba660248401610a00565b6020830152610bb760448401610a00565b6040830152610bc860648401610a11565b606083015260848301356080830152610be360a48401610a20565b60a0830152610bf460c484016109df565b60c083015260e483013581811161031657610c15906004369186010161031b565b60e0830152610c276101048401610a00565b61010083015261012483013590811161031657610c6492610c516101449260043691840101610a4b565b61012084015201356101408201526123f9565b90610c7460405192839283610b37565b0390f35b3461031657610ce2610140610c8f6107dc36610339565b610c9b6104aa8261185b565b6104e8610cab60e0830151611dc4565b610cbb63436f7265825114611459565b604081015161ffff1690600095869586958695869561ffff610832610751895461ffff1690565b6080810151606090610d0c90610d009081906001600160a01b031681565b6001600160a01b031690565b91015190828215610d26575bf115610d215780f35b61159f565b506108fc610d18565b3461031657600036600319011261031657602061ffff60005416604051908152f35b3461031657600319606036820112610316576001600160401b0360243581811161031657610d83903690600401610a4b565b604435928284116103165760409084360301126103165760405191610da783610223565b8360040135908111610316578301923660238501121561031657600484013593610dd085610a34565b90610dde6040519283610274565b85825260209560248784019160051b8301019136831161031657602401905b828210610e26575050506024610c649592610e1a92865201610a00565b9083015260043561268d565b878091610e32846105e8565b815201910190610dfd565b90815180825260208080930193019160005b828110610e5d575050505090565b835180518652808301518684015260408082015160ff90811691880191909152606091820151169086015260809094019392810192600101610e4f565b805160ff1682529060208281015163ffffffff169082015260408281015163ffffffff169082015260608281015161ffff169082015260808201516080820152610ef460a083015160a08301906001600160401b03169052565b60c08281015160ff1690820152610f42610f1d60e08401516101608060e0860152840190610b12565b6101008481015163ffffffff1690840152610120808501519084830390850152610e3d565b916101408091015191015290565b3461031657610c74610f646107dc36610339565b604051918291602083526020830190610e9a565b34610316576000366003190112610316576020600154604051908152f35b606036600319011261031657610faa6109ed565b6001600160401b0360243581811161031657610fca90369060040161031b565b91610fd36109cf565b91600754340361107457336000526004602052806040600020541692600184019482861161106f57610c74957f6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b293336000526004602052604060002091166001600160401b031982541617905561105260405192839233968885611f06565b0390a26040516001600160401b0390911681529081906020820190565b61151e565b60405162461bcd60e51b815260206004820152600b60248201526a696e76616c69642066656560a81b6044820152606490fd5b6110bd6103369492606083526060830190610e9a565b92151560208201526040818403910152610b12565b34610316576020366003190112610316576001600160401b03600435818111610316573660238201121561031657806004013591821161031657366024838301011161031657610c7491602461112892016121c5565b604093919351938493846110a7565b3461031657608061114f61114a36610339565b611e9d565b61ffff6060604051928051845260ff6020820151166020850152604081015160408501520151166060820152f35b34610316576020366003190112610316576001600160a01b0361119e6105d2565b166000526006602052602060ff604060002054166040519015158152f35b34610316576000366003190112610316576020600854604051904614158152f35b3461031657600036600319011261031657602060035463ffffffff60405191831c168152f35b346103165760606112166107dc36610339565b6112226104aa8261185b565b61126561014061123560e0840151611ce1565b9261124663436f72658551146113e0565b61ffff806040860151169060005416148061126c575b6104e89061141d565b0151600755005b50600854461461125c565b34610316576020366003190112610316576020611295600435612ac1565b604051908152f35b3461031657602036600319011261031657610c746112c16112bc6109ed565b611314565b6040519182916020835260208301906103b3565b3461031657600036600319011261031657602061ffff60005460101c16604051908152f35b6040519061130782610223565b6000602083606081520152565b63ffffffff906113226112fa565b50166000526020600281526040600020906040519161134083610223565b6040518083835491828152019083600052846000209060005b8181106113935750505061033693928261137a611387946001940382610274565b8652015463ffffffff1690565b63ffffffff1690830152565b82546001600160a01b031684529286019260019283019201611359565b156113b85750565b60405162461bcd60e51b8152602060048201529081906113dc906024830190610b12565b0390fd5b156113e757565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c6964204d6f64756c6560901b6044820152606490fd5b1561142457565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21021b430b4b760991b6044820152606490fd5b1561146057565b60405162461bcd60e51b815260206004820152600e60248201526d696e76616c6964204d6f64756c6560901b6044820152606490fd5b1561149d57565b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21021b430b4b760991b6044820152606490fd5b156114d957565b60405162461bcd60e51b815260206004820152601960248201527f6e657720677561726469616e2073657420697320656d707479000000000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90600163ffffffff8093160191821161106f57565b1561155057565b60405162461bcd60e51b815260206004820152602160248201527f696e646578206d75737420696e63726561736520696e207374657073206f66206044820152603160f81b6064820152608490fd5b6040513d6000823e3d90fd5b156115b257565b60405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606490fd5b60405190602082018281106001600160401b0382111761021e5760405260008252565b3d15611639573d9061161f826102c4565b9161162d6040519384610274565b82523d6000602084013e565b606090565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc908154813b1561170d577f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a499060018060a01b039081841694856bffffffffffffffffffffffff60a01b8316179055611707604051600080968192897fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a263204a7f0760e21b6020820190815260048252906116fb81610223565b51915af46104aa61160e565b169180a3565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b6040519061177582610259565b6022825261195d60f21b6040837f6e6f74207369676e65642062792063757272656e7420677561726469616e207360208201520152565b604051906117b982610223565b60168252753bb937b7339033b7bb32b93730b731b29031b430b4b760511b6020830152565b604051906117eb82610223565b601982527f77726f6e6720676f7665726e616e636520636f6e7472616374000000000000006020830152565b6040519061182482610259565b6022825261195960f21b6040837f676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d60208201520152565b611864816123f9565b9015611924575061010081015163ffffffff1663ffffffff61188e61089860035463ffffffff1690565b91160361191857606081015161ffff1661ffff6118b561075160005461ffff9060101c1690565b91160361190c57608081015160015403611900576101406118e6910151600052600560205260ff6040600020541690565b6118f5576001906103366115eb565b600090610336611817565b506000906103366117de565b506000906103366117ac565b50600090610336611768565b600092909150565b6040519061193982610203565b60006060838281528260208201528260408201520152565b906020820180921161106f57565b906001820180921161106f57565b906002820180921161106f57565b906004820180921161106f57565b906014820180921161106f57565b906008820180921161106f57565b90601f820180921161106f57565b9190820180921161106f57565b156119c757565b60405162461bcd60e51b815260206004820152601760248201527f696e76616c696420436f6e7472616374557067726164650000000000000000006044820152606490fd5b90611a1561192c565b91611a1f81613030565b8352611a3e600160ff611a3184612e51565b16806020870152146119c0565b61ffff611a4a82612ee8565b1660408401526043815110611a79576043818101516001600160a01b0316606085015290516102c291146119c0565b60405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606490fd5b60405190611ac38261023e565b6000608083828152826020820152826040820152611adf6112fa565b60608201520152565b15611aef57565b60405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420477561726469616e536574557067726164650000000000006044820152606490fd5b90611b3e82610a34565b611b4b6040519182610274565b8281528092611b5c601f1991610a34565b0190602036910137565b600019811461106f5760010190565b8051821015611b895760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90611ba8611ab6565b91611bb281613030565b8352611bdb600260ff611bd4611bc785612e51565b60ff166020880181905290565b1614611ae8565b611bf2611be782612ee8565b61ffff166040850152565b611c0b611bfe82612fac565b63ffffffff166080850152565b611c1481612ebc565b60ff6028911691611c2483611b34565b92611c2d6102b5565b93845260006020850152606086019384526000935b818510611c575750506102c292505114611ae8565b909192611c8e81611c89611c6e611c949488612df5565b611c7a89875151611b75565b6001600160a01b039091169052565b611989565b94611b66565b93929190611c42565b15611ca457565b60405162461bcd60e51b8152602060048201526015602482015274696e76616c6964205365744d65737361676546656560581b6044820152606490fd5b90611cea61192c565b91611cf481613030565b8352611d13600360ff611d0684612e51565b1680602087015214611c9d565b61ffff611d1f82612ee8565b1660408401526043815110611d4457604381816102c293015160608601525114611c9d565b60405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606490fd5b15611d8857565b60405162461bcd60e51b8152602060048201526014602482015273696e76616c6964205472616e736665724665657360601b6044820152606490fd5b9060405191611dd28361023e565b60008352602083019060008252604084019060008252606085019160008352611e20600460808801956000875288611e0986613030565b905260ff611e1686612e51565b1680915214611d81565b61ffff611e2c83612ee8565b1690526043815110611d44576102c29260639260438301519052611e4f82613040565b90525114611d81565b15611e5f57565b60405162461bcd60e51b81526020600482015260166024820152751a5b9d985b1a5908149958dbdd995c90da185a5b925960521b6044820152606490fd5b90611ea661192c565b91611eb081613030565b8352611ecf600560ff611ec284612e51565b1680602087015214611e58565b6041815110611d445760438160416102c29301516040860152611eff611ef482612f34565b61ffff166060870152565b5114611e58565b92611f3b9063ffffffff6060946001600160401b0360ff95999899168752166020860152608060408601526080850190610b12565b9416910152565b60085415611f4c57565b61ffff611f5c60005461ffff1690565b1660028103611f7057506102c26001612ca6565b60048103611f8357506102c26038612ca6565b60058103611f9657506102c26089612ca6565b60068103611faa57506102c261a86a612ca6565b60078103611fbe57506102c261a516612ca6565b60098103611fd457506102c2634e454152612ca6565b600a8103611fe757506102c260fa612ca6565b600b8103611ffb57506102c26102ae612ca6565b600c810361200f57506102c2610313612ca6565b600d810361202357506102c2612019612ca6565b600e810361203757506102c261a4ec612ca6565b6010810361204b57506102c2610504612ca6565b6011810361206157506102c2630e9ac0d6612ca6565b6017810361207557506102c261a4b1612ca6565b6018810361208857506102c2600a612ca6565b601903612099576102c26064612ca6565b60405162461bcd60e51b81526020600482015260116024820152702ab735b737bbb71031b430b4b71034b21760791b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a1d5b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602c60248201527f74686520576f726d686f6c6520636f6e747261637420646f6573206e6f74206160448201526b63636570742061737365747360a01b6064820152608490fd5b6040519061016082018281106001600160401b0382111761021e57604052816101406000918281528260208201528260408201528260608201528260808201528260a08201528260c0820152606060e08201528261010082015260606101208201520152565b6107dc906121dd926121d561215f565b5036916102df565b906121e782612325565b9091565b94929060339796949263ffffffff60e01b809260e01b16875260e01b16600486015261ffff60f01b9060f01b166008850152600a8401526001600160401b0360c01b9060c01b16602a83015260ff60f81b9060f81b1660328201526122598251809360208685019101610aef565b010190565b6040519061226b82610223565b601a82527f766d2e6861736820646f65736e2774206d6174636820626f64790000000000006020830152565b604051906122a482610223565b60148252731a5b9d985b1a590819dd585c991a585b881cd95d60621b6020830152565b604051906122d482610223565b601882527f677561726469616e2073657420686173206578706972656400000000000000006020830152565b6040519061230d82610223565b60098252686e6f2071756f72756d60b81b6020830152565b610100810161233b6112bc825163ffffffff1690565b90815151156123eb575163ffffffff1661235d61089860035463ffffffff1690565b63ffffffff809216141590816123ce575b506123c1576101208201805151612386835151612ac1565b116123b35761014061239c93015190519061268d565b90156123ae57506001906103366115eb565b600091565b505050600090610336612300565b50506000906103366122c7565b90506123e1602083015163ffffffff1690565b429116103861236e565b505050600090610336612297565b6101008101906124106112bc835163ffffffff1690565b90612422602082015163ffffffff1690565b604082015163ffffffff169061243d606084015161ffff1690565b9161247a608085015161245a60a08701516001600160401b031690565b60c087015160ff169060e0880151926040519788966020880198896121eb565b039161248e601f1993848101835282610274565b519020906124b860405191826124ac60208201958660209181520190565b03908101835282610274565b5190209261014082019384510361255e578251511561254f575163ffffffff166124ea61089860035463ffffffff1690565b63ffffffff80921614159081612532575b506125245761012001805151612512835151612ac1565b116123b35761239c925190519061268d565b5050506000906103366122c7565b9050612545602084015163ffffffff1690565b42911610386124fb565b50505050600090610336612297565b5050505060009061033661225e565b1561257457565b60405162461bcd60e51b815260206004820152601f60248201527f65637265636f766572206661696c65642077697468207369676e6174757265006044820152606490fd5b156125c057565b60405162461bcd60e51b815260206004820152602360248201527f7369676e617475726520696e6469636573206d75737420626520617363656e64604482015262696e6760e81b6064820152608490fd5b1561261857565b60405162461bcd60e51b815260206004820152601c60248201527f677561726469616e20696e646578206f7574206f6620626f756e6473000000006044820152606490fd5b6040519061266a82610223565b60148252731593481cda59db985d1d5c99481a5b9d985b1a5960621b6020830152565b825151919260009291835b85518110156127b2576126ab8187611b75565b51604060006126bd8284015160ff1690565b8351602080860151945188815260ff93909316838201526040830191909152606082019390935281805260809060015afa15610d215760005160609190612723906001600160a01b03169761271389151561256d565b8415908115612795575b506125b9565b0194612771610d00612764612739895160ff1690565b986127488960ff8c1610612611565b61275e6127588951925160ff1690565b60ff1690565b90611b75565b516001600160a01b031690565b036127845761277f90611b66565b612698565b50505050505060009061033661265d565b90506127a48484015160ff1690565b60ff9182169116113861271d565b5050505050506001906103366115eb565b156127ca57565b60405162461bcd60e51b815260206004820152601760248201527f564d2076657273696f6e20696e636f6d70617469626c650000000000000000006044820152606490fd5b9061281982610a34565b6128266040519182610274565b8281528092612837601f1991610a34565b019060005b82811061284857505050565b60209061285361192c565b8282850101520161283c565b60ff601b9116019060ff821161106f57565b9190820391821161106f57565b9061288761215f565b9161289b61289482612e9c565b60ff168452565b6128b4600160ff6128ad865160ff1690565b16146127c3565b6128ce6128c082612f60565b63ffffffff16610100850152565b6128da61275882612eac565b6006906128e68161280f565b9061012086019182526000915b818310612a205750505090612a086129ec6129ca6129b661299961297f87612929612922612a199a8a51612871565b828a612d69565b602081519101206040516129578161294960208201948560209181520190565b03601f198101835282610274565b5190206101408c015261297a61296d828a612fbc565b63ffffffff1660208d0152565b61197b565b61297a61298c8289612fbc565b63ffffffff1660408c0152565b6129b16129a68288612f44565b61ffff1660608b0152565b61196d565b6129c08186613050565b6080890152611951565b6129e76129d78286612fd8565b6001600160401b031660a0890152565b611997565b612a036129f98285612ecc565b60ff1660c0880152565b61195f565b612a13818351612871565b91612d69565b60e0830152565b909192612ab4612a92612a73612a5784612a03612a40612aba978c612ecc565b6060612a4d8c8b51611b75565b51019060ff169052565b612a61818a613050565b612a6c898851611b75565b5152611951565b612a7d8189613050565b6020612a8a898851611b75565b510152611951565b612a03612aa7612aa2838a612ecc565b61285f565b6040612a4d898851611b75565b93611b66565b91906128f3565b610100811015612aea578060011b908082046002149015171561106f576003610336910461195f565b60405162461bcd60e51b8152602060048201526012602482015271746f6f206d616e7920677561726469616e7360701b6044820152606490fd5b63ffffffff62015180814216019080821161106f576102c29216600052600260205260016040600020019063ffffffff1663ffffffff19825416179055565b9080519081516001600160401b03811161021e5768010000000000000000811161021e578354818555808210612bf2575b506020809301612ba985600052602060002090565b60005b838110612bd7575050505001516001909101805463ffffffff191663ffffffff909216919091179055565b82516001600160a01b03168282015591850191600101612bac565b6000858152826020822092830192015b828110612c10575050612b94565b818155600101612c02565b9081515160005b818110612c485750509063ffffffff6102c2921660005260026020526040600020612b63565b83516001600160a01b0390612c5e908390611b75565b511615612c7357612c6e90611b66565b612c22565b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c6964206b657960a81b6044820152606490fd5b468103612cb257600855565b60405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606490fd5b15612cf357565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b15612d3057565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b91612d7e81612d77816119a5565b1015612cec565b612d948351612d8d83856119b3565b1115612d29565b80612dad57505050604051600081526020810160405290565b60405192601f821692831560051b80858701019484860193010101905b808410612de25750508252601f01601f191660405290565b9092835181526020809101930190612dca565b908151601482019081831161106f5710612e1457016020015160601c90565b60405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606490fd5b6021815110612e61576021015190565b60405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606490fd5b6001815110612e61576001015190565b6006815110612e61576006015190565b6028815110612e61576028015190565b908151600182019081831161106f5710612e6157016001015190565b6023815110612ef8576023015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606490fd5b6043815110612ef8576043015190565b908151600282019081831161106f5710612ef857016002015190565b6005815110612f70576005015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7433325f6f75744f66426f756e647360601b6044820152606490fd5b6027815110612f70576027015190565b908151600482019081831161106f5710612f7057016004015190565b908151600882019081831161106f5710612ff457016008015190565b60405162461bcd60e51b8152602060048201526014602482015273746f55696e7436345f6f75744f66426f756e647360601b6044820152606490fd5b6020815110611a79576020015190565b6063815110611a79576063015190565b908151602082019081831161106f5710611a795701602001519056fea2646970667358221220e01f3fc19a7b6f650a08aafb55409b8aa16f0ebf4a5804ec4ce7df76358d349364736f6c63430008130033';
1049
+ const isSuperArgs = (xs) => xs.length > 1;
1050
+ class Implementation__factory extends ethers_1.ContractFactory {
1051
+ constructor(...args) {
1052
+ if (isSuperArgs(args)) {
1053
+ super(...args);
1054
+ }
1055
+ else {
1056
+ super(_abi, _bytecode, args[0]);
1057
+ }
1058
+ }
1059
+ getDeployTransaction(overrides) {
1060
+ return super.getDeployTransaction(overrides || {});
1061
+ }
1062
+ deploy(overrides) {
1063
+ return super.deploy(overrides || {});
1064
+ }
1065
+ connect(runner) {
1066
+ return super.connect(runner);
1067
+ }
1068
+ static bytecode = _bytecode;
1069
+ static abi = _abi;
1070
+ static createInterface() {
1071
+ return new ethers_1.Interface(_abi);
1072
+ }
1073
+ static connect(address, runner) {
1074
+ return new ethers_1.Contract(address, _abi, runner);
1075
+ }
1076
+ }
1077
+ exports.Implementation__factory = Implementation__factory;
1078
+ //# sourceMappingURL=Implementation__factory.js.map