@gitmyabi/cc 1.0.1

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