@suilend/sdk 1.1.71 → 1.1.73
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 +1 -1
- package/lib/initialize.js +4 -1
- package/package.json +1 -1
- package/parsers/obligation.js +2 -2
- package/swap/transaction.js +15 -14
package/client.js
CHANGED
|
@@ -98,7 +98,7 @@ class SuilendClient {
|
|
|
98
98
|
this.lendingMarket = lendingMarket;
|
|
99
99
|
this.client = client;
|
|
100
100
|
this.pythClient = new pyth_sui_js_1.SuiPythClient(client, PYTH_STATE_ID, WORMHOLE_STATE_ID);
|
|
101
|
-
this.pythConnection = new pyth_sui_js_1.SuiPriceServiceConnection("https://hermes.pyth.network");
|
|
101
|
+
this.pythConnection = new pyth_sui_js_1.SuiPriceServiceConnection("https://hermes.pyth.network", { timeout: 30 * 1000 });
|
|
102
102
|
}
|
|
103
103
|
static initialize(lendingMarketId, lendingMarketType, client, logPackageId) {
|
|
104
104
|
return __awaiter(this, void 0, void 0, function* () {
|
package/lib/initialize.js
CHANGED
|
@@ -87,6 +87,7 @@ exports.RESERVES_CUSTOM_ORDER = [
|
|
|
87
87
|
sui_fe_1.NORMALIZED_NS_COINTYPE,
|
|
88
88
|
sui_fe_1.NORMALIZED_UP_COINTYPE,
|
|
89
89
|
sui_fe_1.NORMALIZED_KOBAN_COINTYPE,
|
|
90
|
+
sui_fe_1.NORMALIZED_DMC_COINTYPE,
|
|
90
91
|
sui_fe_1.NORMALIZED_mUSD_COINTYPE,
|
|
91
92
|
sui_fe_1.NORMALIZED_BUCK_COINTYPE,
|
|
92
93
|
// ISOLATED ASSETS - Memecoins
|
|
@@ -116,7 +117,9 @@ const initializeSuilend = (suiClient, suilendClient) => __awaiter(void 0, void 0
|
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
const [refreshedReservesWithoutTemporaryPythPriceFeeds] = yield Promise.all([
|
|
119
|
-
simulate.refreshReservePrice(reservesWithoutTemporaryPythPriceFeeds, new pyth_sui_js_1.SuiPriceServiceConnection("https://hermes.pyth.network"
|
|
120
|
+
simulate.refreshReservePrice(reservesWithoutTemporaryPythPriceFeeds, new pyth_sui_js_1.SuiPriceServiceConnection("https://hermes.pyth.network", {
|
|
121
|
+
timeout: 30 * 1000,
|
|
122
|
+
})),
|
|
120
123
|
Promise.all(reservesWithTemporaryPythPriceFeeds.map((reserve) => (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
121
124
|
let cachedUsdPrice;
|
|
122
125
|
try {
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sdk","version":"1.1.
|
|
1
|
+
{"name":"@suilend/sdk","version":"1.1.73","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","./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/transactions":"./lib/transactions.js","./lib/types":"./lib/types.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/okxDex":"./swap/okxDex.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.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/i64/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/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/suilend/suilend-fe-public.git"},"bugs":{"url":"https://github.com/suilend/suilend-fe-public/issues"},"dependencies":{"@7kprotocol/sdk-ts":"^3.2.0","@cetusprotocol/aggregator-sdk":"^0.14.1","@flowx-finance/sdk":"^1.11.2","@pythnetwork/pyth-sui-js":"^2.1.0","aftermath-ts-sdk":"^1.3.13","bignumber.js":"^9.1.2","bn.js":"^5.2.2","crypto-js":"^4.2.0","p-limit":"3.1.0","uuid":"^11.0.3"},"devDependencies":{"ts-node":"^10.9.2"},"peerDependencies":{"@mysten/bcs":"1.6.0","@mysten/sui":"1.28.2","@suilend/sui-fe":"^0.3.16"}}
|
package/parsers/obligation.js
CHANGED
|
@@ -82,8 +82,8 @@ const parseObligation = (obligation, parsedReserveMap) => {
|
|
|
82
82
|
};
|
|
83
83
|
});
|
|
84
84
|
const netValueUsd = totalDepositedAmountUsd.minus(totalBorrowedAmountUsd);
|
|
85
|
-
// Cap `minPriceBorrowLimitUsd` at $
|
|
86
|
-
minPriceBorrowLimitUsd = bignumber_js_1.default.min(minPriceBorrowLimitUsd,
|
|
85
|
+
// Cap `minPriceBorrowLimitUsd` at $30m (account borrow limit)
|
|
86
|
+
minPriceBorrowLimitUsd = bignumber_js_1.default.min(minPriceBorrowLimitUsd, 30 * 10 ** 6);
|
|
87
87
|
const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimitUsd.eq(0)
|
|
88
88
|
? new bignumber_js_1.default(0)
|
|
89
89
|
: maxPriceWeightedBorrowsUsd.div(minPriceBorrowLimitUsd).times(100);
|
package/swap/transaction.js
CHANGED
|
@@ -45,7 +45,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.getSwapTransaction = void 0;
|
|
46
46
|
const cjs_1 = require("@7kprotocol/sdk-ts/cjs");
|
|
47
47
|
const sdk_1 = require("@flowx-finance/sdk");
|
|
48
|
-
const transactions_1 = require("@mysten/sui/transactions");
|
|
49
48
|
const Sentry = __importStar(require("@sentry/nextjs"));
|
|
50
49
|
const sui_fe_1 = require("@suilend/sui-fe");
|
|
51
50
|
const okxDex_1 = require("./okxDex");
|
|
@@ -80,12 +79,13 @@ const getSwapTransaction = (suiClient, address, quote, slippagePercent, sdkMap,
|
|
|
80
79
|
}
|
|
81
80
|
else if (quote.provider === quote_1.QuoteProvider.CETUS) {
|
|
82
81
|
return getSwapTransactionWrapper(quote_1.QuoteProvider.CETUS, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
-
if (!coinIn)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
if (!coinIn) {
|
|
83
|
+
const allCoinsIn = yield (0, sui_fe_1.getAllCoins)(suiClient, address, quote.in.coinType);
|
|
84
|
+
const mergeCoinIn = (0, sui_fe_1.mergeAllCoins)(quote.in.coinType, transaction, allCoinsIn);
|
|
85
|
+
[coinIn] = transaction.splitCoins((0, sui_fe_1.isSui)(quote.in.coinType)
|
|
86
|
+
? transaction.gas
|
|
87
|
+
: transaction.object(mergeCoinIn.coinObjectId), [BigInt(quote.quote.amountIn.toString())]);
|
|
88
|
+
}
|
|
89
89
|
const coinOut = yield sdkMap[quote_1.QuoteProvider.CETUS].routerSwap({
|
|
90
90
|
routers: quote.quote,
|
|
91
91
|
inputCoin: coinIn,
|
|
@@ -122,15 +122,16 @@ const getSwapTransaction = (suiClient, address, quote, slippagePercent, sdkMap,
|
|
|
122
122
|
}
|
|
123
123
|
else if (quote.provider === quote_1.QuoteProvider.FLOWX) {
|
|
124
124
|
return getSwapTransactionWrapper(quote_1.QuoteProvider.FLOWX, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
125
|
-
if (!coinIn)
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
125
|
+
if (!coinIn) {
|
|
126
|
+
const allCoinsIn = yield (0, sui_fe_1.getAllCoins)(suiClient, address, quote.in.coinType);
|
|
127
|
+
const mergeCoinIn = (0, sui_fe_1.mergeAllCoins)(quote.in.coinType, transaction, allCoinsIn);
|
|
128
|
+
[coinIn] = transaction.splitCoins((0, sui_fe_1.isSui)(quote.in.coinType)
|
|
129
|
+
? transaction.gas
|
|
130
|
+
: transaction.object(mergeCoinIn.coinObjectId), [BigInt(quote.quote.amountIn.toString())]);
|
|
131
|
+
}
|
|
131
132
|
const trade = new sdk_1.TradeBuilder("mainnet", quote.quote.routes)
|
|
132
133
|
.slippage((slippagePercent / 100) * 1e6)
|
|
133
|
-
.commission(new sdk_1.Commission(partnerIdMap[quote_1.QuoteProvider.FLOWX], new sdk_1.Coin(quote.out.coinType), sdk_1.CommissionType.PERCENTAGE, 0,
|
|
134
|
+
.commission(new sdk_1.Commission(partnerIdMap[quote_1.QuoteProvider.FLOWX], new sdk_1.Coin(quote.out.coinType), sdk_1.CommissionType.PERCENTAGE, 0, false))
|
|
134
135
|
.build();
|
|
135
136
|
const coinOut = yield trade.swap({
|
|
136
137
|
coinIn: coinIn,
|