@imtbl/sdk 0.4.1-alpha → 0.4.2

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.
@@ -1,1165 +0,0 @@
1
- import { ContractFactory, utils, Contract } from 'ethers';
2
-
3
- /* Autogenerated file. Do not edit manually. */
4
- /* tslint:disable */
5
- /* eslint-disable */
6
- const _abi$1 = [
7
- {
8
- inputs: [
9
- {
10
- internalType: "address",
11
- name: "owner_",
12
- type: "address",
13
- },
14
- {
15
- internalType: "string",
16
- name: "name_",
17
- type: "string",
18
- },
19
- {
20
- internalType: "string",
21
- name: "symbol_",
22
- type: "string",
23
- },
24
- {
25
- internalType: "string",
26
- name: "baseURI_",
27
- type: "string",
28
- },
29
- {
30
- internalType: "string",
31
- name: "contractURI_",
32
- type: "string",
33
- },
34
- {
35
- internalType: "address",
36
- name: "_receiver",
37
- type: "address",
38
- },
39
- {
40
- internalType: "uint96",
41
- name: "_feeNumerator",
42
- type: "uint96",
43
- },
44
- ],
45
- stateMutability: "nonpayable",
46
- type: "constructor",
47
- },
48
- {
49
- inputs: [
50
- {
51
- internalType: "address",
52
- name: "target",
53
- type: "address",
54
- },
55
- ],
56
- name: "ApproveTargetNotInAllowlist",
57
- type: "error",
58
- },
59
- {
60
- inputs: [
61
- {
62
- internalType: "address",
63
- name: "caller",
64
- type: "address",
65
- },
66
- ],
67
- name: "CallerNotInAllowlist",
68
- type: "error",
69
- },
70
- {
71
- anonymous: false,
72
- inputs: [
73
- {
74
- indexed: true,
75
- internalType: "address",
76
- name: "owner",
77
- type: "address",
78
- },
79
- {
80
- indexed: true,
81
- internalType: "address",
82
- name: "approved",
83
- type: "address",
84
- },
85
- {
86
- indexed: true,
87
- internalType: "uint256",
88
- name: "tokenId",
89
- type: "uint256",
90
- },
91
- ],
92
- name: "Approval",
93
- type: "event",
94
- },
95
- {
96
- anonymous: false,
97
- inputs: [
98
- {
99
- indexed: true,
100
- internalType: "address",
101
- name: "owner",
102
- type: "address",
103
- },
104
- {
105
- indexed: true,
106
- internalType: "address",
107
- name: "operator",
108
- type: "address",
109
- },
110
- {
111
- indexed: false,
112
- internalType: "bool",
113
- name: "approved",
114
- type: "bool",
115
- },
116
- ],
117
- name: "ApprovalForAll",
118
- type: "event",
119
- },
120
- {
121
- anonymous: false,
122
- inputs: [
123
- {
124
- indexed: true,
125
- internalType: "bytes32",
126
- name: "role",
127
- type: "bytes32",
128
- },
129
- {
130
- indexed: true,
131
- internalType: "bytes32",
132
- name: "previousAdminRole",
133
- type: "bytes32",
134
- },
135
- {
136
- indexed: true,
137
- internalType: "bytes32",
138
- name: "newAdminRole",
139
- type: "bytes32",
140
- },
141
- ],
142
- name: "RoleAdminChanged",
143
- type: "event",
144
- },
145
- {
146
- anonymous: false,
147
- inputs: [
148
- {
149
- indexed: true,
150
- internalType: "bytes32",
151
- name: "role",
152
- type: "bytes32",
153
- },
154
- {
155
- indexed: true,
156
- internalType: "address",
157
- name: "account",
158
- type: "address",
159
- },
160
- {
161
- indexed: true,
162
- internalType: "address",
163
- name: "sender",
164
- type: "address",
165
- },
166
- ],
167
- name: "RoleGranted",
168
- type: "event",
169
- },
170
- {
171
- anonymous: false,
172
- inputs: [
173
- {
174
- indexed: true,
175
- internalType: "bytes32",
176
- name: "role",
177
- type: "bytes32",
178
- },
179
- {
180
- indexed: true,
181
- internalType: "address",
182
- name: "account",
183
- type: "address",
184
- },
185
- {
186
- indexed: true,
187
- internalType: "address",
188
- name: "sender",
189
- type: "address",
190
- },
191
- ],
192
- name: "RoleRevoked",
193
- type: "event",
194
- },
195
- {
196
- anonymous: false,
197
- inputs: [
198
- {
199
- indexed: false,
200
- internalType: "address",
201
- name: "oldRegistry",
202
- type: "address",
203
- },
204
- {
205
- indexed: false,
206
- internalType: "address",
207
- name: "newRegistry",
208
- type: "address",
209
- },
210
- ],
211
- name: "RoyaltytAllowlistRegistryUpdated",
212
- type: "event",
213
- },
214
- {
215
- anonymous: false,
216
- inputs: [
217
- {
218
- indexed: true,
219
- internalType: "address",
220
- name: "from",
221
- type: "address",
222
- },
223
- {
224
- indexed: true,
225
- internalType: "address",
226
- name: "to",
227
- type: "address",
228
- },
229
- {
230
- indexed: true,
231
- internalType: "uint256",
232
- name: "tokenId",
233
- type: "uint256",
234
- },
235
- ],
236
- name: "Transfer",
237
- type: "event",
238
- },
239
- {
240
- inputs: [],
241
- name: "DEFAULT_ADMIN_ROLE",
242
- outputs: [
243
- {
244
- internalType: "bytes32",
245
- name: "",
246
- type: "bytes32",
247
- },
248
- ],
249
- stateMutability: "view",
250
- type: "function",
251
- },
252
- {
253
- inputs: [],
254
- name: "MINTER_ROLE",
255
- outputs: [
256
- {
257
- internalType: "bytes32",
258
- name: "",
259
- type: "bytes32",
260
- },
261
- ],
262
- stateMutability: "view",
263
- type: "function",
264
- },
265
- {
266
- inputs: [
267
- {
268
- internalType: "address",
269
- name: "to",
270
- type: "address",
271
- },
272
- {
273
- internalType: "uint256",
274
- name: "tokenId",
275
- type: "uint256",
276
- },
277
- ],
278
- name: "approve",
279
- outputs: [],
280
- stateMutability: "nonpayable",
281
- type: "function",
282
- },
283
- {
284
- inputs: [
285
- {
286
- internalType: "address",
287
- name: "owner",
288
- type: "address",
289
- },
290
- ],
291
- name: "balanceOf",
292
- outputs: [
293
- {
294
- internalType: "uint256",
295
- name: "",
296
- type: "uint256",
297
- },
298
- ],
299
- stateMutability: "view",
300
- type: "function",
301
- },
302
- {
303
- inputs: [],
304
- name: "baseURI",
305
- outputs: [
306
- {
307
- internalType: "string",
308
- name: "",
309
- type: "string",
310
- },
311
- ],
312
- stateMutability: "view",
313
- type: "function",
314
- },
315
- {
316
- inputs: [
317
- {
318
- internalType: "uint256",
319
- name: "tokenId",
320
- type: "uint256",
321
- },
322
- ],
323
- name: "burn",
324
- outputs: [],
325
- stateMutability: "nonpayable",
326
- type: "function",
327
- },
328
- {
329
- inputs: [],
330
- name: "contractURI",
331
- outputs: [
332
- {
333
- internalType: "string",
334
- name: "",
335
- type: "string",
336
- },
337
- ],
338
- stateMutability: "view",
339
- type: "function",
340
- },
341
- {
342
- inputs: [],
343
- name: "getAdmins",
344
- outputs: [
345
- {
346
- internalType: "address[]",
347
- name: "",
348
- type: "address[]",
349
- },
350
- ],
351
- stateMutability: "view",
352
- type: "function",
353
- },
354
- {
355
- inputs: [
356
- {
357
- internalType: "uint256",
358
- name: "tokenId",
359
- type: "uint256",
360
- },
361
- ],
362
- name: "getApproved",
363
- outputs: [
364
- {
365
- internalType: "address",
366
- name: "",
367
- type: "address",
368
- },
369
- ],
370
- stateMutability: "view",
371
- type: "function",
372
- },
373
- {
374
- inputs: [
375
- {
376
- internalType: "bytes32",
377
- name: "role",
378
- type: "bytes32",
379
- },
380
- ],
381
- name: "getRoleAdmin",
382
- outputs: [
383
- {
384
- internalType: "bytes32",
385
- name: "",
386
- type: "bytes32",
387
- },
388
- ],
389
- stateMutability: "view",
390
- type: "function",
391
- },
392
- {
393
- inputs: [
394
- {
395
- internalType: "bytes32",
396
- name: "role",
397
- type: "bytes32",
398
- },
399
- {
400
- internalType: "uint256",
401
- name: "index",
402
- type: "uint256",
403
- },
404
- ],
405
- name: "getRoleMember",
406
- outputs: [
407
- {
408
- internalType: "address",
409
- name: "",
410
- type: "address",
411
- },
412
- ],
413
- stateMutability: "view",
414
- type: "function",
415
- },
416
- {
417
- inputs: [
418
- {
419
- internalType: "bytes32",
420
- name: "role",
421
- type: "bytes32",
422
- },
423
- ],
424
- name: "getRoleMemberCount",
425
- outputs: [
426
- {
427
- internalType: "uint256",
428
- name: "",
429
- type: "uint256",
430
- },
431
- ],
432
- stateMutability: "view",
433
- type: "function",
434
- },
435
- {
436
- inputs: [
437
- {
438
- internalType: "address",
439
- name: "user",
440
- type: "address",
441
- },
442
- ],
443
- name: "grantMinterRole",
444
- outputs: [],
445
- stateMutability: "nonpayable",
446
- type: "function",
447
- },
448
- {
449
- inputs: [
450
- {
451
- internalType: "bytes32",
452
- name: "role",
453
- type: "bytes32",
454
- },
455
- {
456
- internalType: "address",
457
- name: "account",
458
- type: "address",
459
- },
460
- ],
461
- name: "grantRole",
462
- outputs: [],
463
- stateMutability: "nonpayable",
464
- type: "function",
465
- },
466
- {
467
- inputs: [
468
- {
469
- internalType: "bytes32",
470
- name: "role",
471
- type: "bytes32",
472
- },
473
- {
474
- internalType: "address",
475
- name: "account",
476
- type: "address",
477
- },
478
- ],
479
- name: "hasRole",
480
- outputs: [
481
- {
482
- internalType: "bool",
483
- name: "",
484
- type: "bool",
485
- },
486
- ],
487
- stateMutability: "view",
488
- type: "function",
489
- },
490
- {
491
- inputs: [
492
- {
493
- internalType: "address",
494
- name: "owner",
495
- type: "address",
496
- },
497
- {
498
- internalType: "address",
499
- name: "operator",
500
- type: "address",
501
- },
502
- ],
503
- name: "isApprovedForAll",
504
- outputs: [
505
- {
506
- internalType: "bool",
507
- name: "",
508
- type: "bool",
509
- },
510
- ],
511
- stateMutability: "view",
512
- type: "function",
513
- },
514
- {
515
- inputs: [
516
- {
517
- internalType: "address",
518
- name: "to",
519
- type: "address",
520
- },
521
- {
522
- internalType: "uint256",
523
- name: "amount",
524
- type: "uint256",
525
- },
526
- ],
527
- name: "mint",
528
- outputs: [],
529
- stateMutability: "nonpayable",
530
- type: "function",
531
- },
532
- {
533
- inputs: [],
534
- name: "name",
535
- outputs: [
536
- {
537
- internalType: "string",
538
- name: "",
539
- type: "string",
540
- },
541
- ],
542
- stateMutability: "view",
543
- type: "function",
544
- },
545
- {
546
- inputs: [
547
- {
548
- internalType: "uint256",
549
- name: "tokenId",
550
- type: "uint256",
551
- },
552
- ],
553
- name: "ownerOf",
554
- outputs: [
555
- {
556
- internalType: "address",
557
- name: "",
558
- type: "address",
559
- },
560
- ],
561
- stateMutability: "view",
562
- type: "function",
563
- },
564
- {
565
- inputs: [
566
- {
567
- internalType: "bytes32",
568
- name: "role",
569
- type: "bytes32",
570
- },
571
- {
572
- internalType: "address",
573
- name: "account",
574
- type: "address",
575
- },
576
- ],
577
- name: "renounceRole",
578
- outputs: [],
579
- stateMutability: "nonpayable",
580
- type: "function",
581
- },
582
- {
583
- inputs: [
584
- {
585
- internalType: "address",
586
- name: "user",
587
- type: "address",
588
- },
589
- ],
590
- name: "revokeMinterRole",
591
- outputs: [],
592
- stateMutability: "nonpayable",
593
- type: "function",
594
- },
595
- {
596
- inputs: [
597
- {
598
- internalType: "bytes32",
599
- name: "role",
600
- type: "bytes32",
601
- },
602
- {
603
- internalType: "address",
604
- name: "account",
605
- type: "address",
606
- },
607
- ],
608
- name: "revokeRole",
609
- outputs: [],
610
- stateMutability: "nonpayable",
611
- type: "function",
612
- },
613
- {
614
- inputs: [],
615
- name: "royaltyAllowlist",
616
- outputs: [
617
- {
618
- internalType: "contract IRoyaltyAllowlist",
619
- name: "",
620
- type: "address",
621
- },
622
- ],
623
- stateMutability: "view",
624
- type: "function",
625
- },
626
- {
627
- inputs: [
628
- {
629
- internalType: "uint256",
630
- name: "_tokenId",
631
- type: "uint256",
632
- },
633
- {
634
- internalType: "uint256",
635
- name: "_salePrice",
636
- type: "uint256",
637
- },
638
- ],
639
- name: "royaltyInfo",
640
- outputs: [
641
- {
642
- internalType: "address",
643
- name: "",
644
- type: "address",
645
- },
646
- {
647
- internalType: "uint256",
648
- name: "",
649
- type: "uint256",
650
- },
651
- ],
652
- stateMutability: "view",
653
- type: "function",
654
- },
655
- {
656
- inputs: [
657
- {
658
- internalType: "address",
659
- name: "from",
660
- type: "address",
661
- },
662
- {
663
- internalType: "address",
664
- name: "to",
665
- type: "address",
666
- },
667
- {
668
- internalType: "uint256",
669
- name: "tokenId",
670
- type: "uint256",
671
- },
672
- ],
673
- name: "safeTransferFrom",
674
- outputs: [],
675
- stateMutability: "nonpayable",
676
- type: "function",
677
- },
678
- {
679
- inputs: [
680
- {
681
- internalType: "address",
682
- name: "from",
683
- type: "address",
684
- },
685
- {
686
- internalType: "address",
687
- name: "to",
688
- type: "address",
689
- },
690
- {
691
- internalType: "uint256",
692
- name: "tokenId",
693
- type: "uint256",
694
- },
695
- {
696
- internalType: "bytes",
697
- name: "data",
698
- type: "bytes",
699
- },
700
- ],
701
- name: "safeTransferFrom",
702
- outputs: [],
703
- stateMutability: "nonpayable",
704
- type: "function",
705
- },
706
- {
707
- inputs: [
708
- {
709
- internalType: "address",
710
- name: "operator",
711
- type: "address",
712
- },
713
- {
714
- internalType: "bool",
715
- name: "approved",
716
- type: "bool",
717
- },
718
- ],
719
- name: "setApprovalForAll",
720
- outputs: [],
721
- stateMutability: "nonpayable",
722
- type: "function",
723
- },
724
- {
725
- inputs: [
726
- {
727
- internalType: "string",
728
- name: "baseURI_",
729
- type: "string",
730
- },
731
- ],
732
- name: "setBaseURI",
733
- outputs: [],
734
- stateMutability: "nonpayable",
735
- type: "function",
736
- },
737
- {
738
- inputs: [
739
- {
740
- internalType: "string",
741
- name: "_contractURI",
742
- type: "string",
743
- },
744
- ],
745
- name: "setContractURI",
746
- outputs: [],
747
- stateMutability: "nonpayable",
748
- type: "function",
749
- },
750
- {
751
- inputs: [
752
- {
753
- internalType: "address",
754
- name: "_royaltyAllowlist",
755
- type: "address",
756
- },
757
- ],
758
- name: "setRoyaltyAllowlistRegistry",
759
- outputs: [],
760
- stateMutability: "nonpayable",
761
- type: "function",
762
- },
763
- {
764
- inputs: [
765
- {
766
- internalType: "bytes4",
767
- name: "interfaceId",
768
- type: "bytes4",
769
- },
770
- ],
771
- name: "supportsInterface",
772
- outputs: [
773
- {
774
- internalType: "bool",
775
- name: "",
776
- type: "bool",
777
- },
778
- ],
779
- stateMutability: "view",
780
- type: "function",
781
- },
782
- {
783
- inputs: [],
784
- name: "symbol",
785
- outputs: [
786
- {
787
- internalType: "string",
788
- name: "",
789
- type: "string",
790
- },
791
- ],
792
- stateMutability: "view",
793
- type: "function",
794
- },
795
- {
796
- inputs: [
797
- {
798
- internalType: "uint256",
799
- name: "index",
800
- type: "uint256",
801
- },
802
- ],
803
- name: "tokenByIndex",
804
- outputs: [
805
- {
806
- internalType: "uint256",
807
- name: "",
808
- type: "uint256",
809
- },
810
- ],
811
- stateMutability: "view",
812
- type: "function",
813
- },
814
- {
815
- inputs: [
816
- {
817
- internalType: "address",
818
- name: "owner",
819
- type: "address",
820
- },
821
- {
822
- internalType: "uint256",
823
- name: "index",
824
- type: "uint256",
825
- },
826
- ],
827
- name: "tokenOfOwnerByIndex",
828
- outputs: [
829
- {
830
- internalType: "uint256",
831
- name: "",
832
- type: "uint256",
833
- },
834
- ],
835
- stateMutability: "view",
836
- type: "function",
837
- },
838
- {
839
- inputs: [
840
- {
841
- internalType: "uint256",
842
- name: "tokenId",
843
- type: "uint256",
844
- },
845
- ],
846
- name: "tokenURI",
847
- outputs: [
848
- {
849
- internalType: "string",
850
- name: "",
851
- type: "string",
852
- },
853
- ],
854
- stateMutability: "view",
855
- type: "function",
856
- },
857
- {
858
- inputs: [],
859
- name: "totalSupply",
860
- outputs: [
861
- {
862
- internalType: "uint256",
863
- name: "",
864
- type: "uint256",
865
- },
866
- ],
867
- stateMutability: "view",
868
- type: "function",
869
- },
870
- {
871
- inputs: [
872
- {
873
- internalType: "address",
874
- name: "from",
875
- type: "address",
876
- },
877
- {
878
- internalType: "address",
879
- name: "to",
880
- type: "address",
881
- },
882
- {
883
- internalType: "uint256",
884
- name: "tokenId",
885
- type: "uint256",
886
- },
887
- ],
888
- name: "transferFrom",
889
- outputs: [],
890
- stateMutability: "nonpayable",
891
- type: "function",
892
- },
893
- ];
894
- const _bytecode$1 = "0x60806040523480156200001157600080fd5b50604051620060d4380380620060d4833981810160405281019062000037919062000762565b868686868686868585816000908162000051919062000adc565b50806001908162000063919062000adc565b505050620000788282620000dc60201b60201c565b6200008d6000801b886200027f60201b60201c565b83601090816200009e919062000adc565b5082600f9081620000b0919062000adc565b50620000c86011620002c760201b620015f11760201c565b505050505050505050505050505062000cde565b620000ec620002dd60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200014d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001449062000c4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001b69062000cbc565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b620002968282620002e760201b620016071760201c565b620002c28160076000858152602001908152602001600020620003d960201b620016e81790919060201c565b505050565b6001816000016000828254019250508190555050565b6000612710905090565b620002f982826200041160201b60201c565b620003d55760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200037a6200047c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000409836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200048460201b60201c565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000620004988383620004fe60201b60201c565b620004f3578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620004f8565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005628262000535565b9050919050565b620005748162000555565b81146200058057600080fd5b50565b600081519050620005948162000569565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005ef82620005a4565b810181811067ffffffffffffffff82111715620006115762000610620005b5565b5b80604052505050565b60006200062662000521565b9050620006348282620005e4565b919050565b600067ffffffffffffffff821115620006575762000656620005b5565b5b6200066282620005a4565b9050602081019050919050565b60005b838110156200068f57808201518184015260208101905062000672565b60008484015250505050565b6000620006b2620006ac8462000639565b6200061a565b905082815260208101848484011115620006d157620006d06200059f565b5b620006de8482856200066f565b509392505050565b600082601f830112620006fe57620006fd6200059a565b5b8151620007108482602086016200069b565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b6200073c8162000719565b81146200074857600080fd5b50565b6000815190506200075c8162000731565b92915050565b600080600080600080600060e0888a0312156200078457620007836200052b565b5b6000620007948a828b0162000583565b975050602088015167ffffffffffffffff811115620007b857620007b762000530565b5b620007c68a828b01620006e6565b965050604088015167ffffffffffffffff811115620007ea57620007e962000530565b5b620007f88a828b01620006e6565b955050606088015167ffffffffffffffff8111156200081c576200081b62000530565b5b6200082a8a828b01620006e6565b945050608088015167ffffffffffffffff8111156200084e576200084d62000530565b5b6200085c8a828b01620006e6565b93505060a06200086f8a828b0162000583565b92505060c0620008828a828b016200074b565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008e457607f821691505b602082108103620008fa57620008f96200089c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000925565b62000970868362000925565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009bd620009b7620009b18462000988565b62000992565b62000988565b9050919050565b6000819050919050565b620009d9836200099c565b620009f1620009e882620009c4565b84845462000932565b825550505050565b600090565b62000a08620009f9565b62000a15818484620009ce565b505050565b5b8181101562000a3d5762000a31600082620009fe565b60018101905062000a1b565b5050565b601f82111562000a8c5762000a568162000900565b62000a618462000915565b8101602085101562000a71578190505b62000a8962000a808562000915565b83018262000a1a565b50505b505050565b600082821c905092915050565b600062000ab16000198460080262000a91565b1980831691505092915050565b600062000acc838362000a9e565b9150826002028217905092915050565b62000ae78262000891565b67ffffffffffffffff81111562000b035762000b02620005b5565b5b62000b0f8254620008cb565b62000b1c82828562000a41565b600060209050601f83116001811462000b54576000841562000b3f578287015190505b62000b4b858262000abe565b86555062000bbb565b601f19841662000b648662000900565b60005b8281101562000b8e5784890151825560018201915060208501945060208101905062000b67565b8683101562000bae578489015162000baa601f89168262000a9e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000c32602a8362000bc3565b915062000c3f8262000bd4565b604082019050919050565b6000602082019050818103600083015262000c658162000c23565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000ca460198362000bc3565b915062000cb18262000c6c565b602082019050919050565b6000602082019050818103600083015262000cd78162000c95565b9050919050565b6153e68062000cee6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80636352211e1161013057806395d89b41116100b8578063ca15c8731161007c578063ca15c87314610697578063d5391393146106c7578063d547741f146106e5578063e8a3d48514610701578063e985e9c51461071f57610227565b806395d89b41146105f3578063a217fddf14610611578063a22cb4651461062f578063b88d4fde1461064b578063c87b56dd1461066757610227565b80636c0360eb116100ff5780636c0360eb1461052957806370a08231146105475780639010d07c1461057757806391d14854146105a7578063938e3d7b146105d757610227565b80636352211e146104a35780636588962a146104d357806369e2f0fb146104ef5780636b3a06321461050b57610227565b80632f745c59116101b357806340c10f191161018257806340c10f191461040357806342842e0e1461041f57806342966c681461043b5780634f6ccce71461045757806355f804b31461048757610227565b80632f745c591461037d57806331ae450b146103ad57806336568abe146103cb5780633dd1eb61146103e757610227565b806318160ddd116101fa57806318160ddd146102c657806323b872dd146102e4578063248a9ca3146103005780632a55205a146103305780632f2ff15d1461036157610227565b806301ffc9a71461022c57806306fdde031461025c578063081812fc1461027a578063095ea7b3146102aa575b600080fd5b61024660048036038101906102419190613a2e565b61074f565b6040516102539190613a76565b60405180910390f35b610264610761565b6040516102719190613b21565b60405180910390f35b610294600480360381019061028f9190613b79565b6107f3565b6040516102a19190613be7565b60405180910390f35b6102c460048036038101906102bf9190613c2e565b610839565b005b6102ce610847565b6040516102db9190613c7d565b60405180910390f35b6102fe60048036038101906102f99190613c98565b610854565b005b61031a60048036038101906103159190613d21565b6108b4565b6040516103279190613d5d565b60405180910390f35b61034a60048036038101906103459190613d78565b6108d4565b604051610358929190613db8565b60405180910390f35b61037b60048036038101906103769190613de1565b610abe565b005b61039760048036038101906103929190613c2e565b610adf565b6040516103a49190613c7d565b60405180910390f35b6103b5610b84565b6040516103c29190613edf565b60405180910390f35b6103e560048036038101906103e09190613de1565b610c64565b005b61040160048036038101906103fc9190613f01565b610ce7565b005b61041d60048036038101906104189190613c2e565b610d22565b005b61043960048036038101906104349190613c98565b610d7a565b005b61045560048036038101906104509190613b79565b610d9a565b005b610471600480360381019061046c9190613b79565b610df6565b60405161047e9190613c7d565b60405180910390f35b6104a1600480360381019061049c9190614063565b610e67565b005b6104bd60048036038101906104b89190613b79565b610e88565b6040516104ca9190613be7565b60405180910390f35b6104ed60048036038101906104e89190613f01565b610f0e565b005b61050960048036038101906105049190613f01565b611094565b005b6105136110cf565b604051610520919061410b565b60405180910390f35b6105316110f5565b60405161053e9190613b21565b60405180910390f35b610561600480360381019061055c9190613f01565b611183565b60405161056e9190613c7d565b60405180910390f35b610591600480360381019061058c9190614126565b61123a565b60405161059e9190613be7565b60405180910390f35b6105c160048036038101906105bc9190613de1565b611269565b6040516105ce9190613a76565b60405180910390f35b6105f160048036038101906105ec9190614063565b6112d4565b005b6105fb6112f5565b6040516106089190613b21565b60405180910390f35b610619611387565b6040516106269190613d5d565b60405180910390f35b61064960048036038101906106449190614192565b61138e565b005b61066560048036038101906106609190614273565b61139c565b005b610681600480360381019061067c9190613b79565b6113fe565b60405161068e9190613b21565b60405180910390f35b6106b160048036038101906106ac9190613d21565b611466565b6040516106be9190613c7d565b60405180910390f35b6106cf61148a565b6040516106dc9190613d5d565b60405180910390f35b6106ff60048036038101906106fa9190613de1565b6114ae565b005b6107096114cf565b6040516107169190613b21565b60405180910390f35b610739600480360381019061073491906142f6565b61155d565b6040516107469190613a76565b60405180910390f35b600061075a82611718565b9050919050565b60606000805461077090614365565b80601f016020809104026020016040519081016040528092919081815260200182805461079c90614365565b80156107e95780601f106107be576101008083540402835291602001916107e9565b820191906000526020600020905b8154815290600101906020018083116107cc57829003601f168201915b5050505050905090565b60006107fe82611792565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61084382826117dd565b5050565b6000600b80549050905090565b61086561085f6117f4565b826117fc565b6108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b90614408565b60405180910390fd5b6108af838383611891565b505050565b600060066000838152602001908152602001600020600101549050919050565b6000806000600e60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610a6957600d6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610a736118a1565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610a9f9190614457565b610aa991906144c8565b90508160000151819350935050509250929050565b610ac7826108b4565b610ad0816118ab565b610ada83836118bf565b505050565b6000610aea83611183565b8210610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061456b565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60606000610b946000801b611466565b905060008167ffffffffffffffff811115610bb257610bb1613f38565b5b604051908082528060200260200182016040528015610be05781602001602082028036833780820191505090505b50905060005b82811015610c5b57610bfb6000801b8261123a565b828281518110610c0e57610c0d61458b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080610c53906145ba565b915050610be6565b50809250505090565b610c6c6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd090614674565b60405180910390fd5b610ce382826118f3565b5050565b6000801b610cf4816118ab565b610d1e7f4d494e5445525f524f4c4500000000000000000000000000000000000000000083610abe565b5050565b7f4d494e5445525f524f4c45000000000000000000000000000000000000000000610d4c816118ab565b60005b82811015610d7457610d6084611927565b508080610d6c906145ba565b915050610d4f565b50505050565b610d958383836040518060200160405280600081525061139c565b505050565b610dab610da56117f4565b826117fc565b610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190614408565b60405180910390fd5b610df381611953565b50565b6000610e00610847565b8210610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890614706565b60405180910390fd5b600b8281548110610e5557610e5461458b565b5b90600052602060002001549050919050565b6000801b610e74816118ab565b8160109081610e8391906148c8565b505050565b600080610e9483611aa1565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc906149e6565b60405180910390fd5b80915050919050565b6000801b610f1b816118ab565b8173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f05a3b809000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f749190614a15565b602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190614a45565b610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb90614ae4565b60405180910390fd5b7f4a1d010d926ae0d4294a4afe61ae81bb378335fbf671e099a7138b5afeefdf84600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611047929190614b04565b60405180910390a181600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000801b6110a1816118ab565b6110cb7f4d494e5445525f524f4c45000000000000000000000000000000000000000000836114ae565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6010805461110290614365565b80601f016020809104026020016040519081016040528092919081815260200182805461112e90614365565b801561117b5780601f106111505761010080835404028352916020019161117b565b820191906000526020600020905b81548152906001019060200180831161115e57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea90614b9f565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006112618260076000868152602001908152602001600020611ade90919063ffffffff16565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e1816118ab565b81600f90816112f091906148c8565b505050565b60606001805461130490614365565b80601f016020809104026020016040519081016040528092919081815260200182805461133090614365565b801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050505050905090565b6000801b81565b6113988282611af8565b5050565b6113ad6113a76117f4565b836117fc565b6113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390614408565b60405180910390fd5b6113f884848484611b0f565b50505050565b606061140982611792565b6000611413611b6b565b90506000815111611433576040518060200160405280600081525061145e565b8061143d84611bfd565b60405160200161144e929190614bfb565b6040516020818303038152906040525b915050919050565b600061148360076000848152602001908152602001600020611ccb565b9050919050565b7f4d494e5445525f524f4c4500000000000000000000000000000000000000000081565b6114b7826108b4565b6114c0816118ab565b6114ca83836118f3565b505050565b600f80546114dc90614365565b80601f016020809104026020016040519081016040528092919081815260200182805461150890614365565b80156115555780601f1061152a57610100808354040283529160200191611555565b820191906000526020600020905b81548152906001019060200180831161153857829003601f168201915b505050505081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6001816000016000828254019250508190555050565b6116118282611269565b6116e45760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116896117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611710836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611ce0565b905092915050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061178b575061178a82611d50565b5b9050919050565b61179b81611dca565b6117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d1906149e6565b60405180910390fd5b50565b6117e682611e0b565b6117f08282611f64565b5050565b600033905090565b60008061180883610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061184a5750611849818561155d565b5b8061188857508373ffffffffffffffffffffffffffffffffffffffff16611870846107f3565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b61189c83838361207b565b505050565b6000612710905090565b6118bc816118b76117f4565b612093565b50565b6118c98282611607565b6118ee81600760008581526020019081526020016000206116e890919063ffffffff16565b505050565b6118fd8282612118565b61192281600760008581526020019081526020016000206121fa90919063ffffffff16565b505050565b600080611934601161222a565b90506119408382612238565b61194a60116115f1565b80915050919050565b600061195e82610e88565b905061196e816000846001612455565b61197782610e88565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a9d816000846001612467565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000611aed836000018361246d565b60001c905092915050565b611b0182611e0b565b611b0b8282612498565b5050565b611b1a848484611891565b611b26848484846124ae565b611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90614c91565b60405180910390fd5b50505050565b606060108054611b7a90614365565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba690614365565b8015611bf35780601f10611bc857610100808354040283529160200191611bf3565b820191906000526020600020905b815481529060010190602001808311611bd657829003601f168201915b5050505050905090565b606060006001611c0c84612635565b01905060008167ffffffffffffffff811115611c2b57611c2a613f38565b5b6040519080825280601f01601f191660200182016040528015611c5d5781602001600182028036833780820191505090505b509050600082602001820190505b600115611cc0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611cb457611cb3614499565b5b04945060008503611c6b575b819350505050919050565b6000611cd982600001612788565b9050919050565b6000611cec8383612799565b611d45578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611d4a565b600090505b92915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611dc35750611dc2826127bc565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611dec83611aa1565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f605760008173ffffffffffffffffffffffffffffffffffffffff163b1480611f1f5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809826040518263ffffffff1660e01b8152600401611edd9190613be7565b602060405180830381865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1e9190614a45565b5b611f6157806040517f8371ab02000000000000000000000000000000000000000000000000000000008152600401611f579190613be7565b60405180910390fd5b5b50565b6000611f6f82610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd690614d23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16611ffe6117f4565b73ffffffffffffffffffffffffffffffffffffffff16148061202d575061202c816120276117f4565b61155d565b5b61206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614db5565b60405180910390fd5b61207683836127ce565b505050565b612083612887565b61208e8383836129f3565b505050565b61209d8282611269565b612114576120aa81612cec565b6120b88360001c6020612d19565b6040516020016120c9929190614e6d565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210b9190613b21565b60405180910390fd5b5050565b6121228282611269565b156121f65760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061219b6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612222836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612f55565b905092915050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229e90614ef3565b60405180910390fd5b6122b081611dca565b156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e790614f5f565b60405180910390fd5b6122fe600083836001612455565b61230781611dca565b15612347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233e90614f5f565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612451600083836001612467565b5050565b61246184848484613069565b50505050565b50505050565b60008260000182815481106124855761248461458b565b5b9060005260206000200154905092915050565b6124aa6124a36117f4565b83836131c7565b5050565b60006124cf8473ffffffffffffffffffffffffffffffffffffffff16613333565b15612628578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124f86117f4565b8786866040518563ffffffff1660e01b815260040161251a9493929190614fd4565b6020604051808303816000875af192505050801561255657506040513d601f19601f820116820180604052508101906125539190615035565b60015b6125d8573d8060008114612586576040519150601f19603f3d011682016040523d82523d6000602084013e61258b565b606091505b5060008151036125d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c790614c91565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061262d565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612693577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161268957612688614499565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106126d0576d04ee2d6d415b85acef810000000083816126c6576126c5614499565b5b0492506020810190505b662386f26fc1000083106126ff57662386f26fc1000083816126f5576126f4614499565b5b0492506010810190505b6305f5e1008310612728576305f5e100838161271e5761271d614499565b5b0492506008810190505b612710831061274d57612710838161274357612742614499565b5b0492506004810190505b60648310612770576064838161276657612765614499565b5b0492506002810190505b600a831061277f576001810190505b80915050919050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60006127c782613356565b9050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661284183610e88565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129f0573273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806129af5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809336040518263ffffffff1660e01b815260040161296d9190613be7565b602060405180830381865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae9190614a45565b5b6129f157336040517f937db65f0000000000000000000000000000000000000000000000000000000081526004016129e79190613be7565b60405180910390fd5b5b565b8273ffffffffffffffffffffffffffffffffffffffff16612a1382610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a60906150d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acf90615166565b60405180910390fd5b612ae58383836001612455565b8273ffffffffffffffffffffffffffffffffffffffff16612b0582610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b52906150d4565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612ce78383836001612467565b505050565b6060612d128273ffffffffffffffffffffffffffffffffffffffff16601460ff16612d19565b9050919050565b606060006002836002612d2c9190614457565b612d369190615186565b67ffffffffffffffff811115612d4f57612d4e613f38565b5b6040519080825280601f01601f191660200182016040528015612d815781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612db957612db861458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612e1d57612e1c61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612e5d9190614457565b612e679190615186565b90505b6001811115612f07577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ea957612ea861458b565b5b1a60f81b828281518110612ec057612ebf61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612f00906151ba565b9050612e6a565b5060008414612f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f429061522f565b60405180910390fd5b8091505092915050565b6000808360010160008481526020019081526020016000205490506000811461305d576000600182612f87919061524f565b9050600060018660000180549050612f9f919061524f565b905081811461300e576000866000018281548110612fc057612fbf61458b565b5b9060005260206000200154905080876000018481548110612fe457612fe361458b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061302257613021615283565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613063565b60009150505b92915050565b613075848484846133d0565b60018111156130b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b090615324565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603613100576130fb816134f6565b61313f565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461313e5761313d858261353f565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036131815761317c816136ac565b6131c0565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146131bf576131be848261377d565b5b5b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161322c90615390565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516133269190613a76565b60405180910390a3505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806133c957506133c8826137fc565b5b9050919050565b60018111156134f057600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146134645780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461345c919061524f565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146134ef5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134e79190615186565b925050819055505b5b50505050565b600b80549050600c600083815260200190815260200160002081905550600b81908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161354c84611183565b613556919061524f565b90506000600a600084815260200190815260200160002054905081811461363b576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600a600083815260200190815260200160002081905550505b600a600084815260200190815260200160002060009055600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600b805490506136c0919061524f565b90506000600c60008481526020019081526020016000205490506000600b83815481106136f0576136ef61458b565b5b9060005260206000200154905080600b83815481106137125761371161458b565b5b906000526020600020018190555081600c600083815260200190815260200160002081905550600c600085815260200190815260200160002060009055600b80548061376157613760615283565b5b6001900381819060005260206000200160009055905550505050565b600061378883611183565b905081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600a600084815260200190815260200160002081905550505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061386f575061386e82613876565b5b9050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061394157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613951575061395082613958565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613a0b816139d6565b8114613a1657600080fd5b50565b600081359050613a2881613a02565b92915050565b600060208284031215613a4457613a436139cc565b5b6000613a5284828501613a19565b91505092915050565b60008115159050919050565b613a7081613a5b565b82525050565b6000602082019050613a8b6000830184613a67565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613acb578082015181840152602081019050613ab0565b60008484015250505050565b6000601f19601f8301169050919050565b6000613af382613a91565b613afd8185613a9c565b9350613b0d818560208601613aad565b613b1681613ad7565b840191505092915050565b60006020820190508181036000830152613b3b8184613ae8565b905092915050565b6000819050919050565b613b5681613b43565b8114613b6157600080fd5b50565b600081359050613b7381613b4d565b92915050565b600060208284031215613b8f57613b8e6139cc565b5b6000613b9d84828501613b64565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bd182613ba6565b9050919050565b613be181613bc6565b82525050565b6000602082019050613bfc6000830184613bd8565b92915050565b613c0b81613bc6565b8114613c1657600080fd5b50565b600081359050613c2881613c02565b92915050565b60008060408385031215613c4557613c446139cc565b5b6000613c5385828601613c19565b9250506020613c6485828601613b64565b9150509250929050565b613c7781613b43565b82525050565b6000602082019050613c926000830184613c6e565b92915050565b600080600060608486031215613cb157613cb06139cc565b5b6000613cbf86828701613c19565b9350506020613cd086828701613c19565b9250506040613ce186828701613b64565b9150509250925092565b6000819050919050565b613cfe81613ceb565b8114613d0957600080fd5b50565b600081359050613d1b81613cf5565b92915050565b600060208284031215613d3757613d366139cc565b5b6000613d4584828501613d0c565b91505092915050565b613d5781613ceb565b82525050565b6000602082019050613d726000830184613d4e565b92915050565b60008060408385031215613d8f57613d8e6139cc565b5b6000613d9d85828601613b64565b9250506020613dae85828601613b64565b9150509250929050565b6000604082019050613dcd6000830185613bd8565b613dda6020830184613c6e565b9392505050565b60008060408385031215613df857613df76139cc565b5b6000613e0685828601613d0c565b9250506020613e1785828601613c19565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5681613bc6565b82525050565b6000613e688383613e4d565b60208301905092915050565b6000602082019050919050565b6000613e8c82613e21565b613e968185613e2c565b9350613ea183613e3d565b8060005b83811015613ed2578151613eb98882613e5c565b9750613ec483613e74565b925050600181019050613ea5565b5085935050505092915050565b60006020820190508181036000830152613ef98184613e81565b905092915050565b600060208284031215613f1757613f166139cc565b5b6000613f2584828501613c19565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f7082613ad7565b810181811067ffffffffffffffff82111715613f8f57613f8e613f38565b5b80604052505050565b6000613fa26139c2565b9050613fae8282613f67565b919050565b600067ffffffffffffffff821115613fce57613fcd613f38565b5b613fd782613ad7565b9050602081019050919050565b82818337600083830152505050565b600061400661400184613fb3565b613f98565b90508281526020810184848401111561402257614021613f33565b5b61402d848285613fe4565b509392505050565b600082601f83011261404a57614049613f2e565b5b813561405a848260208601613ff3565b91505092915050565b600060208284031215614079576140786139cc565b5b600082013567ffffffffffffffff811115614097576140966139d1565b5b6140a384828501614035565b91505092915050565b6000819050919050565b60006140d16140cc6140c784613ba6565b6140ac565b613ba6565b9050919050565b60006140e3826140b6565b9050919050565b60006140f5826140d8565b9050919050565b614105816140ea565b82525050565b600060208201905061412060008301846140fc565b92915050565b6000806040838503121561413d5761413c6139cc565b5b600061414b85828601613d0c565b925050602061415c85828601613b64565b9150509250929050565b61416f81613a5b565b811461417a57600080fd5b50565b60008135905061418c81614166565b92915050565b600080604083850312156141a9576141a86139cc565b5b60006141b785828601613c19565b92505060206141c88582860161417d565b9150509250929050565b600067ffffffffffffffff8211156141ed576141ec613f38565b5b6141f682613ad7565b9050602081019050919050565b6000614216614211846141d2565b613f98565b90508281526020810184848401111561423257614231613f33565b5b61423d848285613fe4565b509392505050565b600082601f83011261425a57614259613f2e565b5b813561426a848260208601614203565b91505092915050565b6000806000806080858703121561428d5761428c6139cc565b5b600061429b87828801613c19565b94505060206142ac87828801613c19565b93505060406142bd87828801613b64565b925050606085013567ffffffffffffffff8111156142de576142dd6139d1565b5b6142ea87828801614245565b91505092959194509250565b6000806040838503121561430d5761430c6139cc565b5b600061431b85828601613c19565b925050602061432c85828601613c19565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061437d57607f821691505b6020821081036143905761438f614336565b5b50919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006143f2602d83613a9c565b91506143fd82614396565b604082019050919050565b60006020820190508181036000830152614421816143e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061446282613b43565b915061446d83613b43565b925082820261447b81613b43565b9150828204841483151761449257614491614428565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006144d382613b43565b91506144de83613b43565b9250826144ee576144ed614499565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614555602b83613a9c565b9150614560826144f9565b604082019050919050565b6000602082019050818103600083015261458481614548565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006145c582613b43565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145f7576145f6614428565b5b600182019050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061465e602f83613a9c565b915061466982614602565b604082019050919050565b6000602082019050818103600083015261468d81614651565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006146f0602c83613a9c565b91506146fb82614694565b604082019050919050565b6000602082019050818103600083015261471f816146e3565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026147887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261474b565b614792868361474b565b95508019841693508086168417925050509392505050565b60006147c56147c06147bb84613b43565b6140ac565b613b43565b9050919050565b6000819050919050565b6147df836147aa565b6147f36147eb826147cc565b848454614758565b825550505050565b600090565b6148086147fb565b6148138184846147d6565b505050565b5b818110156148375761482c600082614800565b600181019050614819565b5050565b601f82111561487c5761484d81614726565b6148568461473b565b81016020851015614865578190505b6148796148718561473b565b830182614818565b50505b505050565b600082821c905092915050565b600061489f60001984600802614881565b1980831691505092915050565b60006148b8838361488e565b9150826002028217905092915050565b6148d182613a91565b67ffffffffffffffff8111156148ea576148e9613f38565b5b6148f48254614365565b6148ff82828561483b565b600060209050601f8311600181146149325760008415614920578287015190505b61492a85826148ac565b865550614992565b601f19841661494086614726565b60005b8281101561496857848901518255600182019150602085019450602081019050614943565b868310156149855784890151614981601f89168261488e565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006149d0601883613a9c565b91506149db8261499a565b602082019050919050565b600060208201905081810360008301526149ff816149c3565b9050919050565b614a0f816139d6565b82525050565b6000602082019050614a2a6000830184614a06565b92915050565b600081519050614a3f81614166565b92915050565b600060208284031215614a5b57614a5a6139cc565b5b6000614a6984828501614a30565b91505092915050565b7f636f6e747261637420646f6573206e6f7420696d706c656d656e742049526f7960008201527f616c7479416c6c6f776c69737400000000000000000000000000000000000000602082015250565b6000614ace602d83613a9c565b9150614ad982614a72565b604082019050919050565b60006020820190508181036000830152614afd81614ac1565b9050919050565b6000604082019050614b196000830185613bd8565b614b266020830184613bd8565b9392505050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614b89602983613a9c565b9150614b9482614b2d565b604082019050919050565b60006020820190508181036000830152614bb881614b7c565b9050919050565b600081905092915050565b6000614bd582613a91565b614bdf8185614bbf565b9350614bef818560208601613aad565b80840191505092915050565b6000614c078285614bca565b9150614c138284614bca565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614c7b603283613a9c565b9150614c8682614c1f565b604082019050919050565b60006020820190508181036000830152614caa81614c6e565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d0d602183613a9c565b9150614d1882614cb1565b604082019050919050565b60006020820190508181036000830152614d3c81614d00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614d9f603d83613a9c565b9150614daa82614d43565b604082019050919050565b60006020820190508181036000830152614dce81614d92565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614e0b601783614bbf565b9150614e1682614dd5565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614e57601183614bbf565b9150614e6282614e21565b601182019050919050565b6000614e7882614dfe565b9150614e848285614bca565b9150614e8f82614e4a565b9150614e9b8284614bca565b91508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614edd602083613a9c565b9150614ee882614ea7565b602082019050919050565b60006020820190508181036000830152614f0c81614ed0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614f49601c83613a9c565b9150614f5482614f13565b602082019050919050565b60006020820190508181036000830152614f7881614f3c565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614fa682614f7f565b614fb08185614f8a565b9350614fc0818560208601613aad565b614fc981613ad7565b840191505092915050565b6000608082019050614fe96000830187613bd8565b614ff66020830186613bd8565b6150036040830185613c6e565b81810360608301526150158184614f9b565b905095945050505050565b60008151905061502f81613a02565b92915050565b60006020828403121561504b5761504a6139cc565b5b600061505984828501615020565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006150be602583613a9c565b91506150c982615062565b604082019050919050565b600060208201905081810360008301526150ed816150b1565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615150602483613a9c565b915061515b826150f4565b604082019050919050565b6000602082019050818103600083015261517f81615143565b9050919050565b600061519182613b43565b915061519c83613b43565b92508282019050808211156151b4576151b3614428565b5b92915050565b60006151c582613b43565b9150600082036151d8576151d7614428565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615219602083613a9c565b9150615224826151e3565b602082019050919050565b600060208201905081810360008301526152488161520c565b9050919050565b600061525a82613b43565b915061526583613b43565b925082820390508181111561527d5761527c614428565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061530e603583613a9c565b9150615319826152b2565b604082019050919050565b6000602082019050818103600083015261533d81615301565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061537a601983613a9c565b915061538582615344565b602082019050919050565b600060208201905081810360008301526153a98161536d565b905091905056fea2646970667358221220f2de678fa1f1a3fc28d8056ba46769331f91c7536f9259f07a82f3f97942823964736f6c63430008110033";
895
- const isSuperArgs$1 = (xs) => xs.length > 1;
896
- class ImmutableERC721PermissionedMintable__factory extends ContractFactory {
897
- constructor(...args) {
898
- if (isSuperArgs$1(args)) {
899
- super(...args);
900
- }
901
- else {
902
- super(_abi$1, _bytecode$1, args[0]);
903
- }
904
- }
905
- deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
906
- return super.deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
907
- }
908
- getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
909
- return super.getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
910
- }
911
- attach(address) {
912
- return super.attach(address);
913
- }
914
- connect(signer) {
915
- return super.connect(signer);
916
- }
917
- static bytecode = _bytecode$1;
918
- static abi = _abi$1;
919
- static createInterface() {
920
- return new utils.Interface(_abi$1);
921
- }
922
- static connect(address, signerOrProvider) {
923
- return new Contract(address, _abi$1, signerOrProvider);
924
- }
925
- }
926
-
927
- class ERC721PermissionedMintable {
928
- contract;
929
- constructor(contractAddress) {
930
- const factory = new ImmutableERC721PermissionedMintable__factory();
931
- this.contract = factory.attach(contractAddress);
932
- }
933
- /**
934
- * Read functions
935
- */
936
- /**
937
- * @returns the DEFAULT_ADMIN_ROLE as a string.
938
- */
939
- async DEFAULT_ADMIN_ROLE(provider, overrides = {}) {
940
- return await this.contract.connect(provider).DEFAULT_ADMIN_ROLE(overrides);
941
- }
942
- /**
943
- * @returns the MINTER_ROLE as a string.
944
- */
945
- async MINTER_ROLE(provider, overrides = {}) {
946
- return await this.contract.connect(provider).MINTER_ROLE(overrides);
947
- }
948
- /**
949
- * @returns the balance of an address as a BigNumber.
950
- */
951
- async balanceOf(provider, owner, overrides = {}) {
952
- return await this.contract.connect(provider).balanceOf(owner, overrides);
953
- }
954
- /**
955
- * @returns the baseURI as a string.
956
- */
957
- async baseURI(provider, overrides = {}) {
958
- return await this.contract.connect(provider).baseURI(overrides);
959
- }
960
- /**
961
- * @returns the contractURI as a string.
962
- */
963
- async contractURI(provider, overrides = {}) {
964
- return await this.contract.connect(provider).contractURI(overrides);
965
- }
966
- /**
967
- * @returns admin addresses as an array of strings.
968
- */
969
- async getAdmins(provider, overrides = {}) {
970
- return await this.contract.connect(provider).getAdmins(overrides);
971
- }
972
- /**
973
- * @returns the approved address for a token ID, or zero if no address set.
974
- */
975
- async getApproved(provider, tokenId, overrides = {}) {
976
- return await this.contract
977
- .connect(provider)
978
- .getApproved(tokenId, overrides);
979
- }
980
- /**
981
- * @returns the role admin address.
982
- */
983
- async getRoleAdmin(provider, role, overrides = {}) {
984
- return await this.contract.connect(provider).getRoleAdmin(role, overrides);
985
- }
986
- /**
987
- * @returns the role member address at a particular index.
988
- */
989
- async getRoleMember(provider, role, index, overrides = {}) {
990
- return await this.contract
991
- .connect(provider)
992
- .getRoleMember(role, index, overrides);
993
- }
994
- /**
995
- * @returns the role member count as a BigNumber.
996
- */
997
- async getRoleMemberCount(provider, role, overrides = {}) {
998
- return await this.contract
999
- .connect(provider)
1000
- .getRoleMemberCount(role, overrides);
1001
- }
1002
- /**
1003
- * @returns a boolean for whether an account has a particular role.
1004
- */
1005
- async hasRole(provider, role, account, overrides = {}) {
1006
- return await this.contract
1007
- .connect(provider)
1008
- .hasRole(role, account, overrides);
1009
- }
1010
- /**
1011
- * @returns a booolean that tells whether an operator is approved by a given owner.
1012
- */
1013
- async isApprovedForAll(provider, owner, operator, overrides = {}) {
1014
- return await this.contract
1015
- .connect(provider)
1016
- .isApprovedForAll(owner, operator, overrides);
1017
- }
1018
- /**
1019
- * @returns the name of the contract as a string.
1020
- */
1021
- async name(provider, overrides = {}) {
1022
- return await this.contract.connect(provider).name(overrides);
1023
- }
1024
- /**
1025
- * @returns the owner address of a particular tokenId.
1026
- */
1027
- async ownerOf(provider, tokenId, overrides = {}) {
1028
- return await this.contract.connect(provider).ownerOf(tokenId, overrides);
1029
- }
1030
- /**
1031
- * @returns the royalty allowlist as a string.
1032
- */
1033
- async royaltyAllowlist(provider, overrides = {}) {
1034
- return await this.contract.connect(provider).royaltyAllowlist(overrides);
1035
- }
1036
- /**
1037
- * @returns the royalty information for a particular tokenId.
1038
- */
1039
- async royaltyInfo(provider, _tokenId, _salePrice, overrides = {}) {
1040
- return await this.contract
1041
- .connect(provider)
1042
- .royaltyInfo(_tokenId, _salePrice, overrides);
1043
- }
1044
- /**
1045
- * @returns the symbol of the contract as a string.
1046
- */
1047
- async symbol(provider, overrides = {}) {
1048
- return await this.contract.connect(provider).symbol(overrides);
1049
- }
1050
- /**
1051
- * @returns a token ID at a given index of all the tokens stored by the contract.
1052
- */
1053
- async tokenByIndex(provider, index, overrides = {}) {
1054
- return await this.contract.connect(provider).tokenByIndex(index, overrides);
1055
- }
1056
- /**
1057
- * @returns a token ID owned by owner at a given index of its token list.
1058
- */
1059
- async tokenOfOwnerByIndex(provider, owner, index, overrides = {}) {
1060
- return await this.contract
1061
- .connect(provider)
1062
- .tokenOfOwnerByIndex(owner, index, overrides);
1063
- }
1064
- /**
1065
- * @returns the Uniform Resource Identifier (URI) for tokenId token.
1066
- */
1067
- async tokenURI(provider, tokenId, overrides = {}) {
1068
- return await this.contract.connect(provider).tokenURI(tokenId, overrides);
1069
- }
1070
- /**
1071
- * @returns returns the total amount of tokens stored by the contract.
1072
- */
1073
- async totalSupply(provider, overrides = {}) {
1074
- return await this.contract.connect(provider).totalSupply(overrides);
1075
- }
1076
- /**
1077
- * Write functions
1078
- */
1079
- /**
1080
- * @returns a populated transaction for the approve contract function
1081
- */
1082
- async populateApprove(to, tokenId, overrides = {}) {
1083
- return await this.contract.populateTransaction.approve(to, tokenId, overrides);
1084
- }
1085
- /**
1086
- * @returns a populated transaction for the burn contract function
1087
- */
1088
- async populateBurn(tokenId, overrides = {}) {
1089
- return await this.contract.populateTransaction.burn(tokenId, overrides);
1090
- }
1091
- /**
1092
- * @returns a populated transaction for the grantMinterRole contract function
1093
- */
1094
- async populateGrantMinterRole(user, overrides = {}) {
1095
- return await this.contract.populateTransaction.grantMinterRole(user, overrides);
1096
- }
1097
- /**
1098
- * @returns a populated transaction for the grantRole contract function
1099
- */
1100
- async populateGrantRole(role, account, overrides = {}) {
1101
- return await this.contract.populateTransaction.grantRole(role, account, overrides);
1102
- }
1103
- /**
1104
- * @returns a populated transaction for the mint contract function
1105
- */
1106
- async populateMint(to, amount, overrides = {}) {
1107
- return await this.contract.populateTransaction.mint(to, amount, overrides);
1108
- }
1109
- /**
1110
- * @returns a populated transaction for the renounceRole contract function
1111
- */
1112
- async populateRenounceRole(role, account, overrides = {}) {
1113
- return await this.contract.populateTransaction.renounceRole(role, account, overrides);
1114
- }
1115
- /**
1116
- * @returns a populated transaction for the revokeMinterRole contract function
1117
- */
1118
- async populateRevokeMinterRole(user, overrides = {}) {
1119
- return await this.contract.populateTransaction.revokeMinterRole(user, overrides);
1120
- }
1121
- /**
1122
- * @returns a populated transaction for the revokeRole contract function
1123
- */
1124
- async populateRevokeRole(role, account, overrides = {}) {
1125
- return await this.contract.populateTransaction.revokeRole(role, account, overrides);
1126
- }
1127
- /**
1128
- * @returns a populated transaction for the safeTransferFrom(address,address,uint256) contract function
1129
- */
1130
- async 'populateSafeTransferFrom(address,address,uint256)'(from, to, tokenId, overrides = {}) {
1131
- return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256)'](from, to, tokenId, overrides);
1132
- }
1133
- /**
1134
- * @returns a populated transaction for the safeTransferFrom(address,address,uint256,bytes) contract function
1135
- */
1136
- async 'populateSafeTransferFrom(address,address,uint256,bytes)'(from, to, tokenId, data, overrides = {}) {
1137
- return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256,bytes)'](from, to, tokenId, data, overrides);
1138
- }
1139
- /**
1140
- * @returns a populated transaction for the setApprovalForAll contract function
1141
- */
1142
- async populateSetApprovalForAll(operator, approved, overrides = {}) {
1143
- return await this.contract.populateTransaction.setApprovalForAll(operator, approved, overrides);
1144
- }
1145
- /**
1146
- * @returns a populated transaction for the setBaseURI contract function
1147
- */
1148
- async populateSetBaseURI(baseURI_, overrides = {}) {
1149
- return await this.contract.populateTransaction.setBaseURI(baseURI_, overrides);
1150
- }
1151
- /**
1152
- * @returns a populated transaction for the setContractURI contract function
1153
- */
1154
- async populateSetContractURI(_contractURI, overrides = {}) {
1155
- return await this.contract.populateTransaction.setContractURI(_contractURI, overrides);
1156
- }
1157
- /**
1158
- * @returns a populated transaction for the setRoyaltyAllowlistRegistry contract function
1159
- */
1160
- async populateSetRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides = {}) {
1161
- return await this.contract.populateTransaction.setRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides);
1162
- }
1163
- }
1164
-
1165
- export { ERC721PermissionedMintable };