@scallop-io/sui-scallop-sdk 1.3.4-alpha.7 → 1.3.4-isolated-asset.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 +1 -1
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/poolAddress.d.ts +1 -1
- package/dist/index.js +438 -331
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +438 -331
- package/dist/index.mjs.map +1 -1
- package/dist/models/scallopQuery.d.ts +10 -2
- package/dist/queries/borrowLimitQuery.d.ts +9 -0
- package/dist/queries/coreQuery.d.ts +2 -0
- package/dist/queries/index.d.ts +1 -0
- package/dist/queries/portfolioQuery.d.ts +2 -0
- package/dist/queries/supplyLimitQuery.d.ts +2 -2
- package/dist/types/query/core.d.ts +2 -0
- package/dist/types/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/constants/coinGecko.ts +4 -2
- package/src/constants/common.ts +2 -0
- package/src/constants/enum.ts +25 -4
- package/src/constants/index.ts +1 -0
- package/src/constants/poolAddress.ts +7 -1
- package/src/constants/pyth.ts +2 -0
- package/src/constants/testAddress.ts +76 -35
- package/src/models/scallopBuilder.ts +2 -3
- package/src/models/scallopQuery.ts +26 -18
- package/src/models/scallopUtils.ts +5 -6
- package/src/queries/borrowLimitQuery.ts +53 -0
- package/src/queries/coreQuery.ts +238 -229
- package/src/queries/index.ts +1 -0
- package/src/queries/isolatedAssetQuery.ts +5 -5
- package/src/queries/referralQuery.ts +0 -1
- package/src/queries/spoolQuery.ts +1 -1
- package/src/queries/supplyLimitQuery.ts +23 -18
- package/src/types/query/core.ts +2 -0
- package/src/types/utils.ts +1 -1
|
@@ -69,6 +69,8 @@ export declare class ScallopQuery {
|
|
|
69
69
|
hasui?: MarketPool | undefined;
|
|
70
70
|
vsui?: MarketPool | undefined;
|
|
71
71
|
sca?: MarketPool | undefined;
|
|
72
|
+
fud?: MarketPool | undefined;
|
|
73
|
+
deep?: MarketPool | undefined;
|
|
72
74
|
}>;
|
|
73
75
|
/**
|
|
74
76
|
* Get market pool
|
|
@@ -350,6 +352,8 @@ export declare class ScallopQuery {
|
|
|
350
352
|
hasui?: import("../types").Lending | undefined;
|
|
351
353
|
vsui?: import("../types").Lending | undefined;
|
|
352
354
|
sca?: import("../types").Lending | undefined;
|
|
355
|
+
fud?: import("../types").Lending | undefined;
|
|
356
|
+
deep?: import("../types").Lending | undefined;
|
|
353
357
|
}>;
|
|
354
358
|
/**
|
|
355
359
|
* Get user lending and spool information for specific pool.
|
|
@@ -467,11 +471,15 @@ export declare class ScallopQuery {
|
|
|
467
471
|
* @returns
|
|
468
472
|
*/
|
|
469
473
|
getSCoinSwapRate(fromSCoin: SupportSCoin, toSCoin: SupportSCoin): Promise<number>;
|
|
470
|
-
getFlashLoanFees(assetCoinNames?: SupportAssetCoins[]): Promise<Record<"usdc" | "sbeth" | "weth" | "wbtc" | "wusdc" | "wusdt" | "sui" | "wapt" | "wsol" | "cetus" | "afsui" | "hasui" | "vsui" | "sca", number>>;
|
|
474
|
+
getFlashLoanFees(assetCoinNames?: SupportAssetCoins[]): Promise<Record<"usdc" | "sbeth" | "weth" | "wbtc" | "wusdc" | "wusdt" | "sui" | "wapt" | "wsol" | "cetus" | "afsui" | "hasui" | "vsui" | "sca" | "fud" | "deep", number>>;
|
|
471
475
|
/**
|
|
472
|
-
* Get supply limit of
|
|
476
|
+
* Get supply limit of lending pool
|
|
473
477
|
*/
|
|
474
478
|
getPoolSupplyLimit(poolName: SupportPoolCoins): Promise<string | null>;
|
|
479
|
+
/**
|
|
480
|
+
* Get borrow limit of borrow pool
|
|
481
|
+
*/
|
|
482
|
+
getPoolBorrowLimit(poolName: SupportPoolCoins): Promise<string | null>;
|
|
475
483
|
/**
|
|
476
484
|
* Get list of isolated assets
|
|
477
485
|
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScallopUtils } from 'src/models';
|
|
2
|
+
import { SupportPoolCoins } from 'src/types';
|
|
3
|
+
/**
|
|
4
|
+
* Return supply limit of a pool (including the decimals)
|
|
5
|
+
* @param utils
|
|
6
|
+
* @param poolName
|
|
7
|
+
* @returns supply limit (decimals included)
|
|
8
|
+
*/
|
|
9
|
+
export declare const getBorrowLimit: (utils: ScallopUtils, poolName: SupportPoolCoins) => Promise<string | null>;
|
|
@@ -40,6 +40,8 @@ export declare const getMarketPools: (query: ScallopQuery, poolCoinNames?: Suppo
|
|
|
40
40
|
hasui?: MarketPool | undefined;
|
|
41
41
|
vsui?: MarketPool | undefined;
|
|
42
42
|
sca?: MarketPool | undefined;
|
|
43
|
+
fud?: MarketPool | undefined;
|
|
44
|
+
deep?: MarketPool | undefined;
|
|
43
45
|
}>;
|
|
44
46
|
/**
|
|
45
47
|
* Get market pool data.
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export declare const getLendings: (query: ScallopQuery, poolCoinNames?: SupportP
|
|
|
24
24
|
hasui?: Lending | undefined;
|
|
25
25
|
vsui?: Lending | undefined;
|
|
26
26
|
sca?: Lending | undefined;
|
|
27
|
+
fud?: Lending | undefined;
|
|
28
|
+
deep?: Lending | undefined;
|
|
27
29
|
}>;
|
|
28
30
|
/**
|
|
29
31
|
* Get user lending infomation for specific pool.
|
|
@@ -123,6 +123,7 @@ export type MarketPool = {
|
|
|
123
123
|
coinDecimal: number;
|
|
124
124
|
coinPrice: number;
|
|
125
125
|
maxSupplyCoin: number;
|
|
126
|
+
maxBorrowCoin: number;
|
|
126
127
|
isIsolated: boolean;
|
|
127
128
|
} & Required<Pick<ParsedMarketPoolData, 'highKink' | 'midKink' | 'reserveFactor' | 'borrowWeight' | 'borrowFee' | 'marketCoinSupplyAmount' | 'minBorrowAmount'>> & CalculatedMarketPoolData;
|
|
128
129
|
export type MarketCollateral = {
|
|
@@ -133,6 +134,7 @@ export type MarketCollateral = {
|
|
|
133
134
|
coinWrappedType: CoinWrappedType;
|
|
134
135
|
coinDecimal: number;
|
|
135
136
|
coinPrice: number;
|
|
137
|
+
isIsolated: boolean;
|
|
136
138
|
} & Required<Pick<ParsedMarketCollateralData, 'collateralFactor' | 'liquidationFactor' | 'liquidationDiscount' | 'liquidationPanelty' | 'liquidationReserveFactor'>> & CalculatedMarketCollateralData;
|
|
137
139
|
export type OriginMarketPoolData = {
|
|
138
140
|
type: {
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type PoolAddressInfo = {
|
|
|
13
13
|
decimal: number;
|
|
14
14
|
pythFeedId: string;
|
|
15
15
|
lendingPoolAddress: string;
|
|
16
|
-
collateralPoolAddress
|
|
16
|
+
collateralPoolAddress?: string;
|
|
17
17
|
sCoinAddress: string | undefined;
|
|
18
18
|
marketCoinAddress: string;
|
|
19
19
|
coinAddress: string;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SupportPoolCoins } from 'src/types/constant/common';
|
|
2
2
|
|
|
3
3
|
export const COIN_GECKGO_IDS: Record<SupportPoolCoins, string> = {
|
|
4
|
-
usdc: 'usdc
|
|
4
|
+
usdc: 'usdc',
|
|
5
5
|
sbeth: 'ethereum',
|
|
6
6
|
weth: 'ethereum',
|
|
7
7
|
wbtc: 'bitcoin',
|
|
8
|
-
wusdc: 'usdc
|
|
8
|
+
wusdc: 'usdc',
|
|
9
9
|
wusdt: 'tether',
|
|
10
10
|
sui: 'sui',
|
|
11
11
|
wapt: 'aptos',
|
|
@@ -15,4 +15,6 @@ export const COIN_GECKGO_IDS: Record<SupportPoolCoins, string> = {
|
|
|
15
15
|
hasui: 'sui',
|
|
16
16
|
vsui: 'sui',
|
|
17
17
|
sca: 'scallop-2',
|
|
18
|
+
deep: 'deepbook',
|
|
19
|
+
fud: 'fud-the-pug',
|
|
18
20
|
};
|
package/src/constants/common.ts
CHANGED
package/src/constants/enum.ts
CHANGED
|
@@ -16,6 +16,8 @@ export const coinDecimals: types.SupportCoinDecimals = {
|
|
|
16
16
|
hasui: 9,
|
|
17
17
|
vsui: 9,
|
|
18
18
|
sca: 9,
|
|
19
|
+
deep: 6,
|
|
20
|
+
fud: 5,
|
|
19
21
|
susdc: 6,
|
|
20
22
|
sweth: 8,
|
|
21
23
|
ssbeth: 8,
|
|
@@ -30,6 +32,8 @@ export const coinDecimals: types.SupportCoinDecimals = {
|
|
|
30
32
|
shasui: 9,
|
|
31
33
|
svsui: 9,
|
|
32
34
|
ssca: 9,
|
|
35
|
+
sdeep: 6,
|
|
36
|
+
sfud: 5,
|
|
33
37
|
};
|
|
34
38
|
|
|
35
39
|
export const assetCoins: types.AssetCoins = {
|
|
@@ -47,6 +51,8 @@ export const assetCoins: types.AssetCoins = {
|
|
|
47
51
|
hasui: 'hasui',
|
|
48
52
|
vsui: 'vsui',
|
|
49
53
|
sca: 'sca',
|
|
54
|
+
deep: 'deep',
|
|
55
|
+
fud: 'fud',
|
|
50
56
|
};
|
|
51
57
|
|
|
52
58
|
export const marketCoins: types.MarketCoins = {
|
|
@@ -64,6 +70,8 @@ export const marketCoins: types.MarketCoins = {
|
|
|
64
70
|
shasui: 'shasui',
|
|
65
71
|
svsui: 'svsui',
|
|
66
72
|
ssca: 'ssca',
|
|
73
|
+
sdeep: 'sdeep',
|
|
74
|
+
sfud: 'sfud',
|
|
67
75
|
};
|
|
68
76
|
|
|
69
77
|
export const sCoins: types.SCoins = {
|
|
@@ -140,6 +148,9 @@ export const coinIds: types.AssetCoinIds = {
|
|
|
140
148
|
sca: IS_VE_SCA_TEST
|
|
141
149
|
? '0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524'
|
|
142
150
|
: '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6',
|
|
151
|
+
// isolated assets
|
|
152
|
+
deep: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP',
|
|
153
|
+
fud: '0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1::fud::FUD',
|
|
143
154
|
};
|
|
144
155
|
|
|
145
156
|
export const wormholeCoinIds: types.WormholeCoinIds = {
|
|
@@ -161,14 +172,24 @@ export const sCoinIds: types.SCoinIds = {
|
|
|
161
172
|
'0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
|
|
162
173
|
ssbeth:
|
|
163
174
|
'0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH',
|
|
164
|
-
ssui:
|
|
175
|
+
ssui:
|
|
176
|
+
// TODO: use prod value
|
|
177
|
+
// '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
|
|
178
|
+
'0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI',
|
|
165
179
|
scetus:
|
|
166
180
|
'0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS',
|
|
167
|
-
ssca:
|
|
181
|
+
ssca:
|
|
182
|
+
// TODO: use prod value
|
|
183
|
+
// '0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA',
|
|
184
|
+
'0x958428555e778e55918a59eb1c92c77f32b5c554fa3a5e56cd0815086b5072e7::scallop_sca::SCALLOP_SCA',
|
|
168
185
|
swusdc:
|
|
169
|
-
|
|
186
|
+
// TODO: use prod value
|
|
187
|
+
// '0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
188
|
+
'0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
170
189
|
swusdt:
|
|
171
|
-
|
|
190
|
+
// TODO: use prod value
|
|
191
|
+
// '0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
192
|
+
'0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
172
193
|
sweth:
|
|
173
194
|
'0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH',
|
|
174
195
|
safsui:
|
package/src/constants/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ export const POOL_ADDRESSES: Record<
|
|
|
4
4
|
SupportPoolCoins,
|
|
5
5
|
{
|
|
6
6
|
lendingPoolAddress: string;
|
|
7
|
-
collateralPoolAddress
|
|
7
|
+
collateralPoolAddress?: string;
|
|
8
8
|
}
|
|
9
9
|
> = {
|
|
10
10
|
usdc: {
|
|
@@ -91,4 +91,10 @@ export const POOL_ADDRESSES: Record<
|
|
|
91
91
|
collateralPoolAddress:
|
|
92
92
|
'0xff677a5d9e9dc8f08f0a8681ebfc7481d1c7d57bc441f2881974adcdd7b13c31',
|
|
93
93
|
},
|
|
94
|
+
fud: {
|
|
95
|
+
lendingPoolAddress: '',
|
|
96
|
+
},
|
|
97
|
+
deep: {
|
|
98
|
+
lendingPoolAddress: '',
|
|
99
|
+
},
|
|
94
100
|
};
|
package/src/constants/pyth.ts
CHANGED
|
@@ -22,4 +22,6 @@ export const PYTH_FEED_IDS: Record<SupportPoolCoins, string> = {
|
|
|
22
22
|
hasui: '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
23
23
|
vsui: '23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
|
|
24
24
|
sca: '7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc',
|
|
25
|
+
deep: '29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff',
|
|
26
|
+
fud: '6a4090703da959247727f2b490eb21aea95c8684ecfac675f432008830890c75',
|
|
25
27
|
};
|
|
@@ -5,17 +5,17 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
5
5
|
// version:
|
|
6
6
|
// '0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7',
|
|
7
7
|
version:
|
|
8
|
-
'
|
|
8
|
+
'0xd318de9b0f6873879a82cbfcc2daa1d1591a8b54e7cea9f4b567da63c692a52b',
|
|
9
9
|
versionCap:
|
|
10
10
|
'0x590a4011cb649b3878f3ea14b3a78674642a9548d79b7e091ef679574b158a07',
|
|
11
11
|
// object:
|
|
12
12
|
// '0xefe8b36d5b2e43728cc323298626b83177803521d195cfb11e15b910e892fddf',
|
|
13
13
|
object:
|
|
14
|
-
'
|
|
14
|
+
'0x6c23585e940a989588432509107e98bae06dbca4e333f26d0635d401b3c7c76d',
|
|
15
15
|
// market:
|
|
16
16
|
// '0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9',
|
|
17
17
|
market:
|
|
18
|
-
'
|
|
18
|
+
'0x9d6434e97f3f98fd9b0c0e1dca22632073985abcd22541feae7ee1e34cbe3af2',
|
|
19
19
|
adminCap:
|
|
20
20
|
'0x09689d018e71c337d9db6d67cbca06b74ed92196103624028ccc3ecea411777c',
|
|
21
21
|
coinDecimalsRegistry:
|
|
@@ -23,8 +23,23 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
23
23
|
// obligationAccessStore:
|
|
24
24
|
// '0x733e30b7c94d619d78cb8f5bc4bfbb759ced9a531239028caabb2474e5be59c9',
|
|
25
25
|
obligationAccessStore:
|
|
26
|
-
'
|
|
26
|
+
'0x46e9b44a77ee9c9d33cc2689ecdfbb8f681935cbc6bdf6ac3df048e396c36c82',
|
|
27
27
|
coins: {
|
|
28
|
+
usdc: {
|
|
29
|
+
id: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7',
|
|
30
|
+
metaData:
|
|
31
|
+
'0x69b7a7c3c200439c1b5f3b19d7d495d5966d5f08de66c69276152f8db3992ec6',
|
|
32
|
+
treasury: '',
|
|
33
|
+
oracle: {
|
|
34
|
+
supra: '',
|
|
35
|
+
switchboard: '',
|
|
36
|
+
pyth: {
|
|
37
|
+
feed: 'eaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a',
|
|
38
|
+
feedObject:
|
|
39
|
+
'0x5dec622733a204ca27f5a90d8c2fad453cc6665186fd5dff13a83d0b6c9027ab',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
28
43
|
cetus: {
|
|
29
44
|
id: '0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b',
|
|
30
45
|
metaData:
|
|
@@ -206,6 +221,21 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
206
221
|
},
|
|
207
222
|
},
|
|
208
223
|
},
|
|
224
|
+
sbeth: {
|
|
225
|
+
id: '0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29',
|
|
226
|
+
metaData:
|
|
227
|
+
'0x89b04ba87f8832d4d76e17a1c9dce72eb3e64d372cf02012b8d2de5384faeef0',
|
|
228
|
+
treasury: '',
|
|
229
|
+
oracle: {
|
|
230
|
+
supra: '',
|
|
231
|
+
switchboard: '',
|
|
232
|
+
pyth: {
|
|
233
|
+
feed: 'ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace',
|
|
234
|
+
feedObject:
|
|
235
|
+
'0x9193fd47f9a0ab99b6e365a464c8a9ae30e6150fc37ed2a89c1586631f6fc4ab',
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
},
|
|
209
239
|
},
|
|
210
240
|
oracles: {
|
|
211
241
|
xOracle:
|
|
@@ -249,7 +279,7 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
249
279
|
'0x3f203f6fff6a69d151e4f1cd931f22b68c489ef2759765662fc7baf673943c9e',
|
|
250
280
|
},
|
|
251
281
|
protocol: {
|
|
252
|
-
id: '
|
|
282
|
+
id: '0xb784ea287d944e478a3ceaa071f8885072cce6b7224cf245914dc2f9963f460e',
|
|
253
283
|
upgradeCap:
|
|
254
284
|
'0x38527d154618d1fd5a644b90717fe07cf0e9f26b46b63e9568e611a3f86d5c1a',
|
|
255
285
|
},
|
|
@@ -269,7 +299,7 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
269
299
|
// '0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
270
300
|
// },
|
|
271
301
|
query: {
|
|
272
|
-
id: '
|
|
302
|
+
id: '0x89706958f43fb170de134579e3fbc53972b946ee78bd2442d8e1adc36074fbdc',
|
|
273
303
|
upgradeCap:
|
|
274
304
|
'0x0d535c35f608b9b01b7ccce11acf43b1dd80c1b72bf8b541744a6e28e8d2745f',
|
|
275
305
|
},
|
|
@@ -310,6 +340,11 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
310
340
|
// '0x162250ef72393a4ad3d46294c4e1bdfcb03f04c869d390e7efbfc995353a7ee9',
|
|
311
341
|
'0xc3206071a8d43212efb6e3b5504f2321f8df97ab122b466c0bc7cfdf398dc13a',
|
|
312
342
|
},
|
|
343
|
+
susdc: {
|
|
344
|
+
id: '0x0b5f5f413bd3799e4052c37311966c77f3a4545eb125d2e93e67a68478021918',
|
|
345
|
+
rewardPoolId:
|
|
346
|
+
'0x85ed6ed72ea97c35dbf0cdc7ed6fbc48d8ec15de9b17c74bf4512df8a6d7f166',
|
|
347
|
+
},
|
|
313
348
|
swusdc: {
|
|
314
349
|
// id: '0x4ace6648ddc64e646ba47a957c562c32c9599b3bba8f5ac1aadb2ae23a2f8ca0',
|
|
315
350
|
id: '0xf1b383b9cf2e9f515fc69567df1053098f273849d09cd84b0278a773429bd2b2',
|
|
@@ -354,35 +389,35 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
354
389
|
config: '',
|
|
355
390
|
},
|
|
356
391
|
borrowIncentive: {
|
|
357
|
-
id: '
|
|
392
|
+
id: '0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe',
|
|
358
393
|
adminCap:
|
|
359
|
-
'
|
|
394
|
+
'0x56ac8e6f2b360b2b35c0168d72cc6cd17d9592afb83709865cb87af24bb2025b',
|
|
360
395
|
object:
|
|
361
|
-
'
|
|
362
|
-
query: '
|
|
396
|
+
'0x85769d63565ce99c7622f8e336ca1460926ddf29738ad2a39407b5cac29f61fe',
|
|
397
|
+
query: '0x8e0d00f8ff1199d7c5fe56cea0e901a525daeefff0445a1635ace8282ae3302c',
|
|
363
398
|
incentivePools:
|
|
364
|
-
'
|
|
399
|
+
'0x9d564c93128c6ab0c0d3e050a47f11df0b91494f3bb779bdc1301c1c637f15eb',
|
|
365
400
|
incentiveAccounts:
|
|
366
|
-
'
|
|
401
|
+
'0x09e6040e798246de04941bc79a3ba62d3eca6d7a218cc30f21fb07f478fa2926',
|
|
367
402
|
config:
|
|
368
|
-
'
|
|
403
|
+
'0x43d4ca1dfc90b161c4240facd119e74e4b850cca2957f88c2ec289c9380da064',
|
|
369
404
|
},
|
|
370
405
|
referral: {
|
|
371
|
-
id: '
|
|
406
|
+
id: '0x1bf5a8ce77050d8052549d743e16b469f15aa6b81b752b78b6ebb65179665f5a',
|
|
372
407
|
object:
|
|
373
408
|
'0x5658d4bf5ddcba27e4337b4262108b3ad1716643cac8c2054ac341538adc72ec',
|
|
374
409
|
adminCap:
|
|
375
410
|
'0xc5dc06b9074291259f2cac460c940012c781c4430e42125c541cc43101c3bcbd',
|
|
376
411
|
referralBindings:
|
|
377
|
-
'
|
|
412
|
+
'0xcf184487782bed962bf678001efe775d31fb94b9992333a57594cf15d79d5ced',
|
|
378
413
|
bindingTableId:
|
|
379
|
-
'
|
|
414
|
+
'0x41a50e258c0a266ce84e0e1a618dbf70b878cc943909e613089a50afcceb2bc0',
|
|
380
415
|
referralRevenuePool:
|
|
381
|
-
'
|
|
416
|
+
'0xc24e3e5e37032f29a3dd91a9a1f057af8821b7e6c148e9683900ac8b6d30f0c6',
|
|
382
417
|
revenueTableId:
|
|
383
418
|
'0x595baa3654c297bff84ab7786a2d250f019cefc66e8df8e89fd9d41e02bd30dd',
|
|
384
419
|
referralTiers:
|
|
385
|
-
'
|
|
420
|
+
'0x144350f3db9b46d11b140084cd54e6de0b9c3b8d265ce8059b51d0ef58ea464b',
|
|
386
421
|
tiersTableId:
|
|
387
422
|
'0xeac755a7a8b7798530905ac79e8c114f19d0f130f6eab012954f08faac29c75d',
|
|
388
423
|
// authorizedWitnessList:
|
|
@@ -390,21 +425,21 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
390
425
|
authorizedWitnessList:
|
|
391
426
|
'0x9d6223dc52015b8a3986a573590ef2af8f1b8f3e4685513888c052f001b87e7f',
|
|
392
427
|
version:
|
|
393
|
-
'
|
|
428
|
+
'0x3545849eb97723e676a476ec9d4fe5f2eb0eb2c6b78972851114fd4c7ed4639f',
|
|
394
429
|
},
|
|
395
430
|
vesca: {
|
|
396
|
-
id: '
|
|
431
|
+
id: '0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2',
|
|
397
432
|
object:
|
|
398
|
-
'
|
|
433
|
+
'0x1158813b32962c2d22888fae257d5f2365b03631f0cd5d5b912ccdf51ff4e2f2',
|
|
399
434
|
adminCap:
|
|
400
435
|
'0x8ffa76135c5b85c5fbd73a6448a4a733d826cb63a267ab817656acb77c72d4a5',
|
|
401
436
|
tableId:
|
|
402
|
-
'
|
|
403
|
-
table: '
|
|
437
|
+
'0x0a0b7f749baeb61e3dfee2b42245e32d0e6b484063f0a536b33e771d573d7246',
|
|
438
|
+
table: '0xd3a4632b1080f7d96e1c2487d4dabf2c1196916937c505a69954ac9f393be8d0',
|
|
404
439
|
treasury:
|
|
405
|
-
'
|
|
440
|
+
'0xafa4b6231e49c15a22d641ce33fda761baaf650fa21899dfa2eb1716146e7306',
|
|
406
441
|
config:
|
|
407
|
-
'
|
|
442
|
+
'0x7cbcb0a342179577a117dfdff974cf1ab765d3b571067bf22ddf5f9e3a667922',
|
|
408
443
|
},
|
|
409
444
|
loyaltyProgram: {
|
|
410
445
|
id: '0xd17bcf8b5a59652c36225d478564a8593ae0ed7d650bcacdda1d6fe179127907',
|
|
@@ -416,13 +451,13 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
416
451
|
'0x748a80395849ed37db1b0e14f2ab5d1d96458d2359ab3a84eb079d0f4ac7cf2e',
|
|
417
452
|
},
|
|
418
453
|
scoin: {
|
|
419
|
-
id: '
|
|
454
|
+
id: '0x773dab39c90fe05439b06a2d061795e52a974ff92c2aef90b2ee467acf7f33c8',
|
|
420
455
|
coins: {
|
|
421
456
|
ssui: {
|
|
422
457
|
coinType:
|
|
423
|
-
'
|
|
458
|
+
'0xf569919046f19a0c40b519ecfbb6ca0319698cd5908716c29b62ef56541f298b::scallop_sui::SCALLOP_SUI',
|
|
424
459
|
treasury:
|
|
425
|
-
'
|
|
460
|
+
'0x0e499640a12c38dd9cc44532f5bc5fd1b6da86d2f9a8810357250f4b26e9e5c7',
|
|
426
461
|
},
|
|
427
462
|
scetus: {
|
|
428
463
|
coinType:
|
|
@@ -432,21 +467,21 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
432
467
|
},
|
|
433
468
|
ssca: {
|
|
434
469
|
coinType:
|
|
435
|
-
'
|
|
470
|
+
'0x958428555e778e55918a59eb1c92c77f32b5c554fa3a5e56cd0815086b5072e7::scallop_sca::SCALLOP_SCA',
|
|
436
471
|
treasury:
|
|
437
|
-
'
|
|
472
|
+
'0x5f1c5de1df7341075d119570269b7b452af50afe8363080638f1ae29a554c038',
|
|
438
473
|
},
|
|
439
474
|
swusdc: {
|
|
440
475
|
coinType:
|
|
441
|
-
'
|
|
476
|
+
'0xf5447c4305a486d8c8557559887c2c39449ddb5e748f15d33946d02a1663c158::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
442
477
|
treasury:
|
|
443
|
-
'
|
|
478
|
+
'0x471fbab72578bab577263006fe32543b6e76153fffa2bef69affe4bc4934258f',
|
|
444
479
|
},
|
|
445
480
|
swusdt: {
|
|
446
481
|
coinType:
|
|
447
|
-
'
|
|
482
|
+
'0xac781d9f73058ff5e69f9bf8dde32f2e8c71c66d7fe8497fc83b2d9182254b22::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
448
483
|
treasury:
|
|
449
|
-
'
|
|
484
|
+
'0x921a4ed4bb4b4f11f51a462c83f4c0f6b60a90e441d1bc0d26d6fd893146bf4d',
|
|
450
485
|
},
|
|
451
486
|
sweth: {
|
|
452
487
|
coinType:
|
|
@@ -470,7 +505,13 @@ export const TEST_ADDRESSES: AddressesInterface = {
|
|
|
470
505
|
coinType:
|
|
471
506
|
'0x97023a317320c4498cc4cd239dd02fd30c28246e5e8f81325d63f2bd8d70f6b3::scallop_v_sui::SCALLOP_V_SUI',
|
|
472
507
|
treasury:
|
|
473
|
-
'0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6
|
|
508
|
+
'0x327114f0bf3559d7e2de10282147ed76a236c7c6775029165c4db09a6062ead6',
|
|
509
|
+
},
|
|
510
|
+
ssbeth: {
|
|
511
|
+
coinType:
|
|
512
|
+
'0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH',
|
|
513
|
+
treasury:
|
|
514
|
+
'0xfd0f02def6358a1f266acfa1493d4707ee8387460d434fb667d63d755ff907ed',
|
|
474
515
|
},
|
|
475
516
|
},
|
|
476
517
|
},
|
|
@@ -99,10 +99,9 @@ export class ScallopBuilder {
|
|
|
99
99
|
* @param address - ScallopAddress instance.
|
|
100
100
|
*/
|
|
101
101
|
public async init(force: boolean = false, address?: ScallopAddress) {
|
|
102
|
-
if (
|
|
102
|
+
if (address && !this.address) this.address = address;
|
|
103
|
+
if (force || !this.address.getAddresses()) {
|
|
103
104
|
await this.address.read();
|
|
104
|
-
} else {
|
|
105
|
-
this.address = address;
|
|
106
105
|
}
|
|
107
106
|
await this.query.init(force, this.address);
|
|
108
107
|
await this.utils.init(force, this.address);
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { SuiKit } from '@scallop-io/sui-kit';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
ADDRESSES_ID,
|
|
4
|
+
SUPPORT_POOLS,
|
|
5
|
+
SUPPORT_SPOOLS,
|
|
6
|
+
DEFAULT_CACHE_OPTIONS,
|
|
7
|
+
} from '../constants';
|
|
3
8
|
import {
|
|
4
9
|
queryMarket,
|
|
5
10
|
getObligations,
|
|
@@ -34,6 +39,14 @@ import {
|
|
|
34
39
|
getFlashLoanFees,
|
|
35
40
|
getVeSca,
|
|
36
41
|
getBorrowIncentivePools,
|
|
42
|
+
getBorrowLimit,
|
|
43
|
+
getIsolatedAssets,
|
|
44
|
+
isIsolatedAsset,
|
|
45
|
+
getSupplyLimit,
|
|
46
|
+
getSCoinAmount,
|
|
47
|
+
getSCoinAmounts,
|
|
48
|
+
getSCoinSwapRate,
|
|
49
|
+
getSCoinTotalSupply,
|
|
37
50
|
} from '../queries';
|
|
38
51
|
import {
|
|
39
52
|
ScallopQueryParams,
|
|
@@ -55,23 +68,10 @@ import { ScallopAddress } from './scallopAddress';
|
|
|
55
68
|
import { ScallopUtils } from './scallopUtils';
|
|
56
69
|
import { ScallopIndexer } from './scallopIndexer';
|
|
57
70
|
import { ScallopCache } from './scallopCache';
|
|
58
|
-
import { DEFAULT_CACHE_OPTIONS } from 'src/constants/cache';
|
|
59
71
|
import { SuiObjectData } from '@mysten/sui/client';
|
|
60
|
-
import {
|
|
61
|
-
getSCoinAmount,
|
|
62
|
-
getSCoinAmounts,
|
|
63
|
-
getSCoinSwapRate,
|
|
64
|
-
getSCoinTotalSupply,
|
|
65
|
-
} from 'src/queries/sCoinQuery';
|
|
66
72
|
import { normalizeSuiAddress } from '@mysten/sui/utils';
|
|
67
|
-
import {
|
|
68
|
-
getSupplyLimit,
|
|
69
|
-
getIsolatedAssets,
|
|
70
|
-
isIsolatedAsset,
|
|
71
|
-
} from 'src/queries';
|
|
72
73
|
import { withIndexerFallback } from 'src/utils/indexer';
|
|
73
74
|
import { newSuiKit } from './suiKit';
|
|
74
|
-
|
|
75
75
|
/**
|
|
76
76
|
* @description
|
|
77
77
|
* It provides methods for getting on-chain data from the Scallop contract.
|
|
@@ -174,11 +174,12 @@ export class ScallopQuery {
|
|
|
174
174
|
* @param address - ScallopAddress instance.
|
|
175
175
|
*/
|
|
176
176
|
public async init(force: boolean = false, address?: ScallopAddress) {
|
|
177
|
-
if (
|
|
178
|
-
await this.address.read();
|
|
179
|
-
} else {
|
|
177
|
+
if (address && !this.address) {
|
|
180
178
|
this.address = address;
|
|
181
179
|
}
|
|
180
|
+
if (force || !this.address.getAddresses()) {
|
|
181
|
+
await this.address.read();
|
|
182
|
+
}
|
|
182
183
|
|
|
183
184
|
await this.utils.init(force, this.address);
|
|
184
185
|
}
|
|
@@ -781,12 +782,19 @@ export class ScallopQuery {
|
|
|
781
782
|
}
|
|
782
783
|
|
|
783
784
|
/**
|
|
784
|
-
* Get supply limit of
|
|
785
|
+
* Get supply limit of lending pool
|
|
785
786
|
*/
|
|
786
787
|
public async getPoolSupplyLimit(poolName: SupportPoolCoins) {
|
|
787
788
|
return await getSupplyLimit(this.utils, poolName);
|
|
788
789
|
}
|
|
789
790
|
|
|
791
|
+
/**
|
|
792
|
+
* Get borrow limit of borrow pool
|
|
793
|
+
*/
|
|
794
|
+
public async getPoolBorrowLimit(poolName: SupportPoolCoins) {
|
|
795
|
+
return await getBorrowLimit(this.utils, poolName);
|
|
796
|
+
}
|
|
797
|
+
|
|
790
798
|
/**
|
|
791
799
|
* Get list of isolated assets
|
|
792
800
|
*/
|
|
@@ -130,10 +130,9 @@ export class ScallopUtils {
|
|
|
130
130
|
* @param address - ScallopAddress instance.
|
|
131
131
|
*/
|
|
132
132
|
public async init(force: boolean = false, address?: ScallopAddress) {
|
|
133
|
-
if (
|
|
133
|
+
if (address && !this.address) this.address = address;
|
|
134
|
+
if (force || !this.address.getAddresses()) {
|
|
134
135
|
await this.address.read();
|
|
135
|
-
} else {
|
|
136
|
-
this.address = address;
|
|
137
136
|
}
|
|
138
137
|
}
|
|
139
138
|
|
|
@@ -537,9 +536,9 @@ export class ScallopUtils {
|
|
|
537
536
|
for (const endpoint of endpoints) {
|
|
538
537
|
const priceIdPairs = Array.from(failedRequests.values()).reduce(
|
|
539
538
|
(acc, coinName) => {
|
|
540
|
-
const priceId =
|
|
541
|
-
`core.coins.${coinName}.oracle.pyth.feed`
|
|
542
|
-
|
|
539
|
+
const priceId =
|
|
540
|
+
this.address.get(`core.coins.${coinName}.oracle.pyth.feed`) ??
|
|
541
|
+
PYTH_FEED_IDS[coinName];
|
|
543
542
|
acc.push([coinName, priceId]);
|
|
544
543
|
return acc;
|
|
545
544
|
},
|