@gitmyabi/dot 1.0.2 → 1.0.3

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,884 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * ERC6160Ext20_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const ERC6160Ext20_jsonAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "admin";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly internalType: "string";
14
+ readonly name: "name";
15
+ readonly type: "string";
16
+ }, {
17
+ readonly internalType: "string";
18
+ readonly name: "symbol";
19
+ readonly type: "string";
20
+ }];
21
+ readonly stateMutability: "nonpayable";
22
+ readonly type: "constructor";
23
+ }, {
24
+ readonly inputs: readonly [];
25
+ readonly name: "NotRoleAdmin";
26
+ readonly type: "error";
27
+ }, {
28
+ readonly inputs: readonly [];
29
+ readonly name: "PermissionDenied";
30
+ readonly type: "error";
31
+ }, {
32
+ readonly anonymous: false;
33
+ readonly inputs: readonly [{
34
+ readonly indexed: true;
35
+ readonly internalType: "address";
36
+ readonly name: "owner";
37
+ readonly type: "address";
38
+ }, {
39
+ readonly indexed: true;
40
+ readonly internalType: "address";
41
+ readonly name: "spender";
42
+ readonly type: "address";
43
+ }, {
44
+ readonly indexed: false;
45
+ readonly internalType: "uint256";
46
+ readonly name: "value";
47
+ readonly type: "uint256";
48
+ }];
49
+ readonly name: "Approval";
50
+ readonly type: "event";
51
+ }, {
52
+ readonly anonymous: false;
53
+ readonly inputs: readonly [{
54
+ readonly indexed: true;
55
+ readonly internalType: "address";
56
+ readonly name: "from";
57
+ readonly type: "address";
58
+ }, {
59
+ readonly indexed: true;
60
+ readonly internalType: "address";
61
+ readonly name: "to";
62
+ readonly type: "address";
63
+ }, {
64
+ readonly indexed: false;
65
+ readonly internalType: "uint256";
66
+ readonly name: "value";
67
+ readonly type: "uint256";
68
+ }];
69
+ readonly name: "Transfer";
70
+ readonly type: "event";
71
+ }, {
72
+ readonly inputs: readonly [];
73
+ readonly name: "BURNER_ROLE";
74
+ readonly outputs: readonly [{
75
+ readonly internalType: "bytes32";
76
+ readonly name: "";
77
+ readonly type: "bytes32";
78
+ }];
79
+ readonly stateMutability: "view";
80
+ readonly type: "function";
81
+ }, {
82
+ readonly inputs: readonly [];
83
+ readonly name: "MINTER_ROLE";
84
+ readonly outputs: readonly [{
85
+ readonly internalType: "bytes32";
86
+ readonly name: "";
87
+ readonly type: "bytes32";
88
+ }];
89
+ readonly stateMutability: "view";
90
+ readonly type: "function";
91
+ }, {
92
+ readonly inputs: readonly [{
93
+ readonly internalType: "address";
94
+ readonly name: "owner";
95
+ readonly type: "address";
96
+ }, {
97
+ readonly internalType: "address";
98
+ readonly name: "spender";
99
+ readonly type: "address";
100
+ }];
101
+ readonly name: "allowance";
102
+ readonly outputs: readonly [{
103
+ readonly internalType: "uint256";
104
+ readonly name: "";
105
+ readonly type: "uint256";
106
+ }];
107
+ readonly stateMutability: "view";
108
+ readonly type: "function";
109
+ }, {
110
+ readonly inputs: readonly [{
111
+ readonly internalType: "address";
112
+ readonly name: "spender";
113
+ readonly type: "address";
114
+ }, {
115
+ readonly internalType: "uint256";
116
+ readonly name: "amount";
117
+ readonly type: "uint256";
118
+ }];
119
+ readonly name: "approve";
120
+ readonly outputs: readonly [{
121
+ readonly internalType: "bool";
122
+ readonly name: "";
123
+ readonly type: "bool";
124
+ }];
125
+ readonly stateMutability: "nonpayable";
126
+ readonly type: "function";
127
+ }, {
128
+ readonly inputs: readonly [{
129
+ readonly internalType: "address";
130
+ readonly name: "account";
131
+ readonly type: "address";
132
+ }];
133
+ readonly name: "balanceOf";
134
+ readonly outputs: readonly [{
135
+ readonly internalType: "uint256";
136
+ readonly name: "";
137
+ readonly type: "uint256";
138
+ }];
139
+ readonly stateMutability: "view";
140
+ readonly type: "function";
141
+ }, {
142
+ readonly inputs: readonly [{
143
+ readonly internalType: "address";
144
+ readonly name: "_from";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly internalType: "uint256";
148
+ readonly name: "_amount";
149
+ readonly type: "uint256";
150
+ }];
151
+ readonly name: "burn";
152
+ readonly outputs: readonly [];
153
+ readonly stateMutability: "nonpayable";
154
+ readonly type: "function";
155
+ }, {
156
+ readonly inputs: readonly [{
157
+ readonly internalType: "address";
158
+ readonly name: "newAdmin";
159
+ readonly type: "address";
160
+ }];
161
+ readonly name: "changeAdmin";
162
+ readonly outputs: readonly [];
163
+ readonly stateMutability: "nonpayable";
164
+ readonly type: "function";
165
+ }, {
166
+ readonly inputs: readonly [];
167
+ readonly name: "decimals";
168
+ readonly outputs: readonly [{
169
+ readonly internalType: "uint8";
170
+ readonly name: "";
171
+ readonly type: "uint8";
172
+ }];
173
+ readonly stateMutability: "view";
174
+ readonly type: "function";
175
+ }, {
176
+ readonly inputs: readonly [{
177
+ readonly internalType: "address";
178
+ readonly name: "spender";
179
+ readonly type: "address";
180
+ }, {
181
+ readonly internalType: "uint256";
182
+ readonly name: "subtractedValue";
183
+ readonly type: "uint256";
184
+ }];
185
+ readonly name: "decreaseAllowance";
186
+ readonly outputs: readonly [{
187
+ readonly internalType: "bool";
188
+ readonly name: "";
189
+ readonly type: "bool";
190
+ }];
191
+ readonly stateMutability: "nonpayable";
192
+ readonly type: "function";
193
+ }, {
194
+ readonly inputs: readonly [];
195
+ readonly name: "getBurnerRole";
196
+ readonly outputs: readonly [{
197
+ readonly internalType: "bytes32";
198
+ readonly name: "";
199
+ readonly type: "bytes32";
200
+ }];
201
+ readonly stateMutability: "pure";
202
+ readonly type: "function";
203
+ }, {
204
+ readonly inputs: readonly [];
205
+ readonly name: "getMinterRole";
206
+ readonly outputs: readonly [{
207
+ readonly internalType: "bytes32";
208
+ readonly name: "";
209
+ readonly type: "bytes32";
210
+ }];
211
+ readonly stateMutability: "pure";
212
+ readonly type: "function";
213
+ }, {
214
+ readonly inputs: readonly [{
215
+ readonly internalType: "bytes32";
216
+ readonly name: "_role";
217
+ readonly type: "bytes32";
218
+ }, {
219
+ readonly internalType: "address";
220
+ readonly name: "_account";
221
+ readonly type: "address";
222
+ }];
223
+ readonly name: "grantRole";
224
+ readonly outputs: readonly [];
225
+ readonly stateMutability: "nonpayable";
226
+ readonly type: "function";
227
+ }, {
228
+ readonly inputs: readonly [{
229
+ readonly internalType: "bytes32";
230
+ readonly name: "_role";
231
+ readonly type: "bytes32";
232
+ }, {
233
+ readonly internalType: "address";
234
+ readonly name: "_account";
235
+ readonly type: "address";
236
+ }];
237
+ readonly name: "hasRole";
238
+ readonly outputs: readonly [{
239
+ readonly internalType: "bool";
240
+ readonly name: "";
241
+ readonly type: "bool";
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: "addedValue";
253
+ readonly type: "uint256";
254
+ }];
255
+ readonly name: "increaseAllowance";
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: "address";
266
+ readonly name: "_to";
267
+ readonly type: "address";
268
+ }, {
269
+ readonly internalType: "uint256";
270
+ readonly name: "_amount";
271
+ readonly type: "uint256";
272
+ }];
273
+ readonly name: "mint";
274
+ readonly outputs: readonly [];
275
+ readonly stateMutability: "nonpayable";
276
+ readonly type: "function";
277
+ }, {
278
+ readonly inputs: readonly [];
279
+ readonly name: "name";
280
+ readonly outputs: readonly [{
281
+ readonly internalType: "string";
282
+ readonly name: "";
283
+ readonly type: "string";
284
+ }];
285
+ readonly stateMutability: "view";
286
+ readonly type: "function";
287
+ }, {
288
+ readonly inputs: readonly [{
289
+ readonly internalType: "bytes32";
290
+ readonly name: "_role";
291
+ readonly type: "bytes32";
292
+ }, {
293
+ readonly internalType: "address";
294
+ readonly name: "_account";
295
+ readonly type: "address";
296
+ }];
297
+ readonly name: "revokeRole";
298
+ readonly outputs: readonly [];
299
+ readonly stateMutability: "nonpayable";
300
+ readonly type: "function";
301
+ }, {
302
+ readonly inputs: readonly [{
303
+ readonly internalType: "bytes4";
304
+ readonly name: "_interfaceId";
305
+ readonly type: "bytes4";
306
+ }];
307
+ readonly name: "supportsInterface";
308
+ readonly outputs: readonly [{
309
+ readonly internalType: "bool";
310
+ readonly name: "";
311
+ readonly type: "bool";
312
+ }];
313
+ readonly stateMutability: "view";
314
+ readonly type: "function";
315
+ }, {
316
+ readonly inputs: readonly [];
317
+ readonly name: "symbol";
318
+ readonly outputs: readonly [{
319
+ readonly internalType: "string";
320
+ readonly name: "";
321
+ readonly type: "string";
322
+ }];
323
+ readonly stateMutability: "view";
324
+ readonly type: "function";
325
+ }, {
326
+ readonly inputs: readonly [];
327
+ readonly name: "totalSupply";
328
+ readonly outputs: readonly [{
329
+ readonly internalType: "uint256";
330
+ readonly name: "";
331
+ readonly type: "uint256";
332
+ }];
333
+ readonly stateMutability: "view";
334
+ readonly type: "function";
335
+ }, {
336
+ readonly inputs: readonly [{
337
+ readonly internalType: "address";
338
+ readonly name: "to";
339
+ readonly type: "address";
340
+ }, {
341
+ readonly internalType: "uint256";
342
+ readonly name: "amount";
343
+ readonly type: "uint256";
344
+ }];
345
+ readonly name: "transfer";
346
+ readonly outputs: readonly [{
347
+ readonly internalType: "bool";
348
+ readonly name: "";
349
+ readonly type: "bool";
350
+ }];
351
+ readonly stateMutability: "nonpayable";
352
+ readonly type: "function";
353
+ }, {
354
+ readonly inputs: readonly [{
355
+ readonly internalType: "address";
356
+ readonly name: "from";
357
+ readonly type: "address";
358
+ }, {
359
+ readonly internalType: "address";
360
+ readonly name: "to";
361
+ readonly type: "address";
362
+ }, {
363
+ readonly internalType: "uint256";
364
+ readonly name: "amount";
365
+ readonly type: "uint256";
366
+ }];
367
+ readonly name: "transferFrom";
368
+ readonly outputs: readonly [{
369
+ readonly internalType: "bool";
370
+ readonly name: "";
371
+ readonly type: "bool";
372
+ }];
373
+ readonly stateMutability: "nonpayable";
374
+ readonly type: "function";
375
+ }];
376
+ /**
377
+ * Type-safe ABI for ERC6160Ext20_json
378
+ */
379
+ export type ERC6160Ext20_jsonAbi = typeof ERC6160Ext20_jsonAbi;
380
+ /**
381
+ * Contract instance type for ERC6160Ext20_json
382
+ */
383
+ export type ERC6160Ext20_jsonContract = any;
384
+ /**
385
+ * ERC6160Ext20_json Contract Class
386
+ *
387
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
388
+ *
389
+ * @example
390
+ * ```typescript
391
+ * import { createPublicClient, createWalletClient, http } from 'viem';
392
+ * import { mainnet } from 'viem/chains';
393
+ * import { ERC6160Ext20_json } from 'ERC6160Ext20_json';
394
+ *
395
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
396
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
397
+ *
398
+ * const contract = new ERC6160Ext20_json('0x...', { publicClient, walletClient });
399
+ *
400
+ * // Read functions
401
+ * const result = await contract.balanceOf('0x...');
402
+ *
403
+ * // Write functions
404
+ * const hash = await contract.transfer('0x...', 1000n);
405
+ *
406
+ * // Simulate transactions (dry-run)
407
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
408
+ * console.log('Gas estimate:', simulation.request.gas);
409
+ *
410
+ * // Watch events
411
+ * const unwatch = contract.watch.Transfer((event) => {
412
+ * console.log('Transfer event:', event);
413
+ * });
414
+ * ```
415
+ */
416
+ export declare class ERC6160Ext20_json {
417
+ private contract;
418
+ private contractAddress;
419
+ private publicClient;
420
+ constructor(address: Address, clients: {
421
+ publicClient: PublicClient;
422
+ walletClient?: WalletClient;
423
+ });
424
+ /**
425
+ * Get the contract address
426
+ */
427
+ get address(): Address;
428
+ /**
429
+ * Get the underlying viem contract instance
430
+ */
431
+ getContract(): ERC6160Ext20_jsonContract;
432
+ /**
433
+ * BURNER_ROLE
434
+ * view
435
+ */
436
+ BURNER_ROLE(): Promise<`0x${string}`>;
437
+ /**
438
+ * MINTER_ROLE
439
+ * view
440
+ */
441
+ MINTER_ROLE(): Promise<`0x${string}`>;
442
+ /**
443
+ * allowance
444
+ * view
445
+ */
446
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
447
+ /**
448
+ * balanceOf
449
+ * view
450
+ */
451
+ balanceOf(account: `0x${string}`): Promise<bigint>;
452
+ /**
453
+ * decimals
454
+ * view
455
+ */
456
+ decimals(): Promise<bigint>;
457
+ /**
458
+ * getBurnerRole
459
+ * pure
460
+ */
461
+ getBurnerRole(): Promise<`0x${string}`>;
462
+ /**
463
+ * getMinterRole
464
+ * pure
465
+ */
466
+ getMinterRole(): Promise<`0x${string}`>;
467
+ /**
468
+ * hasRole
469
+ * view
470
+ */
471
+ hasRole(_role: `0x${string}`, _account: `0x${string}`): Promise<boolean>;
472
+ /**
473
+ * name
474
+ * view
475
+ */
476
+ name(): Promise<string>;
477
+ /**
478
+ * supportsInterface
479
+ * view
480
+ */
481
+ supportsInterface(_interfaceId: `0x${string}`): Promise<boolean>;
482
+ /**
483
+ * symbol
484
+ * view
485
+ */
486
+ symbol(): Promise<string>;
487
+ /**
488
+ * totalSupply
489
+ * view
490
+ */
491
+ totalSupply(): Promise<bigint>;
492
+ /**
493
+ * approve
494
+ * nonpayable
495
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
496
+ */
497
+ approve(spender: `0x${string}`, amount: bigint, options?: {
498
+ accessList?: import('viem').AccessList;
499
+ authorizationList?: import('viem').AuthorizationList;
500
+ chain?: import('viem').Chain | null;
501
+ dataSuffix?: `0x${string}`;
502
+ gas?: bigint;
503
+ gasPrice?: bigint;
504
+ maxFeePerGas?: bigint;
505
+ maxPriorityFeePerGas?: bigint;
506
+ nonce?: number;
507
+ value?: bigint;
508
+ }): Promise<`0x${string}`>;
509
+ /**
510
+ * burn
511
+ * nonpayable
512
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
513
+ */
514
+ burn(_from: `0x${string}`, _amount: bigint, options?: {
515
+ accessList?: import('viem').AccessList;
516
+ authorizationList?: import('viem').AuthorizationList;
517
+ chain?: import('viem').Chain | null;
518
+ dataSuffix?: `0x${string}`;
519
+ gas?: bigint;
520
+ gasPrice?: bigint;
521
+ maxFeePerGas?: bigint;
522
+ maxPriorityFeePerGas?: bigint;
523
+ nonce?: number;
524
+ value?: bigint;
525
+ }): Promise<`0x${string}`>;
526
+ /**
527
+ * changeAdmin
528
+ * nonpayable
529
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
530
+ */
531
+ changeAdmin(newAdmin: `0x${string}`, options?: {
532
+ accessList?: import('viem').AccessList;
533
+ authorizationList?: import('viem').AuthorizationList;
534
+ chain?: import('viem').Chain | null;
535
+ dataSuffix?: `0x${string}`;
536
+ gas?: bigint;
537
+ gasPrice?: bigint;
538
+ maxFeePerGas?: bigint;
539
+ maxPriorityFeePerGas?: bigint;
540
+ nonce?: number;
541
+ value?: bigint;
542
+ }): Promise<`0x${string}`>;
543
+ /**
544
+ * decreaseAllowance
545
+ * nonpayable
546
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
547
+ */
548
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
549
+ accessList?: import('viem').AccessList;
550
+ authorizationList?: import('viem').AuthorizationList;
551
+ chain?: import('viem').Chain | null;
552
+ dataSuffix?: `0x${string}`;
553
+ gas?: bigint;
554
+ gasPrice?: bigint;
555
+ maxFeePerGas?: bigint;
556
+ maxPriorityFeePerGas?: bigint;
557
+ nonce?: number;
558
+ value?: bigint;
559
+ }): Promise<`0x${string}`>;
560
+ /**
561
+ * grantRole
562
+ * nonpayable
563
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
564
+ */
565
+ grantRole(_role: `0x${string}`, _account: `0x${string}`, options?: {
566
+ accessList?: import('viem').AccessList;
567
+ authorizationList?: import('viem').AuthorizationList;
568
+ chain?: import('viem').Chain | null;
569
+ dataSuffix?: `0x${string}`;
570
+ gas?: bigint;
571
+ gasPrice?: bigint;
572
+ maxFeePerGas?: bigint;
573
+ maxPriorityFeePerGas?: bigint;
574
+ nonce?: number;
575
+ value?: bigint;
576
+ }): Promise<`0x${string}`>;
577
+ /**
578
+ * increaseAllowance
579
+ * nonpayable
580
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
581
+ */
582
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
583
+ accessList?: import('viem').AccessList;
584
+ authorizationList?: import('viem').AuthorizationList;
585
+ chain?: import('viem').Chain | null;
586
+ dataSuffix?: `0x${string}`;
587
+ gas?: bigint;
588
+ gasPrice?: bigint;
589
+ maxFeePerGas?: bigint;
590
+ maxPriorityFeePerGas?: bigint;
591
+ nonce?: number;
592
+ value?: bigint;
593
+ }): Promise<`0x${string}`>;
594
+ /**
595
+ * mint
596
+ * nonpayable
597
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
598
+ */
599
+ mint(_to: `0x${string}`, _amount: bigint, options?: {
600
+ accessList?: import('viem').AccessList;
601
+ authorizationList?: import('viem').AuthorizationList;
602
+ chain?: import('viem').Chain | null;
603
+ dataSuffix?: `0x${string}`;
604
+ gas?: bigint;
605
+ gasPrice?: bigint;
606
+ maxFeePerGas?: bigint;
607
+ maxPriorityFeePerGas?: bigint;
608
+ nonce?: number;
609
+ value?: bigint;
610
+ }): Promise<`0x${string}`>;
611
+ /**
612
+ * revokeRole
613
+ * nonpayable
614
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
615
+ */
616
+ revokeRole(_role: `0x${string}`, _account: `0x${string}`, options?: {
617
+ accessList?: import('viem').AccessList;
618
+ authorizationList?: import('viem').AuthorizationList;
619
+ chain?: import('viem').Chain | null;
620
+ dataSuffix?: `0x${string}`;
621
+ gas?: bigint;
622
+ gasPrice?: bigint;
623
+ maxFeePerGas?: bigint;
624
+ maxPriorityFeePerGas?: bigint;
625
+ nonce?: number;
626
+ value?: bigint;
627
+ }): Promise<`0x${string}`>;
628
+ /**
629
+ * transfer
630
+ * nonpayable
631
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
632
+ */
633
+ transfer(to: `0x${string}`, amount: bigint, options?: {
634
+ accessList?: import('viem').AccessList;
635
+ authorizationList?: import('viem').AuthorizationList;
636
+ chain?: import('viem').Chain | null;
637
+ dataSuffix?: `0x${string}`;
638
+ gas?: bigint;
639
+ gasPrice?: bigint;
640
+ maxFeePerGas?: bigint;
641
+ maxPriorityFeePerGas?: bigint;
642
+ nonce?: number;
643
+ value?: bigint;
644
+ }): Promise<`0x${string}`>;
645
+ /**
646
+ * transferFrom
647
+ * nonpayable
648
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
649
+ */
650
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
651
+ accessList?: import('viem').AccessList;
652
+ authorizationList?: import('viem').AuthorizationList;
653
+ chain?: import('viem').Chain | null;
654
+ dataSuffix?: `0x${string}`;
655
+ gas?: bigint;
656
+ gasPrice?: bigint;
657
+ maxFeePerGas?: bigint;
658
+ maxPriorityFeePerGas?: bigint;
659
+ nonce?: number;
660
+ value?: bigint;
661
+ }): Promise<`0x${string}`>;
662
+ /**
663
+ * Simulate contract write operations (dry-run without sending transaction)
664
+ *
665
+ * @example
666
+ * const result = await contract.simulate.transfer('0x...', 1000n);
667
+ * console.log('Gas estimate:', result.request.gas);
668
+ * console.log('Would succeed:', result.result);
669
+ */
670
+ get simulate(): {
671
+ /**
672
+ * Simulate approve
673
+ * Returns gas estimate and result without sending transaction
674
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
675
+ */
676
+ approve(spender: `0x${string}`, amount: 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<boolean>;
688
+ /**
689
+ * Simulate burn
690
+ * Returns gas estimate and result without sending transaction
691
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
692
+ */
693
+ burn(_from: `0x${string}`, _amount: bigint, 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<void>;
705
+ /**
706
+ * Simulate changeAdmin
707
+ * Returns gas estimate and result without sending transaction
708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
709
+ */
710
+ changeAdmin(newAdmin: `0x${string}`, 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<void>;
722
+ /**
723
+ * Simulate decreaseAllowance
724
+ * Returns gas estimate and result without sending transaction
725
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
726
+ */
727
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: 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<boolean>;
739
+ /**
740
+ * Simulate grantRole
741
+ * Returns gas estimate and result without sending transaction
742
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
743
+ */
744
+ grantRole(_role: `0x${string}`, _account: `0x${string}`, 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<void>;
756
+ /**
757
+ * Simulate increaseAllowance
758
+ * Returns gas estimate and result without sending transaction
759
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
760
+ */
761
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, 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<boolean>;
773
+ /**
774
+ * Simulate mint
775
+ * Returns gas estimate and result without sending transaction
776
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
777
+ */
778
+ mint(_to: `0x${string}`, _amount: bigint, 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<void>;
790
+ /**
791
+ * Simulate revokeRole
792
+ * Returns gas estimate and result without sending transaction
793
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
794
+ */
795
+ revokeRole(_role: `0x${string}`, _account: `0x${string}`, 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<void>;
807
+ /**
808
+ * Simulate transfer
809
+ * Returns gas estimate and result without sending transaction
810
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
811
+ */
812
+ transfer(to: `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<boolean>;
824
+ /**
825
+ * Simulate transferFrom
826
+ * Returns gas estimate and result without sending transaction
827
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
828
+ */
829
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, 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<boolean>;
841
+ };
842
+ /**
843
+ * Watch contract events
844
+ *
845
+ * @example
846
+ * // Watch all Transfer events
847
+ * const unwatch = contract.watch.Transfer((event) => {
848
+ * console.log('Transfer:', event);
849
+ * });
850
+ *
851
+ * // Stop watching
852
+ * unwatch();
853
+ */
854
+ get watch(): {
855
+ /**
856
+ * Watch Approval events
857
+ * @param callback Function to call when event is emitted
858
+ * @param filter Optional filter for indexed parameters
859
+ * @returns Unwatch function to stop listening
860
+ */
861
+ Approval: (callback: (event: {
862
+ owner: `0x${string}`;
863
+ spender: `0x${string}`;
864
+ value: bigint;
865
+ }) => void, filter?: {
866
+ owner: `0x${string}`;
867
+ spender: `0x${string}`;
868
+ }) => () => void;
869
+ /**
870
+ * Watch Transfer events
871
+ * @param callback Function to call when event is emitted
872
+ * @param filter Optional filter for indexed parameters
873
+ * @returns Unwatch function to stop listening
874
+ */
875
+ Transfer: (callback: (event: {
876
+ from: `0x${string}`;
877
+ to: `0x${string}`;
878
+ value: bigint;
879
+ }) => void, filter?: {
880
+ from: `0x${string}`;
881
+ to: `0x${string}`;
882
+ }) => () => void;
883
+ };
884
+ }