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