@gitmyabi/turbo 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,789 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * Turbo_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const Turbo_jsonAbi: 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: "previousOwner";
37
+ readonly type: "address";
38
+ }, {
39
+ readonly indexed: true;
40
+ readonly internalType: "address";
41
+ readonly name: "newOwner";
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 internalType: "address";
69
+ readonly name: "owner";
70
+ readonly type: "address";
71
+ }, {
72
+ readonly internalType: "address";
73
+ readonly name: "spender";
74
+ readonly type: "address";
75
+ }];
76
+ readonly name: "allowance";
77
+ readonly outputs: readonly [{
78
+ readonly internalType: "uint256";
79
+ readonly name: "";
80
+ readonly type: "uint256";
81
+ }];
82
+ readonly stateMutability: "view";
83
+ readonly type: "function";
84
+ }, {
85
+ readonly inputs: readonly [{
86
+ readonly internalType: "address";
87
+ readonly name: "spender";
88
+ readonly type: "address";
89
+ }, {
90
+ readonly internalType: "uint256";
91
+ readonly name: "amount";
92
+ readonly type: "uint256";
93
+ }];
94
+ readonly name: "approve";
95
+ readonly outputs: readonly [{
96
+ readonly internalType: "bool";
97
+ readonly name: "";
98
+ readonly type: "bool";
99
+ }];
100
+ readonly stateMutability: "nonpayable";
101
+ readonly type: "function";
102
+ }, {
103
+ readonly inputs: readonly [{
104
+ readonly internalType: "address";
105
+ readonly name: "account";
106
+ readonly type: "address";
107
+ }];
108
+ readonly name: "balanceOf";
109
+ readonly outputs: readonly [{
110
+ readonly internalType: "uint256";
111
+ readonly name: "";
112
+ readonly type: "uint256";
113
+ }];
114
+ readonly stateMutability: "view";
115
+ readonly type: "function";
116
+ }, {
117
+ readonly inputs: readonly [{
118
+ readonly internalType: "uint256";
119
+ readonly name: "amount";
120
+ readonly type: "uint256";
121
+ }];
122
+ readonly name: "burn";
123
+ readonly outputs: readonly [];
124
+ readonly stateMutability: "nonpayable";
125
+ readonly type: "function";
126
+ }, {
127
+ readonly inputs: readonly [{
128
+ readonly internalType: "address";
129
+ readonly name: "account";
130
+ readonly type: "address";
131
+ }, {
132
+ readonly internalType: "uint256";
133
+ readonly name: "amount";
134
+ readonly type: "uint256";
135
+ }];
136
+ readonly name: "burnFrom";
137
+ readonly outputs: readonly [];
138
+ readonly stateMutability: "nonpayable";
139
+ readonly type: "function";
140
+ }, {
141
+ readonly inputs: readonly [];
142
+ readonly name: "decimals";
143
+ readonly outputs: readonly [{
144
+ readonly internalType: "uint8";
145
+ readonly name: "";
146
+ readonly type: "uint8";
147
+ }];
148
+ readonly stateMutability: "view";
149
+ readonly type: "function";
150
+ }, {
151
+ readonly inputs: readonly [{
152
+ readonly internalType: "address";
153
+ readonly name: "spender";
154
+ readonly type: "address";
155
+ }, {
156
+ readonly internalType: "uint256";
157
+ readonly name: "subtractedValue";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly name: "decreaseAllowance";
161
+ readonly outputs: readonly [{
162
+ readonly internalType: "bool";
163
+ readonly name: "";
164
+ readonly type: "bool";
165
+ }];
166
+ readonly stateMutability: "nonpayable";
167
+ readonly type: "function";
168
+ }, {
169
+ readonly inputs: readonly [{
170
+ readonly internalType: "address";
171
+ readonly name: "distributionWallet";
172
+ readonly type: "address";
173
+ }];
174
+ readonly name: "distributeTokens";
175
+ readonly outputs: readonly [];
176
+ readonly stateMutability: "nonpayable";
177
+ readonly type: "function";
178
+ }, {
179
+ readonly inputs: readonly [{
180
+ readonly internalType: "address";
181
+ readonly name: "spender";
182
+ readonly type: "address";
183
+ }, {
184
+ readonly internalType: "uint256";
185
+ readonly name: "addedValue";
186
+ readonly type: "uint256";
187
+ }];
188
+ readonly name: "increaseAllowance";
189
+ readonly outputs: readonly [{
190
+ readonly internalType: "bool";
191
+ readonly name: "";
192
+ readonly type: "bool";
193
+ }];
194
+ readonly stateMutability: "nonpayable";
195
+ readonly type: "function";
196
+ }, {
197
+ readonly inputs: readonly [];
198
+ readonly name: "name";
199
+ readonly outputs: readonly [{
200
+ readonly internalType: "string";
201
+ readonly name: "";
202
+ readonly type: "string";
203
+ }];
204
+ readonly stateMutability: "view";
205
+ readonly type: "function";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "owner";
209
+ readonly outputs: readonly [{
210
+ readonly internalType: "address";
211
+ readonly name: "";
212
+ readonly type: "address";
213
+ }];
214
+ readonly stateMutability: "view";
215
+ readonly type: "function";
216
+ }, {
217
+ readonly inputs: readonly [];
218
+ readonly name: "renounceOwnership";
219
+ readonly outputs: readonly [];
220
+ readonly stateMutability: "nonpayable";
221
+ readonly type: "function";
222
+ }, {
223
+ readonly inputs: readonly [];
224
+ readonly name: "symbol";
225
+ readonly outputs: readonly [{
226
+ readonly internalType: "string";
227
+ readonly name: "";
228
+ readonly type: "string";
229
+ }];
230
+ readonly stateMutability: "view";
231
+ readonly type: "function";
232
+ }, {
233
+ readonly inputs: readonly [];
234
+ readonly name: "totalSupply";
235
+ readonly outputs: readonly [{
236
+ readonly internalType: "uint256";
237
+ readonly name: "";
238
+ readonly type: "uint256";
239
+ }];
240
+ readonly stateMutability: "view";
241
+ readonly type: "function";
242
+ }, {
243
+ readonly inputs: readonly [{
244
+ readonly internalType: "address";
245
+ readonly name: "to";
246
+ readonly type: "address";
247
+ }, {
248
+ readonly internalType: "uint256";
249
+ readonly name: "amount";
250
+ readonly type: "uint256";
251
+ }];
252
+ readonly name: "transfer";
253
+ readonly outputs: readonly [{
254
+ readonly internalType: "bool";
255
+ readonly name: "";
256
+ readonly type: "bool";
257
+ }];
258
+ readonly stateMutability: "nonpayable";
259
+ readonly type: "function";
260
+ }, {
261
+ readonly inputs: readonly [{
262
+ readonly internalType: "address";
263
+ readonly name: "from";
264
+ readonly type: "address";
265
+ }, {
266
+ readonly internalType: "address";
267
+ readonly name: "to";
268
+ readonly type: "address";
269
+ }, {
270
+ readonly internalType: "uint256";
271
+ readonly name: "amount";
272
+ readonly type: "uint256";
273
+ }];
274
+ readonly name: "transferFrom";
275
+ readonly outputs: readonly [{
276
+ readonly internalType: "bool";
277
+ readonly name: "";
278
+ readonly type: "bool";
279
+ }];
280
+ readonly stateMutability: "nonpayable";
281
+ readonly type: "function";
282
+ }, {
283
+ readonly inputs: readonly [{
284
+ readonly internalType: "address";
285
+ readonly name: "newOwner";
286
+ readonly type: "address";
287
+ }];
288
+ readonly name: "transferOwnership";
289
+ readonly outputs: readonly [];
290
+ readonly stateMutability: "nonpayable";
291
+ readonly type: "function";
292
+ }];
293
+ /**
294
+ * Type-safe ABI for Turbo_json
295
+ */
296
+ export type Turbo_jsonAbi = typeof Turbo_jsonAbi;
297
+ /**
298
+ * Contract instance type for Turbo_json
299
+ */
300
+ export type Turbo_jsonContract = any;
301
+ /**
302
+ * Turbo_json Contract Class
303
+ *
304
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
305
+ *
306
+ * @example
307
+ * ```typescript
308
+ * import { createPublicClient, createWalletClient, http } from 'viem';
309
+ * import { mainnet } from 'viem/chains';
310
+ * import { Turbo_json } from 'Turbo_json';
311
+ *
312
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
313
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
314
+ *
315
+ * const contract = new Turbo_json('0x...', { publicClient, walletClient });
316
+ *
317
+ * // Read functions
318
+ * const result = await contract.balanceOf('0x...');
319
+ *
320
+ * // Write functions
321
+ * const hash = await contract.transfer('0x...', 1000n);
322
+ *
323
+ * // Simulate transactions (dry-run)
324
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
325
+ * console.log('Gas estimate:', simulation.request.gas);
326
+ *
327
+ * // Watch events
328
+ * const unwatch = contract.watch.Transfer((event) => {
329
+ * console.log('Transfer event:', event);
330
+ * });
331
+ * ```
332
+ */
333
+ export declare class Turbo_json {
334
+ private contract;
335
+ private contractAddress;
336
+ private publicClient;
337
+ constructor(address: Address, clients: {
338
+ publicClient: PublicClient;
339
+ walletClient?: WalletClient;
340
+ });
341
+ /**
342
+ * Get the contract address
343
+ */
344
+ get address(): Address;
345
+ /**
346
+ * Get the underlying viem contract instance
347
+ */
348
+ getContract(): Turbo_jsonContract;
349
+ /**
350
+ * allowance
351
+ * view
352
+ */
353
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
354
+ /**
355
+ * balanceOf
356
+ * view
357
+ */
358
+ balanceOf(account: `0x${string}`): Promise<bigint>;
359
+ /**
360
+ * decimals
361
+ * view
362
+ */
363
+ decimals(): Promise<bigint>;
364
+ /**
365
+ * name
366
+ * view
367
+ */
368
+ name(): Promise<string>;
369
+ /**
370
+ * owner
371
+ * view
372
+ */
373
+ owner(): Promise<`0x${string}`>;
374
+ /**
375
+ * symbol
376
+ * view
377
+ */
378
+ symbol(): Promise<string>;
379
+ /**
380
+ * totalSupply
381
+ * view
382
+ */
383
+ totalSupply(): Promise<bigint>;
384
+ /**
385
+ * approve
386
+ * nonpayable
387
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
388
+ */
389
+ approve(spender: `0x${string}`, amount: bigint, options?: {
390
+ accessList?: import('viem').AccessList;
391
+ authorizationList?: import('viem').AuthorizationList;
392
+ chain?: import('viem').Chain | null;
393
+ dataSuffix?: `0x${string}`;
394
+ gas?: bigint;
395
+ gasPrice?: bigint;
396
+ maxFeePerGas?: bigint;
397
+ maxPriorityFeePerGas?: bigint;
398
+ nonce?: number;
399
+ value?: bigint;
400
+ }): Promise<`0x${string}`>;
401
+ /**
402
+ * burn
403
+ * nonpayable
404
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
405
+ */
406
+ burn(amount: bigint, options?: {
407
+ accessList?: import('viem').AccessList;
408
+ authorizationList?: import('viem').AuthorizationList;
409
+ chain?: import('viem').Chain | null;
410
+ dataSuffix?: `0x${string}`;
411
+ gas?: bigint;
412
+ gasPrice?: bigint;
413
+ maxFeePerGas?: bigint;
414
+ maxPriorityFeePerGas?: bigint;
415
+ nonce?: number;
416
+ value?: bigint;
417
+ }): Promise<`0x${string}`>;
418
+ /**
419
+ * burnFrom
420
+ * nonpayable
421
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
422
+ */
423
+ burnFrom(account: `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
+ * distributeTokens
454
+ * nonpayable
455
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
456
+ */
457
+ distributeTokens(distributionWallet: `0x${string}`, 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
+ * increaseAllowance
471
+ * nonpayable
472
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
473
+ */
474
+ increaseAllowance(spender: `0x${string}`, addedValue: 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(to: `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(from: `0x${string}`, to: `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 burn
582
+ * Returns gas estimate and result without sending transaction
583
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
584
+ */
585
+ burn(amount: 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<void>;
597
+ /**
598
+ * Simulate burnFrom
599
+ * Returns gas estimate and result without sending transaction
600
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
601
+ */
602
+ burnFrom(account: `0x${string}`, amount: 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<void>;
614
+ /**
615
+ * Simulate decreaseAllowance
616
+ * Returns gas estimate and result without sending transaction
617
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
618
+ */
619
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: 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<boolean>;
631
+ /**
632
+ * Simulate distributeTokens
633
+ * Returns gas estimate and result without sending transaction
634
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
635
+ */
636
+ distributeTokens(distributionWallet: `0x${string}`, 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 increaseAllowance
650
+ * Returns gas estimate and result without sending transaction
651
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
652
+ */
653
+ increaseAllowance(spender: `0x${string}`, addedValue: 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 renounceOwnership
667
+ * Returns gas estimate and result without sending transaction
668
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
669
+ */
670
+ renounceOwnership(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<void>;
682
+ /**
683
+ * Simulate transfer
684
+ * Returns gas estimate and result without sending transaction
685
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
686
+ */
687
+ transfer(to: `0x${string}`, amount: bigint, 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<boolean>;
699
+ /**
700
+ * Simulate transferFrom
701
+ * Returns gas estimate and result without sending transaction
702
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
703
+ */
704
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
705
+ accessList?: import("viem").AccessList;
706
+ authorizationList?: import("viem").AuthorizationList;
707
+ chain?: import("viem").Chain | null;
708
+ dataSuffix?: `0x${string}`;
709
+ gas?: bigint;
710
+ gasPrice?: bigint;
711
+ maxFeePerGas?: bigint;
712
+ maxPriorityFeePerGas?: bigint;
713
+ nonce?: number;
714
+ value?: bigint;
715
+ }): Promise<boolean>;
716
+ /**
717
+ * Simulate transferOwnership
718
+ * Returns gas estimate and result without sending transaction
719
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
720
+ */
721
+ transferOwnership(newOwner: `0x${string}`, options?: {
722
+ accessList?: import("viem").AccessList;
723
+ authorizationList?: import("viem").AuthorizationList;
724
+ chain?: import("viem").Chain | null;
725
+ dataSuffix?: `0x${string}`;
726
+ gas?: bigint;
727
+ gasPrice?: bigint;
728
+ maxFeePerGas?: bigint;
729
+ maxPriorityFeePerGas?: bigint;
730
+ nonce?: number;
731
+ value?: bigint;
732
+ }): Promise<void>;
733
+ };
734
+ /**
735
+ * Watch contract events
736
+ *
737
+ * @example
738
+ * // Watch all Transfer events
739
+ * const unwatch = contract.watch.Transfer((event) => {
740
+ * console.log('Transfer:', event);
741
+ * });
742
+ *
743
+ * // Stop watching
744
+ * unwatch();
745
+ */
746
+ get watch(): {
747
+ /**
748
+ * Watch Approval events
749
+ * @param callback Function to call when event is emitted
750
+ * @param filter Optional filter for indexed parameters
751
+ * @returns Unwatch function to stop listening
752
+ */
753
+ Approval: (callback: (event: {
754
+ owner: `0x${string}`;
755
+ spender: `0x${string}`;
756
+ value: bigint;
757
+ }) => void, filter?: {
758
+ owner: `0x${string}`;
759
+ spender: `0x${string}`;
760
+ }) => () => void;
761
+ /**
762
+ * Watch OwnershipTransferred events
763
+ * @param callback Function to call when event is emitted
764
+ * @param filter Optional filter for indexed parameters
765
+ * @returns Unwatch function to stop listening
766
+ */
767
+ OwnershipTransferred: (callback: (event: {
768
+ previousOwner: `0x${string}`;
769
+ newOwner: `0x${string}`;
770
+ }) => void, filter?: {
771
+ previousOwner: `0x${string}`;
772
+ newOwner: `0x${string}`;
773
+ }) => () => void;
774
+ /**
775
+ * Watch Transfer events
776
+ * @param callback Function to call when event is emitted
777
+ * @param filter Optional filter for indexed parameters
778
+ * @returns Unwatch function to stop listening
779
+ */
780
+ Transfer: (callback: (event: {
781
+ from: `0x${string}`;
782
+ to: `0x${string}`;
783
+ value: bigint;
784
+ }) => void, filter?: {
785
+ from: `0x${string}`;
786
+ to: `0x${string}`;
787
+ }) => () => void;
788
+ };
789
+ }