@scallop-io/sui-scallop-sdk 1.5.3 → 2.0.0-alpha.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/index.d.mts +451 -602
- package/dist/index.d.ts +451 -602
- package/dist/index.js +29 -60
- package/dist/index.mjs +6 -6
- package/package.json +1 -1
- package/src/builders/loyaltyProgramBuilder.ts +5 -3
- package/src/builders/oracle.ts +10 -24
- package/src/builders/referralBuilder.ts +5 -9
- package/src/builders/sCoinBuilder.ts +9 -8
- package/src/builders/spoolBuilder.ts +4 -6
- package/src/constants/common.ts +114 -126
- package/src/constants/index.ts +0 -5
- package/src/constants/pyth.ts +25 -34
- package/src/constants/queryKeys.ts +2 -0
- package/src/models/index.ts +1 -0
- package/src/models/scallop.ts +23 -19
- package/src/models/scallopAddress.ts +7 -4
- package/src/models/scallopBuilder.ts +36 -41
- package/src/models/scallopCache.ts +1 -1
- package/src/models/scallopClient.ts +93 -94
- package/src/models/scallopConstants.ts +342 -0
- package/src/models/scallopIndexer.ts +11 -24
- package/src/models/scallopQuery.ts +70 -77
- package/src/models/scallopUtils.ts +122 -249
- package/src/queries/borrowIncentiveQuery.ts +21 -56
- package/src/queries/borrowLimitQuery.ts +3 -6
- package/src/queries/coreQuery.ts +94 -112
- package/src/queries/flashloanFeeQuery.ts +86 -0
- package/src/queries/isolatedAssetQuery.ts +12 -11
- package/src/queries/poolAddressesQuery.ts +187 -112
- package/src/queries/portfolioQuery.ts +65 -67
- package/src/queries/priceQuery.ts +16 -22
- package/src/queries/sCoinQuery.ts +15 -16
- package/src/queries/spoolQuery.ts +49 -59
- package/src/queries/supplyLimitQuery.ts +2 -6
- package/src/queries/xOracleQuery.ts +4 -15
- package/src/types/address.ts +12 -18
- package/src/types/builder/borrowIncentive.ts +2 -3
- package/src/types/builder/core.ts +20 -27
- package/src/types/builder/index.ts +1 -2
- package/src/types/builder/referral.ts +4 -8
- package/src/types/builder/sCoin.ts +4 -8
- package/src/types/builder/spool.ts +7 -10
- package/src/types/constant/common.ts +43 -49
- package/src/types/constant/enum.ts +15 -27
- package/src/types/constant/xOracle.ts +3 -5
- package/src/types/model.ts +49 -28
- package/src/types/query/borrowIncentive.ts +7 -24
- package/src/types/query/core.ts +8 -18
- package/src/types/query/portfolio.ts +8 -17
- package/src/types/query/spool.ts +5 -11
- package/src/types/utils.ts +1 -21
- package/src/utils/core.ts +1 -1
- package/src/utils/query.ts +13 -20
- package/src/utils/util.ts +6 -84
- package/src/constants/coinGecko.ts +0 -34
- package/src/constants/enum.ts +0 -268
- package/src/constants/flashloan.ts +0 -18
- package/src/constants/poolAddress.ts +0 -898
- package/src/models/scallopPrice.ts +0 -0
package/src/utils/query.ts
CHANGED
|
@@ -18,14 +18,11 @@ import type {
|
|
|
18
18
|
ParsedBorrowIncentivePoolData,
|
|
19
19
|
OriginBorrowIncentiveAccountData,
|
|
20
20
|
ParsedBorrowIncentiveAccountData,
|
|
21
|
-
SupportPoolCoins,
|
|
22
|
-
SupportCollateralCoins,
|
|
23
21
|
OriginBorrowIncentivePoolPointData,
|
|
24
22
|
ParsedBorrowIncentivePoolPointData,
|
|
25
23
|
CalculatedBorrowIncentivePoolPointData,
|
|
26
24
|
OriginBorrowIncentiveAccountPoolData,
|
|
27
25
|
ParsedBorrowIncentiveAccountPoolData,
|
|
28
|
-
SupportBorrowIncentiveRewardCoins,
|
|
29
26
|
} from '../types';
|
|
30
27
|
|
|
31
28
|
/**
|
|
@@ -72,10 +69,13 @@ export const calculateMarketPoolData = (
|
|
|
72
69
|
utils: ScallopUtils,
|
|
73
70
|
parsedMarketPoolData: ParsedMarketPoolData
|
|
74
71
|
): CalculatedMarketPoolData => {
|
|
75
|
-
const poolCoinName = utils.parseCoinNameFromType
|
|
72
|
+
const poolCoinName = utils.parseCoinNameFromType(
|
|
76
73
|
parsedMarketPoolData.coinType
|
|
77
74
|
);
|
|
75
|
+
|
|
78
76
|
const coinDecimal = utils.getCoinDecimal(poolCoinName);
|
|
77
|
+
if (coinDecimal === undefined)
|
|
78
|
+
throw new Error(`Coin decimal not found for ${poolCoinName}`);
|
|
79
79
|
|
|
80
80
|
const borrowYearFactor = 24 * 365 * 3600;
|
|
81
81
|
|
|
@@ -210,11 +210,12 @@ export const calculateMarketCollateralData = (
|
|
|
210
210
|
utils: ScallopUtils,
|
|
211
211
|
parsedMarketCollateralData: ParsedMarketCollateralData
|
|
212
212
|
): CalculatedMarketCollateralData => {
|
|
213
|
-
const collateralCoinName =
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
);
|
|
213
|
+
const collateralCoinName = utils.parseCoinNameFromType(
|
|
214
|
+
parsedMarketCollateralData.coinType
|
|
215
|
+
);
|
|
217
216
|
const coinDecimal = utils.getCoinDecimal(collateralCoinName);
|
|
217
|
+
if (coinDecimal === undefined)
|
|
218
|
+
throw new Error(`Coin decimal not found for ${collateralCoinName}`);
|
|
218
219
|
|
|
219
220
|
const maxCollateralCoin = BigNumber(
|
|
220
221
|
parsedMarketCollateralData.maxCollateralAmount
|
|
@@ -448,17 +449,12 @@ export const parseOriginBorrowIncentivePoolData = (
|
|
|
448
449
|
poolPoints: originBorrowIncentivePoolData.points.reduce(
|
|
449
450
|
(acc, point) => {
|
|
450
451
|
const parsed = parseOriginBorrowIncentivesPoolPointData(point);
|
|
451
|
-
const name = utils.
|
|
452
|
-
parseStructTag(parsed.pointType).name.toLowerCase()
|
|
453
|
-
) as SupportBorrowIncentiveRewardCoins;
|
|
452
|
+
const name = utils.parseCoinNameFromType(parsed.pointType) as string;
|
|
454
453
|
|
|
455
454
|
acc[name] = parsed;
|
|
456
455
|
return acc;
|
|
457
456
|
},
|
|
458
|
-
{} as Record<
|
|
459
|
-
SupportBorrowIncentiveRewardCoins,
|
|
460
|
-
ParsedBorrowIncentivePoolPointData
|
|
461
|
-
>
|
|
457
|
+
{} as Record<string, ParsedBorrowIncentivePoolPointData>
|
|
462
458
|
),
|
|
463
459
|
};
|
|
464
460
|
};
|
|
@@ -597,14 +593,11 @@ export const parseOriginBorrowIncentiveAccountData = (
|
|
|
597
593
|
const parsed = parseOriginBorrowIncentiveAccountPoolPointData(point);
|
|
598
594
|
const name = parseStructTag(
|
|
599
595
|
parsed.pointType
|
|
600
|
-
).name.toLowerCase() as
|
|
596
|
+
).name.toLowerCase() as string;
|
|
601
597
|
acc[name] = parsed;
|
|
602
598
|
return acc;
|
|
603
599
|
},
|
|
604
|
-
{} as Record<
|
|
605
|
-
SupportBorrowIncentiveRewardCoins,
|
|
606
|
-
ParsedBorrowIncentiveAccountPoolData
|
|
607
|
-
>
|
|
600
|
+
{} as Record<string, ParsedBorrowIncentiveAccountPoolData>
|
|
608
601
|
),
|
|
609
602
|
};
|
|
610
603
|
};
|
package/src/utils/util.ts
CHANGED
|
@@ -1,85 +1,6 @@
|
|
|
1
1
|
import type { PriceFeed } from '@pythnetwork/pyth-sui-js';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
SUPPORT_COLLATERALS,
|
|
5
|
-
SUPPORT_SPOOLS_REWARDS,
|
|
6
|
-
MAX_LOCK_DURATION,
|
|
7
|
-
SUPPORT_BORROW_INCENTIVE_REWARDS,
|
|
8
|
-
SUPPORT_SCOIN,
|
|
9
|
-
SUPPORT_SUI_BRIDGE,
|
|
10
|
-
SUPPORT_WORMHOLE,
|
|
11
|
-
} from '../constants';
|
|
12
|
-
import type { ScallopAddress } from '../models';
|
|
13
|
-
import type {
|
|
14
|
-
SupportAssetCoins,
|
|
15
|
-
SupportCoins,
|
|
16
|
-
SupportMarketCoins,
|
|
17
|
-
SupportSCoin,
|
|
18
|
-
SupportSuiBridgeCoins,
|
|
19
|
-
SupportWormholeCoins,
|
|
20
|
-
} from '../types';
|
|
21
|
-
|
|
22
|
-
const COIN_SET = Array.from(
|
|
23
|
-
new Set([
|
|
24
|
-
...SUPPORT_POOLS,
|
|
25
|
-
...SUPPORT_COLLATERALS,
|
|
26
|
-
...SUPPORT_SPOOLS_REWARDS,
|
|
27
|
-
...SUPPORT_BORROW_INCENTIVE_REWARDS,
|
|
28
|
-
...SUPPORT_SCOIN,
|
|
29
|
-
])
|
|
30
|
-
);
|
|
31
|
-
|
|
32
|
-
export const isMarketCoin = (
|
|
33
|
-
coinName: SupportCoins
|
|
34
|
-
): coinName is SupportMarketCoins | SupportSCoin => {
|
|
35
|
-
const assetCoinName = coinName.slice(1).toLowerCase() as SupportAssetCoins;
|
|
36
|
-
return (
|
|
37
|
-
coinName.charAt(0).toLowerCase() === 's' && COIN_SET.includes(assetCoinName)
|
|
38
|
-
);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export const isSuiBridgeAsset = (
|
|
42
|
-
coinName: any
|
|
43
|
-
): coinName is SupportSuiBridgeCoins => {
|
|
44
|
-
return SUPPORT_SUI_BRIDGE.includes(coinName);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export const isWormholeAsset = (
|
|
48
|
-
coinName: any
|
|
49
|
-
): coinName is SupportWormholeCoins => {
|
|
50
|
-
return SUPPORT_WORMHOLE.includes(coinName);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export const parseAssetSymbol = (coinName: SupportCoins): string => {
|
|
54
|
-
if (isWormholeAsset(coinName)) {
|
|
55
|
-
return `w${coinName.slice(1).toUpperCase()}`;
|
|
56
|
-
}
|
|
57
|
-
if (isSuiBridgeAsset(coinName)) {
|
|
58
|
-
switch (coinName) {
|
|
59
|
-
case 'sbwbtc':
|
|
60
|
-
return 'sbwBTC';
|
|
61
|
-
default: {
|
|
62
|
-
return `sb${coinName.slice(2).toUpperCase()}`;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (isMarketCoin(coinName)) {
|
|
67
|
-
const assetCoinName = coinName.slice(1).toLowerCase() as SupportAssetCoins;
|
|
68
|
-
return coinName.slice(0, 1).toLowerCase() + parseAssetSymbol(assetCoinName);
|
|
69
|
-
}
|
|
70
|
-
switch (coinName) {
|
|
71
|
-
case 'afsui':
|
|
72
|
-
return 'afSUI';
|
|
73
|
-
case 'hasui':
|
|
74
|
-
return 'haSUI';
|
|
75
|
-
case 'vsui':
|
|
76
|
-
return 'vSUI';
|
|
77
|
-
case 'musd':
|
|
78
|
-
return 'mUSD';
|
|
79
|
-
default:
|
|
80
|
-
return coinName.toUpperCase();
|
|
81
|
-
}
|
|
82
|
-
};
|
|
2
|
+
import { MAX_LOCK_DURATION } from 'src/constants';
|
|
3
|
+
import { ScallopConstants } from 'src/models/scallopConstants';
|
|
83
4
|
|
|
84
5
|
/**
|
|
85
6
|
* Parse price from pyth price feed.
|
|
@@ -90,12 +11,13 @@ export const parseAssetSymbol = (coinName: SupportCoins): string => {
|
|
|
90
11
|
*/
|
|
91
12
|
export const parseDataFromPythPriceFeed = (
|
|
92
13
|
feed: PriceFeed,
|
|
93
|
-
|
|
14
|
+
constants: ScallopConstants
|
|
94
15
|
) => {
|
|
95
|
-
const assetCoinNames =
|
|
16
|
+
const assetCoinNames = [...constants.whitelist.lending] as string[];
|
|
96
17
|
const assetCoinName = assetCoinNames.find((assetCoinName) => {
|
|
97
18
|
return (
|
|
98
|
-
address.get(`core.coins.${assetCoinName}.oracle.pyth.feed`) ===
|
|
19
|
+
constants.address.get(`core.coins.${assetCoinName}.oracle.pyth.feed`) ===
|
|
20
|
+
feed.id
|
|
99
21
|
);
|
|
100
22
|
});
|
|
101
23
|
if (assetCoinName) {
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { SupportPoolCoins } from 'src/types/constant/common';
|
|
2
|
-
|
|
3
|
-
export const COIN_GECKGO_IDS: Record<SupportPoolCoins, string> = {
|
|
4
|
-
// Sui Bridge
|
|
5
|
-
sbeth: 'ethereum',
|
|
6
|
-
sbusdt: 'tether',
|
|
7
|
-
sbwbtc: 'bitcoin',
|
|
8
|
-
// Wormhole
|
|
9
|
-
weth: 'ethereum',
|
|
10
|
-
wbtc: 'bitcoin',
|
|
11
|
-
wusdc: 'usdc',
|
|
12
|
-
wusdt: 'tether',
|
|
13
|
-
wapt: 'aptos',
|
|
14
|
-
wsol: 'solana',
|
|
15
|
-
// Sui Native
|
|
16
|
-
usdc: 'usdc',
|
|
17
|
-
// Sui LST
|
|
18
|
-
sui: 'sui',
|
|
19
|
-
afsui: 'sui',
|
|
20
|
-
hasui: 'sui',
|
|
21
|
-
vsui: 'sui',
|
|
22
|
-
// Stable
|
|
23
|
-
fdusd: 'first-digital-usd',
|
|
24
|
-
// DeFi
|
|
25
|
-
cetus: 'cetus-protocol',
|
|
26
|
-
sca: 'scallop-2',
|
|
27
|
-
deep: 'deepbook',
|
|
28
|
-
// Isolated Asset
|
|
29
|
-
fud: 'fud-the-pug',
|
|
30
|
-
blub: 'blub',
|
|
31
|
-
musd: 'meta-usd',
|
|
32
|
-
ns: 'suins-token',
|
|
33
|
-
usdy: 'ondo-us-dollar-yield',
|
|
34
|
-
};
|
package/src/constants/enum.ts
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import type * as types from '../types';
|
|
2
|
-
import { IS_VE_SCA_TEST } from './common';
|
|
3
|
-
|
|
4
|
-
export const coinDecimals: types.SupportCoinDecimals = {
|
|
5
|
-
usdc: 6,
|
|
6
|
-
sbeth: 8,
|
|
7
|
-
sbusdt: 6,
|
|
8
|
-
sbwbtc: 8,
|
|
9
|
-
weth: 8,
|
|
10
|
-
wbtc: 8,
|
|
11
|
-
wusdc: 6,
|
|
12
|
-
wusdt: 6,
|
|
13
|
-
sui: 9,
|
|
14
|
-
wapt: 8,
|
|
15
|
-
wsol: 8,
|
|
16
|
-
cetus: 9,
|
|
17
|
-
afsui: 9,
|
|
18
|
-
hasui: 9,
|
|
19
|
-
vsui: 9,
|
|
20
|
-
sca: 9,
|
|
21
|
-
fdusd: 6,
|
|
22
|
-
deep: 6,
|
|
23
|
-
fud: 5,
|
|
24
|
-
blub: 2,
|
|
25
|
-
musd: 9,
|
|
26
|
-
ns: 6,
|
|
27
|
-
usdy: 6,
|
|
28
|
-
susdc: 6,
|
|
29
|
-
sweth: 8,
|
|
30
|
-
ssbeth: 8,
|
|
31
|
-
ssbusdt: 6,
|
|
32
|
-
ssbwbtc: 8,
|
|
33
|
-
swbtc: 8,
|
|
34
|
-
swusdc: 6,
|
|
35
|
-
swusdt: 6,
|
|
36
|
-
ssui: 9,
|
|
37
|
-
swapt: 8,
|
|
38
|
-
swsol: 8,
|
|
39
|
-
scetus: 9,
|
|
40
|
-
safsui: 9,
|
|
41
|
-
shasui: 9,
|
|
42
|
-
svsui: 9,
|
|
43
|
-
ssca: 9,
|
|
44
|
-
sfdusd: 6,
|
|
45
|
-
sdeep: 6,
|
|
46
|
-
sfud: 5,
|
|
47
|
-
sblub: 2,
|
|
48
|
-
smusd: 9,
|
|
49
|
-
sns: 6,
|
|
50
|
-
susdy: 6,
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export const assetCoins: types.AssetCoins = {
|
|
54
|
-
usdc: 'usdc',
|
|
55
|
-
sbeth: 'sbeth',
|
|
56
|
-
sbusdt: 'sbusdt',
|
|
57
|
-
sbwbtc: 'sbwbtc',
|
|
58
|
-
weth: 'weth',
|
|
59
|
-
wbtc: 'wbtc',
|
|
60
|
-
wusdc: 'wusdc',
|
|
61
|
-
wusdt: 'wusdt',
|
|
62
|
-
sui: 'sui',
|
|
63
|
-
wapt: 'wapt',
|
|
64
|
-
wsol: 'wsol',
|
|
65
|
-
cetus: 'cetus',
|
|
66
|
-
afsui: 'afsui',
|
|
67
|
-
hasui: 'hasui',
|
|
68
|
-
vsui: 'vsui',
|
|
69
|
-
sca: 'sca',
|
|
70
|
-
fdusd: 'fdusd',
|
|
71
|
-
deep: 'deep',
|
|
72
|
-
fud: 'fud',
|
|
73
|
-
blub: 'blub',
|
|
74
|
-
musd: 'musd',
|
|
75
|
-
ns: 'ns',
|
|
76
|
-
usdy: 'usdy',
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export const marketCoins: types.MarketCoins = {
|
|
80
|
-
susdc: 'susdc',
|
|
81
|
-
ssbeth: 'ssbeth',
|
|
82
|
-
ssbusdt: 'ssbusdt',
|
|
83
|
-
ssbwbtc: 'ssbwbtc',
|
|
84
|
-
sweth: 'sweth',
|
|
85
|
-
swbtc: 'swbtc',
|
|
86
|
-
swusdc: 'swusdc',
|
|
87
|
-
swusdt: 'swusdt',
|
|
88
|
-
ssui: 'ssui',
|
|
89
|
-
swapt: 'swapt',
|
|
90
|
-
swsol: 'swsol',
|
|
91
|
-
scetus: 'scetus',
|
|
92
|
-
safsui: 'safsui',
|
|
93
|
-
shasui: 'shasui',
|
|
94
|
-
svsui: 'svsui',
|
|
95
|
-
ssca: 'ssca',
|
|
96
|
-
sfdusd: 'sfdusd',
|
|
97
|
-
sdeep: 'sdeep',
|
|
98
|
-
sfud: 'sfud',
|
|
99
|
-
sblub: 'sblub',
|
|
100
|
-
smusd: 'smusd',
|
|
101
|
-
sns: 'sns',
|
|
102
|
-
susdy: 'susdy',
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export const sCoins: types.SCoins = {
|
|
106
|
-
susdc: 'susdc',
|
|
107
|
-
ssbeth: 'ssbeth',
|
|
108
|
-
ssbusdt: 'ssbusdt',
|
|
109
|
-
sweth: 'sweth',
|
|
110
|
-
swusdc: 'swusdc',
|
|
111
|
-
swusdt: 'swusdt',
|
|
112
|
-
ssbwbtc: 'ssbwbtc',
|
|
113
|
-
ssui: 'ssui',
|
|
114
|
-
scetus: 'scetus',
|
|
115
|
-
safsui: 'safsui',
|
|
116
|
-
shasui: 'shasui',
|
|
117
|
-
svsui: 'svsui',
|
|
118
|
-
ssca: 'ssca',
|
|
119
|
-
swsol: 'swsol',
|
|
120
|
-
swbtc: 'swbtc',
|
|
121
|
-
sfdusd: 'sfdusd',
|
|
122
|
-
sfud: 'sfud',
|
|
123
|
-
sdeep: 'sdeep',
|
|
124
|
-
sblub: 'sblub',
|
|
125
|
-
smusd: 'smusd',
|
|
126
|
-
sns: 'sns',
|
|
127
|
-
susdy: 'susdy',
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
export const stakeMarketCoins: types.StakeMarketCoins = {
|
|
131
|
-
susdc: 'susdc',
|
|
132
|
-
sweth: 'sweth',
|
|
133
|
-
ssui: 'ssui',
|
|
134
|
-
swusdc: 'swusdc',
|
|
135
|
-
swusdt: 'swusdt',
|
|
136
|
-
scetus: 'scetus',
|
|
137
|
-
safsui: 'safsui',
|
|
138
|
-
shasui: 'shasui',
|
|
139
|
-
svsui: 'svsui',
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export const spoolRewardCoins: types.StakeRewardCoins = {
|
|
143
|
-
sweth: 'sui',
|
|
144
|
-
ssui: 'sui',
|
|
145
|
-
swusdc: 'sui',
|
|
146
|
-
swusdt: 'sui',
|
|
147
|
-
scetus: 'sui',
|
|
148
|
-
safsui: 'sui',
|
|
149
|
-
shasui: 'sui',
|
|
150
|
-
svsui: 'sui',
|
|
151
|
-
susdc: 'sui',
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
export const suiBridgeCoins: types.SuiBridgeCoins = {
|
|
155
|
-
sbeth: 'sbeth',
|
|
156
|
-
sbusdt: 'sbusdt',
|
|
157
|
-
sbwbtc: 'sbwbtc',
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
export const coinIds: types.AssetCoinIds = {
|
|
161
|
-
sui: '0x0000000000000000000000000000000000000000000000000000000000000002',
|
|
162
|
-
cetus: '0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b',
|
|
163
|
-
sca: IS_VE_SCA_TEST
|
|
164
|
-
? '0x6cd813061a3adf3602b76545f076205f0c8e7ec1d3b1eab9a1da7992c18c0524'
|
|
165
|
-
: '0x7016aae72cfc67f2fadf55769c0a7dd54291a583b63051a5ed71081cce836ac6',
|
|
166
|
-
musd: '0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722',
|
|
167
|
-
ns: '0x5145494a5f5100e645e4b0aa950fa6b68f614e8c59e17bc5ded3495123a79178',
|
|
168
|
-
// Wormhole assets
|
|
169
|
-
weth: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5',
|
|
170
|
-
wbtc: '0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881',
|
|
171
|
-
wapt: '0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37',
|
|
172
|
-
wsol: '0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8',
|
|
173
|
-
// Sui LST
|
|
174
|
-
afsui: '0xf325ce1300e8dac124071d3152c5c5ee6174914f8bc2161e88329cf579246efc',
|
|
175
|
-
hasui: '0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d',
|
|
176
|
-
vsui: '0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55',
|
|
177
|
-
// stable coins
|
|
178
|
-
usdc: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7',
|
|
179
|
-
wusdc: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf',
|
|
180
|
-
wusdt: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c',
|
|
181
|
-
fdusd: '0xf16e6b723f242ec745dfd7634ad072c42d5c1d9ac9d62a39c381303eaa57693a',
|
|
182
|
-
usdy: '0x960b531667636f39e85867775f52f6b1f220a058c4de786905bdf761e06a56bb',
|
|
183
|
-
// isolated assets
|
|
184
|
-
deep: '0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270',
|
|
185
|
-
fud: '0x76cb819b01abed502bee8a702b4c2d547532c12f25001c9dea795a5e631c26f1',
|
|
186
|
-
blub: '0xfa7ac3951fdca92c5200d468d31a365eb03b2be9936fde615e69f0c1274ad3a0',
|
|
187
|
-
// Sui bridge assets
|
|
188
|
-
sbeth: '0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29',
|
|
189
|
-
sbusdt: '0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068',
|
|
190
|
-
sbwbtc: '0xaafb102dd0902f5055cadecd687fb5b71ca82ef0e0285d90afde828ec58ca96b',
|
|
191
|
-
};
|
|
192
|
-
|
|
193
|
-
export const wormholeCoinIds: types.WormholeCoinIds = {
|
|
194
|
-
weth: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5',
|
|
195
|
-
wbtc: '0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881',
|
|
196
|
-
wusdc: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf',
|
|
197
|
-
wusdt: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c',
|
|
198
|
-
wapt: '0x3a5143bb1196e3bcdfab6203d1683ae29edd26294fc8bfeafe4aaa9d2704df37',
|
|
199
|
-
wsol: '0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8',
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
export const voloCoinIds: types.VoloCoinIds = {
|
|
203
|
-
vsui: '0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55',
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
export const sCoinIds: types.SCoinIds = {
|
|
207
|
-
ssui: '0xaafc4f740de0dd0dde642a31148fb94517087052f19afb0f7bed1dc41a50c77b::scallop_sui::SCALLOP_SUI',
|
|
208
|
-
ssca: '0x5ca17430c1d046fae9edeaa8fd76c7b4193a00d764a0ecfa9418d733ad27bc1e::scallop_sca::SCALLOP_SCA',
|
|
209
|
-
scetus:
|
|
210
|
-
'0xea346ce428f91ab007210443efcea5f5cdbbb3aae7e9affc0ca93f9203c31f0c::scallop_cetus::SCALLOP_CETUS',
|
|
211
|
-
smusd:
|
|
212
|
-
'0x0a228d1c59071eccf3716076a1f71216846ee256d9fb07ea11fb7c1eb56435a5::scallop_musd::SCALLOP_MUSD',
|
|
213
|
-
sns: '0x6511052d2f1404934e0d877709949bcda7c1d451d1218a4b2643ca2f3fa93991::scallop_ns::SCALLOP_NS',
|
|
214
|
-
// Wormhole assets
|
|
215
|
-
sweth:
|
|
216
|
-
'0x67540ceb850d418679e69f1fb6b2093d6df78a2a699ffc733f7646096d552e9b::scallop_wormhole_eth::SCALLOP_WORMHOLE_ETH',
|
|
217
|
-
swsol:
|
|
218
|
-
'0x1392650f2eca9e3f6ffae3ff89e42a3590d7102b80e2b430f674730bc30d3259::scallop_wormhole_sol::SCALLOP_WORMHOLE_SOL',
|
|
219
|
-
swbtc:
|
|
220
|
-
'0x2cf76a9cf5d3337961d1154283234f94da2dcff18544dfe5cbdef65f319591b5::scallop_wormhole_btc::SCALLOP_WORMHOLE_BTC',
|
|
221
|
-
// Sui LST
|
|
222
|
-
safsui:
|
|
223
|
-
'0x00671b1fa2a124f5be8bdae8b91ee711462c5d9e31bda232e70fd9607b523c88::scallop_af_sui::SCALLOP_AF_SUI',
|
|
224
|
-
shasui:
|
|
225
|
-
'0x9a2376943f7d22f88087c259c5889925f332ca4347e669dc37d54c2bf651af3c::scallop_ha_sui::SCALLOP_HA_SUI',
|
|
226
|
-
svsui:
|
|
227
|
-
'0xe1a1cc6bcf0001a015eab84bcc6713393ce20535f55b8b6f35c142e057a25fbe::scallop_v_sui::SCALLOP_V_SUI',
|
|
228
|
-
// stable coins
|
|
229
|
-
susdc:
|
|
230
|
-
'0x854950aa624b1df59fe64e630b2ba7c550642e9342267a33061d59fb31582da5::scallop_usdc::SCALLOP_USDC',
|
|
231
|
-
swusdc:
|
|
232
|
-
'0xad4d71551d31092230db1fd482008ea42867dbf27b286e9c70a79d2a6191d58d::scallop_wormhole_usdc::SCALLOP_WORMHOLE_USDC',
|
|
233
|
-
swusdt:
|
|
234
|
-
'0xe6e5a012ec20a49a3d1d57bd2b67140b96cd4d3400b9d79e541f7bdbab661f95::scallop_wormhole_usdt::SCALLOP_WORMHOLE_USDT',
|
|
235
|
-
sfdusd:
|
|
236
|
-
'0x6711551c1e7652a270d9fbf0eee25d99594c157cde3cb5fbb49035eb59b1b001::scallop_fdusd::SCALLOP_FDUSD',
|
|
237
|
-
susdy:
|
|
238
|
-
'0xd285cbbf54c87fd93cd15227547467bb3e405da8bbf2ab99f83f323f88ac9a65::scallop_usdy::SCALLOP_USDY',
|
|
239
|
-
// isolated assets
|
|
240
|
-
sdeep:
|
|
241
|
-
'0xeb7a05a3224837c5e5503575aed0be73c091d1ce5e43aa3c3e716e0ae614608f::scallop_deep::SCALLOP_DEEP',
|
|
242
|
-
sfud: '0xe56d5167f427cbe597da9e8150ef5c337839aaf46891d62468dcf80bdd8e10d1::scallop_fud::SCALLOP_FUD',
|
|
243
|
-
sblub:
|
|
244
|
-
'0xe72f65446eabfad2103037af2d49d24599106fb44bf4c046c1e7e9acf6844dd0::scallop_blub::SCALLOP_BLUB',
|
|
245
|
-
// Sui bridge assets
|
|
246
|
-
ssbeth:
|
|
247
|
-
'0xb14f82d8506d139eacef109688d1b71e7236bcce9b2c0ad526abcd6aa5be7de0::scallop_sb_eth::SCALLOP_SB_ETH',
|
|
248
|
-
ssbusdt:
|
|
249
|
-
'0xb1d7df34829d1513b73ba17cb7ad90c88d1e104bb65ab8f62f13e0cc103783d3::scallop_sb_usdt::SCALLOP_SB_USDT',
|
|
250
|
-
ssbwbtc:
|
|
251
|
-
'0x08c0fe357d3a138f4552bee393ce3a28a45bebcca43373d6a90bc44ab76f82e2::scallop_sb_wbtc::SCALLOP_SB_WBTC',
|
|
252
|
-
} as const;
|
|
253
|
-
|
|
254
|
-
export const sCoinTypeToName = Object.entries(sCoinIds).reduce(
|
|
255
|
-
(acc, [coinName, coinType]) => {
|
|
256
|
-
acc[coinType] = coinName as types.SupportSCoin;
|
|
257
|
-
return acc;
|
|
258
|
-
},
|
|
259
|
-
{} as Record<string, types.SupportSCoin>
|
|
260
|
-
);
|
|
261
|
-
|
|
262
|
-
export const sCoinRawNameToName = Object.entries(sCoinIds).reduce(
|
|
263
|
-
(acc, [coinName, coinType]) => {
|
|
264
|
-
acc[coinType.split('::')[2].toLowerCase()] = coinName as types.SupportSCoin;
|
|
265
|
-
return acc;
|
|
266
|
-
},
|
|
267
|
-
{} as Record<string, types.SupportSCoin>
|
|
268
|
-
);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { OptionalKeys, SupportPoolCoins } from 'src/types';
|
|
2
|
-
|
|
3
|
-
export const FlashLoanFeeObjectMap: OptionalKeys<
|
|
4
|
-
Record<SupportPoolCoins, string>
|
|
5
|
-
> = {
|
|
6
|
-
vsui: '0x0069cddee7a5c0b1d34beb5ef0620f978096525f1830b055f38b110f40d73fbb',
|
|
7
|
-
wbtc: '0x2078490aa37d8fb42b511e5c95e217cb957d141267e16980bc802d76b42719f7',
|
|
8
|
-
sui: '0x27614284a8f0a699ffd35aae8f2572c937ec76771cb21b0d7930ec4491a76ed4',
|
|
9
|
-
wusdt: '0x5b61983a19b5159ca348d291e4b595f42db70ccda32852a2ed85528aa65171e4',
|
|
10
|
-
wapt: '0x9d5898edcd1e4abcb044273242293a9d036f6a977bf3fe57ab71f5a87c505ee6',
|
|
11
|
-
afsui: '0xac87fde83d434554ec300c1334c9a622aa5b59e82a04334dc99e1cc1f75d4eae',
|
|
12
|
-
hasui: '0xb9f505d532de1d6c9f3a8522a2d16f2958b75c0ed939d4f80b96f584a2a8ed5e',
|
|
13
|
-
wusdc: '0xd241d6a7e44ac11a6689370ed9a98eec389b98b8a6695c61fddede9fa7567b90',
|
|
14
|
-
weth: '0xd252acb058e77877810c1290564e290a8f9fcab5bc9aca2884ede8a38810cf34',
|
|
15
|
-
sca: '0xe04e46471754b6f48d81c549ecfec09de02733715a63bec02364c6ac7c4dd2dc',
|
|
16
|
-
cetus: '0xe65a73d11c31b2d323ad2b9f6b4bb0a3c0df9c1b212eef66c854941186a5ddc7',
|
|
17
|
-
wsol: '0xe84bdb35b790fc7bdd1645122ac6ac0fc904531d6772c9e25904fece322c5f34',
|
|
18
|
-
};
|