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