@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.
Files changed (60) hide show
  1. package/dist/index.d.mts +451 -602
  2. package/dist/index.d.ts +451 -602
  3. package/dist/index.js +29 -60
  4. package/dist/index.mjs +6 -6
  5. package/package.json +1 -1
  6. package/src/builders/loyaltyProgramBuilder.ts +5 -3
  7. package/src/builders/oracle.ts +10 -24
  8. package/src/builders/referralBuilder.ts +5 -9
  9. package/src/builders/sCoinBuilder.ts +9 -8
  10. package/src/builders/spoolBuilder.ts +4 -6
  11. package/src/constants/common.ts +114 -126
  12. package/src/constants/index.ts +0 -5
  13. package/src/constants/pyth.ts +25 -34
  14. package/src/constants/queryKeys.ts +2 -0
  15. package/src/models/index.ts +1 -0
  16. package/src/models/scallop.ts +23 -19
  17. package/src/models/scallopAddress.ts +7 -4
  18. package/src/models/scallopBuilder.ts +36 -41
  19. package/src/models/scallopCache.ts +1 -1
  20. package/src/models/scallopClient.ts +93 -94
  21. package/src/models/scallopConstants.ts +342 -0
  22. package/src/models/scallopIndexer.ts +11 -24
  23. package/src/models/scallopQuery.ts +70 -77
  24. package/src/models/scallopUtils.ts +122 -249
  25. package/src/queries/borrowIncentiveQuery.ts +21 -56
  26. package/src/queries/borrowLimitQuery.ts +3 -6
  27. package/src/queries/coreQuery.ts +94 -112
  28. package/src/queries/flashloanFeeQuery.ts +86 -0
  29. package/src/queries/isolatedAssetQuery.ts +12 -11
  30. package/src/queries/poolAddressesQuery.ts +187 -112
  31. package/src/queries/portfolioQuery.ts +65 -67
  32. package/src/queries/priceQuery.ts +16 -22
  33. package/src/queries/sCoinQuery.ts +15 -16
  34. package/src/queries/spoolQuery.ts +49 -59
  35. package/src/queries/supplyLimitQuery.ts +2 -6
  36. package/src/queries/xOracleQuery.ts +4 -15
  37. package/src/types/address.ts +12 -18
  38. package/src/types/builder/borrowIncentive.ts +2 -3
  39. package/src/types/builder/core.ts +20 -27
  40. package/src/types/builder/index.ts +1 -2
  41. package/src/types/builder/referral.ts +4 -8
  42. package/src/types/builder/sCoin.ts +4 -8
  43. package/src/types/builder/spool.ts +7 -10
  44. package/src/types/constant/common.ts +43 -49
  45. package/src/types/constant/enum.ts +15 -27
  46. package/src/types/constant/xOracle.ts +3 -5
  47. package/src/types/model.ts +49 -28
  48. package/src/types/query/borrowIncentive.ts +7 -24
  49. package/src/types/query/core.ts +8 -18
  50. package/src/types/query/portfolio.ts +8 -17
  51. package/src/types/query/spool.ts +5 -11
  52. package/src/types/utils.ts +1 -21
  53. package/src/utils/core.ts +1 -1
  54. package/src/utils/query.ts +13 -20
  55. package/src/utils/util.ts +6 -84
  56. package/src/constants/coinGecko.ts +0 -34
  57. package/src/constants/enum.ts +0 -268
  58. package/src/constants/flashloan.ts +0 -18
  59. package/src/constants/poolAddress.ts +0 -898
  60. package/src/models/scallopPrice.ts +0 -0
@@ -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<SupportPoolCoins>(
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
- utils.parseCoinNameFromType<SupportCollateralCoins>(
215
- parsedMarketCollateralData.coinType
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.parseSCoinTypeNameToMarketCoinName(
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 SupportBorrowIncentiveRewardCoins;
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
- SUPPORT_POOLS,
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
- address: ScallopAddress
14
+ constants: ScallopConstants
94
15
  ) => {
95
- const assetCoinNames = COIN_SET as SupportAssetCoins[];
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`) === feed.id
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
- };
@@ -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
- };