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