@scallop-io/sui-scallop-sdk 0.46.60 → 0.46.61
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/index.js +66 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -11
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +10 -0
- package/dist/queries/supplyLimit.d.ts +9 -0
- package/dist/types/query/core.d.ts +1 -0
- package/package.json +1 -1
- package/src/models/scallopQuery.ts +18 -0
- package/src/queries/coreQuery.ts +8 -0
- package/src/queries/supplyLimit.ts +48 -0
- package/src/types/query/core.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -2266,6 +2266,43 @@ var import_pyth_sui_js = require("@pythnetwork/pyth-sui-js");
|
|
|
2266
2266
|
// src/queries/coreQuery.ts
|
|
2267
2267
|
var import_utils3 = require("@mysten/sui.js/utils");
|
|
2268
2268
|
var import_bignumber2 = __toESM(require("bignumber.js"));
|
|
2269
|
+
|
|
2270
|
+
// src/queries/supplyLimit.ts
|
|
2271
|
+
var import_zod = require("zod");
|
|
2272
|
+
var supplyLimitZod = import_zod.z.object({
|
|
2273
|
+
dataType: import_zod.z.string(),
|
|
2274
|
+
type: import_zod.z.string(),
|
|
2275
|
+
hasPublicTransfer: import_zod.z.boolean(),
|
|
2276
|
+
fields: import_zod.z.object({
|
|
2277
|
+
id: import_zod.z.object({
|
|
2278
|
+
id: import_zod.z.string()
|
|
2279
|
+
}),
|
|
2280
|
+
name: import_zod.z.object({
|
|
2281
|
+
type: import_zod.z.string()
|
|
2282
|
+
}),
|
|
2283
|
+
value: import_zod.z.string()
|
|
2284
|
+
})
|
|
2285
|
+
});
|
|
2286
|
+
var SUPPLY_LIMIT_TYPE = "0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::SupplyLimitKey";
|
|
2287
|
+
var getSupplyLimit = async (utils, poolName) => {
|
|
2288
|
+
const poolCoinType = utils.parseCoinType(poolName).slice(2);
|
|
2289
|
+
const marketObject = utils.address.get("core.market");
|
|
2290
|
+
if (!marketObject)
|
|
2291
|
+
return null;
|
|
2292
|
+
const object = await utils.cache.queryGetDynamicFieldObject({
|
|
2293
|
+
parentId: marketObject,
|
|
2294
|
+
name: {
|
|
2295
|
+
type: SUPPLY_LIMIT_TYPE,
|
|
2296
|
+
value: poolCoinType
|
|
2297
|
+
}
|
|
2298
|
+
});
|
|
2299
|
+
const parsedData = supplyLimitZod.safeParse(object?.data?.content);
|
|
2300
|
+
if (!parsedData.success)
|
|
2301
|
+
return null;
|
|
2302
|
+
return parsedData.data.fields.value;
|
|
2303
|
+
};
|
|
2304
|
+
|
|
2305
|
+
// src/queries/coreQuery.ts
|
|
2269
2306
|
var queryMarket = async (query, indexer = false) => {
|
|
2270
2307
|
const coinPrices = await query.utils.getCoinPrices();
|
|
2271
2308
|
const pools = {};
|
|
@@ -2325,6 +2362,7 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2325
2362
|
query.utils,
|
|
2326
2363
|
parsedMarketPoolData
|
|
2327
2364
|
);
|
|
2365
|
+
const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
|
|
2328
2366
|
pools[poolCoinName] = {
|
|
2329
2367
|
coinName: poolCoinName,
|
|
2330
2368
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
@@ -2343,6 +2381,7 @@ var queryMarket = async (query, indexer = false) => {
|
|
|
2343
2381
|
borrowFee: parsedMarketPoolData.borrowFee,
|
|
2344
2382
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2345
2383
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2384
|
+
supplyLimit,
|
|
2346
2385
|
...calculatedMarketPoolData
|
|
2347
2386
|
};
|
|
2348
2387
|
}
|
|
@@ -2546,6 +2585,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2546
2585
|
query.utils,
|
|
2547
2586
|
parsedMarketPoolData
|
|
2548
2587
|
);
|
|
2588
|
+
const supplyLimit = await getSupplyLimit(query.utils, poolCoinName) ?? "0";
|
|
2549
2589
|
marketPool = {
|
|
2550
2590
|
coinName: poolCoinName,
|
|
2551
2591
|
symbol: query.utils.parseSymbol(poolCoinName),
|
|
@@ -2564,6 +2604,7 @@ var getMarketPool = async (query, poolCoinName, indexer = false, marketObject, c
|
|
|
2564
2604
|
borrowFee: parsedMarketPoolData.borrowFee,
|
|
2565
2605
|
marketCoinSupplyAmount: parsedMarketPoolData.marketCoinSupplyAmount,
|
|
2566
2606
|
minBorrowAmount: parsedMarketPoolData.minBorrowAmount,
|
|
2607
|
+
supplyLimit,
|
|
2567
2608
|
...calculatedMarketPoolData
|
|
2568
2609
|
};
|
|
2569
2610
|
}
|
|
@@ -4038,7 +4079,7 @@ var getTotalValueLocked = async (query, indexer = false) => {
|
|
|
4038
4079
|
var import_bignumber5 = __toESM(require("bignumber.js"));
|
|
4039
4080
|
var import_sui_kit3 = require("@scallop-io/sui-kit");
|
|
4040
4081
|
var import_bcs = require("@mysten/sui.js/bcs");
|
|
4041
|
-
var
|
|
4082
|
+
var import_zod2 = require("zod");
|
|
4042
4083
|
var getVescaKeys = async (utils, ownerAddress) => {
|
|
4043
4084
|
const owner = ownerAddress || utils.suiKit.currentAddress();
|
|
4044
4085
|
const veScaObjId = utils.address.get("vesca.object");
|
|
@@ -4082,10 +4123,10 @@ var getVeScas = async ({
|
|
|
4082
4123
|
await Promise.allSettled(tasks);
|
|
4083
4124
|
return veScas.filter(Boolean).sort((a, b) => b.currentVeScaBalance - a.currentVeScaBalance);
|
|
4084
4125
|
};
|
|
4085
|
-
var SuiObjectRefZod =
|
|
4086
|
-
objectId:
|
|
4087
|
-
digest:
|
|
4088
|
-
version:
|
|
4126
|
+
var SuiObjectRefZod = import_zod2.z.object({
|
|
4127
|
+
objectId: import_zod2.z.string(),
|
|
4128
|
+
digest: import_zod2.z.string(),
|
|
4129
|
+
version: import_zod2.z.string()
|
|
4089
4130
|
});
|
|
4090
4131
|
var getVeSca = async (utils, veScaKey, ownerAddress) => {
|
|
4091
4132
|
const tableId = utils.address.get(`vesca.tableId`);
|
|
@@ -4218,16 +4259,16 @@ var queryVeScaKeyIdFromReferralBindings = async (address, refereeAddress) => {
|
|
|
4218
4259
|
|
|
4219
4260
|
// src/queries/loyaltyProgramQuery.ts
|
|
4220
4261
|
var import_bignumber6 = __toESM(require("bignumber.js"));
|
|
4221
|
-
var
|
|
4222
|
-
var rewardPoolFieldsZod =
|
|
4223
|
-
balance:
|
|
4224
|
-
enable_claim:
|
|
4262
|
+
var import_zod3 = require("zod");
|
|
4263
|
+
var rewardPoolFieldsZod = import_zod3.z.object({
|
|
4264
|
+
balance: import_zod3.z.string(),
|
|
4265
|
+
enable_claim: import_zod3.z.boolean()
|
|
4225
4266
|
}).transform((value) => ({
|
|
4226
4267
|
totalPoolReward: (0, import_bignumber6.default)(value.balance).shiftedBy(-9).toNumber(),
|
|
4227
4268
|
isClaimEnabled: value.enable_claim
|
|
4228
4269
|
}));
|
|
4229
|
-
var userRewardFieldsZod =
|
|
4230
|
-
value:
|
|
4270
|
+
var userRewardFieldsZod = import_zod3.z.object({
|
|
4271
|
+
value: import_zod3.z.string()
|
|
4231
4272
|
}).transform((value) => (0, import_bignumber6.default)(value.value).shiftedBy(-9).toNumber());
|
|
4232
4273
|
var getLoyaltyProgramInformations = async (query, veScaKey) => {
|
|
4233
4274
|
const rewardPool = query.address.get("loyaltyProgram.rewardPool");
|
|
@@ -6958,6 +6999,14 @@ var ScallopQuery = class {
|
|
|
6958
6999
|
async getTvl(indexer = false) {
|
|
6959
7000
|
return await getTotalValueLocked(this, indexer);
|
|
6960
7001
|
}
|
|
7002
|
+
/**
|
|
7003
|
+
* Get veSca data.
|
|
7004
|
+
* @param veScaKey
|
|
7005
|
+
* @returns veSca
|
|
7006
|
+
*/
|
|
7007
|
+
async getVeSca(veScaKey) {
|
|
7008
|
+
return await getVeSca(this.utils, veScaKey);
|
|
7009
|
+
}
|
|
6961
7010
|
/**
|
|
6962
7011
|
* Get all veSca from walletAdddress
|
|
6963
7012
|
* @param walletAddress
|
|
@@ -7051,6 +7100,12 @@ var ScallopQuery = class {
|
|
|
7051
7100
|
async getFlashLoanFees(assetCoinNames = [...SUPPORT_POOLS]) {
|
|
7052
7101
|
return await getFlashLoanFees(this, assetCoinNames);
|
|
7053
7102
|
}
|
|
7103
|
+
/**
|
|
7104
|
+
* Get supply limit of supply pool
|
|
7105
|
+
*/
|
|
7106
|
+
async getPoolSupplyLimit(poolName) {
|
|
7107
|
+
return await getSupplyLimit(this.utils, poolName);
|
|
7108
|
+
}
|
|
7054
7109
|
};
|
|
7055
7110
|
|
|
7056
7111
|
// src/models/scallopBuilder.ts
|