@scallop-io/sui-scallop-sdk 1.4.1-alpha.1 → 1.4.11
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 +3 -3
- package/dist/constants/enum.d.ts +2 -2
- package/dist/constants/tokenBucket.d.ts +2 -2
- package/dist/index.js +114 -97
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +114 -97
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +11 -3
- package/dist/models/scallopUtils.d.ts +2 -2
- package/dist/queries/coreQuery.d.ts +2 -0
- package/dist/queries/portfolioQuery.d.ts +2 -0
- package/dist/queries/priceQuery.d.ts +4 -0
- package/dist/queries/sCoinQuery.d.ts +1 -1
- package/package.json +1 -1
- package/src/constants/coinGecko.ts +2 -3
- package/src/constants/common.ts +4 -7
- package/src/constants/enum.ts +20 -35
- package/src/constants/poolAddress.ts +8 -9
- package/src/constants/pyth.ts +2 -3
- package/src/constants/testAddress.ts +42 -0
- package/src/constants/tokenBucket.ts +2 -2
- package/src/models/scallopCache.ts +36 -15
- package/src/models/scallopQuery.ts +1 -1
- package/src/models/scallopUtils.ts +1 -1
- package/src/queries/borrowIncentiveQuery.ts +1 -1
- package/src/queries/borrowLimitQuery.ts +3 -3
- package/src/queries/isolatedAssetQuery.ts +2 -3
- package/src/queries/portfolioQuery.ts +1 -0
- package/src/queries/supplyLimitQuery.ts +2 -3
- package/src/utils/query.ts +5 -1
- package/src/utils/tokenBucket.ts +8 -28
- package/dist/test.d.ts +0 -0
- package/src/test.ts +0 -20
package/dist/index.mjs
CHANGED
|
@@ -23,10 +23,9 @@ var COIN_GECKGO_IDS = {
|
|
|
23
23
|
afsui: "sui",
|
|
24
24
|
hasui: "sui",
|
|
25
25
|
vsui: "sui",
|
|
26
|
-
sca: "scallop-2"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// fud: 'fud-the-pug',
|
|
26
|
+
sca: "scallop-2",
|
|
27
|
+
deep: "deepbook",
|
|
28
|
+
fud: "fud-the-pug"
|
|
30
29
|
};
|
|
31
30
|
|
|
32
31
|
// src/constants/common.ts
|
|
@@ -55,10 +54,9 @@ var SUPPORT_POOLS = [
|
|
|
55
54
|
"afsui",
|
|
56
55
|
"hasui",
|
|
57
56
|
"vsui",
|
|
58
|
-
"sca"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
// 'deep',
|
|
57
|
+
"sca",
|
|
58
|
+
"fud",
|
|
59
|
+
"deep"
|
|
62
60
|
];
|
|
63
61
|
var SUPPORT_COLLATERALS = [
|
|
64
62
|
"usdc",
|
|
@@ -102,10 +100,9 @@ var SUPPORT_SCOIN = [
|
|
|
102
100
|
"ssca",
|
|
103
101
|
"scetus",
|
|
104
102
|
"swsol",
|
|
105
|
-
"swbtc"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// 'sfud',
|
|
103
|
+
"swbtc",
|
|
104
|
+
"sdeep",
|
|
105
|
+
"sfud"
|
|
109
106
|
];
|
|
110
107
|
var SUPPORT_SUI_BRIDGE = ["sbeth"];
|
|
111
108
|
var SUPPORT_WORMHOLE = [
|
|
@@ -165,9 +162,8 @@ var coinDecimals = {
|
|
|
165
162
|
hasui: 9,
|
|
166
163
|
vsui: 9,
|
|
167
164
|
sca: 9,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
// fud: 5,
|
|
165
|
+
deep: 6,
|
|
166
|
+
fud: 5,
|
|
171
167
|
susdc: 6,
|
|
172
168
|
sweth: 8,
|
|
173
169
|
ssbeth: 8,
|
|
@@ -181,10 +177,9 @@ var coinDecimals = {
|
|
|
181
177
|
safsui: 9,
|
|
182
178
|
shasui: 9,
|
|
183
179
|
svsui: 9,
|
|
184
|
-
ssca: 9
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
// sfud: 5,
|
|
180
|
+
ssca: 9,
|
|
181
|
+
sdeep: 6,
|
|
182
|
+
sfud: 5
|
|
188
183
|
};
|
|
189
184
|
var assetCoins = {
|
|
190
185
|
usdc: "usdc",
|
|
@@ -200,10 +195,9 @@ var assetCoins = {
|
|
|
200
195
|
afsui: "afsui",
|
|
201
196
|
hasui: "hasui",
|
|
202
197
|
vsui: "vsui",
|
|
203
|
-
sca: "sca"
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
// fud: 'fud',
|
|
198
|
+
sca: "sca",
|
|
199
|
+
deep: "deep",
|
|
200
|
+
fud: "fud"
|
|
207
201
|
};
|
|
208
202
|
var marketCoins = {
|
|
209
203
|
susdc: "susdc",
|
|
@@ -219,10 +213,9 @@ var marketCoins = {
|
|
|
219
213
|
safsui: "safsui",
|
|
220
214
|
shasui: "shasui",
|
|
221
215
|
svsui: "svsui",
|
|
222
|
-
ssca: "ssca"
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
// sfud: 'sfud',
|
|
216
|
+
ssca: "ssca",
|
|
217
|
+
sdeep: "sdeep",
|
|
218
|
+
sfud: "sfud"
|
|
226
219
|
};
|
|
227
220
|
var sCoins = {
|
|
228
221
|
susdc: "susdc",
|
|
@@ -237,10 +230,9 @@ var sCoins = {
|
|
|
237
230
|
svsui: "svsui",
|
|
238
231
|
ssca: "ssca",
|
|
239
232
|
swsol: "swsol",
|
|
240
|
-
swbtc: "swbtc"
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// sdeep: 'sdeep',
|
|
233
|
+
swbtc: "swbtc",
|
|
234
|
+
sfud: "sfud",
|
|
235
|
+
sdeep: "sdeep"
|
|
244
236
|
};
|
|
245
237
|
var stakeMarketCoins = {
|
|
246
238
|
susdc: "susdc",
|
|
@@ -281,10 +273,10 @@ var coinIds = {
|
|
|
281
273
|
afsui: "0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc",
|
|
282
274
|
hasui: "0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d",
|
|
283
275
|
vsui: "0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55",
|
|
284
|
-
sca: IS_VE_SCA_TEST ? "0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524" : "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6"
|
|
276
|
+
sca: IS_VE_SCA_TEST ? "0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524" : "0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6",
|
|
285
277
|
// isolated assets
|
|
286
|
-
|
|
287
|
-
|
|
278
|
+
deep: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
279
|
+
fud: "0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1"
|
|
288
280
|
};
|
|
289
281
|
var wormholeCoinIds = {
|
|
290
282
|
weth: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5",
|
|
@@ -300,28 +292,19 @@ var voloCoinIds = {
|
|
|
300
292
|
var sCoinIds = {
|
|
301
293
|
susdc: "0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC",
|
|
302
294
|
ssbeth: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
// swusdt:
|
|
308
|
-
// '0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
309
|
-
// ssca: '0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA',
|
|
310
|
-
// test values
|
|
311
|
-
ssui: "0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI",
|
|
312
|
-
swusdt: "0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
313
|
-
swusdc: "0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
314
|
-
ssca: "0x958428555e778e55918a59eb1c92c77f32b5c554fa3a5e56cd0815086b5072e7::scallop_sca::SCALLOP_SCA",
|
|
295
|
+
ssui: "0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI",
|
|
296
|
+
swusdc: "0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC",
|
|
297
|
+
swusdt: "0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT",
|
|
298
|
+
ssca: "0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA",
|
|
315
299
|
scetus: "0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS",
|
|
316
300
|
sweth: "0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH",
|
|
317
301
|
safsui: "0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI",
|
|
318
302
|
shasui: "0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI",
|
|
319
303
|
svsui: "0xe1a1cc6bcf0001a015eab84bcc6713393ce20535f55b8b6f35c142e057a25fbe::scallop_v_sui::SCALLOP_V_SUI",
|
|
320
304
|
swsol: "0x1392650f2eca9e3f6ffae3ff89e42a3590d7102b80e2b430f674730bc30d3259::scallop_wormhole_sol::SCALLOP_WORMHOLE_SOL",
|
|
321
|
-
swbtc: "0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC"
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
// sfud: '0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD',
|
|
305
|
+
swbtc: "0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC",
|
|
306
|
+
sdeep: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
307
|
+
sfud: "0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD"
|
|
325
308
|
};
|
|
326
309
|
var sCoinTypeToName = Object.entries(sCoinIds).reduce(
|
|
327
310
|
(acc, [coinName, coinType]) => {
|
|
@@ -411,16 +394,13 @@ var POOL_ADDRESSES = {
|
|
|
411
394
|
sca: {
|
|
412
395
|
lendingPoolAddress: "0x6fc7d4211fc7018b6c75e7b908b88f2e0536443239804a3d32af547637bd28d7",
|
|
413
396
|
collateralPoolAddress: "0xff677a5d9e9dc8f08f0a8681ebfc7481d1c7d57bc441f2881974adcdd7b13c31"
|
|
397
|
+
},
|
|
398
|
+
fud: {
|
|
399
|
+
lendingPoolAddress: "0x14367ddca30e2860cb89ed4eaca20c7ece260c5d59dd9990d2c85a8321326acb"
|
|
400
|
+
},
|
|
401
|
+
deep: {
|
|
402
|
+
lendingPoolAddress: "0xf4a67ffb43da1e1c61c049f188f19463ea8dbbf2d5ef4722d6df854ff1b1cc03"
|
|
414
403
|
}
|
|
415
|
-
// TODO: enable for production
|
|
416
|
-
// fud: {
|
|
417
|
-
// lendingPoolAddress:
|
|
418
|
-
// '0x14367ddca30e2860cb89ed4eaca20c7ece260c5d59dd9990d2c85a8321326acb',
|
|
419
|
-
// },
|
|
420
|
-
// deep: {
|
|
421
|
-
// lendingPoolAddress:
|
|
422
|
-
// '0xf4a67ffb43da1e1c61c049f188f19463ea8dbbf2d5ef4722d6df854ff1b1cc03',
|
|
423
|
-
// },
|
|
424
404
|
};
|
|
425
405
|
|
|
426
406
|
// src/constants/pyth.ts
|
|
@@ -442,10 +422,9 @@ var PYTH_FEED_IDS = {
|
|
|
442
422
|
afsui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
443
423
|
hasui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
444
424
|
vsui: "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
445
|
-
sca: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc"
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
// fud: '6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75',
|
|
425
|
+
sca: "7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
426
|
+
deep: "29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",
|
|
427
|
+
fud: "6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75"
|
|
449
428
|
};
|
|
450
429
|
|
|
451
430
|
// src/constants/queryKeys.ts
|
|
@@ -745,6 +724,32 @@ var TEST_ADDRESSES = {
|
|
|
745
724
|
feedObject: "0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab"
|
|
746
725
|
}
|
|
747
726
|
}
|
|
727
|
+
},
|
|
728
|
+
deep: {
|
|
729
|
+
id: "0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270",
|
|
730
|
+
metaData: "0x6e60b051a08fa836f5a7acd7c464c8d9825bc29c44657fe170fe9b8e1e4770c0",
|
|
731
|
+
treasury: "",
|
|
732
|
+
oracle: {
|
|
733
|
+
supra: "",
|
|
734
|
+
switchboard: "",
|
|
735
|
+
pyth: {
|
|
736
|
+
feed: "29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",
|
|
737
|
+
feedObject: "0x8c7f3a322b94cc69db2a2ac575cbd94bf5766113324c3a3eceac91e3e88a51ed"
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
fud: {
|
|
742
|
+
id: "0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1",
|
|
743
|
+
metaData: "0x01087411ef48aaac1eb6e24803213e3a60a03b147dac930e5e341f17a85e524e",
|
|
744
|
+
treasury: "",
|
|
745
|
+
oracle: {
|
|
746
|
+
supra: "",
|
|
747
|
+
switchboard: "",
|
|
748
|
+
pyth: {
|
|
749
|
+
feed: "6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75",
|
|
750
|
+
feedObject: "0x4531c3ed0d22f21f5fce882905372006c9aafa30f01db03b789e95a6c50de7b2"
|
|
751
|
+
}
|
|
752
|
+
}
|
|
748
753
|
}
|
|
749
754
|
},
|
|
750
755
|
oracles: {
|
|
@@ -964,14 +969,22 @@ var TEST_ADDRESSES = {
|
|
|
964
969
|
ssbeth: {
|
|
965
970
|
coinType: "0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH",
|
|
966
971
|
treasury: "0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed"
|
|
972
|
+
},
|
|
973
|
+
sdeep: {
|
|
974
|
+
coinType: "0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP",
|
|
975
|
+
treasury: "0xc63838fabe37b25ad897392d89876d920f5e0c6a406bf3abcb84753d2829bc88"
|
|
976
|
+
},
|
|
977
|
+
sfud: {
|
|
978
|
+
coinType: "0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD",
|
|
979
|
+
treasury: "0xf25212f11d182decff7a86165699a73e3d5787aced203ca539f43cfbc10db867"
|
|
967
980
|
}
|
|
968
981
|
}
|
|
969
982
|
}
|
|
970
983
|
};
|
|
971
984
|
|
|
972
985
|
// src/constants/tokenBucket.ts
|
|
973
|
-
var DEFAULT_TOKENS_PER_INTERVAL =
|
|
974
|
-
var DEFAULT_INTERVAL_IN_MS =
|
|
986
|
+
var DEFAULT_TOKENS_PER_INTERVAL = 10;
|
|
987
|
+
var DEFAULT_INTERVAL_IN_MS = 50;
|
|
975
988
|
|
|
976
989
|
// src/constants/vesca.ts
|
|
977
990
|
var UNLOCK_ROUND_DURATION = 60 * 60 * 24;
|
|
@@ -1359,9 +1372,12 @@ var parseOriginBorrowIncentivePoolData = (originBorrowIncentivePoolData) => {
|
|
|
1359
1372
|
poolPoints: originBorrowIncentivePoolData.points.reduce(
|
|
1360
1373
|
(acc, point) => {
|
|
1361
1374
|
const parsed = parseOriginBorrowIncentivesPoolPointData(point);
|
|
1362
|
-
|
|
1375
|
+
let name = parseStructTag(
|
|
1363
1376
|
parsed.pointType
|
|
1364
1377
|
).name.toLowerCase();
|
|
1378
|
+
if (sCoinRawNameToName[name]) {
|
|
1379
|
+
name = sCoinRawNameToName[name];
|
|
1380
|
+
}
|
|
1365
1381
|
acc[name] = parsed;
|
|
1366
1382
|
return acc;
|
|
1367
1383
|
},
|
|
@@ -1560,10 +1576,10 @@ var TokenBucket = class {
|
|
|
1560
1576
|
refill() {
|
|
1561
1577
|
const now = Date.now();
|
|
1562
1578
|
const elapsed = now - this.lastRefill;
|
|
1563
|
-
if (elapsed
|
|
1579
|
+
if (elapsed >= this.interval) {
|
|
1564
1580
|
const tokensToAdd = Math.floor(elapsed / this.interval) * this.tokensPerInterval;
|
|
1565
1581
|
this.tokens = Math.min(this.tokens + tokensToAdd, this.tokensPerInterval);
|
|
1566
|
-
this.lastRefill
|
|
1582
|
+
this.lastRefill += Math.floor(elapsed / this.interval) * this.interval;
|
|
1567
1583
|
}
|
|
1568
1584
|
}
|
|
1569
1585
|
removeTokens(count) {
|
|
@@ -1579,26 +1595,12 @@ var callWithRateLimit = async (tokenBucket, fn, retryDelayInMs = DEFAULT_INTERVA
|
|
|
1579
1595
|
let retries = 0;
|
|
1580
1596
|
const tryRequest = async () => {
|
|
1581
1597
|
if (tokenBucket.removeTokens(1)) {
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
if (result && result.status === 429) {
|
|
1585
|
-
throw new Error("Unexpected status code: 429");
|
|
1586
|
-
}
|
|
1587
|
-
return result;
|
|
1588
|
-
} catch (error) {
|
|
1589
|
-
if (error.message === "Unexpected status code: 429" && retries < maxRetries) {
|
|
1590
|
-
retries++;
|
|
1591
|
-
const delay = retryDelayInMs * Math.pow(backoffFactor, retries);
|
|
1592
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
1593
|
-
return tryRequest();
|
|
1594
|
-
} else {
|
|
1595
|
-
console.error("An error occurred:", error.message);
|
|
1596
|
-
return null;
|
|
1597
|
-
}
|
|
1598
|
-
}
|
|
1598
|
+
const result = await fn();
|
|
1599
|
+
return result;
|
|
1599
1600
|
} else if (retries < maxRetries) {
|
|
1600
1601
|
retries++;
|
|
1601
1602
|
const delay = retryDelayInMs * Math.pow(backoffFactor, retries);
|
|
1603
|
+
console.error(`Rate limit exceeded, retrying in ${delay} ms`);
|
|
1602
1604
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
1603
1605
|
return tryRequest();
|
|
1604
1606
|
} else {
|
|
@@ -1682,11 +1684,13 @@ var ScallopCache = class {
|
|
|
1682
1684
|
const txBlock = new SuiTxBlock();
|
|
1683
1685
|
txBlock.moveCall(queryTarget, args, typeArgs);
|
|
1684
1686
|
const query = await this.queryClient.fetchQuery({
|
|
1687
|
+
retry: 5,
|
|
1688
|
+
retryDelay: 1e3,
|
|
1685
1689
|
queryKey: queryKeys.rpc.getInspectTxn(queryTarget, args, typeArgs),
|
|
1686
1690
|
queryFn: async () => {
|
|
1687
1691
|
return await callWithRateLimit(
|
|
1688
1692
|
this.tokenBucket,
|
|
1689
|
-
() => this.suiKit.inspectTxn(txBlock)
|
|
1693
|
+
async () => await this.suiKit.inspectTxn(txBlock)
|
|
1690
1694
|
);
|
|
1691
1695
|
}
|
|
1692
1696
|
});
|
|
@@ -1700,11 +1704,13 @@ var ScallopCache = class {
|
|
|
1700
1704
|
*/
|
|
1701
1705
|
async queryGetObject(objectId, options) {
|
|
1702
1706
|
return this.queryClient.fetchQuery({
|
|
1707
|
+
retry: 5,
|
|
1708
|
+
retryDelay: 1e3,
|
|
1703
1709
|
queryKey: queryKeys.rpc.getObject(objectId, this.walletAddress, options),
|
|
1704
1710
|
queryFn: async () => {
|
|
1705
1711
|
return await callWithRateLimit(
|
|
1706
1712
|
this.tokenBucket,
|
|
1707
|
-
() => this.client.getObject({
|
|
1713
|
+
async () => await this.client.getObject({
|
|
1708
1714
|
id: objectId,
|
|
1709
1715
|
options
|
|
1710
1716
|
})
|
|
@@ -1723,6 +1729,8 @@ var ScallopCache = class {
|
|
|
1723
1729
|
if (objectIds.length === 0)
|
|
1724
1730
|
return [];
|
|
1725
1731
|
return this.queryClient.fetchQuery({
|
|
1732
|
+
retry: 5,
|
|
1733
|
+
retryDelay: 1e3,
|
|
1726
1734
|
queryKey: queryKeys.rpc.getObjects(
|
|
1727
1735
|
objectIds,
|
|
1728
1736
|
this.walletAddress,
|
|
@@ -1731,7 +1739,7 @@ var ScallopCache = class {
|
|
|
1731
1739
|
queryFn: async () => {
|
|
1732
1740
|
return await callWithRateLimit(
|
|
1733
1741
|
this.tokenBucket,
|
|
1734
|
-
() => this.suiKit.getObjects(objectIds, options)
|
|
1742
|
+
async () => await this.suiKit.getObjects(objectIds, options)
|
|
1735
1743
|
);
|
|
1736
1744
|
}
|
|
1737
1745
|
});
|
|
@@ -1743,28 +1751,34 @@ var ScallopCache = class {
|
|
|
1743
1751
|
*/
|
|
1744
1752
|
async queryGetOwnedObjects(input) {
|
|
1745
1753
|
return this.queryClient.fetchQuery({
|
|
1754
|
+
retry: 5,
|
|
1755
|
+
retryDelay: 1e3,
|
|
1746
1756
|
queryKey: queryKeys.rpc.getOwnedObjects(input),
|
|
1747
1757
|
queryFn: async () => {
|
|
1748
1758
|
return await callWithRateLimit(
|
|
1749
1759
|
this.tokenBucket,
|
|
1750
|
-
() => this.client.getOwnedObjects(input)
|
|
1760
|
+
async () => await this.client.getOwnedObjects(input)
|
|
1751
1761
|
);
|
|
1752
1762
|
}
|
|
1753
1763
|
});
|
|
1754
1764
|
}
|
|
1755
1765
|
async queryGetDynamicFields(input) {
|
|
1756
1766
|
return this.queryClient.fetchQuery({
|
|
1767
|
+
retry: 5,
|
|
1768
|
+
retryDelay: 1e3,
|
|
1757
1769
|
queryKey: queryKeys.rpc.getDynamicFields(input),
|
|
1758
1770
|
queryFn: async () => {
|
|
1759
1771
|
return await callWithRateLimit(
|
|
1760
1772
|
this.tokenBucket,
|
|
1761
|
-
() => this.client.getDynamicFields(input)
|
|
1773
|
+
async () => await this.client.getDynamicFields(input)
|
|
1762
1774
|
);
|
|
1763
1775
|
}
|
|
1764
1776
|
});
|
|
1765
1777
|
}
|
|
1766
1778
|
async queryGetDynamicFieldObject(input) {
|
|
1767
1779
|
return this.queryClient.fetchQuery({
|
|
1780
|
+
retry: 5,
|
|
1781
|
+
retryDelay: (attemptIndex) => Math.min(1e3 * attemptIndex, 8e3),
|
|
1768
1782
|
queryKey: queryKeys.rpc.getDynamicFieldObject(input),
|
|
1769
1783
|
queryFn: async () => {
|
|
1770
1784
|
return await callWithRateLimit(
|
|
@@ -1776,11 +1790,13 @@ var ScallopCache = class {
|
|
|
1776
1790
|
}
|
|
1777
1791
|
async queryGetAllCoinBalances(owner) {
|
|
1778
1792
|
return this.queryClient.fetchQuery({
|
|
1793
|
+
retry: 5,
|
|
1794
|
+
retryDelay: 1e3,
|
|
1779
1795
|
queryKey: queryKeys.rpc.getAllCoinBalances(owner),
|
|
1780
1796
|
queryFn: async () => {
|
|
1781
1797
|
const allBalances = await callWithRateLimit(
|
|
1782
1798
|
this.tokenBucket,
|
|
1783
|
-
() => this.client.getAllBalances({ owner })
|
|
1799
|
+
async () => await this.client.getAllBalances({ owner })
|
|
1784
1800
|
);
|
|
1785
1801
|
if (!allBalances)
|
|
1786
1802
|
return {};
|
|
@@ -2493,7 +2509,7 @@ var getBorrowIncentivePools = async (query, borrowIncentiveCoinNames = [
|
|
|
2493
2509
|
...SUPPORT_BORROW_INCENTIVE_POOLS
|
|
2494
2510
|
], indexer = false, marketPools, coinPrices) => {
|
|
2495
2511
|
const borrowIncentivePools = {};
|
|
2496
|
-
marketPools = marketPools ?? await query.getMarketPools(void 0, {
|
|
2512
|
+
marketPools = marketPools ?? await query.getMarketPools(void 0, { coinPrices, indexer });
|
|
2497
2513
|
coinPrices = coinPrices ?? await query.getAllCoinPrices({ marketPools });
|
|
2498
2514
|
if (indexer) {
|
|
2499
2515
|
const borrowIncentivePoolsIndexer = await query.indexer.getBorrowIncentivePools();
|
|
@@ -2685,7 +2701,7 @@ var supplyLimitZod = zod.object({
|
|
|
2685
2701
|
value: zod.string()
|
|
2686
2702
|
})
|
|
2687
2703
|
});
|
|
2688
|
-
var supplyLimitKeyType = `
|
|
2704
|
+
var supplyLimitKeyType = `0x6e641f0dca8aedab3101d047e96439178f16301bf0b57fe8745086ff1195eb3e::market_dynamic_keys::SupplyLimitKey`;
|
|
2689
2705
|
var getSupplyLimit = async (utils, poolName) => {
|
|
2690
2706
|
try {
|
|
2691
2707
|
const poolCoinType = utils.parseCoinType(poolName).slice(2);
|
|
@@ -2725,7 +2741,7 @@ var isolatedAssetZod = zod2.object({
|
|
|
2725
2741
|
value: zod2.boolean()
|
|
2726
2742
|
})
|
|
2727
2743
|
});
|
|
2728
|
-
var isolatedAssetKeyType = `
|
|
2744
|
+
var isolatedAssetKeyType = `0xe7dbb371a9595631f7964b7ece42255ad0e738cc85fe6da26c7221b220f01af6::market_dynamic_keys::IsolatedAssetKey`;
|
|
2729
2745
|
var getIsolatedAssets = async (address) => {
|
|
2730
2746
|
try {
|
|
2731
2747
|
const marketObject = address.get("core.market");
|
|
@@ -2805,7 +2821,7 @@ var borrowLimitZod = zod3.object({
|
|
|
2805
2821
|
value: zod3.string()
|
|
2806
2822
|
})
|
|
2807
2823
|
});
|
|
2808
|
-
var borrowLimitKeyType = `
|
|
2824
|
+
var borrowLimitKeyType = `0xe7dbb371a9595631f7964b7ece42255ad0e738cc85fe6da26c7221b220f01af6::market_dynamic_keys::BorrowLimitKey`;
|
|
2809
2825
|
var getBorrowLimit = async (utils, poolName) => {
|
|
2810
2826
|
try {
|
|
2811
2827
|
const poolCoinType = utils.parseCoinType(poolName).slice(2);
|
|
@@ -3705,7 +3721,8 @@ var getObligationAccount = async (query, obligationId, ownerAddress, indexer = f
|
|
|
3705
3721
|
query.queryObligation(obligationId),
|
|
3706
3722
|
query.getBorrowIncentivePools(void 0, {
|
|
3707
3723
|
coinPrices,
|
|
3708
|
-
indexer
|
|
3724
|
+
indexer,
|
|
3725
|
+
marketPools: market.pools
|
|
3709
3726
|
}),
|
|
3710
3727
|
query.getBorrowIncentiveAccounts(obligationId)
|
|
3711
3728
|
]);
|
|
@@ -5099,7 +5116,7 @@ var ScallopUtils = class {
|
|
|
5099
5116
|
);
|
|
5100
5117
|
const priceIds = priceIdPairs.map(([_2, priceId]) => priceId);
|
|
5101
5118
|
const pythConnection = new SuiPriceServiceConnection(endpoint, {
|
|
5102
|
-
timeout:
|
|
5119
|
+
timeout: 4e3
|
|
5103
5120
|
});
|
|
5104
5121
|
try {
|
|
5105
5122
|
const feeds = await this.cache.queryClient.fetchQuery({
|