@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.
@@ -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"];
@@ -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
- let fetchedIndex = 0;
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
- const key = task[Object.keys(task)[1]];
3466
- if (key) {
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(tasks, balanceSheetObjects);
3474
- const collateralStatMap = mapObjects(tasks, collateralStatObjects);
3475
- const borrowDynamicMap = mapObjects(tasks, borrowDynamicObjects);
3476
- const interestModelMap = mapObjects(tasks, interestModelObjects);
3477
- const riskModelMap = mapObjects(tasks, riskModelObjects);
3478
- const borrowFeeMap = mapObjects(tasks, borrowFeeObjects);
3479
- const supplyLimitMap = mapObjects(tasks, supplyLimitObjects);
3480
- const borrowLimitMap = mapObjects(tasks, borrowLimitObjects);
3481
- const isolatedAssetMap = mapObjects(tasks, isolatedAssetObjects);
3482
- return poolCoinNames.reduce(
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();
@@ -4812,21 +4889,29 @@ var queryRequiredSpoolObjects = async (query, stakePoolCoinNames) => {
4812
4889
  tasks.map((task) => task.sCoinTreasury).filter((t) => !!t)
4813
4890
  )
4814
4891
  ]);
4815
- const mapObjects = (tasks2, fetchedObjects) => {
4892
+ const mapObjects = (tasks2, fetchedObjects, keyValue) => {
4816
4893
  const resultMap = {};
4817
- let fetchedIndex = 0;
4894
+ const fetchedObjectMap = fetchedObjects.reduce(
4895
+ (acc, obj) => {
4896
+ acc[obj.objectId] = obj;
4897
+ return acc;
4898
+ },
4899
+ {}
4900
+ );
4818
4901
  for (const task of tasks2) {
4819
- const key = task[Object.keys(task)[1]];
4820
- if (key) {
4821
- resultMap[task.poolCoinName] = fetchedObjects[fetchedIndex];
4822
- fetchedIndex++;
4902
+ if (task[keyValue]) {
4903
+ resultMap[task.poolCoinName] = fetchedObjectMap[task[keyValue]];
4823
4904
  }
4824
4905
  }
4825
4906
  return resultMap;
4826
4907
  };
4827
- const spoolMap = mapObjects(tasks, spoolObjects);
4828
- const spoolRewardMap = mapObjects(tasks, spoolRewardObjects);
4829
- const sCoinTreasuryMap = mapObjects(tasks, sCoinTreasuryObjects);
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
+ );
4830
4915
  return stakePoolCoinNames.reduce(
4831
4916
  (acc, name) => {
4832
4917
  acc[name] = {