@defisaver/positions-sdk 2.1.7 → 2.1.9

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 (73) hide show
  1. package/cjs/aaveV3/index.js +3 -3
  2. package/cjs/aaveV3/merit.js +3 -0
  3. package/cjs/aaveV3/merkl.d.ts +1 -1
  4. package/cjs/config/contracts.d.ts +20 -0
  5. package/cjs/config/contracts.js +20 -0
  6. package/cjs/fluid/index.js +40 -12
  7. package/cjs/helpers/aaveHelpers/index.d.ts +1 -1
  8. package/cjs/helpers/aaveHelpers/index.js +6 -4
  9. package/cjs/helpers/morphoBlueHelpers/index.d.ts +1 -1
  10. package/cjs/markets/aave/index.js +1 -1
  11. package/cjs/markets/aave/marketAssets.d.ts +4 -0
  12. package/cjs/markets/aave/marketAssets.js +5 -1
  13. package/cjs/markets/compound/index.js +11 -0
  14. package/cjs/markets/compound/marketsAssets.d.ts +7 -0
  15. package/cjs/markets/compound/marketsAssets.js +7 -0
  16. package/cjs/markets/fluid/index.d.ts +4 -0
  17. package/cjs/markets/fluid/index.js +4 -0
  18. package/cjs/markets/spark/marketAssets.d.ts +1 -0
  19. package/cjs/markets/spark/marketAssets.js +1 -0
  20. package/cjs/services/utils.d.ts +8 -4
  21. package/cjs/services/utils.js +30 -10
  22. package/cjs/services/viem.d.ts +54 -15
  23. package/cjs/services/viem.js +2 -0
  24. package/cjs/staking/eligibility.js +1 -6
  25. package/cjs/types/common.d.ts +4 -2
  26. package/cjs/types/common.js +2 -0
  27. package/cjs/types/fluid.d.ts +7 -3
  28. package/cjs/types/fluid.js +4 -0
  29. package/esm/aaveV3/index.js +4 -4
  30. package/esm/aaveV3/merit.js +3 -0
  31. package/esm/aaveV3/merkl.d.ts +1 -1
  32. package/esm/config/contracts.d.ts +20 -0
  33. package/esm/config/contracts.js +20 -0
  34. package/esm/fluid/index.js +40 -12
  35. package/esm/helpers/aaveHelpers/index.d.ts +1 -1
  36. package/esm/helpers/aaveHelpers/index.js +7 -5
  37. package/esm/helpers/morphoBlueHelpers/index.d.ts +1 -1
  38. package/esm/markets/aave/index.js +1 -1
  39. package/esm/markets/aave/marketAssets.d.ts +4 -0
  40. package/esm/markets/aave/marketAssets.js +4 -0
  41. package/esm/markets/compound/index.js +11 -0
  42. package/esm/markets/compound/marketsAssets.d.ts +7 -0
  43. package/esm/markets/compound/marketsAssets.js +7 -0
  44. package/esm/markets/fluid/index.d.ts +4 -0
  45. package/esm/markets/fluid/index.js +4 -0
  46. package/esm/markets/spark/marketAssets.d.ts +1 -0
  47. package/esm/markets/spark/marketAssets.js +1 -0
  48. package/esm/services/utils.d.ts +8 -4
  49. package/esm/services/utils.js +21 -5
  50. package/esm/services/viem.d.ts +54 -15
  51. package/esm/services/viem.js +3 -1
  52. package/esm/staking/eligibility.js +1 -6
  53. package/esm/types/common.d.ts +4 -2
  54. package/esm/types/common.js +2 -0
  55. package/esm/types/fluid.d.ts +7 -3
  56. package/esm/types/fluid.js +4 -0
  57. package/package.json +2 -2
  58. package/src/aaveV3/index.ts +4 -4
  59. package/src/aaveV3/merit.ts +3 -0
  60. package/src/config/contracts.ts +20 -0
  61. package/src/fluid/index.ts +44 -14
  62. package/src/helpers/aaveHelpers/index.ts +7 -5
  63. package/src/markets/aave/index.ts +1 -1
  64. package/src/markets/aave/marketAssets.ts +5 -0
  65. package/src/markets/compound/index.ts +11 -0
  66. package/src/markets/compound/marketsAssets.ts +7 -0
  67. package/src/markets/fluid/index.ts +4 -0
  68. package/src/markets/spark/marketAssets.ts +1 -0
  69. package/src/services/utils.ts +25 -9
  70. package/src/services/viem.ts +3 -1
  71. package/src/staking/eligibility.ts +1 -7
  72. package/src/types/common.ts +2 -0
  73. package/src/types/fluid.ts +4 -0
