@suilend/sdk 1.1.15 → 1.1.17

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.
package/client.js CHANGED
@@ -146,6 +146,7 @@ class SuilendClient {
146
146
  createReserve(lendingMarketOwnerCapId, transaction, pythPriceId, coinType, createReserveConfigArgs) {
147
147
  return __awaiter(this, void 0, void 0, function* () {
148
148
  const [config] = (0, functions_4.createReserveConfig)(transaction, createReserveConfigArgs);
149
+ // Assumes the pyth price feed exists
149
150
  const priceUpdateData = yield this.pythConnection.getPriceFeedsUpdateData([
150
151
  pythPriceId,
151
152
  ]);
@@ -316,11 +317,40 @@ class SuilendClient {
316
317
  reserveArrayIndexToPriceId.set(extraReserveArrayIndex, (0, utils_1.toHex)(new Uint8Array(reserve.priceIdentifier.bytes)));
317
318
  }
318
319
  const tuples = Array.from(reserveArrayIndexToPriceId.entries()).sort();
319
- const priceIds = Array.from(tuples.map((tuple) => tuple[1]));
320
- const priceUpdateData = yield this.pythConnection.getPriceFeedsUpdateData(priceIds);
321
- const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(transaction, priceUpdateData, priceIds);
322
- for (let i = 0; i < tuples.length; i++) {
323
- this.refreshReservePrices(transaction, priceInfoObjectIds[i], tuples[i][0]);
320
+ const reserveArrayIndexes = tuples.map((tuple) => tuple[0]);
321
+ const priceIdentifiers = tuples.map((tuple) => tuple[1]);
322
+ // const stale_priceIdentifiers = [];
323
+ // const priceFeeds =
324
+ // await this.pythConnection.getLatestPriceFeeds(priceIdentifiers);
325
+ // if (priceFeeds === undefined)
326
+ // stale_priceIdentifiers.push(...priceIdentifiers);
327
+ // else {
328
+ // for (let i = 0; i < priceFeeds.length; i++) {
329
+ // if (!priceFeeds[i]) stale_priceIdentifiers.push(priceIdentifiers[i]);
330
+ // else {
331
+ // const price = priceFeeds[i].getPriceNoOlderThan(10);
332
+ // const emaPrice = priceFeeds[i].getEmaPriceNoOlderThan(10);
333
+ // if (price === undefined || emaPrice === undefined)
334
+ // stale_priceIdentifiers.push(priceIdentifiers[i]);
335
+ // }
336
+ // }
337
+ // }
338
+ const priceUpdateData = yield this.pythConnection.getPriceFeedsUpdateData(priceIdentifiers);
339
+ const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(transaction, // new Transaction(),
340
+ priceUpdateData, priceIdentifiers);
341
+ // if (stale_priceIdentifiers.length > 0) {
342
+ // const stale_priceUpdateData =
343
+ // await this.pythConnection.getPriceFeedsUpdateData(
344
+ // stale_priceIdentifiers,
345
+ // );
346
+ // await this.pythClient.updatePriceFeeds(
347
+ // transaction as any,
348
+ // stale_priceUpdateData,
349
+ // stale_priceIdentifiers,
350
+ // );
351
+ // }
352
+ for (let i = 0; i < reserveArrayIndexes.length; i++) {
353
+ this.refreshReservePrices(transaction, priceInfoObjectIds[i], reserveArrayIndexes[i]);
324
354
  }
325
355
  });
326
356
  }
package/constants.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  export declare const maxU64: BigNumber;
3
3
  export declare const WAD: BigNumber;
4
- export declare const RESERVES_CUSTOM_ORDER: string[];
package/constants.js CHANGED
@@ -3,22 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RESERVES_CUSTOM_ORDER = exports.WAD = exports.maxU64 = void 0;
6
+ exports.WAD = exports.maxU64 = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  exports.maxU64 = new bignumber_js_1.default(2).pow(64).minus(1);
9
9
  exports.WAD = new bignumber_js_1.default(10).pow(18);
10
- exports.RESERVES_CUSTOM_ORDER = [
11
- "sSUI",
12
- "mSUI",
13
- "SUI",
14
- "USDC",
15
- "wUSDC",
16
- "USDT",
17
- "suiETH",
18
- "WETH",
19
- "SOL",
20
- "AUSD",
21
- "DEEP",
22
- "FUD",
23
- "HIPPO",
24
- ];
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sdk","version":"1.1.15","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./constants":"./constants.js","./types":"./types.js","./api/events":"./api/events.js","./api":"./api/index.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./utils/events":"./utils/events.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/source/0x1":"./_generated/_dependencies/source/0x1/index.js","./_generated/_dependencies/source/0x2":"./_generated/_dependencies/source/0x2/index.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./_generated/_dependencies/source/0x1/ascii/structs":"./_generated/_dependencies/source/0x1/ascii/structs.js","./_generated/_dependencies/source/0x1/option/structs":"./_generated/_dependencies/source/0x1/option/structs.js","./_generated/_dependencies/source/0x1/type-name/structs":"./_generated/_dependencies/source/0x1/type-name/structs.js","./_generated/_dependencies/source/0x2/bag/structs":"./_generated/_dependencies/source/0x2/bag/structs.js","./_generated/_dependencies/source/0x2/balance/structs":"./_generated/_dependencies/source/0x2/balance/structs.js","./_generated/_dependencies/source/0x2/object/structs":"./_generated/_dependencies/source/0x2/object/structs.js","./_generated/_dependencies/source/0x2/object-table/structs":"./_generated/_dependencies/source/0x2/object-table/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix \"./src/**/*.ts\"","prettier":"prettier --write \"./src/**/*\"","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ts-node ./release.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/solendprotocol/suilend-public.git"},"bugs":{"url":"https://github.com/solendprotocol/suilend-public/issues"},"dependencies":{"@mysten/bcs":"1.1.0","@mysten/sui":"1.14.2","@pythnetwork/pyth-sui-js":"^2.1.0","bignumber.js":"^9.1.2","p-limit":"^3.1.0","uuid":"^9.0.1"},"devDependencies":{"ts-node":"^10.9.2"}}
1
+ {"name":"@suilend/sdk","version":"1.1.17","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./constants":"./constants.js","./types":"./types.js","./api/events":"./api/events.js","./api":"./api/index.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./utils/events":"./utils/events.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/source/0x1":"./_generated/_dependencies/source/0x1/index.js","./_generated/_dependencies/source/0x2":"./_generated/_dependencies/source/0x2/index.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./_generated/_dependencies/source/0x1/ascii/structs":"./_generated/_dependencies/source/0x1/ascii/structs.js","./_generated/_dependencies/source/0x1/option/structs":"./_generated/_dependencies/source/0x1/option/structs.js","./_generated/_dependencies/source/0x1/type-name/structs":"./_generated/_dependencies/source/0x1/type-name/structs.js","./_generated/_dependencies/source/0x2/bag/structs":"./_generated/_dependencies/source/0x2/bag/structs.js","./_generated/_dependencies/source/0x2/balance/structs":"./_generated/_dependencies/source/0x2/balance/structs.js","./_generated/_dependencies/source/0x2/object/structs":"./_generated/_dependencies/source/0x2/object/structs.js","./_generated/_dependencies/source/0x2/object-table/structs":"./_generated/_dependencies/source/0x2/object-table/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix \"./src/**/*.ts\"","prettier":"prettier --write \"./src/**/*\"","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ts-node ./release.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/solendprotocol/suilend-public.git"},"bugs":{"url":"https://github.com/solendprotocol/suilend-public/issues"},"dependencies":{"@mysten/bcs":"1.1.0","@mysten/sui":"1.14.3","@pythnetwork/pyth-sui-js":"^2.1.0","bignumber.js":"^9.1.2","p-limit":"^6.1.0","uuid":"^11.0.3"},"devDependencies":{"ts-node":"^10.9.2"}}
@@ -5,24 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseLendingMarket = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const constants_1 = require("../constants");
9
8
  const rateLimiter_1 = require("./rateLimiter");
