@scallop-io/sui-scallop-sdk 0.44.0 → 0.44.2

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.
@@ -1,8 +1,8 @@
1
1
  export declare const API_BASE_URL = "https://sui.api.scallop.io";
2
2
  export declare const ADDRESSES_ID = "6462a088a7ace142bb6d7e9b";
3
3
  export declare const PROTOCOL_OBJECT_ID = "0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf";
4
- export declare const SUPPORT_POOLS: readonly ["eth", "btc", "usdc", "usdt", "sui", "apt", "sol", "cetus"];
5
- export declare const SUPPORT_COLLATERALS: readonly ["eth", "btc", "usdc", "usdt", "sui", "apt", "sol", "cetus"];
4
+ export declare const SUPPORT_POOLS: readonly ["eth", "btc", "usdc", "usdt", "sui", "apt", "sol", "cetus", "afsui", "hasui", "vsui"];
5
+ export declare const SUPPORT_COLLATERALS: readonly ["eth", "btc", "usdc", "usdt", "sui", "apt", "sol", "cetus", "afsui", "hasui", "vsui"];
6
6
  export declare const SUPPORT_SPOOLS: readonly ["ssui", "susdc", "susdt"];
7
7
  export declare const SUPPORT_REWARD_POOLS: readonly ["sui"];
8
8
  export declare const SUPPORT_ORACLES: readonly ["supra", "switchboard", "pyth"];
@@ -1,4 +1,4 @@
1
- import type { SupportCoinDecimals, AssetCoins, MarketCoins, StakeMarketCoins, RewardCoins, AssetCoinIds, WormholeCoinIds } from '../types';
1
+ import type { SupportCoinDecimals, AssetCoins, MarketCoins, StakeMarketCoins, RewardCoins, AssetCoinIds, WormholeCoinIds, VoloCoinIds } from '../types';
2
2
  export declare const coinDecimals: SupportCoinDecimals;
3
3
  export declare const assetCoins: AssetCoins;
4
4
  export declare const marketCoins: MarketCoins;
@@ -6,3 +6,4 @@ export declare const stakeMarketCoins: StakeMarketCoins;
6
6
  export declare const rewardCoins: RewardCoins;
7
7
  export declare const coinIds: AssetCoinIds;
8
8
  export declare const wormholeCoinIds: WormholeCoinIds;
9
+ export declare const voloCoinIds: VoloCoinIds;
package/dist/index.js CHANGED
@@ -51,6 +51,7 @@ __export(src_exports, {
51
51
  marketCoins: () => marketCoins,
52
52
  rewardCoins: () => rewardCoins,
53
53
  stakeMarketCoins: () => stakeMarketCoins,
54
+ voloCoinIds: () => voloCoinIds,
54
55
  wormholeCoinIds: () => wormholeCoinIds
55
56
  });
56
57
  module.exports = __toCommonJS(src_exports);
@@ -67,7 +68,10 @@ var SUPPORT_POOLS = [
67
68
  "sui",
68
69
  "apt",
69
70
  "sol",
70
- "cetus"
71
+ "cetus",
72
+ "afsui",
73
+ "hasui",
74
+ "vsui"
71
75
  ];
