@scallop-io/sui-scallop-sdk 1.4.3 → 1.4.5
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/dist/constants/common.d.ts +5 -5
- package/dist/constants/enum.d.ts +2 -2
- package/dist/index.js +126 -37
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +126 -37
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +13 -6
- package/dist/models/scallopUtils.d.ts +2 -2
- package/dist/queries/borrowIncentiveQuery.d.ts +4 -1
- package/dist/queries/coreQuery.d.ts +1 -0
- package/dist/queries/poolAddressesQuery.d.ts +1 -1
- package/dist/queries/portfolioQuery.d.ts +4 -2
- package/dist/queries/priceQuery.d.ts +2 -0
- package/dist/queries/sCoinQuery.d.ts +1 -1
- package/package.json +1 -1
- package/src/constants/coinGecko.ts +1 -0
- package/src/constants/common.ts +3 -0
- package/src/constants/enum.ts +8 -0
- package/src/constants/poolAddress.ts +25 -0
- package/src/constants/pyth.ts +1 -0
- package/src/constants/testAddress.ts +21 -0
- package/src/models/scallopQuery.ts +4 -3
- package/src/queries/borrowIncentiveQuery.ts +2 -1
- package/src/queries/coreQuery.ts +51 -17
- package/src/queries/portfolioQuery.ts +15 -10
- package/src/queries/spoolQuery.ts +18 -9
- package/src/utils/query.ts +2 -2
|
@@ -7,14 +7,14 @@ export declare const PROTOCOL_OBJECT_ID: "0xc9f859f98ca352a11b97a038c4b4162bee43
|
|
|
7
7
|
export declare const BORROW_FEE_PROTOCOL_ID: "0xc9f859f98ca352a11b97a038c4b4162bee437b8df8caa047990fe9cb03d4f778" | "0xc38f849e81cfe46d4e4320f508ea7dda42934a329d5a6571bb4c3cb6ea63f5da";
|
|
8
8
|
export declare const SCA_COIN_TYPE: "0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524::sca::SCA" | "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6::sca::SCA";
|
|
9
9
|
export declare const OLD_BORROW_INCENTIVE_PROTOCOL_ID: "0xc63072e7f5f4983a2efaf5bdba1480d5e7d74d57948e1c7cc436f8e22cbeb410";
|
|
10
|
-
export declare const SUPPORT_POOLS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep"];
|
|
11
|
-
export declare const SUPPORT_COLLATERALS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca"];
|
|
10
|
+
export declare const SUPPORT_POOLS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep", "fdusd"];
|
|
11
|
+
export declare const SUPPORT_COLLATERALS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fdusd"];
|
|
12
12
|
export declare const SUPPORT_SPOOLS: readonly ["susdc", "sweth", "ssui", "swusdc", "swusdt", "scetus", "safsui", "shasui", "svsui"];
|
|
13
|
-
export declare const SUPPORT_SCOIN: readonly ["susdc", "ssbeth", "ssui", "swusdc", "swusdt", "safsui", "shasui", "svsui", "sweth", "ssca", "scetus", "swsol", "swbtc", "sdeep", "sfud"];
|
|
13
|
+
export declare const SUPPORT_SCOIN: readonly ["susdc", "ssbeth", "ssui", "swusdc", "swusdt", "safsui", "shasui", "svsui", "sweth", "ssca", "scetus", "swsol", "swbtc", "sdeep", "sfud", "sfdusd"];
|
|
14
14
|
export declare const SUPPORT_SUI_BRIDGE: readonly ["sbeth"];
|
|
15
15
|
export declare const SUPPORT_WORMHOLE: readonly ["wusdc", "wusdt", "weth", "wbtc", "wapt", "wsol"];
|
|
16
16
|
export declare const SUPPORT_SPOOLS_REWARDS: readonly ["sui"];
|
|
17
|
-
export declare const SUPPORT_BORROW_INCENTIVE_POOLS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep"];
|
|
18
|
-
export declare const SUPPORT_BORROW_INCENTIVE_REWARDS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep", "susdc", "ssbeth", "ssui", "swusdc", "swusdt", "safsui", "shasui", "svsui", "sweth", "ssca", "scetus", "swsol", "swbtc", "sdeep", "sfud"];
|
|
17
|
+
export declare const SUPPORT_BORROW_INCENTIVE_POOLS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep", "fdusd"];
|
|
18
|
+
export declare const SUPPORT_BORROW_INCENTIVE_REWARDS: readonly ["usdc", "sbeth", "weth", "wbtc", "wusdc", "wusdt", "sui", "wapt", "wsol", "cetus", "afsui", "hasui", "vsui", "sca", "fud", "deep", "fdusd", "susdc", "ssbeth", "ssui", "swusdc", "swusdt", "safsui", "shasui", "svsui", "sweth", "ssca", "scetus", "swsol", "swbtc", "sdeep", "sfud", "sfdusd"];
|
|
19
19
|
export declare const SUPPORT_ORACLES: readonly ["supra", "switchboard", "pyth"];
|
|
20
20
|
export declare const SUPPORT_PACKAGES: readonly ["coinDecimalsRegistry", "math", "whitelist", "x", "protocol", "protocolWhitelist", "query", "supra", "pyth", "switchboard", "xOracle", "testCoin"];
|
package/dist/constants/enum.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export declare const coinIds: types.AssetCoinIds;
|
|
|
10
10
|
export declare const wormholeCoinIds: types.WormholeCoinIds;
|
|
11
11
|
export declare const voloCoinIds: types.VoloCoinIds;
|
|
12
12
|
export declare const sCoinIds: types.SCoinIds;
|
|
13
|
-
export declare const sCoinTypeToName: Record<string, "susdc" | "ssbeth" | "sweth" | "swbtc" | "swusdc" | "swusdt" | "ssui" | "swsol" | "scetus" | "safsui" | "shasui" | "svsui" | "ssca" | "sfud" | "sdeep">;
|
|
14
|
-
export declare const sCoinRawNameToName: Record<string, "susdc" | "ssbeth" | "sweth" | "swbtc" | "swusdc" | "swusdt" | "ssui" | "swsol" | "scetus" | "safsui" | "shasui" | "svsui" | "ssca" | "sfud" | "sdeep">;
|
|
13
|
+
export declare const sCoinTypeToName: Record<string, "susdc" | "ssbeth" | "sweth" | "swbtc" | "swusdc" | "swusdt" | "ssui" | "swsol" | "scetus" | "safsui" | "shasui" | "svsui" | "ssca" | "sfud" | "sdeep" | "sfdusd">;
|
|
14
|
+
export declare const sCoinRawNameToName: Record<string, "susdc" | "ssbeth" | "sweth" | "swbtc" | "swusdc" | "swusdt" | "ssui" | "swsol" | "scetus" | "safsui" | "shasui" | "svsui" | "ssca" | "sfud" | "sdeep" | "sfdusd">;
|
package/dist/index.js
CHANGED
|
@@ -118,6 +118,7 @@ var COIN_GECKGO_IDS = {
|
|
|
118
118
|
hasui: "sui",
|
|
119
119
|
vsui: "sui",
|
|
120
120
|
sca: "scallop-2",
|
|
121
|
+
fdusd: "first-digital-usd",
|
|
121
122
|
deep: "deepbook",
|
|
122
123
|
fud: "fud-the-pug"
|
|
123
124
|
};
|
|
@@ -150,7 +151,8 @@ var SUPPORT_POOLS = [
|
|
|
150
151
|
"vsui",
|
|
151
152
|
"sca",
|
|
152
153
|
"fud",
|
|
153
|
-
"deep"
|
|
154
|
+
"deep",
|
|
155
|
+
"fdusd"
|
|
154
156
|
];
|
|
155
157
|
var SUPPORT_COLLATERALS = [
|
|
156
158
|
"usdc",
|
|
@@ -168,7 +170,8 @@ var SUPPORT_COLLATERALS = [
|
|
|
168
170
|
"afsui",
|
|
169
171
|
"hasui",
|
|
170
172
|
"vsui",
|
|
171
|
-
"sca"
|
|
173
|
+
"sca",
|
|
174
|
+
"fdusd"
|
|
172
175
|
];
|
|
173
176
|
var SUPPORT_SPOOLS = [
|
|
174
177
|
"susdc",
|
|
@@ -196,7 +199,8 @@ var SUPPORT_SCOIN = [
|
|
|
196
199
|
"swsol",
|
|
197
200
|
"swbtc",
|
|
198
201
|
"sdeep",
|
|
199
|
-
"sfud"
|
|
202
|
+
"sfud",
|
|
203
|
+
"sfdusd"
|
|
200
204
|
];
|
|
201
205
|
var SUPPORT_SUI_BRIDGE = ["sbeth"];
|
|
202
206
|
var SUPPORT_WORMHOLE = [
|
|
@@ -245,6 +249,7 @@ var coinDecimals = {
|
|
|
245
249
|
hasui: 9,
|
|
246
250
|
vsui: 9,
|
|
247
251
|
sca: 9,
|
|
252
|
+
fdusd: 6,
|
|
248
253
|
deep: 6,
|
|
249
254
|
fud: 5,
|
|
250
255
|
susdc: 6,
|
|
@@ -261,6 +266,7 @@ var coinDecimals = {
|
|
|
261
266
|
shasui: 9,
|
|
262
267
|
svsui: 9,
|
|
263
268
|
ssca: 9,
|
|
269
|
+
sfdusd: 6,
|
|
264
270
|
sdeep: 6,
|
|
265
271
|
sfud: 5
|
|
266
272
|
};
|
|
@@ -279,6 +285,7 @@ var assetCoins = {
|
|
|
279
285
|
hasui: "hasui",
|
|
280
286
|
vsui: "vsui",
|
|
281
287
|
sca: "sca",
|
|
288
|
+
fdusd: "fdusd",
|
|
282
289
|
deep: "deep",
|
|
283
290
|
fud: "fud"
|
|
284
291
|
};
|
|
@@ -297,6 +304,7 @@ var marketCoins = {
|
|
|
297
304
|
shasui: "shasui",
|
|
298
305
|
svsui: "svsui",
|
|
299
306
|
ssca: "ssca",
|
|
307
|
+
sfdusd: "sfdusd",
|
|
300
308
|
sdeep: "sdeep",
|
|
301
309
|
sfud: "sfud"
|
|
302
310
|
};
|
|
@@ -314,6 +322,7 @@ var sCoins = {
|
|
|
314
322
|
ssca: "ssca",
|
|
315
323
|
swsol: "swsol",
|
|
316
324
|
swbtc: "swbtc",
|
|
325
|
+
sfdusd: "sfdusd",
|
|
317
326
|
sfud: "sfud",
|
|
318
327
|
sdeep: "sdeep"
|
|
319
328
|
};
|
|
@@ -357,6 +366,7 @@ var coinIds = {
|
|
|
357
366
|
hasui: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
358
367
|
vsui: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
359
368
|
sca: IS_VE_SCA_TEST ? "0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524" : "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
369
|
+
fdusd: "0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a",
|
|
360
370
|
// isolated assets
|
|
361
371
|
deep: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
362
372
|
fud: "0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1"
|
|
@@ -386,6 +396,7 @@ var sCoinIds = {
|
|
|
386
396
|
svsui: "0xe1a1cc6bcf0001a015eab84bcc6713393ce20535f55b8b6f35c142e057a25fbe::scallop_v_sui::SCALLOP_V_SUI",
|
|
387
397
|
swsol: "0x1392650f2eca9e3f6ffae3ff89e42a3590d7102b80e2b430f674730bc30d3259::scallop_wormhole_sol::SCALLOP_WORMHOLE_SOL",
|
|
388
398
|
swbtc: "0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC",
|
|
399
|
+
sfdusd: "0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD",
|
|
389
400
|
sdeep: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
390
401
|
sfud: "0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD"
|
|
391
402
|
};
|
|
@@ -661,6 +672,21 @@ var POOL_ADDRESSES = {
|
|
|
661
672
|
spoolReward: void 0,
|
|
662
673
|
sCoinTreasury: "0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88",
|
|
663
674
|
coinDecimalId: "0x6e60b051a08fa836f5a7acd7c464c8d9825bc29c44657fe170fe9b8e1e4770c0"
|
|
675
|
+
},
|
|
676
|
+
fdusd: {
|
|
677
|
+
lendingPoolAddress: "0x4f46051a01f05c3ad9aecf29a771aad5c884e1a1888e08d7709085e3a095bc9c",
|
|
678
|
+
collateralPoolAddress: "0x4f6647a9afcfdb62bb9b27e4d1cb7bd7130aca1b4f13fa7164453c869c1681ae",
|
|
679
|
+
borrowDynamic: "0x4ddcf19b6290a8b048ecb314b14ef7f52c1c5b9ddc9259a2a242cd91d681a085",
|
|
680
|
+
interestModel: "0xb57a33706b29d2d253c74c1c0869e6e20da99036338d2b0b7235ab41621ee9dd",
|
|
681
|
+
riskModel: "0xd65fb21758dc1e6184940a1a27efb13228d7cf5e19f6dcca06cc2d996af4a6b9",
|
|
682
|
+
borrowFeeKey: "0xafe673a27747b063fa918d2dfe47794e44af553737ac562c2a63186539a07f45",
|
|
683
|
+
supplyLimitKey: "0x730e0785ba056a7a95f4a6959371a598d7fe782e81c40785c79982ced4cf4e35",
|
|
684
|
+
borrowLimitKey: "0x1630c6954918a06fe56312afb8958366c5ed7af653dae0e32c09d088da38577e",
|
|
685
|
+
isolatedAssetKey: void 0,
|
|
686
|
+
spool: void 0,
|
|
687
|
+
spoolReward: void 0,
|
|
688
|
+
sCoinTreasury: "0xdad9bc6293e694f67a5274ea51b596e0bdabfafc585ae6d7e82888e65f1a03e0",
|
|
689
|
+
coinDecimalId: "0xdebee5265a67c186ed87fe93303d33dfe1de53e3b4fd7d9329c2852860acd3e7"
|
|
664
690
|
}
|
|
665
691
|
};
|
|
666
692
|
|
|
@@ -684,6 +710,7 @@ var PYTH_FEED_IDS = {
|
|
|
684
710
|
hasui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
685
711
|
vsui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
686
712
|
sca: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
713
|
+
fdusd: "0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979",
|
|
687
714
|
deep: "29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",
|
|
688
715
|
fud: "6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75"
|
|
689
716
|
};
|
|
@@ -993,6 +1020,19 @@ var TEST_ADDRESSES = {
|
|
|
993
1020
|
}
|
|
994
1021
|
}
|
|
995
1022
|
},
|
|
1023
|
+
fdusd: {
|
|
1024
|
+
id: "0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a",
|
|
1025
|
+
metaData: "0xdebee5265a67c186ed87fe93303d33dfe1de53e3b4fd7d9329c2852860acd3e7",
|
|
1026
|
+
treasury: "",
|
|
1027
|
+
oracle: {
|
|
1028
|
+
supra: "",
|
|
1029
|
+
switchboard: "",
|
|
1030
|
+
pyth: {
|
|
1031
|
+
feed: "0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979",
|
|
1032
|
+
feedObject: "0x5f6583b2b0fe1ecf94aaffeaab8a838794693960cea48c0da282d5f4a24be027"
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
996
1036
|
deep: {
|
|
997
1037
|
id: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
998
1038
|
metaData: "0x6e60b051a08fa836f5a7acd7c464c8d9825bc29c44657fe170fe9b8e1e4770c0",
|
|
@@ -1238,6 +1278,10 @@ var TEST_ADDRESSES = {
|
|
|
1238
1278
|
coinType: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
1239
1279
|
treasury: "0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed"
|
|
1240
1280
|
},
|
|
1281
|
+
sfdusd: {
|
|
1282
|
+
coinType: "0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD",
|
|
1283
|
+
treasury: "0xdad9bc6293e694f67a5274ea51b596e0bdabfafc585ae6d7e82888e65f1a03e0"
|
|
1284
|
+
},
|
|
1241
1285
|
sdeep: {
|
|
1242
1286
|
coinType: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
1243
1287
|
treasury: "0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88"
|
|
@@ -1472,8 +1516,8 @@ var calculateMarketPoolData = (utils, parsedMarketPoolData) => {
|
|
|
1472
1516
|
supplyApy: utils.parseAprToApy(supplyApr.toNumber()),
|
|
1473
1517
|
conversionRate: conversionRate.toNumber(),
|
|
1474
1518
|
isIsolated: parsedMarketPoolData.isIsolated,
|
|
1475
|
-
maxSupplyCoin: (0, import_bignumber.default)(parsedMarketPoolData.supplyLimit).shiftedBy(coinDecimal).toNumber(),
|
|
1476
|
-
maxBorrowCoin: (0, import_bignumber.default)(parsedMarketPoolData.borrowLimit).shiftedBy(coinDecimal).toNumber()
|
|
1519
|
+
maxSupplyCoin: (0, import_bignumber.default)(parsedMarketPoolData.supplyLimit).shiftedBy(-coinDecimal).toNumber(),
|
|
1520
|
+
maxBorrowCoin: (0, import_bignumber.default)(parsedMarketPoolData.borrowLimit).shiftedBy(-coinDecimal).toNumber()
|
|
1477
1521
|
};
|
|
1478
1522
|
};
|
|
1479
1523
|
var parseOriginMarketCollateralData = (originMarketCollateralData) => {
|
|
@@ -3458,28 +3502,60 @@ var queryRequiredMarketObjects = async (query, poolCoinNames) => {
|
|
|
3458
3502
|
tasks.map((task) => task.isolatedAssetKey).filter((t) => !!t)
|
|
3459
3503
|
)
|
|
3460
3504
|
]);
|
|
3461
|
-
const mapObjects = (tasks2, fetchedObjects) => {
|
|
3505
|
+
const mapObjects = (tasks2, fetchedObjects, keyValue) => {
|
|
3462
3506
|
const resultMap = {};
|
|
3463
|
-
|
|
3507
|
+
const fetchedObjectMap = fetchedObjects.reduce(
|
|
3508
|
+
(acc, obj) => {
|
|
3509
|
+
acc[obj.objectId] = obj;
|
|
3510
|
+
return acc;
|
|
3511
|
+
},
|
|
3512
|
+
{}
|
|
3513
|
+
);
|
|
3464
3514
|
for (const task of tasks2) {
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
resultMap[task.poolCoinName] = fetchedObjects[fetchedIndex];
|
|
3468
|
-
fetchedIndex++;
|
|
3515
|
+
if (task[keyValue]) {
|
|
3516
|
+
resultMap[task.poolCoinName] = fetchedObjectMap[task[keyValue]];
|
|
3469
3517
|
}
|
|
3470
3518
|
}
|
|
3471
3519
|
return resultMap;
|
|
3472
3520
|
};
|
|
3473
|
-
const balanceSheetMap = mapObjects(
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
const
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3521
|
+
const balanceSheetMap = mapObjects(
|
|
3522
|
+
tasks,
|
|
3523
|
+
balanceSheetObjects,
|
|
3524
|
+
"balanceSheet"
|
|
3525
|
+
);
|
|
3526
|
+
const collateralStatMap = mapObjects(
|
|
3527
|
+
tasks,
|
|
3528
|
+
collateralStatObjects,
|
|
3529
|
+
"collateralStat"
|
|
3530
|
+
);
|
|
3531
|
+
const borrowDynamicMap = mapObjects(
|
|
3532
|
+
tasks,
|
|
3533
|
+
borrowDynamicObjects,
|
|
3534
|
+
"borrowDynamic"
|
|
3535
|
+
);
|
|
3536
|
+
const interestModelMap = mapObjects(
|
|
3537
|
+
tasks,
|
|
3538
|
+
interestModelObjects,
|
|
3539
|
+
"interestModel"
|
|
3540
|
+
);
|
|
3541
|
+
const riskModelMap = mapObjects(tasks, riskModelObjects, "riskModel");
|
|
3542
|
+
const borrowFeeMap = mapObjects(tasks, borrowFeeObjects, "borrowFeeKey");
|
|
3543
|
+
const supplyLimitMap = mapObjects(
|
|
3544
|
+
tasks,
|
|
3545
|
+
supplyLimitObjects,
|
|
3546
|
+
"supplyLimitKey"
|
|
3547
|
+
);
|
|
3548
|
+
const borrowLimitMap = mapObjects(
|
|
3549
|
+
tasks,
|
|
3550
|
+
borrowLimitObjects,
|
|
3551
|
+
"borrowLimitKey"
|
|
3552
|
+
);
|
|
3553
|
+
const isolatedAssetMap = mapObjects(
|
|
3554
|
+
tasks,
|
|
3555
|
+
isolatedAssetObjects,
|
|
3556
|
+
"isolatedAssetKey"
|
|
3557
|
+
);
|
|
3558
|
+
const result = poolCoinNames.reduce(
|
|
3483
3559
|
(acc, name) => {
|
|
3484
3560
|
acc[name] = {
|
|
3485
3561
|
balanceSheet: balanceSheetMap[name],
|
|
@@ -3496,6 +3572,7 @@ var queryRequiredMarketObjects = async (query, poolCoinNames) => {
|
|
|
3496
3572
|
},
|
|
3497
3573
|
{}
|
|
3498
3574
|
);
|
|
3575
|
+
return result;
|
|
3499
3576
|
};
|
|
3500
3577
|
var getMarketPools = async (query, poolCoinNames, indexer = false, coinPrices) => {
|
|
3501
3578
|
coinPrices = coinPrices ?? await query.utils.getCoinPrices();
|
|
@@ -4218,7 +4295,7 @@ var getLending = async (query, poolCoinName, ownerAddress, indexer = false, mark
|
|
|
4218
4295
|
return lending;
|
|
4219
4296
|
};
|
|
4220
4297
|
var getObligationAccounts = async (query, ownerAddress, indexer = false) => {
|
|
4221
|
-
const market = await query.
|
|
4298
|
+
const market = await query.getMarketPools(void 0, { indexer });
|
|
4222
4299
|
const coinPrices = await query.getAllCoinPrices({
|
|
4223
4300
|
marketPools: market.pools
|
|
4224
4301
|
});
|
|
@@ -4226,12 +4303,16 @@ var getObligationAccounts = async (query, ownerAddress, indexer = false) => {
|
|
|
4226
4303
|
query.getCoinAmounts(void 0, ownerAddress),
|
|
4227
4304
|
query.getObligations(ownerAddress)
|
|
4228
4305
|
]);
|
|
4306
|
+
const obligationObjects = await queryMultipleObjects(
|
|
4307
|
+
query.cache,
|
|
4308
|
+
obligations.map((obligation) => obligation.id)
|
|
4309
|
+
);
|
|
4229
4310
|
const obligationAccounts = {};
|
|
4230
4311
|
await Promise.allSettled(
|
|
4231
|
-
obligations.map(async (obligation) => {
|
|
4312
|
+
obligations.map(async (obligation, idx) => {
|
|
4232
4313
|
obligationAccounts[obligation.keyId] = await getObligationAccount(
|
|
4233
4314
|
query,
|
|
4234
|
-
obligation.id,
|
|
4315
|
+
obligationObjects[idx] ?? obligation.id,
|
|
4235
4316
|
ownerAddress,
|
|
4236
4317
|
indexer,
|
|
4237
4318
|
market,
|
|
@@ -4242,7 +4323,7 @@ var getObligationAccounts = async (query, ownerAddress, indexer = false) => {
|
|
|
4242
4323
|
);
|
|
4243
4324
|
return obligationAccounts;
|
|
4244
4325
|
};
|
|
4245
|
-
var getObligationAccount = async (query,
|
|
4326
|
+
var getObligationAccount = async (query, obligation, ownerAddress, indexer = false, market, coinPrices, coinAmounts) => {
|
|
4246
4327
|
const coinNames = Array.from(
|
|
4247
4328
|
/* @__PURE__ */ new Set([...SUPPORT_POOLS, ...SUPPORT_COLLATERALS])
|
|
4248
4329
|
);
|
|
@@ -4253,13 +4334,13 @@ var getObligationAccount = async (query, obligationId, ownerAddress, indexer = f
|
|
|
4253
4334
|
coinPrices = coinPrices ?? await query.getAllCoinPrices({ marketPools: market.pools });
|
|
4254
4335
|
coinAmounts = coinAmounts ?? await query.getCoinAmounts(coinNames, ownerAddress);
|
|
4255
4336
|
const [obligationQuery, borrowIncentivePools, borrowIncentiveAccounts] = await Promise.all([
|
|
4256
|
-
query.queryObligation(
|
|
4337
|
+
query.queryObligation(obligation),
|
|
4257
4338
|
query.getBorrowIncentivePools(void 0, {
|
|
4258
4339
|
coinPrices,
|
|
4259
4340
|
indexer,
|
|
4260
4341
|
marketPools: market.pools
|
|
4261
4342
|
}),
|
|
4262
|
-
query.getBorrowIncentiveAccounts(
|
|
4343
|
+
query.getBorrowIncentiveAccounts(obligation)
|
|
4263
4344
|
]);
|
|
4264
4345
|
const collaterals = {};
|
|
4265
4346
|
const debts = {};
|
|
@@ -4457,7 +4538,7 @@ var getObligationAccount = async (query, obligationId, ownerAddress, indexer = f
|
|
|
4457
4538
|
const requiredCollateralValue = totalBorrowedValueWithWeight.isGreaterThan(0) ? totalRequiredCollateralValue : (0, import_bignumber5.default)(0);
|
|
4458
4539
|
const unhealthyCollateralValue = totalBorrowedValueWithWeight.minus(requiredCollateralValue).isGreaterThan(0) ? totalBorrowedValueWithWeight.minus(requiredCollateralValue) : (0, import_bignumber5.default)(0);
|
|
4459
4540
|
const obligationAccount = {
|
|
4460
|
-
obligationId,
|
|
4541
|
+
obligationId: typeof obligation === "string" ? obligation : obligation.objectId,
|
|
4461
4542
|
// Deposited collateral value (collateral balance)
|
|
4462
4543
|
totalDepositedValue: totalDepositedValue.toNumber(),
|
|
4463
4544
|
// Borrowed debt value (liabilities balance)
|
|
@@ -4808,21 +4889,29 @@ var queryRequiredSpoolObjects = async (query, stakePoolCoinNames) => {
|
|
|
4808
4889
|
tasks.map((task) => task.sCoinTreasury).filter((t) => !!t)
|
|
4809
4890
|
)
|
|
4810
4891
|
]);
|
|
4811
|
-
const mapObjects = (tasks2, fetchedObjects) => {
|
|
4892
|
+
const mapObjects = (tasks2, fetchedObjects, keyValue) => {
|
|
4812
4893
|
const resultMap = {};
|
|
4813
|
-
|
|
4894
|
+
const fetchedObjectMap = fetchedObjects.reduce(
|
|
4895
|
+
(acc, obj) => {
|
|
4896
|
+
acc[obj.objectId] = obj;
|
|
4897
|
+
return acc;
|
|
4898
|
+
},
|
|
4899
|
+
{}
|
|
4900
|
+
);
|
|
4814
4901
|
for (const task of tasks2) {
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
resultMap[task.poolCoinName] = fetchedObjects[fetchedIndex];
|
|
4818
|
-
fetchedIndex++;
|
|
4902
|
+
if (task[keyValue]) {
|
|
4903
|
+
resultMap[task.poolCoinName] = fetchedObjectMap[task[keyValue]];
|
|
4819
4904
|
}
|
|
4820
4905
|
}
|
|
4821
4906
|
return resultMap;
|
|
4822
4907
|
};
|
|
4823
|
-
const spoolMap = mapObjects(tasks, spoolObjects);
|
|
4824
|
-
const spoolRewardMap = mapObjects(tasks, spoolRewardObjects);
|
|
4825
|
-
const sCoinTreasuryMap = mapObjects(
|
|
4908
|
+
const spoolMap = mapObjects(tasks, spoolObjects, "spool");
|
|
4909
|
+
const spoolRewardMap = mapObjects(tasks, spoolRewardObjects, "spoolReward");
|
|
4910
|
+
const sCoinTreasuryMap = mapObjects(
|
|
4911
|
+
tasks,
|
|
4912
|
+
sCoinTreasuryObjects,
|
|
4913
|
+
"sCoinTreasury"
|
|
4914
|
+
);
|
|
4826
4915
|
return stakePoolCoinNames.reduce(
|
|
4827
4916
|
(acc, name) => {
|
|
4828
4917
|
acc[name] = {
|