impermax-sdk 2.1.5 → 2.1.7

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 (30) hide show
  1. package/lib/config/subgraphs.d.ts +2 -2
  2. package/lib/config/subgraphs.js +205 -131
  3. package/lib/config/types.d.ts +10 -0
  4. package/lib/config/types.js +7 -1
  5. package/lib/index.d.ts +2 -2
  6. package/lib/index.js +1 -1
  7. package/lib/offchain/account/offchainAccount.d.ts +6 -6
  8. package/lib/offchain/account/offchainAccount.js +33 -24
  9. package/lib/offchain/account/vault/offchainAccountVault.js +10 -3
  10. package/lib/offchain/offchain.d.ts +13 -10
  11. package/lib/offchain/offchain.js +18 -11
  12. package/lib/offchain/offchainInitializer.d.ts +11 -11
  13. package/lib/offchain/offchainInitializer.js +151 -91
  14. package/lib/offchain/offchainMultichain.d.ts +4 -4
  15. package/lib/offchain/offchainMultichain.js +28 -56
  16. package/lib/offchain/offchainTypes.d.ts +17 -1
  17. package/lib/offchain/queries/apis/ponder/index.d.ts +3 -3
  18. package/lib/offchain/queries/apis/ponder/index.js +45 -24
  19. package/lib/offchain/queries/apis/thegraph/index.d.ts +3 -3
  20. package/lib/offchain/queries/apis/thegraph/index.js +4 -2
  21. package/lib/offchain/queries/interfaces/query-builder.d.ts +3 -3
  22. package/lib/offchain/vault/offchainHedgedVault.js +2 -25
  23. package/lib/offchain/vault/offchainLendingVault.d.ts +3 -3
  24. package/lib/offchain/vault/offchainLendingVault.js +11 -27
  25. package/lib/offchain/vault/offchainLeveragedVault.js +2 -25
  26. package/lib/offchain/vault/offchainVault.d.ts +3 -8
  27. package/lib/offchain/vault/offchainVault.js +3 -8
  28. package/lib/onchain/account/onchainAccountLendingVault.js +1 -1
  29. package/lib/onchain/onchainLendingVault.js +1 -1
  30. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- import { NetworkIndex, Networks } from "../config/types";
1
+ import { NetworkIndex, Networks, VaultType } from "../config/types";
2
2
  import Offchain from "./offchain";
3
- import OffchainVault, { VaultType } from "./vault/offchainVault";
3
+ import OffchainVault from "./vault/offchainVault";
4
4
  import { Amms } from "../config/amms";
5
5
  import { Farms } from "../config/farms";
6
6
  import { RiskLevel } from "./vault/offchainLendingVault";
@@ -49,7 +49,7 @@ export default class OffchainMultichain {
49
49
  private constructor();
50
50
  static get instance(): OffchainMultichain;
51
51
  getOffchain(network: Networks): Offchain;
52
- getVaultList(params?: VaultListParams, orderBy?: VaultOrderBy, sortDirection?: SortDirection): Promise<Array<OffchainVault>>;
53
- private getVaultSortValue;
52
+ getVaultList(params?: VaultListParams): Promise<Array<OffchainVault>>;
53
+ networkHasVault(network: Networks): boolean;
54
54
  getLendingPoolList(params?: LendingPoolListParams, orderBy?: LendingPoolListOrderBy): Promise<Array<OffchainLendingPool>>;
55
55
  }
@@ -34,7 +34,6 @@ var SortDirection;
34
34
  SortDirection["ASC"] = "asc";
35
35
  SortDirection["DESC"] = "desc";
36
36
  })(SortDirection = exports.SortDirection || (exports.SortDirection = {}));
37
- // Vaults //
38
37
  var VaultOrderBy;
