@ichidao/ichi-vaults-sdk 0.0.35 → 0.0.37

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 (35) hide show
  1. package/README.md +68 -6
  2. package/dist/src/__tests__/index.test.js +128 -46
  3. package/dist/src/__tests__/index.test.js.map +1 -1
  4. package/dist/src/functions/calculateApr.d.ts +2 -1
  5. package/dist/src/functions/calculateApr.js +3 -2
  6. package/dist/src/functions/calculateApr.js.map +1 -1
  7. package/dist/src/functions/calculateDtr.d.ts +5 -1
  8. package/dist/src/functions/calculateDtr.js +5 -1
  9. package/dist/src/functions/calculateDtr.js.map +1 -1
  10. package/dist/src/functions/calculateFees.d.ts +3 -2
  11. package/dist/src/functions/calculateFees.js +2 -1
  12. package/dist/src/functions/calculateFees.js.map +1 -1
  13. package/dist/src/functions/deposit.js +100 -78
  14. package/dist/src/functions/deposit.js.map +1 -1
  15. package/dist/src/functions/userBalances.js +22 -14
  16. package/dist/src/functions/userBalances.js.map +1 -1
  17. package/dist/src/functions/vaultMetrics.d.ts +3 -0
  18. package/dist/src/functions/vaultMetrics.js +225 -0
  19. package/dist/src/functions/vaultMetrics.js.map +1 -0
  20. package/dist/src/functions/withdraw.js +97 -81
  21. package/dist/src/functions/withdraw.js.map +1 -1
  22. package/dist/src/index.cjs.js +2 -2
  23. package/dist/src/index.d.ts +1 -0
  24. package/dist/src/index.esm.js +2 -2
  25. package/dist/src/index.js +1 -1
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/src/functions/calculateApr.d.ts +2 -1
  28. package/dist/src/src/functions/calculateDtr.d.ts +5 -1
  29. package/dist/src/src/functions/calculateFees.d.ts +3 -2
  30. package/dist/src/src/functions/vaultMetrics.d.ts +3 -0
  31. package/dist/src/src/index.d.ts +1 -0
  32. package/dist/src/src/types/index.d.ts +7 -0
  33. package/dist/src/types/index.d.ts +7 -0
  34. package/dist/src/utils/config/addresses.js +8 -8
  35. package/package.json +1 -1
@@ -6,4 +6,5 @@ export * from './functions/vault';
6
6
  export * from './functions/calculateFees';
7
7
  export * from './functions/calculateDtr';
8
8
  export * from './functions/calculateApr';
9
+ export * from './functions/vaultMetrics';
9
10
  export * from './types/index';
@@ -2,13 +2,12 @@
2
2
  /**
3
3
  * @license
4
4
  * author: ICHI DAO <core@ichi.org>
5
- * ichi-vaults-sdk.js v0.0.35
5
+ * ichi-vaults-sdk.js v0.0.37
6
6
  * Released under the MIT license.
7
7
  */
8
8
 
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  var tslib_1 = require("tslib");
11
- /* eslint-disable import/prefer-default-export */
12
11
  // eslint-disable-next-line import/no-cycle
13
12
  tslib_1.__exportStar(require("./functions/totalBalances"), exports);
14
13
  tslib_1.__exportStar(require("./functions/userBalances"), exports);
@@ -18,4 +17,5 @@ tslib_1.__exportStar(require("./functions/vault"), exports);
18
17
  tslib_1.__exportStar(require("./functions/calculateFees"), exports);
19
18
  tslib_1.__exportStar(require("./functions/calculateDtr"), exports);
20
19
  tslib_1.__exportStar(require("./functions/calculateApr"), exports);
20
+ tslib_1.__exportStar(require("./functions/vaultMetrics"), exports);
21
21
  tslib_1.__exportStar(require("./types/index"), exports);
package/dist/src/index.js CHANGED
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- /* eslint-disable import/prefer-default-export */
18
17
  // eslint-disable-next-line import/no-cycle
19
18
  __exportStar(require("./functions/totalBalances"), exports);