72
76
  var SUPPORT_COLLATERALS = [
73
77
  "eth",
@@ -77,7 +81,10 @@ var SUPPORT_COLLATERALS = [
77
81
  "sui",
78
82
  "apt",
79
83
  "sol",
80
- "cetus"
84
+ "cetus",
85
+ "afsui",
86
+ "hasui",
87
+ "vsui"
81
88
  ];
82
89
  var SUPPORT_SPOOLS = ["ssui", "susdc", "susdt"];
83
90
  var SUPPORT_REWARD_POOLS = ["sui"];
@@ -107,6 +114,9 @@ var coinDecimals = {
107
114
  apt: 8,
108
115
  sol: 8,
109
116
  cetus: 9,
117
+ afsui: 9,
118
+ hasui: 9,
119
+ vsui: 9,
110
120
  seth: 8,
111
121
  sbtc: 8,
112
122
  susdc: 6,
@@ -114,7 +124,10 @@ var coinDecimals = {
114
124
  ssui: 9,
115
125
  sapt: 8,
116
126
  ssol: 8,
117
- scetus: 9
127
+ scetus: 9,
128
+ safsui: 9,
129
+ shasui: 9,
130
+ svsui: 9
118
131
  };
119
132
  var assetCoins = {
120
133
  eth: "eth",
@@ -124,7 +137,10 @@ var assetCoins = {
124
137
  sui: "sui",
125
138
  apt: "apt",
126
139
  sol: "sol",
127
- cetus: "cetus"
140
+ cetus: "cetus",
141
+ afsui: "afsui",
142
+ hasui: "hasui",
143
+ vsui: "vsui"
128
144
  };
129
145
  var marketCoins = {
130
146
  seth: "seth",
@@ -134,7 +150,10 @@ var marketCoins = {
134
150
  ssui: "ssui",
135
151
  sapt: "sapt",
136
152
  ssol: "ssol",
137
- scetus: "scetus"
153
+ scetus: "scetus",
154
+ safsui: "safsui",
155
+ shasui: "shasui",
156
+ svsui: "svsui"
138
157
  };
139
158
  var stakeMarketCoins = {
140
159
  ssui: "ssui",
@@ -154,7 +173,10 @@ var coinIds = {
154
173
  usdt: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c",
155
174
  apt: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
156
175
  sol: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8",
157
- cetus: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b"
176
+ cetus: "0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b",
177
+ afsui: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
178
+ hasui: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
179
+ vsui: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55"
158
180
  };
159
181
  var wormholeCoinIds = {
160
182
  eth: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
@@ -164,6 +186,9 @@ var wormholeCoinIds = {
164
186
  apt: "0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37",
165
187
  sol: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8"
166
188
  };
189
+ var voloCoinIds = {
190
+ vsui: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55"
191
+ };
167
192
 
168
193
  // src/models/scallop.ts
169
194
  var import_sui_kit8 = require("@scallop-io/sui-kit");
@@ -242,6 +267,45 @@ var EMPTY_ADDRESSES = {
242
267
  feedObject: ""
243
268
  }
244
269
  }
270
+ },
271
+ afsui: {
272
+ id: "",
273
+ metaData: "",
274
+ treasury: "",
275
+ oracle: {
276
+ supra: "",
277
+ switchboard: "",
278
+ pyth: {
279
+ feed: "",
280
+ feedObject: ""
281
+ }
282
+ }
283
+ },
284
+ hasui: {
285
+ id: "",
286
+ metaData: "",
287
+ treasury: "",
288
+ oracle: {
289
+ supra: "",
290
+ switchboard: "",
291
+ pyth: {
292
+ feed: "",
293
+ feedObject: ""
294
+ }
295
+ }
296
+ },
297
+ vsui: {
298
+ id: "",
299
+ metaData: "",
300
+ treasury: "",
301
+ oracle: {
302
+ supra: "",
303
+ switchboard: "",
304
+ pyth: {
305
+ feed: "",
306
+ feedObject: ""
307
+ }
308
+ }
245
309
  }
246
310
  },
247
311
  oracles: {
@@ -898,8 +962,8 @@ var minBigNumber = (...args) => {
898
962
 
899
963
  // src/utils/util.ts
900
964
  var isMarketCoin = (coinName) => {
901
- const assetCoinName = coinName.slice(1);
902
- return [
965
+ const assetCoinName = coinName.slice(1).toLowerCase();
966
+ return coinName.charAt(0).toLowerCase() === "s" && [
903
967
  .../* @__PURE__ */ new Set([
904
968
  ...SUPPORT_POOLS,
905
969
  ...SUPPORT_COLLATERALS,
@@ -907,6 +971,18 @@ var isMarketCoin = (coinName) => {
907
971
  ])
908
972
  ].includes(assetCoinName);
909
973
  };
974
+ var parseAssetSymbol = (coinName) => {
975
+ switch (coinName) {
976
+ case "afsui":
977
+ return "afSUI";
978
+ case "hasui":
979
+ return "haSUI";
980
+ case "vsui":
981
+ return "vSUI";
982
+ default:
983
+ return coinName.toUpperCase();
984
+ }
985
+ };
910
986
 
911
987
  // src/queries/coreQuery.ts
912
988
  var queryMarket = async (query) => {
@@ -2480,9 +2556,10 @@ var ScallopUtils = class {
2480
2556
  */
2481
2557
  parseSymbol(coinName) {
2482
2558
  if (isMarketCoin(coinName)) {
2483
- return coinName.slice(0, 1) + coinName.slice(1).toUpperCase();
2559
+ const assetCoinName = coinName.slice(1).toLowerCase();
2560
+ return coinName.slice(0, 1).toLowerCase() + parseAssetSymbol(assetCoinName);
2484
2561
  } else {
2485
- return coinName.toUpperCase();
2562
+ return parseAssetSymbol(coinName);
2486
2563
  }
2487
2564
  }
2488
2565
  /**
@@ -2498,13 +2575,13 @@ var ScallopUtils = class {
2498
2575
  */
2499
2576
  parseCoinType(coinName) {
2500
2577
  coinName = isMarketCoin(coinName) ? this.parseCoinName(coinName) : coinName;
2501
- const coinPackageId = this._address.get(`core.coins.${coinName}.id`) ?? coinIds[coinName] ?? void 0;
2578
+ const coinPackageId = this._address.get(`core.coins.${coinName}.id`) || coinIds[coinName] || void 0;
2502
2579
  if (!coinPackageId) {
2503
2580
  throw Error(`Coin ${coinName} is not supported`);
2504
2581
  }
2505
2582
  if (coinName === "sui")
2506
2583
  return (0, import_utils5.normalizeStructTag)(`${coinPackageId}::sui::SUI`);
2507
- const wormHoleCoinIds = [
2584
+ const wormHolePckageIds = [
2508
2585
  this._address.get("core.coins.usdc.id") ?? wormholeCoinIds.usdc,
2509
2586
  this._address.get("core.coins.usdt.id") ?? wormholeCoinIds.usdt,
2510
2587
  this._address.get("core.coins.eth.id") ?? wormholeCoinIds.eth,
@@ -2512,8 +2589,13 @@ var ScallopUtils = class {
2512
2589
  this._address.get("core.coins.sol.id") ?? wormholeCoinIds.sol,
2513
2590
  this._address.get("core.coins.apt.id") ?? wormholeCoinIds.apt
2514
2591
  ];
2515
- if (wormHoleCoinIds.includes(coinPackageId)) {
2592
+ const voloPckageIds = [
2593
+ this._address.get("core.coins.vsui.id") ?? voloCoinIds.vsui
2594
+ ];
2595
+ if (wormHolePckageIds.includes(coinPackageId)) {
2516
2596
  return `${coinPackageId}::coin::COIN`;
2597
+ } else if (voloPckageIds.includes(coinPackageId)) {
2598
+ return `${coinPackageId}::cert::CERT`;
2517
2599
  } else {
2518
2600
  return `${coinPackageId}::${coinName}::${coinName.toUpperCase()}`;
2519
2601
  }
@@ -2543,7 +2625,10 @@ var ScallopUtils = class {
2543
2625
  [`${this._address.get("core.coins.sol.id") ?? wormholeCoinIds.sol}::coin::COIN`]: "sol",
2544
2626
  [`${this._address.get("core.coins.apt.id") ?? wormholeCoinIds.apt}::coin::COIN`]: "apt"
2545
2627
  };
2546
- const assetCoinName = wormHoleCoinTypeMap[coinType] || coinType.split("::")[2].toLowerCase();
2628
+ const voloCoinTypeMap = {
2629
+ [`${this._address.get("core.coins.vsui.id") ?? voloCoinIds.vsui}::cert::CERT`]: "vsui"
2630
+ };
2631
+ const assetCoinName = wormHoleCoinTypeMap[coinType] || voloCoinTypeMap[coinType] || coinType.split("::")[2].toLowerCase();
2547
2632
  return isMarketCoinType ? this.parseMarketCoinName(assetCoinName) : assetCoinName;
2548
2633
  }
2549
2634
  /**
@@ -2666,13 +2751,14 @@ var ScallopUtils = class {
2666
2751
  );
2667
2752
  try {
2668
2753
  const priceFeeds = await pythConnection.getLatestPriceFeeds(priceIds) || [];
2669
- for (const feed of priceFeeds) {
2754
+ for (const [index, feed] of priceFeeds.entries()) {
2670
2755
  const data = parseDataFromPythPriceFeed(feed, this._address);
2671
- this._priceMap.set(data.coinName, {
2756
+ const coinName = lackPricesCoinNames[index];
2757
+ this._priceMap.set(coinName, {
2672
2758
  price: data.price,
2673
2759
  publishTime: data.publishTime
2674
2760
  });
2675
- coinPrices[data.coinName] = data.price;
2761
+ coinPrices[coinName] = data.price;
2676
2762
  }
2677
2763
  } catch (_e) {
2678
2764
  for (const coinName of lackPricesCoinNames) {
@@ -4008,6 +4094,7 @@ var Scallop = class {
4008
4094
  marketCoins,
4009
4095
  rewardCoins,
4010
4096
  stakeMarketCoins,
4097
+ voloCoinIds,
4011
4098
  wormholeCoinIds
4012
4099
  });
4013
4100
  //# sourceMappingURL=index.js.map