@gitmyabi/unqt 0.0.0-stage → 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,782 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * UniqueUtilityToken ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const UniqueUtilityTokenAbi: readonly [{
8
+ readonly inputs: readonly [];
9
+ readonly stateMutability: "nonpayable";
10
+ readonly type: "constructor";
11
+ }, {
12
+ readonly anonymous: false;
13
+ readonly inputs: readonly [{
14
+ readonly indexed: true;
15
+ readonly internalType: "address";
16
+ readonly name: "owner";
17
+ readonly type: "address";
18
+ }, {
19
+ readonly indexed: true;
20
+ readonly internalType: "address";
21
+ readonly name: "spender";
22
+ readonly type: "address";
23
+ }, {
24
+ readonly indexed: false;
25
+ readonly internalType: "uint256";
26
+ readonly name: "value";
27
+ readonly type: "uint256";
28
+ }];
29
+ readonly name: "Approval";
30
+ readonly type: "event";
31
+ }, {
32
+ readonly anonymous: false;
33
+ readonly inputs: readonly [{
34
+ readonly indexed: true;
35
+ readonly internalType: "address";
36
+ readonly name: "_from";
37
+ readonly type: "address";
38
+ }, {
39
+ readonly indexed: true;
40
+ readonly internalType: "address";
41
+ readonly name: "_to";
42
+ readonly type: "address";
43
+ }];
44
+ readonly name: "OwnershipTransferred";
45
+ readonly type: "event";
46
+ }, {
47
+ readonly anonymous: false;
48
+ readonly inputs: readonly [{
49
+ readonly indexed: true;
50
+ readonly internalType: "address";
51
+ readonly name: "from";
52
+ readonly type: "address";
53
+ }, {
54
+ readonly indexed: true;
55
+ readonly internalType: "address";
56
+ readonly name: "to";
57
+ readonly type: "address";
58
+ }, {
59
+ readonly indexed: false;
60
+ readonly internalType: "uint256";
61
+ readonly name: "value";
62
+ readonly type: "uint256";
63
+ }];
64
+ readonly name: "Transfer";
65
+ readonly type: "event";
66
+ }, {
67
+ readonly inputs: readonly [];
68
+ readonly name: "_totalSupply";
69
+ readonly outputs: readonly [{
70
+ readonly internalType: "uint256";
71
+ readonly name: "";
72
+ readonly type: "uint256";
73
+ }];
74
+ readonly stateMutability: "view";
75
+ readonly type: "function";
76
+ }, {
77
+ readonly inputs: readonly [];
78
+ readonly name: "acceptOwnership";
79
+ readonly outputs: readonly [];
80
+ readonly stateMutability: "nonpayable";
81
+ readonly type: "function";
82
+ }, {
83
+ readonly inputs: readonly [{
84
+ readonly internalType: "address";
85
+ readonly name: "tokenOwner";
86
+ readonly type: "address";
87
+ }, {
88
+ readonly internalType: "address";
89
+ readonly name: "spender";
90
+ readonly type: "address";
91
+ }];
92
+ readonly name: "allowance";
93
+ readonly outputs: readonly [{
94
+ readonly internalType: "uint256";
95
+ readonly name: "remaining";
96
+ readonly type: "uint256";
97
+ }];
98
+ readonly stateMutability: "view";
99
+ readonly type: "function";
100
+ }, {
101
+ readonly inputs: readonly [{
102
+ readonly internalType: "address";
103
+ readonly name: "spender";
104
+ readonly type: "address";
105
+ }, {
106
+ readonly internalType: "uint256";
107
+ readonly name: "tokens";
108
+ readonly type: "uint256";
109
+ }];
110
+ readonly name: "approve";
111
+ readonly outputs: readonly [{
112
+ readonly internalType: "bool";
113
+ readonly name: "success";
114
+ readonly type: "bool";
115
+ }];
116
+ readonly stateMutability: "nonpayable";
117
+ readonly type: "function";
118
+ }, {
119
+ readonly inputs: readonly [{
120
+ readonly internalType: "address";
121
+ readonly name: "spender";
122
+ readonly type: "address";
123
+ }, {
124
+ readonly internalType: "uint256";
125
+ readonly name: "tokens";
126
+ readonly type: "uint256";
127
+ }, {
128
+ readonly internalType: "bytes";
129
+ readonly name: "data";
130
+ readonly type: "bytes";
131
+ }];
132
+ readonly name: "approveAndCall";
133
+ readonly outputs: readonly [{
134
+ readonly internalType: "bool";
135
+ readonly name: "success";
136
+ readonly type: "bool";
137
+ }];
138
+ readonly stateMutability: "nonpayable";
139
+ readonly type: "function";
140
+ }, {
141
+ readonly inputs: readonly [{
142
+ readonly internalType: "address";
143
+ readonly name: "tokenOwner";
144
+ readonly type: "address";
145
+ }];
146
+ readonly name: "balanceOf";
147
+ readonly outputs: readonly [{
148
+ readonly internalType: "uint256";
149
+ readonly name: "balance";
150
+ readonly type: "uint256";
151
+ }];
152
+ readonly stateMutability: "view";
153
+ readonly type: "function";
154
+ }, {
155
+ readonly inputs: readonly [];
156
+ readonly name: "decimals";
157
+ readonly outputs: readonly [{
158
+ readonly internalType: "uint8";
159
+ readonly name: "";
160
+ readonly type: "uint8";
161
+ }];
162
+ readonly stateMutability: "view";
163
+ readonly type: "function";
164
+ }, {
165
+ readonly inputs: readonly [];
166
+ readonly name: "name";
167
+ readonly outputs: readonly [{
168
+ readonly internalType: "string";
169
+ readonly name: "";
170
+ readonly type: "string";
171
+ }];
172
+ readonly stateMutability: "view";
173
+ readonly type: "function";
174
+ }, {
175
+ readonly inputs: readonly [];
176
+ readonly name: "newOwner";
177
+ readonly outputs: readonly [{
178
+ readonly internalType: "address";
179
+ readonly name: "";
180
+ readonly type: "address";
181
+ }];
182
+ readonly stateMutability: "view";
183
+ readonly type: "function";
184
+ }, {
185
+ readonly inputs: readonly [];
186
+ readonly name: "owner";
187
+ readonly outputs: readonly [{
188
+ readonly internalType: "address";
189
+ readonly name: "";
190
+ readonly type: "address";
191
+ }];
192
+ readonly stateMutability: "view";
193
+ readonly type: "function";
194
+ }, {
195
+ readonly inputs: readonly [{
196
+ readonly internalType: "uint256";
197
+ readonly name: "a";
198
+ readonly type: "uint256";
199
+ }, {
200
+ readonly internalType: "uint256";
201
+ readonly name: "b";
202
+ readonly type: "uint256";
203
+ }];
204
+ readonly name: "safeAdd";
205
+ readonly outputs: readonly [{
206
+ readonly internalType: "uint256";
207
+ readonly name: "c";
208
+ readonly type: "uint256";
209
+ }];
210
+ readonly stateMutability: "pure";
211
+ readonly type: "function";
212
+ }, {
213
+ readonly inputs: readonly [{
214
+ readonly internalType: "uint256";
215
+ readonly name: "a";
216
+ readonly type: "uint256";
217
+ }, {
218
+ readonly internalType: "uint256";
219
+ readonly name: "b";
220
+ readonly type: "uint256";
221
+ }];
222
+ readonly name: "safeDiv";
223
+ readonly outputs: readonly [{
224
+ readonly internalType: "uint256";
225
+ readonly name: "c";
226
+ readonly type: "uint256";
227
+ }];
228
+ readonly stateMutability: "pure";
229
+ readonly type: "function";
230
+ }, {
231
+ readonly inputs: readonly [{
232
+ readonly internalType: "uint256";
233
+ readonly name: "a";
234
+ readonly type: "uint256";
235
+ }, {
236
+ readonly internalType: "uint256";
237
+ readonly name: "b";
238
+ readonly type: "uint256";
239
+ }];
240
+ readonly name: "safeMul";
241
+ readonly outputs: readonly [{
242
+ readonly internalType: "uint256";
243
+ readonly name: "c";
244
+ readonly type: "uint256";
245
+ }];
246
+ readonly stateMutability: "pure";
247
+ readonly type: "function";
248
+ }, {
249
+ readonly inputs: readonly [{
250
+ readonly internalType: "uint256";
251
+ readonly name: "a";
252
+ readonly type: "uint256";
253
+ }, {
254
+ readonly internalType: "uint256";
255
+ readonly name: "b";
256
+ readonly type: "uint256";
257
+ }];
258
+ readonly name: "safeSub";
259
+ readonly outputs: readonly [{
260
+ readonly internalType: "uint256";
261
+ readonly name: "c";
262
+ readonly type: "uint256";
263
+ }];
264
+ readonly stateMutability: "pure";
265
+ readonly type: "function";
266
+ }, {
267
+ readonly inputs: readonly [];
268
+ readonly name: "symbol";
269
+ readonly outputs: readonly [{
270
+ readonly internalType: "string";
271
+ readonly name: "";
272
+ readonly type: "string";
273
+ }];
274
+ readonly stateMutability: "view";
275
+ readonly type: "function";
276
+ }, {
277
+ readonly inputs: readonly [];
278
+ readonly name: "totalSupply";
279
+ readonly outputs: readonly [{
280
+ readonly internalType: "uint256";
281
+ readonly name: "";
282
+ readonly type: "uint256";
283
+ }];
284
+ readonly stateMutability: "view";
285
+ readonly type: "function";
286
+ }, {
287
+ readonly inputs: readonly [{
288
+ readonly internalType: "address";
289
+ readonly name: "to";
290
+ readonly type: "address";
291
+ }, {
292
+ readonly internalType: "uint256";
293
+ readonly name: "tokens";
294
+ readonly type: "uint256";
295
+ }];
296
+ readonly name: "transfer";
297
+ readonly outputs: readonly [{
298
+ readonly internalType: "bool";
299
+ readonly name: "success";
300
+ readonly type: "bool";
301
+ }];
302
+ readonly stateMutability: "nonpayable";
303
+ readonly type: "function";
304
+ }, {
305
+ readonly inputs: readonly [{
306
+ readonly internalType: "address";
307
+ readonly name: "tokenAddress";
308
+ readonly type: "address";
309
+ }, {
310
+ readonly internalType: "uint256";
311
+ readonly name: "tokens";
312
+ readonly type: "uint256";
313
+ }];
314
+ readonly name: "transferAnyERC20Token";
315
+ readonly outputs: readonly [{
316
+ readonly internalType: "bool";
317
+ readonly name: "success";
318
+ readonly type: "bool";
319
+ }];
320
+ readonly stateMutability: "nonpayable";
321
+ readonly type: "function";
322
+ }, {
323
+ readonly inputs: readonly [{
324
+ readonly internalType: "address";
325
+ readonly name: "from";
326
+ readonly type: "address";
327
+ }, {
328
+ readonly internalType: "address";
329
+ readonly name: "to";
330
+ readonly type: "address";
331
+ }, {
332
+ readonly internalType: "uint256";
333
+ readonly name: "tokens";
334
+ readonly type: "uint256";
335
+ }];
336
+ readonly name: "transferFrom";
337
+ readonly outputs: readonly [{
338
+ readonly internalType: "bool";
339
+ readonly name: "success";
340
+ readonly type: "bool";
341
+ }];
342
+ readonly stateMutability: "nonpayable";
343
+ readonly type: "function";
344
+ }, {
345
+ readonly inputs: readonly [{
346
+ readonly internalType: "address";
347
+ readonly name: "_newOwner";
348
+ readonly type: "address";
349
+ }];
350
+ readonly name: "transferOwnership";
351
+ readonly outputs: readonly [];
352
+ readonly stateMutability: "nonpayable";
353
+ readonly type: "function";
354
+ }, {
355
+ readonly stateMutability: "payable";
356
+ readonly type: "receive";
357
+ }];
358
+ /**
359
+ * Type-safe ABI for UniqueUtilityToken
360
+ */
361
+ export type UniqueUtilityTokenAbi = typeof UniqueUtilityTokenAbi;
362
+ /**
363
+ * Contract instance type for UniqueUtilityToken
364
+ */
365
+ export type UniqueUtilityTokenContract = any;
366
+ /**
367
+ * UniqueUtilityToken Contract Class
368
+ *
369
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * import { createPublicClient, createWalletClient, http } from 'viem';
374
+ * import { mainnet } from 'viem/chains';
375
+ * import { UniqueUtilityToken } from 'UniqueUtilityToken';
376
+ *
377
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
378
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
379
+ *
380
+ * const contract = new UniqueUtilityToken('0x...', { publicClient, walletClient });
381
+ *
382
+ * // Read functions
383
+ * const result = await contract.balanceOf('0x...');
384
+ *
385
+ * // Write functions
386
+ * const hash = await contract.transfer('0x...', 1000n);
387
+ *
388
+ * // Simulate transactions (dry-run)
389
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
390
+ * console.log('Gas estimate:', simulation.request.gas);
391
+ *
392
+ * // Watch events
393
+ * const unwatch = contract.watch.Transfer((event) => {
394
+ * console.log('Transfer event:', event);
395
+ * });
396
+ * ```
397
+ */
398
+ export declare class UniqueUtilityToken {
399
+ private contract;
400
+ private contractAddress;
401
+ private publicClient;
402
+ constructor(address: Address, clients: {
403
+ publicClient: PublicClient;
404
+ walletClient?: WalletClient;
405
+ });
406
+ /**
407
+ * Get the contract address
408
+ */
409
+ get address(): Address;
410
+ /**
411
+ * Get the underlying viem contract instance.
412
+ */
413
+ getContract(): UniqueUtilityTokenContract;
414
+ /**
415
+ * _totalSupply
416
+ * view
417
+ */
418
+ _totalSupply(): Promise<bigint>;
419
+ /**
420
+ * allowance
421
+ * view
422
+ */
423
+ allowance(tokenOwner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
424
+ /**
425
+ * balanceOf
426
+ * view
427
+ */
428
+ balanceOf(tokenOwner: `0x${string}`): Promise<bigint>;
429
+ /**
430
+ * decimals
431
+ * view
432
+ */
433
+ decimals(): Promise<bigint>;
434
+ /**
435
+ * name
436
+ * view
437
+ */
438
+ name(): Promise<string>;
439
+ /**
440
+ * newOwner
441
+ * view
442
+ */
443
+ newOwner(): Promise<`0x${string}`>;
444
+ /**
445
+ * owner
446
+ * view
447
+ */
448
+ owner(): Promise<`0x${string}`>;
449
+ /**
450
+ * safeAdd
451
+ * pure
452
+ */
453
+ safeAdd(a: bigint, b: bigint): Promise<bigint>;
454
+ /**
455
+ * safeDiv
456
+ * pure
457
+ */
458
+ safeDiv(a: bigint, b: bigint): Promise<bigint>;
459
+ /**
460
+ * safeMul
461
+ * pure
462
+ */
463
+ safeMul(a: bigint, b: bigint): Promise<bigint>;
464
+ /**
465
+ * safeSub
466
+ * pure
467
+ */
468
+ safeSub(a: bigint, b: bigint): Promise<bigint>;
469
+ /**
470
+ * symbol
471
+ * view
472
+ */
473
+ symbol(): Promise<string>;
474
+ /**
475
+ * totalSupply
476
+ * view
477
+ */
478
+ totalSupply(): Promise<bigint>;
479
+ /**
480
+ * acceptOwnership
481
+ * nonpayable
482
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
483
+ */
484
+ acceptOwnership(options?: {
485
+ accessList?: import('viem').AccessList;
486
+ authorizationList?: import('viem').AuthorizationList;
487
+ chain?: import('viem').Chain | null;
488
+ dataSuffix?: `0x${string}`;
489
+ gas?: bigint;
490
+ gasPrice?: bigint;
491
+ maxFeePerGas?: bigint;
492
+ maxPriorityFeePerGas?: bigint;
493
+ nonce?: number;
494
+ value?: bigint;
495
+ }): Promise<`0x${string}`>;
496
+ /**
497
+ * approve
498
+ * nonpayable
499
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
500
+ */
501
+ approve(spender: `0x${string}`, tokens: bigint, options?: {
502
+ accessList?: import('viem').AccessList;
503
+ authorizationList?: import('viem').AuthorizationList;
504
+ chain?: import('viem').Chain | null;
505
+ dataSuffix?: `0x${string}`;
506
+ gas?: bigint;
507
+ gasPrice?: bigint;
508
+ maxFeePerGas?: bigint;
509
+ maxPriorityFeePerGas?: bigint;
510
+ nonce?: number;
511
+ value?: bigint;
512
+ }): Promise<`0x${string}`>;
513
+ /**
514
+ * approveAndCall
515
+ * nonpayable
516
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
517
+ */
518
+ approveAndCall(spender: `0x${string}`, tokens: bigint, data: `0x${string}`, options?: {
519
+ accessList?: import('viem').AccessList;
520
+ authorizationList?: import('viem').AuthorizationList;
521
+ chain?: import('viem').Chain | null;
522
+ dataSuffix?: `0x${string}`;
523
+ gas?: bigint;
524
+ gasPrice?: bigint;
525
+ maxFeePerGas?: bigint;
526
+ maxPriorityFeePerGas?: bigint;
527
+ nonce?: number;
528
+ value?: bigint;
529
+ }): Promise<`0x${string}`>;
530
+ /**
531
+ * transfer
532
+ * nonpayable
533
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
534
+ */
535
+ transfer(to: `0x${string}`, tokens: bigint, options?: {
536
+ accessList?: import('viem').AccessList;
537
+ authorizationList?: import('viem').AuthorizationList;
538
+ chain?: import('viem').Chain | null;
539
+ dataSuffix?: `0x${string}`;
540
+ gas?: bigint;
541
+ gasPrice?: bigint;
542
+ maxFeePerGas?: bigint;
543
+ maxPriorityFeePerGas?: bigint;
544
+ nonce?: number;
545
+ value?: bigint;
546
+ }): Promise<`0x${string}`>;
547
+ /**
548
+ * transferAnyERC20Token
549
+ * nonpayable
550
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
551
+ */
552
+ transferAnyERC20Token(tokenAddress: `0x${string}`, tokens: bigint, options?: {
553
+ accessList?: import('viem').AccessList;
554
+ authorizationList?: import('viem').AuthorizationList;
555
+ chain?: import('viem').Chain | null;
556
+ dataSuffix?: `0x${string}`;
557
+ gas?: bigint;
558
+ gasPrice?: bigint;
559
+ maxFeePerGas?: bigint;
560
+ maxPriorityFeePerGas?: bigint;
561
+ nonce?: number;
562
+ value?: bigint;
563
+ }): Promise<`0x${string}`>;
564
+ /**
565
+ * transferFrom
566
+ * nonpayable
567
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
568
+ */
569
+ transferFrom(from: `0x${string}`, to: `0x${string}`, tokens: bigint, options?: {
570
+ accessList?: import('viem').AccessList;
571
+ authorizationList?: import('viem').AuthorizationList;
572
+ chain?: import('viem').Chain | null;
573
+ dataSuffix?: `0x${string}`;
574
+ gas?: bigint;
575
+ gasPrice?: bigint;
576
+ maxFeePerGas?: bigint;
577
+ maxPriorityFeePerGas?: bigint;
578
+ nonce?: number;
579
+ value?: bigint;
580
+ }): Promise<`0x${string}`>;
581
+ /**
582
+ * transferOwnership
583
+ * nonpayable
584
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
585
+ */
586
+ transferOwnership(_newOwner: `0x${string}`, options?: {
587
+ accessList?: import('viem').AccessList;
588
+ authorizationList?: import('viem').AuthorizationList;
589
+ chain?: import('viem').Chain | null;
590
+ dataSuffix?: `0x${string}`;
591
+ gas?: bigint;
592
+ gasPrice?: bigint;
593
+ maxFeePerGas?: bigint;
594
+ maxPriorityFeePerGas?: bigint;
595
+ nonce?: number;
596
+ value?: bigint;
597
+ }): Promise<`0x${string}`>;
598
+ /**
599
+ * Simulate contract write operations (dry-run without sending transaction)
600
+ *
601
+ * @example
602
+ * const result = await contract.simulate.transfer('0x...', 1000n);
603
+ * console.log('Gas estimate:', result.request.gas);
604
+ * console.log('Would succeed:', result.result);
605
+ */
606
+ get simulate(): {
607
+ /**
608
+ * Simulate acceptOwnership
609
+ * Returns gas estimate and result without sending transaction
610
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
611
+ */
612
+ acceptOwnership(options?: {
613
+ accessList?: import("viem").AccessList;
614
+ authorizationList?: import("viem").AuthorizationList;
615
+ chain?: import("viem").Chain | null;
616
+ dataSuffix?: `0x${string}`;
617
+ gas?: bigint;
618
+ gasPrice?: bigint;
619
+ maxFeePerGas?: bigint;
620
+ maxPriorityFeePerGas?: bigint;
621
+ nonce?: number;
622
+ value?: bigint;
623
+ }): Promise<void>;
624
+ /**
625
+ * Simulate approve
626
+ * Returns gas estimate and result without sending transaction
627
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
628
+ */
629
+ approve(spender: `0x${string}`, tokens: bigint, options?: {
630
+ accessList?: import("viem").AccessList;
631
+ authorizationList?: import("viem").AuthorizationList;
632
+ chain?: import("viem").Chain | null;
633
+ dataSuffix?: `0x${string}`;
634
+ gas?: bigint;
635
+ gasPrice?: bigint;
636
+ maxFeePerGas?: bigint;
637
+ maxPriorityFeePerGas?: bigint;
638
+ nonce?: number;
639
+ value?: bigint;
640
+ }): Promise<boolean>;
641
+ /**
642
+ * Simulate approveAndCall
643
+ * Returns gas estimate and result without sending transaction
644
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
645
+ */
646
+ approveAndCall(spender: `0x${string}`, tokens: bigint, data: `0x${string}`, options?: {
647
+ accessList?: import("viem").AccessList;
648
+ authorizationList?: import("viem").AuthorizationList;
649
+ chain?: import("viem").Chain | null;
650
+ dataSuffix?: `0x${string}`;
651
+ gas?: bigint;
652
+ gasPrice?: bigint;
653
+ maxFeePerGas?: bigint;
654
+ maxPriorityFeePerGas?: bigint;
655
+ nonce?: number;
656
+ value?: bigint;
657
+ }): Promise<boolean>;
658
+ /**
659
+ * Simulate transfer
660
+ * Returns gas estimate and result without sending transaction
661
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
662
+ */
663
+ transfer(to: `0x${string}`, tokens: bigint, options?: {
664
+ accessList?: import("viem").AccessList;
665
+ authorizationList?: import("viem").AuthorizationList;
666
+ chain?: import("viem").Chain | null;
667
+ dataSuffix?: `0x${string}`;
668
+ gas?: bigint;
669
+ gasPrice?: bigint;
670
+ maxFeePerGas?: bigint;
671
+ maxPriorityFeePerGas?: bigint;
672
+ nonce?: number;
673
+ value?: bigint;
674
+ }): Promise<boolean>;
675
+ /**
676
+ * Simulate transferAnyERC20Token
677
+ * Returns gas estimate and result without sending transaction
678
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
679
+ */
680
+ transferAnyERC20Token(tokenAddress: `0x${string}`, tokens: bigint, options?: {
681
+ accessList?: import("viem").AccessList;
682
+ authorizationList?: import("viem").AuthorizationList;
683
+ chain?: import("viem").Chain | null;
684
+ dataSuffix?: `0x${string}`;
685
+ gas?: bigint;
686
+ gasPrice?: bigint;
687
+ maxFeePerGas?: bigint;
688
+ maxPriorityFeePerGas?: bigint;
689
+ nonce?: number;
690
+ value?: bigint;
691
+ }): Promise<boolean>;
692
+ /**
693
+ * Simulate transferFrom
694
+ * Returns gas estimate and result without sending transaction
695
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
696
+ */
697
+ transferFrom(from: `0x${string}`, to: `0x${string}`, tokens: bigint, options?: {
698
+ accessList?: import("viem").AccessList;
699
+ authorizationList?: import("viem").AuthorizationList;
700
+ chain?: import("viem").Chain | null;
701
+ dataSuffix?: `0x${string}`;
702
+ gas?: bigint;
703
+ gasPrice?: bigint;
704
+ maxFeePerGas?: bigint;
705
+ maxPriorityFeePerGas?: bigint;
706
+ nonce?: number;
707
+ value?: bigint;
708
+ }): Promise<boolean>;
709
+ /**
710
+ * Simulate transferOwnership
711
+ * Returns gas estimate and result without sending transaction
712
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
713
+ */
714
+ transferOwnership(_newOwner: `0x${string}`, options?: {
715
+ accessList?: import("viem").AccessList;
716
+ authorizationList?: import("viem").AuthorizationList;
717
+ chain?: import("viem").Chain | null;
718
+ dataSuffix?: `0x${string}`;
719
+ gas?: bigint;
720
+ gasPrice?: bigint;
721
+ maxFeePerGas?: bigint;
722
+ maxPriorityFeePerGas?: bigint;
723
+ nonce?: number;
724
+ value?: bigint;
725
+ }): Promise<void>;
726
+ };
727
+ /**
728
+ * Watch contract events
729
+ *
730
+ * @example
731
+ * // Watch all Transfer events
732
+ * const unwatch = contract.watch.Transfer((event) => {
733
+ * console.log('Transfer:', event);
734
+ * });
735
+ *
736
+ * // Stop watching
737
+ * unwatch();
738
+ */
739
+ get watch(): {
740
+ /**
741
+ * Watch Approval events
742
+ * @param callback Function to call when event is emitted
743
+ * @param filter Optional filter for indexed parameters
744
+ * @returns Unwatch function to stop listening
745
+ */
746
+ Approval: (callback: (event: {
747
+ owner: `0x${string}`;
748
+ spender: `0x${string}`;
749
+ value: bigint;
750
+ }) => void, filter?: {
751
+ owner?: `0x${string}` | `0x${string}`[] | null;
752
+ spender?: `0x${string}` | `0x${string}`[] | null;
753
+ }) => () => void;
754
+ /**
755
+ * Watch OwnershipTransferred events
756
+ * @param callback Function to call when event is emitted
757
+ * @param filter Optional filter for indexed parameters
758
+ * @returns Unwatch function to stop listening
759
+ */
760
+ OwnershipTransferred: (callback: (event: {
761
+ _from: `0x${string}`;
762
+ _to: `0x${string}`;
763
+ }) => void, filter?: {
764
+ _from?: `0x${string}` | `0x${string}`[] | null;
765
+ _to?: `0x${string}` | `0x${string}`[] | null;
766
+ }) => () => void;
767
+ /**
768
+ * Watch Transfer events
769
+ * @param callback Function to call when event is emitted
770
+ * @param filter Optional filter for indexed parameters
771
+ * @returns Unwatch function to stop listening
772
+ */
773
+ Transfer: (callback: (event: {
774
+ from: `0x${string}`;
775
+ to: `0x${string}`;
776
+ value: bigint;
777
+ }) => void, filter?: {
778
+ from?: `0x${string}` | `0x${string}`[] | null;
779
+ to?: `0x${string}` | `0x${string}`[] | null;
780
+ }) => () => void;
781
+ };
782
+ }