10
9
  const reserve_1 = require("./reserve");
11
10
  const parseLendingMarket = (lendingMarket, reserves, coinMetadataMap, currentTime) => {
12
11
  const id = lendingMarket.id;
13
12
  const version = lendingMarket.version;
14
- const parsedReserves = reserves
15
- .map((reserve) => (0, reserve_1.parseReserve)(reserve, coinMetadataMap))
16
- .sort((a, b) => {
17
- const aCustomOrderIndex = constants_1.RESERVES_CUSTOM_ORDER.indexOf(a.symbol);
18
- const bCustomOrderIndex = constants_1.RESERVES_CUSTOM_ORDER.indexOf(b.symbol);
19
- if (aCustomOrderIndex > -1 && bCustomOrderIndex > -1)
20
- return aCustomOrderIndex - bCustomOrderIndex;
21
- else if (aCustomOrderIndex === -1 && bCustomOrderIndex === -1)
22
- return 0;
23
- else
24
- return aCustomOrderIndex > -1 ? -1 : 1;
25
- });
13
+ const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)(reserve, coinMetadataMap));
26
14
  const obligations = lendingMarket.obligations;
27
15
  const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)(lendingMarket.rateLimiter, currentTime);
28
16
  const feeReceiver = lendingMarket.feeReceiver;