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