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