@suilend/sdk 1.1.71 → 1.1.72
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 +9 -12
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.72","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.11"}}
|
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");
|
|
@@ -64,6 +63,8 @@ const getSwapTransactionWrapper = (provider, getSwapTransaction) => __awaiter(vo
|
|
|
64
63
|
}
|
|
65
64
|
});
|
|
66
65
|
const getSwapTransaction = (suiClient, address, quote, slippagePercent, sdkMap, partnerIdMap, transaction, coinIn) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
const allCoinsIn = yield (0, sui_fe_1.getAllCoins)(suiClient, address, quote.in.coinType);
|
|
67
|
+
const mergeCoinIn = (0, sui_fe_1.mergeAllCoins)(quote.in.coinType, transaction, allCoinsIn);
|
|
67
68
|
if (quote.provider === quote_1.QuoteProvider.AFTERMATH) {
|
|
68
69
|
return getSwapTransactionWrapper(quote_1.QuoteProvider.AFTERMATH, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
70
|
const { tx: transaction2, coinOutId: coinOut } = yield sdkMap[quote_1.QuoteProvider.AFTERMATH]
|
|
@@ -81,11 +82,9 @@ const getSwapTransaction = (suiClient, address, quote, slippagePercent, sdkMap,
|
|
|
81
82
|
else if (quote.provider === quote_1.QuoteProvider.CETUS) {
|
|
82
83
|
return getSwapTransactionWrapper(quote_1.QuoteProvider.CETUS, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
84
|
if (!coinIn)
|
|
84
|
-
coinIn = (0,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
useGasCoin: (0, sui_fe_1.isSui)(quote.in.coinType),
|
|
88
|
-
})(transaction);
|
|
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())]);
|
|
89
88
|
const coinOut = yield sdkMap[quote_1.QuoteProvider.CETUS].routerSwap({
|
|
90
89
|
routers: quote.quote,
|
|
91
90
|
inputCoin: coinIn,
|
|
@@ -123,14 +122,12 @@ const getSwapTransaction = (suiClient, address, quote, slippagePercent, sdkMap,
|
|
|
123
122
|
else if (quote.provider === quote_1.QuoteProvider.FLOWX) {
|
|
124
123
|
return getSwapTransactionWrapper(quote_1.QuoteProvider.FLOWX, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
125
124
|
if (!coinIn)
|
|
126
|
-
coinIn = (0,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
useGasCoin: (0, sui_fe_1.isSui)(quote.in.coinType),
|
|
130
|
-
})(transaction);
|
|
125
|
+
[coinIn] = transaction.splitCoins((0, sui_fe_1.isSui)(quote.in.coinType)
|
|
126
|
+
? transaction.gas
|
|
127
|
+
: transaction.object(mergeCoinIn.coinObjectId), [BigInt(quote.quote.amountIn.toString())]);
|
|
131
128
|
const trade = new sdk_1.TradeBuilder("mainnet", quote.quote.routes)
|
|
132
129
|
.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,
|
|
130
|
+
.commission(new sdk_1.Commission(partnerIdMap[quote_1.QuoteProvider.FLOWX], new sdk_1.Coin(quote.out.coinType), sdk_1.CommissionType.PERCENTAGE, 0, false))
|
|
134
131
|
.build();
|
|
135
132
|
const coinOut = yield trade.swap({
|
|
136
133
|
coinIn: coinIn,
|