@gitmyabi/moostakedao-ousd-usde 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1188 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * BeefyVaultV7 ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const BeefyVaultV7Abi: readonly [{
8
+ readonly anonymous: false;
9
+ readonly inputs: readonly [{
10
+ readonly indexed: true;
11
+ readonly internalType: "address";
12
+ readonly name: "owner";
13
+ readonly type: "address";
14
+ }, {
15
+ readonly indexed: true;
16
+ readonly internalType: "address";
17
+ readonly name: "spender";
18
+ readonly type: "address";
19
+ }, {
20
+ readonly indexed: false;
21
+ readonly internalType: "uint256";
22
+ readonly name: "value";
23
+ readonly type: "uint256";
24
+ }];
25
+ readonly name: "Approval";
26
+ readonly type: "event";
27
+ }, {
28
+ readonly anonymous: false;
29
+ readonly inputs: readonly [{
30
+ readonly indexed: false;
31
+ readonly internalType: "address";
32
+ readonly name: "implementation";
33
+ readonly type: "address";
34
+ }];
35
+ readonly name: "NewStratCandidate";
36
+ readonly type: "event";
37
+ }, {
38
+ readonly anonymous: false;
39
+ readonly inputs: readonly [{
40
+ readonly indexed: true;
41
+ readonly internalType: "address";
42
+ readonly name: "previousOwner";
43
+ readonly type: "address";
44
+ }, {
45
+ readonly indexed: true;
46
+ readonly internalType: "address";
47
+ readonly name: "newOwner";
48
+ readonly type: "address";
49
+ }];
50
+ readonly name: "OwnershipTransferred";
51
+ readonly type: "event";
52
+ }, {
53
+ readonly anonymous: false;
54
+ readonly inputs: readonly [{
55
+ readonly indexed: true;
56
+ readonly internalType: "address";
57
+ readonly name: "from";
58
+ readonly type: "address";
59
+ }, {
60
+ readonly indexed: true;
61
+ readonly internalType: "address";
62
+ readonly name: "to";
63
+ readonly type: "address";
64
+ }, {
65
+ readonly indexed: false;
66
+ readonly internalType: "uint256";
67
+ readonly name: "value";
68
+ readonly type: "uint256";
69
+ }];
70
+ readonly name: "Transfer";
71
+ readonly type: "event";
72
+ }, {
73
+ readonly anonymous: false;
74
+ readonly inputs: readonly [{
75
+ readonly indexed: false;
76
+ readonly internalType: "address";
77
+ readonly name: "implementation";
78
+ readonly type: "address";
79
+ }];
80
+ readonly name: "UpgradeStrat";
81
+ readonly type: "event";
82
+ }, {
83
+ readonly inputs: readonly [{
84
+ readonly internalType: "address";
85
+ readonly name: "owner";
86
+ readonly type: "address";
87
+ }, {
88
+ readonly internalType: "address";
89
+ readonly name: "spender";
90
+ readonly type: "address";
91
+ }];
92
+ readonly name: "allowance";
93
+ readonly outputs: readonly [{
94
+ readonly internalType: "uint256";
95
+ readonly name: "";
96
+ readonly type: "uint256";
97
+ }];
98
+ readonly stateMutability: "view";
99
+ readonly type: "function";
100
+ }, {
101
+ readonly inputs: readonly [];
102
+ readonly name: "approvalDelay";
103
+ readonly outputs: readonly [{
104
+ readonly internalType: "uint256";
105
+ readonly name: "";
106
+ readonly type: "uint256";
107
+ }];
108
+ readonly stateMutability: "view";
109
+ readonly type: "function";
110
+ }, {
111
+ readonly inputs: readonly [{
112
+ readonly internalType: "address";
113
+ readonly name: "spender";
114
+ readonly type: "address";
115
+ }, {
116
+ readonly internalType: "uint256";
117
+ readonly name: "amount";
118
+ readonly type: "uint256";
119
+ }];
120
+ readonly name: "approve";
121
+ readonly outputs: readonly [{
122
+ readonly internalType: "bool";
123
+ readonly name: "";
124
+ readonly type: "bool";
125
+ }];
126
+ readonly stateMutability: "nonpayable";
127
+ readonly type: "function";
128
+ }, {
129
+ readonly inputs: readonly [];
130
+ readonly name: "available";
131
+ readonly outputs: readonly [{
132
+ readonly internalType: "uint256";
133
+ readonly name: "";
134
+ readonly type: "uint256";
135
+ }];
136
+ readonly stateMutability: "view";
137
+ readonly type: "function";
138
+ }, {
139
+ readonly inputs: readonly [];
140
+ readonly name: "balance";
141
+ readonly outputs: readonly [{
142
+ readonly internalType: "uint256";
143
+ readonly name: "";
144
+ readonly type: "uint256";
145
+ }];
146
+ readonly stateMutability: "view";
147
+ readonly type: "function";
148
+ }, {
149
+ readonly inputs: readonly [{
150
+ readonly internalType: "address";
151
+ readonly name: "account";
152
+ readonly type: "address";
153
+ }];
154
+ readonly name: "balanceOf";
155
+ readonly outputs: readonly [{
156
+ readonly internalType: "uint256";
157
+ readonly name: "";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly stateMutability: "view";
161
+ readonly type: "function";
162
+ }, {
163
+ readonly inputs: readonly [];
164
+ readonly name: "decimals";
165
+ readonly outputs: readonly [{
166
+ readonly internalType: "uint8";
167
+ readonly name: "";
168
+ readonly type: "uint8";
169
+ }];
170
+ readonly stateMutability: "view";
171
+ readonly type: "function";
172
+ }, {
173
+ readonly inputs: readonly [{
174
+ readonly internalType: "address";
175
+ readonly name: "spender";
176
+ readonly type: "address";
177
+ }, {
178
+ readonly internalType: "uint256";
179
+ readonly name: "subtractedValue";
180
+ readonly type: "uint256";
181
+ }];
182
+ readonly name: "decreaseAllowance";
183
+ readonly outputs: readonly [{
184
+ readonly internalType: "bool";
185
+ readonly name: "";
186
+ readonly type: "bool";
187
+ }];
188
+ readonly stateMutability: "nonpayable";
189
+ readonly type: "function";
190
+ }, {
191
+ readonly inputs: readonly [{
192
+ readonly internalType: "uint256";
193
+ readonly name: "_amount";
194
+ readonly type: "uint256";
195
+ }];
196
+ readonly name: "deposit";
197
+ readonly outputs: readonly [];
198
+ readonly stateMutability: "nonpayable";
199
+ readonly type: "function";
200
+ }, {
201
+ readonly inputs: readonly [];
202
+ readonly name: "depositAll";
203
+ readonly outputs: readonly [];
204
+ readonly stateMutability: "nonpayable";
205
+ readonly type: "function";
206
+ }, {
207
+ readonly inputs: readonly [];
208
+ readonly name: "earn";
209
+ readonly outputs: readonly [];
210
+ readonly stateMutability: "nonpayable";
211
+ readonly type: "function";
212
+ }, {
213
+ readonly inputs: readonly [];
214
+ readonly name: "getPricePerFullShare";
215
+ readonly outputs: readonly [{
216
+ readonly internalType: "uint256";
217
+ readonly name: "";
218
+ readonly type: "uint256";
219
+ }];
220
+ readonly stateMutability: "view";
221
+ readonly type: "function";
222
+ }, {
223
+ readonly inputs: readonly [{
224
+ readonly internalType: "address";
225
+ readonly name: "_token";
226
+ readonly type: "address";
227
+ }];
228
+ readonly name: "inCaseTokensGetStuck";
229
+ readonly outputs: readonly [];
230
+ readonly stateMutability: "nonpayable";
231
+ readonly type: "function";
232
+ }, {
233
+ readonly inputs: readonly [{
234
+ readonly internalType: "address";
235
+ readonly name: "spender";
236
+ readonly type: "address";
237
+ }, {
238
+ readonly internalType: "uint256";
239
+ readonly name: "addedValue";
240
+ readonly type: "uint256";
241
+ }];
242
+ readonly name: "increaseAllowance";
243
+ readonly outputs: readonly [{
244
+ readonly internalType: "bool";
245
+ readonly name: "";
246
+ readonly type: "bool";
247
+ }];
248
+ readonly stateMutability: "nonpayable";
249
+ readonly type: "function";
250
+ }, {
251
+ readonly inputs: readonly [{
252
+ readonly internalType: "contract IStrategyV7";
253
+ readonly name: "_strategy";
254
+ readonly type: "address";
255
+ }, {
256
+ readonly internalType: "string";
257
+ readonly name: "_name";
258
+ readonly type: "string";
259
+ }, {
260
+ readonly internalType: "string";
261
+ readonly name: "_symbol";
262
+ readonly type: "string";
263
+ }, {
264
+ readonly internalType: "uint256";
265
+ readonly name: "_approvalDelay";
266
+ readonly type: "uint256";
267
+ }];
268
+ readonly name: "initialize";
269
+ readonly outputs: readonly [];
270
+ readonly stateMutability: "nonpayable";
271
+ readonly type: "function";
272
+ }, {
273
+ readonly inputs: readonly [];
274
+ readonly name: "name";
275
+ readonly outputs: readonly [{
276
+ readonly internalType: "string";
277
+ readonly name: "";
278
+ readonly type: "string";
279
+ }];
280
+ readonly stateMutability: "view";
281
+ readonly type: "function";
282
+ }, {
283
+ readonly inputs: readonly [];
284
+ readonly name: "owner";
285
+ readonly outputs: readonly [{
286
+ readonly internalType: "address";
287
+ readonly name: "";
288
+ readonly type: "address";
289
+ }];
290
+ readonly stateMutability: "view";
291
+ readonly type: "function";
292
+ }, {
293
+ readonly inputs: readonly [{
294
+ readonly internalType: "address";
295
+ readonly name: "_implementation";
296
+ readonly type: "address";
297
+ }];
298
+ readonly name: "proposeStrat";
299
+ readonly outputs: readonly [];
300
+ readonly stateMutability: "nonpayable";
301
+ readonly type: "function";
302
+ }, {
303
+ readonly inputs: readonly [];
304
+ readonly name: "renounceOwnership";
305
+ readonly outputs: readonly [];
306
+ readonly stateMutability: "nonpayable";
307
+ readonly type: "function";
308
+ }, {
309
+ readonly inputs: readonly [];
310
+ readonly name: "stratCandidate";
311
+ readonly outputs: readonly [{
312
+ readonly internalType: "address";
313
+ readonly name: "implementation";
314
+ readonly type: "address";
315
+ }, {
316
+ readonly internalType: "uint256";
317
+ readonly name: "proposedTime";
318
+ readonly type: "uint256";
319
+ }];
320
+ readonly stateMutability: "view";
321
+ readonly type: "function";
322
+ }, {
323
+ readonly inputs: readonly [];
324
+ readonly name: "strategy";
325
+ readonly outputs: readonly [{
326
+ readonly internalType: "contract IStrategyV7";
327
+ readonly name: "";
328
+ readonly type: "address";
329
+ }];
330
+ readonly stateMutability: "view";
331
+ readonly type: "function";
332
+ }, {
333
+ readonly inputs: readonly [];
334
+ readonly name: "symbol";
335
+ readonly outputs: readonly [{
336
+ readonly internalType: "string";
337
+ readonly name: "";
338
+ readonly type: "string";
339
+ }];
340
+ readonly stateMutability: "view";
341
+ readonly type: "function";
342
+ }, {
343
+ readonly inputs: readonly [];
344
+ readonly name: "totalSupply";
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: "recipient";
356
+ readonly type: "address";
357
+ }, {
358
+ readonly internalType: "uint256";
359
+ readonly name: "amount";
360
+ readonly type: "uint256";
361
+ }];
362
+ readonly name: "transfer";
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: "sender";
374
+ readonly type: "address";
375
+ }, {
376
+ readonly internalType: "address";
377
+ readonly name: "recipient";
378
+ readonly type: "address";
379
+ }, {
380
+ readonly internalType: "uint256";
381
+ readonly name: "amount";
382
+ readonly type: "uint256";
383
+ }];
384
+ readonly name: "transferFrom";
385
+ readonly outputs: readonly [{
386
+ readonly internalType: "bool";
387
+ readonly name: "";
388
+ readonly type: "bool";
389
+ }];
390
+ readonly stateMutability: "nonpayable";
391
+ readonly type: "function";
392
+ }, {
393
+ readonly inputs: readonly [{
394
+ readonly internalType: "address";
395
+ readonly name: "newOwner";
396
+ readonly type: "address";
397
+ }];
398
+ readonly name: "transferOwnership";
399
+ readonly outputs: readonly [];
400
+ readonly stateMutability: "nonpayable";
401
+ readonly type: "function";
402
+ }, {
403
+ readonly inputs: readonly [];
404
+ readonly name: "upgradeStrat";
405
+ readonly outputs: readonly [];
406
+ readonly stateMutability: "nonpayable";
407
+ readonly type: "function";
408
+ }, {
409
+ readonly inputs: readonly [];
410
+ readonly name: "want";
411
+ readonly outputs: readonly [{
412
+ readonly internalType: "contract IERC20Upgradeable";
413
+ readonly name: "";
414
+ readonly type: "address";
415
+ }];
416
+ readonly stateMutability: "view";
417
+ readonly type: "function";
418
+ }, {
419
+ readonly inputs: readonly [{
420
+ readonly internalType: "uint256";
421
+ readonly name: "_shares";
422
+ readonly type: "uint256";
423
+ }];
424
+ readonly name: "withdraw";
425
+ readonly outputs: readonly [];
426
+ readonly stateMutability: "nonpayable";
427
+ readonly type: "function";
428
+ }, {
429
+ readonly inputs: readonly [];
430
+ readonly name: "withdrawAll";
431
+ readonly outputs: readonly [];
432
+ readonly stateMutability: "nonpayable";
433
+ readonly type: "function";
434
+ }];
435
+ /**
436
+ * Type-safe ABI for BeefyVaultV7
437
+ */
438
+ export type BeefyVaultV7Abi = typeof BeefyVaultV7Abi;
439
+ /**
440
+ * Contract instance type for BeefyVaultV7
441
+ */
442
+ export type BeefyVaultV7Contract = any;
443
+ /**
444
+ * BeefyVaultV7 Contract Class
445
+ *
446
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
447
+ *
448
+ * @example
449
+ * ```typescript
450
+ * import { createPublicClient, createWalletClient, http } from 'viem';
451
+ * import { mainnet } from 'viem/chains';
452
+ * import { BeefyVaultV7 } from 'BeefyVaultV7';
453
+ *
454
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
455
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
456
+ *
457
+ * const contract = new BeefyVaultV7('0x...', { publicClient, walletClient });
458
+ *
459
+ * // Read functions
460
+ * const result = await contract.balanceOf('0x...');
461
+ *
462
+ * // Write functions
463
+ * const hash = await contract.transfer('0x...', 1000n);
464
+ *
465
+ * // Simulate transactions (dry-run)
466
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
467
+ * console.log('Gas estimate:', simulation.request.gas);
468
+ *
469
+ * // Watch events
470
+ * const unwatch = contract.watch.Transfer((event) => {
471
+ * console.log('Transfer event:', event);
472
+ * });
473
+ * ```
474
+ */
475
+ export declare class BeefyVaultV7 {
476
+ private contract;
477
+ private contractAddress;
478
+ private publicClient;
479
+ constructor(address: Address, clients: {
480
+ publicClient: PublicClient;
481
+ walletClient?: WalletClient;
482
+ });
483
+ /**
484
+ * Get the contract address
485
+ */
486
+ get address(): Address;
487
+ /**
488
+ * Get the underlying viem contract instance.
489
+ */
490
+ getContract(): BeefyVaultV7Contract;
491
+ /**
492
+ * allowance
493
+ * view
494
+ */
495
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
496
+ /**
497
+ * approvalDelay
498
+ * view
499
+ */
500
+ approvalDelay(): Promise<bigint>;
501
+ /**
502
+ * available
503
+ * view
504
+ */
505
+ available(): Promise<bigint>;
506
+ /**
507
+ * balance
508
+ * view
509
+ */
510
+ balance(): Promise<bigint>;
511
+ /**
512
+ * balanceOf
513
+ * view
514
+ */
515
+ balanceOf(account: `0x${string}`): Promise<bigint>;
516
+ /**
517
+ * decimals
518
+ * view
519
+ */
520
+ decimals(): Promise<bigint>;
521
+ /**
522
+ * getPricePerFullShare
523
+ * view
524
+ */
525
+ getPricePerFullShare(): Promise<bigint>;
526
+ /**
527
+ * name
528
+ * view
529
+ */
530
+ name(): Promise<string>;
531
+ /**
532
+ * owner
533
+ * view
534
+ */
535
+ owner(): Promise<`0x${string}`>;
536
+ /**
537
+ * stratCandidate
538
+ * view
539
+ */
540
+ stratCandidate(): Promise<[`0x${string}`, bigint]>;
541
+ /**
542
+ * strategy
543
+ * view
544
+ */
545
+ strategy(): Promise<`0x${string}`>;
546
+ /**
547
+ * symbol
548
+ * view
549
+ */
550
+ symbol(): Promise<string>;
551
+ /**
552
+ * totalSupply
553
+ * view
554
+ */
555
+ totalSupply(): Promise<bigint>;
556
+ /**
557
+ * want
558
+ * view
559
+ */
560
+ want(): Promise<`0x${string}`>;
561
+ /**
562
+ * approve
563
+ * nonpayable
564
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
565
+ */
566
+ approve(spender: `0x${string}`, amount: bigint, options?: {
567
+ accessList?: import('viem').AccessList;
568
+ authorizationList?: import('viem').AuthorizationList;
569
+ chain?: import('viem').Chain | null;
570
+ dataSuffix?: `0x${string}`;
571
+ gas?: bigint;
572
+ gasPrice?: bigint;
573
+ maxFeePerGas?: bigint;
574
+ maxPriorityFeePerGas?: bigint;
575
+ nonce?: number;
576
+ value?: bigint;
577
+ }): Promise<`0x${string}`>;
578
+ /**
579
+ * decreaseAllowance
580
+ * nonpayable
581
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
582
+ */
583
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
584
+ accessList?: import('viem').AccessList;
585
+ authorizationList?: import('viem').AuthorizationList;
586
+ chain?: import('viem').Chain | null;
587
+ dataSuffix?: `0x${string}`;
588
+ gas?: bigint;
589
+ gasPrice?: bigint;
590
+ maxFeePerGas?: bigint;
591
+ maxPriorityFeePerGas?: bigint;
592
+ nonce?: number;
593
+ value?: bigint;
594
+ }): Promise<`0x${string}`>;
595
+ /**
596
+ * deposit
597
+ * nonpayable
598
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
599
+ */
600
+ deposit(_amount: bigint, options?: {
601
+ accessList?: import('viem').AccessList;
602
+ authorizationList?: import('viem').AuthorizationList;
603
+ chain?: import('viem').Chain | null;
604
+ dataSuffix?: `0x${string}`;
605
+ gas?: bigint;
606
+ gasPrice?: bigint;
607
+ maxFeePerGas?: bigint;
608
+ maxPriorityFeePerGas?: bigint;
609
+ nonce?: number;
610
+ value?: bigint;
611
+ }): Promise<`0x${string}`>;
612
+ /**
613
+ * depositAll
614
+ * nonpayable
615
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
616
+ */
617
+ depositAll(options?: {
618
+ accessList?: import('viem').AccessList;
619
+ authorizationList?: import('viem').AuthorizationList;
620
+ chain?: import('viem').Chain | null;
621
+ dataSuffix?: `0x${string}`;
622
+ gas?: bigint;
623
+ gasPrice?: bigint;
624
+ maxFeePerGas?: bigint;
625
+ maxPriorityFeePerGas?: bigint;
626
+ nonce?: number;
627
+ value?: bigint;
628
+ }): Promise<`0x${string}`>;
629
+ /**
630
+ * earn
631
+ * nonpayable
632
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
633
+ */
634
+ earn(options?: {
635
+ accessList?: import('viem').AccessList;
636
+ authorizationList?: import('viem').AuthorizationList;
637
+ chain?: import('viem').Chain | null;
638
+ dataSuffix?: `0x${string}`;
639
+ gas?: bigint;
640
+ gasPrice?: bigint;
641
+ maxFeePerGas?: bigint;
642
+ maxPriorityFeePerGas?: bigint;
643
+ nonce?: number;
644
+ value?: bigint;
645
+ }): Promise<`0x${string}`>;
646
+ /**
647
+ * inCaseTokensGetStuck
648
+ * nonpayable
649
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
650
+ */
651
+ inCaseTokensGetStuck(_token: `0x${string}`, options?: {
652
+ accessList?: import('viem').AccessList;
653
+ authorizationList?: import('viem').AuthorizationList;
654
+ chain?: import('viem').Chain | null;
655
+ dataSuffix?: `0x${string}`;
656
+ gas?: bigint;
657
+ gasPrice?: bigint;
658
+ maxFeePerGas?: bigint;
659
+ maxPriorityFeePerGas?: bigint;
660
+ nonce?: number;
661
+ value?: bigint;
662
+ }): Promise<`0x${string}`>;
663
+ /**
664
+ * increaseAllowance
665
+ * nonpayable
666
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
667
+ */
668
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
669
+ accessList?: import('viem').AccessList;
670
+ authorizationList?: import('viem').AuthorizationList;
671
+ chain?: import('viem').Chain | null;
672
+ dataSuffix?: `0x${string}`;
673
+ gas?: bigint;
674
+ gasPrice?: bigint;
675
+ maxFeePerGas?: bigint;
676
+ maxPriorityFeePerGas?: bigint;
677
+ nonce?: number;
678
+ value?: bigint;
679
+ }): Promise<`0x${string}`>;
680
+ /**
681
+ * initialize
682
+ * nonpayable
683
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
684
+ */
685
+ initialize(_strategy: `0x${string}`, _name: string, _symbol: string, _approvalDelay: bigint, options?: {
686
+ accessList?: import('viem').AccessList;
687
+ authorizationList?: import('viem').AuthorizationList;
688
+ chain?: import('viem').Chain | null;
689
+ dataSuffix?: `0x${string}`;
690
+ gas?: bigint;
691
+ gasPrice?: bigint;
692
+ maxFeePerGas?: bigint;
693
+ maxPriorityFeePerGas?: bigint;
694
+ nonce?: number;
695
+ value?: bigint;
696
+ }): Promise<`0x${string}`>;
697
+ /**
698
+ * proposeStrat
699
+ * nonpayable
700
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
701
+ */
702
+ proposeStrat(_implementation: `0x${string}`, options?: {
703
+ accessList?: import('viem').AccessList;
704
+ authorizationList?: import('viem').AuthorizationList;
705
+ chain?: import('viem').Chain | null;
706
+ dataSuffix?: `0x${string}`;
707
+ gas?: bigint;
708
+ gasPrice?: bigint;
709
+ maxFeePerGas?: bigint;
710
+ maxPriorityFeePerGas?: bigint;
711
+ nonce?: number;
712
+ value?: bigint;
713
+ }): Promise<`0x${string}`>;
714
+ /**
715
+ * renounceOwnership
716
+ * nonpayable
717
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
718
+ */
719
+ renounceOwnership(options?: {
720
+ accessList?: import('viem').AccessList;
721
+ authorizationList?: import('viem').AuthorizationList;
722
+ chain?: import('viem').Chain | null;
723
+ dataSuffix?: `0x${string}`;
724
+ gas?: bigint;
725
+ gasPrice?: bigint;
726
+ maxFeePerGas?: bigint;
727
+ maxPriorityFeePerGas?: bigint;
728
+ nonce?: number;
729
+ value?: bigint;
730
+ }): Promise<`0x${string}`>;
731
+ /**
732
+ * transfer
733
+ * nonpayable
734
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
735
+ */
736
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
737
+ accessList?: import('viem').AccessList;
738
+ authorizationList?: import('viem').AuthorizationList;
739
+ chain?: import('viem').Chain | null;
740
+ dataSuffix?: `0x${string}`;
741
+ gas?: bigint;
742
+ gasPrice?: bigint;
743
+ maxFeePerGas?: bigint;
744
+ maxPriorityFeePerGas?: bigint;
745
+ nonce?: number;
746
+ value?: bigint;
747
+ }): Promise<`0x${string}`>;
748
+ /**
749
+ * transferFrom
750
+ * nonpayable
751
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
752
+ */
753
+ transferFrom(sender: `0x${string}`, recipient: `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<`0x${string}`>;
765
+ /**
766
+ * transferOwnership
767
+ * nonpayable
768
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
769
+ */
770
+ transferOwnership(newOwner: `0x${string}`, 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<`0x${string}`>;
782
+ /**
783
+ * upgradeStrat
784
+ * nonpayable
785
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
786
+ */
787
+ upgradeStrat(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<`0x${string}`>;
799
+ /**
800
+ * withdraw
801
+ * nonpayable
802
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
803
+ */
804
+ withdraw(_shares: bigint, 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<`0x${string}`>;
816
+ /**
817
+ * withdrawAll
818
+ * nonpayable
819
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
820
+ */
821
+ withdrawAll(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<`0x${string}`>;
833
+ /**
834
+ * Simulate contract write operations (dry-run without sending transaction)
835
+ *
836
+ * @example
837
+ * const result = await contract.simulate.transfer('0x...', 1000n);
838
+ * console.log('Gas estimate:', result.request.gas);
839
+ * console.log('Would succeed:', result.result);
840
+ */
841
+ get simulate(): {
842
+ /**
843
+ * Simulate approve
844
+ * Returns gas estimate and result without sending transaction
845
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
846
+ */
847
+ approve(spender: `0x${string}`, amount: bigint, options?: {
848
+ accessList?: import("viem").AccessList;
849
+ authorizationList?: import("viem").AuthorizationList;
850
+ chain?: import("viem").Chain | null;
851
+ dataSuffix?: `0x${string}`;
852
+ gas?: bigint;
853
+ gasPrice?: bigint;
854
+ maxFeePerGas?: bigint;
855
+ maxPriorityFeePerGas?: bigint;
856
+ nonce?: number;
857
+ value?: bigint;
858
+ }): Promise<boolean>;
859
+ /**
860
+ * Simulate decreaseAllowance
861
+ * Returns gas estimate and result without sending transaction
862
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
863
+ */
864
+ decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
865
+ accessList?: import("viem").AccessList;
866
+ authorizationList?: import("viem").AuthorizationList;
867
+ chain?: import("viem").Chain | null;
868
+ dataSuffix?: `0x${string}`;
869
+ gas?: bigint;
870
+ gasPrice?: bigint;
871
+ maxFeePerGas?: bigint;
872
+ maxPriorityFeePerGas?: bigint;
873
+ nonce?: number;
874
+ value?: bigint;
875
+ }): Promise<boolean>;
876
+ /**
877
+ * Simulate deposit
878
+ * Returns gas estimate and result without sending transaction
879
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
880
+ */
881
+ deposit(_amount: bigint, options?: {
882
+ accessList?: import("viem").AccessList;
883
+ authorizationList?: import("viem").AuthorizationList;
884
+ chain?: import("viem").Chain | null;
885
+ dataSuffix?: `0x${string}`;
886
+ gas?: bigint;
887
+ gasPrice?: bigint;
888
+ maxFeePerGas?: bigint;
889
+ maxPriorityFeePerGas?: bigint;
890
+ nonce?: number;
891
+ value?: bigint;
892
+ }): Promise<void>;
893
+ /**
894
+ * Simulate depositAll
895
+ * Returns gas estimate and result without sending transaction
896
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
897
+ */
898
+ depositAll(options?: {
899
+ accessList?: import("viem").AccessList;
900
+ authorizationList?: import("viem").AuthorizationList;
901
+ chain?: import("viem").Chain | null;
902
+ dataSuffix?: `0x${string}`;
903
+ gas?: bigint;
904
+ gasPrice?: bigint;
905
+ maxFeePerGas?: bigint;
906
+ maxPriorityFeePerGas?: bigint;
907
+ nonce?: number;
908
+ value?: bigint;
909
+ }): Promise<void>;
910
+ /**
911
+ * Simulate earn
912
+ * Returns gas estimate and result without sending transaction
913
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
914
+ */
915
+ earn(options?: {
916
+ accessList?: import("viem").AccessList;
917
+ authorizationList?: import("viem").AuthorizationList;
918
+ chain?: import("viem").Chain | null;
919
+ dataSuffix?: `0x${string}`;
920
+ gas?: bigint;
921
+ gasPrice?: bigint;
922
+ maxFeePerGas?: bigint;
923
+ maxPriorityFeePerGas?: bigint;
924
+ nonce?: number;
925
+ value?: bigint;
926
+ }): Promise<void>;
927
+ /**
928
+ * Simulate inCaseTokensGetStuck
929
+ * Returns gas estimate and result without sending transaction
930
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
931
+ */
932
+ inCaseTokensGetStuck(_token: `0x${string}`, options?: {
933
+ accessList?: import("viem").AccessList;
934
+ authorizationList?: import("viem").AuthorizationList;
935
+ chain?: import("viem").Chain | null;
936
+ dataSuffix?: `0x${string}`;
937
+ gas?: bigint;
938
+ gasPrice?: bigint;
939
+ maxFeePerGas?: bigint;
940
+ maxPriorityFeePerGas?: bigint;
941
+ nonce?: number;
942
+ value?: bigint;
943
+ }): Promise<void>;
944
+ /**
945
+ * Simulate increaseAllowance
946
+ * Returns gas estimate and result without sending transaction
947
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
948
+ */
949
+ increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
950
+ accessList?: import("viem").AccessList;
951
+ authorizationList?: import("viem").AuthorizationList;
952
+ chain?: import("viem").Chain | null;
953
+ dataSuffix?: `0x${string}`;
954
+ gas?: bigint;
955
+ gasPrice?: bigint;
956
+ maxFeePerGas?: bigint;
957
+ maxPriorityFeePerGas?: bigint;
958
+ nonce?: number;
959
+ value?: bigint;
960
+ }): Promise<boolean>;
961
+ /**
962
+ * Simulate initialize
963
+ * Returns gas estimate and result without sending transaction
964
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
965
+ */
966
+ initialize(_strategy: `0x${string}`, _name: string, _symbol: string, _approvalDelay: bigint, options?: {
967
+ accessList?: import("viem").AccessList;
968
+ authorizationList?: import("viem").AuthorizationList;
969
+ chain?: import("viem").Chain | null;
970
+ dataSuffix?: `0x${string}`;
971
+ gas?: bigint;
972
+ gasPrice?: bigint;
973
+ maxFeePerGas?: bigint;
974
+ maxPriorityFeePerGas?: bigint;
975
+ nonce?: number;
976
+ value?: bigint;
977
+ }): Promise<void>;
978
+ /**
979
+ * Simulate proposeStrat
980
+ * Returns gas estimate and result without sending transaction
981
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
982
+ */
983
+ proposeStrat(_implementation: `0x${string}`, options?: {
984
+ accessList?: import("viem").AccessList;
985
+ authorizationList?: import("viem").AuthorizationList;
986
+ chain?: import("viem").Chain | null;
987
+ dataSuffix?: `0x${string}`;
988
+ gas?: bigint;
989
+ gasPrice?: bigint;
990
+ maxFeePerGas?: bigint;
991
+ maxPriorityFeePerGas?: bigint;
992
+ nonce?: number;
993
+ value?: bigint;
994
+ }): Promise<void>;
995
+ /**
996
+ * Simulate renounceOwnership
997
+ * Returns gas estimate and result without sending transaction
998
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
999
+ */
1000
+ renounceOwnership(options?: {
1001
+ accessList?: import("viem").AccessList;
1002
+ authorizationList?: import("viem").AuthorizationList;
1003
+ chain?: import("viem").Chain | null;
1004
+ dataSuffix?: `0x${string}`;
1005
+ gas?: bigint;
1006
+ gasPrice?: bigint;
1007
+ maxFeePerGas?: bigint;
1008
+ maxPriorityFeePerGas?: bigint;
1009
+ nonce?: number;
1010
+ value?: bigint;
1011
+ }): Promise<void>;
1012
+ /**
1013
+ * Simulate transfer
1014
+ * Returns gas estimate and result without sending transaction
1015
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1016
+ */
1017
+ transfer(recipient: `0x${string}`, amount: bigint, options?: {
1018
+ accessList?: import("viem").AccessList;
1019
+ authorizationList?: import("viem").AuthorizationList;
1020
+ chain?: import("viem").Chain | null;
1021
+ dataSuffix?: `0x${string}`;
1022
+ gas?: bigint;
1023
+ gasPrice?: bigint;
1024
+ maxFeePerGas?: bigint;
1025
+ maxPriorityFeePerGas?: bigint;
1026
+ nonce?: number;
1027
+ value?: bigint;
1028
+ }): Promise<boolean>;
1029
+ /**
1030
+ * Simulate transferFrom
1031
+ * Returns gas estimate and result without sending transaction
1032
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1033
+ */
1034
+ transferFrom(sender: `0x${string}`, recipient: `0x${string}`, amount: bigint, options?: {
1035
+ accessList?: import("viem").AccessList;
1036
+ authorizationList?: import("viem").AuthorizationList;
1037
+ chain?: import("viem").Chain | null;
1038
+ dataSuffix?: `0x${string}`;
1039
+ gas?: bigint;
1040
+ gasPrice?: bigint;
1041
+ maxFeePerGas?: bigint;
1042
+ maxPriorityFeePerGas?: bigint;
1043
+ nonce?: number;
1044
+ value?: bigint;
1045
+ }): Promise<boolean>;
1046
+ /**
1047
+ * Simulate transferOwnership
1048
+ * Returns gas estimate and result without sending transaction
1049
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1050
+ */
1051
+ transferOwnership(newOwner: `0x${string}`, options?: {
1052
+ accessList?: import("viem").AccessList;
1053
+ authorizationList?: import("viem").AuthorizationList;
1054
+ chain?: import("viem").Chain | null;
1055
+ dataSuffix?: `0x${string}`;
1056
+ gas?: bigint;
1057
+ gasPrice?: bigint;
1058
+ maxFeePerGas?: bigint;
1059
+ maxPriorityFeePerGas?: bigint;
1060
+ nonce?: number;
1061
+ value?: bigint;
1062
+ }): Promise<void>;
1063
+ /**
1064
+ * Simulate upgradeStrat
1065
+ * Returns gas estimate and result without sending transaction
1066
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1067
+ */
1068
+ upgradeStrat(options?: {
1069
+ accessList?: import("viem").AccessList;
1070
+ authorizationList?: import("viem").AuthorizationList;
1071
+ chain?: import("viem").Chain | null;
1072
+ dataSuffix?: `0x${string}`;
1073
+ gas?: bigint;
1074
+ gasPrice?: bigint;
1075
+ maxFeePerGas?: bigint;
1076
+ maxPriorityFeePerGas?: bigint;
1077
+ nonce?: number;
1078
+ value?: bigint;
1079
+ }): Promise<void>;
1080
+ /**
1081
+ * Simulate withdraw
1082
+ * Returns gas estimate and result without sending transaction
1083
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1084
+ */
1085
+ withdraw(_shares: bigint, options?: {
1086
+ accessList?: import("viem").AccessList;
1087
+ authorizationList?: import("viem").AuthorizationList;
1088
+ chain?: import("viem").Chain | null;
1089
+ dataSuffix?: `0x${string}`;
1090
+ gas?: bigint;
1091
+ gasPrice?: bigint;
1092
+ maxFeePerGas?: bigint;
1093
+ maxPriorityFeePerGas?: bigint;
1094
+ nonce?: number;
1095
+ value?: bigint;
1096
+ }): Promise<void>;
1097
+ /**
1098
+ * Simulate withdrawAll
1099
+ * Returns gas estimate and result without sending transaction
1100
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1101
+ */
1102
+ withdrawAll(options?: {
1103
+ accessList?: import("viem").AccessList;
1104
+ authorizationList?: import("viem").AuthorizationList;
1105
+ chain?: import("viem").Chain | null;
1106
+ dataSuffix?: `0x${string}`;
1107
+ gas?: bigint;
1108
+ gasPrice?: bigint;
1109
+ maxFeePerGas?: bigint;
1110
+ maxPriorityFeePerGas?: bigint;
1111
+ nonce?: number;
1112
+ value?: bigint;
1113
+ }): Promise<void>;
1114
+ };
1115
+ /**
1116
+ * Watch contract events
1117
+ *
1118
+ * @example
1119
+ * // Watch all Transfer events
1120
+ * const unwatch = contract.watch.Transfer((event) => {
1121
+ * console.log('Transfer:', event);
1122
+ * });
1123
+ *
1124
+ * // Stop watching
1125
+ * unwatch();
1126
+ */
1127
+ get watch(): {
1128
+ /**
1129
+ * Watch Approval events
1130
+ * @param callback Function to call when event is emitted
1131
+ * @param filter Optional filter for indexed parameters
1132
+ * @returns Unwatch function to stop listening
1133
+ */
1134
+ Approval: (callback: (event: {
1135
+ owner: `0x${string}`;
1136
+ spender: `0x${string}`;
1137
+ value: bigint;
1138
+ }) => void, filter?: {
1139
+ owner?: `0x${string}` | `0x${string}`[] | null;
1140
+ spender?: `0x${string}` | `0x${string}`[] | null;
1141
+ }) => () => void;
1142
+ /**
1143
+ * Watch NewStratCandidate events
1144
+ * @param callback Function to call when event is emitted
1145
+ * @param filter Optional filter for indexed parameters
1146
+ * @returns Unwatch function to stop listening
1147
+ */
1148
+ NewStratCandidate: (callback: (event: {
1149
+ implementation: `0x${string}`;
1150
+ }) => void) => () => void;
1151
+ /**
1152
+ * Watch OwnershipTransferred events
1153
+ * @param callback Function to call when event is emitted
1154
+ * @param filter Optional filter for indexed parameters
1155
+ * @returns Unwatch function to stop listening
1156
+ */
1157
+ OwnershipTransferred: (callback: (event: {
1158
+ previousOwner: `0x${string}`;
1159
+ newOwner: `0x${string}`;
1160
+ }) => void, filter?: {
1161
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1162
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1163
+ }) => () => void;
1164
+ /**
1165
+ * Watch Transfer events
1166
+ * @param callback Function to call when event is emitted
1167
+ * @param filter Optional filter for indexed parameters
1168
+ * @returns Unwatch function to stop listening
1169
+ */
1170
+ Transfer: (callback: (event: {
1171
+ from: `0x${string}`;
1172
+ to: `0x${string}`;
1173
+ value: bigint;
1174
+ }) => void, filter?: {
1175
+ from?: `0x${string}` | `0x${string}`[] | null;
1176
+ to?: `0x${string}` | `0x${string}`[] | null;
1177
+ }) => () => void;
1178
+ /**
1179
+ * Watch UpgradeStrat events
1180
+ * @param callback Function to call when event is emitted
1181
+ * @param filter Optional filter for indexed parameters
1182
+ * @returns Unwatch function to stop listening
1183
+ */
1184
+ UpgradeStrat: (callback: (event: {
1185
+ implementation: `0x${string}`;
1186
+ }) => void) => () => void;
1187
+ };
1188
+ }