@gitmyabi/mic 1.0.1 → 1.0.2

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