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