@gitmyabi-stg/cyber 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,1209 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * ERC20Votes.Checkpoint struct type
4
+ */
5
+ export type ERC20Votes_Checkpoint = {
6
+ fromBlock: bigint;
7
+ votes: bigint;
8
+ };
9
+ /**
10
+ * CyberToken ABI
11
+ *
12
+ * This ABI is typed using viem's type system for full type safety.
13
+ */
14
+ export declare const CyberTokenAbi: readonly [{
15
+ readonly inputs: readonly [];
16
+ readonly stateMutability: "nonpayable";
17
+ readonly type: "constructor";
18
+ }, {
19
+ readonly anonymous: false;
20
+ readonly inputs: readonly [{
21
+ readonly indexed: true;
22
+ readonly internalType: "address";
23
+ readonly name: "owner";
24
+ readonly type: "address";
25
+ }, {
26
+ readonly indexed: true;
27
+ readonly internalType: "address";
28
+ readonly name: "spender";
29
+ readonly type: "address";
30
+ }, {
31
+ readonly indexed: false;
32
+ readonly internalType: "uint256";
33
+ readonly name: "value";
34
+ readonly type: "uint256";
35
+ }];
36
+ readonly name: "Approval";
37
+ readonly type: "event";
38
+ }, {
39
+ readonly anonymous: false;
40
+ readonly inputs: readonly [{
41
+ readonly indexed: true;
42
+ readonly internalType: "address";
43
+ readonly name: "delegator";
44
+ readonly type: "address";
45
+ }, {
46
+ readonly indexed: true;
47
+ readonly internalType: "address";
48
+ readonly name: "fromDelegate";
49
+ readonly type: "address";
50
+ }, {
51
+ readonly indexed: true;
52
+ readonly internalType: "address";
53
+ readonly name: "toDelegate";
54
+ readonly type: "address";
55
+ }];
56
+ readonly name: "DelegateChanged";
57
+ readonly type: "event";
58
+ }, {
59
+ readonly anonymous: false;
60
+ readonly inputs: readonly [{
61
+ readonly indexed: true;
62
+ readonly internalType: "address";
63
+ readonly name: "delegate";
64
+ readonly type: "address";
65
+ }, {
66
+ readonly indexed: false;
67
+ readonly internalType: "uint256";
68
+ readonly name: "previousBalance";
69
+ readonly type: "uint256";
70
+ }, {
71
+ readonly indexed: false;
72
+ readonly internalType: "uint256";
73
+ readonly name: "newBalance";
74
+ readonly type: "uint256";
75
+ }];
76
+ readonly name: "DelegateVotesChanged";
77
+ readonly type: "event";
78
+ }, {
79
+ readonly anonymous: false;
80
+ readonly inputs: readonly [{
81
+ readonly indexed: true;
82
+ readonly internalType: "address";
83
+ readonly name: "previousOwner";
84
+ readonly type: "address";
85
+ }, {
86
+ readonly indexed: true;
87
+ readonly internalType: "address";
88
+ readonly name: "newOwner";
89
+ readonly type: "address";
90
+ }];
91
+ readonly name: "OwnershipTransferred";
92
+ readonly type: "event";
93
+ }, {
94
+ readonly anonymous: false;
95
+ readonly inputs: readonly [{
96
+ readonly indexed: true;
97
+ readonly internalType: "address";
98
+ readonly name: "from";
99
+ readonly type: "address";
100
+ }, {
101
+ readonly indexed: true;
102
+ readonly internalType: "address";
103
+ readonly name: "to";
104
+ readonly type: "address";
105
+ }, {
106
+ readonly indexed: false;
107
+ readonly internalType: "uint256";
108
+ readonly name: "value";
109
+ readonly type: "uint256";
110
+ }];
111
+ readonly name: "Transfer";
112
+ readonly type: "event";
113
+ }, {
114
+ readonly inputs: readonly [];
115
+ readonly name: "DOMAIN_SEPARATOR";
116
+ readonly outputs: readonly [{
117
+ readonly internalType: "bytes32";
118
+ readonly name: "";
119
+ readonly type: "bytes32";
120
+ }];
121
+ readonly stateMutability: "view";
122
+ readonly type: "function";
123
+ }, {
124
+ readonly inputs: readonly [{
125
+ readonly internalType: "address";
126
+ readonly name: "owner";
127
+ readonly type: "address";
128
+ }, {
129
+ readonly internalType: "address";
130
+ readonly name: "spender";
131
+ readonly type: "address";
132
+ }];
133
+ readonly name: "allowance";
134
+ readonly outputs: readonly [{
135
+ readonly internalType: "uint256";
136
+ readonly name: "";
137
+ readonly type: "uint256";
138
+ }];
139
+ readonly stateMutability: "view";
140
+ readonly type: "function";
141
+ }, {
142
+ readonly inputs: readonly [{
143
+ readonly internalType: "address";
144
+ readonly name: "spender";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly internalType: "uint256";
148
+ readonly name: "amount";
149
+ readonly type: "uint256";
150
+ }];
151
+ readonly name: "approve";
152
+ readonly outputs: readonly [{
153
+ readonly internalType: "bool";
154
+ readonly name: "";
155
+ readonly type: "bool";
156
+ }];
157
+ readonly stateMutability: "nonpayable";
158
+ readonly type: "function";
159
+ }, {
160
+ readonly inputs: readonly [{
161
+ readonly internalType: "address";
162
+ readonly name: "account";
163
+ readonly type: "address";
164
+ }];
165
+ readonly name: "balanceOf";
166
+ readonly outputs: readonly [{
167
+ readonly internalType: "uint256";
168
+ readonly name: "";
169
+ readonly type: "uint256";
170
+ }];
171
+ readonly stateMutability: "view";
172
+ readonly type: "function";
173
+ }, {
174
+ readonly inputs: readonly [{
175
+ readonly internalType: "uint256";
176
+ readonly name: "amount";
177
+ readonly type: "uint256";
178
+ }];
179
+ readonly name: "burn";
180
+ readonly outputs: readonly [];
181
+ readonly stateMutability: "nonpayable";
182
+ readonly type: "function";
183
+ }, {
184
+ readonly inputs: readonly [{
185
+ readonly internalType: "address";
186
+ readonly name: "account";
187
+ readonly type: "address";
188
+ }, {
189
+ readonly internalType: "uint256";
190
+ readonly name: "amount";
191
+ readonly type: "uint256";
192
+ }];
193
+ readonly name: "burnFrom";
194
+ readonly outputs: readonly [];
195
+ readonly stateMutability: "nonpayable";
196
+ readonly type: "function";
197
+ }, {
198
+ readonly inputs: readonly [{
199
+ readonly internalType: "address";
200
+ readonly name: "account";
201
+ readonly type: "address";
202
+ }, {
203
+ readonly internalType: "uint32";
204
+ readonly name: "pos";
205
+ readonly type: "uint32";
206
+ }];
207
+ readonly name: "checkpoints";
208
+ readonly outputs: readonly [{
209
+ readonly components: readonly [{
210
+ readonly internalType: "uint32";
211
+ readonly name: "fromBlock";
212
+ readonly type: "uint32";
213
+ }, {
214
+ readonly internalType: "uint224";
215
+ readonly name: "votes";
216
+ readonly type: "uint224";
217
+ }];
218
+ readonly internalType: "struct ERC20Votes.Checkpoint";
219
+ readonly name: "";
220
+ readonly type: "tuple";
221
+ }];
222
+ readonly stateMutability: "view";
223
+ readonly type: "function";
224
+ }, {
225
+ readonly inputs: readonly [];
226
+ readonly name: "decimals";
227
+ readonly outputs: readonly [{
228
+ readonly internalType: "uint8";
229
+ readonly name: "";
230
+ readonly type: "uint8";
231
+ }];
232
+ readonly stateMutability: "view";
233
+ readonly type: "function";
234
+ }, {
235
+ readonly inputs: readonly [{
236
+ readonly internalType: "address";
237
+ readonly name: "spender";
238
+ readonly type: "address";
239
+ }, {
240
+ readonly internalType: "uint256";
241
+ readonly name: "subtractedValue";
242
+ readonly type: "uint256";
243
+ }];
244
+ readonly name: "decreaseAllowance";
245
+ readonly outputs: readonly [{
246
+ readonly internalType: "bool";
247
+ readonly name: "";
248
+ readonly type: "bool";
249
+ }];
250
+ readonly stateMutability: "nonpayable";
251
+ readonly type: "function";
252
+ }, {
253
+ readonly inputs: readonly [{
254
+ readonly internalType: "address";
255
+ readonly name: "delegatee";
256
+ readonly type: "address";
257
+ }];
258
+ readonly name: "delegate";
259
+ readonly outputs: readonly [];
260
+ readonly stateMutability: "nonpayable";
261
+ readonly type: "function";
262
+ }, {
263
+ readonly inputs: readonly [{
264
+ readonly internalType: "address";
265
+ readonly name: "delegatee";
266
+ readonly type: "address";
267
+ }, {
268
+ readonly internalType: "uint256";
269
+ readonly name: "nonce";
270
+ readonly type: "uint256";
271
+ }, {
272
+ readonly internalType: "uint256";
273
+ readonly name: "expiry";
274
+ readonly type: "uint256";
275
+ }, {
276
+ readonly internalType: "uint8";
277
+ readonly name: "v";
278
+ readonly type: "uint8";
279
+ }, {
280
+ readonly internalType: "bytes32";
281
+ readonly name: "r";
282
+ readonly type: "bytes32";
283
+ }, {
284
+ readonly internalType: "bytes32";
285
+ readonly name: "s";
286
+ readonly type: "bytes32";
287
+ }];
288
+ readonly name: "delegateBySig";
289
+ readonly outputs: readonly [];
290
+ readonly stateMutability: "nonpayable";
291
+ readonly type: "function";
292
+ }, {
293
+ readonly inputs: readonly [{
294
+ readonly internalType: "address";
295
+ readonly name: "account";
296
+ readonly type: "address";
297
+ }];
298
+ readonly name: "delegates";
299
+ readonly outputs: readonly [{
300
+ readonly internalType: "address";
301
+ readonly name: "";
302
+ readonly type: "address";
303
+ }];
304
+ readonly stateMutability: "view";
305
+ readonly type: "function";
306
+ }, {
307
+ readonly inputs: readonly [{
308
+ readonly internalType: "uint256";
309
+ readonly name: "blockNumber";
310
+ readonly type: "uint256";
311
+ }];
312
+ readonly name: "getPastTotalSupply";
313
+ readonly outputs: readonly [{
314
+ readonly internalType: "uint256";
315
+ readonly name: "";
316
+ readonly type: "uint256";
317
+ }];
318
+ readonly stateMutability: "view";
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: "blockNumber";
328
+ readonly type: "uint256";
329
+ }];
330
+ readonly name: "getPastVotes";
331
+ readonly outputs: readonly [{
332
+ readonly internalType: "uint256";
333
+ readonly name: "";
334
+ readonly type: "uint256";
335
+ }];
336
+ readonly stateMutability: "view";
337
+ readonly type: "function";
338
+ }, {
339
+ readonly inputs: readonly [{
340
+ readonly internalType: "address";
341
+ readonly name: "account";
342
+ readonly type: "address";
343
+ }];
344
+ readonly name: "getVotes";
345
+ readonly outputs: readonly [{
346
+ readonly internalType: "uint256";
347
+ readonly name: "";
348
+ readonly type: "uint256";
349
+ }];
350
+ readonly stateMutability: "view";
351
+ readonly type: "function";
352
+ }, {
353
+ readonly inputs: readonly [{
354
+ readonly internalType: "address";
355
+ readonly name: "spender";
356
+ readonly type: "address";
357
+ }, {
358
+ readonly internalType: "uint256";
359
+ readonly name: "addedValue";
360
+ readonly type: "uint256";
361
+ }];
362
+ readonly name: "increaseAllowance";
363
+ readonly outputs: readonly [{
364
+ readonly internalType: "bool";
365
+ readonly name: "";
366
+ readonly type: "bool";
367
+ }];
368
+ readonly stateMutability: "nonpayable";
369
+ readonly type: "function";
370
+ }, {
371
+ readonly inputs: readonly [{
372
+ readonly internalType: "address";
373
+ readonly name: "_account";
374
+ readonly type: "address";
375
+ }, {
376
+ readonly internalType: "uint256";
377
+ readonly name: "_amount";
378
+ readonly type: "uint256";
379
+ }];
380
+ readonly name: "mint";
381
+ readonly outputs: readonly [];
382
+ readonly stateMutability: "nonpayable";
383
+ readonly type: "function";
384
+ }, {
385
+ readonly inputs: readonly [];
386
+ readonly name: "name";
387
+ readonly outputs: readonly [{
388
+ readonly internalType: "string";
389
+ readonly name: "";
390
+ readonly type: "string";
391
+ }];
392
+ readonly stateMutability: "view";
393
+ readonly type: "function";
394
+ }, {
395
+ readonly inputs: readonly [{
396
+ readonly internalType: "address";
397
+ readonly name: "owner";
398
+ readonly type: "address";
399
+ }];
400
+ readonly name: "nonces";
401
+ readonly outputs: readonly [{
402
+ readonly internalType: "uint256";
403
+ readonly name: "";
404
+ readonly type: "uint256";
405
+ }];
406
+ readonly stateMutability: "view";
407
+ readonly type: "function";
408
+ }, {
409
+ readonly inputs: readonly [{
410
+ readonly internalType: "address";
411
+ readonly name: "account";
412
+ readonly type: "address";
413
+ }];
414
+ readonly name: "numCheckpoints";
415
+ readonly outputs: readonly [{
416
+ readonly internalType: "uint32";
417
+ readonly name: "";
418
+ readonly type: "uint32";
419
+ }];
420
+ readonly stateMutability: "view";
421
+ readonly type: "function";
422
+ }, {
423
+ readonly inputs: readonly [];
424
+ readonly name: "owner";
425
+ readonly outputs: readonly [{
426
+ readonly internalType: "address";
427
+ readonly name: "";
428
+ readonly type: "address";
429
+ }];
430
+ readonly stateMutability: "view";
431
+ readonly type: "function";
432
+ }, {
433
+ readonly inputs: readonly [{
434
+ readonly internalType: "address";
435
+ readonly name: "owner";
436
+ readonly type: "address";
437
+ }, {
438
+ readonly internalType: "address";
439
+ readonly name: "spender";
440
+ readonly type: "address";
441
+ }, {
442
+ readonly internalType: "uint256";
443
+ readonly name: "value";
444
+ readonly type: "uint256";
445
+ }, {
446
+ readonly internalType: "uint256";
447
+ readonly name: "deadline";
448
+ readonly type: "uint256";
449
+ }, {
450
+ readonly internalType: "uint8";
451
+ readonly name: "v";
452
+ readonly type: "uint8";
453
+ }, {
454
+ readonly internalType: "bytes32";
455
+ readonly name: "r";
456
+ readonly type: "bytes32";
457
+ }, {
458
+ readonly internalType: "bytes32";
459
+ readonly name: "s";
460
+ readonly type: "bytes32";
461
+ }];
462
+ readonly name: "permit";
463
+ readonly outputs: readonly [];
464
+ readonly stateMutability: "nonpayable";
465
+ readonly type: "function";
466
+ }, {
467
+ readonly inputs: readonly [];
468
+ readonly name: "renounceOwnership";
469
+ readonly outputs: readonly [];
470
+ readonly stateMutability: "nonpayable";
471
+ readonly type: "function";
472
+ }, {
473
+ readonly inputs: readonly [];
474
+ readonly name: "symbol";
475
+ readonly outputs: readonly [{
476
+ readonly internalType: "string";
477
+ readonly name: "";
478
+ readonly type: "string";
479
+ }];
480
+ readonly stateMutability: "view";
481
+ readonly type: "function";
482
+ }, {
483
+ readonly inputs: readonly [];
484
+ readonly name: "totalSupply";
485
+ readonly outputs: readonly [{
486
+ readonly internalType: "uint256";
487
+ readonly name: "";
488
+ readonly type: "uint256";
489
+ }];
490
+ readonly stateMutability: "view";
491
+ readonly type: "function";
492
+ }, {
493
+ readonly inputs: readonly [{
494
+ readonly internalType: "address";
495
+ readonly name: "to";
496
+ readonly type: "address";
497
+ }, {
498
+ readonly internalType: "uint256";
499
+ readonly name: "amount";
500
+ readonly type: "uint256";
501
+ }];
502
+ readonly name: "transfer";
503
+ readonly outputs: readonly [{
504
+ readonly internalType: "bool";
505
+ readonly name: "";
506
+ readonly type: "bool";
507
+ }];
508
+ readonly stateMutability: "nonpayable";
509
+ readonly type: "function";
510
+ }, {
511
+ readonly inputs: readonly [{
512
+ readonly internalType: "address";
513
+ readonly name: "from";
514
+ readonly type: "address";
515
+ }, {
516
+ readonly internalType: "address";
517
+ readonly name: "to";
518
+ readonly type: "address";
519
+ }, {
520
+ readonly internalType: "uint256";
521
+ readonly name: "amount";
522
+ readonly type: "uint256";
523
+ }];
524
+ readonly name: "transferFrom";
525
+ readonly outputs: readonly [{
526
+ readonly internalType: "bool";
527
+ readonly name: "";
528
+ readonly type: "bool";
529
+ }];
530
+ readonly stateMutability: "nonpayable";
531
+ readonly type: "function";
532
+ }, {
533
+ readonly inputs: readonly [{
534
+ readonly internalType: "address";
535
+ readonly name: "newOwner";
536
+ readonly type: "address";
537
+ }];
538
+ readonly name: "transferOwnership";
539
+ readonly outputs: readonly [];
540
+ readonly stateMutability: "nonpayable";
541
+ readonly type: "function";
542
+ }];
543
+ /**
544
+ * Type-safe ABI for CyberToken
545
+ */
546
+ export type CyberTokenAbi = typeof CyberTokenAbi;
547
+ /**
548
+ * Contract instance type for CyberToken
549
+ */
550
+ export type CyberTokenContract = any;
551
+ /**
552
+ * CyberToken Contract Class
553
+ *
554
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
555
+ *
556
+ * @example
557
+ * ```typescript
558
+ * import { createPublicClient, createWalletClient, http } from 'viem';
559
+ * import { mainnet } from 'viem/chains';
560
+ * import { CyberToken } from 'CyberToken';
561
+ *
562
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
563
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
564
+ *
565
+ * const contract = new CyberToken('0x...', { publicClient, walletClient });
566
+ *
567
+ * // Read functions
568
+ * const result = await contract.balanceOf('0x...');
569
+ *
570
+ * // Write functions
571
+ * const hash = await contract.transfer('0x...', 1000n);
572
+ *
573
+ * // Simulate transactions (dry-run)
574
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
575
+ * console.log('Gas estimate:', simulation.request.gas);
576
+ *
577
+ * // Watch events
578
+ * const unwatch = contract.watch.Transfer((event) => {
579
+ * console.log('Transfer event:', event);
580
+ * });
581
+ * ```
582
+ */
583
+ export declare class CyberToken {
584
+ private contract;
585
+ private contractAddress;
586
+ private publicClient;
587
+ constructor(address: Address, clients: {
588
+ publicClient: PublicClient;
589
+ walletClient?: WalletClient;
590
+ });
591
+ /**
592
+ * Get the contract address
593
+ */
594
+ get address(): Address;
595
+ /**
596
+ * Get the underlying viem contract instance.
597
+ */
598
+ getContract(): CyberTokenContract;
599
+ /**
600
+ * DOMAIN_SEPARATOR
601
+ * view
602
+ */
603
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
604
+ /**
605
+ * allowance
606
+ * view
607
+ */
608
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
609
+ /**
610
+ * balanceOf
611
+ * view
612
+ */
613
+ balanceOf(account: `0x${string}`): Promise<bigint>;
614
+ /**
615
+ * checkpoints
616
+ * view
617
+ */
618
+ checkpoints(account: `0x${string}`, pos: bigint): Promise<ERC20Votes_Checkpoint>;
619
+ /**
620
+ * decimals
621
+ * view
622
+ */
623
+ decimals(): Promise<bigint>;
624
+ /**
625
+ * delegates
626
+ * view
627
+ */
628
+ delegates(account: `0x${string}`): Promise<`0x${string}`>;
629
+ /**
630
+ * getPastTotalSupply
631
+ * view
632
+ */
633
+ getPastTotalSupply(blockNumber: bigint): Promise<bigint>;
634
+ /**
635
+ * getPastVotes
636
+ * view
637
+ */
638
+ getPastVotes(account: `0x${string}`, blockNumber: bigint): Promise<bigint>;
639
+ /**
640
+ * getVotes
641
+ * view
642
+ */
643
+ getVotes(account: `0x${string}`): Promise<bigint>;
644
+ /**
645
+ * name
646
+ * view
647
+ */
648
+ name(): Promise<string>;
649
+ /**
650
+ * nonces
651
+ * view
652
+ */
653
+ nonces(owner: `0x${string}`): Promise<bigint>;
654
+ /**
655
+ * numCheckpoints
656
+ * view
657
+ */
658
+ numCheckpoints(account: `0x${string}`): Promise<bigint>;
659
+ /**
660
+ * owner
661
+ * view
662
+ */
663
+ owner(): Promise<`0x${string}`>;
664
+ /**
665
+ * symbol
666
+ * view
667
+ */
668
+ symbol(): Promise<string>;
669
+ /**
670
+ * totalSupply
671
+ * view
672
+ */
673
+ totalSupply(): Promise<bigint>;
674
+ /**
675
+ * approve
676
+ * nonpayable
677
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
678
+ */
679
+ approve(spender: `0x${string}`, amount: 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
+ * burn
693
+ * nonpayable
694
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
695
+ */
696
+ burn(amount: 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
+ * burnFrom
710
+ * nonpayable
711
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
712
+ */
713
+ burnFrom(account: `0x${string}`, amount: bigint, 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
+ * decreaseAllowance
727
+ * nonpayable
728
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
729
+ */
730
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, 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
+ * delegate
744
+ * nonpayable
745
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
746
+ */
747
+ delegate(delegatee: `0x${string}`, 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
+ * delegateBySig
761
+ * nonpayable
762
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
763
+ */
764
+ delegateBySig(delegatee: `0x${string}`, nonce: bigint, expiry: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, 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
+ * increaseAllowance
778
+ * nonpayable
779
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
780
+ */
781
+ increaseAllowance(spender: `0x${string}`, addedValue: 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
+ * mint
795
+ * nonpayable
796
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
797
+ */
798
+ mint(_account: `0x${string}`, _amount: bigint, 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
+ * permit
812
+ * nonpayable
813
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
814
+ */
815
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, 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
+ * renounceOwnership
829
+ * nonpayable
830
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
831
+ */
832
+ renounceOwnership(options?: {
833
+ accessList?: import('viem').AccessList;
834
+ authorizationList?: import('viem').AuthorizationList;
835
+ chain?: import('viem').Chain | null;
836
+ dataSuffix?: `0x${string}`;
837
+ gas?: bigint;
838
+ gasPrice?: bigint;
839
+ maxFeePerGas?: bigint;
840
+ maxPriorityFeePerGas?: bigint;
841
+ nonce?: number;
842
+ value?: bigint;
843
+ }): Promise<`0x${string}`>;
844
+ /**
845
+ * transfer
846
+ * nonpayable
847
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
848
+ */
849
+ transfer(to: `0x${string}`, amount: bigint, options?: {
850
+ accessList?: import('viem').AccessList;
851
+ authorizationList?: import('viem').AuthorizationList;
852
+ chain?: import('viem').Chain | null;
853
+ dataSuffix?: `0x${string}`;
854
+ gas?: bigint;
855
+ gasPrice?: bigint;
856
+ maxFeePerGas?: bigint;
857
+ maxPriorityFeePerGas?: bigint;
858
+ nonce?: number;
859
+ value?: bigint;
860
+ }): Promise<`0x${string}`>;
861
+ /**
862
+ * transferFrom
863
+ * nonpayable
864
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
865
+ */
866
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
867
+ accessList?: import('viem').AccessList;
868
+ authorizationList?: import('viem').AuthorizationList;
869
+ chain?: import('viem').Chain | null;
870
+ dataSuffix?: `0x${string}`;
871
+ gas?: bigint;
872
+ gasPrice?: bigint;
873
+ maxFeePerGas?: bigint;
874
+ maxPriorityFeePerGas?: bigint;
875
+ nonce?: number;
876
+ value?: bigint;
877
+ }): Promise<`0x${string}`>;
878
+ /**
879
+ * transferOwnership
880
+ * nonpayable
881
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
882
+ */
883
+ transferOwnership(newOwner: `0x${string}`, options?: {
884
+ accessList?: import('viem').AccessList;
885
+ authorizationList?: import('viem').AuthorizationList;
886
+ chain?: import('viem').Chain | null;
887
+ dataSuffix?: `0x${string}`;
888
+ gas?: bigint;
889
+ gasPrice?: bigint;
890
+ maxFeePerGas?: bigint;
891
+ maxPriorityFeePerGas?: bigint;
892
+ nonce?: number;
893
+ value?: bigint;
894
+ }): Promise<`0x${string}`>;
895
+ /**
896
+ * Simulate contract write operations (dry-run without sending transaction)
897
+ *
898
+ * @example
899
+ * const result = await contract.simulate.transfer('0x...', 1000n);
900
+ * console.log('Gas estimate:', result.request.gas);
901
+ * console.log('Would succeed:', result.result);
902
+ */
903
+ get simulate(): {
904
+ /**
905
+ * Simulate approve
906
+ * Returns gas estimate and result without sending transaction
907
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
908
+ */
909
+ approve(spender: `0x${string}`, amount: bigint, 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<boolean>;
921
+ /**
922
+ * Simulate burn
923
+ * Returns gas estimate and result without sending transaction
924
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
925
+ */
926
+ burn(amount: bigint, 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 burnFrom
940
+ * Returns gas estimate and result without sending transaction
941
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
942
+ */
943
+ burnFrom(account: `0x${string}`, amount: 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<void>;
955
+ /**
956
+ * Simulate decreaseAllowance
957
+ * Returns gas estimate and result without sending transaction
958
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
959
+ */
960
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: 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 delegate
974
+ * Returns gas estimate and result without sending transaction
975
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
976
+ */
977
+ delegate(delegatee: `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 delegateBySig
991
+ * Returns gas estimate and result without sending transaction
992
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
993
+ */
994
+ delegateBySig(delegatee: `0x${string}`, nonce: bigint, expiry: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, 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
+ * Simulate increaseAllowance
1008
+ * Returns gas estimate and result without sending transaction
1009
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1010
+ */
1011
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1012
+ accessList?: import("viem").AccessList;
1013
+ authorizationList?: import("viem").AuthorizationList;
1014
+ chain?: import("viem").Chain | null;
1015
+ dataSuffix?: `0x${string}`;
1016
+ gas?: bigint;
1017
+ gasPrice?: bigint;
1018
+ maxFeePerGas?: bigint;
1019
+ maxPriorityFeePerGas?: bigint;
1020
+ nonce?: number;
1021
+ value?: bigint;
1022
+ }): Promise<boolean>;
1023
+ /**
1024
+ * Simulate mint
1025
+ * Returns gas estimate and result without sending transaction
1026
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1027
+ */
1028
+ mint(_account: `0x${string}`, _amount: bigint, options?: {
1029
+ accessList?: import("viem").AccessList;
1030
+ authorizationList?: import("viem").AuthorizationList;
1031
+ chain?: import("viem").Chain | null;
1032
+ dataSuffix?: `0x${string}`;
1033
+ gas?: bigint;
1034
+ gasPrice?: bigint;
1035
+ maxFeePerGas?: bigint;
1036
+ maxPriorityFeePerGas?: bigint;
1037
+ nonce?: number;
1038
+ value?: bigint;
1039
+ }): Promise<void>;
1040
+ /**
1041
+ * Simulate permit
1042
+ * Returns gas estimate and result without sending transaction
1043
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1044
+ */
1045
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1046
+ accessList?: import("viem").AccessList;
1047
+ authorizationList?: import("viem").AuthorizationList;
1048
+ chain?: import("viem").Chain | null;
1049
+ dataSuffix?: `0x${string}`;
1050
+ gas?: bigint;
1051
+ gasPrice?: bigint;
1052
+ maxFeePerGas?: bigint;
1053
+ maxPriorityFeePerGas?: bigint;
1054
+ nonce?: number;
1055
+ value?: bigint;
1056
+ }): Promise<void>;
1057
+ /**
1058
+ * Simulate renounceOwnership
1059
+ * Returns gas estimate and result without sending transaction
1060
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1061
+ */
1062
+ renounceOwnership(options?: {
1063
+ accessList?: import("viem").AccessList;
1064
+ authorizationList?: import("viem").AuthorizationList;
1065
+ chain?: import("viem").Chain | null;
1066
+ dataSuffix?: `0x${string}`;
1067
+ gas?: bigint;
1068
+ gasPrice?: bigint;
1069
+ maxFeePerGas?: bigint;
1070
+ maxPriorityFeePerGas?: bigint;
1071
+ nonce?: number;
1072
+ value?: bigint;
1073
+ }): Promise<void>;
1074
+ /**
1075
+ * Simulate transfer
1076
+ * Returns gas estimate and result without sending transaction
1077
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1078
+ */
1079
+ transfer(to: `0x${string}`, amount: bigint, options?: {
1080
+ accessList?: import("viem").AccessList;
1081
+ authorizationList?: import("viem").AuthorizationList;
1082
+ chain?: import("viem").Chain | null;
1083
+ dataSuffix?: `0x${string}`;
1084
+ gas?: bigint;
1085
+ gasPrice?: bigint;
1086
+ maxFeePerGas?: bigint;
1087
+ maxPriorityFeePerGas?: bigint;
1088
+ nonce?: number;
1089
+ value?: bigint;
1090
+ }): Promise<boolean>;
1091
+ /**
1092
+ * Simulate transferFrom
1093
+ * Returns gas estimate and result without sending transaction
1094
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1095
+ */
1096
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1097
+ accessList?: import("viem").AccessList;
1098
+ authorizationList?: import("viem").AuthorizationList;
1099
+ chain?: import("viem").Chain | null;
1100
+ dataSuffix?: `0x${string}`;
1101
+ gas?: bigint;
1102
+ gasPrice?: bigint;
1103
+ maxFeePerGas?: bigint;
1104
+ maxPriorityFeePerGas?: bigint;
1105
+ nonce?: number;
1106
+ value?: bigint;
1107
+ }): Promise<boolean>;
1108
+ /**
1109
+ * Simulate transferOwnership
1110
+ * Returns gas estimate and result without sending transaction
1111
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1112
+ */
1113
+ transferOwnership(newOwner: `0x${string}`, options?: {
1114
+ accessList?: import("viem").AccessList;
1115
+ authorizationList?: import("viem").AuthorizationList;
1116
+ chain?: import("viem").Chain | null;
1117
+ dataSuffix?: `0x${string}`;
1118
+ gas?: bigint;
1119
+ gasPrice?: bigint;
1120
+ maxFeePerGas?: bigint;
1121
+ maxPriorityFeePerGas?: bigint;
1122
+ nonce?: number;
1123
+ value?: bigint;
1124
+ }): Promise<void>;
1125
+ };
1126
+ /**
1127
+ * Watch contract events
1128
+ *
1129
+ * @example
1130
+ * // Watch all Transfer events
1131
+ * const unwatch = contract.watch.Transfer((event) => {
1132
+ * console.log('Transfer:', event);
1133
+ * });
1134
+ *
1135
+ * // Stop watching
1136
+ * unwatch();
1137
+ */
1138
+ get watch(): {
1139
+ /**
1140
+ * Watch Approval events
1141
+ * @param callback Function to call when event is emitted
1142
+ * @param filter Optional filter for indexed parameters
1143
+ * @returns Unwatch function to stop listening
1144
+ */
1145
+ Approval: (callback: (event: {
1146
+ owner: `0x${string}`;
1147
+ spender: `0x${string}`;
1148
+ value: bigint;
1149
+ }) => void, filter?: {
1150
+ owner?: `0x${string}` | `0x${string}`[] | null;
1151
+ spender?: `0x${string}` | `0x${string}`[] | null;
1152
+ }) => () => void;
1153
+ /**
1154
+ * Watch DelegateChanged events
1155
+ * @param callback Function to call when event is emitted
1156
+ * @param filter Optional filter for indexed parameters
1157
+ * @returns Unwatch function to stop listening
1158
+ */
1159
+ DelegateChanged: (callback: (event: {
1160
+ delegator: `0x${string}`;
1161
+ fromDelegate: `0x${string}`;
1162
+ toDelegate: `0x${string}`;
1163
+ }) => void, filter?: {
1164
+ delegator?: `0x${string}` | `0x${string}`[] | null;
1165
+ fromDelegate?: `0x${string}` | `0x${string}`[] | null;
1166
+ toDelegate?: `0x${string}` | `0x${string}`[] | null;
1167
+ }) => () => void;
1168
+ /**
1169
+ * Watch DelegateVotesChanged events
1170
+ * @param callback Function to call when event is emitted
1171
+ * @param filter Optional filter for indexed parameters
1172
+ * @returns Unwatch function to stop listening
1173
+ */
1174
+ DelegateVotesChanged: (callback: (event: {
1175
+ delegate: `0x${string}`;
1176
+ previousBalance: bigint;
1177
+ newBalance: bigint;
1178
+ }) => void, filter?: {
1179
+ delegate?: `0x${string}` | `0x${string}`[] | null;
1180
+ }) => () => void;
1181
+ /**
1182
+ * Watch OwnershipTransferred events
1183
+ * @param callback Function to call when event is emitted
1184
+ * @param filter Optional filter for indexed parameters
1185
+ * @returns Unwatch function to stop listening
1186
+ */
1187
+ OwnershipTransferred: (callback: (event: {
1188
+ previousOwner: `0x${string}`;
1189
+ newOwner: `0x${string}`;
1190
+ }) => void, filter?: {
1191
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1192
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1193
+ }) => () => void;
1194
+ /**
1195
+ * Watch Transfer events
1196
+ * @param callback Function to call when event is emitted
1197
+ * @param filter Optional filter for indexed parameters
1198
+ * @returns Unwatch function to stop listening
1199
+ */
1200
+ Transfer: (callback: (event: {
1201
+ from: `0x${string}`;
1202
+ to: `0x${string}`;
1203
+ value: bigint;
1204
+ }) => void, filter?: {
1205
+ from?: `0x${string}` | `0x${string}`[] | null;
1206
+ to?: `0x${string}` | `0x${string}`[] | null;
1207
+ }) => () => void;
1208
+ };
1209
+ }