@defisaver/positions-sdk 2.1.12 → 2.1.13-dev-plasma-fluid

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.
@@ -12,7 +12,7 @@ import { assetAmountInEth, getAssetInfo, getAssetInfoByAddress, } from '@defisav
12
12
  import { IncentiveKind, NetworkNumber, } from '../types/common';
13
13
  import { FluidVaultType, } from '../types';
14
14
  import { BTCPriceFeedContractViem, DFSFeedRegistryContractViem, ETHPriceFeedContractViem, FeedRegistryContractViem, FluidViewContractViem, } from '../contracts';
15
- import { compareAddresses, DEFAULT_TIMEOUT, getEthAmountForDecimals, isMainnetNetwork, } from '../services/utils';
15
+ import { compareAddresses, DEFAULT_TIMEOUT, getEthAmountForDecimals, getNativeAssetFromWrapped, isMainnetNetwork, } from '../services/utils';
16
16
  import { getFluidAggregatedData, mergeAssetData, mergeUsedAssets, parseDexBorrowData, parseDexSupplyData, } from '../helpers/fluidHelpers';
17
17
  import { getFluidMarketInfoById, getFluidVersionsDataForNetwork, getFTokenAddress } from '../markets';
18
18
  import { USD_QUOTE, ZERO_ADDRESS } from '../constants';
@@ -66,7 +66,7 @@ const getChainLinkPricesForTokens = (tokens, network, client) => __awaiter(void
66
66
  const chainLinkFeedAddress = getChainlinkAssetAddress(assetInfo.symbol, network);
67
67
  if (assetInfo.symbol === 'wstETH')
68
68
  return getWstETHChainLinkPriceCalls(client, network);
69
- if (assetInfo.symbol === 'weETH')
69
+ if (assetInfo.symbol === 'weETH' && network !== NetworkNumber.Plasma)
70
70
  return getWeETHChainLinkPriceCalls(client, network);
71
71
  if (isMainnet) {
72
72
  const feedRegistryContract = FeedRegistryContractViem(client, NetworkNumber.Eth);
@@ -92,7 +92,7 @@ const getChainLinkPricesForTokens = (tokens, network, client) => __awaiter(void
92
92
  const btcPriceChainlink = new Dec(results[1].result).div(1e8).toString();
93
93
  let offset = 2; // wstETH and weETH has 3 calls, while others have only 1, so we need to keep track. First 2 are static calls for eth and btc prices
94
94
  return noDuplicateTokens.reduce((acc, token, i) => {
95
- var _a;
95
+ var _a, _b;
96
96
  const assetInfo = getAssetInfoByAddress(token, network);
97
97
  switch (assetInfo.symbol) {
98
98
  case 'USDA':
@@ -128,16 +128,31 @@ const getChainLinkPricesForTokens = (tokens, network, client) => __awaiter(void
128
128
  break;
129
129
  }
130
130
  case 'weETH': {
131
- const { ethPrice, weETHRate, } = parseWeETHPriceCalls(results[i + offset].result.toString(),
132
- // @ts-ignore
133
- results[i + offset + 1].result[1].toString(), results[i + offset + 2].result.toString());
134
- offset += 2;
135
- acc[token] = new Dec(ethPrice).mul(weETHRate).toString();
131
+ if (network !== NetworkNumber.Plasma) {
132
+ const { ethPrice, weETHRate, } = parseWeETHPriceCalls(results[i + offset].result.toString(),
133
+ // @ts-ignore
134
+ results[i + offset + 1].result[1].toString(), results[i + offset + 2].result.toString());
135
+ offset += 2;
136
+ acc[token] = new Dec(ethPrice).mul(weETHRate).toString();
137
+ // @ts-ignore
138
+ }
139
+ else if ((_a = results[i + offset].result) === null || _a === void 0 ? void 0 : _a[1]) {
140
+ // For Plasma, use default chainlink feed (latestRoundData format)
141
+ // @ts-ignore
142
+ acc[token] = new Dec(results[i + offset].result[1].toString()).div(1e8).toString();
143
+ }
144
+ else if (results[i + offset].result) {
145
+ // For Plasma, use default chainlink feed (latestAnswer format)
146
+ acc[token] = new Dec(results[i + offset].result.toString()).div(1e8).toString();
147
+ }
148
+ else {
149
+ acc[token] = '0';
150
+ }
136
151
  break;
137
152
  }
138
153
  default:
139
154
  // @ts-ignore
140
- if ((_a = results[i + offset].result) === null || _a === void 0 ? void 0 : _a[1]) {
155
+ if ((_b = results[i + offset].result) === null || _b === void 0 ? void 0 : _b[1]) {
141
156
  // @ts-ignore
142
157
  acc[token] = new Dec(results[i + offset].result[1].toString()).div(1e8).toString();
143
158
  }
@@ -170,8 +185,14 @@ const getTokenPriceFromChainlink = (asset, network, provider) => __awaiter(void
170
185
  else {
171
186
  // Currently only base network is supported
172
187
  const feedRegistryContract = DFSFeedRegistryContractViem(provider, network);
173
- const roundPriceData = isTokenUSDA ? [0, '100000000'] : yield feedRegistryContract.read.latestRoundData([loanTokenFeedAddress, USD_QUOTE]);
174
- loanTokenPrice = roundPriceData[1].toString();
188
+ try {
189
+ const roundPriceData = isTokenUSDA ? [0, '100000000'] : yield feedRegistryContract.read.latestRoundData([loanTokenFeedAddress, USD_QUOTE]);
190
+ loanTokenPrice = roundPriceData[1].toString();
191
+ }
192
+ catch (err) {
193
+ console.error(`Error fetching price for ${asset.symbol} on ${network}: ${err}`);
194
+ loanTokenPrice = '0';
195
+ }
175
196
  }
176
197
  return new Dec(loanTokenPrice).div(1e8).toString();
177
198
  });
@@ -208,8 +229,8 @@ const getTradingApy = (poolAddress) => __awaiter(void 0, void 0, void 0, functio
208
229
  });
209
230
  const parseT1MarketData = (provider_1, data_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, data_1, network_1, ...args_1], void 0, function* (provider, data, network, tokenPrices = null) {
210
231
  var _a, _b;
211
- const collAsset = getAssetInfoByAddress(data.supplyToken0, network);
212
- const debtAsset = getAssetInfoByAddress(data.borrowToken0, network);
232
+ const collAsset = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken0, network).symbol), network);
233
+ const debtAsset = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken0, network).symbol), network);
213
234
  const supplyRate = new Dec(data.supplyRateVault).div(100).toString();
