@gitmyabi/quirkiesimplementationv8 1.0.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.
@@ -0,0 +1,2017 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuirkiesImplementationV8_json = exports.QuirkiesImplementationV8_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * QuirkiesImplementationV8_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.QuirkiesImplementationV8_jsonAbi = [
11
+ {
12
+ "inputs": [],
13
+ "name": "CreatorTokenBase__InvalidTransferValidatorContract",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [],
18
+ "name": "CreatorTokenBase__SetTransferValidatorFirst",
19
+ "type": "error"
20
+ },
21
+ {
22
+ "inputs": [],
23
+ "name": "ErrAlreadySetupValidator",
24
+ "type": "error"
25
+ },
26
+ {
27
+ "inputs": [],
28
+ "name": "ErrNotOwner",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "ErrNotStaked",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "ErrStaked",
39
+ "type": "error"
40
+ },
41
+ {
42
+ "inputs": [],
43
+ "name": "ErrSuspended",
44
+ "type": "error"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "ErrUnauthorizedStaker",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "ShouldNotMintToBurnAddress",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "anonymous": false,
58
+ "inputs": [
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "owner",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": true,
67
+ "internalType": "address",
68
+ "name": "approved",
69
+ "type": "address"
70
+ },
71
+ {
72
+ "indexed": true,
73
+ "internalType": "uint256",
74
+ "name": "tokenId",
75
+ "type": "uint256"
76
+ }
77
+ ],
78
+ "name": "Approval",
79
+ "type": "event"
80
+ },
81
+ {
82
+ "anonymous": false,
83
+ "inputs": [
84
+ {
85
+ "indexed": true,
86
+ "internalType": "address",
87
+ "name": "owner",
88
+ "type": "address"
89
+ },
90
+ {
91
+ "indexed": true,
92
+ "internalType": "address",
93
+ "name": "operator",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "indexed": false,
98
+ "internalType": "bool",
99
+ "name": "approved",
100
+ "type": "bool"
101
+ }
102
+ ],
103
+ "name": "ApprovalForAll",
104
+ "type": "event"
105
+ },
106
+ {
107
+ "anonymous": false,
108
+ "inputs": [
109
+ {
110
+ "indexed": false,
111
+ "internalType": "uint8",
112
+ "name": "version",
113
+ "type": "uint8"
114
+ }
115
+ ],
116
+ "name": "Initialized",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": true,
124
+ "internalType": "address",
125
+ "name": "previousOwner",
126
+ "type": "address"
127
+ },
128
+ {
129
+ "indexed": true,
130
+ "internalType": "address",
131
+ "name": "newOwner",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "name": "OwnershipTransferred",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": false,
143
+ "internalType": "uint256[]",
144
+ "name": "tokenIDs",
145
+ "type": "uint256[]"
146
+ }
147
+ ],
148
+ "name": "TokensSuspended",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "anonymous": false,
153
+ "inputs": [
154
+ {
155
+ "indexed": false,
156
+ "internalType": "uint256[]",
157
+ "name": "tokenIDs",
158
+ "type": "uint256[]"
159
+ }
160
+ ],
161
+ "name": "TokensUnsuspended",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "anonymous": false,
166
+ "inputs": [
167
+ {
168
+ "indexed": true,
169
+ "internalType": "address",
170
+ "name": "from",
171
+ "type": "address"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "address",
176
+ "name": "to",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "indexed": true,
181
+ "internalType": "uint256",
182
+ "name": "tokenId",
183
+ "type": "uint256"
184
+ }
185
+ ],
186
+ "name": "Transfer",
187
+ "type": "event"
188
+ },
189
+ {
190
+ "anonymous": false,
191
+ "inputs": [
192
+ {
193
+ "indexed": false,
194
+ "internalType": "address",
195
+ "name": "oldValidator",
196
+ "type": "address"
197
+ },
198
+ {
199
+ "indexed": false,
200
+ "internalType": "address",
201
+ "name": "newValidator",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "TransferValidatorUpdated",
206
+ "type": "event"
207
+ },
208
+ {
209
+ "inputs": [],
210
+ "name": "DEFAULT_OPERATOR_WHITELIST_ID",
211
+ "outputs": [
212
+ {
213
+ "internalType": "uint120",
214
+ "name": "",
215
+ "type": "uint120"
216
+ }
217
+ ],
218
+ "stateMutability": "view",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [],
223
+ "name": "DEFAULT_TRANSFER_SECURITY_LEVEL",
224
+ "outputs": [
225
+ {
226
+ "internalType": "enum TransferSecurityLevels",
227
+ "name": "",
228
+ "type": "uint8"
229
+ }
230
+ ],
231
+ "stateMutability": "view",
232
+ "type": "function"
233
+ },
234
+ {
235
+ "inputs": [],
236
+ "name": "DEFAULT_TRANSFER_VALIDATOR",
237
+ "outputs": [
238
+ {
239
+ "internalType": "address",
240
+ "name": "",
241
+ "type": "address"
242
+ }
243
+ ],
244
+ "stateMutability": "view",
245
+ "type": "function"
246
+ },
247
+ {
248
+ "inputs": [
249
+ {
250
+ "internalType": "address",
251
+ "name": "account_",
252
+ "type": "address"
253
+ }
254
+ ],
255
+ "name": "addAccountToAuthorizers",
256
+ "outputs": [],
257
+ "stateMutability": "nonpayable",
258
+ "type": "function"
259
+ },
260
+ {
261
+ "inputs": [
262
+ {
263
+ "internalType": "address[]",
264
+ "name": "accounts_",
265
+ "type": "address[]"
266
+ }
267
+ ],
268
+ "name": "addAccountsToAuthorizers",
269
+ "outputs": [],
270
+ "stateMutability": "nonpayable",
271
+ "type": "function"
272
+ },
273
+ {
274
+ "inputs": [
275
+ {
276
+ "internalType": "address[]",
277
+ "name": "addrs_",
278
+ "type": "address[]"
279
+ }
280
+ ],
281
+ "name": "addToWhitelist",
282
+ "outputs": [],
283
+ "stateMutability": "nonpayable",
284
+ "type": "function"
285
+ },
286
+ {
287
+ "inputs": [
288
+ {
289
+ "internalType": "address",
290
+ "name": "to",
291
+ "type": "address"
292
+ },
293
+ {
294
+ "internalType": "uint256",
295
+ "name": "tokenId",
296
+ "type": "uint256"
297
+ }
298
+ ],
299
+ "name": "approve",
300
+ "outputs": [],
301
+ "stateMutability": "nonpayable",
302
+ "type": "function"
303
+ },
304
+ {
305
+ "inputs": [
306
+ {
307
+ "internalType": "uint256[]",
308
+ "name": "tokenIDs_",
309
+ "type": "uint256[]"
310
+ }
311
+ ],
312
+ "name": "areSuspended",
313
+ "outputs": [
314
+ {
315
+ "internalType": "bool[]",
316
+ "name": "",
317
+ "type": "bool[]"
318
+ }
319
+ ],
320
+ "stateMutability": "view",
321
+ "type": "function"
322
+ },
323
+ {
324
+ "inputs": [
325
+ {
326
+ "internalType": "address",
327
+ "name": "owner",
328
+ "type": "address"
329
+ }
330
+ ],
331
+ "name": "balanceOf",
332
+ "outputs": [
333
+ {
334
+ "internalType": "uint256",
335
+ "name": "",
336
+ "type": "uint256"
337
+ }
338
+ ],
339
+ "stateMutability": "view",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [],
344
+ "name": "baseURI",
345
+ "outputs": [
346
+ {
347
+ "internalType": "string",
348
+ "name": "",
349
+ "type": "string"
350
+ }
351
+ ],
352
+ "stateMutability": "view",
353
+ "type": "function"
354
+ },
355
+ {
356
+ "inputs": [
357
+ {
358
+ "internalType": "uint256",
359
+ "name": "tokenId",
360
+ "type": "uint256"
361
+ }
362
+ ],
363
+ "name": "getApproved",
364
+ "outputs": [
365
+ {
366
+ "internalType": "address",
367
+ "name": "",
368
+ "type": "address"
369
+ }
370
+ ],
371
+ "stateMutability": "view",
372
+ "type": "function"
373
+ },
374
+ {
375
+ "inputs": [],
376
+ "name": "getPermittedContractReceivers",
377
+ "outputs": [
378
+ {
379
+ "internalType": "address[]",
380
+ "name": "",
381
+ "type": "address[]"
382
+ }
383
+ ],
384
+ "stateMutability": "view",
385
+ "type": "function"
386
+ },
387
+ {
388
+ "inputs": [],
389
+ "name": "getSecurityPolicy",
390
+ "outputs": [
391
+ {
392
+ "components": [
393
+ {
394
+ "internalType": "enum TransferSecurityLevels",
395
+ "name": "transferSecurityLevel",
396
+ "type": "uint8"
397
+ },
398
+ {
399
+ "internalType": "uint120",
400
+ "name": "operatorWhitelistId",
401
+ "type": "uint120"
402
+ },
403
+ {
404
+ "internalType": "uint120",
405
+ "name": "permittedContractReceiversId",
406
+ "type": "uint120"
407
+ }
408
+ ],
409
+ "internalType": "struct CollectionSecurityPolicy",
410
+ "name": "",
411
+ "type": "tuple"
412
+ }
413
+ ],
414
+ "stateMutability": "view",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [],
419
+ "name": "getTransferValidationFunction",
420
+ "outputs": [
421
+ {
422
+ "internalType": "bytes4",
423
+ "name": "functionSignature",
424
+ "type": "bytes4"
425
+ },
426
+ {
427
+ "internalType": "bool",
428
+ "name": "isViewFunction",
429
+ "type": "bool"
430
+ }
431
+ ],
432
+ "stateMutability": "pure",
433
+ "type": "function"
434
+ },
435
+ {
436
+ "inputs": [],
437
+ "name": "getTransferValidator",
438
+ "outputs": [
439
+ {
440
+ "internalType": "address",
441
+ "name": "",
442
+ "type": "address"
443
+ }
444
+ ],
445
+ "stateMutability": "view",
446
+ "type": "function"
447
+ },
448
+ {
449
+ "inputs": [],
450
+ "name": "getWhitelistedOperators",
451
+ "outputs": [
452
+ {
453
+ "internalType": "address[]",
454
+ "name": "",
455
+ "type": "address[]"
456
+ }
457
+ ],
458
+ "stateMutability": "view",
459
+ "type": "function"
460
+ },
461
+ {
462
+ "inputs": [
463
+ {
464
+ "internalType": "address",
465
+ "name": "quirkiesV1Address_",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "string",
470
+ "name": "baseURI_",
471
+ "type": "string"
472
+ },
473
+ {
474
+ "internalType": "address",
475
+ "name": "teamWallet_",
476
+ "type": "address"
477
+ }
478
+ ],
479
+ "name": "initialize",
480
+ "outputs": [],
481
+ "stateMutability": "nonpayable",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [
486
+ {
487
+ "internalType": "address",
488
+ "name": "owner",
489
+ "type": "address"
490
+ },
491
+ {
492
+ "internalType": "address",
493
+ "name": "operator",
494
+ "type": "address"
495
+ }
496
+ ],
497
+ "name": "isApprovedForAll",
498
+ "outputs": [
499
+ {
500
+ "internalType": "bool",
501
+ "name": "",
502
+ "type": "bool"
503
+ }
504
+ ],
505
+ "stateMutability": "view",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "internalType": "address",
512
+ "name": "receiver",
513
+ "type": "address"
514
+ }
515
+ ],
516
+ "name": "isContractReceiverPermitted",
517
+ "outputs": [
518
+ {
519
+ "internalType": "bool",
520
+ "name": "",
521
+ "type": "bool"
522
+ }
523
+ ],
524
+ "stateMutability": "view",
525
+ "type": "function"
526
+ },
527
+ {
528
+ "inputs": [
529
+ {
530
+ "internalType": "address",
531
+ "name": "operator",
532
+ "type": "address"
533
+ }
534
+ ],
535
+ "name": "isOperatorWhitelisted",
536
+ "outputs": [
537
+ {
538
+ "internalType": "bool",
539
+ "name": "",
540
+ "type": "bool"
541
+ }
542
+ ],
543
+ "stateMutability": "view",
544
+ "type": "function"
545
+ },
546
+ {
547
+ "inputs": [
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "tokenID_",
551
+ "type": "uint256"
552
+ }
553
+ ],
554
+ "name": "isStaked",
555
+ "outputs": [
556
+ {
557
+ "internalType": "bool",
558
+ "name": "",
559
+ "type": "bool"
560
+ }
561
+ ],
562
+ "stateMutability": "view",
563
+ "type": "function"
564
+ },
565
+ {
566
+ "inputs": [
567
+ {
568
+ "internalType": "address",
569
+ "name": "address_",
570
+ "type": "address"
571
+ }
572
+ ],
573
+ "name": "isStakingContract",
574
+ "outputs": [
575
+ {
576
+ "internalType": "bool",
577
+ "name": "",
578
+ "type": "bool"
579
+ }
580
+ ],
581
+ "stateMutability": "view",
582
+ "type": "function"
583
+ },
584
+ {
585
+ "inputs": [
586
+ {
587
+ "internalType": "uint256",
588
+ "name": "tokenID_",
589
+ "type": "uint256"
590
+ }
591
+ ],
592
+ "name": "isSuspended",
593
+ "outputs": [
594
+ {
595
+ "internalType": "bool",
596
+ "name": "",
597
+ "type": "bool"
598
+ }
599
+ ],
600
+ "stateMutability": "view",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [
605
+ {
606
+ "internalType": "address",
607
+ "name": "caller",
608
+ "type": "address"
609
+ },
610
+ {
611
+ "internalType": "address",
612
+ "name": "from",
613
+ "type": "address"
614
+ },
615
+ {
616
+ "internalType": "address",
617
+ "name": "to",
618
+ "type": "address"
619
+ }
620
+ ],
621
+ "name": "isTransferAllowed",
622
+ "outputs": [
623
+ {
624
+ "internalType": "bool",
625
+ "name": "",
626
+ "type": "bool"
627
+ }
628
+ ],
629
+ "stateMutability": "view",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [],
634
+ "name": "name",
635
+ "outputs": [
636
+ {
637
+ "internalType": "string",
638
+ "name": "",
639
+ "type": "string"
640
+ }
641
+ ],
642
+ "stateMutability": "view",
643
+ "type": "function"
644
+ },
645
+ {
646
+ "inputs": [],
647
+ "name": "operatorWhitelistID",
648
+ "outputs": [
649
+ {
650
+ "internalType": "uint256",
651
+ "name": "",
652
+ "type": "uint256"
653
+ }
654
+ ],
655
+ "stateMutability": "view",
656
+ "type": "function"
657
+ },
658
+ {
659
+ "inputs": [],
660
+ "name": "owner",
661
+ "outputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "",
665
+ "type": "address"
666
+ }
667
+ ],
668
+ "stateMutability": "view",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "uint256",
675
+ "name": "tokenId",
676
+ "type": "uint256"
677
+ }
678
+ ],
679
+ "name": "ownerOf",
680
+ "outputs": [
681
+ {
682
+ "internalType": "address",
683
+ "name": "",
684
+ "type": "address"
685
+ }
686
+ ],
687
+ "stateMutability": "view",
688
+ "type": "function"
689
+ },
690
+ {
691
+ "inputs": [
692
+ {
693
+ "internalType": "address",
694
+ "name": "account_",
695
+ "type": "address"
696
+ }
697
+ ],
698
+ "name": "removeAccountFromAuthorizers",
699
+ "outputs": [],
700
+ "stateMutability": "nonpayable",
701
+ "type": "function"
702
+ },
703
+ {
704
+ "inputs": [
705
+ {
706
+ "internalType": "address[]",
707
+ "name": "accounts_",
708
+ "type": "address[]"
709
+ }
710
+ ],
711
+ "name": "removeAccountsFromAuthorizers",
712
+ "outputs": [],
713
+ "stateMutability": "nonpayable",
714
+ "type": "function"
715
+ },
716
+ {
717
+ "inputs": [
718
+ {
719
+ "internalType": "address[]",
720
+ "name": "addrs_",
721
+ "type": "address[]"
722
+ }
723
+ ],
724
+ "name": "removeFromWhitelist",
725
+ "outputs": [],
726
+ "stateMutability": "nonpayable",
727
+ "type": "function"
728
+ },
729
+ {
730
+ "inputs": [],
731
+ "name": "renounceOwnership",
732
+ "outputs": [],
733
+ "stateMutability": "nonpayable",
734
+ "type": "function"
735
+ },
736
+ {
737
+ "inputs": [
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "_tokenId",
741
+ "type": "uint256"
742
+ },
743
+ {
744
+ "internalType": "uint256",
745
+ "name": "_salePrice",
746
+ "type": "uint256"
747
+ }
748
+ ],
749
+ "name": "royaltyInfo",
750
+ "outputs": [
751
+ {
752
+ "internalType": "address",
753
+ "name": "",
754
+ "type": "address"
755
+ },
756
+ {
757
+ "internalType": "uint256",
758
+ "name": "",
759
+ "type": "uint256"
760
+ }
761
+ ],
762
+ "stateMutability": "view",
763
+ "type": "function"
764
+ },
765
+ {
766
+ "inputs": [
767
+ {
768
+ "internalType": "address",
769
+ "name": "from",
770
+ "type": "address"
771
+ },
772
+ {
773
+ "internalType": "address",
774
+ "name": "to",
775
+ "type": "address"
776
+ },
777
+ {
778
+ "internalType": "uint256",
779
+ "name": "tokenId",
780
+ "type": "uint256"
781
+ }
782
+ ],
783
+ "name": "safeTransferFrom",
784
+ "outputs": [],
785
+ "stateMutability": "nonpayable",
786
+ "type": "function"
787
+ },
788
+ {
789
+ "inputs": [
790
+ {
791
+ "internalType": "address",
792
+ "name": "from",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "internalType": "address",
797
+ "name": "to",
798
+ "type": "address"
799
+ },
800
+ {
801
+ "internalType": "uint256",
802
+ "name": "tokenId",
803
+ "type": "uint256"
804
+ },
805
+ {
806
+ "internalType": "bytes",
807
+ "name": "data",
808
+ "type": "bytes"
809
+ }
810
+ ],
811
+ "name": "safeTransferFrom",
812
+ "outputs": [],
813
+ "stateMutability": "nonpayable",
814
+ "type": "function"
815
+ },
816
+ {
817
+ "inputs": [
818
+ {
819
+ "internalType": "address",
820
+ "name": "operator",
821
+ "type": "address"
822
+ },
823
+ {
824
+ "internalType": "bool",
825
+ "name": "approved",
826
+ "type": "bool"
827
+ }
828
+ ],
829
+ "name": "setApprovalForAll",
830
+ "outputs": [],
831
+ "stateMutability": "nonpayable",
832
+ "type": "function"
833
+ },
834
+ {
835
+ "inputs": [
836
+ {
837
+ "internalType": "string",
838
+ "name": "baseURI_",
839
+ "type": "string"
840
+ }
841
+ ],
842
+ "name": "setBaseURI",
843
+ "outputs": [],
844
+ "stateMutability": "nonpayable",
845
+ "type": "function"
846
+ },
847
+ {
848
+ "inputs": [
849
+ {
850
+ "internalType": "address",
851
+ "name": "receiver",
852
+ "type": "address"
853
+ },
854
+ {
855
+ "internalType": "uint96",
856
+ "name": "feeNumerator",
857
+ "type": "uint96"
858
+ }
859
+ ],
860
+ "name": "setDefaultRoyalty",
861
+ "outputs": [],
862
+ "stateMutability": "nonpayable",
863
+ "type": "function"
864
+ },
865
+ {
866
+ "inputs": [
867
+ {
868
+ "internalType": "uint256",
869
+ "name": "tokenID_",
870
+ "type": "uint256"
871
+ },
872
+ {
873
+ "internalType": "bool",
874
+ "name": "staked_",
875
+ "type": "bool"
876
+ }
877
+ ],
878
+ "name": "setStaked",
879
+ "outputs": [],
880
+ "stateMutability": "nonpayable",
881
+ "type": "function"
882
+ },
883
+ {
884
+ "inputs": [
885
+ {
886
+ "internalType": "string",
887
+ "name": "stakedBaseURI_",
888
+ "type": "string"
889
+ }
890
+ ],
891
+ "name": "setStakedBaseURI",
892
+ "outputs": [],
893
+ "stateMutability": "nonpayable",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "address",
900
+ "name": "stakingContract_",
901
+ "type": "address"
902
+ },
903
+ {
904
+ "internalType": "bool",
905
+ "name": "isStakingContract_",
906
+ "type": "bool"
907
+ }
908
+ ],
909
+ "name": "setStakingContract",
910
+ "outputs": [],
911
+ "stateMutability": "nonpayable",
912
+ "type": "function"
913
+ },
914
+ {
915
+ "inputs": [
916
+ {
917
+ "internalType": "uint256[]",
918
+ "name": "tokenIDs_",
919
+ "type": "uint256[]"
920
+ },
921
+ {
922
+ "internalType": "bool",
923
+ "name": "suspended_",
924
+ "type": "bool"
925
+ }
926
+ ],
927
+ "name": "setSuspended",
928
+ "outputs": [],
929
+ "stateMutability": "nonpayable",
930
+ "type": "function"
931
+ },
932
+ {
933
+ "inputs": [
934
+ {
935
+ "internalType": "enum TransferSecurityLevels",
936
+ "name": "level",
937
+ "type": "uint8"
938
+ },
939
+ {
940
+ "internalType": "uint120",
941
+ "name": "operatorWhitelistId",
942
+ "type": "uint120"
943
+ },
944
+ {
945
+ "internalType": "uint120",
946
+ "name": "permittedContractReceiversAllowlistId",
947
+ "type": "uint120"
948
+ }
949
+ ],
950
+ "name": "setToCustomSecurityPolicy",
951
+ "outputs": [],
952
+ "stateMutability": "nonpayable",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [
957
+ {
958
+ "internalType": "address",
959
+ "name": "validator",
960
+ "type": "address"
961
+ },
962
+ {
963
+ "internalType": "enum TransferSecurityLevels",
964
+ "name": "level",
965
+ "type": "uint8"
966
+ },
967
+ {
968
+ "internalType": "uint120",
969
+ "name": "operatorWhitelistId",
970
+ "type": "uint120"
971
+ },
972
+ {
973
+ "internalType": "uint120",
974
+ "name": "permittedContractReceiversAllowlistId",
975
+ "type": "uint120"
976
+ }
977
+ ],
978
+ "name": "setToCustomValidatorAndSecurityPolicy",
979
+ "outputs": [],
980
+ "stateMutability": "nonpayable",
981
+ "type": "function"
982
+ },
983
+ {
984
+ "inputs": [],
985
+ "name": "setToDefaultSecurityPolicy",
986
+ "outputs": [],
987
+ "stateMutability": "nonpayable",
988
+ "type": "function"
989
+ },
990
+ {
991
+ "inputs": [
992
+ {
993
+ "internalType": "address",
994
+ "name": "transferValidator_",
995
+ "type": "address"
996
+ }
997
+ ],
998
+ "name": "setTransferValidator",
999
+ "outputs": [],
1000
+ "stateMutability": "nonpayable",
1001
+ "type": "function"
1002
+ },
1003
+ {
1004
+ "inputs": [],
1005
+ "name": "setupV5Validator",
1006
+ "outputs": [],
1007
+ "stateMutability": "nonpayable",
1008
+ "type": "function"
1009
+ },
1010
+ {
1011
+ "inputs": [],
1012
+ "name": "stakedBaseURI",
1013
+ "outputs": [
1014
+ {
1015
+ "internalType": "string",
1016
+ "name": "",
1017
+ "type": "string"
1018
+ }
1019
+ ],
1020
+ "stateMutability": "view",
1021
+ "type": "function"
1022
+ },
1023
+ {
1024
+ "inputs": [
1025
+ {
1026
+ "internalType": "bytes4",
1027
+ "name": "interfaceId",
1028
+ "type": "bytes4"
1029
+ }
1030
+ ],
1031
+ "name": "supportsInterface",
1032
+ "outputs": [
1033
+ {
1034
+ "internalType": "bool",
1035
+ "name": "",
1036
+ "type": "bool"
1037
+ }
1038
+ ],
1039
+ "stateMutability": "view",
1040
+ "type": "function"
1041
+ },
1042
+ {
1043
+ "inputs": [],
1044
+ "name": "symbol",
1045
+ "outputs": [
1046
+ {
1047
+ "internalType": "string",
1048
+ "name": "",
1049
+ "type": "string"
1050
+ }
1051
+ ],
1052
+ "stateMutability": "view",
1053
+ "type": "function"
1054
+ },
1055
+ {
1056
+ "inputs": [
1057
+ {
1058
+ "internalType": "uint256",
1059
+ "name": "tokenId",
1060
+ "type": "uint256"
1061
+ }
1062
+ ],
1063
+ "name": "tokenURI",
1064
+ "outputs": [
1065
+ {
1066
+ "internalType": "string",
1067
+ "name": "",
1068
+ "type": "string"
1069
+ }
1070
+ ],
1071
+ "stateMutability": "view",
1072
+ "type": "function"
1073
+ },
1074
+ {
1075
+ "inputs": [],
1076
+ "name": "totalSupply",
1077
+ "outputs": [
1078
+ {
1079
+ "internalType": "uint256",
1080
+ "name": "",
1081
+ "type": "uint256"
1082
+ }
1083
+ ],
1084
+ "stateMutability": "pure",
1085
+ "type": "function"
1086
+ },
1087
+ {
1088
+ "inputs": [
1089
+ {
1090
+ "internalType": "address",
1091
+ "name": "from",
1092
+ "type": "address"
1093
+ },
1094
+ {
1095
+ "internalType": "address",
1096
+ "name": "to",
1097
+ "type": "address"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "tokenId",
1102
+ "type": "uint256"
1103
+ }
1104
+ ],
1105
+ "name": "transferFrom",
1106
+ "outputs": [],
1107
+ "stateMutability": "nonpayable",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [
1112
+ {
1113
+ "internalType": "address",
1114
+ "name": "newOwner",
1115
+ "type": "address"
1116
+ }
1117
+ ],
1118
+ "name": "transferOwnership",
1119
+ "outputs": [],
1120
+ "stateMutability": "nonpayable",
1121
+ "type": "function"
1122
+ }
1123
+ ];
1124
+ /**
1125
+ * QuirkiesImplementationV8_json Contract Class
1126
+ *
1127
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1128
+ *
1129
+ * @example
1130
+ * ```typescript
1131
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1132
+ * import { mainnet } from 'viem/chains';
1133
+ * import { QuirkiesImplementationV8_json } from 'QuirkiesImplementationV8_json';
1134
+ *
1135
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1136
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1137
+ *
1138
+ * const contract = new QuirkiesImplementationV8_json('0x...', { publicClient, walletClient });
1139
+ *
1140
+ * // Read functions
1141
+ * const result = await contract.balanceOf('0x...');
1142
+ *
1143
+ * // Write functions
1144
+ * const hash = await contract.transfer('0x...', 1000n);
1145
+ *
1146
+ * // Simulate transactions (dry-run)
1147
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1148
+ * console.log('Gas estimate:', simulation.request.gas);
1149
+ *
1150
+ * // Watch events
1151
+ * const unwatch = contract.watch.Transfer((event) => {
1152
+ * console.log('Transfer event:', event);
1153
+ * });
1154
+ * ```
1155
+ */
1156
+ class QuirkiesImplementationV8_json {
1157
+ constructor(address, clients) {
1158
+ this.contractAddress = address;
1159
+ this.publicClient = clients.publicClient;
1160
+ this.contract = (0, viem_1.getContract)({
1161
+ address,
1162
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1163
+ client: {
1164
+ public: clients.publicClient,
1165
+ wallet: clients.walletClient,
1166
+ },
1167
+ });
1168
+ }
1169
+ /**
1170
+ * Get the contract address
1171
+ */
1172
+ get address() {
1173
+ return this.contractAddress;
1174
+ }
1175
+ /**
1176
+ * Get the underlying viem contract instance
1177
+ */
1178
+ getContract() {
1179
+ return this.contract;
1180
+ }
1181
+ /**
1182
+ * DEFAULT_OPERATOR_WHITELIST_ID
1183
+ * view
1184
+ */
1185
+ async DEFAULT_OPERATOR_WHITELIST_ID() {
1186
+ return this.contract.read.DEFAULT_OPERATOR_WHITELIST_ID();
1187
+ }
1188
+ /**
1189
+ * DEFAULT_TRANSFER_SECURITY_LEVEL
1190
+ * view
1191
+ */
1192
+ async DEFAULT_TRANSFER_SECURITY_LEVEL() {
1193
+ return this.contract.read.DEFAULT_TRANSFER_SECURITY_LEVEL();
1194
+ }
1195
+ /**
1196
+ * DEFAULT_TRANSFER_VALIDATOR
1197
+ * view
1198
+ */
1199
+ async DEFAULT_TRANSFER_VALIDATOR() {
1200
+ return this.contract.read.DEFAULT_TRANSFER_VALIDATOR();
1201
+ }
1202
+ /**
1203
+ * areSuspended
1204
+ * view
1205
+ */
1206
+ async areSuspended(tokenIDs_) {
1207
+ return this.contract.read.areSuspended([tokenIDs_]);
1208
+ }
1209
+ /**
1210
+ * balanceOf
1211
+ * view
1212
+ */
1213
+ async balanceOf(owner) {
1214
+ return this.contract.read.balanceOf([owner]);
1215
+ }
1216
+ /**
1217
+ * baseURI
1218
+ * view
1219
+ */
1220
+ async baseURI() {
1221
+ return this.contract.read.baseURI();
1222
+ }
1223
+ /**
1224
+ * getApproved
1225
+ * view
1226
+ */
1227
+ async getApproved(tokenId) {
1228
+ return this.contract.read.getApproved([tokenId]);
1229
+ }
1230
+ /**
1231
+ * getPermittedContractReceivers
1232
+ * view
1233
+ */
1234
+ async getPermittedContractReceivers() {
1235
+ return this.contract.read.getPermittedContractReceivers();
1236
+ }
1237
+ /**
1238
+ * getSecurityPolicy
1239
+ * view
1240
+ */
1241
+ async getSecurityPolicy() {
1242
+ return this.contract.read.getSecurityPolicy();
1243
+ }
1244
+ /**
1245
+ * getTransferValidationFunction
1246
+ * pure
1247
+ */
1248
+ async getTransferValidationFunction() {
1249
+ return this.contract.read.getTransferValidationFunction();
1250
+ }
1251
+ /**
1252
+ * getTransferValidator
1253
+ * view
1254
+ */
1255
+ async getTransferValidator() {
1256
+ return this.contract.read.getTransferValidator();
1257
+ }
1258
+ /**
1259
+ * getWhitelistedOperators
1260
+ * view
1261
+ */
1262
+ async getWhitelistedOperators() {
1263
+ return this.contract.read.getWhitelistedOperators();
1264
+ }
1265
+ /**
1266
+ * isApprovedForAll
1267
+ * view
1268
+ */
1269
+ async isApprovedForAll(owner, operator) {
1270
+ return this.contract.read.isApprovedForAll([owner, operator]);
1271
+ }
1272
+ /**
1273
+ * isContractReceiverPermitted
1274
+ * view
1275
+ */
1276
+ async isContractReceiverPermitted(receiver) {
1277
+ return this.contract.read.isContractReceiverPermitted([receiver]);
1278
+ }
1279
+ /**
1280
+ * isOperatorWhitelisted
1281
+ * view
1282
+ */
1283
+ async isOperatorWhitelisted(operator) {
1284
+ return this.contract.read.isOperatorWhitelisted([operator]);
1285
+ }
1286
+ /**
1287
+ * isStaked
1288
+ * view
1289
+ */
1290
+ async isStaked(tokenID_) {
1291
+ return this.contract.read.isStaked([tokenID_]);
1292
+ }
1293
+ /**
1294
+ * isStakingContract
1295
+ * view
1296
+ */
1297
+ async isStakingContract(address_) {
1298
+ return this.contract.read.isStakingContract([address_]);
1299
+ }
1300
+ /**
1301
+ * isSuspended
1302
+ * view
1303
+ */
1304
+ async isSuspended(tokenID_) {
1305
+ return this.contract.read.isSuspended([tokenID_]);
1306
+ }
1307
+ /**
1308
+ * isTransferAllowed
1309
+ * view
1310
+ */
1311
+ async isTransferAllowed(caller, from, to) {
1312
+ return this.contract.read.isTransferAllowed([caller, from, to]);
1313
+ }
1314
+ /**
1315
+ * name
1316
+ * view
1317
+ */
1318
+ async name() {
1319
+ return this.contract.read.name();
1320
+ }
1321
+ /**
1322
+ * operatorWhitelistID
1323
+ * view
1324
+ */
1325
+ async operatorWhitelistID() {
1326
+ return this.contract.read.operatorWhitelistID();
1327
+ }
1328
+ /**
1329
+ * owner
1330
+ * view
1331
+ */
1332
+ async owner() {
1333
+ return this.contract.read.owner();
1334
+ }
1335
+ /**
1336
+ * ownerOf
1337
+ * view
1338
+ */
1339
+ async ownerOf(tokenId) {
1340
+ return this.contract.read.ownerOf([tokenId]);
1341
+ }
1342
+ /**
1343
+ * royaltyInfo
1344
+ * view
1345
+ */
1346
+ async royaltyInfo(_tokenId, _salePrice) {
1347
+ return this.contract.read.royaltyInfo([_tokenId, _salePrice]);
1348
+ }
1349
+ /**
1350
+ * stakedBaseURI
1351
+ * view
1352
+ */
1353
+ async stakedBaseURI() {
1354
+ return this.contract.read.stakedBaseURI();
1355
+ }
1356
+ /**
1357
+ * supportsInterface
1358
+ * view
1359
+ */
1360
+ async supportsInterface(interfaceId) {
1361
+ return this.contract.read.supportsInterface([interfaceId]);
1362
+ }
1363
+ /**
1364
+ * symbol
1365
+ * view
1366
+ */
1367
+ async symbol() {
1368
+ return this.contract.read.symbol();
1369
+ }
1370
+ /**
1371
+ * tokenURI
1372
+ * view
1373
+ */
1374
+ async tokenURI(tokenId) {
1375
+ return this.contract.read.tokenURI([tokenId]);
1376
+ }
1377
+ /**
1378
+ * totalSupply
1379
+ * pure
1380
+ */
1381
+ async totalSupply() {
1382
+ return this.contract.read.totalSupply();
1383
+ }
1384
+ /**
1385
+ * addAccountToAuthorizers
1386
+ * nonpayable
1387
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1388
+ */
1389
+ async addAccountToAuthorizers(account_, options) {
1390
+ if (!this.contract.write) {
1391
+ throw new Error('Wallet client is required for write operations');
1392
+ }
1393
+ return this.contract.write.addAccountToAuthorizers([account_], options);
1394
+ }
1395
+ /**
1396
+ * addAccountsToAuthorizers
1397
+ * nonpayable
1398
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1399
+ */
1400
+ async addAccountsToAuthorizers(accounts_, options) {
1401
+ if (!this.contract.write) {
1402
+ throw new Error('Wallet client is required for write operations');
1403
+ }
1404
+ return this.contract.write.addAccountsToAuthorizers([accounts_], options);
1405
+ }
1406
+ /**
1407
+ * addToWhitelist
1408
+ * nonpayable
1409
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1410
+ */
1411
+ async addToWhitelist(addrs_, options) {
1412
+ if (!this.contract.write) {
1413
+ throw new Error('Wallet client is required for write operations');
1414
+ }
1415
+ return this.contract.write.addToWhitelist([addrs_], options);
1416
+ }
1417
+ /**
1418
+ * approve
1419
+ * nonpayable
1420
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1421
+ */
1422
+ async approve(to, tokenId, options) {
1423
+ if (!this.contract.write) {
1424
+ throw new Error('Wallet client is required for write operations');
1425
+ }
1426
+ return this.contract.write.approve([to, tokenId], options);
1427
+ }
1428
+ /**
1429
+ * initialize
1430
+ * nonpayable
1431
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1432
+ */
1433
+ async initialize(quirkiesV1Address_, baseURI_, teamWallet_, options) {
1434
+ if (!this.contract.write) {
1435
+ throw new Error('Wallet client is required for write operations');
1436
+ }
1437
+ return this.contract.write.initialize([quirkiesV1Address_, baseURI_, teamWallet_], options);
1438
+ }
1439
+ /**
1440
+ * removeAccountFromAuthorizers
1441
+ * nonpayable
1442
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1443
+ */
1444
+ async removeAccountFromAuthorizers(account_, options) {
1445
+ if (!this.contract.write) {
1446
+ throw new Error('Wallet client is required for write operations');
1447
+ }
1448
+ return this.contract.write.removeAccountFromAuthorizers([account_], options);
1449
+ }
1450
+ /**
1451
+ * removeAccountsFromAuthorizers
1452
+ * nonpayable
1453
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1454
+ */
1455
+ async removeAccountsFromAuthorizers(accounts_, options) {
1456
+ if (!this.contract.write) {
1457
+ throw new Error('Wallet client is required for write operations');
1458
+ }
1459
+ return this.contract.write.removeAccountsFromAuthorizers([accounts_], options);
1460
+ }
1461
+ /**
1462
+ * removeFromWhitelist
1463
+ * nonpayable
1464
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1465
+ */
1466
+ async removeFromWhitelist(addrs_, options) {
1467
+ if (!this.contract.write) {
1468
+ throw new Error('Wallet client is required for write operations');
1469
+ }
1470
+ return this.contract.write.removeFromWhitelist([addrs_], options);
1471
+ }
1472
+ /**
1473
+ * renounceOwnership
1474
+ * nonpayable
1475
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1476
+ */
1477
+ async renounceOwnership(options) {
1478
+ if (!this.contract.write) {
1479
+ throw new Error('Wallet client is required for write operations');
1480
+ }
1481
+ return this.contract.write.renounceOwnership(options);
1482
+ }
1483
+ async safeTransferFrom(...args) {
1484
+ if (!this.contract.write) {
1485
+ throw new Error('Wallet client is required for write operations');
1486
+ }
1487
+ return this.contract.write.safeTransferFrom(args);
1488
+ }
1489
+ /**
1490
+ * setApprovalForAll
1491
+ * nonpayable
1492
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1493
+ */
1494
+ async setApprovalForAll(operator, approved, options) {
1495
+ if (!this.contract.write) {
1496
+ throw new Error('Wallet client is required for write operations');
1497
+ }
1498
+ return this.contract.write.setApprovalForAll([operator, approved], options);
1499
+ }
1500
+ /**
1501
+ * setBaseURI
1502
+ * nonpayable
1503
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1504
+ */
1505
+ async setBaseURI(baseURI_, options) {
1506
+ if (!this.contract.write) {
1507
+ throw new Error('Wallet client is required for write operations');
1508
+ }
1509
+ return this.contract.write.setBaseURI([baseURI_], options);
1510
+ }
1511
+ /**
1512
+ * setDefaultRoyalty
1513
+ * nonpayable
1514
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1515
+ */
1516
+ async setDefaultRoyalty(receiver, feeNumerator, options) {
1517
+ if (!this.contract.write) {
1518
+ throw new Error('Wallet client is required for write operations');
1519
+ }
1520
+ return this.contract.write.setDefaultRoyalty([receiver, feeNumerator], options);
1521
+ }
1522
+ /**
1523
+ * setStaked
1524
+ * nonpayable
1525
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1526
+ */
1527
+ async setStaked(tokenID_, staked_, options) {
1528
+ if (!this.contract.write) {
1529
+ throw new Error('Wallet client is required for write operations');
1530
+ }
1531
+ return this.contract.write.setStaked([tokenID_, staked_], options);
1532
+ }
1533
+ /**
1534
+ * setStakedBaseURI
1535
+ * nonpayable
1536
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1537
+ */
1538
+ async setStakedBaseURI(stakedBaseURI_, options) {
1539
+ if (!this.contract.write) {
1540
+ throw new Error('Wallet client is required for write operations');
1541
+ }
1542
+ return this.contract.write.setStakedBaseURI([stakedBaseURI_], options);
1543
+ }
1544
+ /**
1545
+ * setStakingContract
1546
+ * nonpayable
1547
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1548
+ */
1549
+ async setStakingContract(stakingContract_, isStakingContract_, options) {
1550
+ if (!this.contract.write) {
1551
+ throw new Error('Wallet client is required for write operations');
1552
+ }
1553
+ return this.contract.write.setStakingContract([stakingContract_, isStakingContract_], options);
1554
+ }
1555
+ /**
1556
+ * setSuspended
1557
+ * nonpayable
1558
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1559
+ */
1560
+ async setSuspended(tokenIDs_, suspended_, options) {
1561
+ if (!this.contract.write) {
1562
+ throw new Error('Wallet client is required for write operations');
1563
+ }
1564
+ return this.contract.write.setSuspended([tokenIDs_, suspended_], options);
1565
+ }
1566
+ /**
1567
+ * setToCustomSecurityPolicy
1568
+ * nonpayable
1569
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1570
+ */
1571
+ async setToCustomSecurityPolicy(level, operatorWhitelistId, permittedContractReceiversAllowlistId, options) {
1572
+ if (!this.contract.write) {
1573
+ throw new Error('Wallet client is required for write operations');
1574
+ }
1575
+ return this.contract.write.setToCustomSecurityPolicy([level, operatorWhitelistId, permittedContractReceiversAllowlistId], options);
1576
+ }
1577
+ /**
1578
+ * setToCustomValidatorAndSecurityPolicy
1579
+ * nonpayable
1580
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1581
+ */
1582
+ async setToCustomValidatorAndSecurityPolicy(validator, level, operatorWhitelistId, permittedContractReceiversAllowlistId, options) {
1583
+ if (!this.contract.write) {
1584
+ throw new Error('Wallet client is required for write operations');
1585
+ }
1586
+ return this.contract.write.setToCustomValidatorAndSecurityPolicy([validator, level, operatorWhitelistId, permittedContractReceiversAllowlistId], options);
1587
+ }
1588
+ /**
1589
+ * setToDefaultSecurityPolicy
1590
+ * nonpayable
1591
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1592
+ */
1593
+ async setToDefaultSecurityPolicy(options) {
1594
+ if (!this.contract.write) {
1595
+ throw new Error('Wallet client is required for write operations');
1596
+ }
1597
+ return this.contract.write.setToDefaultSecurityPolicy(options);
1598
+ }
1599
+ /**
1600
+ * setTransferValidator
1601
+ * nonpayable
1602
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1603
+ */
1604
+ async setTransferValidator(transferValidator_, options) {
1605
+ if (!this.contract.write) {
1606
+ throw new Error('Wallet client is required for write operations');
1607
+ }
1608
+ return this.contract.write.setTransferValidator([transferValidator_], options);
1609
+ }
1610
+ /**
1611
+ * setupV5Validator
1612
+ * nonpayable
1613
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1614
+ */
1615
+ async setupV5Validator(options) {
1616
+ if (!this.contract.write) {
1617
+ throw new Error('Wallet client is required for write operations');
1618
+ }
1619
+ return this.contract.write.setupV5Validator(options);
1620
+ }
1621
+ /**
1622
+ * transferFrom
1623
+ * nonpayable
1624
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1625
+ */
1626
+ async transferFrom(from, to, tokenId, options) {
1627
+ if (!this.contract.write) {
1628
+ throw new Error('Wallet client is required for write operations');
1629
+ }
1630
+ return this.contract.write.transferFrom([from, to, tokenId], options);
1631
+ }
1632
+ /**
1633
+ * transferOwnership
1634
+ * nonpayable
1635
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1636
+ */
1637
+ async transferOwnership(newOwner, options) {
1638
+ if (!this.contract.write) {
1639
+ throw new Error('Wallet client is required for write operations');
1640
+ }
1641
+ return this.contract.write.transferOwnership([newOwner], options);
1642
+ }
1643
+ /**
1644
+ * Simulate contract write operations (dry-run without sending transaction)
1645
+ *
1646
+ * @example
1647
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1648
+ * console.log('Gas estimate:', result.request.gas);
1649
+ * console.log('Would succeed:', result.result);
1650
+ */
1651
+ get simulate() {
1652
+ const contract = this.contract;
1653
+ if (!contract.simulate) {
1654
+ throw new Error('Public client is required for simulation');
1655
+ }
1656
+ return {
1657
+ /**
1658
+ * Simulate addAccountToAuthorizers
1659
+ * Returns gas estimate and result without sending transaction
1660
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1661
+ */
1662
+ async addAccountToAuthorizers(account_, options) {
1663
+ return contract.simulate.addAccountToAuthorizers([account_], options);
1664
+ },
1665
+ /**
1666
+ * Simulate addAccountsToAuthorizers
1667
+ * Returns gas estimate and result without sending transaction
1668
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1669
+ */
1670
+ async addAccountsToAuthorizers(accounts_, options) {
1671
+ return contract.simulate.addAccountsToAuthorizers([accounts_], options);
1672
+ },
1673
+ /**
1674
+ * Simulate addToWhitelist
1675
+ * Returns gas estimate and result without sending transaction
1676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1677
+ */
1678
+ async addToWhitelist(addrs_, options) {
1679
+ return contract.simulate.addToWhitelist([addrs_], options);
1680
+ },
1681
+ /**
1682
+ * Simulate approve
1683
+ * Returns gas estimate and result without sending transaction
1684
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1685
+ */
1686
+ async approve(to, tokenId, options) {
1687
+ return contract.simulate.approve([to, tokenId], options);
1688
+ },
1689
+ /**
1690
+ * Simulate initialize
1691
+ * Returns gas estimate and result without sending transaction
1692
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1693
+ */
1694
+ async initialize(quirkiesV1Address_, baseURI_, teamWallet_, options) {
1695
+ return contract.simulate.initialize([quirkiesV1Address_, baseURI_, teamWallet_], options);
1696
+ },
1697
+ /**
1698
+ * Simulate removeAccountFromAuthorizers
1699
+ * Returns gas estimate and result without sending transaction
1700
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1701
+ */
1702
+ async removeAccountFromAuthorizers(account_, options) {
1703
+ return contract.simulate.removeAccountFromAuthorizers([account_], options);
1704
+ },
1705
+ /**
1706
+ * Simulate removeAccountsFromAuthorizers
1707
+ * Returns gas estimate and result without sending transaction
1708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1709
+ */
1710
+ async removeAccountsFromAuthorizers(accounts_, options) {
1711
+ return contract.simulate.removeAccountsFromAuthorizers([accounts_], options);
1712
+ },
1713
+ /**
1714
+ * Simulate removeFromWhitelist
1715
+ * Returns gas estimate and result without sending transaction
1716
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1717
+ */
1718
+ async removeFromWhitelist(addrs_, options) {
1719
+ return contract.simulate.removeFromWhitelist([addrs_], options);
1720
+ },
1721
+ /**
1722
+ * Simulate renounceOwnership
1723
+ * Returns gas estimate and result without sending transaction
1724
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1725
+ */
1726
+ async renounceOwnership(options) {
1727
+ return contract.simulate.renounceOwnership(options);
1728
+ },
1729
+ /**
1730
+ * Simulate safeTransferFrom
1731
+ * Returns gas estimate and result without sending transaction
1732
+ * Supports multiple overloads: (address, address, uint256), (address, address, uint256, bytes)
1733
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1734
+ */
1735
+ async safeTransferFrom(...args) {
1736
+ return contract.simulate.safeTransferFrom(args);
1737
+ },
1738
+ /**
1739
+ * Simulate setApprovalForAll
1740
+ * Returns gas estimate and result without sending transaction
1741
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1742
+ */
1743
+ async setApprovalForAll(operator, approved, options) {
1744
+ return contract.simulate.setApprovalForAll([operator, approved], options);
1745
+ },
1746
+ /**
1747
+ * Simulate setBaseURI
1748
+ * Returns gas estimate and result without sending transaction
1749
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1750
+ */
1751
+ async setBaseURI(baseURI_, options) {
1752
+ return contract.simulate.setBaseURI([baseURI_], options);
1753
+ },
1754
+ /**
1755
+ * Simulate setDefaultRoyalty
1756
+ * Returns gas estimate and result without sending transaction
1757
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1758
+ */
1759
+ async setDefaultRoyalty(receiver, feeNumerator, options) {
1760
+ return contract.simulate.setDefaultRoyalty([receiver, feeNumerator], options);
1761
+ },
1762
+ /**
1763
+ * Simulate setStaked
1764
+ * Returns gas estimate and result without sending transaction
1765
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1766
+ */
1767
+ async setStaked(tokenID_, staked_, options) {
1768
+ return contract.simulate.setStaked([tokenID_, staked_], options);
1769
+ },
1770
+ /**
1771
+ * Simulate setStakedBaseURI
1772
+ * Returns gas estimate and result without sending transaction
1773
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1774
+ */
1775
+ async setStakedBaseURI(stakedBaseURI_, options) {
1776
+ return contract.simulate.setStakedBaseURI([stakedBaseURI_], options);
1777
+ },
1778
+ /**
1779
+ * Simulate setStakingContract
1780
+ * Returns gas estimate and result without sending transaction
1781
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1782
+ */
1783
+ async setStakingContract(stakingContract_, isStakingContract_, options) {
1784
+ return contract.simulate.setStakingContract([stakingContract_, isStakingContract_], options);
1785
+ },
1786
+ /**
1787
+ * Simulate setSuspended
1788
+ * Returns gas estimate and result without sending transaction
1789
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1790
+ */
1791
+ async setSuspended(tokenIDs_, suspended_, options) {
1792
+ return contract.simulate.setSuspended([tokenIDs_, suspended_], options);
1793
+ },
1794
+ /**
1795
+ * Simulate setToCustomSecurityPolicy
1796
+ * Returns gas estimate and result without sending transaction
1797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1798
+ */
1799
+ async setToCustomSecurityPolicy(level, operatorWhitelistId, permittedContractReceiversAllowlistId, options) {
1800
+ return contract.simulate.setToCustomSecurityPolicy([level, operatorWhitelistId, permittedContractReceiversAllowlistId], options);
1801
+ },
1802
+ /**
1803
+ * Simulate setToCustomValidatorAndSecurityPolicy
1804
+ * Returns gas estimate and result without sending transaction
1805
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1806
+ */
1807
+ async setToCustomValidatorAndSecurityPolicy(validator, level, operatorWhitelistId, permittedContractReceiversAllowlistId, options) {
1808
+ return contract.simulate.setToCustomValidatorAndSecurityPolicy([validator, level, operatorWhitelistId, permittedContractReceiversAllowlistId], options);
1809
+ },
1810
+ /**
1811
+ * Simulate setToDefaultSecurityPolicy
1812
+ * Returns gas estimate and result without sending transaction
1813
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1814
+ */
1815
+ async setToDefaultSecurityPolicy(options) {
1816
+ return contract.simulate.setToDefaultSecurityPolicy(options);
1817
+ },
1818
+ /**
1819
+ * Simulate setTransferValidator
1820
+ * Returns gas estimate and result without sending transaction
1821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1822
+ */
1823
+ async setTransferValidator(transferValidator_, options) {
1824
+ return contract.simulate.setTransferValidator([transferValidator_], options);
1825
+ },
1826
+ /**
1827
+ * Simulate setupV5Validator
1828
+ * Returns gas estimate and result without sending transaction
1829
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1830
+ */
1831
+ async setupV5Validator(options) {
1832
+ return contract.simulate.setupV5Validator(options);
1833
+ },
1834
+ /**
1835
+ * Simulate transferFrom
1836
+ * Returns gas estimate and result without sending transaction
1837
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1838
+ */
1839
+ async transferFrom(from, to, tokenId, options) {
1840
+ return contract.simulate.transferFrom([from, to, tokenId], options);
1841
+ },
1842
+ /**
1843
+ * Simulate transferOwnership
1844
+ * Returns gas estimate and result without sending transaction
1845
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1846
+ */
1847
+ async transferOwnership(newOwner, options) {
1848
+ return contract.simulate.transferOwnership([newOwner], options);
1849
+ }
1850
+ };
1851
+ }
1852
+ /**
1853
+ * Watch contract events
1854
+ *
1855
+ * @example
1856
+ * // Watch all Transfer events
1857
+ * const unwatch = contract.watch.Transfer((event) => {
1858
+ * console.log('Transfer:', event);
1859
+ * });
1860
+ *
1861
+ * // Stop watching
1862
+ * unwatch();
1863
+ */
1864
+ get watch() {
1865
+ return {
1866
+ /**
1867
+ * Watch Approval events
1868
+ * @param callback Function to call when event is emitted
1869
+ * @param filter Optional filter for indexed parameters
1870
+ * @returns Unwatch function to stop listening
1871
+ */
1872
+ Approval: (callback, filter) => {
1873
+ return this.publicClient.watchContractEvent({
1874
+ address: this.contractAddress,
1875
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1876
+ eventName: 'Approval',
1877
+ args: filter,
1878
+ onLogs: (logs) => {
1879
+ logs.forEach((log) => {
1880
+ callback(log.args);
1881
+ });
1882
+ },
1883
+ });
1884
+ },
1885
+ /**
1886
+ * Watch ApprovalForAll events
1887
+ * @param callback Function to call when event is emitted
1888
+ * @param filter Optional filter for indexed parameters
1889
+ * @returns Unwatch function to stop listening
1890
+ */
1891
+ ApprovalForAll: (callback, filter) => {
1892
+ return this.publicClient.watchContractEvent({
1893
+ address: this.contractAddress,
1894
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1895
+ eventName: 'ApprovalForAll',
1896
+ args: filter,
1897
+ onLogs: (logs) => {
1898
+ logs.forEach((log) => {
1899
+ callback(log.args);
1900
+ });
1901
+ },
1902
+ });
1903
+ },
1904
+ /**
1905
+ * Watch Initialized events
1906
+ * @param callback Function to call when event is emitted
1907
+ * @param filter Optional filter for indexed parameters
1908
+ * @returns Unwatch function to stop listening
1909
+ */
1910
+ Initialized: (callback) => {
1911
+ return this.publicClient.watchContractEvent({
1912
+ address: this.contractAddress,
1913
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1914
+ eventName: 'Initialized',
1915
+ onLogs: (logs) => {
1916
+ logs.forEach((log) => {
1917
+ callback(log.args);
1918
+ });
1919
+ },
1920
+ });
1921
+ },
1922
+ /**
1923
+ * Watch OwnershipTransferred events
1924
+ * @param callback Function to call when event is emitted
1925
+ * @param filter Optional filter for indexed parameters
1926
+ * @returns Unwatch function to stop listening
1927
+ */
1928
+ OwnershipTransferred: (callback, filter) => {
1929
+ return this.publicClient.watchContractEvent({
1930
+ address: this.contractAddress,
1931
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1932
+ eventName: 'OwnershipTransferred',
1933
+ args: filter,
1934
+ onLogs: (logs) => {
1935
+ logs.forEach((log) => {
1936
+ callback(log.args);
1937
+ });
1938
+ },
1939
+ });
1940
+ },
1941
+ /**
1942
+ * Watch TokensSuspended events
1943
+ * @param callback Function to call when event is emitted
1944
+ * @param filter Optional filter for indexed parameters
1945
+ * @returns Unwatch function to stop listening
1946
+ */
1947
+ TokensSuspended: (callback) => {
1948
+ return this.publicClient.watchContractEvent({
1949
+ address: this.contractAddress,
1950
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1951
+ eventName: 'TokensSuspended',
1952
+ onLogs: (logs) => {
1953
+ logs.forEach((log) => {
1954
+ callback(log.args);
1955
+ });
1956
+ },
1957
+ });
1958
+ },
1959
+ /**
1960
+ * Watch TokensUnsuspended events
1961
+ * @param callback Function to call when event is emitted
1962
+ * @param filter Optional filter for indexed parameters
1963
+ * @returns Unwatch function to stop listening
1964
+ */
1965
+ TokensUnsuspended: (callback) => {
1966
+ return this.publicClient.watchContractEvent({
1967
+ address: this.contractAddress,
1968
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1969
+ eventName: 'TokensUnsuspended',
1970
+ onLogs: (logs) => {
1971
+ logs.forEach((log) => {
1972
+ callback(log.args);
1973
+ });
1974
+ },
1975
+ });
1976
+ },
1977
+ /**
1978
+ * Watch Transfer events
1979
+ * @param callback Function to call when event is emitted
1980
+ * @param filter Optional filter for indexed parameters
1981
+ * @returns Unwatch function to stop listening
1982
+ */
1983
+ Transfer: (callback, filter) => {
1984
+ return this.publicClient.watchContractEvent({
1985
+ address: this.contractAddress,
1986
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
1987
+ eventName: 'Transfer',
1988
+ args: filter,
1989
+ onLogs: (logs) => {
1990
+ logs.forEach((log) => {
1991
+ callback(log.args);
1992
+ });
1993
+ },
1994
+ });
1995
+ },
1996
+ /**
1997
+ * Watch TransferValidatorUpdated events
1998
+ * @param callback Function to call when event is emitted
1999
+ * @param filter Optional filter for indexed parameters
2000
+ * @returns Unwatch function to stop listening
2001
+ */
2002
+ TransferValidatorUpdated: (callback) => {
2003
+ return this.publicClient.watchContractEvent({
2004
+ address: this.contractAddress,
2005
+ abi: exports.QuirkiesImplementationV8_jsonAbi,
2006
+ eventName: 'TransferValidatorUpdated',
2007
+ onLogs: (logs) => {
2008
+ logs.forEach((log) => {
2009
+ callback(log.args);
2010
+ });
2011
+ },
2012
+ });
2013
+ }
2014
+ };
2015
+ }
2016
+ }
2017
+ exports.QuirkiesImplementationV8_json = QuirkiesImplementationV8_json;