39
38
  (function (VaultOrderBy) {
40
39
  VaultOrderBy[VaultOrderBy["TVL"] = 0] = "TVL";
@@ -67,66 +66,39 @@ class OffchainMultichain {
67
66
  this.offchains[network] = new offchain_1.default(this, network);
68
67
  return this.offchains[network];
69
68
  }
70
- getVaultList(params = {}, orderBy = VaultOrderBy.TVL, sortDirection = SortDirection.DESC) {
69
+ /*--------------------------------------------------------*
70
+ * Vaults
71
+ *--------------------------------------------------------*/
72
+ getVaultList(params = {}) {
71
73
  return __awaiter(this, void 0, void 0, function* () {
72
- try {
73
- const allNetworks = params.networks || Object.values(types_1.Networks);
74
- const networksWithVaults = allNetworks.filter((network) => subgraphs_1.LENDING_VAULT_SUBGRAPH_URL[network]);
75
- const vaults = yield Promise.all(networksWithVaults.map((network) => __awaiter(this, void 0, void 0, function* () {
76
- try {
77
- const offchain = this.getOffchain(network);
78
- const vaultsData = yield offchain.getLendingVaultsData();
79
- if (!vaultsData)
80
- return [];
81
- const vaultResults = yield Promise.all(Object.keys(vaultsData).map((address) => __awaiter(this, void 0, void 0, function* () {
82
- try {
83
- const vault = yield offchain.getLendingVault(address);
84
- const sortValue = yield this.getVaultSortValue(vault, orderBy);
85
- return { vault, sortValue };
86
- }
87
- catch (err) {
88
- console.error(`Error processing vault ${address}:`, err);
89
- return null;
90
- }
91
- })));
92
- return vaultResults.filter((result) => result !== null);
93
- }
94
- catch (err) {
95
- console.error(`Error fetching network ${network}:`, err);
96
- return [];
97
- }
98
- })));
99
- const flatVaults = vaults.flat();
100
- const multiplier = sortDirection === SortDirection.ASC ? 1 : -1;
101
- const sortedVaults = flatVaults.sort((a, b) => (a.sortValue - b.sortValue) * multiplier);
102
- return sortedVaults.map(({ vault }) => vault);
103
- }
104
- catch (err) {
105
- console.error("Error in getVaultList:", err);
106
- throw err;
107
- }
108
- });
109
- }
110
- getVaultSortValue(vault, orderBy) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- try {
113
- switch (orderBy) {
114
- case VaultOrderBy.TVL:
115
- return yield vault.getVaultSupplyUSD();
116
- case VaultOrderBy.APR:
117
- return yield vault.getSupplyAPR();
118
- case VaultOrderBy.DEPOSITED:
119
- return yield vault.getTotalBalance();
120
- default:
121
- return 0;
74
+ // Get networks passed, if empty get all
75
+ const allNetworks = params.networks || Object.values(types_1.Networks);
76
+ // Filter out networks without vaults
77
+ const networksWithVaults = allNetworks.filter((network) => this.networkHasVault(network));
78
+ // Loop through all the vaults in `allNetworks`
79
+ const allVaults = [];
80
+ for (const network of networksWithVaults) {
81
+ const offchain = this.getOffchain(network);
82
+ const vaultsData = yield offchain.getVaultsData();
83
+ // Filter out vaults based on vaultType (if passed)
84
+ for (const address in vaultsData) {
85
+ const vault = yield offchain.getVault(address);
86
+ if (params.type && vault.getVaultType() !== params.type)
87
+ continue;
88
+ allVaults.push(vault);
122
89
  }
123
90
  }
124
- catch (err) {
125
- console.error("Error getting sort value:", err);
126
- return 0;
127
- }
91
+ return allVaults;
128
92
  });
129
93
  }
94
+ // Helpful for frontend UI thing
95
+ networkHasVault(network) {
96
+ return Object.keys(subgraphs_1.VAULT_SUBGRAPH_URL[network]).length > 0;
97
+ }
98
+ /*--------------------------------------------------------*
99
+ * Lending Pools
100
+ *--------------------------------------------------------*/
101
+ // private async getVaultSortValue( vault: OffchainVault, orderBy: VaultOrderBy,): Promise<number> { }
130
102
  getLendingPoolList(params = {}, orderBy = LendingPoolListOrderBy.TVL) {
131
103
  return __awaiter(this, void 0, void 0, function* () {
132
104
  // TODO FILL WITH FAKE DATA
@@ -1,4 +1,4 @@
1
- import { Address, AddressIndex, PoolTokenType, ProposalState, WhitelistState } from '../config/types';
1
+ import { Address, AddressIndex, PoolTokenType, ProposalState, WhitelistState, VaultType } from '../config/types';
2
2
  export interface PoolTokenData {
3
3
  id: Address;
4
4
  totalBalance: string;
@@ -159,13 +159,29 @@ export interface XimxData {
159
159
  /**
160
160
  * Lending vault
161
161
  **/
162
+ export interface VaultBorrowable {
163
+ pair: string;
164
+ address: Address;
165
+ pairAddress: Address;
166
+ token0: Address;
167
+ token1: Address;
168
+ }
162
169
  export interface LendingVaultData extends PoolTokenData {
163
170
  underlying: TokenData;
164
171
  supplyRate: string;
165
172
  reserveFactor: string;
166
173
  availableLiquidity: string;
167
174
  lastUpdate: string;
175
+ vaultType: VaultType.LENDING;
176
+ borrowables: VaultBorrowable[];
177
+ }
178
+ export interface HedgedVaultData extends PoolTokenData {
179
+ vaultType: VaultType.HEDGED;
180
+ }
181
+ export interface LeveragedVaultData extends PoolTokenData {
182
+ vaultType: VaultType.LEVERAGED;
168
183
  }
184
+ export type VaultData = LendingVaultData | HedgedVaultData | LeveragedVaultData;
169
185
  export interface VaultPosition {
170
186
  tokenBalance: string;
171
187
  lastExchangeRate: string;
@@ -1,4 +1,4 @@
1
- import { Address, Factory, Networks } from "../../../../config/types";
1
+ import { Address, Factory, Networks, VaultType } from "../../../../config/types";
2
2
  import { IQueryBuilder } from "../../interfaces/query-builder";
3
3
  export declare class PonderQueryBuilder implements IQueryBuilder {
4
4
  blockQuery(): import("graphql").DocumentNode;
@@ -6,8 +6,8 @@ export declare class PonderQueryBuilder implements IQueryBuilder {
6
6
  lendingPoolsQuery(factory: Factory, addressesFilter: Address[], network: Networks): import("graphql").DocumentNode;
7
7
  userQuery(account: Address, network: Networks, factory: Factory): import("graphql").DocumentNode;
8
8
  tvlQuery(): import("graphql").DocumentNode;
9
- lendingVaultsUserQuery(account: Address): import("graphql").DocumentNode;
10
- lendingVaultsQuery(addressesFilter: Address[]): import("graphql").DocumentNode;
9
+ vaultsQuery(vaultType: VaultType, addressesFilter: Address[]): import("graphql").DocumentNode;
10
+ vaultsUserQuery(account: Address): import("graphql").DocumentNode;
11
11
  proposalsMetaQuery(rangeBegin: any, rangeLength: any, descending: any): import("graphql").DocumentNode;
12
12
  proposalQuery(id: number): import("graphql").DocumentNode;
13
13
  ximxQuery(): import("graphql").DocumentNode;
@@ -7,6 +7,7 @@ exports.PonderQueryBuilder = void 0;
7
7
  const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
8
  const factories_1 = require("../../../../config/factories");
9
9
  const impermax_factories_1 = require("../../../../config/contracts/impermax-factories");
10
+ // TODO: Might need to separate Vaults query based on vault type, maybe not.
10
11
  class PonderQueryBuilder {
11
12
  /*-----------------------------*
12
13
  * 1. API Health
@@ -180,30 +181,18 @@ class PonderQueryBuilder {
180
181
  /*-----------------------------*
181
182
  * Lending vaults
182
183
  *-----------------------------*/
183
- lendingVaultsUserQuery(account) {
184
- return (0, graphql_tag_1.default) `{
185
- user(id: "${account.toLowerCase()}") {
186
- positions(first:1000) {
187
- tokenBalance
188
- lastExchangeRate
189
- cumulativeEarnings
190
- lendingVault {
191
- id
192
- }
193
- }
194
- }
195
- }`;
196
- }
197
- lendingVaultsQuery(addressesFilter) {
184
+ vaultsQuery(vaultType, addressesFilter) {
185
+ // do something here for difference kind of vault type, currently only lending
198
186
  const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
199
187
  return (0, graphql_tag_1.default) `{
200
- lendingVaults(first: 1000 ${id_in_string}) {
188
+ lendingVaults(limit: 1000, ${id_in_string}) {
189
+ items {
201
190
  id
202
191
  underlying {
203
- id
204
- symbol
205
- name
206
- decimals
192
+ id
193
+ symbol
194
+ name
195
+ decimals
207
196
  }
208
197
  totalBalance
209
198
  totalSupply
@@ -212,14 +201,46 @@ class PonderQueryBuilder {
212
201
  exchangeRate
213
202
  availableLiquidity
214
203
  lastUpdate
204
+ borrowables {
205
+ items {
206
+ address
207
+ pair
208
+ pairAddress
209
+ token0
210
+ token1
211
+ }
212
+ }
213
+ }
215
214
  }
216
215
  _meta {
217
- block {
218
- number
219
- }
220
- hasIndexingErrors
216
+ status
221
217
  }
222
218
  }`;
219
+ }
220
+ vaultsUserQuery(account) {
221
+ return (0, graphql_tag_1.default) `{
222
+ user(id: "${account.toLowerCase()}") {
223
+ positions(limit: 1000) {
224
+ items {
225
+ cumulativeEarnings
226
+ tokenBalance
227
+ lastExchangeRate
228
+ lendingVault {
229
+ id
230
+ borrowables {
231
+ items {
232
+ id
233
+ pair
234
+ }
235
+ }
236
+ }
237
+ }
238
+ }
239
+ }
240
+ _meta {
241
+ status
242
+ }
243
+ }`;
223
244
  }
224
245
  /*-----------------------------*
225
246
  * Config Manager
@@ -1,4 +1,4 @@
1
- import { Address, Factory, Networks } from "../../../../config/types";
1
+ import { Address, Factory, Networks, VaultType } from "../../../../config/types";
2
2
  import { IQueryBuilder } from "../../interfaces/query-builder";
3
3
  export declare class TheGraphQueryBuilder implements IQueryBuilder {
4
4
  blockQuery(timestamp: number): import("graphql").DocumentNode;
@@ -6,8 +6,8 @@ export declare class TheGraphQueryBuilder implements IQueryBuilder {
6
6
  lendingPoolsQuery(factory: Factory, addressesFilter: Address[]): import("graphql").DocumentNode;
7
7
  userQuery(account: Address, network: Networks, factory: Factory): import("graphql").DocumentNode;
8
8
  tvlQuery(): import("graphql").DocumentNode;
9
- lendingVaultsQuery(addressesFilter: Address[]): import("graphql").DocumentNode;
10
- lendingVaultsUserQuery(account: Address): import("graphql").DocumentNode;
9
+ vaultsQuery(vaultType: VaultType, addressesFilter: Address[]): import("graphql").DocumentNode;
10
+ vaultsUserQuery(account: Address): import("graphql").DocumentNode;
11
11
  proposalsMetaQuery(rangeBegin: any, rangeLength: any, descending: any): import("graphql").DocumentNode;
12
12
  proposalQuery(id: number): import("graphql").DocumentNode;
13
13
  ximxQuery(): import("graphql").DocumentNode;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TheGraphQueryBuilder = void 0;
7
7
  const graphql_tag_1 = __importDefault(require("graphql-tag"));
8
8
  const factories_1 = require("../../../../config/factories");
9
+ // TODO: Might need to separate Vaults query based on vault type, maybe not.
9
10
  class TheGraphQueryBuilder {
10
11
  /*-----------------------------*
11
12
  * 1. API Health
@@ -184,7 +185,8 @@ class TheGraphQueryBuilder {
184
185
  /*-----------------------------*
185
186
  * Lending vaults
186
187
  *-----------------------------*/
187
- lendingVaultsQuery(addressesFilter) {
188
+ vaultsQuery(vaultType, addressesFilter) {
189
+ // do something here for difference kind of vault type, currently only lending
188
190
  const id_in_string = addressesFilter.length > 0 ? `where: {id_in: ["${addressesFilter.join('","').toLowerCase()}"]}` : "";
189
191
  return (0, graphql_tag_1.default) `{
190
192
  lendingVaults(first: 1000 ${id_in_string}) {
@@ -211,7 +213,7 @@ class TheGraphQueryBuilder {
211
213
  }
212
214
  }`;
213
215
  }
214
- lendingVaultsUserQuery(account) {
216
+ vaultsUserQuery(account) {
215
217
  return (0, graphql_tag_1.default) `{
216
218
  user(id: "${account.toLowerCase()}") {
217
219
  positions(first:1000) {
@@ -1,13 +1,13 @@
1
1
  import { DocumentNode } from 'graphql';
2
- import { Address, Factory, Networks } from '../../../config/types';
2
+ import { Address, Factory, Networks, VaultType } from '../../../config/types';
3
3
  export interface IQueryBuilder {
4
4
  blockQuery(timestamp: number): DocumentNode;
5
5
  getBlockNumber: (response: any, network: Networks) => number;
6
6
  lendingPoolsQuery(factory: Factory, addressesFilter: Address[], network: Networks): DocumentNode;
7
7
  userQuery(account: Address, network: Networks, factory: Factory): DocumentNode;
8
8
  tvlQuery(): DocumentNode;
9
- lendingVaultsQuery(addressesFilter: Address[]): DocumentNode;
10
- lendingVaultsUserQuery(account: Address): DocumentNode;
9
+ vaultsQuery(vaultType: VaultType, addressesFilter: Address[]): DocumentNode;
10
+ vaultsUserQuery(account: Address): DocumentNode;
11
11
  proposalsMetaQuery(rangeBegin: number, rangeLength: number, descending: boolean): DocumentNode;
12
12
  proposalQuery(id: number): DocumentNode;
13
13
  ximxQuery(): DocumentNode;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
13
  };
37
14
  Object.defineProperty(exports, "__esModule", { value: true });
38
15
  const types_1 = require("../../config/types");
39
- const offchainVault_1 = __importStar(require("./offchainVault"));
16
+ const offchainVault_1 = __importDefault(require("./offchainVault"));
40
17
  const lendingPool_1 = __importDefault(require("../lendingPool"));
41
18
  class OffchainHedgedVaultVault extends offchainVault_1.default {
42
19
  constructor(offchain, vaultAddress) {
43
20
  super(offchain, vaultAddress);
44
- this.vaultType = offchainVault_1.VaultType.HEDGED;
21
+ this.vaultType = types_1.VaultType.HEDGED;
45
22
  }
46
23
  getLeverage() {
47
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,7 +1,7 @@
1
1
  import Offchain from "../index";
2
- import { Address } from '../../config/types';
2
+ import { Address } from "../../config/types";
3
3
  import OffchainVault from "./offchainVault";
4
- import { OffchainBorrowable } from "../lendingPool";
4
+ import { VaultBorrowable } from "../offchainTypes";
5
5
  export declare enum RiskLevel {
6
6
  LOW = 0,
7
7
  MEDIUM = 1,
@@ -12,5 +12,5 @@ export default class OffchainLendingVault extends OffchainVault {
12
12
  getRiskLevel(): Promise<RiskLevel>;
13
13
  getAvailableLiquidity(): Promise<number>;
14
14
  getAvailableLiquidityUSD(): Promise<number>;
15
- getBorrowables(): Promise<Array<OffchainBorrowable>>;
15
+ getBorrowables(): Promise<Array<VaultBorrowable>>;
16
16
  }
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,9 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
9
  });
33
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
34
14
  Object.defineProperty(exports, "__esModule", { value: true });
35
15
  exports.RiskLevel = void 0;
36
- const offchainVault_1 = __importStar(require("./offchainVault"));
16
+ const types_1 = require("../../config/types");
17
+ const offchainVault_1 = __importDefault(require("./offchainVault"));
37
18
  var RiskLevel;
38
19
  (function (RiskLevel) {
39
20
  RiskLevel[RiskLevel["LOW"] = 0] = "LOW";
@@ -43,7 +24,7 @@ var RiskLevel;
43
24
  class OffchainLendingVault extends offchainVault_1.default {
44
25
  constructor(offchain, vaultAddress) {
45
26
  super(offchain, vaultAddress);
46
- this.vaultType = offchainVault_1.VaultType.LENDING;
27
+ this.vaultType = types_1.VaultType.LENDING;
47
28
  }
48
29
  getRiskLevel() {
49
30
  return __awaiter(this, void 0, void 0, function* () {
@@ -63,10 +44,13 @@ class OffchainLendingVault extends offchainVault_1.default {
63
44
  return availableLiquidity * tokenPrice;
64
45
  });
65
46
  }
66
- // Borrowables
47
+ // See the LendingVaultData type in ../offchainTypes.ts
67
48
  getBorrowables() {
68
49
  return __awaiter(this, void 0, void 0, function* () {
69
- return [];
50
+ const vaultData = (yield this.getPoolTokenData());
51
+ if (!vaultData.borrowables)
52
+ return [];
53
+ return vaultData.borrowables;
70
54
  });
71
55
  }
72
56
  }
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
13
  };
37
14
  Object.defineProperty(exports, "__esModule", { value: true });
38
15
  const types_1 = require("../../config/types");
39
- const offchainVault_1 = __importStar(require("./offchainVault"));
16
+ const offchainVault_1 = __importDefault(require("./offchainVault"));
40
17
  const lendingPool_1 = __importDefault(require("../lendingPool"));
41
18
  class OffchainLeveragedVault extends offchainVault_1.default {
42
19
  constructor(offchain, vaultAddress) {
43
20
  super(offchain, vaultAddress);
44
- this.vaultType = offchainVault_1.VaultType.LEVERAGED;
21
+ this.vaultType = types_1.VaultType.LEVERAGED;
45
22
  }
46
23
  getLeverage() {
47
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,12 +1,7 @@
1
1
  import Offchain from "../index";
2
- import { Address } from '../../config/types';
2
+ import { Address, VaultType } from '../../config/types';
3
3
  import OffchainPoolToken from '../offchainPoolToken';
4
- import { PoolTokenData } from '../offchainTypes';
5
- export declare enum VaultType {
6
- LENDING = 0,
7
- HEDGED = 1,
8
- LEVERAGED = 2
9
- }
4
+ import { VaultData } from '../offchainTypes';
10
5
  export declare enum VaultRisk {
11
6
  VERY_LOW = "very-low",
12
7
  LOW = "low",
@@ -31,7 +26,7 @@ export default class OffchainVault extends OffchainPoolToken {
31
26
  getVaultType: () => VaultType;
32
27
  getVaultRisk: () => VaultRisk;
33
28
  getVaultStatus: () => VaultStatus;
34
- getPoolTokenData(): Promise<PoolTokenData>;
29
+ getPoolTokenData(): Promise<VaultData>;
35
30
  private getTotalSupply;
36
31
  private getLastUpdate;
37
32
  private getAccrueFactor;
@@ -12,15 +12,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.VaultStatus = exports.VaultRisk = exports.VaultType = void 0;
15
+ exports.VaultStatus = exports.VaultRisk = void 0;
16
16
  const offchainPoolToken_1 = __importDefault(require("../offchainPoolToken"));
17
17
  const utils_1 = require("../../utils");
18
- var VaultType;
19
- (function (VaultType) {
20
- VaultType[VaultType["LENDING"] = 0] = "LENDING";
21
- VaultType[VaultType["HEDGED"] = 1] = "HEDGED";
22
- VaultType[VaultType["LEVERAGED"] = 2] = "LEVERAGED";
23
- })(VaultType = exports.VaultType || (exports.VaultType = {}));
24
18
  var VaultRisk;
25
19
  (function (VaultRisk) {
26
20
  VaultRisk["VERY_LOW"] = "very-low";
@@ -46,9 +40,10 @@ class OffchainVault extends offchainPoolToken_1.default {
46
40
  this.offchain = offchain;
47
41
  this.vaultAddress = vaultAddress;
48
42
  }
43
+ // NOTE: Rename this to `getVaultData` ?
49
44
  getPoolTokenData() {
50
45
  return __awaiter(this, void 0, void 0, function* () {
51
- return this.offchain.getLendingVaultData(this.vaultAddress);
46
+ return this.offchain.getVaultData(this.vaultAddress);
52
47
  });
53
48
  }
54
49
  getTotalSupply() {
@@ -29,7 +29,7 @@ class OnchainAccountLendingVault extends onchainAccountPoolToken_1.default {
29
29
  }
30
30
  getOffchainAccountPoolToken() {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
- return this.account.getOffchainAccount().getLendingVault(this.getVaultAddress());
32
+ return this.account.getOffchainAccount().getVault(this.getVaultAddress());
33
33
  });
34
34
  }
35
35
  cleanCache() {
@@ -36,7 +36,7 @@ class OnchainLendingVault extends onchainPoolToken_1.default {
36
36
  }
37
37
  getOffchainPoolToken() {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- return yield this.onchain.getOffchain().getLendingVault(this.vaultAddress);
39
+ return yield this.onchain.getOffchain().getVault(this.vaultAddress);
40
40
  });
41
41
  }
42
42
  initializePoolToken() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impermax-sdk",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",