214
235
  const borrowRate = new Dec(data.borrowRateVault).div(100).toString();
215
236
  const oracleScaleFactor = new Dec(27).add(debtAsset.decimals).sub(collAsset.decimals).toString();
@@ -318,9 +339,9 @@ const parseT1MarketData = (provider_1, data_1, network_1, ...args_1) => __awaite
318
339
  });
319
340
  const parseT2MarketData = (provider_1, data_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, data_1, network_1, ...args_1], void 0, function* (provider, data, network, tokenPrices = null) {
320
341
  var _a, _b, _c;
321
- const collAsset0 = getAssetInfoByAddress(data.supplyToken0, network);
322
- const collAsset1 = getAssetInfoByAddress(data.supplyToken1, network);
323
- const debtAsset = getAssetInfoByAddress(data.borrowToken0, network);
342
+ const collAsset0 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken0, network).symbol), network);
343
+ const collAsset1 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken1, network).symbol), network);
344
+ const debtAsset = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken0, network).symbol), network);
324
345
  // 18 because collateral is represented in shares for which they use 18 decimals
325
346
  const oracleScaleFactor = new Dec(27).add(debtAsset.decimals).sub(18).toString();
326
347
  const oracleScale = new Dec(10).pow(oracleScaleFactor).toString();
@@ -471,9 +492,9 @@ const parseT2MarketData = (provider_1, data_1, network_1, ...args_1) => __awaite
471
492
  });
472
493
  const parseT3MarketData = (provider_1, data_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, data_1, network_1, ...args_1], void 0, function* (provider, data, network, tokenPrices = null) {
473
494
  var _a, _b, _c, _d;
474
- const collAsset = getAssetInfoByAddress(data.supplyToken0, network);
475
- const debtAsset0 = getAssetInfoByAddress(data.borrowToken0, network);
476
- const debtAsset1 = getAssetInfoByAddress(data.borrowToken1, network);
495
+ const collAsset = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken0, network).symbol), network);
496
+ const debtAsset0 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken0, network).symbol), network);
497
+ const debtAsset1 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken1, network).symbol), network);
477
498
  const { borrowableShares, maxBorrowShares, borrowDexFee, utilizationBorrow0, utilizationBorrow1, borrowable0, borrowable1, borrowRate0, borrowRate1, totalBorrowShares, token0PerBorrowShare, token1PerBorrowShare, borrowableToken0, borrowableToken1, totalBorrowToken0, totalBorrowToken1, reservesBorrowToken0, reservesBorrowToken1, } = parseDexBorrowData(data.dexBorrowData, debtAsset0.symbol, debtAsset1.symbol);
478
499
  // 18 because debt is represented in shares for which they use 18 decimals
479
500
  const oracleScaleFactor = new Dec(27).add(18).sub(collAsset.decimals).toString();
@@ -620,10 +641,10 @@ const parseT3MarketData = (provider_1, data_1, network_1, ...args_1) => __awaite
620
641
  });
621
642
  const parseT4MarketData = (provider_1, data_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, data_1, network_1, ...args_1], void 0, function* (provider, data, network, tokenPrices = null) {
622
643
  var _a, _b, _c, _d;
623
- const collAsset0 = getAssetInfoByAddress(data.supplyToken0, network);
624
- const collAsset1 = getAssetInfoByAddress(data.supplyToken1, network);
625
- const debtAsset0 = getAssetInfoByAddress(data.borrowToken0, network);
626
- const debtAsset1 = getAssetInfoByAddress(data.borrowToken1, network);
644
+ const collAsset0 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken0, network).symbol), network);
645
+ const collAsset1 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.supplyToken1, network).symbol), network);
646
+ const debtAsset0 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken0, network).symbol), network);
647
+ const debtAsset1 = getAssetInfo(getNativeAssetFromWrapped(getAssetInfoByAddress(data.borrowToken1, network).symbol), network);
627
648
  const quoteToken = getAssetInfoByAddress(data.dexBorrowData.quoteToken, network);
628
649
  // 27 - 18 + 18
629
650
  const oracleScaleFactor = new Dec(27).toString();
