@ichidao/ichi-vaults-sdk 0.1.40 → 0.1.41

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.
Files changed (60) hide show
  1. package/README.md +205 -0
  2. package/dist/abis/types/DepositGuardWithHtsWrapping.d.ts +339 -0
  3. package/dist/abis/types/DepositGuardWithHtsWrapping.js +3 -0
  4. package/dist/abis/types/DepositGuardWithHtsWrapping.js.map +1 -0
  5. package/dist/abis/types/ERC20Wrapper.d.ts +171 -0
  6. package/dist/abis/types/ERC20Wrapper.js +3 -0
  7. package/dist/abis/types/ERC20Wrapper.js.map +1 -0
  8. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.d.ts +410 -0
  9. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.js +540 -0
  10. package/dist/abis/types/factories/DepositGuardWithHtsWrapping__factory.js.map +1 -0
  11. package/dist/abis/types/factories/ERC20Wrapper__factory.d.ts +168 -0
  12. package/dist/abis/types/factories/ERC20Wrapper__factory.js +235 -0
  13. package/dist/abis/types/factories/ERC20Wrapper__factory.js.map +1 -0
  14. package/dist/abis/types/factories/index.d.ts +2 -0
  15. package/dist/abis/types/factories/index.js +5 -1
  16. package/dist/abis/types/factories/index.js.map +1 -1
  17. package/dist/abis/types/index.d.ts +4 -0
  18. package/dist/abis/types/index.js +5 -1
  19. package/dist/abis/types/index.js.map +1 -1
  20. package/dist/src/__tests__/index.test.js +112 -15
  21. package/dist/src/__tests__/index.test.js.map +1 -1
  22. package/dist/src/abis/types/DepositGuardWithHtsWrapping.d.ts +339 -0
  23. package/dist/src/abis/types/ERC20Wrapper.d.ts +171 -0
  24. package/dist/src/abis/types/factories/DepositGuardWithHtsWrapping__factory.d.ts +410 -0
  25. package/dist/src/abis/types/factories/ERC20Wrapper__factory.d.ts +168 -0
  26. package/dist/src/abis/types/factories/index.d.ts +2 -0
  27. package/dist/src/abis/types/index.d.ts +4 -0
  28. package/dist/src/contracts/index.d.ts +3 -1
  29. package/dist/src/contracts/index.js +11 -1
  30. package/dist/src/contracts/index.js.map +1 -1
  31. package/dist/src/functions/_withdrawHelpers.d.ts +4 -0
  32. package/dist/src/functions/_withdrawHelpers.js +72 -0
  33. package/dist/src/functions/_withdrawHelpers.js.map +1 -0
  34. package/dist/src/functions/depositWithHtsWrapping.d.ts +8 -0
  35. package/dist/src/functions/depositWithHtsWrapping.js +243 -0
  36. package/dist/src/functions/depositWithHtsWrapping.js.map +1 -0
  37. package/dist/src/functions/withdraw.js +4 -26
  38. package/dist/src/functions/withdraw.js.map +1 -1
  39. package/dist/src/functions/withdrawWithErc20Wrapping.d.ts +5 -0
  40. package/dist/src/functions/withdrawWithErc20Wrapping.js +137 -0
  41. package/dist/src/functions/withdrawWithErc20Wrapping.js.map +1 -0
  42. package/dist/src/index.cjs.js +3 -1
  43. package/dist/src/index.d.ts +2 -0
  44. package/dist/src/index.esm.js +3 -1
  45. package/dist/src/index.js +2 -0
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/src/contracts/index.d.ts +3 -1
  48. package/dist/src/src/functions/_withdrawHelpers.d.ts +4 -0
  49. package/dist/src/src/functions/depositWithHtsWrapping.d.ts +8 -0
  50. package/dist/src/src/functions/withdrawWithErc20Wrapping.d.ts +5 -0
  51. package/dist/src/src/index.d.ts +2 -0
  52. package/dist/src/src/utils/config/addresses.d.ts +1 -0
  53. package/dist/src/src/utils/multicallUtils.d.ts +1 -1
  54. package/dist/src/utils/config/addresses.d.ts +1 -0
  55. package/dist/src/utils/config/addresses.js +4 -2
  56. package/dist/src/utils/config/addresses.js.map +1 -1
  57. package/dist/src/utils/multicallUtils.d.ts +1 -1
  58. package/dist/src/utils/multicallUtils.js +26 -2
  59. package/dist/src/utils/multicallUtils.js.map +1 -1
  60. package/package.json +1 -1
