@gitmyabi/usd 1.0.5 → 1.0.6

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,1022 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MusdtMintable_json = exports.MusdtMintable_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * MusdtMintable_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.MusdtMintable_jsonAbi = [
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "string",
15
+ "name": "name_",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "string",
20
+ "name": "symbol_",
21
+ "type": "string"
22
+ },
23
+ {
24
+ "internalType": "string",
25
+ "name": "logoURI_",
26
+ "type": "string"
27
+ },
28
+ {
29
+ "internalType": "string",
30
+ "name": "tokenURI_",
31
+ "type": "string"
32
+ }
33
+ ],
34
+ "stateMutability": "nonpayable",
35
+ "type": "constructor"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "owner",
44
+ "type": "address"
45
+ },
46
+ {
47
+ "indexed": true,
48
+ "internalType": "address",
49
+ "name": "spender",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": false,
54
+ "internalType": "uint256",
55
+ "name": "value",
56
+ "type": "uint256"
57
+ }
58
+ ],
59
+ "name": "Approval",
60
+ "type": "event"
61
+ },
62
+ {
63
+ "anonymous": false,
64
+ "inputs": [
65
+ {
66
+ "indexed": false,
67
+ "internalType": "string",
68
+ "name": "previousURI",
69
+ "type": "string"
70
+ },
71
+ {
72
+ "indexed": false,
73
+ "internalType": "string",
74
+ "name": "newURI",
75
+ "type": "string"
76
+ }
77
+ ],
78
+ "name": "LogoURIChanged",
79
+ "type": "event"
80
+ },
81
+ {
82
+ "anonymous": false,
83
+ "inputs": [
84
+ {
85
+ "indexed": false,
86
+ "internalType": "string",
87
+ "name": "previousName",
88
+ "type": "string"
89
+ },
90
+ {
91
+ "indexed": false,
92
+ "internalType": "string",
93
+ "name": "newName",
94
+ "type": "string"
95
+ }
96
+ ],
97
+ "name": "NameChanged",
98
+ "type": "event"
99
+ },
100
+ {
101
+ "anonymous": false,
102
+ "inputs": [
103
+ {
104
+ "indexed": true,
105
+ "internalType": "address",
106
+ "name": "previousOwner",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "indexed": true,
111
+ "internalType": "address",
112
+ "name": "newOwner",
113
+ "type": "address"
114
+ }
115
+ ],
116
+ "name": "OwnershipTransferred",
117
+ "type": "event"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": false,
124
+ "internalType": "string",
125
+ "name": "previousSymbol",
126
+ "type": "string"
127
+ },
128
+ {
129
+ "indexed": false,
130
+ "internalType": "string",
131
+ "name": "newSymbol",
132
+ "type": "string"
133
+ }
134
+ ],
135
+ "name": "SymbolChanged",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": false,
143
+ "internalType": "string",
144
+ "name": "previousURI",
145
+ "type": "string"
146
+ },
147
+ {
148
+ "indexed": false,
149
+ "internalType": "string",
150
+ "name": "newURI",
151
+ "type": "string"
152
+ }
153
+ ],
154
+ "name": "TokenURIChanged",
155
+ "type": "event"
156
+ },
157
+ {
158
+ "anonymous": false,
159
+ "inputs": [
160
+ {
161
+ "indexed": true,
162
+ "internalType": "address",
163
+ "name": "from",
164
+ "type": "address"
165
+ },
166
+ {
167
+ "indexed": true,
168
+ "internalType": "address",
169
+ "name": "to",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "indexed": false,
174
+ "internalType": "uint256",
175
+ "name": "value",
176
+ "type": "uint256"
177
+ }
178
+ ],
179
+ "name": "Transfer",
180
+ "type": "event"
181
+ },
182
+ {
183
+ "inputs": [
184
+ {
185
+ "internalType": "address",
186
+ "name": "owner_",
187
+ "type": "address"
188
+ },
189
+ {
190
+ "internalType": "address",
191
+ "name": "spender",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "allowance",
196
+ "outputs": [
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "stateMutability": "view",
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "internalType": "address",
210
+ "name": "spender",
211
+ "type": "address"
212
+ },
213
+ {
214
+ "internalType": "uint256",
215
+ "name": "value",
216
+ "type": "uint256"
217
+ }
218
+ ],
219
+ "name": "approve",
220
+ "outputs": [
221
+ {
222
+ "internalType": "bool",
223
+ "name": "",
224
+ "type": "bool"
225
+ }
226
+ ],
227
+ "stateMutability": "nonpayable",
228
+ "type": "function"
229
+ },
230
+ {
231
+ "inputs": [
232
+ {
233
+ "internalType": "address",
234
+ "name": "who",
235
+ "type": "address"
236
+ }
237
+ ],
238
+ "name": "balanceOf",
239
+ "outputs": [
240
+ {
241
+ "internalType": "uint256",
242
+ "name": "",
243
+ "type": "uint256"
244
+ }
245
+ ],
246
+ "stateMutability": "view",
247
+ "type": "function"
248
+ },
249
+ {
250
+ "inputs": [],
251
+ "name": "decimals",
252
+ "outputs": [
253
+ {
254
+ "internalType": "uint8",
255
+ "name": "",
256
+ "type": "uint8"
257
+ }
258
+ ],
259
+ "stateMutability": "view",
260
+ "type": "function"
261
+ },
262
+ {
263
+ "inputs": [
264
+ {
265
+ "internalType": "address",
266
+ "name": "spender",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "internalType": "uint256",
271
+ "name": "subtractedValue",
272
+ "type": "uint256"
273
+ }
274
+ ],
275
+ "name": "decreaseApproval",
276
+ "outputs": [
277
+ {
278
+ "internalType": "bool",
279
+ "name": "",
280
+ "type": "bool"
281
+ }
282
+ ],
283
+ "stateMutability": "nonpayable",
284
+ "type": "function"
285
+ },
286
+ {
287
+ "inputs": [
288
+ {
289
+ "internalType": "address",
290
+ "name": "spender",
291
+ "type": "address"
292
+ },
293
+ {
294
+ "internalType": "uint256",
295
+ "name": "addedValue",
296
+ "type": "uint256"
297
+ }
298
+ ],
299
+ "name": "increaseApproval",
300
+ "outputs": [
301
+ {
302
+ "internalType": "bool",
303
+ "name": "",
304
+ "type": "bool"
305
+ }
306
+ ],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [],
312
+ "name": "logoURI",
313
+ "outputs": [
314
+ {
315
+ "internalType": "string",
316
+ "name": "",
317
+ "type": "string"
318
+ }
319
+ ],
320
+ "stateMutability": "view",
321
+ "type": "function"
322
+ },
323
+ {
324
+ "inputs": [
325
+ {
326
+ "internalType": "address",
327
+ "name": "to",
328
+ "type": "address"
329
+ },
330
+ {
331
+ "internalType": "uint256",
332
+ "name": "value",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "mint",
337
+ "outputs": [
338
+ {
339
+ "internalType": "bool",
340
+ "name": "",
341
+ "type": "bool"
342
+ }
343
+ ],
344
+ "stateMutability": "nonpayable",
345
+ "type": "function"
346
+ },
347
+ {
348
+ "inputs": [],
349
+ "name": "name",
350
+ "outputs": [
351
+ {
352
+ "internalType": "string",
353
+ "name": "",
354
+ "type": "string"
355
+ }
356
+ ],
357
+ "stateMutability": "view",
358
+ "type": "function"
359
+ },
360
+ {
361
+ "inputs": [],
362
+ "name": "owner",
363
+ "outputs": [
364
+ {
365
+ "internalType": "address",
366
+ "name": "",
367
+ "type": "address"
368
+ }
369
+ ],
370
+ "stateMutability": "view",
371
+ "type": "function"
372
+ },
373
+ {
374
+ "inputs": [
375
+ {
376
+ "internalType": "string",
377
+ "name": "newURI",
378
+ "type": "string"
379
+ }
380
+ ],
381
+ "name": "setLogoURI",
382
+ "outputs": [],
383
+ "stateMutability": "nonpayable",
384
+ "type": "function"
385
+ },
386
+ {
387
+ "inputs": [
388
+ {
389
+ "internalType": "string",
390
+ "name": "newName",
391
+ "type": "string"
392
+ }
393
+ ],
394
+ "name": "setName",
395
+ "outputs": [],
396
+ "stateMutability": "nonpayable",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [
401
+ {
402
+ "internalType": "string",
403
+ "name": "newSymbol",
404
+ "type": "string"
405
+ }
406
+ ],
407
+ "name": "setSymbol",
408
+ "outputs": [],
409
+ "stateMutability": "nonpayable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [
414
+ {
415
+ "internalType": "string",
416
+ "name": "newURI",
417
+ "type": "string"
418
+ }
419
+ ],
420
+ "name": "setTokenURI",
421
+ "outputs": [],
422
+ "stateMutability": "nonpayable",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [],
427
+ "name": "symbol",
428
+ "outputs": [
429
+ {
430
+ "internalType": "string",
431
+ "name": "",
432
+ "type": "string"
433
+ }
434
+ ],
435
+ "stateMutability": "view",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [],
440
+ "name": "tokenURI",
441
+ "outputs": [
442
+ {
443
+ "internalType": "string",
444
+ "name": "",
445
+ "type": "string"
446
+ }
447
+ ],
448
+ "stateMutability": "view",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [],
453
+ "name": "totalSupply",
454
+ "outputs": [
455
+ {
456
+ "internalType": "uint256",
457
+ "name": "",
458
+ "type": "uint256"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [
466
+ {
467
+ "internalType": "address",
468
+ "name": "to",
469
+ "type": "address"
470
+ },
471
+ {
472
+ "internalType": "uint256",
473
+ "name": "value",
474
+ "type": "uint256"
475
+ }
476
+ ],
477
+ "name": "transfer",
478
+ "outputs": [
479
+ {
480
+ "internalType": "bool",
481
+ "name": "",
482
+ "type": "bool"
483
+ }
484
+ ],
485
+ "stateMutability": "nonpayable",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [
490
+ {
491
+ "internalType": "address",
492
+ "name": "from",
493
+ "type": "address"
494
+ },
495
+ {
496
+ "internalType": "address",
497
+ "name": "to",
498
+ "type": "address"
499
+ },
500
+ {
501
+ "internalType": "uint256",
502
+ "name": "value",
503
+ "type": "uint256"
504
+ }
505
+ ],
506
+ "name": "transferFrom",
507
+ "outputs": [
508
+ {
509
+ "internalType": "bool",
510
+ "name": "",
511
+ "type": "bool"
512
+ }
513
+ ],
514
+ "stateMutability": "nonpayable",
515
+ "type": "function"
516
+ },
517
+ {
518
+ "inputs": [
519
+ {
520
+ "internalType": "address",
521
+ "name": "newOwner",
522
+ "type": "address"
523
+ }
524
+ ],
525
+ "name": "transferOwnership",
526
+ "outputs": [],
527
+ "stateMutability": "nonpayable",
528
+ "type": "function"
529
+ }
530
+ ];
531
+ /**
532
+ * MusdtMintable_json Contract Class
533
+ *
534
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
535
+ *
536
+ * @example
537
+ * ```typescript
538
+ * import { createPublicClient, createWalletClient, http } from 'viem';
539
+ * import { mainnet } from 'viem/chains';
540
+ * import { MusdtMintable_json } from 'MusdtMintable_json';
541
+ *
542
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
543
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
544
+ *
545
+ * const contract = new MusdtMintable_json('0x...', { publicClient, walletClient });
546
+ *
547
+ * // Read functions
548
+ * const result = await contract.balanceOf('0x...');
549
+ *
550
+ * // Write functions
551
+ * const hash = await contract.transfer('0x...', 1000n);
552
+ *
553
+ * // Simulate transactions (dry-run)
554
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
555
+ * console.log('Gas estimate:', simulation.request.gas);
556
+ *
557
+ * // Watch events
558
+ * const unwatch = contract.watch.Transfer((event) => {
559
+ * console.log('Transfer event:', event);
560
+ * });
561
+ * ```
562
+ */
563
+ class MusdtMintable_json {
564
+ constructor(address, clients) {
565
+ this.contractAddress = address;
566
+ this.publicClient = clients.publicClient;
567
+ this.contract = (0, viem_1.getContract)({
568
+ address,
569
+ abi: exports.MusdtMintable_jsonAbi,
570
+ client: {
571
+ public: clients.publicClient,
572
+ wallet: clients.walletClient,
573
+ },
574
+ });
575
+ }
576
+ /**
577
+ * Get the contract address
578
+ */
579
+ get address() {
580
+ return this.contractAddress;
581
+ }
582
+ /**
583
+ * Get the underlying viem contract instance
584
+ */
585
+ getContract() {
586
+ return this.contract;
587
+ }
588
+ /**
589
+ * allowance
590
+ * view
591
+ */
592
+ async allowance(owner_, spender) {
593
+ return this.contract.read.allowance([owner_, spender]);
594
+ }
595
+ /**
596
+ * balanceOf
597
+ * view
598
+ */
599
+ async balanceOf(who) {
600
+ return this.contract.read.balanceOf([who]);
601
+ }
602
+ /**
603
+ * decimals
604
+ * view
605
+ */
606
+ async decimals() {
607
+ return this.contract.read.decimals();
608
+ }
609
+ /**
610
+ * logoURI
611
+ * view
612
+ */
613
+ async logoURI() {
614
+ return this.contract.read.logoURI();
615
+ }
616
+ /**
617
+ * name
618
+ * view
619
+ */
620
+ async name() {
621
+ return this.contract.read.name();
622
+ }
623
+ /**
624
+ * owner
625
+ * view
626
+ */
627
+ async owner() {
628
+ return this.contract.read.owner();
629
+ }
630
+ /**
631
+ * symbol
632
+ * view
633
+ */
634
+ async symbol() {
635
+ return this.contract.read.symbol();
636
+ }
637
+ /**
638
+ * tokenURI
639
+ * view
640
+ */
641
+ async tokenURI() {
642
+ return this.contract.read.tokenURI();
643
+ }
644
+ /**
645
+ * totalSupply
646
+ * view
647
+ */
648
+ async totalSupply() {
649
+ return this.contract.read.totalSupply();
650
+ }
651
+ /**
652
+ * approve
653
+ * nonpayable
654
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
655
+ */
656
+ async approve(spender, value, options) {
657
+ if (!this.contract.write) {
658
+ throw new Error('Wallet client is required for write operations');
659
+ }
660
+ return this.contract.write.approve([spender, value], options);
661
+ }
662
+ /**
663
+ * decreaseApproval
664
+ * nonpayable
665
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
666
+ */
667
+ async decreaseApproval(spender, subtractedValue, options) {
668
+ if (!this.contract.write) {
669
+ throw new Error('Wallet client is required for write operations');
670
+ }
671
+ return this.contract.write.decreaseApproval([spender, subtractedValue], options);
672
+ }
673
+ /**
674
+ * increaseApproval
675
+ * nonpayable
676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
677
+ */
678
+ async increaseApproval(spender, addedValue, options) {
679
+ if (!this.contract.write) {
680
+ throw new Error('Wallet client is required for write operations');
681
+ }
682
+ return this.contract.write.increaseApproval([spender, addedValue], options);
683
+ }
684
+ /**
685
+ * mint
686
+ * nonpayable
687
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
688
+ */
689
+ async mint(to, value, options) {
690
+ if (!this.contract.write) {
691
+ throw new Error('Wallet client is required for write operations');
692
+ }
693
+ return this.contract.write.mint([to, value], options);
694
+ }
695
+ /**
696
+ * setLogoURI
697
+ * nonpayable
698
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
699
+ */
700
+ async setLogoURI(newURI, options) {
701
+ if (!this.contract.write) {
702
+ throw new Error('Wallet client is required for write operations');
703
+ }
704
+ return this.contract.write.setLogoURI([newURI], options);
705
+ }
706
+ /**
707
+ * setName
708
+ * nonpayable
709
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
710
+ */
711
+ async setName(newName, options) {
712
+ if (!this.contract.write) {
713
+ throw new Error('Wallet client is required for write operations');
714
+ }
715
+ return this.contract.write.setName([newName], options);
716
+ }
717
+ /**
718
+ * setSymbol
719
+ * nonpayable
720
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
721
+ */
722
+ async setSymbol(newSymbol, options) {
723
+ if (!this.contract.write) {
724
+ throw new Error('Wallet client is required for write operations');
725
+ }
726
+ return this.contract.write.setSymbol([newSymbol], options);
727
+ }
728
+ /**
729
+ * setTokenURI
730
+ * nonpayable
731
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
732
+ */
733
+ async setTokenURI(newURI, options) {
734
+ if (!this.contract.write) {
735
+ throw new Error('Wallet client is required for write operations');
736
+ }
737
+ return this.contract.write.setTokenURI([newURI], options);
738
+ }
739
+ /**
740
+ * transfer
741
+ * nonpayable
742
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
743
+ */
744
+ async transfer(to, value, options) {
745
+ if (!this.contract.write) {
746
+ throw new Error('Wallet client is required for write operations');
747
+ }
748
+ return this.contract.write.transfer([to, value], options);
749
+ }
750
+ /**
751
+ * transferFrom
752
+ * nonpayable
753
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
754
+ */
755
+ async transferFrom(from, to, value, options) {
756
+ if (!this.contract.write) {
757
+ throw new Error('Wallet client is required for write operations');
758
+ }
759
+ return this.contract.write.transferFrom([from, to, value], options);
760
+ }
761
+ /**
762
+ * transferOwnership
763
+ * nonpayable
764
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
765
+ */
766
+ async transferOwnership(newOwner, options) {
767
+ if (!this.contract.write) {
768
+ throw new Error('Wallet client is required for write operations');
769
+ }
770
+ return this.contract.write.transferOwnership([newOwner], options);
771
+ }
772
+ /**
773
+ * Simulate contract write operations (dry-run without sending transaction)
774
+ *
775
+ * @example
776
+ * const result = await contract.simulate.transfer('0x...', 1000n);
777
+ * console.log('Gas estimate:', result.request.gas);
778
+ * console.log('Would succeed:', result.result);
779
+ */
780
+ get simulate() {
781
+ const contract = this.contract;
782
+ if (!contract.simulate) {
783
+ throw new Error('Public client is required for simulation');
784
+ }
785
+ return {
786
+ /**
787
+ * Simulate approve
788
+ * Returns gas estimate and result without sending transaction
789
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
790
+ */
791
+ async approve(spender, value, options) {
792
+ return contract.simulate.approve([spender, value], options);
793
+ },
794
+ /**
795
+ * Simulate decreaseApproval
796
+ * Returns gas estimate and result without sending transaction
797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
798
+ */
799
+ async decreaseApproval(spender, subtractedValue, options) {
800
+ return contract.simulate.decreaseApproval([spender, subtractedValue], options);
801
+ },
802
+ /**
803
+ * Simulate increaseApproval
804
+ * Returns gas estimate and result without sending transaction
805
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
806
+ */
807
+ async increaseApproval(spender, addedValue, options) {
808
+ return contract.simulate.increaseApproval([spender, addedValue], options);
809
+ },
810
+ /**
811
+ * Simulate mint
812
+ * Returns gas estimate and result without sending transaction
813
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
814
+ */
815
+ async mint(to, value, options) {
816
+ return contract.simulate.mint([to, value], options);
817
+ },
818
+ /**
819
+ * Simulate setLogoURI
820
+ * Returns gas estimate and result without sending transaction
821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
822
+ */
823
+ async setLogoURI(newURI, options) {
824
+ return contract.simulate.setLogoURI([newURI], options);
825
+ },
826
+ /**
827
+ * Simulate setName
828
+ * Returns gas estimate and result without sending transaction
829
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
830
+ */
831
+ async setName(newName, options) {
832
+ return contract.simulate.setName([newName], options);
833
+ },
834
+ /**
835
+ * Simulate setSymbol
836
+ * Returns gas estimate and result without sending transaction
837
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
838
+ */
839
+ async setSymbol(newSymbol, options) {
840
+ return contract.simulate.setSymbol([newSymbol], options);
841
+ },
842
+ /**
843
+ * Simulate setTokenURI
844
+ * Returns gas estimate and result without sending transaction
845
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
846
+ */
847
+ async setTokenURI(newURI, options) {
848
+ return contract.simulate.setTokenURI([newURI], options);
849
+ },
850
+ /**
851
+ * Simulate transfer
852
+ * Returns gas estimate and result without sending transaction
853
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
854
+ */
855
+ async transfer(to, value, options) {
856
+ return contract.simulate.transfer([to, value], options);
857
+ },
858
+ /**
859
+ * Simulate transferFrom
860
+ * Returns gas estimate and result without sending transaction
861
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
862
+ */
863
+ async transferFrom(from, to, value, options) {
864
+ return contract.simulate.transferFrom([from, to, value], options);
865
+ },
866
+ /**
867
+ * Simulate transferOwnership
868
+ * Returns gas estimate and result without sending transaction
869
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
870
+ */
871
+ async transferOwnership(newOwner, options) {
872
+ return contract.simulate.transferOwnership([newOwner], options);
873
+ }
874
+ };
875
+ }
876
+ /**
877
+ * Watch contract events
878
+ *
879
+ * @example
880
+ * // Watch all Transfer events
881
+ * const unwatch = contract.watch.Transfer((event) => {
882
+ * console.log('Transfer:', event);
883
+ * });
884
+ *
885
+ * // Stop watching
886
+ * unwatch();
887
+ */
888
+ get watch() {
889
+ return {
890
+ /**
891
+ * Watch Approval events
892
+ * @param callback Function to call when event is emitted
893
+ * @param filter Optional filter for indexed parameters
894
+ * @returns Unwatch function to stop listening
895
+ */
896
+ Approval: (callback, filter) => {
897
+ return this.publicClient.watchContractEvent({
898
+ address: this.contractAddress,
899
+ abi: exports.MusdtMintable_jsonAbi,
900
+ eventName: 'Approval',
901
+ args: filter,
902
+ onLogs: (logs) => {
903
+ logs.forEach((log) => {
904
+ callback(log.args);
905
+ });
906
+ },
907
+ });
908
+ },
909
+ /**
910
+ * Watch LogoURIChanged events
911
+ * @param callback Function to call when event is emitted
912
+ * @param filter Optional filter for indexed parameters
913
+ * @returns Unwatch function to stop listening
914
+ */
915
+ LogoURIChanged: (callback) => {
916
+ return this.publicClient.watchContractEvent({
917
+ address: this.contractAddress,
918
+ abi: exports.MusdtMintable_jsonAbi,
919
+ eventName: 'LogoURIChanged',
920
+ onLogs: (logs) => {
921
+ logs.forEach((log) => {
922
+ callback(log.args);
923
+ });
924
+ },
925
+ });
926
+ },
927
+ /**
928
+ * Watch NameChanged events
929
+ * @param callback Function to call when event is emitted
930
+ * @param filter Optional filter for indexed parameters
931
+ * @returns Unwatch function to stop listening
932
+ */
933
+ NameChanged: (callback) => {
934
+ return this.publicClient.watchContractEvent({
935
+ address: this.contractAddress,
936
+ abi: exports.MusdtMintable_jsonAbi,
937
+ eventName: 'NameChanged',
938
+ onLogs: (logs) => {
939
+ logs.forEach((log) => {
940
+ callback(log.args);
941
+ });
942
+ },
943
+ });
944
+ },
945
+ /**
946
+ * Watch OwnershipTransferred events
947
+ * @param callback Function to call when event is emitted
948
+ * @param filter Optional filter for indexed parameters
949
+ * @returns Unwatch function to stop listening
950
+ */
951
+ OwnershipTransferred: (callback, filter) => {
952
+ return this.publicClient.watchContractEvent({
953
+ address: this.contractAddress,
954
+ abi: exports.MusdtMintable_jsonAbi,
955
+ eventName: 'OwnershipTransferred',
956
+ args: filter,
957
+ onLogs: (logs) => {
958
+ logs.forEach((log) => {
959
+ callback(log.args);
960
+ });
961
+ },
962
+ });
963
+ },
964
+ /**
965
+ * Watch SymbolChanged events
966
+ * @param callback Function to call when event is emitted
967
+ * @param filter Optional filter for indexed parameters
968
+ * @returns Unwatch function to stop listening
969
+ */
970
+ SymbolChanged: (callback) => {
971
+ return this.publicClient.watchContractEvent({
972
+ address: this.contractAddress,
973
+ abi: exports.MusdtMintable_jsonAbi,
974
+ eventName: 'SymbolChanged',
975
+ onLogs: (logs) => {
976
+ logs.forEach((log) => {
977
+ callback(log.args);
978
+ });
979
+ },
980
+ });
981
+ },
982
+ /**
983
+ * Watch TokenURIChanged events
984
+ * @param callback Function to call when event is emitted
985
+ * @param filter Optional filter for indexed parameters
986
+ * @returns Unwatch function to stop listening
987
+ */
988
+ TokenURIChanged: (callback) => {
989
+ return this.publicClient.watchContractEvent({
990
+ address: this.contractAddress,
991
+ abi: exports.MusdtMintable_jsonAbi,
992
+ eventName: 'TokenURIChanged',
993
+ onLogs: (logs) => {
994
+ logs.forEach((log) => {
995
+ callback(log.args);
996
+ });
997
+ },
998
+ });
999
+ },
1000
+ /**
1001
+ * Watch Transfer events
1002
+ * @param callback Function to call when event is emitted
1003
+ * @param filter Optional filter for indexed parameters
1004
+ * @returns Unwatch function to stop listening
1005
+ */
1006
+ Transfer: (callback, filter) => {
1007
+ return this.publicClient.watchContractEvent({
1008
+ address: this.contractAddress,
1009
+ abi: exports.MusdtMintable_jsonAbi,
1010
+ eventName: 'Transfer',
1011
+ args: filter,
1012
+ onLogs: (logs) => {
1013
+ logs.forEach((log) => {
1014
+ callback(log.args);
1015
+ });
1016
+ },
1017
+ });
1018
+ }
1019
+ };
1020
+ }
1021
+ }
1022
+ exports.MusdtMintable_json = MusdtMintable_json;