@scallop-io/sui-scallop-sdk 1.4.4 → 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 +115 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +115 -30
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +9 -3
- package/dist/models/scallopUtils.d.ts +2 -2
- package/dist/queries/borrowIncentiveQuery.d.ts +2 -0
- package/dist/queries/coreQuery.d.ts +1 -0
- package/dist/queries/poolAddressesQuery.d.ts +1 -1
- package/dist/queries/portfolioQuery.d.ts +1 -0
- 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/queries/coreQuery.ts +51 -17
- package/src/queries/spoolQuery.ts +18 -9
- package/src/utils/query.ts +2 -2
package/dist/index.mjs
CHANGED
|
@@ -24,6 +24,7 @@ var COIN_GECKGO_IDS = {
|
|
|
24
24
|
hasui: "sui",
|
|
25
25
|
vsui: "sui",
|
|
26
26
|
sca: "scallop-2",
|
|
27
|
+
fdusd: "first-digital-usd",
|
|
27
28
|
deep: "deepbook",
|
|
28
29
|
fud: "fud-the-pug"
|
|
29
30
|
};
|
|
@@ -56,7 +57,8 @@ var SUPPORT_POOLS = [
|
|
|
56
57
|
"vsui",
|
|
57
58
|
"sca",
|
|
58
59
|
"fud",
|
|
59
|
-
"deep"
|
|
60
|
+
"deep",
|
|
61
|
+
"fdusd"
|
|
60
62
|
];
|
|
61
63
|
var SUPPORT_COLLATERALS = [
|
|
62
64
|
"usdc",
|
|
@@ -74,7 +76,8 @@ var SUPPORT_COLLATERALS = [
|
|
|
74
76
|
"afsui",
|
|
75
77
|
"hasui",
|
|
76
78
|
"vsui",
|
|
77
|
-
"sca"
|
|
79
|
+
"sca",
|
|
80
|
+
"fdusd"
|
|
78
81
|
];
|
|
79
82
|
var SUPPORT_SPOOLS = [
|
|
80
83
|
"susdc",
|
|
@@ -102,7 +105,8 @@ var SUPPORT_SCOIN = [
|
|
|
102
105
|
"swsol",
|
|
103
106
|
"swbtc",
|
|
104
107
|
"sdeep",
|
|
105
|
-
"sfud"
|
|
108
|
+
"sfud",
|
|
109
|
+
"sfdusd"
|
|
106
110
|
];
|
|
107
111
|
var SUPPORT_SUI_BRIDGE = ["sbeth"];
|
|
108
112
|
var SUPPORT_WORMHOLE = [
|
|
@@ -151,6 +155,7 @@ var coinDecimals = {
|
|
|
151
155
|
hasui: 9,
|
|
152
156
|
vsui: 9,
|
|
153
157
|
sca: 9,
|
|
158
|
+
fdusd: 6,
|
|
154
159
|
deep: 6,
|
|
155
160
|
fud: 5,
|
|
156
161
|
susdc: 6,
|
|
@@ -167,6 +172,7 @@ var coinDecimals = {
|
|
|
167
172
|
shasui: 9,
|
|
168
173
|
svsui: 9,
|
|
169
174
|
ssca: 9,
|
|
175
|
+
sfdusd: 6,
|
|
170
176
|
sdeep: 6,
|
|
171
177
|
sfud: 5
|
|
172
178
|
};
|
|
@@ -185,6 +191,7 @@ var assetCoins = {
|
|
|
185
191
|
hasui: "hasui",
|
|
186
192
|
vsui: "vsui",
|
|
187
193
|
sca: "sca",
|
|
194
|
+
fdusd: "fdusd",
|
|
188
195
|
deep: "deep",
|
|
189
196
|
fud: "fud"
|
|
190
197
|
};
|
|
@@ -203,6 +210,7 @@ var marketCoins = {
|
|
|
203
210
|
shasui: "shasui",
|
|
204
211
|
svsui: "svsui",
|
|
205
212
|
ssca: "ssca",
|
|
213
|
+
sfdusd: "sfdusd",
|
|
206
214
|
sdeep: "sdeep",
|
|
207
215
|
sfud: "sfud"
|
|
208
216
|
};
|
|
@@ -220,6 +228,7 @@ var sCoins = {
|
|
|
220
228
|
ssca: "ssca",
|
|
221
229
|
swsol: "swsol",
|
|
222
230
|
swbtc: "swbtc",
|
|
231
|
+
sfdusd: "sfdusd",
|
|
223
232
|
sfud: "sfud",
|
|
224
233
|
sdeep: "sdeep"
|
|
225
234
|
};
|
|
@@ -263,6 +272,7 @@ var coinIds = {
|
|
|
263
272
|
hasui: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
264
273
|
vsui: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
265
274
|
sca: IS_VE_SCA_TEST ? "0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524" : "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
275
|
+
fdusd: "0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a",
|
|
266
276
|
// isolated assets
|
|
267
277
|
deep: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
268
278
|
fud: "0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1"
|
|
@@ -292,6 +302,7 @@ var sCoinIds = {
|
|
|
292
302
|
svsui: "0xe1a1cc6bcf0001a015eab84bcc6713393ce20535f55b8b6f35c142e057a25fbe::scallop_v_sui::SCALLOP_V_SUI",
|
|
293
303
|
swsol: "0x1392650f2eca9e3f6ffae3ff89e42a3590d7102b80e2b430f674730bc30d3259::scallop_wormhole_sol::SCALLOP_WORMHOLE_SOL",
|
|
294
304
|
swbtc: "0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC",
|
|
305
|
+
sfdusd: "0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD",
|
|
295
306
|
sdeep: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
296
307
|
sfud: "0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD"
|
|
297
308
|
};
|
|
@@ -567,6 +578,21 @@ var POOL_ADDRESSES = {
|
|
|
567
578
|
spoolReward: void 0,
|
|
568
579
|
sCoinTreasury: "0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88",
|
|
569
580
|
coinDecimalId: "0x6e60b051a08fa836f5a7acd7c464c8d9825bc29c44657fe170fe9b8e1e4770c0"
|
|
581
|
+
},
|
|
582
|
+
fdusd: {
|
|
583
|
+
lendingPoolAddress: "0x4f46051a01f05c3ad9aecf29a771aad5c884e1a1888e08d7709085e3a095bc9c",
|
|
584
|
+
collateralPoolAddress: "0x4f6647a9afcfdb62bb9b27e4d1cb7bd7130aca1b4f13fa7164453c869c1681ae",
|
|
585
|
+
borrowDynamic: "0x4ddcf19b6290a8b048ecb314b14ef7f52c1c5b9ddc9259a2a242cd91d681a085",
|
|
586
|
+
interestModel: "0xb57a33706b29d2d253c74c1c0869e6e20da99036338d2b0b7235ab41621ee9dd",
|
|
587
|
+
riskModel: "0xd65fb21758dc1e6184940a1a27efb13228d7cf5e19f6dcca06cc2d996af4a6b9",
|
|
588
|
+
borrowFeeKey: "0xafe673a27747b063fa918d2dfe47794e44af553737ac562c2a63186539a07f45",
|
|
589
|
+
supplyLimitKey: "0x730e0785ba056a7a95f4a6959371a598d7fe782e81c40785c79982ced4cf4e35",
|
|
590
|
+
borrowLimitKey: "0x1630c6954918a06fe56312afb8958366c5ed7af653dae0e32c09d088da38577e",
|
|
591
|
+
isolatedAssetKey: void 0,
|
|
592
|
+
spool: void 0,
|
|
593
|
+
spoolReward: void 0,
|
|
594
|
+
sCoinTreasury: "0xdad9bc6293e694f67a5274ea51b596e0bdabfafc585ae6d7e82888e65f1a03e0",
|
|
595
|
+
coinDecimalId: "0xdebee5265a67c186ed87fe93303d33dfe1de53e3b4fd7d9329c2852860acd3e7"
|
|
570
596
|
}
|
|
571
597
|
};
|
|
572
598
|
|
|
@@ -590,6 +616,7 @@ var PYTH_FEED_IDS = {
|
|
|
590
616
|
hasui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
591
617
|
vsui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
592
618
|
sca: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
619
|
+
fdusd: "0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979",
|
|
593
620
|
deep: "29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",
|
|
594
621
|
fud: "6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75"
|
|
595
622
|
};
|
|
@@ -899,6 +926,19 @@ var TEST_ADDRESSES = {
|
|
|
899
926
|
}
|
|
900
927
|
}
|
|
901
928
|
},
|
|
929
|
+
fdusd: {
|
|
930
|
+
id: "0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a",
|
|
931
|
+
metaData: "0xdebee5265a67c186ed87fe93303d33dfe1de53e3b4fd7d9329c2852860acd3e7",
|
|
932
|
+
treasury: "",
|
|
933
|
+
oracle: {
|
|
934
|
+
supra: "",
|
|
935
|
+
switchboard: "",
|
|
936
|
+
pyth: {
|
|
937
|
+
feed: "0xccdc1a08923e2e4f4b1e6ea89de6acbc5fe1948e9706f5604b8cb50bc1ed3979",
|
|
938
|
+
feedObject: "0x5f6583b2b0fe1ecf94aaffeaab8a838794693960cea48c0da282d5f4a24be027"
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
},
|
|
902
942
|
deep: {
|
|
903
943
|
id: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
904
944
|
metaData: "0x6e60b051a08fa836f5a7acd7c464c8d9825bc29c44657fe170fe9b8e1e4770c0",
|
|
@@ -1144,6 +1184,10 @@ var TEST_ADDRESSES = {
|
|
|
1144
1184
|
coinType: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
1145
1185
|
treasury: "0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed"
|
|
1146
1186
|
},
|
|
1187
|
+
sfdusd: {
|
|
1188
|
+
coinType: "0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD",
|
|
1189
|
+
treasury: "0xdad9bc6293e694f67a5274ea51b596e0bdabfafc585ae6d7e82888e65f1a03e0"
|
|
1190
|
+
},
|
|
1147
1191
|
sdeep: {
|
|
1148
1192
|
coinType: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
1149
1193
|
treasury: "0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88"
|
|
@@ -1382,8 +1426,8 @@ var calculateMarketPoolData = (utils, parsedMarketPoolData) => {
|
|
|
1382
1426
|
supplyApy: utils.parseAprToApy(supplyApr.toNumber()),
|
|
1383
1427
|
conversionRate: conversionRate.toNumber(),
|
|
1384
1428
|
isIsolated: parsedMarketPoolData.isIsolated,
|
|
1385
|
-
maxSupplyCoin: BigNumber(parsedMarketPoolData.supplyLimit).shiftedBy(coinDecimal).toNumber(),
|
|
1386
|
-
maxBorrowCoin: BigNumber(parsedMarketPoolData.borrowLimit).shiftedBy(coinDecimal).toNumber()
|
|
1429
|
+
maxSupplyCoin: BigNumber(parsedMarketPoolData.supplyLimit).shiftedBy(-coinDecimal).toNumber(),
|
|
1430
|
+
maxBorrowCoin: BigNumber(parsedMarketPoolData.borrowLimit).shiftedBy(-coinDecimal).toNumber()
|
|
1387
1431
|
};
|
|
1388
1432
|
};
|
|
1389
1433
|
var parseOriginMarketCollateralData = (originMarketCollateralData) => {
|
|
@@ -3368,28 +3412,60 @@ var queryRequiredMarketObjects = async (query, poolCoinNames) => {
|
|
|
3368
3412
|
tasks.map((task) => task.isolatedAssetKey).filter((t) => !!t)
|
|
3369
3413
|
)
|
|
3370
3414
|
]);
|
|
3371
|
-
const mapObjects = (tasks2, fetchedObjects) => {
|
|
3415
|
+
const mapObjects = (tasks2, fetchedObjects, keyValue) => {
|
|
3372
3416
|
const resultMap = {};
|
|
3373
|
-
|
|
3417
|
+
const fetchedObjectMap = fetchedObjects.reduce(
|
|
3418
|
+
(acc, obj) => {
|
|
3419
|
+
acc[obj.objectId] = obj;
|
|
3420
|
+
return acc;
|
|
3421
|
+
},
|
|
3422
|
+
{}
|
|
3423
|
+
);
|
|
3374
3424
|
for (const task of tasks2) {
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
resultMap[task.poolCoinName] = fetchedObjects[fetchedIndex];
|
|
3378
|
-
fetchedIndex++;
|
|
3425
|
+
if (task[keyValue]) {
|
|
3426
|
+
resultMap[task.poolCoinName] = fetchedObjectMap[task[keyValue]];
|
|
3379
3427
|
}
|
|
3380
3428
|
}
|
|
3381
3429
|
return resultMap;
|
|
3382
3430
|
};
|
|
3383
|
-
const balanceSheetMap = mapObjects(
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
const
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3431
|
+
const balanceSheetMap = mapObjects(
|
|
3432
|
+
tasks,
|
|
3433
|
+
balanceSheetObjects,
|
|
3434
|
+
"balanceSheet"
|
|
3435
|
+
);
|
|
3436
|
+
const collateralStatMap = mapObjects(
|
|
3437
|
+
tasks,
|
|
3438
|
+
collateralStatObjects,
|
|
3439
|
+
"collateralStat"
|
|
3440
|
+
);
|
|
3441
|
+
const borrowDynamicMap = mapObjects(
|
|
3442
|
+
tasks,
|
|
3443
|
+
borrowDynamicObjects,
|
|
3444
|
+
"borrowDynamic"
|
|
3445
|
+
);
|
|
3446
|
+
const interestModelMap = mapObjects(
|
|
3447
|
+
tasks,
|
|
3448
|
+
interestModelObjects,
|
|
3449
|
+
"interestModel"
|
|
3450
|
+
);
|
|
3451
|
+
const riskModelMap = mapObjects(tasks, riskModelObjects, "riskModel");
|
|
3452
|
+
const borrowFeeMap = mapObjects(tasks, borrowFeeObjects, "borrowFeeKey");
|
|
3453
|
+
const supplyLimitMap = mapObjects(
|
|
3454
|
+
tasks,
|
|
3455
|
+
supplyLimitObjects,
|
|
3456
|
+
"supplyLimitKey"
|
|
3457
|
+
);
|
|
3458
|
+
const borrowLimitMap = mapObjects(
|
|
3459
|
+
tasks,
|
|
3460
|
+
borrowLimitObjects,
|
|
3461
|
+
"borrowLimitKey"
|
|
3462
|
+
);
|
|
3463
|
+
const isolatedAssetMap = mapObjects(
|
|
3464
|
+
tasks,
|
|
3465
|
+
isolatedAssetObjects,
|
|
3466
|
+
"isolatedAssetKey"
|
|
3467
|
+
);
|
|
3468
|
+
const result = poolCoinNames.reduce(
|
|
3393
3469
|
(acc, name) => {
|
|
3394
3470
|
acc[name] = {
|
|
3395
3471
|
balanceSheet: balanceSheetMap[name],
|
|
@@ -3406,6 +3482,7 @@ var queryRequiredMarketObjects = async (query, poolCoinNames) => {
|
|
|
3406
3482
|
},
|
|
3407
3483
|
{}
|
|
3408
3484
|
);
|
|
3485
|
+
return result;
|
|
3409
3486
|
};
|
|
3410
3487
|
var getMarketPools = async (query, poolCoinNames, indexer = false, coinPrices) => {
|
|
3411
3488
|
coinPrices = coinPrices ?? await query.utils.getCoinPrices();
|
|
@@ -4722,21 +4799,29 @@ var queryRequiredSpoolObjects = async (query, stakePoolCoinNames) => {
|
|
|
4722
4799
|
tasks.map((task) => task.sCoinTreasury).filter((t) => !!t)
|
|
4723
4800
|
)
|
|
4724
4801
|
]);
|
|
4725
|
-
const mapObjects = (tasks2, fetchedObjects) => {
|
|
4802
|
+
const mapObjects = (tasks2, fetchedObjects, keyValue) => {
|
|
4726
4803
|
const resultMap = {};
|
|
4727
|
-
|
|
4804
|
+
const fetchedObjectMap = fetchedObjects.reduce(
|
|
4805
|
+
(acc, obj) => {
|
|
4806
|
+
acc[obj.objectId] = obj;
|
|
4807
|
+
return acc;
|
|
4808
|
+
},
|
|
4809
|
+
{}
|
|
4810
|
+
);
|
|
4728
4811
|
for (const task of tasks2) {
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
resultMap[task.poolCoinName] = fetchedObjects[fetchedIndex];
|
|
4732
|
-
fetchedIndex++;
|
|
4812
|
+
if (task[keyValue]) {
|
|
4813
|
+
resultMap[task.poolCoinName] = fetchedObjectMap[task[keyValue]];
|
|
4733
4814
|
}
|
|
4734
4815
|
}
|
|
4735
4816
|
return resultMap;
|
|
4736
4817
|
};
|
|
4737
|
-
const spoolMap = mapObjects(tasks, spoolObjects);
|
|
4738
|
-
const spoolRewardMap = mapObjects(tasks, spoolRewardObjects);
|
|
4739
|
-
const sCoinTreasuryMap = mapObjects(
|
|
4818
|
+
const spoolMap = mapObjects(tasks, spoolObjects, "spool");
|
|
4819
|
+
const spoolRewardMap = mapObjects(tasks, spoolRewardObjects, "spoolReward");
|
|
4820
|
+
const sCoinTreasuryMap = mapObjects(
|
|
4821
|
+
tasks,
|
|
4822
|
+
sCoinTreasuryObjects,
|
|
4823
|
+
"sCoinTreasury"
|
|
4824
|
+
);
|
|
4740
4825
|
return stakePoolCoinNames.reduce(
|
|
4741
4826
|
(acc, name) => {
|
|
4742
4827
|
acc[name] = {
|