@imtbl/sdk 0.8.0-alpha → 0.9.0

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