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