@@ -58,12 +58,12 @@ const aaveV3EmodeCategoriesMapping = (extractedState, usedAssets) => {
58
58
  exports.aaveV3EmodeCategoriesMapping = aaveV3EmodeCategoriesMapping;
59
59
  function _getAaveV3MarketData(provider_1, network_1, market_1) {
60
60
  return __awaiter(this, arguments, void 0, function* (provider, network, market, blockNumber = 'latest') {
61
- const _addresses = market.assets.map(a => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(a), network).address);
61
+ const _addresses = market.assets.map(a => (0, tokens_1.getAssetInfo)((0, utils_1.getWrappedNativeAssetFromUnwrapped)(a), network).address);
62
62
  const isL2 = (0, utils_1.isLayer2Network)(network);
63
63
  const loanInfoContract = (0, contracts_1.AaveV3ViewContractViem)(provider, network);
64
64
  const aaveIncentivesContract = (0, contracts_1.AaveIncentiveDataProviderV3ContractViem)(provider, network);
65
65
  const marketAddress = market.providerAddress;
66
- const networksWithIncentives = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Opt, common_1.NetworkNumber.Linea];
66
+ const networksWithIncentives = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Opt, common_1.NetworkNumber.Linea, common_1.NetworkNumber.Plasma];
67
67
  // eslint-disable-next-line prefer-const
68
68
  let [loanInfo, eModesInfo, isBorrowAllowed, rewardInfo, merkleRewardsMap, meritRewardsMap] = yield Promise.all([
69
69
  loanInfoContract.read.getFullTokensInfo([marketAddress, _addresses], (0, viem_1.setViemBlockNumber)(blockNumber)),
@@ -366,7 +366,7 @@ const _getAaveV3AccountData = (provider_1, network_1, address_1, extractedState_
366
366
  const loanInfoContract = (0, contracts_1.AaveV3ViewContractViem)(provider, network);
367
367
  const lendingPoolContract = (0, contracts_1.createViemContractFromConfigFunc)(market.lendingPool, market.lendingPoolAddress)(provider, network);
368
368
  const marketAddress = market.providerAddress;
369
- const _addresses = market.assets.map((a) => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(a), network).address);
369
+ const _addresses = market.assets.map((a) => (0, tokens_1.getAssetInfo)((0, utils_1.getWrappedNativeAssetFromUnwrapped)(a), network).address);
370
370
  const middleAddressIndex = Math.floor(_addresses.length / 2); // split addresses in half to avoid gas limit by multicall
371
371
  const [eModeCategory, tokenBalances1, tokenBalances2] = yield Promise.all([
372
372
  lendingPoolContract.read.getUserEMode([address], (0, viem_1.setViemBlockNumber)(blockNumber)),
@@ -45,6 +45,9 @@ const MERIT_DATA_MAP = {
45
45
  [common_1.NetworkNumber.Linea]: {
46
46
  [types_1.AaveVersions.AaveV3]: {},
47
47
  },
48
+ [common_1.NetworkNumber.Plasma]: {
49
+ [types_1.AaveVersions.AaveV3]: {},
50
+ },
48
51
  };
49
52
  /**
50
53
  * Fetches merit rewards data from Aave API
@@ -1,6 +1,6 @@
1
1
  import { MerkleRewardMap } from '../types';
2
2
  import { NetworkNumber } from '../types/common';
3
- export declare const getAaveUnderlyingSymbol: (_symbol?: string) => any;
3
+ export declare const getAaveUnderlyingSymbol: (_symbol?: string) => string;
4
4
  /**
5
5
  * aEthLidoUSDC -> aUSDC
6
6
  * USDC -> USDC
@@ -28303,6 +28303,11 @@ export declare const AaveV3View: {
28303
28303
  };
28304
28304
  };
28305
28305
  };
28306
+ readonly "9745": {
28307
+ readonly address: "0xD8E67968d8a0df4beCf2D50daE1e34d4d80C701C";
28308
+ readonly createdBlock: 1880799;
28309
+ readonly oldVersions: {};
28310
+ };
28306
28311
  };
28307
28312
  };
28308
28313
  export declare const AaveV3PoolAddressesProvider: {
@@ -28763,6 +28768,9 @@ export declare const AaveV3PoolAddressesProvider: {
28763
28768
  readonly "59144": {
28764
28769
  readonly address: "0x89502c3731F69DDC95B65753708A07F8Cd0373F4";
28765
28770
  };
28771
+ readonly "9745": {
28772
+ readonly address: "0x061D8e131F26512348ee5FA42e2DF1bA9d6505E9";
28773
+ };
28766
28774
  };
28767
28775
  };
28768
28776
  export declare const AaveV3LidoPoolAddressesProvider: {
@@ -31133,6 +31141,9 @@ export declare const AaveV3LendingPool: {
31133
31141
  readonly "59144": {
31134
31142
  readonly address: "0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac";
31135
31143
  };
31144
+ readonly "9745": {
31145
+ readonly address: "0x925a2A7214Ed92428B5b1B090F80b25700095e12";
31146
+ };
31136
31147
  };
31137
31148
  };
31138
31149
  export declare const AaveV3LidoLendingPool: {
@@ -34467,6 +34478,9 @@ export declare const AaveV3ProtocolDataProvider: {
34467
34478
  readonly "59144": {
34468
34479
  readonly address: "0x47cd4b507B81cB831669c71c7077f4daF6762FF4";
34469
34480
  };
34481
+ readonly "9745": {
34482
+ readonly address: "0xf2D6E38B407e31E7E7e4a16E6769728b76c7419F";
34483
+ };
34470
34484
  };
34471
34485
  };
34472
34486
  export declare const AaveV3LidoProtocolDataProvider: {
@@ -35805,6 +35819,9 @@ export declare const AaveUiIncentiveDataProviderV3: {
35805
35819
  readonly "59144": {
35806
35820
  readonly address: "0x117684358D990E42Eb1649E7e8C4691951dc1E71";
35807
35821
  };
35822
+ readonly "9745": {
35823
+ readonly address: "0xcb85C501B3A5e9851850d66648d69B26A4c90942";
35824
+ };
35808
35825
  };
35809
35826
  };
35810
35827
  export declare const cUSDCv3: {
@@ -84964,6 +84981,9 @@ export declare const AaveRewardsController: {
84964
84981
  readonly "59144": {
84965
84982
  readonly address: "0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0";
84966
84983
  };
84984
+ readonly "9745": {
84985
+ readonly address: "0x3A57eAa3Ca3794D66977326af7991eB3F6dD5a5A";
84986
+ };
84967
84987
  };
84968
84988
  };
84969
84989
  export declare const LiquityV2ActivePool: {
@@ -231,6 +231,11 @@ exports.AaveV3View = {
231
231
  "address": "0xc9D6EfA6e08B66a5Cdc516Bcd5807c2fa69E0f2A"
232
232
  }
233
233
  },
234
+ },
235
+ "9745": {
236
+ "address": "0xD8E67968d8a0df4beCf2D50daE1e34d4d80C701C",
237
+ "createdBlock": 1880799,
238
+ "oldVersions": {},
234
239
  }
235
240
  }
236
241
  };
@@ -251,6 +256,9 @@ exports.AaveV3PoolAddressesProvider = {
251
256
  },
252
257
  "59144": {
253
258
  "address": "0x89502c3731F69DDC95B65753708A07F8Cd0373F4"
259
+ },
260
+ "9745": {
261
+ "address": "0x061D8e131F26512348ee5FA42e2DF1bA9d6505E9"
254
262
  }
255
263
  }
256
264
  };
@@ -287,6 +295,9 @@ exports.AaveV3LendingPool = {
287
295
  },
288
296
  "59144": {
289
297
  "address": "0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac"
298
+ },
299
+ "9745": {
300
+ "address": "0x925a2A7214Ed92428B5b1B090F80b25700095e12"
290
301
  }
291
302
  }
292
303
  };
@@ -323,6 +334,9 @@ exports.AaveV3ProtocolDataProvider = {
323
334
  },
324
335
  "59144": {
325
336
  "address": "0x47cd4b507B81cB831669c71c7077f4daF6762FF4"
337
+ },
338
+ "9745": {
339
+ "address": "0xf2D6E38B407e31E7E7e4a16E6769728b76c7419F"
326
340
  }
327
341
  }
328
342
  };
@@ -359,6 +373,9 @@ exports.AaveUiIncentiveDataProviderV3 = {
359
373
  },
360
374
  "59144": {
361
375
  "address": "0x117684358D990E42Eb1649E7e8C4691951dc1E71"
376
+ },
377
+ "9745": {
378
+ "address": "0xcb85C501B3A5e9851850d66648d69B26A4c90942"
362
379
  }
363
380
  }
364
381
  };
@@ -1209,6 +1226,9 @@ exports.AaveRewardsController = {
1209
1226
  },
1210
1227
  "59144": {
1211
1228
  "address": "0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0"
1229
+ },
1230
+ "9745": {
1231
+ "address": "0x3A57eAa3Ca3794D66977326af7991eB3F6dD5a5A"
1212
1232
  }
1213
1233
  }
1214
1234
  };
@@ -1099,19 +1099,21 @@ const _getFluidTokenData = (provider, network, token) => __awaiter(void 0, void
1099
1099
  exports._getFluidTokenData = _getFluidTokenData;
1100
1100
  const getFluidTokenData = (provider, network, token) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports._getFluidTokenData)((0, viem_1.getViemProvider)(provider, network), network, token); });
1101
1101
  exports.getFluidTokenData = getFluidTokenData;
1102
- const parseFDepositTokenData = (fTokenData, userPosition, fTokenAddress) => {
1103
- const supplyRate = new decimal_js_1.default(fTokenData.supplyRate).div(100).toString();
1104
- const rewardsRate = new decimal_js_1.default(fTokenData.rewardsRate).div(1e12).toString();
1102
+ const parseFDepositTokenData = (fTokenData, userPosition, apiData, fTokenAddress) => {
1103
+ var _a, _b;
1105
1104
  const decimals = fTokenData.decimals.toString();
1106
1105
  const depositRate = new decimal_js_1.default((0, utils_1.getEthAmountForDecimals)(fTokenData.convertToShares.toString(), decimals)).toString();
1107
1106
  const withdrawRate = new decimal_js_1.default((0, utils_1.getEthAmountForDecimals)(fTokenData.convertToAssets.toString(), decimals)).toString();
1107
+ const supplyRate = new decimal_js_1.default((apiData === null || apiData === void 0 ? void 0 : apiData.supplyRate) || '0').div(100).toString();
1108
+ const rewardRates = ((_a = apiData === null || apiData === void 0 ? void 0 : apiData.rewards) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => acc.add(new decimal_js_1.default(item.rate || '0').div(100)), new decimal_js_1.default(0))) || '0';
1109
+ const stakeRate = new decimal_js_1.default(((_b = apiData === null || apiData === void 0 ? void 0 : apiData.asset) === null || _b === void 0 ? void 0 : _b.stakingApr) || '0').div(100).toString();
1108
1110
  return {
1109
1111
  fTokenAddress,
1110
1112
  fTokenSymbol: fTokenData.symbol,
1111
1113
  decimals,
1112
1114
  totalDeposited: (0, utils_1.getEthAmountForDecimals)(fTokenData.totalAssets.toString(), decimals),
1113
1115
  withdrawable: (0, utils_1.getEthAmountForDecimals)(fTokenData.withdrawable.toString(), decimals),
1114
- apy: new decimal_js_1.default(supplyRate).add(rewardsRate).toString(),
1116
+ apy: new decimal_js_1.default(supplyRate).plus(rewardRates).plus(stakeRate).toString(),
1115
1117
  depositRate,
1116
1118
  withdrawRate,
1117
1119
  deposited: (0, utils_1.getEthAmountForDecimals)(userPosition.underlyingAssets.toString(), decimals),
@@ -1121,21 +1123,44 @@ const parseFDepositTokenData = (fTokenData, userPosition, fTokenAddress) => {
1121
1123
  const _getFluidDepositData = (provider, network, token, address) => __awaiter(void 0, void 0, void 0, function* () {
1122
1124
  const view = (0, contracts_1.FluidViewContractViem)(provider, network);
1123
1125
  const fTokenAddress = (0, markets_1.getFTokenAddress)(token, network);
1124
- const [userPosition, fTokenData] = yield view.read.getUserEarnPositionWithFToken([fTokenAddress, address]);
1125
- return parseFDepositTokenData(fTokenData, userPosition, fTokenAddress);
1126
+ const [[userPosition, fTokenData], rewardsApiResponse,] = yield Promise.all([
1127
+ view.read.getUserEarnPositionWithFToken([fTokenAddress, address]),
1128
+ fetch(`https://api.fluid.instadapp.io/v2/lending/${network}/tokens/${fTokenAddress}`),
1129
+ ]);
1130
+ let rewardsData = { rewards: [] };
1131
+ if (!rewardsApiResponse.ok) {
1132
+ console.log('External API Failure: Failed to fetch fluid rewards APY');
1133
+ }
1134
+ else {
1135
+ rewardsData = yield rewardsApiResponse.json();
1136
+ }
1137
+ return parseFDepositTokenData(fTokenData, userPosition, rewardsData, fTokenAddress);
1126
1138
  });
1127
1139
  exports._getFluidDepositData = _getFluidDepositData;
1128
1140
  const getFluidDepositData = (provider, network, token, address) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports._getFluidDepositData)((0, viem_1.getViemProvider)(provider, network), network, token, address); });
1129
1141
  exports.getFluidDepositData = getFluidDepositData;
1130
1142
  const _getAllUserEarnPositionsWithFTokens = (provider, network, user) => __awaiter(void 0, void 0, void 0, function* () {
1131
1143
  const view = (0, contracts_1.FluidViewContractViem)(provider, network);
1132
- const [userPositions, fTokensData] = yield view.read.getAllUserEarnPositionsWithFTokens([user]);
1144
+ const [[userPositions, fTokensData], rewardsApiResponse,] = yield Promise.all([
1145
+ view.read.getAllUserEarnPositionsWithFTokens([user]),
1146
+ fetch(`https://api.fluid.instadapp.io/v2/lending/${network}/tokens`),
1147
+ ]);
1148
+ let rewardsData = {
1149
+ data: [{ address: constants_1.ZERO_ADDRESS, rewards: [] }],
1150
+ };
1151
+ if (!rewardsApiResponse.ok) {
1152
+ console.log('External API Failure: Failed to fetch fluid rewards APY');
1153
+ }
1154
+ else {
1155
+ rewardsData = yield rewardsApiResponse.json();
1156
+ }
1133
1157
  const parsedRes = fTokensData.reduce((acc, fTokenData, i) => {
1134
1158
  const userPosition = userPositions[i];
1135
1159
  const deposited = userPosition === null || userPosition === void 0 ? void 0 : userPosition.underlyingAssets;
1136
1160
  if (Number(deposited) > 0) {
1137
1161
  const fTokenAddress = fTokenData.tokenAddress;
1138
- acc.push(parseFDepositTokenData(fTokenData, userPosition, fTokenAddress));
1162
+ const apiData = rewardsData.data.find((item) => (0, utils_1.compareAddresses)(item.address, fTokenAddress));
1163
+ acc.push(parseFDepositTokenData(fTokenData, userPosition, apiData, fTokenAddress));
1139
1164
  }
1140
1165
  return acc;
1141
1166
  }, []);
@@ -1184,19 +1209,22 @@ const getTokenPricePortfolio = (token, provider, network) => __awaiter(void 0, v
1184
1209
  const tokensWithoutChainlinkPrices = ['sUSDS', 'USDA', 'ezETH', 'rsETH', 'weETHs', 'LBTC'];
1185
1210
  const handleTokenWithoutChainlinkPrice = (token, prices) => {
1186
1211
  if (token === 'sUSDS') {
1187
- return new decimal_js_1.default('105276929').div(1e8).toString();
1212
+ return new decimal_js_1.default('107057929').div(1e8).toString();
1188
1213
  }
1189
1214
  if (token === 'USDA') {
1190
1215
  return new decimal_js_1.default('100000000').div(1e8).toString();
1191
1216
  }
1217
+ if (token === 'wstUSR') {
1218
+ return new decimal_js_1.default('111280000').div(1e8).toString();
1219
+ }
1192
1220
  if (token === 'ezETH') {
1193
- return new decimal_js_1.default(prices.ETH).mul(1.049).toString();
1221
+ return new decimal_js_1.default(prices.ETH).mul(1.06).toString();
1194
1222
  }
1195
1223
  if (token === 'rsETH') {
1196
- return new decimal_js_1.default(prices.wstETH).mul(1.0454).toString();
1224
+ return new decimal_js_1.default(prices.wstETH).mul(1.0557).toString();
1197
1225
  }
1198
1226
  if (token === 'weETHs') {
1199
- return new decimal_js_1.default(prices.wstETH).mul(1.026).toString();
1227
+ return new decimal_js_1.default(prices.wstETH).mul(1.032).toString();
1200
1228
  }
1201
1229
  if (token === 'LBTC') {
1202
1230
  return prices.WBTC;
@@ -44,4 +44,4 @@ export declare const getApyAfterValuesEstimation: (selectedMarket: AaveMarketInf
44
44
  /**
45
45
  * won't cover all cases
46
46
  */
47
- export declare const getAaveUnderlyingSymbol: (_symbol?: string) => any;
47
+ export declare const getAaveUnderlyingSymbol: (_symbol?: string) => string;
@@ -65,7 +65,7 @@ const aaveAnyGetSuppliableAsCollAssets = (_a) => {
65
65
  };
66
66
  exports.aaveAnyGetSuppliableAsCollAssets = aaveAnyGetSuppliableAsCollAssets;
67
67
  const aaveAnyGetEmodeMutableProps = ({ eModeCategory, eModeCategoriesData, assetsData, }, _asset) => {
68
- const asset = (0, utils_1.wethToEth)(_asset);
68
+ const asset = (0, utils_1.getNativeAssetFromWrapped)(_asset);
69
69
  const assetData = assetsData[asset];
70
70
  const eModeCategoryData = (eModeCategoriesData === null || eModeCategoriesData === void 0 ? void 0 : eModeCategoriesData[eModeCategory]) || { collateralAssets: [], collateralFactor: '0', liquidationRatio: '0' };
71
71
  if (eModeCategory === 0
@@ -125,7 +125,7 @@ const getApyAfterValuesEstimationInner = (selectedMarket, actions, client, netwo
125
125
  const params = actions.map(({ action, asset, amount }) => {
126
126
  const isDebtAsset = constants_1.borrowOperations.includes(action);
127
127
  const amountInWei = (0, tokens_1.assetAmountInWei)(amount, asset);
128
- const assetInfo = (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(asset), network);
128
+ const assetInfo = (0, tokens_1.getAssetInfo)((0, utils_1.getWrappedNativeAssetFromUnwrapped)(asset), network);
129
129
  let liquidityAdded;
130
130
  let liquidityTaken;
131
131
  if (isDebtAsset) {
@@ -147,7 +147,7 @@ const getApyAfterValuesEstimationInner = (selectedMarket, actions, client, netwo
147
147
  const data = yield viewContract.read.getApyAfterValuesEstimation([selectedMarket.providerAddress, params]);
148
148
  const rates = {};
149
149
  data.forEach((d) => {
150
- const asset = (0, utils_1.wethToEth)((0, tokens_1.getAssetInfoByAddress)(d.reserveAddress, network).symbol);
150
+ const asset = (0, utils_1.getNativeAssetFromWrapped)((0, tokens_1.getAssetInfoByAddress)(d.reserveAddress, network).symbol);
151
151
  rates[asset] = {
152
152
  supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(d.supplyRate.toString()).div(1e25).toString()),
153
153
  borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(d.variableBorrowRate.toString()).div(1e25).toString()),
@@ -167,9 +167,11 @@ const getAaveUnderlyingSymbol = (_symbol = '') => {
167
167
  .replace(/^aEth/, '')
168
168
  .replace(/^aArb/, '')
169
169
  .replace(/^aOpt/, '')
170
+ .replace(/^aLin/, '')
171
+ .replace(/^aPla/, '')
170
172
  .replace(/^aBas/, '');
171
173
  if (symbol.startsWith('a'))
172
174
  symbol = symbol.slice(1);
173
- return (0, utils_1.wethToEth)(symbol);
175
+ return (0, utils_1.getNativeAssetFromWrapped)(symbol);
174
176
  };
175
177
  exports.getAaveUnderlyingSymbol = getAaveUnderlyingSymbol;
@@ -56,4 +56,4 @@ export declare const getRewardsForMarket: (marketId: string, network?: NetworkNu
56
56
  supplyApy: string;
57
57
  borrowApy: string;
58
58
  }>;
59
- export declare const getMorphoUnderlyingSymbol: (_symbol: string) => any;
59
+ export declare const getMorphoUnderlyingSymbol: (_symbol: string) => string;
@@ -45,7 +45,7 @@ exports.AAVE_V2 = {
45
45
  protocolName: 'aave',
46
46
  };
47
47
  const AAVE_V3 = (networkId) => ({
48
- chainIds: [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Opt, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Linea],
48
+ chainIds: [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Opt, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Linea, common_1.NetworkNumber.Plasma],
49
49
  label: networkId === common_1.NetworkNumber.Eth ? 'Aave v3 Core' : 'Aave v3',
50
50
  shortLabel: 'v3',
51
51
  value: types_1.AaveVersions.AaveV3,
@@ -6,12 +6,14 @@ export declare const aaveV3AssetsDefaultMarketOpt: string[];
6
6
  export declare const aaveV3AssetsDefaultMarketArb: string[];
7
7
  export declare const aaveV3AssetsDefaultMarketBase: string[];
8
8
  export declare const aaveV3AssetsDefaultMarketLinea: string[];
9
+ export declare const aaveV3AssetsDefaultMarketPlasma: string[];
9
10
  export declare const aaveV3AssetsDefaultMarket: {
10
11
  readonly 1: string[];
11
12
  readonly 10: string[];
12
13
  readonly 42161: string[];
13
14
  readonly 8453: string[];
14
15
  readonly 59144: string[];
16
+ readonly 9745: string[];
15
17
  };
16
18
  export declare const aaveV3AssetsLidoMarketEth: string[];
17
19
  export declare const aaveV3AssetsLidoMarket: {
@@ -20,6 +22,7 @@ export declare const aaveV3AssetsLidoMarket: {
20
22
  readonly 42161: readonly [];
21
23
  readonly 8453: readonly [];
22
24
  readonly 59144: readonly [];
25
+ readonly 9745: readonly [];
23
26
  };
24
27
  export declare const aaveV3AssetsEtherfiMarketEth: string[];
25
28
  export declare const aaveV3AssetsEtherfiMarket: {
@@ -28,4 +31,5 @@ export declare const aaveV3AssetsEtherfiMarket: {
28
31
  readonly 42161: readonly [];
29
32
  readonly 8453: readonly [];
30
33
  readonly 59144: readonly [];
34
+ readonly 9745: readonly [];
31
35
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aaveV3AssetsEtherfiMarket = exports.aaveV3AssetsEtherfiMarketEth = exports.aaveV3AssetsLidoMarket = exports.aaveV3AssetsLidoMarketEth = exports.aaveV3AssetsDefaultMarket = exports.aaveV3AssetsDefaultMarketLinea = exports.aaveV3AssetsDefaultMarketBase = exports.aaveV3AssetsDefaultMarketArb = exports.aaveV3AssetsDefaultMarketOpt = exports.aaveV3AssetsDefaultMarketEth = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = void 0;
3
+ exports.aaveV3AssetsEtherfiMarket = exports.aaveV3AssetsEtherfiMarketEth = exports.aaveV3AssetsLidoMarket = exports.aaveV3AssetsLidoMarketEth = exports.aaveV3AssetsDefaultMarket = exports.aaveV3AssetsDefaultMarketPlasma = exports.aaveV3AssetsDefaultMarketLinea = exports.aaveV3AssetsDefaultMarketBase = exports.aaveV3AssetsDefaultMarketArb = exports.aaveV3AssetsDefaultMarketOpt = exports.aaveV3AssetsDefaultMarketEth = exports.aaveV2AssetsDefaultMarket = exports.aaveV1AssetsDefaultMarket = void 0;
4
4
  const tokens_1 = require("@defisaver/tokens");
5
5
  const common_1 = require("../../types/common");
6
6
  exports.aaveV1AssetsDefaultMarket = [
@@ -18,6 +18,7 @@ exports.aaveV3AssetsDefaultMarketOpt = [
18
18
  exports.aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
19
19
  exports.aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC'];
20
20
  exports.aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC'];
21
+ exports.aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt'];
21
22
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
22
23
  exports.aaveV3AssetsDefaultMarket = {
23
24
  [common_1.NetworkNumber.Eth]: exports.aaveV3AssetsDefaultMarketEth,
@@ -25,6 +26,7 @@ exports.aaveV3AssetsDefaultMarket = {
25
26
  [common_1.NetworkNumber.Arb]: exports.aaveV3AssetsDefaultMarketArb,
26
27
  [common_1.NetworkNumber.Base]: exports.aaveV3AssetsDefaultMarketBase,
27
28
  [common_1.NetworkNumber.Linea]: exports.aaveV3AssetsDefaultMarketLinea,
29
+ [common_1.NetworkNumber.Plasma]: exports.aaveV3AssetsDefaultMarketPlasma,
28
30
  };
29
31
  exports.aaveV3AssetsLidoMarketEth = ['ETH', 'wstETH', 'USDS', 'USDC', 'ezETH', 'sUSDe', 'GHO', 'rsETH', 'tETH'];
30
32
  exports.aaveV3AssetsLidoMarket = {
@@ -33,6 +35,7 @@ exports.aaveV3AssetsLidoMarket = {
33
35
  [common_1.NetworkNumber.Arb]: [],
34
36
  [common_1.NetworkNumber.Base]: [],
35
37
  [common_1.NetworkNumber.Linea]: [],
38
+ [common_1.NetworkNumber.Plasma]: [],
36
39
  };
37
40
  exports.aaveV3AssetsEtherfiMarketEth = ['weETH', 'USDC', 'PYUSD', 'FRAX'];
38
41
  exports.aaveV3AssetsEtherfiMarket = {
@@ -41,4 +44,5 @@ exports.aaveV3AssetsEtherfiMarket = {
41
44
  [common_1.NetworkNumber.Arb]: [],
42
45
  [common_1.NetworkNumber.Base]: [],
43
46
  [common_1.NetworkNumber.Linea]: [],
47
+ [common_1.NetworkNumber.Plasma]: [],
44
48
  };
@@ -73,6 +73,17 @@ const BULKER_OPTIONS = {
73
73
  [types_1.CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
74
74
  [types_1.CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
75
75
  },
76
+ [common_1.NetworkNumber.Plasma]: {
77
+ // Non-existing markets, keeping it because of typescript
78
+ [types_1.CompoundVersions.CompoundV3USDC]: EMPTY_BULKER_OPTIONS,
79
+ [types_1.CompoundVersions.CompoundV3USDT]: EMPTY_BULKER_OPTIONS,
80
+ [types_1.CompoundVersions.CompoundV3ETH]: EMPTY_BULKER_OPTIONS,
81
+ [types_1.CompoundVersions.CompoundV3USDbC]: EMPTY_BULKER_OPTIONS,
82
+ [types_1.CompoundVersions.CompoundV2]: EMPTY_BULKER_OPTIONS,
83
+ [types_1.CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
84
+ [types_1.CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
85
+ [types_1.CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
86
+ },
76
87
  };
77
88
  exports.COMPOUND_V2 = {
78
89
  chainIds: [common_1.NetworkNumber.Eth],
@@ -10,6 +10,7 @@ export declare const v3USDCCollAssets: {
10
10
  readonly 42161: string[];
11
11
  readonly 8453: string[];
12
12
  readonly 59144: readonly [];
13
+ readonly 9745: readonly [];
13
14
  };
14
15
  export declare const v3USDCeCollAssetsArb: string[];
15
16
  export declare const v3USDCeCollAssets: {
@@ -18,6 +19,7 @@ export declare const v3USDCeCollAssets: {
18
19
  readonly 42161: string[];
19
20
  readonly 8453: readonly [];
20
21
  readonly 59144: readonly [];
22
+ readonly 9745: readonly [];
21
23
  };
22
24
  export declare const v3ETHCollAssetsEth: string[];
23
25
  export declare const v3ETHCollAssetsBase: string[];
@@ -29,6 +31,7 @@ export declare const v3ETHCollAssets: {
29
31
  readonly 42161: string[];
30
32
  readonly 8453: string[];
31
33
  readonly 59144: readonly [];
34
+ readonly 9745: readonly [];
32
35
  };
33
36
  export declare const v3USDbCCollAssetsBase: string[];
34
37
  export declare const v3USDbCCollAssets: {
@@ -37,6 +40,7 @@ export declare const v3USDbCCollAssets: {
37
40
  42161: never[];
38
41
  8453: string[];
39
42
  59144: never[];
43
+ 9745: never[];
40
44
  };
41
45
  export declare const v3USDTCollAssetsEth: string[];
42
46
  export declare const v3USDTCollAssetsArb: string[];
@@ -47,6 +51,7 @@ export declare const v3USDTCollAssets: {
47
51
  42161: string[];
48
52
  8453: never[];
49
53
  59144: never[];
54
+ 9745: never[];
50
55
  };
51
56
  export declare const v3USDSCollAssetsEth: string[];
52
57
  export declare const v3USDSCollAssetsBase: string[];
@@ -56,6 +61,7 @@ export declare const v3USDSCollAssets: {
56
61
  42161: never[];
57
62
  8453: string[];
58
63
  59144: never[];
64
+ 9745: never[];
59
65
  };
60
66
  export declare const v3wstETHCollAssetsEth: string[];
61
67
  export declare const v3wstETHCollAssets: {
@@ -64,4 +70,5 @@ export declare const v3wstETHCollAssets: {
64
70
  42161: never[];
65
71
  8453: never[];
66
72
  59144: never[];
73
+ 9745: never[];
67
74
  };
@@ -18,6 +18,7 @@ exports.v3USDCCollAssets = {
18
18
  [common_1.NetworkNumber.Arb]: exports.v3USDCCollAssetsArb,
19
19
  [common_1.NetworkNumber.Base]: exports.v3USDCCollAssetsBase,
20
20
  [common_1.NetworkNumber.Linea]: [],
21
+ [common_1.NetworkNumber.Plasma]: [],
21
22
  };
22
23
  exports.v3USDCeCollAssetsArb = ['ARB', 'ETH', 'GMX', 'WBTC'];
23
24
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -27,6 +28,7 @@ exports.v3USDCeCollAssets = {
27
28
  [common_1.NetworkNumber.Arb]: exports.v3USDCeCollAssetsArb,
28
29
  [common_1.NetworkNumber.Base]: [],
29
30
  [common_1.NetworkNumber.Linea]: [],
31
+ [common_1.NetworkNumber.Plasma]: [],
30
32
  };
31
33
  exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH', 'tBTC', 'ETHx', 'tETH', 'pufETH', 'wOETH'];
32
34
  exports.v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC', 'wsuperOETHb'];
@@ -39,6 +41,7 @@ exports.v3ETHCollAssets = {
39
41
  [common_1.NetworkNumber.Arb]: exports.v3ETHCollAssetsArb,
40
42
  [common_1.NetworkNumber.Base]: exports.v3ETHCollAssetsBase,
41
43
  [common_1.NetworkNumber.Linea]: [],
44
+ [common_1.NetworkNumber.Plasma]: [],
42
45
  };
43
46
  exports.v3USDbCCollAssetsBase = ['ETH', 'cbETH'];
44
47
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -48,6 +51,7 @@ exports.v3USDbCCollAssets = {
48
51
  [common_1.NetworkNumber.Arb]: [],
49
52
  [common_1.NetworkNumber.Base]: exports.v3USDbCCollAssetsBase,
50
53
  [common_1.NetworkNumber.Linea]: [],
54
+ [common_1.NetworkNumber.Plasma]: [],
51
55
  };
52
56
  exports.v3USDTCollAssetsEth = ['COMP', 'ETH', 'WBTC', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'tBTC', 'wUSDM', 'sFRAX', 'mETH', 'weETH', 'sdeUSD', 'deUSD'];
53
57
  exports.v3USDTCollAssetsArb = ['ETH', 'WBTC', 'wstETH', 'ARB', 'GMX'];
@@ -59,6 +63,7 @@ exports.v3USDTCollAssets = {
59
63
  [common_1.NetworkNumber.Arb]: exports.v3USDTCollAssetsArb,
60
64
  [common_1.NetworkNumber.Base]: [],
61
65
  [common_1.NetworkNumber.Linea]: [],
66
+ [common_1.NetworkNumber.Plasma]: [],
62
67
  };
63
68
  exports.v3USDSCollAssetsEth = ['wstETH', 'ETH', 'sUSDS', 'cbETH', 'tBTC', 'USDe'];
64
69
  exports.v3USDSCollAssetsBase = ['sUSDS', 'cbBTC'];
@@ -68,6 +73,7 @@ exports.v3USDSCollAssets = {
68
73
  [common_1.NetworkNumber.Arb]: [],
69
74
  [common_1.NetworkNumber.Base]: exports.v3USDSCollAssetsBase,
70
75
  [common_1.NetworkNumber.Linea]: [],
76
+ [common_1.NetworkNumber.Plasma]: [],
71
77
  };
72
78
  exports.v3wstETHCollAssetsEth = ['rsETH', 'ezETH'];
73
79
  exports.v3wstETHCollAssets = {
@@ -76,4 +82,5 @@ exports.v3wstETHCollAssets = {
76
82
  [common_1.NetworkNumber.Arb]: [],
77
83
  [common_1.NetworkNumber.Base]: [],
78
84
  [common_1.NetworkNumber.Linea]: [],
85
+ [common_1.NetworkNumber.Plasma]: [],
79
86
  };
@@ -244,17 +244,21 @@ export declare const FluidFTokens: (networkId: NetworkNumber) => {
244
244
  wstETH: string;
245
245
  GHO: string;
246
246
  sUSDS: string;
247
+ USDtb: string;
247
248
  } | {
248
249
  ETH: string;
249
250
  USDC: string;
250
251
  USDT: string;
251
252
  wstETH: string;
252
253
  ARB: string;
254
+ GHO: string;
255
+ sUSDS: string;
253
256
  } | {
254
257
  ETH: string;
255
258
  USDC: string;
256
259
  EURC: string;
257
260
  wstETH: string;
258
261
  sUSDS: string;
262
+ GHO: string;
259
263
  };
260
264
  export declare const getFTokenAddress: (token: string, networkId: NetworkNumber) => any;
@@ -2415,6 +2415,7 @@ const FluidMainnetFTokenAddresses = {
2415
2415
  [types_1.FluidMainnetDepositToken.wstETH]: '0x2411802D8BEA09be0aF8fD8D08314a63e706b29C',
2416
2416
  [types_1.FluidMainnetDepositToken.GHO]: '0x6A29A46E21C730DcA1d8b23d637c101cec605C5B',
2417
2417
  [types_1.FluidMainnetDepositToken.sUSDS]: '0x2BBE31d63E6813E3AC858C04dae43FB2a72B0D11',
2418
+ [types_1.FluidMainnetDepositToken.USDtb]: '0x15e8c742614b5D8Db4083A41Df1A14F5D2bFB400',
2418
2419
  };
2419
2420
  const FluidArbitrumFTokenAddresses = {
2420
2421
  [types_1.FluidArbitrumDepositToken.ETH]: '0x45Df0656F8aDf017590009d2f1898eeca4F0a205',
@@ -2422,6 +2423,8 @@ const FluidArbitrumFTokenAddresses = {
2422
2423
  [types_1.FluidArbitrumDepositToken.USDT]: '0x4A03F37e7d3fC243e3f99341d36f4b829BEe5E03',
2423
2424
  [types_1.FluidArbitrumDepositToken.wstETH]: '0x66C25Cd75EBdAA7E04816F643d8E46cecd3183c9',
2424
2425
  [types_1.FluidArbitrumDepositToken.ARB]: '0xbE3860FD4c3facDf8ad57Aa8c1A36D6dc4390a49',
2426
+ [types_1.FluidArbitrumDepositToken.GHO]: '0x037dFf1C12805707d7c29F163E0F09fC9102657A',
2427
+ [types_1.FluidArbitrumDepositToken.sUSDS]: '0x3459fcc94390C3372c0F7B4cD3F8795F0E5aFE96',
2425
2428
  };
2426
2429
  const FluidBaseFTokenAddresses = {
2427
2430
  [types_1.FluidBaseDepositToken.ETH]: '0x9272D6153133175175Bc276512B2336BE3931CE9',
@@ -2429,6 +2432,7 @@ const FluidBaseFTokenAddresses = {
2429
2432
  [types_1.FluidBaseDepositToken.EURC]: '0x1943FA26360f038230442525Cf1B9125b5DCB401',
2430
2433
  [types_1.FluidBaseDepositToken.wstETH]: '0x896E39f0E9af61ECA9dD2938E14543506ef2c2b5',
2431
2434
  [types_1.FluidBaseDepositToken.sUSDS]: '0xf62e339f21d8018940f188F6987Bcdf02A849619',
2435
+ [types_1.FluidBaseDepositToken.GHO]: '0x8DdbfFA3CFda2355a23d6B11105AC624BDbE3631',
2432
2436
  };
2433
2437
  const FluidFTokens = (networkId) => {
2434
2438
  switch (networkId) {
@@ -5,4 +5,5 @@ export declare const sparkAssetsDefaultMarket: {
5
5
  readonly 8453: readonly [];
6
6
  readonly 42161: readonly [];
7
7
  readonly 59144: readonly [];
8
+ readonly 9745: readonly [];
8
9
  };
@@ -10,4 +10,5 @@ exports.sparkAssetsDefaultMarket = {
10
10
  [common_1.NetworkNumber.Base]: [],
11
11
  [common_1.NetworkNumber.Arb]: [],
12
12
  [common_1.NetworkNumber.Linea]: [],
13
+ [common_1.NetworkNumber.Plasma]: [],
13
14
  };
@@ -2,8 +2,6 @@ import { NetworkNumber } from '../types/common';
2
2
  export declare const isLayer2Network: (networkId: NetworkNumber) => boolean;
3
3
  export declare const addToObjectIf: (condition: any, item: any) => any;
4
4
  export declare const addToArrayIf: (condition: any, ...items: any[]) => any[];
5
- export declare const ethToWeth: (maybeEth: any) => any;
6
- export declare const wethToEth: (maybeWeth: any) => any;
7
5
  export declare const stEthToWstEth: (maybeStEth: any) => any;
8
6
  export declare const wstEthToStEth: (maybeStEth: any) => any;
9
7
  export declare const getAbiItem: (abi: any, methodName: string) => any;
@@ -13,8 +11,6 @@ export declare const compareAddresses: (addr1?: string, addr2?: string) => boole
13
11
  export declare const getWeiAmountForDecimals: (amount: string | number, decimals: number) => string;
14
12
  export declare const getEthAmountForDecimals: (amount: string | number, decimals: string | number) => string;
15
13
  export declare const handleWbtcLegacy: (asset: string) => string;
16
- export declare const wethToEthByAddress: (maybeWethAddr: string, chainId?: NetworkNumber) => string;
17
- export declare const ethToWethByAddress: (maybeEthAddr: string, chainId?: NetworkNumber) => string;
18
14
  export declare const bytesToString: (hex: string) => string;
19
15
  /**
20
16
  * Map an input value from one range (minInput, maxInput) to a value in another range (minOutput, maxOutput)
@@ -30,3 +26,11 @@ export declare const DEFAULT_TIMEOUT = 2000;
30
26
  * @param value
31
27
  */
32
28
  export declare const convertHybridArraysToObjects: (value: any) => any;
29
+ export declare const ethToWeth: (maybeEth: string) => string;
30
+ export declare const wethToEth: (maybeWeth: string) => string;
31
+ export declare const wethToEthByAddress: (maybeWethAddr: string, chainId?: NetworkNumber) => string;
32
+ export declare const ethToWethByAddress: (maybeEthAddr: string, chainId?: NetworkNumber) => string;
33
+ export declare const xplToWxpl: (maybeXpl: string) => string;
34
+ export declare const wxplToXpl: (maybeWxpl: string) => string;
35
+ export declare const getWrappedNativeAssetFromUnwrapped: (symbol: string) => string;
36
+ export declare const getNativeAssetFromWrapped: (symbol: string) => string;