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