@gitmyabi/meta 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,1297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Metaverseconvergence_json = exports.Metaverseconvergence_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * Metaverseconvergence_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.Metaverseconvergence_jsonAbi = [
11
+ {
12
+ "constant": true,
13
+ "inputs": [],
14
+ "name": "name",
15
+ "outputs": [
16
+ {
17
+ "name": "",
18
+ "type": "string"
19
+ }
20
+ ],
21
+ "payable": false,
22
+ "stateMutability": "view",
23
+ "type": "function"
24
+ },
25
+ {
26
+ "constant": false,
27
+ "inputs": [
28
+ {
29
+ "name": "spender",
30
+ "type": "address"
31
+ },
32
+ {
33
+ "name": "value",
34
+ "type": "uint256"
35
+ }
36
+ ],
37
+ "name": "approve",
38
+ "outputs": [
39
+ {
40
+ "name": "",
41
+ "type": "bool"
42
+ }
43
+ ],
44
+ "payable": false,
45
+ "stateMutability": "nonpayable",
46
+ "type": "function"
47
+ },
48
+ {
49
+ "constant": true,
50
+ "inputs": [],
51
+ "name": "totalSupply",
52
+ "outputs": [
53
+ {
54
+ "name": "",
55
+ "type": "uint256"
56
+ }
57
+ ],
58
+ "payable": false,
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "constant": false,
64
+ "inputs": [
65
+ {
66
+ "name": "_from",
67
+ "type": "address"
68
+ },
69
+ {
70
+ "name": "_to",
71
+ "type": "address"
72
+ },
73
+ {
74
+ "name": "_value",
75
+ "type": "uint256"
76
+ }
77
+ ],
78
+ "name": "transferFrom",
79
+ "outputs": [
80
+ {
81
+ "name": "",
82
+ "type": "bool"
83
+ }
84
+ ],
85
+ "payable": false,
86
+ "stateMutability": "nonpayable",
87
+ "type": "function"
88
+ },
89
+ {
90
+ "constant": true,
91
+ "inputs": [],
92
+ "name": "decimals",
93
+ "outputs": [
94
+ {
95
+ "name": "",
96
+ "type": "uint8"
97
+ }
98
+ ],
99
+ "payable": false,
100
+ "stateMutability": "view",
101
+ "type": "function"
102
+ },
103
+ {
104
+ "constant": true,
105
+ "inputs": [],
106
+ "name": "initialSupply",
107
+ "outputs": [
108
+ {
109
+ "name": "",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "payable": false,
114
+ "stateMutability": "view",
115
+ "type": "function"
116
+ },
117
+ {
118
+ "constant": false,
119
+ "inputs": [
120
+ {
121
+ "name": "spender",
122
+ "type": "address"
123
+ },
124
+ {
125
+ "name": "addedValue",
126
+ "type": "uint256"
127
+ }
128
+ ],
129
+ "name": "increaseAllowance",
130
+ "outputs": [
131
+ {
132
+ "name": "",
133
+ "type": "bool"
134
+ }
135
+ ],
136
+ "payable": false,
137
+ "stateMutability": "nonpayable",
138
+ "type": "function"
139
+ },
140
+ {
141
+ "constant": false,
142
+ "inputs": [],
143
+ "name": "unpause",
144
+ "outputs": [],
145
+ "payable": false,
146
+ "stateMutability": "nonpayable",
147
+ "type": "function"
148
+ },
149
+ {
150
+ "constant": false,
151
+ "inputs": [
152
+ {
153
+ "name": "_target",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "name": "unfreeze",
158
+ "outputs": [],
159
+ "payable": false,
160
+ "stateMutability": "nonpayable",
161
+ "type": "function"
162
+ },
163
+ {
164
+ "constant": true,
165
+ "inputs": [
166
+ {
167
+ "name": "_holder",
168
+ "type": "address"
169
+ },
170
+ {
171
+ "name": "_idx",
172
+ "type": "uint256"
173
+ }
174
+ ],
175
+ "name": "lockState",
176
+ "outputs": [
177
+ {
178
+ "name": "",
179
+ "type": "uint256"
180
+ },
181
+ {
182
+ "name": "",
183
+ "type": "uint256"
184
+ }
185
+ ],
186
+ "payable": false,
187
+ "stateMutability": "view",
188
+ "type": "function"
189
+ },
190
+ {
191
+ "constant": true,
192
+ "inputs": [],
193
+ "name": "paused",
194
+ "outputs": [
195
+ {
196
+ "name": "",
197
+ "type": "bool"
198
+ }
199
+ ],
200
+ "payable": false,
201
+ "stateMutability": "view",
202
+ "type": "function"
203
+ },
204
+ {
205
+ "constant": true,
206
+ "inputs": [
207
+ {
208
+ "name": "_holder",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "name": "balanceOf",
213
+ "outputs": [
214
+ {
215
+ "name": "balance",
216
+ "type": "uint256"
217
+ }
218
+ ],
219
+ "payable": false,
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "constant": false,
225
+ "inputs": [
226
+ {
227
+ "name": "_holder",
228
+ "type": "address"
229
+ },
230
+ {
231
+ "name": "i",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "unlock",
236
+ "outputs": [],
237
+ "payable": false,
238
+ "stateMutability": "nonpayable",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "constant": false,
243
+ "inputs": [],
244
+ "name": "pause",
245
+ "outputs": [],
246
+ "payable": false,
247
+ "stateMutability": "nonpayable",
248
+ "type": "function"
249
+ },
250
+ {
251
+ "constant": false,
252
+ "inputs": [
253
+ {
254
+ "name": "_target",
255
+ "type": "address"
256
+ }
257
+ ],
258
+ "name": "freeze",
259
+ "outputs": [],
260
+ "payable": false,
261
+ "stateMutability": "nonpayable",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "constant": true,
266
+ "inputs": [],
267
+ "name": "owner",
268
+ "outputs": [
269
+ {
270
+ "name": "",
271
+ "type": "address"
272
+ }
273
+ ],
274
+ "payable": false,
275
+ "stateMutability": "view",
276
+ "type": "function"
277
+ },
278
+ {
279
+ "constant": true,
280
+ "inputs": [],
281
+ "name": "symbol",
282
+ "outputs": [
283
+ {
284
+ "name": "",
285
+ "type": "string"
286
+ }
287
+ ],
288
+ "payable": false,
289
+ "stateMutability": "view",
290
+ "type": "function"
291
+ },
292
+ {
293
+ "constant": false,
294
+ "inputs": [
295
+ {
296
+ "name": "_who",
297
+ "type": "address"
298
+ },
299
+ {
300
+ "name": "_value",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "name": "burn",
305
+ "outputs": [],
306
+ "payable": false,
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "constant": false,
312
+ "inputs": [
313
+ {
314
+ "name": "spender",
315
+ "type": "address"
316
+ },
317
+ {
318
+ "name": "subtractedValue",
319
+ "type": "uint256"
320
+ }
321
+ ],
322
+ "name": "decreaseAllowance",
323
+ "outputs": [
324
+ {
325
+ "name": "",
326
+ "type": "bool"
327
+ }
328
+ ],
329
+ "payable": false,
330
+ "stateMutability": "nonpayable",
331
+ "type": "function"
332
+ },
333
+ {
334
+ "constant": false,
335
+ "inputs": [
336
+ {
337
+ "name": "_to",
338
+ "type": "address"
339
+ },
340
+ {
341
+ "name": "_value",
342
+ "type": "uint256"
343
+ }
344
+ ],
345
+ "name": "transfer",
346
+ "outputs": [
347
+ {
348
+ "name": "",
349
+ "type": "bool"
350
+ }
351
+ ],
352
+ "payable": false,
353
+ "stateMutability": "nonpayable",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "constant": true,
358
+ "inputs": [
359
+ {
360
+ "name": "owner",
361
+ "type": "address"
362
+ },
363
+ {
364
+ "name": "spender",
365
+ "type": "address"
366
+ }
367
+ ],
368
+ "name": "allowance",
369
+ "outputs": [
370
+ {
371
+ "name": "",
372
+ "type": "uint256"
373
+ }
374
+ ],
375
+ "payable": false,
376
+ "stateMutability": "view",
377
+ "type": "function"
378
+ },
379
+ {
380
+ "constant": false,
381
+ "inputs": [
382
+ {
383
+ "name": "_to",
384
+ "type": "address"
385
+ },
386
+ {
387
+ "name": "_value",
388
+ "type": "uint256"
389
+ },
390
+ {
391
+ "name": "_releaseTime",
392
+ "type": "uint256"
393
+ }
394
+ ],
395
+ "name": "transferWithLock",
396
+ "outputs": [
397
+ {
398
+ "name": "",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "payable": false,
403
+ "stateMutability": "nonpayable",
404
+ "type": "function"
405
+ },
406
+ {
407
+ "constant": true,
408
+ "inputs": [
409
+ {
410
+ "name": "_holder",
411
+ "type": "address"
412
+ }
413
+ ],
414
+ "name": "lockCount",
415
+ "outputs": [
416
+ {
417
+ "name": "",
418
+ "type": "uint256"
419
+ }
420
+ ],
421
+ "payable": false,
422
+ "stateMutability": "view",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "constant": false,
427
+ "inputs": [
428
+ {
429
+ "name": "_holder",
430
+ "type": "address"
431
+ },
432
+ {
433
+ "name": "_amount",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "name": "_releaseTime",
438
+ "type": "uint256"
439
+ }
440
+ ],
441
+ "name": "lock",
442
+ "outputs": [],
443
+ "payable": false,
444
+ "stateMutability": "nonpayable",
445
+ "type": "function"
446
+ },
447
+ {
448
+ "constant": true,
449
+ "inputs": [
450
+ {
451
+ "name": "_target",
452
+ "type": "address"
453
+ }
454
+ ],
455
+ "name": "isFrozen",
456
+ "outputs": [
457
+ {
458
+ "name": "",
459
+ "type": "bool"
460
+ }
461
+ ],
462
+ "payable": false,
463
+ "stateMutability": "view",
464
+ "type": "function"
465
+ },
466
+ {
467
+ "constant": false,
468
+ "inputs": [
469
+ {
470
+ "name": "_newOwner",
471
+ "type": "address"
472
+ }
473
+ ],
474
+ "name": "transferOwnership",
475
+ "outputs": [],
476
+ "payable": false,
477
+ "stateMutability": "nonpayable",
478
+ "type": "function"
479
+ },
480
+ {
481
+ "inputs": [],
482
+ "payable": false,
483
+ "stateMutability": "nonpayable",
484
+ "type": "constructor"
485
+ },
486
+ {
487
+ "anonymous": false,
488
+ "inputs": [
489
+ {
490
+ "indexed": true,
491
+ "name": "previousOwner",
492
+ "type": "address"
493
+ }
494
+ ],
495
+ "name": "OwnershipRenounced",
496
+ "type": "event"
497
+ },
498
+ {
499
+ "anonymous": false,
500
+ "inputs": [
501
+ {
502
+ "indexed": true,
503
+ "name": "previousOwner",
504
+ "type": "address"
505
+ },
506
+ {
507
+ "indexed": true,
508
+ "name": "newOwner",
509
+ "type": "address"
510
+ }
511
+ ],
512
+ "name": "OwnershipTransferred",
513
+ "type": "event"
514
+ },
515
+ {
516
+ "anonymous": false,
517
+ "inputs": [],
518
+ "name": "Pause",
519
+ "type": "event"
520
+ },
521
+ {
522
+ "anonymous": false,
523
+ "inputs": [],
524
+ "name": "Unpause",
525
+ "type": "event"
526
+ },
527
+ {
528
+ "anonymous": false,
529
+ "inputs": [
530
+ {
531
+ "indexed": false,
532
+ "name": "target",
533
+ "type": "address"
534
+ }
535
+ ],
536
+ "name": "Frozen",
537
+ "type": "event"
538
+ },
539
+ {
540
+ "anonymous": false,
541
+ "inputs": [
542
+ {
543
+ "indexed": false,
544
+ "name": "target",
545
+ "type": "address"
546
+ }
547
+ ],
548
+ "name": "Unfrozen",
549
+ "type": "event"
550
+ },
551
+ {
552
+ "anonymous": false,
553
+ "inputs": [
554
+ {
555
+ "indexed": true,
556
+ "name": "burner",
557
+ "type": "address"
558
+ },
559
+ {
560
+ "indexed": false,
561
+ "name": "value",
562
+ "type": "uint256"
563
+ }
564
+ ],
565
+ "name": "Burn",
566
+ "type": "event"
567
+ },
568
+ {
569
+ "anonymous": false,
570
+ "inputs": [
571
+ {
572
+ "indexed": true,
573
+ "name": "holder",
574
+ "type": "address"
575
+ },
576
+ {
577
+ "indexed": false,
578
+ "name": "value",
579
+ "type": "uint256"
580
+ },
581
+ {
582
+ "indexed": false,
583
+ "name": "releaseTime",
584
+ "type": "uint256"
585
+ }
586
+ ],
587
+ "name": "Lock",
588
+ "type": "event"
589
+ },
590
+ {
591
+ "anonymous": false,
592
+ "inputs": [
593
+ {
594
+ "indexed": true,
595
+ "name": "holder",
596
+ "type": "address"
597
+ },
598
+ {
599
+ "indexed": false,
600
+ "name": "value",
601
+ "type": "uint256"
602
+ }
603
+ ],
604
+ "name": "Unlock",
605
+ "type": "event"
606
+ },
607
+ {
608
+ "anonymous": false,
609
+ "inputs": [
610
+ {
611
+ "indexed": true,
612
+ "name": "from",
613
+ "type": "address"
614
+ },
615
+ {
616
+ "indexed": true,
617
+ "name": "to",
618
+ "type": "address"
619
+ },
620
+ {
621
+ "indexed": false,
622
+ "name": "value",
623
+ "type": "uint256"
624
+ }
625
+ ],
626
+ "name": "Transfer",
627
+ "type": "event"
628
+ },
629
+ {
630
+ "anonymous": false,
631
+ "inputs": [
632
+ {
633
+ "indexed": true,
634
+ "name": "owner",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "indexed": true,
639
+ "name": "spender",
640
+ "type": "address"
641
+ },
642
+ {
643
+ "indexed": false,
644
+ "name": "value",
645
+ "type": "uint256"
646
+ }
647
+ ],
648
+ "name": "Approval",
649
+ "type": "event"
650
+ }
651
+ ];
652
+ /**
653
+ * Metaverseconvergence_json Contract Class
654
+ *
655
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
656
+ *
657
+ * @example
658
+ * ```typescript
659
+ * import { createPublicClient, createWalletClient, http } from 'viem';
660
+ * import { mainnet } from 'viem/chains';
661
+ * import { Metaverseconvergence_json } from 'Metaverseconvergence_json';
662
+ *
663
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
664
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
665
+ *
666
+ * const contract = new Metaverseconvergence_json('0x...', { publicClient, walletClient });
667
+ *
668
+ * // Read functions
669
+ * const result = await contract.balanceOf('0x...');
670
+ *
671
+ * // Write functions
672
+ * const hash = await contract.transfer('0x...', 1000n);
673
+ *
674
+ * // Simulate transactions (dry-run)
675
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
676
+ * console.log('Gas estimate:', simulation.request.gas);
677
+ *
678
+ * // Watch events
679
+ * const unwatch = contract.watch.Transfer((event) => {
680
+ * console.log('Transfer event:', event);
681
+ * });
682
+ * ```
683
+ */
684
+ class Metaverseconvergence_json {
685
+ constructor(address, clients) {
686
+ this.contractAddress = address;
687
+ this.publicClient = clients.publicClient;
688
+ this.contract = (0, viem_1.getContract)({
689
+ address,
690
+ abi: exports.Metaverseconvergence_jsonAbi,
691
+ client: {
692
+ public: clients.publicClient,
693
+ wallet: clients.walletClient,
694
+ },
695
+ });
696
+ }
697
+ /**
698
+ * Get the contract address
699
+ */
700
+ get address() {
701
+ return this.contractAddress;
702
+ }
703
+ /**
704
+ * Get the underlying viem contract instance
705
+ */
706
+ getContract() {
707
+ return this.contract;
708
+ }
709
+ /**
710
+ * name
711
+ * view
712
+ */
713
+ async name() {
714
+ return this.contract.read.name();
715
+ }
716
+ /**
717
+ * totalSupply
718
+ * view
719
+ */
720
+ async totalSupply() {
721
+ return this.contract.read.totalSupply();
722
+ }
723
+ /**
724
+ * decimals
725
+ * view
726
+ */
727
+ async decimals() {
728
+ return this.contract.read.decimals();
729
+ }
730
+ /**
731
+ * initialSupply
732
+ * view
733
+ */
734
+ async initialSupply() {
735
+ return this.contract.read.initialSupply();
736
+ }
737
+ /**
738
+ * lockState
739
+ * view
740
+ */
741
+ async lockState(_holder, _idx) {
742
+ return this.contract.read.lockState([_holder, _idx]);
743
+ }
744
+ /**
745
+ * paused
746
+ * view
747
+ */
748
+ async paused() {
749
+ return this.contract.read.paused();
750
+ }
751
+ /**
752
+ * balanceOf
753
+ * view
754
+ */
755
+ async balanceOf(_holder) {
756
+ return this.contract.read.balanceOf([_holder]);
757
+ }
758
+ /**
759
+ * owner
760
+ * view
761
+ */
762
+ async owner() {
763
+ return this.contract.read.owner();
764
+ }
765
+ /**
766
+ * symbol
767
+ * view
768
+ */
769
+ async symbol() {
770
+ return this.contract.read.symbol();
771
+ }
772
+ /**
773
+ * allowance
774
+ * view
775
+ */
776
+ async allowance(owner, spender) {
777
+ return this.contract.read.allowance([owner, spender]);
778
+ }
779
+ /**
780
+ * lockCount
781
+ * view
782
+ */
783
+ async lockCount(_holder) {
784
+ return this.contract.read.lockCount([_holder]);
785
+ }
786
+ /**
787
+ * isFrozen
788
+ * view
789
+ */
790
+ async isFrozen(_target) {
791
+ return this.contract.read.isFrozen([_target]);
792
+ }
793
+ /**
794
+ * approve
795
+ * nonpayable
796
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
797
+ */
798
+ async approve(spender, value, options) {
799
+ if (!this.contract.write) {
800
+ throw new Error('Wallet client is required for write operations');
801
+ }
802
+ return this.contract.write.approve([spender, value], options);
803
+ }
804
+ /**
805
+ * transferFrom
806
+ * nonpayable
807
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
808
+ */
809
+ async transferFrom(_from, _to, _value, options) {
810
+ if (!this.contract.write) {
811
+ throw new Error('Wallet client is required for write operations');
812
+ }
813
+ return this.contract.write.transferFrom([_from, _to, _value], options);
814
+ }
815
+ /**
816
+ * increaseAllowance
817
+ * nonpayable
818
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
819
+ */
820
+ async increaseAllowance(spender, addedValue, options) {
821
+ if (!this.contract.write) {
822
+ throw new Error('Wallet client is required for write operations');
823
+ }
824
+ return this.contract.write.increaseAllowance([spender, addedValue], options);
825
+ }
826
+ /**
827
+ * unpause
828
+ * nonpayable
829
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
830
+ */
831
+ async unpause(options) {
832
+ if (!this.contract.write) {
833
+ throw new Error('Wallet client is required for write operations');
834
+ }
835
+ return this.contract.write.unpause(options);
836
+ }
837
+ /**
838
+ * unfreeze
839
+ * nonpayable
840
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
841
+ */
842
+ async unfreeze(_target, options) {
843
+ if (!this.contract.write) {
844
+ throw new Error('Wallet client is required for write operations');
845
+ }
846
+ return this.contract.write.unfreeze([_target], options);
847
+ }
848
+ /**
849
+ * unlock
850
+ * nonpayable
851
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
852
+ */
853
+ async unlock(_holder, i, options) {
854
+ if (!this.contract.write) {
855
+ throw new Error('Wallet client is required for write operations');
856
+ }
857
+ return this.contract.write.unlock([_holder, i], options);
858
+ }
859
+ /**
860
+ * pause
861
+ * nonpayable
862
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
863
+ */
864
+ async pause(options) {
865
+ if (!this.contract.write) {
866
+ throw new Error('Wallet client is required for write operations');
867
+ }
868
+ return this.contract.write.pause(options);
869
+ }
870
+ /**
871
+ * freeze
872
+ * nonpayable
873
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
874
+ */
875
+ async freeze(_target, options) {
876
+ if (!this.contract.write) {
877
+ throw new Error('Wallet client is required for write operations');
878
+ }
879
+ return this.contract.write.freeze([_target], options);
880
+ }
881
+ /**
882
+ * burn
883
+ * nonpayable
884
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
885
+ */
886
+ async burn(_who, _value, options) {
887
+ if (!this.contract.write) {
888
+ throw new Error('Wallet client is required for write operations');
889
+ }
890
+ return this.contract.write.burn([_who, _value], options);
891
+ }
892
+ /**
893
+ * decreaseAllowance
894
+ * nonpayable
895
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
896
+ */
897
+ async decreaseAllowance(spender, subtractedValue, options) {
898
+ if (!this.contract.write) {
899
+ throw new Error('Wallet client is required for write operations');
900
+ }
901
+ return this.contract.write.decreaseAllowance([spender, subtractedValue], options);
902
+ }
903
+ /**
904
+ * transfer
905
+ * nonpayable
906
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
907
+ */
908
+ async transfer(_to, _value, options) {
909
+ if (!this.contract.write) {
910
+ throw new Error('Wallet client is required for write operations');
911
+ }
912
+ return this.contract.write.transfer([_to, _value], options);
913
+ }
914
+ /**
915
+ * transferWithLock
916
+ * nonpayable
917
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
918
+ */
919
+ async transferWithLock(_to, _value, _releaseTime, options) {
920
+ if (!this.contract.write) {
921
+ throw new Error('Wallet client is required for write operations');
922
+ }
923
+ return this.contract.write.transferWithLock([_to, _value, _releaseTime], options);
924
+ }
925
+ /**
926
+ * lock
927
+ * nonpayable
928
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
929
+ */
930
+ async lock(_holder, _amount, _releaseTime, options) {
931
+ if (!this.contract.write) {
932
+ throw new Error('Wallet client is required for write operations');
933
+ }
934
+ return this.contract.write.lock([_holder, _amount, _releaseTime], options);
935
+ }
936
+ /**
937
+ * transferOwnership
938
+ * nonpayable
939
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
940
+ */
941
+ async transferOwnership(_newOwner, options) {
942
+ if (!this.contract.write) {
943
+ throw new Error('Wallet client is required for write operations');
944
+ }
945
+ return this.contract.write.transferOwnership([_newOwner], options);
946
+ }
947
+ /**
948
+ * Simulate contract write operations (dry-run without sending transaction)
949
+ *
950
+ * @example
951
+ * const result = await contract.simulate.transfer('0x...', 1000n);
952
+ * console.log('Gas estimate:', result.request.gas);
953
+ * console.log('Would succeed:', result.result);
954
+ */
955
+ get simulate() {
956
+ const contract = this.contract;
957
+ if (!contract.simulate) {
958
+ throw new Error('Public client is required for simulation');
959
+ }
960
+ return {
961
+ /**
962
+ * Simulate approve
963
+ * Returns gas estimate and result without sending transaction
964
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
965
+ */
966
+ async approve(spender, value, options) {
967
+ return contract.simulate.approve([spender, value], options);
968
+ },
969
+ /**
970
+ * Simulate transferFrom
971
+ * Returns gas estimate and result without sending transaction
972
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
973
+ */
974
+ async transferFrom(_from, _to, _value, options) {
975
+ return contract.simulate.transferFrom([_from, _to, _value], options);
976
+ },
977
+ /**
978
+ * Simulate increaseAllowance
979
+ * Returns gas estimate and result without sending transaction
980
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
981
+ */
982
+ async increaseAllowance(spender, addedValue, options) {
983
+ return contract.simulate.increaseAllowance([spender, addedValue], options);
984
+ },
985
+ /**
986
+ * Simulate unpause
987
+ * Returns gas estimate and result without sending transaction
988
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
989
+ */
990
+ async unpause(options) {
991
+ return contract.simulate.unpause(options);
992
+ },
993
+ /**
994
+ * Simulate unfreeze
995
+ * Returns gas estimate and result without sending transaction
996
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
997
+ */
998
+ async unfreeze(_target, options) {
999
+ return contract.simulate.unfreeze([_target], options);
1000
+ },
1001
+ /**
1002
+ * Simulate unlock
1003
+ * Returns gas estimate and result without sending transaction
1004
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1005
+ */
1006
+ async unlock(_holder, i, options) {
1007
+ return contract.simulate.unlock([_holder, i], options);
1008
+ },
1009
+ /**
1010
+ * Simulate pause
1011
+ * Returns gas estimate and result without sending transaction
1012
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1013
+ */
1014
+ async pause(options) {
1015
+ return contract.simulate.pause(options);
1016
+ },
1017
+ /**
1018
+ * Simulate freeze
1019
+ * Returns gas estimate and result without sending transaction
1020
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1021
+ */
1022
+ async freeze(_target, options) {
1023
+ return contract.simulate.freeze([_target], options);
1024
+ },
1025
+ /**
1026
+ * Simulate burn
1027
+ * Returns gas estimate and result without sending transaction
1028
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1029
+ */
1030
+ async burn(_who, _value, options) {
1031
+ return contract.simulate.burn([_who, _value], options);
1032
+ },
1033
+ /**
1034
+ * Simulate decreaseAllowance
1035
+ * Returns gas estimate and result without sending transaction
1036
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1037
+ */
1038
+ async decreaseAllowance(spender, subtractedValue, options) {
1039
+ return contract.simulate.decreaseAllowance([spender, subtractedValue], options);
1040
+ },
1041
+ /**
1042
+ * Simulate transfer
1043
+ * Returns gas estimate and result without sending transaction
1044
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1045
+ */
1046
+ async transfer(_to, _value, options) {
1047
+ return contract.simulate.transfer([_to, _value], options);
1048
+ },
1049
+ /**
1050
+ * Simulate transferWithLock
1051
+ * Returns gas estimate and result without sending transaction
1052
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1053
+ */
1054
+ async transferWithLock(_to, _value, _releaseTime, options) {
1055
+ return contract.simulate.transferWithLock([_to, _value, _releaseTime], options);
1056
+ },
1057
+ /**
1058
+ * Simulate lock
1059
+ * Returns gas estimate and result without sending transaction
1060
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1061
+ */
1062
+ async lock(_holder, _amount, _releaseTime, options) {
1063
+ return contract.simulate.lock([_holder, _amount, _releaseTime], options);
1064
+ },
1065
+ /**
1066
+ * Simulate transferOwnership
1067
+ * Returns gas estimate and result without sending transaction
1068
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1069
+ */
1070
+ async transferOwnership(_newOwner, options) {
1071
+ return contract.simulate.transferOwnership([_newOwner], options);
1072
+ }
1073
+ };
1074
+ }
1075
+ /**
1076
+ * Watch contract events
1077
+ *
1078
+ * @example
1079
+ * // Watch all Transfer events
1080
+ * const unwatch = contract.watch.Transfer((event) => {
1081
+ * console.log('Transfer:', event);
1082
+ * });
1083
+ *
1084
+ * // Stop watching
1085
+ * unwatch();
1086
+ */
1087
+ get watch() {
1088
+ return {
1089
+ /**
1090
+ * Watch OwnershipRenounced events
1091
+ * @param callback Function to call when event is emitted
1092
+ * @param filter Optional filter for indexed parameters
1093
+ * @returns Unwatch function to stop listening
1094
+ */
1095
+ OwnershipRenounced: (callback, filter) => {
1096
+ return this.publicClient.watchContractEvent({
1097
+ address: this.contractAddress,
1098
+ abi: exports.Metaverseconvergence_jsonAbi,
1099
+ eventName: 'OwnershipRenounced',
1100
+ args: filter,
1101
+ onLogs: (logs) => {
1102
+ logs.forEach((log) => {
1103
+ callback(log.args);
1104
+ });
1105
+ },
1106
+ });
1107
+ },
1108
+ /**
1109
+ * Watch OwnershipTransferred events
1110
+ * @param callback Function to call when event is emitted
1111
+ * @param filter Optional filter for indexed parameters
1112
+ * @returns Unwatch function to stop listening
1113
+ */
1114
+ OwnershipTransferred: (callback, filter) => {
1115
+ return this.publicClient.watchContractEvent({
1116
+ address: this.contractAddress,
1117
+ abi: exports.Metaverseconvergence_jsonAbi,
1118
+ eventName: 'OwnershipTransferred',
1119
+ args: filter,
1120
+ onLogs: (logs) => {
1121
+ logs.forEach((log) => {
1122
+ callback(log.args);
1123
+ });
1124
+ },
1125
+ });
1126
+ },
1127
+ /**
1128
+ * Watch Pause events
1129
+ * @param callback Function to call when event is emitted
1130
+ * @param filter Optional filter for indexed parameters
1131
+ * @returns Unwatch function to stop listening
1132
+ */
1133
+ Pause: (callback) => {
1134
+ return this.publicClient.watchContractEvent({
1135
+ address: this.contractAddress,
1136
+ abi: exports.Metaverseconvergence_jsonAbi,
1137
+ eventName: 'Pause',
1138
+ onLogs: (logs) => {
1139
+ logs.forEach((log) => {
1140
+ callback(log.args);
1141
+ });
1142
+ },
1143
+ });
1144
+ },
1145
+ /**
1146
+ * Watch Unpause events
1147
+ * @param callback Function to call when event is emitted
1148
+ * @param filter Optional filter for indexed parameters
1149
+ * @returns Unwatch function to stop listening
1150
+ */
1151
+ Unpause: (callback) => {
1152
+ return this.publicClient.watchContractEvent({
1153
+ address: this.contractAddress,
1154
+ abi: exports.Metaverseconvergence_jsonAbi,
1155
+ eventName: 'Unpause',
1156
+ onLogs: (logs) => {
1157
+ logs.forEach((log) => {
1158
+ callback(log.args);
1159
+ });
1160
+ },
1161
+ });
1162
+ },
1163
+ /**
1164
+ * Watch Frozen events
1165
+ * @param callback Function to call when event is emitted
1166
+ * @param filter Optional filter for indexed parameters
1167
+ * @returns Unwatch function to stop listening
1168
+ */
1169
+ Frozen: (callback) => {
1170
+ return this.publicClient.watchContractEvent({
1171
+ address: this.contractAddress,
1172
+ abi: exports.Metaverseconvergence_jsonAbi,
1173
+ eventName: 'Frozen',
1174
+ onLogs: (logs) => {
1175
+ logs.forEach((log) => {
1176
+ callback(log.args);
1177
+ });
1178
+ },
1179
+ });
1180
+ },
1181
+ /**
1182
+ * Watch Unfrozen events
1183
+ * @param callback Function to call when event is emitted
1184
+ * @param filter Optional filter for indexed parameters
1185
+ * @returns Unwatch function to stop listening
1186
+ */
1187
+ Unfrozen: (callback) => {
1188
+ return this.publicClient.watchContractEvent({
1189
+ address: this.contractAddress,
1190
+ abi: exports.Metaverseconvergence_jsonAbi,
1191
+ eventName: 'Unfrozen',
1192
+ onLogs: (logs) => {
1193
+ logs.forEach((log) => {
1194
+ callback(log.args);
1195
+ });
1196
+ },
1197
+ });
1198
+ },
1199
+ /**
1200
+ * Watch Burn events
1201
+ * @param callback Function to call when event is emitted
1202
+ * @param filter Optional filter for indexed parameters
1203
+ * @returns Unwatch function to stop listening
1204
+ */
1205
+ Burn: (callback, filter) => {
1206
+ return this.publicClient.watchContractEvent({
1207
+ address: this.contractAddress,
1208
+ abi: exports.Metaverseconvergence_jsonAbi,
1209
+ eventName: 'Burn',
1210
+ args: filter,
1211
+ onLogs: (logs) => {
1212
+ logs.forEach((log) => {
1213
+ callback(log.args);
1214
+ });
1215
+ },
1216
+ });
1217
+ },
1218
+ /**
1219
+ * Watch Lock events
1220
+ * @param callback Function to call when event is emitted
1221
+ * @param filter Optional filter for indexed parameters
1222
+ * @returns Unwatch function to stop listening
1223
+ */
1224
+ Lock: (callback, filter) => {
1225
+ return this.publicClient.watchContractEvent({
1226
+ address: this.contractAddress,
1227
+ abi: exports.Metaverseconvergence_jsonAbi,
1228
+ eventName: 'Lock',
1229
+ args: filter,
1230
+ onLogs: (logs) => {
1231
+ logs.forEach((log) => {
1232
+ callback(log.args);
1233
+ });
1234
+ },
1235
+ });
1236
+ },
1237
+ /**
1238
+ * Watch Unlock events
1239
+ * @param callback Function to call when event is emitted
1240
+ * @param filter Optional filter for indexed parameters
1241
+ * @returns Unwatch function to stop listening
1242
+ */
1243
+ Unlock: (callback, filter) => {
1244
+ return this.publicClient.watchContractEvent({
1245
+ address: this.contractAddress,
1246
+ abi: exports.Metaverseconvergence_jsonAbi,
1247
+ eventName: 'Unlock',
1248
+ args: filter,
1249
+ onLogs: (logs) => {
1250
+ logs.forEach((log) => {
1251
+ callback(log.args);
1252
+ });
1253
+ },
1254
+ });
1255
+ },
1256
+ /**
1257
+ * Watch Transfer events
1258
+ * @param callback Function to call when event is emitted
1259
+ * @param filter Optional filter for indexed parameters
1260
+ * @returns Unwatch function to stop listening
1261
+ */
1262
+ Transfer: (callback, filter) => {
1263
+ return this.publicClient.watchContractEvent({
1264
+ address: this.contractAddress,
1265
+ abi: exports.Metaverseconvergence_jsonAbi,
1266
+ eventName: 'Transfer',
1267
+ args: filter,
1268
+ onLogs: (logs) => {
1269
+ logs.forEach((log) => {
1270
+ callback(log.args);
1271
+ });
1272
+ },
1273
+ });
1274
+ },
1275
+ /**
1276
+ * Watch Approval events
1277
+ * @param callback Function to call when event is emitted
1278
+ * @param filter Optional filter for indexed parameters
1279
+ * @returns Unwatch function to stop listening
1280
+ */
1281
+ Approval: (callback, filter) => {
1282
+ return this.publicClient.watchContractEvent({
1283
+ address: this.contractAddress,
1284
+ abi: exports.Metaverseconvergence_jsonAbi,
1285
+ eventName: 'Approval',
1286
+ args: filter,
1287
+ onLogs: (logs) => {
1288
+ logs.forEach((log) => {
1289
+ callback(log.args);
1290
+ });
1291
+ },
1292
+ });
1293
+ }
1294
+ };
1295
+ }
1296
+ }
1297
+ exports.Metaverseconvergence_json = Metaverseconvergence_json;