package/README.md CHANGED
@@ -18,6 +18,11 @@ This sdk contains collection of functions to interact with IchiVault's smart con
18
18
  * [`withdraw()`](#6-withdraw)
19
19
  * [`withdrawWithSlippage()`](#7-withdraw)
20
20
  * [`withdrawNativeToken()`](#8-withdraw)
21
+ * [`approveToken()`](#8a-approveToken)
22
+ * [`isTokenApproved()`](#8b-isTokenApproved)
23
+ * [`getActualDepositToken()`](#8c-getActualDepositToken)
24
+ * [`depositWithHtsWrapping()`](#8d-depositWithHtsWrapping)
25
+ * [`withdrawWithErc20Wrapping()`](#8e-withdrawWithErc20Wrapping)
21
26
  * [`isDepositTokenApproved()`](#9-isDepositTokenApproved)
22
27
  * [`isTokenAllowed()`](#10-isTokenAllowed)
23
28
  * [`getMaxDepositAmount()`](#11-getMaxDepositAmount)
@@ -382,6 +387,206 @@ const txnDetails = await withdraw(
382
387
  )
383
388
  ```
384
389
 
390
+ #### 8a. `approveToken()`
391
+
392
+ | param | type | default | required
393
+ | -------- | -------- | -------- | --------
394
+ | accountAddress | string | - | true
395
+ | tokenAddress | string | - | true
396
+ | vaultAddress | string | - | true |
397
+ | jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
398
+ | dex | SupportedDex | - | true |
399
+ | amount | string \| number \| BigNumber | undefined | false |
400
+ | overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
401
+
402
+ <br/>
403
+
404
+ This function approves a specific token for deposit into the vault by token address. Unlike `approveDepositToken()` which uses a token index (0 or 1), this function accepts the actual token address. This is particularly useful when working with HTS wrapped tokens where the actual deposit token may differ from the vault's token. Use `getActualDepositToken()` to determine the correct token address to approve.
405
+
406
+ ```typescript
407
+ import { Web3Provider } from '@ethersproject/providers';
408
+ import { approveToken, getActualDepositToken, SupportedDex } from '@ichidao/ichi-vaults-sdk';
409
+
410
+ const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
411
+ const vaultAddress = "0x3ac9...a5f132"
412
+ const accountAddress = "0xaaaa...aaaaaa"
413
+ const depositToken = "0xbbbb...bbbbbb" // original deposit token from vault
414
+ const dex = SupportedDex.Bonzo
415
+
416
+ // Get the actual token to approve (may be ERC20 counterpart of HTS token)
417
+ const actualToken = await getActualDepositToken(depositToken, web3Provider);
418
+
419
+ const txnDetails = await approveToken(
420
+ accountAddress,
421
+ actualToken,
422
+ vaultAddress,
423
+ web3Provider,
424
+ dex,
425
+ 100 // amount (optional)
426
+ );
427
+
428
+ await txnDetails.wait();
429
+ ```
430
+
431
+ #### 8b. `isTokenApproved()`
432
+
433
+ | param | type | default | required
434
+ | -------- | -------- | -------- | --------
435
+ | accountAddress | string | - | true
436
+ | tokenAddress | string | - | true
437
+ | amount | string \| number \| BigNumber | - | true |
438
+ | vaultAddress | string | - | true |
439
+ | jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
440
+ | dex | SupportedDex | - | true |
441
+
442
+ <br/>
443
+
444
+ This function returns true if the specified token's allowance is non-zero and greater than or equal to the specified amount. Use this to check approval status for the actual deposit token (which may be the ERC20 counterpart of an HTS token for vaults on Hedera).
445
+
446
+ ```typescript
447
+ import { Web3Provider } from '@ethersproject/providers';
448
+ import { isTokenApproved, getActualDepositToken, SupportedDex } from '@ichidao/ichi-vaults-sdk';
449
+
450
+ const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
451
+ const vaultAddress = "0x3ac9...a5f132"
452
+ const accountAddress = "0xaaaa...aaaaaa"
453
+ const depositToken = "0xbbbb...bbbbbb"
454
+ const amount = 100
455
+ const dex = SupportedDex.Bonzo
456
+
457
+ // Get the actual token to check (may be ERC20 counterpart of HTS token)
458
+ const actualToken = await getActualDepositToken(depositToken, web3Provider);
459
+
460
+ const isApproved: boolean = await isTokenApproved(
461
+ accountAddress,
462
+ actualToken,
463
+ amount,
464
+ vaultAddress,
465
+ web3Provider,
466
+ dex
467
+ )
468
+ ```
469
+
470
+ #### 8c. `getActualDepositToken()` - Bonzo on Hedera Only
471
+
472
+ | param | type | default | required
473
+ | -------- | -------- | -------- | --------
474
+ | depositToken | string | - | true
475
+ | jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
476
+
477
+ <br/>
478
+
479
+ > **Note:** This function is only available for Bonzo vaults on the Hedera chain.
480
+
481
+ This helper function checks if the deposit token is an HTS wrapped token and returns its ERC20 counterpart if one exists. If no ERC20 counterpart exists, it returns the original token address. Use this function to determine the correct token address for approval and deposit operations.
482
+
483
+ ```typescript
484
+ import { Web3Provider } from '@ethersproject/providers';
485
+ import { getActualDepositToken } from '@ichidao/ichi-vaults-sdk';
486
+
487
+ const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
488
+ const depositToken = "0xbbbb...bbbbbb" // HTS wrapped token
489
+
490
+ const actualToken = await getActualDepositToken(depositToken, web3Provider);
491
+ // actualToken will be the ERC20 counterpart if one exists, otherwise the original token
492
+ ```
493
+
494
+ #### 8d. `depositWithHtsWrapping()` - Bonzo on Hedera Only
495
+
496
+ | param | type | default | required
497
+ | -------- | -------- | -------- | --------
498
+ | accountAddress | string | - | true
499
+ | amount0 | string \| number \| BigNumber | - | true
500
+ | amount1 | string \| number \| BigNumber | - | true
501
+ | vaultAddress | string | - | true
502
+ | jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
503
+ | dex | SupportedDex | - | true
504
+ | percentSlippage | number | 1 | false
505
+ | overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
506
+
507
+ <br/>
508
+
509
+ > **Note:** This function is only available for Bonzo vaults on the Hedera chain. Using it with other vaults or chains will throw an error.
510
+
511
+ This function facilitates deposits into Bonzo vaults on Hedera with automatic HTS token wrapping. If the deposit token is an HTS wrapped token, the function automatically finds and uses its ERC20 counterpart for the deposit. The vault tokens received will be wrapped to HTS format. Use `approveToken()` with `getActualDepositToken()` to approve the correct token before calling this function.
512
+
513
+ ```typescript
514
+ import { Web3Provider } from '@ethersproject/providers';
515
+ import { depositWithHtsWrapping, approveToken, getActualDepositToken, SupportedDex } from '@ichidao/ichi-vaults-sdk';
516
+
517
+ const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
518
+ const vaultAddress = "0x3ac9...a5f132"
519
+ const dex = SupportedDex.Bonzo
520
+ const accountAddress = "0xaaaa...aaaaaa"
521
+ const depositToken = "0xbbbb...bbbbbb" // token from vault
522
+
523
+ // First, get the actual token and approve it
524
+ const actualToken = await getActualDepositToken(depositToken, web3Provider);
525
+ await approveToken(accountAddress, actualToken, vaultAddress, web3Provider, dex);
526
+
527
+ const amount0 = 100
528
+ const amount1 = 0
529
+
530
+ const txnDetails = await depositWithHtsWrapping(
531
+ accountAddress,
532
+ amount0,
533
+ amount1,
534
+ vaultAddress,
535
+ web3Provider,
536
+ dex,
537
+ 1 // acceptable slippage (percent)
538
+ )
539
+ ```
540
+
541
+ #### 8e. `withdrawWithErc20Wrapping()` - Bonzo on Hedera Only
542
+
543
+ | param | type | default | required
544
+ | -------- | -------- | -------- | --------
545
+ | accountAddress | string | - | true
546
+ | shares | string \| number \| BigNumber | - | true
547
+ | vaultAddress | string | - | true
548
+ | jsonProvider | [JsonRpcProvider](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/providers/src.ts/json-rpc-provider.ts#L393) | - | true
549
+ | dex | SupportedDex | - | true
550
+ | percentSlippage | number | 1 | false
551
+ | overrides | [Overrides](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/contracts/lib/index.d.ts#L7) | undefined | false
552
+
553
+ <br/>
554
+
555
+ > **Note:** This function is only available for Bonzo vaults on the Hedera chain. Using it with other vaults or chains will throw an error.
556
+
557
+ This function facilitates withdrawals from Bonzo vaults on Hedera with automatic unwrapping of HTS tokens to their ERC20 counterparts. If the vault tokens are HTS wrapped, they will be automatically converted to ERC20 tokens during withdrawal. Ensure to use the `approveVaultToken()` function before invoking this function.
558
+
559
+ ```typescript
560
+ import { Web3Provider } from '@ethersproject/providers';
561
+ import { getUserBalance, withdrawWithErc20Wrapping, approveVaultToken, SupportedDex } from '@ichidao/ichi-vaults-sdk';
562
+
563
+ const web3Provider = new Web3Provider(YOUR_WEB3_PROVIDER);
564
+ const vaultAddress = "0x3ac9...a5f132"
565
+ const dex = SupportedDex.Bonzo
566
+ const accountAddress = "0xaaaa...aaaaaa"
567
+
568
+ const totalUserShares: string = await getUserBalance(
569
+ accountAddress,
570
+ vaultAddress,
571
+ web3Provider,
572
+ dex
573
+ )
574
+
575
+ let shares = Number(totalUserShares) * 0.5 // 50% of user share balance
576
+
577
+ // Approve vault tokens first
578
+ await approveVaultToken(accountAddress, vaultAddress, web3Provider, dex, shares);
579
+
580
+ const txnDetails = await withdrawWithErc20Wrapping(
581
+ accountAddress,
582
+ shares,
583
+ vaultAddress,
584
+ web3Provider,
585
+ dex,
586
+ 1 // acceptable slippage (percent)
587
+ )
588
+ ```
589
+
385
590
  #### 9. `isDepositTokenApproved()`
386
591
 
387
592
  | param | type | default | required
@@ -0,0 +1,339 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
5
+ export interface DepositGuardWithHtsWrappingInterface extends utils.Interface {
6
+ functions: {
7
+ "HTS_ADDRESS()": FunctionFragment;
8
+ "HTS_WRAPPER()": FunctionFragment;
9
+ "ICHIVaultFactory()": FunctionFragment;
10
+ "WRAPPED_NATIVE()": FunctionFragment;
11
+ "associate(address,address)": FunctionFragment;
12
+ "depositToICHIVaultAndTryWrapToHTS(address,address,address,uint256,uint256,address)": FunctionFragment;
13
+ "forwardDepositToICHIVault(address,address,address,uint256,uint256,address)": FunctionFragment;
14
+ "forwardNativeDepositToICHIVault(address,address,uint256,address)": FunctionFragment;
15
+ "forwardNativeWithdrawFromICHIVault(address,address,uint256,address,uint256,uint256)": FunctionFragment;
16
+ "forwardWithdrawFromICHIVault(address,address,uint256,address,uint256,uint256)": FunctionFragment;
17
+ "owner()": FunctionFragment;
18
+ "renounceOwnership()": FunctionFragment;
19
+ "transferOwnership(address)": FunctionFragment;
20
+ "vaultKey(address,address,address,uint24,bool,bool)": FunctionFragment;
21
+ "withdrawFromICHIVaultAndTryUnwrapToERC20(address,address,uint256,address,uint256,uint256)": FunctionFragment;
22
+ };
23
+ getFunction(nameOrSignatureOrTopic: "HTS_ADDRESS" | "HTS_WRAPPER" | "ICHIVaultFactory" | "WRAPPED_NATIVE" | "associate" | "depositToICHIVaultAndTryWrapToHTS" | "forwardDepositToICHIVault" | "forwardNativeDepositToICHIVault" | "forwardNativeWithdrawFromICHIVault" | "forwardWithdrawFromICHIVault" | "owner" | "renounceOwnership" | "transferOwnership" | "vaultKey" | "withdrawFromICHIVaultAndTryUnwrapToERC20"): FunctionFragment;
24
+ encodeFunctionData(functionFragment: "HTS_ADDRESS", values?: undefined): string;
25
+ encodeFunctionData(functionFragment: "HTS_WRAPPER", values?: undefined): string;
26
+ encodeFunctionData(functionFragment: "ICHIVaultFactory", values?: undefined): string;
27
+ encodeFunctionData(functionFragment: "WRAPPED_NATIVE", values?: undefined): string;
28
+ encodeFunctionData(functionFragment: "associate", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
29
+ encodeFunctionData(functionFragment: "depositToICHIVaultAndTryWrapToHTS", values: [
30
+ PromiseOrValue<string>,
31
+ PromiseOrValue<string>,
32
+ PromiseOrValue<string>,
33
+ PromiseOrValue<BigNumberish>,
34
+ PromiseOrValue<BigNumberish>,
35
+ PromiseOrValue<string>
36
+ ]): string;
37
+ encodeFunctionData(functionFragment: "forwardDepositToICHIVault", values: [
38
+ PromiseOrValue<string>,
39
+ PromiseOrValue<string>,
40
+ PromiseOrValue<string>,
41
+ PromiseOrValue<BigNumberish>,
42
+ PromiseOrValue<BigNumberish>,
43
+ PromiseOrValue<string>
44
+ ]): string;
45
+ encodeFunctionData(functionFragment: "forwardNativeDepositToICHIVault", values: [
46
+ PromiseOrValue<string>,
47
+ PromiseOrValue<string>,
48
+ PromiseOrValue<BigNumberish>,
49
+ PromiseOrValue<string>
50
+ ]): string;
51
+ encodeFunctionData(functionFragment: "forwardNativeWithdrawFromICHIVault", values: [
52
+ PromiseOrValue<string>,
53
+ PromiseOrValue<string>,
54
+ PromiseOrValue<BigNumberish>,
55
+ PromiseOrValue<string>,
56
+ PromiseOrValue<BigNumberish>,
57
+ PromiseOrValue<BigNumberish>
58
+ ]): string;
59
+ encodeFunctionData(functionFragment: "forwardWithdrawFromICHIVault", values: [
60
+ PromiseOrValue<string>,
61
+ PromiseOrValue<string>,
62
+ PromiseOrValue<BigNumberish>,
63
+ PromiseOrValue<string>,
64
+ PromiseOrValue<BigNumberish>,
65
+ PromiseOrValue<BigNumberish>
66
+ ]): string;
67
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
68
+ encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
69
+ encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
70
+ encodeFunctionData(functionFragment: "vaultKey", values: [
71
+ PromiseOrValue<string>,
72
+ PromiseOrValue<string>,
73
+ PromiseOrValue<string>,
74
+ PromiseOrValue<BigNumberish>,
75
+ PromiseOrValue<boolean>,
76
+ PromiseOrValue<boolean>
77
+ ]): string;
78
+ encodeFunctionData(functionFragment: "withdrawFromICHIVaultAndTryUnwrapToERC20", values: [
79
+ PromiseOrValue<string>,
80
+ PromiseOrValue<string>,
81
+ PromiseOrValue<BigNumberish>,
82
+ PromiseOrValue<string>,
83
+ PromiseOrValue<BigNumberish>,
84
+ PromiseOrValue<BigNumberish>
85
+ ]): string;
86
+ decodeFunctionResult(functionFragment: "HTS_ADDRESS", data: BytesLike): Result;
87
+ decodeFunctionResult(functionFragment: "HTS_WRAPPER", data: BytesLike): Result;
88
+ decodeFunctionResult(functionFragment: "ICHIVaultFactory", data: BytesLike): Result;
89
+ decodeFunctionResult(functionFragment: "WRAPPED_NATIVE", data: BytesLike): Result;
90
+ decodeFunctionResult(functionFragment: "associate", data: BytesLike): Result;
91
+ decodeFunctionResult(functionFragment: "depositToICHIVaultAndTryWrapToHTS", data: BytesLike): Result;
92
+ decodeFunctionResult(functionFragment: "forwardDepositToICHIVault", data: BytesLike): Result;
93
+ decodeFunctionResult(functionFragment: "forwardNativeDepositToICHIVault", data: BytesLike): Result;
94
+ decodeFunctionResult(functionFragment: "forwardNativeWithdrawFromICHIVault", data: BytesLike): Result;
95
+ decodeFunctionResult(functionFragment: "forwardWithdrawFromICHIVault", data: BytesLike): Result;
96
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
97
+ decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
98
+ decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
99
+ decodeFunctionResult(functionFragment: "vaultKey", data: BytesLike): Result;
100
+ decodeFunctionResult(functionFragment: "withdrawFromICHIVaultAndTryUnwrapToERC20", data: BytesLike): Result;
101
+ events: {
102
+ "Deployed(address,address)": EventFragment;
103
+ "DepositForwarded(address,address,address,uint256,uint256,address)": EventFragment;
104
+ "OwnershipTransferred(address,address)": EventFragment;
105
+ };
106
+ getEvent(nameOrSignatureOrTopic: "Deployed"): EventFragment;
107
+ getEvent(nameOrSignatureOrTopic: "DepositForwarded"): EventFragment;
108
+ getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
109
+ }
110
+ export interface DeployedEventObject {
111
+ _ICHIVaultFactory: string;
112
+ _WETH: string;
113
+ }
114
+ export type DeployedEvent = TypedEvent<[string, string], DeployedEventObject>;
115
+ export type DeployedEventFilter = TypedEventFilter<DeployedEvent>;
116
+ export interface DepositForwardedEventObject {
117
+ sender: string;
118
+ vault: string;
119
+ token: string;
120
+ amount: BigNumber;
121
+ shares: BigNumber;
122
+ to: string;
123
+ }
124
+ export type DepositForwardedEvent = TypedEvent<[
125
+ string,
126
+ string,
127
+ string,
128
+ BigNumber,
129
+ BigNumber,
130
+ string
131
+ ], DepositForwardedEventObject>;
132
+ export type DepositForwardedEventFilter = TypedEventFilter<DepositForwardedEvent>;
133
+ export interface OwnershipTransferredEventObject {
134
+ previousOwner: string;
135
+ newOwner: string;
136
+ }
137
+ export type OwnershipTransferredEvent = TypedEvent<[
138
+ string,
139
+ string
140
+ ], OwnershipTransferredEventObject>;
141
+ export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
142
+ export interface DepositGuardWithHtsWrapping extends BaseContract {
143
+ connect(signerOrProvider: Signer | Provider | string): this;
144
+ attach(addressOrName: string): this;
145
+ deployed(): Promise<this>;
146
+ interface: DepositGuardWithHtsWrappingInterface;
147
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
148
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
149
+ listeners(eventName?: string): Array<Listener>;
150
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
151
+ removeAllListeners(eventName?: string): this;
152
+ off: OnEvent<this>;
153
+ on: OnEvent<this>;
154
+ once: OnEvent<this>;
155
+ removeListener: OnEvent<this>;
156
+ functions: {
157
+ HTS_ADDRESS(overrides?: CallOverrides): Promise<[string]>;
158
+ HTS_WRAPPER(overrides?: CallOverrides): Promise<[string]>;
159
+ ICHIVaultFactory(overrides?: CallOverrides): Promise<[string]>;
160
+ WRAPPED_NATIVE(overrides?: CallOverrides): Promise<[string]>;
161
+ associate(token: PromiseOrValue<string>, pool: PromiseOrValue<string>, overrides?: Overrides & {
162
+ from?: PromiseOrValue<string>;
163
+ }): Promise<ContractTransaction>;
164
+ depositToICHIVaultAndTryWrapToHTS(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, erc20Amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
165
+ from?: PromiseOrValue<string>;
166
+ }): Promise<ContractTransaction>;
167
+ forwardDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
168
+ from?: PromiseOrValue<string>;
169
+ }): Promise<ContractTransaction>;
170
+ forwardNativeDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: PayableOverrides & {
171
+ from?: PromiseOrValue<string>;
172
+ }): Promise<ContractTransaction>;
173
+ forwardNativeWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
174
+ from?: PromiseOrValue<string>;
175
+ }): Promise<ContractTransaction>;
176
+ forwardWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
177
+ from?: PromiseOrValue<string>;
178
+ }): Promise<ContractTransaction>;
179
+ owner(overrides?: CallOverrides): Promise<[string]>;
180
+ renounceOwnership(overrides?: Overrides & {
181
+ from?: PromiseOrValue<string>;
182
+ }): Promise<ContractTransaction>;
183
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
184
+ from?: PromiseOrValue<string>;
185
+ }): Promise<ContractTransaction>;
186
+ vaultKey(vaultDeployer: PromiseOrValue<string>, token0: PromiseOrValue<string>, token1: PromiseOrValue<string>, fee: PromiseOrValue<BigNumberish>, allowToken0: PromiseOrValue<boolean>, allowToken1: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[string] & {
187
+ key: string;
188
+ }>;
189
+ withdrawFromICHIVaultAndTryUnwrapToERC20(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
190
+ from?: PromiseOrValue<string>;
191
+ }): Promise<ContractTransaction>;
192
+ };
193
+ HTS_ADDRESS(overrides?: CallOverrides): Promise<string>;
194
+ HTS_WRAPPER(overrides?: CallOverrides): Promise<string>;
195
+ ICHIVaultFactory(overrides?: CallOverrides): Promise<string>;
196
+ WRAPPED_NATIVE(overrides?: CallOverrides): Promise<string>;
197
+ associate(token: PromiseOrValue<string>, pool: PromiseOrValue<string>, overrides?: Overrides & {
198
+ from?: PromiseOrValue<string>;
199
+ }): Promise<ContractTransaction>;
200
+ depositToICHIVaultAndTryWrapToHTS(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, erc20Amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
201
+ from?: PromiseOrValue<string>;
202
+ }): Promise<ContractTransaction>;
203
+ forwardDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
204
+ from?: PromiseOrValue<string>;
205
+ }): Promise<ContractTransaction>;
206
+ forwardNativeDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: PayableOverrides & {
207
+ from?: PromiseOrValue<string>;
208
+ }): Promise<ContractTransaction>;
209
+ forwardNativeWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
210
+ from?: PromiseOrValue<string>;
211
+ }): Promise<ContractTransaction>;
212
+ forwardWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
213
+ from?: PromiseOrValue<string>;
214
+ }): Promise<ContractTransaction>;
215
+ owner(overrides?: CallOverrides): Promise<string>;
216
+ renounceOwnership(overrides?: Overrides & {
217
+ from?: PromiseOrValue<string>;
218
+ }): Promise<ContractTransaction>;
219
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
220
+ from?: PromiseOrValue<string>;
221
+ }): Promise<ContractTransaction>;
222
+ vaultKey(vaultDeployer: PromiseOrValue<string>, token0: PromiseOrValue<string>, token1: PromiseOrValue<string>, fee: PromiseOrValue<BigNumberish>, allowToken0: PromiseOrValue<boolean>, allowToken1: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<string>;
223
+ withdrawFromICHIVaultAndTryUnwrapToERC20(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
224
+ from?: PromiseOrValue<string>;
225
+ }): Promise<ContractTransaction>;
226
+ callStatic: {
227
+ HTS_ADDRESS(overrides?: CallOverrides): Promise<string>;
228
+ HTS_WRAPPER(overrides?: CallOverrides): Promise<string>;
229
+ ICHIVaultFactory(overrides?: CallOverrides): Promise<string>;
230
+ WRAPPED_NATIVE(overrides?: CallOverrides): Promise<string>;
231
+ associate(token: PromiseOrValue<string>, pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
232
+ depositToICHIVaultAndTryWrapToHTS(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, erc20Amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
233
+ forwardDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
234
+ forwardNativeDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
235
+ forwardNativeWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
236
+ BigNumber,
237
+ BigNumber
238
+ ] & {
239
+ amount0: BigNumber;
240
+ amount1: BigNumber;
241
+ }>;
242
+ forwardWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
243
+ BigNumber,
244
+ BigNumber
245
+ ] & {
246
+ amount0: BigNumber;
247
+ amount1: BigNumber;
248
+ }>;
249
+ owner(overrides?: CallOverrides): Promise<string>;
250
+ renounceOwnership(overrides?: CallOverrides): Promise<void>;
251
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
252
+ vaultKey(vaultDeployer: PromiseOrValue<string>, token0: PromiseOrValue<string>, token1: PromiseOrValue<string>, fee: PromiseOrValue<BigNumberish>, allowToken0: PromiseOrValue<boolean>, allowToken1: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<string>;
253
+ withdrawFromICHIVaultAndTryUnwrapToERC20(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[
254
+ BigNumber,
255
+ BigNumber
256
+ ] & {
257
+ amount0: BigNumber;
258
+ amount1: BigNumber;
259
+ }>;
260
+ };
261
+ filters: {
262
+ "Deployed(address,address)"(_ICHIVaultFactory?: null, _WETH?: null): DeployedEventFilter;
263
+ Deployed(_ICHIVaultFactory?: null, _WETH?: null): DeployedEventFilter;
264
+ "DepositForwarded(address,address,address,uint256,uint256,address)"(sender?: PromiseOrValue<string> | null, vault?: PromiseOrValue<string> | null, token?: PromiseOrValue<string> | null, amount?: null, shares?: null, to?: null): DepositForwardedEventFilter;
265
+ DepositForwarded(sender?: PromiseOrValue<string> | null, vault?: PromiseOrValue<string> | null, token?: PromiseOrValue<string> | null, amount?: null, shares?: null, to?: null): DepositForwardedEventFilter;
266
+ "OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
267
+ OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
268
+ };
269
+ estimateGas: {
270
+ HTS_ADDRESS(overrides?: CallOverrides): Promise<BigNumber>;
271
+ HTS_WRAPPER(overrides?: CallOverrides): Promise<BigNumber>;
272
+ ICHIVaultFactory(overrides?: CallOverrides): Promise<BigNumber>;
273
+ WRAPPED_NATIVE(overrides?: CallOverrides): Promise<BigNumber>;
274
+ associate(token: PromiseOrValue<string>, pool: PromiseOrValue<string>, overrides?: Overrides & {
275
+ from?: PromiseOrValue<string>;
276
+ }): Promise<BigNumber>;
277
+ depositToICHIVaultAndTryWrapToHTS(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, erc20Amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
278
+ from?: PromiseOrValue<string>;
279
+ }): Promise<BigNumber>;
280
+ forwardDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
281
+ from?: PromiseOrValue<string>;
282
+ }): Promise<BigNumber>;
283
+ forwardNativeDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: PayableOverrides & {
284
+ from?: PromiseOrValue<string>;
285
+ }): Promise<BigNumber>;
286
+ forwardNativeWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
287
+ from?: PromiseOrValue<string>;
288
+ }): Promise<BigNumber>;
289
+ forwardWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
290
+ from?: PromiseOrValue<string>;
291
+ }): Promise<BigNumber>;
292
+ owner(overrides?: CallOverrides): Promise<BigNumber>;
293
+ renounceOwnership(overrides?: Overrides & {
294
+ from?: PromiseOrValue<string>;
295
+ }): Promise<BigNumber>;
296
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
297
+ from?: PromiseOrValue<string>;
298
+ }): Promise<BigNumber>;
299
+ vaultKey(vaultDeployer: PromiseOrValue<string>, token0: PromiseOrValue<string>, token1: PromiseOrValue<string>, fee: PromiseOrValue<BigNumberish>, allowToken0: PromiseOrValue<boolean>, allowToken1: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
300
+ withdrawFromICHIVaultAndTryUnwrapToERC20(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
301
+ from?: PromiseOrValue<string>;
302
+ }): Promise<BigNumber>;
303
+ };
304
+ populateTransaction: {
305
+ HTS_ADDRESS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
306
+ HTS_WRAPPER(overrides?: CallOverrides): Promise<PopulatedTransaction>;
307
+ ICHIVaultFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
308
+ WRAPPED_NATIVE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
309
+ associate(token: PromiseOrValue<string>, pool: PromiseOrValue<string>, overrides?: Overrides & {
310
+ from?: PromiseOrValue<string>;
311
+ }): Promise<PopulatedTransaction>;
312
+ depositToICHIVaultAndTryWrapToHTS(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, erc20Amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
313
+ from?: PromiseOrValue<string>;
314
+ }): Promise<PopulatedTransaction>;
315
+ forwardDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, token: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: Overrides & {
316
+ from?: PromiseOrValue<string>;
317
+ }): Promise<PopulatedTransaction>;
318
+ forwardNativeDepositToICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, minimumProceeds: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, overrides?: PayableOverrides & {
319
+ from?: PromiseOrValue<string>;
320
+ }): Promise<PopulatedTransaction>;
321
+ forwardNativeWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
322
+ from?: PromiseOrValue<string>;
323
+ }): Promise<PopulatedTransaction>;
324
+ forwardWithdrawFromICHIVault(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
325
+ from?: PromiseOrValue<string>;
326
+ }): Promise<PopulatedTransaction>;
327
+ owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
328
+ renounceOwnership(overrides?: Overrides & {
329
+ from?: PromiseOrValue<string>;
330
+ }): Promise<PopulatedTransaction>;
331
+ transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
332
+ from?: PromiseOrValue<string>;
333
+ }): Promise<PopulatedTransaction>;
334
+ vaultKey(vaultDeployer: PromiseOrValue<string>, token0: PromiseOrValue<string>, token1: PromiseOrValue<string>, fee: PromiseOrValue<BigNumberish>, allowToken0: PromiseOrValue<boolean>, allowToken1: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
335
+ withdrawFromICHIVaultAndTryUnwrapToERC20(vault: PromiseOrValue<string>, vaultDeployer: PromiseOrValue<string>, shares: PromiseOrValue<BigNumberish>, to: PromiseOrValue<string>, minAmount0: PromiseOrValue<BigNumberish>, minAmount1: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
336
+ from?: PromiseOrValue<string>;
337
+ }): Promise<PopulatedTransaction>;
338
+ };
339
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DepositGuardWithHtsWrapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DepositGuardWithHtsWrapping.js","sourceRoot":"","sources":["../../../abis/types/DepositGuardWithHtsWrapping.ts"],"names":[],"mappings":""}