@gitmyabi/znd 0.0.0-stage → 1.0.0

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