@@ -1170,7 +1191,7 @@ const getTokenPricePortfolio = (token, provider, network) => __awaiter(void 0, v
1170
1191
  if (token === 'wstETH') {
1171
1192
  return getWstETHPrice(provider, network);
1172
1193
  }
1173
- if (token === 'weETH') {
1194
+ if (token === 'weETH' && network !== NetworkNumber.Plasma) {
1174
1195
  return getWeETHPrice(provider, network);
1175
1196
  }
1176
1197
  const isMainnet = isMainnetNetwork(network);
@@ -15,7 +15,7 @@ export const aaveV3AssetsDefaultMarketOpt = [
15
15
  export const aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
16
16
  export const aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC'];
17
17
  export const aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC'];
18
- export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH'];
18
+ export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT'];
19
19
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
20
20
  export const aaveV3AssetsDefaultMarket = {
21
21
  [NetworkNumber.Eth]: aaveV3AssetsDefaultMarketEth,
@@ -116,6 +116,27 @@ export declare const FLUID_WSTETH_SUSDS_18_BASE: (networkId?: NetworkNumber) =>
116
116
  export declare const FLUID_CBBTC_SUSDS_19_BASE: (networkId?: NetworkNumber) => FluidMarketInfo;
117
117
  export declare const FLUID_LBTC_USDC_21_BASE: (networkId?: NetworkNumber) => FluidMarketInfo;
118
118
  export declare const FLUID_LBTC_SUSDS_22_BASE: (networkId?: NetworkNumber) => FluidMarketInfo;
119
+ export declare const FLUID_ETH_USDT_1_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
120
+ export declare const FLUID_ETH_USDE_2_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
121
+ export declare const FLUID_WEETH_ETH_3_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
122
+ export declare const FLUID_SUSDE_USDT_4_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
123
+ export declare const FLUID_WEETH_USDT_5_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
124
+ export declare const FLUID_WEETH_USDE_6_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
125
+ export declare const FLUID_XAUT_USDT_7_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
126
+ export declare const FLUID_XAUT_USDE_8_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
127
+ export declare const FLUID_USDE_USDT_9_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
128
+ export declare const FLUID_USDAI_USDT_10_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
129
+ export declare const FLUID_WEETH_ETH_ETH_11_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
130
+ export declare const FLUID_SUSDE_USDT_USDT_12_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
131
+ export declare const FLUID_USDE_USDT_USDT_13_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
132
+ export declare const FLUID_USDAI_USDT_USDT_14_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
133
+ export declare const FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
134
+ export declare const FLUID_XPL_USDT_16_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
135
+ export declare const FLUID_XPL_USDE_17_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
136
+ export declare const FLUID_WSTUSR_USDT_18_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
137
+ export declare const FLUID_WSTUSR_USDT_USDT_19_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
138
+ export declare const FLUID_SYRUPUSDT_USDT_20_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
139
+ export declare const FLUID_ETH_WRSETH_ETH_21_PLASMA: (networkId?: NetworkNumber) => FluidMarketInfo;
119
140
  export declare const FluidMarkets: (networkId: NetworkNumber) => {
120
141
  FLUID_ETH_USDC_1: FluidMarketInfo;
121
142
  FLUID_ETH_USDT_2: FluidMarketInfo;
@@ -233,6 +254,27 @@ export declare const FluidMarkets: (networkId: NetworkNumber) => {
233
254
  FLUID_CBBTC_SUSDS_19_BASE: FluidMarketInfo;
234
255
  FLUID_LBTC_USDC_21_BASE: FluidMarketInfo;
235
256
  FLUID_LBTC_SUSDS_22_BASE: FluidMarketInfo;
257
+ FLUID_ETH_USDT_1_PLASMA: FluidMarketInfo;
258
+ FLUID_ETH_USDE_2_PLASMA: FluidMarketInfo;
259
+ FLUID_WEETH_ETH_3_PLASMA: FluidMarketInfo;
260
+ FLUID_SUSDE_USDT_4_PLASMA: FluidMarketInfo;
261
+ FLUID_WEETH_USDT_5_PLASMA: FluidMarketInfo;
262
+ FLUID_WEETH_USDE_6_PLASMA: FluidMarketInfo;
263
+ FLUID_XAUT_USDT_7_PLASMA: FluidMarketInfo;
264
+ FLUID_XAUT_USDE_8_PLASMA: FluidMarketInfo;
265
+ FLUID_USDE_USDT_9_PLASMA: FluidMarketInfo;
266
+ FLUID_USDAI_USDT_10_PLASMA: FluidMarketInfo;
267
+ FLUID_WEETH_ETH_ETH_11_PLASMA: FluidMarketInfo;
268
+ FLUID_SUSDE_USDT_USDT_12_PLASMA: FluidMarketInfo;
269
+ FLUID_USDE_USDT_USDT_13_PLASMA: FluidMarketInfo;
270
+ FLUID_USDAI_USDT_USDT_14_PLASMA: FluidMarketInfo;
271
+ FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA: FluidMarketInfo;
272
+ FLUID_XPL_USDT_16_PLASMA: FluidMarketInfo;
273
+ FLUID_XPL_USDE_17_PLASMA: FluidMarketInfo;
274
+ FLUID_WSTUSR_USDT_18_PLASMA: FluidMarketInfo;
275
+ FLUID_WSTUSR_USDT_USDT_19_PLASMA: FluidMarketInfo;
276
+ FLUID_SYRUPUSDT_USDT_20_PLASMA: FluidMarketInfo;
277
+ FLUID_ETH_WRSETH_ETH_21_PLASMA: FluidMarketInfo;
236
278
  };
237
279
  export declare const getFluidVersionsDataForNetwork: (network: NetworkNumber) => FluidMarketInfo[];
238
280
  export declare const getFluidMarketInfoById: (vaultId: number, network?: NetworkNumber) => FluidMarketInfo | undefined;
@@ -260,5 +302,9 @@ export declare const FluidFTokens: (networkId: NetworkNumber) => {
260
302
  wstETH: string;
261
303
  sUSDS: string;
262
304
  GHO: string;
305
+ } | {
306
+ ETH: string;
307
+ USDT: string;
308
+ USDe: string;
263
309
  };
264
310
  export declare const getFTokenAddress: (token: string, networkId: NetworkNumber) => any;
@@ -1,5 +1,5 @@
1
1
  import { NetworkNumber } from '../../types/common';
2
- import { FluidArbitrumDepositToken, FluidArbitrumVersion, FluidBaseDepositToken, FluidBaseVersions, FluidMainnetDepositToken, FluidMainnetVersion, FluidVaultType, } from '../../types';
2
+ import { FluidArbitrumDepositToken, FluidArbitrumVersion, FluidBaseDepositToken, FluidBaseVersions, FluidMainnetDepositToken, FluidMainnetVersion, FluidPlasmaDepositToken, FluidPlasmaVersions, FluidVaultType, } from '../../types';
3
3
  import { compareAddresses } from '../../services/utils';
4
4
  export const FLUID_ETH_USDC_1 = (networkId = NetworkNumber.Eth) => ({
5
5
  btcBased: false,
@@ -2159,6 +2159,391 @@ export const FLUID_LBTC_SUSDS_22_BASE = (networkId = NetworkNumber.Eth) => ({
2159
2159
  collateralAsset0: 'LBTC',
2160
2160
  debtAsset0: 'sUSDS',
2161
2161
  });
2162
+ export const FLUID_ETH_USDT_1_PLASMA = (networkId = NetworkNumber.Eth) => ({
2163
+ stableBased: true,
2164
+ btcBased: false,
2165
+ wstETHBased: false,
2166
+ ethBased: true,
2167
+ type: FluidVaultType.T1,
2168
+ id: 1,
2169
+ chainIds: [NetworkNumber.Plasma],
2170
+ label: '#1 (ETH / USDT)',
2171
+ shortLabel: 'ETH/USDT',
2172
+ value: FluidPlasmaVersions.FLUID_ETH_USDT_1_PLASMA,
2173
+ url: 'eth-usdt-1-plasma',
2174
+ marketAddress: '0xeAbBfca72F8a8bf14C4ac59e69ECB2eB69F0811C',
2175
+ hasSmartCollateral: false,
2176
+ hasSmartDebt: false,
2177
+ collateralAsset0: 'ETH',
2178
+ debtAsset0: 'USDT',
2179
+ });
2180
+ export const FLUID_ETH_USDE_2_PLASMA = (networkId = NetworkNumber.Eth) => ({
2181
+ stableBased: true,
2182
+ btcBased: false,
2183
+ wstETHBased: false,
2184
+ ethBased: true,
2185
+ type: FluidVaultType.T1,
2186
+ id: 2,
2187
+ chainIds: [NetworkNumber.Plasma],
2188
+ label: '#2 (ETH / USDe)',
2189
+ shortLabel: 'ETH/USDe',
2190
+ value: FluidPlasmaVersions.FLUID_ETH_USDE_2_PLASMA,
2191
+ url: 'eth-usde-2-plasma',
2192
+ marketAddress: '0xbEC491FeF7B4f666b270F9D5E5C3f443cBf20991',
2193
+ hasSmartCollateral: false,
2194
+ hasSmartDebt: false,
2195
+ collateralAsset0: 'ETH',
2196
+ debtAsset0: 'USDe',
2197
+ });
2198
+ export const FLUID_WEETH_ETH_3_PLASMA = (networkId = NetworkNumber.Eth) => ({
2199
+ stableBased: false,
2200
+ btcBased: false,
2201
+ wstETHBased: false,
2202
+ ethBased: true,
2203
+ type: FluidVaultType.T1,
2204
+ id: 3,
2205
+ chainIds: [NetworkNumber.Plasma],
2206
+ label: '#3 (weETH / ETH)',
2207
+ shortLabel: 'weETH/ETH',
2208
+ value: FluidPlasmaVersions.FLUID_WEETH_ETH_3_PLASMA,
2209
+ url: 'weeth-eth-3-plasma',
2210
+ marketAddress: '0xA0F83Fc5885cEBc0420ce7C7b139Adc80c4F4D91',
2211
+ hasSmartCollateral: false,
2212
+ hasSmartDebt: false,
2213
+ collateralAsset0: 'weETH',
2214
+ debtAsset0: 'ETH',
2215
+ });
2216
+ export const FLUID_SUSDE_USDT_4_PLASMA = (networkId = NetworkNumber.Eth) => ({
2217
+ stableBased: true,
2218
+ btcBased: false,
2219
+ wstETHBased: false,
2220
+ ethBased: false,
2221
+ type: FluidVaultType.T1,
2222
+ id: 4,
2223
+ chainIds: [NetworkNumber.Plasma],
2224
+ label: '#4 (sUSDe / USDT)',
2225
+ shortLabel: 'sUSDe/USDT',
2226
+ value: FluidPlasmaVersions.FLUID_SUSDE_USDT_4_PLASMA,
2227
+ url: 'susde-usdt-4-plasma',
2228
+ marketAddress: '0x51197586F6A9e2571868b6ffaef308f3bdfEd3aE',
2229
+ hasSmartCollateral: false,
2230
+ hasSmartDebt: false,
2231
+ collateralAsset0: 'sUSDe',
2232
+ debtAsset0: 'USDT',
2233
+ });
2234
+ export const FLUID_WEETH_USDT_5_PLASMA = (networkId = NetworkNumber.Eth) => ({
2235
+ stableBased: true,
2236
+ btcBased: false,
2237
+ wstETHBased: false,
2238
+ ethBased: true,
2239
+ type: FluidVaultType.T1,
2240
+ id: 5,
2241
+ chainIds: [NetworkNumber.Plasma],
2242
+ label: '#5 (weETH / USDT)',
2243
+ shortLabel: 'weETH/USDT',
2244
+ value: FluidPlasmaVersions.FLUID_WEETH_USDT_5_PLASMA,
2245
+ url: 'weeth-usdt-5-plasma',
2246
+ marketAddress: '0x1c2bB46f36561bc4F05A94BD50916496aa501078',
2247
+ hasSmartCollateral: false,
2248
+ hasSmartDebt: false,
2249
+ collateralAsset0: 'weETH',
2250
+ debtAsset0: 'USDT',
2251
+ });
2252
+ export const FLUID_WEETH_USDE_6_PLASMA = (networkId = NetworkNumber.Eth) => ({
2253
+ stableBased: true,
2254
+ btcBased: false,
2255
+ wstETHBased: false,
2256
+ ethBased: true,
2257
+ type: FluidVaultType.T1,
2258
+ id: 6,
2259
+ chainIds: [NetworkNumber.Plasma],
2260
+ label: '#6 (weETH / USDe)',
2261
+ shortLabel: 'weETH/USDe',
2262
+ value: FluidPlasmaVersions.FLUID_WEETH_USDE_6_PLASMA,
2263
+ url: 'weeth-usde-6-plasma',
2264
+ marketAddress: '0x40D9b8417E6E1DcD358f04E3328bCEd061018A82',
2265
+ hasSmartCollateral: false,
2266
+ hasSmartDebt: false,
2267
+ collateralAsset0: 'weETH',
2268
+ debtAsset0: 'USDe',
2269
+ });
2270
+ export const FLUID_XAUT_USDT_7_PLASMA = (networkId = NetworkNumber.Eth) => ({
2271
+ stableBased: true,
2272
+ btcBased: false,
2273
+ wstETHBased: false,
2274
+ ethBased: false,
2275
+ type: FluidVaultType.T1,
2276
+ id: 7,
2277
+ chainIds: [NetworkNumber.Plasma],
2278
+ label: '#7 (XAUt / USDT)',
2279
+ shortLabel: 'XAUt/USDT',
2280
+ value: FluidPlasmaVersions.FLUID_XAUT_USDT_7_PLASMA,
2281
+ url: 'xaut-usdt-7-plasma',
2282
+ marketAddress: '0x4045720a33193b4Fe66c94DFbc8D37B0b4D9B469',
2283
+ hasSmartCollateral: false,
2284
+ hasSmartDebt: false,
2285
+ collateralAsset0: 'XAUt',
2286
+ debtAsset0: 'USDT',
2287
+ });
2288
+ export const FLUID_XAUT_USDE_8_PLASMA = (networkId = NetworkNumber.Eth) => ({
2289
+ stableBased: true,
2290
+ btcBased: false,
2291
+ wstETHBased: false,
2292
+ ethBased: false,
2293
+ type: FluidVaultType.T1,
2294
+ id: 8,
2295
+ chainIds: [NetworkNumber.Plasma],
2296
+ label: '#8 (XAUt / USDe)',
2297
+ shortLabel: 'XAUt/USDe',
2298
+ value: FluidPlasmaVersions.FLUID_XAUT_USDE_8_PLASMA,
2299
+ url: 'xaut-usde-8-plasma',
2300
+ marketAddress: '0xBFADEA65591235f38809076e14803Ac84AcF3F97',
2301
+ hasSmartCollateral: false,
2302
+ hasSmartDebt: false,
2303
+ collateralAsset0: 'XAUt',
2304
+ debtAsset0: 'USDe',
2305
+ });
2306
+ export const FLUID_USDE_USDT_9_PLASMA = (networkId = NetworkNumber.Eth) => ({
2307
+ stableBased: true,
2308
+ btcBased: false,
2309
+ wstETHBased: false,
2310
+ ethBased: false,
2311
+ type: FluidVaultType.T1,
2312
+ id: 9,
2313
+ chainIds: [NetworkNumber.Plasma],
2314
+ label: '#9 (USDe / USDT)',
2315
+ shortLabel: 'USDe/USDT',
2316
+ value: FluidPlasmaVersions.FLUID_USDE_USDT_9_PLASMA,
2317
+ url: 'usde-usdt-9-plasma',
2318
+ marketAddress: '0xf55B8e9F0c51Ace009f4b41d03321675d4C643b3',
2319
+ hasSmartCollateral: false,
2320
+ hasSmartDebt: false,
2321
+ collateralAsset0: 'USDe',
2322
+ debtAsset0: 'USDT',
2323
+ });
2324
+ export const FLUID_USDAI_USDT_10_PLASMA = (networkId = NetworkNumber.Eth) => ({
2325
+ stableBased: true,
2326
+ btcBased: false,
2327
+ wstETHBased: false,
2328
+ ethBased: false,
2329
+ type: FluidVaultType.T1,
2330
+ id: 10,
2331
+ chainIds: [NetworkNumber.Plasma],
2332
+ label: '#10 (USDai / USDT)',
2333
+ shortLabel: 'USDai/USDT',
2334
+ value: FluidPlasmaVersions.FLUID_USDAI_USDT_10_PLASMA,
2335
+ url: 'usdai-usdt-10-plasma',
2336
+ marketAddress: '0xdF16AdaF80584b2723F3BA1Eb7a601338Ba18c4e',
2337
+ hasSmartCollateral: false,
2338
+ hasSmartDebt: false,
2339
+ collateralAsset0: 'USDai',
2340
+ debtAsset0: 'USDT',
2341
+ });
2342
+ export const FLUID_WEETH_ETH_ETH_11_PLASMA = (networkId = NetworkNumber.Eth) => ({
2343
+ stableBased: false,
2344
+ btcBased: false,
2345
+ wstETHBased: false,
2346
+ ethBased: true,
2347
+ type: FluidVaultType.T2,
2348
+ id: 11,
2349
+ chainIds: [NetworkNumber.Plasma],
2350
+ label: '#11 (weETH-ETH / ETH)',
2351
+ shortLabel: 'weETH-ETH/ETH',
2352
+ value: FluidPlasmaVersions.FLUID_WEETH_ETH_ETH_11_PLASMA,
2353
+ url: 'weeth-eth-eth-11-plasma',
2354
+ marketAddress: '0x0C8C77B7FF4c2aF7F6CEBbe67350A490E3DD6cB3',
2355
+ hasSmartCollateral: true,
2356
+ hasSmartDebt: false,
2357
+ collateralAsset0: 'weETH',
2358
+ collateralAsset1: 'ETH',
2359
+ debtAsset0: 'ETH',
2360
+ });
2361
+ export const FLUID_SUSDE_USDT_USDT_12_PLASMA = (networkId = NetworkNumber.Eth) => ({
2362
+ stableBased: true,
2363
+ btcBased: false,
2364
+ wstETHBased: false,
2365
+ ethBased: false,
2366
+ type: FluidVaultType.T2,
2367
+ id: 12,
2368
+ chainIds: [NetworkNumber.Plasma],
2369
+ label: '#12 (sUSDe-USDT / USDT)',
2370
+ shortLabel: 'sUSDe-USDT/USDT',
2371
+ value: FluidPlasmaVersions.FLUID_SUSDE_USDT_USDT_12_PLASMA,
2372
+ url: 'susde-usdt-usdt-12-plasma',
2373
+ marketAddress: '0xE16A6f5359ABB1f61cE71e25dD0932e3E00B00eB',
2374
+ hasSmartCollateral: true,
2375
+ hasSmartDebt: false,
2376
+ collateralAsset0: 'sUSDe',
2377
+ collateralAsset1: 'USDT',
2378
+ debtAsset0: 'USDT',
2379
+ });
2380
+ export const FLUID_USDE_USDT_USDT_13_PLASMA = (networkId = NetworkNumber.Eth) => ({
2381
+ stableBased: true,
2382
+ btcBased: false,
2383
+ wstETHBased: false,
2384
+ ethBased: false,
2385
+ type: FluidVaultType.T2,
2386
+ id: 13,
2387
+ chainIds: [NetworkNumber.Plasma],
2388
+ label: '#13 (USDe-USDT / USDT)',
2389
+ shortLabel: 'USDe-USDT/USDT',
2390
+ value: FluidPlasmaVersions.FLUID_USDE_USDT_USDT_13_PLASMA,
2391
+ url: 'usde-usdt-usdt-13-plasma',
2392
+ marketAddress: '0x82B27fA821419F5689381b565a8B0786aA2548De',
2393
+ hasSmartCollateral: true,
2394
+ hasSmartDebt: false,
2395
+ collateralAsset0: 'USDe',
2396
+ collateralAsset1: 'USDT',
2397
+ debtAsset0: 'USDT',
2398
+ });
2399
+ export const FLUID_USDAI_USDT_USDT_14_PLASMA = (networkId = NetworkNumber.Eth) => ({
2400
+ stableBased: true,
2401
+ btcBased: false,
2402
+ wstETHBased: false,
2403
+ ethBased: false,
2404
+ type: FluidVaultType.T2,
2405
+ id: 14,
2406
+ chainIds: [NetworkNumber.Plasma],
2407
+ label: '#14 (USDai-USDT / USDT)',
2408
+ shortLabel: 'USDai-USDT/USDT',
2409
+ value: FluidPlasmaVersions.FLUID_USDAI_USDT_USDT_14_PLASMA,
2410
+ url: 'usdai-usdt-usdt-14-plasma',
2411
+ marketAddress: '0x1982CC7b1570C2503282d0A0B41F69b3B28fdcc3',
2412
+ hasSmartCollateral: true,
2413
+ hasSmartDebt: false,
2414
+ collateralAsset0: 'USDai',
2415
+ collateralAsset1: 'USDT',
2416
+ debtAsset0: 'USDT',
2417
+ });
2418
+ export const FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA = (networkId = NetworkNumber.Eth) => ({
2419
+ stableBased: true,
2420
+ btcBased: false,
2421
+ wstETHBased: false,
2422
+ ethBased: false,
2423
+ type: FluidVaultType.T2,
2424
+ id: 15,
2425
+ chainIds: [NetworkNumber.Plasma],
2426
+ label: '#15 (USDT-syrupUSDT / USDT)',
2427
+ shortLabel: 'USDT-syrupUSDT/USDT',
2428
+ value: FluidPlasmaVersions.FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA,
2429
+ url: 'usdt-syrupusdt-usdt-15-plasma',
2430
+ marketAddress: '0xb4F3bf2d96139563777C0231899cE06EE95Cc946',
2431
+ hasSmartCollateral: true,
2432
+ hasSmartDebt: false,
2433
+ collateralAsset0: 'USDT',
2434
+ collateralAsset1: 'syrupUSDT',
2435
+ debtAsset0: 'USDT',
2436
+ });
2437
+ export const FLUID_XPL_USDT_16_PLASMA = (networkId = NetworkNumber.Eth) => ({
2438
+ stableBased: true,
2439
+ btcBased: false,
2440
+ wstETHBased: false,
2441
+ ethBased: false,
2442
+ type: FluidVaultType.T1,
2443
+ id: 16,
2444
+ chainIds: [NetworkNumber.Plasma],
2445
+ label: '#16 (XPL / USDT)',
2446
+ shortLabel: 'XPL/USDT',
2447
+ value: FluidPlasmaVersions.FLUID_XPL_USDT_16_PLASMA,
2448
+ url: 'xpl-usdt-16-plasma',
2449
+ marketAddress: '0xeAEf563015634a9d0EE6CF1357A3b205C35e028D',
2450
+ hasSmartCollateral: false,
2451
+ hasSmartDebt: false,
2452
+ collateralAsset0: 'XPL',
2453
+ debtAsset0: 'USDT',
2454
+ });
2455
+ export const FLUID_XPL_USDE_17_PLASMA = (networkId = NetworkNumber.Eth) => ({
2456
+ stableBased: true,
2457
+ btcBased: false,
2458
+ wstETHBased: false,
2459
+ ethBased: false,
2460
+ type: FluidVaultType.T1,
2461
+ id: 17,
2462
+ chainIds: [NetworkNumber.Plasma],
2463
+ label: '#17 (XPL / USDe)',
2464
+ shortLabel: 'XPL/USDe',
2465
+ value: FluidPlasmaVersions.FLUID_XPL_USDE_17_PLASMA,
2466
+ url: 'xpl-usde-17-plasma',
2467
+ marketAddress: '0x3996464c0fCCa8183e13ea5E5e74375e2c8744Dd',
2468
+ hasSmartCollateral: false,
2469
+ hasSmartDebt: false,
2470
+ collateralAsset0: 'XPL',
2471
+ debtAsset0: 'USDe',
2472
+ });
2473
+ export const FLUID_WSTUSR_USDT_18_PLASMA = (networkId = NetworkNumber.Eth) => ({
2474
+ stableBased: true,
2475
+ btcBased: false,
2476
+ wstETHBased: false,
2477
+ ethBased: false,
2478
+ type: FluidVaultType.T1,
2479
+ id: 18,
2480
+ chainIds: [NetworkNumber.Plasma],
2481
+ label: '#18 (wstUSR / USDT)',
2482
+ shortLabel: 'wstUSR/USDT',
2483
+ value: FluidPlasmaVersions.FLUID_WSTUSR_USDT_18_PLASMA,
2484
+ url: 'wstusr-usdt-18-plasma',
2485
+ marketAddress: '0xBc345229C1b52e4c30530C614BB487323BA38Da5',
2486
+ hasSmartCollateral: false,
2487
+ hasSmartDebt: false,
2488
+ collateralAsset0: 'wstUSR',
2489
+ debtAsset0: 'USDT',
2490
+ });
2491
+ export const FLUID_WSTUSR_USDT_USDT_19_PLASMA = (networkId = NetworkNumber.Eth) => ({
2492
+ stableBased: true,
2493
+ btcBased: false,
2494
+ wstETHBased: false,
2495
+ ethBased: false,
2496
+ type: FluidVaultType.T2,
2497
+ id: 19,
2498
+ chainIds: [NetworkNumber.Plasma],
2499
+ label: '#19 (wstUSR-USDT / USDT)',
2500
+ shortLabel: 'wstUSR-USDT/USDT',
2501
+ value: FluidPlasmaVersions.FLUID_WSTUSR_USDT_USDT_19_PLASMA,
2502
+ url: 'wstusr-usdt-usdt-19-plasma',
2503
+ marketAddress: '0xF2c8F54447cbd591C396b0Dd7ac15FAF552d0FA4',
2504
+ hasSmartCollateral: true,
2505
+ hasSmartDebt: false,
2506
+ collateralAsset0: 'wstUSR',
2507
+ collateralAsset1: 'USDT',
2508
+ debtAsset0: 'USDT',
2509
+ });
2510
+ export const FLUID_SYRUPUSDT_USDT_20_PLASMA = (networkId = NetworkNumber.Eth) => ({
2511
+ stableBased: true,
2512
+ btcBased: false,
2513
+ wstETHBased: false,
2514
+ ethBased: false,
2515
+ type: FluidVaultType.T1,
2516
+ id: 20,
2517
+ chainIds: [NetworkNumber.Plasma],
2518
+ label: '#20 (syrupUSDT / USDT)',
2519
+ shortLabel: 'syrupUSDT/USDT',
2520
+ value: FluidPlasmaVersions.FLUID_SYRUPUSDT_USDT_20_PLASMA,
2521
+ url: 'syrupusdt-usdt-20-plasma',
2522
+ marketAddress: '0x92643E964CA4b2c165a95CA919b0A819acA6D5F1',
2523
+ hasSmartCollateral: false,
2524
+ hasSmartDebt: false,
2525
+ collateralAsset0: 'syrupUSDT',
2526
+ debtAsset0: 'USDT',
2527
+ });
2528
+ export const FLUID_ETH_WRSETH_ETH_21_PLASMA = (networkId = NetworkNumber.Eth) => ({
2529
+ stableBased: false,
2530
+ btcBased: false,
2531
+ wstETHBased: false,
2532
+ ethBased: true,
2533
+ type: FluidVaultType.T2,
2534
+ id: 21,
2535
+ chainIds: [NetworkNumber.Plasma],
2536
+ label: '#21 (ETH-wrsETH / ETH)',
2537
+ shortLabel: 'ETH-wrsETH/ETH',
2538
+ value: FluidPlasmaVersions.FLUID_ETH_WRSETH_ETH_21_PLASMA,
2539
+ url: 'eth-wrseth-eth-plasma',
2540
+ marketAddress: '0x6F72895Cf6904489Bcd862c941c3D02a3eE4f03e',
2541
+ hasSmartCollateral: true,
2542
+ hasSmartDebt: false,
2543
+ collateralAsset0: 'ETH',
2544
+ collateralAsset1: 'wrsETH',
2545
+ debtAsset0: 'ETH',
2546
+ });
2162
2547
  export const FluidMarkets = (networkId) => ({
2163
2548
  [FluidMainnetVersion.FLUID_ETH_USDC_1]: FLUID_ETH_USDC_1(networkId),
2164
2549
  [FluidMainnetVersion.FLUID_ETH_USDT_2]: FLUID_ETH_USDT_2(networkId),
@@ -2279,6 +2664,28 @@ export const FluidMarkets = (networkId) => ({
2279
2664
  [FluidBaseVersions.FLUID_CBBTC_SUSDS_19_BASE]: FLUID_CBBTC_SUSDS_19_BASE(networkId),
2280
2665
  [FluidBaseVersions.FLUID_LBTC_USDC_21_BASE]: FLUID_LBTC_USDC_21_BASE(networkId),
2281
2666
  [FluidBaseVersions.FLUID_LBTC_SUSDS_22_BASE]: FLUID_LBTC_SUSDS_22_BASE(networkId),
2667
+ // plasma
2668
+ [FluidPlasmaVersions.FLUID_ETH_USDT_1_PLASMA]: FLUID_ETH_USDT_1_PLASMA(networkId),
2669
+ [FluidPlasmaVersions.FLUID_ETH_USDE_2_PLASMA]: FLUID_ETH_USDE_2_PLASMA(networkId),
2670
+ [FluidPlasmaVersions.FLUID_WEETH_ETH_3_PLASMA]: FLUID_WEETH_ETH_3_PLASMA(networkId),
2671
+ [FluidPlasmaVersions.FLUID_SUSDE_USDT_4_PLASMA]: FLUID_SUSDE_USDT_4_PLASMA(networkId),
2672
+ [FluidPlasmaVersions.FLUID_WEETH_USDT_5_PLASMA]: FLUID_WEETH_USDT_5_PLASMA(networkId),
2673
+ [FluidPlasmaVersions.FLUID_WEETH_USDE_6_PLASMA]: FLUID_WEETH_USDE_6_PLASMA(networkId),
2674
+ [FluidPlasmaVersions.FLUID_XAUT_USDT_7_PLASMA]: FLUID_XAUT_USDT_7_PLASMA(networkId),
2675
+ [FluidPlasmaVersions.FLUID_XAUT_USDE_8_PLASMA]: FLUID_XAUT_USDE_8_PLASMA(networkId),
2676
+ [FluidPlasmaVersions.FLUID_USDE_USDT_9_PLASMA]: FLUID_USDE_USDT_9_PLASMA(networkId),
2677
+ [FluidPlasmaVersions.FLUID_USDAI_USDT_10_PLASMA]: FLUID_USDAI_USDT_10_PLASMA(networkId),
2678
+ [FluidPlasmaVersions.FLUID_WEETH_ETH_ETH_11_PLASMA]: FLUID_WEETH_ETH_ETH_11_PLASMA(networkId),
2679
+ [FluidPlasmaVersions.FLUID_SUSDE_USDT_USDT_12_PLASMA]: FLUID_SUSDE_USDT_USDT_12_PLASMA(networkId),
2680
+ [FluidPlasmaVersions.FLUID_USDE_USDT_USDT_13_PLASMA]: FLUID_USDE_USDT_USDT_13_PLASMA(networkId),
2681
+ [FluidPlasmaVersions.FLUID_USDAI_USDT_USDT_14_PLASMA]: FLUID_USDAI_USDT_USDT_14_PLASMA(networkId),
2682
+ [FluidPlasmaVersions.FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA]: FLUID_USDT_SYRUPUSDT_USDT_15_PLASMA(networkId),
2683
+ [FluidPlasmaVersions.FLUID_XPL_USDT_16_PLASMA]: FLUID_XPL_USDT_16_PLASMA(networkId),
2684
+ [FluidPlasmaVersions.FLUID_XPL_USDE_17_PLASMA]: FLUID_XPL_USDE_17_PLASMA(networkId),
2685
+ [FluidPlasmaVersions.FLUID_WSTUSR_USDT_18_PLASMA]: FLUID_WSTUSR_USDT_18_PLASMA(networkId),
2686
+ [FluidPlasmaVersions.FLUID_WSTUSR_USDT_USDT_19_PLASMA]: FLUID_WSTUSR_USDT_USDT_19_PLASMA(networkId),
2687
+ [FluidPlasmaVersions.FLUID_SYRUPUSDT_USDT_20_PLASMA]: FLUID_SYRUPUSDT_USDT_20_PLASMA(networkId),
2688
+ [FluidPlasmaVersions.FLUID_ETH_WRSETH_ETH_21_PLASMA]: FLUID_ETH_WRSETH_ETH_21_PLASMA(networkId),
2282
2689
  });
2283
2690
  export const getFluidVersionsDataForNetwork = (network) => (Object.values(FluidMarkets(network)).filter(({ chainIds, marketAddress }) => !!marketAddress && chainIds.includes(network)));
2284
2691
  export const getFluidMarketInfoById = (vaultId, network = 1) => getFluidVersionsDataForNetwork(network).find(({ id }) => id === vaultId);
@@ -2309,6 +2716,11 @@ const FluidBaseFTokenAddresses = {
2309
2716
  [FluidBaseDepositToken.sUSDS]: '0xf62e339f21d8018940f188F6987Bcdf02A849619',
2310
2717
  [FluidBaseDepositToken.GHO]: '0x8DdbfFA3CFda2355a23d6B11105AC624BDbE3631',
2311
2718
  };
2719
+ const FluidPlasmaFTokenAddresses = {
2720
+ [FluidPlasmaDepositToken.ETH]: '0x5E494e8912319cefb1d4Fa516807bB65A8CB9E40',
2721
+ [FluidPlasmaDepositToken.USDT]: '0x1DD4b13fcAE900C60a350589BE8052959D2Ed27B',
2722
+ [FluidPlasmaDepositToken.USDe]: '0xd8f824d4252caE7d5E49B95d47B0EfAfe6f2d570',
2723
+ };
2312
2724
  export const FluidFTokens = (networkId) => {
2313
2725
  switch (networkId) {
2314
2726
  case NetworkNumber.Eth:
@@ -2317,6 +2729,8 @@ export const FluidFTokens = (networkId) => {
2317
2729
  return FluidArbitrumFTokenAddresses;
2318
2730
  case NetworkNumber.Base:
2319
2731
  return FluidBaseFTokenAddresses;
2732
+ case NetworkNumber.Plasma:
2733
+ return FluidPlasmaFTokenAddresses;
2320
2734
  default:
2321
2735
  throw new Error('Invalid network id');
2322
2736
  }