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