@gitmyabi/dyp 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,985 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * DeFiYieldProtocol_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const DeFiYieldProtocol_jsonAbi: 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: "address";
179
+ readonly name: "";
180
+ readonly type: "address";
181
+ }, {
182
+ readonly internalType: "uint32";
183
+ readonly name: "";
184
+ readonly type: "uint32";
185
+ }];
186
+ readonly name: "checkpoints";
187
+ readonly outputs: readonly [{
188
+ readonly internalType: "uint32";
189
+ readonly name: "fromBlock";
190
+ readonly type: "uint32";
191
+ }, {
192
+ readonly internalType: "uint256";
193
+ readonly name: "votes";
194
+ readonly type: "uint256";
195
+ }];
196
+ readonly stateMutability: "view";
197
+ readonly type: "function";
198
+ }, {
199
+ readonly inputs: readonly [];
200
+ readonly name: "decimals";
201
+ readonly outputs: readonly [{
202
+ readonly internalType: "uint8";
203
+ readonly name: "";
204
+ readonly type: "uint8";
205
+ }];
206
+ readonly stateMutability: "view";
207
+ readonly type: "function";
208
+ }, {
209
+ readonly inputs: readonly [{
210
+ readonly internalType: "address";
211
+ readonly name: "spender";
212
+ readonly type: "address";
213
+ }, {
214
+ readonly internalType: "uint256";
215
+ readonly name: "subtractedValue";
216
+ readonly type: "uint256";
217
+ }];
218
+ readonly name: "decreaseAllowance";
219
+ readonly outputs: readonly [{
220
+ readonly internalType: "bool";
221
+ readonly name: "";
222
+ readonly type: "bool";
223
+ }];
224
+ readonly stateMutability: "nonpayable";
225
+ readonly type: "function";
226
+ }, {
227
+ readonly inputs: readonly [{
228
+ readonly internalType: "address";
229
+ readonly name: "delegatee";
230
+ readonly type: "address";
231
+ }];
232
+ readonly name: "delegate";
233
+ readonly outputs: readonly [];
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 internalType: "uint256";
243
+ readonly name: "nonce";
244
+ readonly type: "uint256";
245
+ }, {
246
+ readonly internalType: "uint256";
247
+ readonly name: "expiry";
248
+ readonly type: "uint256";
249
+ }, {
250
+ readonly internalType: "uint8";
251
+ readonly name: "v";
252
+ readonly type: "uint8";
253
+ }, {
254
+ readonly internalType: "bytes32";
255
+ readonly name: "r";
256
+ readonly type: "bytes32";
257
+ }, {
258
+ readonly internalType: "bytes32";
259
+ readonly name: "s";
260
+ readonly type: "bytes32";
261
+ }];
262
+ readonly name: "delegateBySig";
263
+ readonly outputs: readonly [];
264
+ readonly stateMutability: "nonpayable";
265
+ readonly type: "function";
266
+ }, {
267
+ readonly inputs: readonly [{
268
+ readonly internalType: "address";
269
+ readonly name: "delegator";
270
+ readonly type: "address";
271
+ }];
272
+ readonly name: "delegates";
273
+ readonly outputs: readonly [{
274
+ readonly internalType: "address";
275
+ readonly name: "";
276
+ readonly type: "address";
277
+ }];
278
+ readonly stateMutability: "view";
279
+ readonly type: "function";
280
+ }, {
281
+ readonly inputs: readonly [{
282
+ readonly internalType: "address";
283
+ readonly name: "account";
284
+ readonly type: "address";
285
+ }];
286
+ readonly name: "getCurrentVotes";
287
+ readonly outputs: readonly [{
288
+ readonly internalType: "uint256";
289
+ readonly name: "";
290
+ readonly type: "uint256";
291
+ }];
292
+ readonly stateMutability: "view";
293
+ readonly type: "function";
294
+ }, {
295
+ readonly inputs: readonly [{
296
+ readonly internalType: "address";
297
+ readonly name: "account";
298
+ readonly type: "address";
299
+ }, {
300
+ readonly internalType: "uint256";
301
+ readonly name: "blockNumber";
302
+ readonly type: "uint256";
303
+ }];
304
+ readonly name: "getPriorVotes";
305
+ readonly outputs: readonly [{
306
+ readonly internalType: "uint256";
307
+ readonly name: "";
308
+ readonly type: "uint256";
309
+ }];
310
+ readonly stateMutability: "view";
311
+ readonly type: "function";
312
+ }, {
313
+ readonly inputs: readonly [{
314
+ readonly internalType: "address";
315
+ readonly name: "spender";
316
+ readonly type: "address";
317
+ }, {
318
+ readonly internalType: "uint256";
319
+ readonly name: "addedValue";
320
+ readonly type: "uint256";
321
+ }];
322
+ readonly name: "increaseAllowance";
323
+ readonly outputs: readonly [{
324
+ readonly internalType: "bool";
325
+ readonly name: "";
326
+ readonly type: "bool";
327
+ }];
328
+ readonly stateMutability: "nonpayable";
329
+ readonly type: "function";
330
+ }, {
331
+ readonly inputs: readonly [];
332
+ readonly name: "name";
333
+ readonly outputs: readonly [{
334
+ readonly internalType: "string";
335
+ readonly name: "";
336
+ readonly type: "string";
337
+ }];
338
+ readonly stateMutability: "view";
339
+ readonly type: "function";
340
+ }, {
341
+ readonly inputs: readonly [{
342
+ readonly internalType: "address";
343
+ readonly name: "";
344
+ readonly type: "address";
345
+ }];
346
+ readonly name: "nonces";
347
+ readonly outputs: readonly [{
348
+ readonly internalType: "uint256";
349
+ readonly name: "";
350
+ readonly type: "uint256";
351
+ }];
352
+ readonly stateMutability: "view";
353
+ readonly type: "function";
354
+ }, {
355
+ readonly inputs: readonly [{
356
+ readonly internalType: "address";
357
+ readonly name: "";
358
+ readonly type: "address";
359
+ }];
360
+ readonly name: "numCheckpoints";
361
+ readonly outputs: readonly [{
362
+ readonly internalType: "uint32";
363
+ readonly name: "";
364
+ readonly type: "uint32";
365
+ }];
366
+ readonly stateMutability: "view";
367
+ readonly type: "function";
368
+ }, {
369
+ readonly inputs: readonly [];
370
+ readonly name: "owner";
371
+ readonly outputs: readonly [{
372
+ readonly internalType: "address";
373
+ readonly name: "";
374
+ readonly type: "address";
375
+ }];
376
+ readonly stateMutability: "view";
377
+ readonly type: "function";
378
+ }, {
379
+ readonly inputs: readonly [];
380
+ readonly name: "renounceOwnership";
381
+ readonly outputs: readonly [];
382
+ readonly stateMutability: "nonpayable";
383
+ readonly type: "function";
384
+ }, {
385
+ readonly inputs: readonly [];
386
+ readonly name: "symbol";
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 name: "totalSupply";
397
+ readonly outputs: readonly [{
398
+ readonly internalType: "uint256";
399
+ readonly name: "";
400
+ readonly type: "uint256";
401
+ }];
402
+ readonly stateMutability: "view";
403
+ readonly type: "function";
404
+ }, {
405
+ readonly inputs: readonly [{
406
+ readonly internalType: "address";
407
+ readonly name: "recipient";
408
+ readonly type: "address";
409
+ }, {
410
+ readonly internalType: "uint256";
411
+ readonly name: "amount";
412
+ readonly type: "uint256";
413
+ }];
414
+ readonly name: "transfer";
415
+ readonly outputs: readonly [{
416
+ readonly internalType: "bool";
417
+ readonly name: "";
418
+ readonly type: "bool";
419
+ }];
420
+ readonly stateMutability: "nonpayable";
421
+ readonly type: "function";
422
+ }, {
423
+ readonly inputs: readonly [{
424
+ readonly internalType: "address";
425
+ readonly name: "sender";
426
+ readonly type: "address";
427
+ }, {
428
+ readonly internalType: "address";
429
+ readonly name: "recipient";
430
+ readonly type: "address";
431
+ }, {
432
+ readonly internalType: "uint256";
433
+ readonly name: "amount";
434
+ readonly type: "uint256";
435
+ }];
436
+ readonly name: "transferFrom";
437
+ readonly outputs: readonly [{
438
+ readonly internalType: "bool";
439
+ readonly name: "";
440
+ readonly type: "bool";
441
+ }];
442
+ readonly stateMutability: "nonpayable";
443
+ readonly type: "function";
444
+ }, {
445
+ readonly inputs: readonly [{
446
+ readonly internalType: "address";
447
+ readonly name: "newOwner";
448
+ readonly type: "address";
449
+ }];
450
+ readonly name: "transferOwnership";
451
+ readonly outputs: readonly [];
452
+ readonly stateMutability: "nonpayable";
453
+ readonly type: "function";
454
+ }];
455
+ /**
456
+ * Type-safe ABI for DeFiYieldProtocol_json
457
+ */
458
+ export type DeFiYieldProtocol_jsonAbi = typeof DeFiYieldProtocol_jsonAbi;
459
+ /**
460
+ * Contract instance type for DeFiYieldProtocol_json
461
+ */
462
+ export type DeFiYieldProtocol_jsonContract = any;
463
+ /**
464
+ * DeFiYieldProtocol_json Contract Class
465
+ *
466
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
467
+ *
468
+ * @example
469
+ * ```typescript
470
+ * import { createPublicClient, createWalletClient, http } from 'viem';
471
+ * import { mainnet } from 'viem/chains';
472
+ * import { DeFiYieldProtocol_json } from 'DeFiYieldProtocol_json';
473
+ *
474
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
475
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
476
+ *
477
+ * const contract = new DeFiYieldProtocol_json('0x...', { publicClient, walletClient });
478
+ *
479
+ * // Read functions
480
+ * const result = await contract.balanceOf('0x...');
481
+ *
482
+ * // Write functions
483
+ * const hash = await contract.transfer('0x...', 1000n);
484
+ *
485
+ * // Simulate transactions (dry-run)
486
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
487
+ * console.log('Gas estimate:', simulation.request.gas);
488
+ *
489
+ * // Watch events
490
+ * const unwatch = contract.watch.Transfer((event) => {
491
+ * console.log('Transfer event:', event);
492
+ * });
493
+ * ```
494
+ */
495
+ export declare class DeFiYieldProtocol_json {
496
+ private contract;
497
+ private contractAddress;
498
+ private publicClient;
499
+ constructor(address: Address, clients: {
500
+ publicClient: PublicClient;
501
+ walletClient?: WalletClient;
502
+ });
503
+ /**
504
+ * Get the contract address
505
+ */
506
+ get address(): Address;
507
+ /**
508
+ * Get the underlying viem contract instance
509
+ */
510
+ getContract(): DeFiYieldProtocol_jsonContract;
511
+ /**
512
+ * DELEGATION_TYPEHASH
513
+ * view
514
+ */
515
+ DELEGATION_TYPEHASH(): Promise<`0x${string}`>;
516
+ /**
517
+ * DOMAIN_TYPEHASH
518
+ * view
519
+ */
520
+ DOMAIN_TYPEHASH(): Promise<`0x${string}`>;
521
+ /**
522
+ * allowance
523
+ * view
524
+ */
525
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
526
+ /**
527
+ * balanceOf
528
+ * view
529
+ */
530
+ balanceOf(account: `0x${string}`): Promise<bigint>;
531
+ /**
532
+ * checkpoints
533
+ * view
534
+ */
535
+ checkpoints(arg0: `0x${string}`, arg1: bigint): Promise<[bigint, bigint]>;
536
+ /**
537
+ * decimals
538
+ * view
539
+ */
540
+ decimals(): Promise<bigint>;
541
+ /**
542
+ * delegates
543
+ * view
544
+ */
545
+ delegates(delegator: `0x${string}`): Promise<`0x${string}`>;
546
+ /**
547
+ * getCurrentVotes
548
+ * view
549
+ */
550
+ getCurrentVotes(account: `0x${string}`): Promise<bigint>;
551
+ /**
552
+ * getPriorVotes
553
+ * view
554
+ */
555
+ getPriorVotes(account: `0x${string}`, blockNumber: bigint): Promise<bigint>;
556
+ /**
557
+ * name
558
+ * view
559
+ */
560
+ name(): Promise<string>;
561
+ /**
562
+ * nonces
563
+ * view
564
+ */
565
+ nonces(arg0: `0x${string}`): Promise<bigint>;
566
+ /**
567
+ * numCheckpoints
568
+ * view
569
+ */
570
+ numCheckpoints(arg0: `0x${string}`): Promise<bigint>;
571
+ /**
572
+ * owner
573
+ * view
574
+ */
575
+ owner(): Promise<`0x${string}`>;
576
+ /**
577
+ * symbol
578
+ * view
579
+ */
580
+ symbol(): Promise<string>;
581
+ /**
582
+ * totalSupply
583
+ * view
584
+ */
585
+ totalSupply(): Promise<bigint>;
586
+ /**
587
+ * approve
588
+ * nonpayable
589
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
590
+ */
591
+ approve(spender: `0x${string}`, amount: bigint, options?: {
592
+ accessList?: import('viem').AccessList;
593
+ authorizationList?: import('viem').AuthorizationList;
594
+ chain?: import('viem').Chain | null;
595
+ dataSuffix?: `0x${string}`;
596
+ gas?: bigint;
597
+ gasPrice?: bigint;
598
+ maxFeePerGas?: bigint;
599
+ maxPriorityFeePerGas?: bigint;
600
+ nonce?: number;
601
+ value?: bigint;
602
+ }): Promise<`0x${string}`>;
603
+ /**
604
+ * decreaseAllowance
605
+ * nonpayable
606
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
607
+ */
608
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
609
+ accessList?: import('viem').AccessList;
610
+ authorizationList?: import('viem').AuthorizationList;
611
+ chain?: import('viem').Chain | null;
612
+ dataSuffix?: `0x${string}`;
613
+ gas?: bigint;
614
+ gasPrice?: bigint;
615
+ maxFeePerGas?: bigint;
616
+ maxPriorityFeePerGas?: bigint;
617
+ nonce?: number;
618
+ value?: bigint;
619
+ }): Promise<`0x${string}`>;
620
+ /**
621
+ * delegate
622
+ * nonpayable
623
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
624
+ */
625
+ delegate(delegatee: `0x${string}`, options?: {
626
+ accessList?: import('viem').AccessList;
627
+ authorizationList?: import('viem').AuthorizationList;
628
+ chain?: import('viem').Chain | null;
629
+ dataSuffix?: `0x${string}`;
630
+ gas?: bigint;
631
+ gasPrice?: bigint;
632
+ maxFeePerGas?: bigint;
633
+ maxPriorityFeePerGas?: bigint;
634
+ nonce?: number;
635
+ value?: bigint;
636
+ }): Promise<`0x${string}`>;
637
+ /**
638
+ * delegateBySig
639
+ * nonpayable
640
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
641
+ */
642
+ delegateBySig(delegatee: `0x${string}`, nonce: bigint, expiry: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
643
+ accessList?: import('viem').AccessList;
644
+ authorizationList?: import('viem').AuthorizationList;
645
+ chain?: import('viem').Chain | null;
646
+ dataSuffix?: `0x${string}`;
647
+ gas?: bigint;
648
+ gasPrice?: bigint;
649
+ maxFeePerGas?: bigint;
650
+ maxPriorityFeePerGas?: bigint;
651
+ nonce?: number;
652
+ value?: bigint;
653
+ }): Promise<`0x${string}`>;
654
+ /**
655
+ * increaseAllowance
656
+ * nonpayable
657
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
658
+ */
659
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, 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
+ * renounceOwnership
673
+ * nonpayable
674
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
675
+ */
676
+ renounceOwnership(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
+ * transfer
690
+ * nonpayable
691
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
692
+ */
693
+ transfer(recipient: `0x${string}`, amount: 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
+ * transferFrom
707
+ * nonpayable
708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
709
+ */
710
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: 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
+ * transferOwnership
724
+ * nonpayable
725
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
726
+ */
727
+ transferOwnership(newOwner: `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
+ * Simulate contract write operations (dry-run without sending transaction)
741
+ *
742
+ * @example
743
+ * const result = await contract.simulate.transfer('0x...', 1000n);
744
+ * console.log('Gas estimate:', result.request.gas);
745
+ * console.log('Would succeed:', result.result);
746
+ */
747
+ get simulate(): {
748
+ /**
749
+ * Simulate approve
750
+ * Returns gas estimate and result without sending transaction
751
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
752
+ */
753
+ approve(spender: `0x${string}`, amount: bigint, options?: {
754
+ accessList?: import("viem").AccessList;
755
+ authorizationList?: import("viem").AuthorizationList;
756
+ chain?: import("viem").Chain | null;
757
+ dataSuffix?: `0x${string}`;
758
+ gas?: bigint;
759
+ gasPrice?: bigint;
760
+ maxFeePerGas?: bigint;
761
+ maxPriorityFeePerGas?: bigint;
762
+ nonce?: number;
763
+ value?: bigint;
764
+ }): Promise<boolean>;
765
+ /**
766
+ * Simulate decreaseAllowance
767
+ * Returns gas estimate and result without sending transaction
768
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
769
+ */
770
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
771
+ accessList?: import("viem").AccessList;
772
+ authorizationList?: import("viem").AuthorizationList;
773
+ chain?: import("viem").Chain | null;
774
+ dataSuffix?: `0x${string}`;
775
+ gas?: bigint;
776
+ gasPrice?: bigint;
777
+ maxFeePerGas?: bigint;
778
+ maxPriorityFeePerGas?: bigint;
779
+ nonce?: number;
780
+ value?: bigint;
781
+ }): Promise<boolean>;
782
+ /**
783
+ * Simulate delegate
784
+ * Returns gas estimate and result without sending transaction
785
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
786
+ */
787
+ delegate(delegatee: `0x${string}`, options?: {
788
+ accessList?: import("viem").AccessList;
789
+ authorizationList?: import("viem").AuthorizationList;
790
+ chain?: import("viem").Chain | null;
791
+ dataSuffix?: `0x${string}`;
792
+ gas?: bigint;
793
+ gasPrice?: bigint;
794
+ maxFeePerGas?: bigint;
795
+ maxPriorityFeePerGas?: bigint;
796
+ nonce?: number;
797
+ value?: bigint;
798
+ }): Promise<void>;
799
+ /**
800
+ * Simulate delegateBySig
801
+ * Returns gas estimate and result without sending transaction
802
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
803
+ */
804
+ delegateBySig(delegatee: `0x${string}`, nonce: bigint, expiry: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, 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 increaseAllowance
818
+ * Returns gas estimate and result without sending transaction
819
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
820
+ */
821
+ increaseAllowance(spender: `0x${string}`, addedValue: 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 renounceOwnership
835
+ * Returns gas estimate and result without sending transaction
836
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
837
+ */
838
+ renounceOwnership(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 transfer
852
+ * Returns gas estimate and result without sending transaction
853
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
854
+ */
855
+ transfer(recipient: `0x${string}`, amount: 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<boolean>;
867
+ /**
868
+ * Simulate transferFrom
869
+ * Returns gas estimate and result without sending transaction
870
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
871
+ */
872
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, 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<boolean>;
884
+ /**
885
+ * Simulate transferOwnership
886
+ * Returns gas estimate and result without sending transaction
887
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
888
+ */
889
+ transferOwnership(newOwner: `0x${string}`, 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<void>;
901
+ };
902
+ /**
903
+ * Watch contract events
904
+ *
905
+ * @example
906
+ * // Watch all Transfer events
907
+ * const unwatch = contract.watch.Transfer((event) => {
908
+ * console.log('Transfer:', event);
909
+ * });
910
+ *
911
+ * // Stop watching
912
+ * unwatch();
913
+ */
914
+ get watch(): {
915
+ /**
916
+ * Watch Approval events
917
+ * @param callback Function to call when event is emitted
918
+ * @param filter Optional filter for indexed parameters
919
+ * @returns Unwatch function to stop listening
920
+ */
921
+ Approval: (callback: (event: {
922
+ owner: `0x${string}`;
923
+ spender: `0x${string}`;
924
+ value: bigint;
925
+ }) => void, filter?: {
926
+ owner: `0x${string}`;
927
+ spender: `0x${string}`;
928
+ }) => () => void;
929
+ /**
930
+ * Watch DelegateChanged events
931
+ * @param callback Function to call when event is emitted
932
+ * @param filter Optional filter for indexed parameters
933
+ * @returns Unwatch function to stop listening
934
+ */
935
+ DelegateChanged: (callback: (event: {
936
+ delegator: `0x${string}`;
937
+ fromDelegate: `0x${string}`;
938
+ toDelegate: `0x${string}`;
939
+ }) => void, filter?: {
940
+ delegator: `0x${string}`;
941
+ fromDelegate: `0x${string}`;
942
+ toDelegate: `0x${string}`;
943
+ }) => () => void;
944
+ /**
945
+ * Watch DelegateVotesChanged events
946
+ * @param callback Function to call when event is emitted
947
+ * @param filter Optional filter for indexed parameters
948
+ * @returns Unwatch function to stop listening
949
+ */
950
+ DelegateVotesChanged: (callback: (event: {
951
+ delegate: `0x${string}`;
952
+ previousBalance: bigint;
953
+ newBalance: bigint;
954
+ }) => void, filter?: {
955
+ delegate: `0x${string}`;
956
+ }) => () => void;
957
+ /**
958
+ * Watch OwnershipTransferred events
959
+ * @param callback Function to call when event is emitted
960
+ * @param filter Optional filter for indexed parameters
961
+ * @returns Unwatch function to stop listening
962
+ */
963
+ OwnershipTransferred: (callback: (event: {
964
+ previousOwner: `0x${string}`;
965
+ newOwner: `0x${string}`;
966
+ }) => void, filter?: {
967
+ previousOwner: `0x${string}`;
968
+ newOwner: `0x${string}`;
969
+ }) => () => void;
970
+ /**
971
+ * Watch Transfer 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
+ Transfer: (callback: (event: {
977
+ from: `0x${string}`;
978
+ to: `0x${string}`;
979
+ value: bigint;
980
+ }) => void, filter?: {
981
+ from: `0x${string}`;
982
+ to: `0x${string}`;
983
+ }) => () => void;
984
+ };
985
+ }