20
19
  __exportStar(require("./functions/userBalances"), exports);
@@ -24,5 +23,6 @@ __exportStar(require("./functions/vault"), exports);
24
23
  __exportStar(require("./functions/calculateFees"), exports);
25
24
  __exportStar(require("./functions/calculateDtr"), exports);
26
25
  __exportStar(require("./functions/calculateApr"), exports);
26
+ __exportStar(require("./functions/vaultMetrics"), exports);
27
27
  __exportStar(require("./types/index"), exports);
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,2CAA2C;AAC3C,4DAA0C;AAC1C,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,4DAA0C;AAC1C,2DAAyC;AACzC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC;AACzC,gDAA8B"}
@@ -1,4 +1,5 @@
1
1
  import { JsonRpcProvider } from '@ethersproject/providers';
2
- import { PriceChange, SupportedDex, VaultApr } from '../types';
2
+ import { PriceChange, SupportedDex, VaultApr, VaultState } from '../types';
3
+ export declare function getLpPriceAt(vaultEvents: VaultState[], daysAgo: number, isVaultInverted: boolean, token0decimals: number, token1decimals: number): PriceChange | null;
3
4
  export declare function getLpApr(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeIntervals?: number[]): Promise<(VaultApr | null)[]>;
4
5
  export declare function getLpPriceChange(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeIntervals?: number[]): Promise<(PriceChange | null)[]>;
@@ -1,3 +1,7 @@
1
1
  import { JsonRpcProvider } from '@ethersproject/providers';
2
- import { AverageDepositTokenRatio, SupportedDex } from '../types';
2
+ import { AverageDepositTokenRatio, DepositTokenRatio, SupportedDex, VaultState, VaultTransactionEvent } from '../types';
3
+ export declare function getDtrAtTransactionEvent(objTransactionEvent: VaultTransactionEvent, isVaultInverted: boolean, token0Decimals: number, token1Decimals: number, beforeEvent?: boolean): DepositTokenRatio;
4
+ export declare function getDtrAtFeeCollectionEvent(objFeeCollectionEvent: VaultState, isVaultInverted: boolean, token0Decimals: number, token1Decimals: number): DepositTokenRatio;
5
+ export declare function getAllDtrsForTimeInterval(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeInterval: number): Promise<DepositTokenRatio[]>;
6
+ export declare function getAverageDtr(allDtrs: DepositTokenRatio[]): number;
3
7
  export declare function getAverageDepositTokenRatios(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeIntervals?: number[]): Promise<AverageDepositTokenRatio[]>;
@@ -1,6 +1,7 @@
1
1
  import { JsonRpcProvider } from '@ethersproject/providers';
2
- import { Fees, FeesInfo, SupportedDex, TotalAmounts, TotalAmountsBN } from '../types';
3
- export declare function getTotalAmountsAtFeeCollectionEvent(objFees: Fees, isVaultInverted: boolean, token0Decimals: number, token1Decimals: number): [number, number];
2
+ import { Fees, FeesInfo, SupportedDex, TotalAmounts, TotalAmountsBN, VaultState } from '../types';
3
+ export declare function getTotalAmountsAtFeeCollectionEvent(objFees: VaultState, isVaultInverted: boolean, token0Decimals: number, token1Decimals: number): [number, number];
4
+ export declare function getTotalFeesAmountInBaseTokens(feesDataset: Fees[], t0decimals: number, t1decimals: number, isInverted: boolean): number;
4
5
  export declare function getFeesCollected(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, days?: number): Promise<TotalAmounts>;
5
6
  export declare function getFeesCollected(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true, days?: number): Promise<TotalAmountsBN>;
6
7
  export declare function getFeesCollectedInfo(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, forDays?: number[]): Promise<FeesInfo[]>;
@@ -0,0 +1,3 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { SupportedDex, VaultMetrics } from '../types';
3
+ export declare function getVaultMetrics(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, timeIntervals?: number[]): Promise<(VaultMetrics | null)[]>;
@@ -6,4 +6,5 @@ export * from './functions/vault';
6
6
  export * from './functions/calculateFees';
