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