@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.
- package/dist/constants/common.d.ts +2 -2
- package/dist/constants/enum.d.ts +2 -1
- package/dist/index.js +104 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +103 -17
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +15 -0
- package/dist/models/scallopUtils.d.ts +3 -0
- package/dist/queries/coreQuery.d.ts +12 -0
- package/dist/queries/portfolioQuery.d.ts +3 -0
- package/dist/types/address.d.ts +2 -2
- package/dist/types/constant/enum.d.ts +3 -0
- package/dist/utils/util.d.ts +2 -1
- package/package.json +12 -12
- package/src/constants/common.ts +6 -0
- package/src/constants/enum.ts +20 -0
- package/src/models/scallopAddress.ts +39 -0
- package/src/models/scallopUtils.ts +32 -10
- package/src/types/address.ts +2 -2
- package/src/types/constant/enum.ts +4 -0
- package/src/utils/util.ts +24 -8
|
@@ -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"];
|
package/dist/constants/enum.d.ts
CHANGED
|
@@ -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
|
-
|
|
2559
|
+
const assetCoinName = coinName.slice(1).toLowerCase();
|
|
2560
|
+
return coinName.slice(0, 1).toLowerCase() + parseAssetSymbol(assetCoinName);
|
|
2484
2561
|
} else {
|
|
2485
|
-
return coinName
|
|
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`)
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
2756
|
+
const coinName = lackPricesCoinNames[index];
|
|
2757
|
+
this._priceMap.set(coinName, {
|
|
2672
2758
|
price: data.price,
|
|
2673
2759
|
publishTime: data.publishTime
|
|
2674
2760
|
});
|
|
2675
|
-
coinPrices[
|
|
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
|