7
7
  export * from './functions/calculateDtr';
8
8
  export * from './functions/calculateApr';
9
+ export * from './functions/vaultMetrics';
9
10
  export * from './types/index';
@@ -147,4 +147,11 @@ export type UserBalanceInVaultBN = {
147
147
  vaultAddress: string;
148
148
  shares: BigNumber;
149
149
  };
150
+ export type VaultMetrics = {
151
+ timeInterval: number;
152
+ lpPriceChange: number | null;
153
+ lpApr: number | null;
154
+ avgDtr: number;
155
+ feeApr: number;
156
+ };
150
157
  export {};
@@ -147,4 +147,11 @@ export type UserBalanceInVaultBN = {
147
147
  vaultAddress: string;
148
148
  shares: BigNumber;
149
149
  };
150
+ export type VaultMetrics = {
151
+ timeInterval: number;
152
+ lpPriceChange: number | null;
153
+ lpApr: number | null;
154
+ avgDtr: number;
155
+ feeApr: number;
156
+ };
150
157
  export {};
@@ -7,8 +7,8 @@ var addressConfig = (_a = {},
7
7
  _b[types_1.SupportedDex.UniswapV3] = {
8
8
  factoryAddress: '0xfBf38920cCbCFF7268Ad714ae5F9Fad6dF607065',
9
9
  depositGuard: {
10
- address: '0x932E1908461De58b0891E5022431dc995Cb95C5E',
11
- version: 1,
10
+ address: '0xFB5263779D551d0f8a85D47a7D576C4893686D12',
11
+ version: 2,
12
12
  },
13
13
  vaultDeployerAddress: '0x508C3daa571854247726ba26949f182086Ff89B0',
14
14
  isAlgebra: false,
@@ -45,8 +45,8 @@ var addressConfig = (_a = {},
45
45
  _c[types_1.SupportedDex.UniswapV3] = {
46
46
  factoryAddress: '0x2d2c72C4dC71AA32D64e5142e336741131A73fc0',
47
47
  depositGuard: {
48
- address: '0xA5cE107711789b350e04063D4EffBe6aB6eB05a4',
49
- version: 1,
48
+ address: '0x64E44525a98bC85aC097Cc6Ca4c8F6BE7D483041',
49
+ version: 2,
50
50
  },
51
51
  vaultDeployerAddress: '0x0768A75F616B98ee0937673bD83B7aBF142236Ea',
52
52
  isAlgebra: false,
@@ -74,8 +74,8 @@ var addressConfig = (_a = {},
74
74
  _d[types_1.SupportedDex.UniswapV3] = {
75
75
  factoryAddress: '0x5a40DFaF8C1115196A1CDF529F97122030F26112',
76
76
  depositGuard: {
77
- address: '0xe6e32D20258f475BaA8d0B39d4C391B96f0ef70A',
78
- version: 1,
77
+ address: '0x3E1aFdB89B6Ea49e828C565ab6A36a485b7A4775',
78
+ version: 2,
79
79
  },
80
80
  vaultDeployerAddress: '0xfF7B5E167c9877f2b9f65D19d9c8c9aa651Fe19F',
81
81
  isAlgebra: false,
@@ -147,8 +147,8 @@ var addressConfig = (_a = {},
147
147
  _h[types_1.SupportedDex.UniswapV3] = {
148
148
  factoryAddress: '0x065356d9f628cDd1bb9F2384E2972CdAC50f51b7',
149
149
  depositGuard: {
150
- address: '0xE7914034D4D39087bFF0Aed442a652F5945E914b',
151
- version: 1,
150
+ address: '0xa9b751f37857790D0412c81B072DB57CCc0aF545',
151
+ version: 2,
152
152
  },
153
153
  vaultDeployerAddress: '0x05cC3CA6E768a68A7f86b09e3ceE754437bd5f12',
154
154
  isAlgebra: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ichidao/ichi-vaults-sdk",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "The ICHI Vaults SDK",
5
5
  "main": "dist/src/index.cjs.js",
6
6
  "module": "dist/src/index.esm.js",