@suilend/sdk 11.6.0-next.g46d2d22 → 11.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/initialize.d.ts +0 -4
- package/lib/initialize.js +11 -35
- package/lib/types.d.ts +0 -1
- package/package.json +1 -1
package/lib/initialize.d.ts
CHANGED
|
@@ -11,10 +11,6 @@ export declare const RESERVES_CUSTOM_ORDER: Record<string, string[]>;
|
|
|
11
11
|
export declare const NORMALIZED_MAYA_COINTYPE: string;
|
|
12
12
|
export declare const NORMALIZED_mPOINTS_COINTYPE: string;
|
|
13
13
|
export declare const NORMALIZED_TREATS_COINTYPE: string;
|
|
14
|
-
export declare const resolveReserveOrder: (lendingMarketId: string, lendingMarketMetadata?: LendingMarketMetadata) => string[] | undefined;
|
|
15
|
-
export declare const sortReservesByOrder: <T extends {
|
|
16
|
-
coinType: string;
|
|
17
|
-
}>(reserves: T[], order: string[]) => T[];
|
|
18
14
|
export declare const resolveCoinMetadataForInitialize: (miscCoinTypes: string[], reserveCoinTypes: string[], rewardCoinTypes: string[]) => Promise<{
|
|
19
15
|
coinMetadataMap: Record<string, import("@suilend/sui-core").Token>;
|
|
20
16
|
reserveCoinMetadataMap: Record<string, import("@suilend/sui-core").Token>;
|
package/lib/initialize.js
CHANGED
|
@@ -97,38 +97,6 @@ const TREATS_COINTYPE = "0x0dadb7fa2771c2952f96161fc1f0c105d1f22d53926b9ff2498a8
|
|
|
97
97
|
export const NORMALIZED_MAYA_COINTYPE = normalizeStructTag(MAYA_COINTYPE);
|
|
98
98
|
export const NORMALIZED_mPOINTS_COINTYPE = normalizeStructTag(mPOINTS_COINTYPE);
|
|
99
99
|
export const NORMALIZED_TREATS_COINTYPE = normalizeStructTag(TREATS_COINTYPE);
|
|
100
|
-
export const resolveReserveOrder = (lendingMarketId, lendingMarketMetadata) => lendingMarketMetadata?.reserveOrder ??
|
|
101
|
-
RESERVES_CUSTOM_ORDER[lendingMarketId];
|
|
102
|
-
const reserveRanks = (order) => {
|
|
103
|
-
const ranks = new Map();
|
|
104
|
-
order.forEach((coinType, index) => {
|
|
105
|
-
if (typeof coinType !== "string")
|
|
106
|
-
return;
|
|
107
|
-
let normalized;
|
|
108
|
-
try {
|
|
109
|
-
normalized = normalizeStructTag(coinType);
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
if (!ranks.has(normalized))
|
|
115
|
-
ranks.set(normalized, index);
|
|
116
|
-
});
|
|
117
|
-
return ranks;
|
|
118
|
-
};
|
|
119
|
-
export const sortReservesByOrder = (reserves, order) => {
|
|
120
|
-
const ranks = reserveRanks(order);
|
|
121
|
-
return reserves.slice().sort((a, b) => {
|
|
122
|
-
const aIndex = ranks.get(a.coinType) ?? -1;
|
|
123
|
-
const bIndex = ranks.get(b.coinType) ?? -1;
|
|
124
|
-
if (aIndex > -1 && bIndex > -1)
|
|
125
|
-
return aIndex - bIndex;
|
|
126
|
-
else if (aIndex === -1 && bIndex === -1)
|
|
127
|
-
return 0;
|
|
128
|
-
else
|
|
129
|
-
return aIndex > -1 ? -1 : 1;
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
100
|
export const resolveCoinMetadataForInitialize = async (miscCoinTypes, reserveCoinTypes, rewardCoinTypes) => {
|
|
133
101
|
const { metadata } = await getCoinMetadataMapPartial([
|
|
134
102
|
...miscCoinTypes,
|
|
@@ -303,9 +271,17 @@ export const initializeSuilend = async (suiGrpcClient, suilendClient, lendingMar
|
|
|
303
271
|
// (walReserve.smoothedPrice.value as bigint) = walPrice;
|
|
304
272
|
// }
|
|
305
273
|
const lendingMarket = parseLendingMarket(suilendClient.lendingMarket, refreshedRawReserves, coinMetadataMap, nowS, lendingMarketMetadata);
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
274
|
+
if (!!RESERVES_CUSTOM_ORDER[lendingMarket.id]) {
|
|
275
|
+
lendingMarket.reserves = lendingMarket.reserves.slice().sort((a, b) => {
|
|
276
|
+
const aCustomOrderIndex = RESERVES_CUSTOM_ORDER[lendingMarket.id].indexOf(a.coinType);
|
|
277
|
+
const bCustomOrderIndex = RESERVES_CUSTOM_ORDER[lendingMarket.id].indexOf(b.coinType);
|
|
278
|
+
if (aCustomOrderIndex > -1 && bCustomOrderIndex > -1)
|
|
279
|
+
return aCustomOrderIndex - bCustomOrderIndex;
|
|
280
|
+
else if (aCustomOrderIndex === -1 && bCustomOrderIndex === -1)
|
|
281
|
+
return 0;
|
|
282
|
+
else
|
|
283
|
+
return aCustomOrderIndex > -1 ? -1 : 1;
|
|
284
|
+
});
|
|
309
285
|
}
|
|
310
286
|
const reserveMap = lendingMarket.reserves.reduce((acc, reserve) => ({ ...acc, [reserve.coinType]: reserve }), {});
|
|
311
287
|
return {
|
package/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sdk","version":"11.6.0
|
|
1
|
+
{"name":"@suilend/sdk","version":"11.6.0","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","./mmt":"./mmt.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/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","./swap":"./swap/index.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.js","./utils/events":"./utils/events.js","./utils/feedId":"./utils/feedId.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","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/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","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.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.d.ts","scripts":{"build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@bluefin-exchange/bluefin7k-aggregator-sdk":"7.6.3","@cetusprotocol/aggregator-sdk":"1.7.2","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"4.1.0","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.2","uuid":"14.0.2"},"devDependencies":{"@mysten/bcs":"2.1.1","@mysten/sui":"2.29.0","@suilend/sui-core":"2.0.1","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.25","@types/node":"26.4.0","fast-check":"4.9.0","prettier":"3.9.6","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.2.0","vitest":"5.0.0"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.22.1 <3","@suilend/sui-core":"^2.0.1"},"type":"module"}
|