@defisaver/positions-sdk 2.0.9 → 2.0.10-dev-linea-1

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 (104) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/aaveV3/index.js +1 -1
  5. package/cjs/config/contracts.d.ts +194 -33
  6. package/cjs/config/contracts.js +18 -1
  7. package/cjs/contracts.d.ts +1283 -293
  8. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  9. package/cjs/markets/aave/index.js +1 -1
  10. package/cjs/markets/aave/marketAssets.d.ts +4 -0
  11. package/cjs/markets/aave/marketAssets.js +5 -1
  12. package/cjs/markets/compound/index.js +11 -0
  13. package/cjs/markets/compound/marketsAssets.d.ts +7 -0
  14. package/cjs/markets/compound/marketsAssets.js +7 -0
  15. package/cjs/markets/spark/marketAssets.d.ts +1 -0
  16. package/cjs/markets/spark/marketAssets.js +1 -0
  17. package/cjs/portfolio/index.js +2 -2
  18. package/cjs/services/viem.d.ts +46 -0
  19. package/cjs/services/viem.js +2 -0
  20. package/cjs/types/common.d.ts +2 -1
  21. package/cjs/types/common.js +1 -0
  22. package/esm/aaveV3/index.js +1 -1
  23. package/esm/config/contracts.d.ts +194 -33
  24. package/esm/config/contracts.js +18 -1
  25. package/esm/contracts.d.ts +1283 -293
  26. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  27. package/esm/markets/aave/index.js +1 -1
  28. package/esm/markets/aave/marketAssets.d.ts +4 -0
  29. package/esm/markets/aave/marketAssets.js +4 -0
  30. package/esm/markets/compound/index.js +11 -0
  31. package/esm/markets/compound/marketsAssets.d.ts +7 -0
  32. package/esm/markets/compound/marketsAssets.js +7 -0
  33. package/esm/markets/spark/marketAssets.d.ts +1 -0
  34. package/esm/markets/spark/marketAssets.js +1 -0
  35. package/esm/portfolio/index.js +2 -2
  36. package/esm/services/viem.d.ts +46 -0
  37. package/esm/services/viem.js +3 -1
  38. package/esm/types/common.d.ts +2 -1
  39. package/esm/types/common.js +1 -0
  40. package/package.json +47 -47
  41. package/src/aaveV2/index.ts +236 -236
  42. package/src/aaveV3/index.ts +489 -489
  43. package/src/compoundV2/index.ts +240 -240
  44. package/src/compoundV3/index.ts +270 -270
  45. package/src/config/contracts.ts +1107 -1090
  46. package/src/constants/index.ts +6 -6
  47. package/src/contracts.ts +107 -107
  48. package/src/curveUsd/index.ts +250 -250
  49. package/src/eulerV2/index.ts +314 -314
  50. package/src/exchange/index.ts +25 -25
  51. package/src/fluid/index.ts +1568 -1568
  52. package/src/helpers/aaveHelpers/index.ts +170 -170
  53. package/src/helpers/compoundHelpers/index.ts +261 -261
  54. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  55. package/src/helpers/eulerHelpers/index.ts +259 -259
  56. package/src/helpers/fluidHelpers/index.ts +324 -324
  57. package/src/helpers/index.ts +10 -10
  58. package/src/helpers/liquityV2Helpers/index.ts +80 -80
  59. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  60. package/src/helpers/makerHelpers/index.ts +52 -52
  61. package/src/helpers/morphoBlueHelpers/index.ts +390 -390
  62. package/src/helpers/sparkHelpers/index.ts +155 -155
  63. package/src/index.ts +45 -45
  64. package/src/liquity/index.ts +104 -104
  65. package/src/liquityV2/index.ts +408 -408
  66. package/src/llamaLend/index.ts +296 -296
  67. package/src/maker/index.ts +223 -223
  68. package/src/markets/aave/index.ts +116 -116
  69. package/src/markets/aave/marketAssets.ts +49 -44
  70. package/src/markets/compound/index.ts +227 -216
  71. package/src/markets/compound/marketsAssets.ts +90 -83
  72. package/src/markets/curveUsd/index.ts +69 -69
  73. package/src/markets/euler/index.ts +26 -26
  74. package/src/markets/fluid/index.ts +2456 -2456
  75. package/src/markets/index.ts +25 -25
  76. package/src/markets/liquityV2/index.ts +102 -102
  77. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  78. package/src/markets/llamaLend/index.ts +235 -235
  79. package/src/markets/morphoBlue/index.ts +895 -895
  80. package/src/markets/spark/index.ts +29 -29
  81. package/src/markets/spark/marketAssets.ts +11 -10
  82. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  83. package/src/morphoBlue/index.ts +222 -222
  84. package/src/portfolio/index.ts +285 -285
  85. package/src/services/priceService.ts +159 -159
  86. package/src/services/utils.ts +63 -63
  87. package/src/services/viem.ts +32 -30
  88. package/src/setup.ts +8 -8
  89. package/src/spark/index.ts +456 -456
  90. package/src/staking/staking.ts +192 -192
  91. package/src/types/aave.ts +194 -194
  92. package/src/types/common.ts +88 -87
  93. package/src/types/compound.ts +136 -136
  94. package/src/types/curveUsd.ts +121 -121
  95. package/src/types/euler.ts +174 -174
  96. package/src/types/fluid.ts +450 -450
  97. package/src/types/index.ts +11 -11
  98. package/src/types/liquity.ts +30 -30
  99. package/src/types/liquityV2.ts +126 -126
  100. package/src/types/llamaLend.ts +157 -157
  101. package/src/types/maker.ts +63 -63
  102. package/src/types/morphoBlue.ts +194 -194
  103. package/src/types/portfolio.ts +60 -60
  104. package/src/types/spark.ts +137 -137
@@ -128,73 +128,73 @@ const getApyAfterValuesEstimation = (selectedMarket, actions, provider, network)
128
128
  });
129
129
  exports.getApyAfterValuesEstimation = getApyAfterValuesEstimation;
130
130
  const API_URL = 'https://blue-api.morpho.org/graphql';
131
- const MARKET_QUERY = `
132
- query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
133
- marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
134
- reallocatableLiquidityAssets
135
- targetBorrowUtilization
136
- loanAsset {
137
- address
138
- decimals
139
- priceUsd
140
- }
141
- state {
142
- liquidityAssets
143
- borrowAssets
144
- supplyAssets
145
- }
146
- publicAllocatorSharedLiquidity {
147
- assets
148
- vault {
149
- address
150
- name
151
- }
152
- allocationMarket {
153
- uniqueKey
154
- loanAsset {
155
- address
156
- }
157
- collateralAsset {
158
- address
159
- }
160
- irmAddress
161
- oracle {
162
- address
163
- }
164
- lltv
165
- }
166
- }
167
- loanAsset {
168
- address
169
- }
170
- collateralAsset {
171
- address
172
- }
173
- oracle {
174
- address
175
- }
176
- irmAddress
177
- lltv
178
- }
179
- }
131
+ const MARKET_QUERY = `
132
+ query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
133
+ marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
134
+ reallocatableLiquidityAssets
135
+ targetBorrowUtilization
136
+ loanAsset {
137
+ address
138
+ decimals
139
+ priceUsd
140
+ }
141
+ state {
142
+ liquidityAssets
143
+ borrowAssets
144
+ supplyAssets
145
+ }
146
+ publicAllocatorSharedLiquidity {
147
+ assets
148
+ vault {
149
+ address
150
+ name
151
+ }
152
+ allocationMarket {
153
+ uniqueKey
154
+ loanAsset {
155
+ address
156
+ }
157
+ collateralAsset {
158
+ address
159
+ }
160
+ irmAddress
161
+ oracle {
162
+ address
163
+ }
164
+ lltv
165
+ }
166
+ }
167
+ loanAsset {
168
+ address
169
+ }
170
+ collateralAsset {
171
+ address
172
+ }
173
+ oracle {
174
+ address
175
+ }
176
+ irmAddress
177
+ lltv
178
+ }
179
+ }
180
180
  `;
181
- const REWARDS_QUERY = `
182
- query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
183
- marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
184
- uniqueKey
185
- state {
186
- rewards {
187
- amountPerSuppliedToken
188
- supplyApr
189
- amountPerBorrowedToken
190
- borrowApr
191
- asset {
192
- address
193
- }
194
- }
195
- }
196
- }
197
- }
181
+ const REWARDS_QUERY = `
182
+ query MarketByUniqueKey($uniqueKey: String!, $chainId: Int!) {
183
+ marketByUniqueKey(uniqueKey: $uniqueKey, chainId: $chainId) {
184
+ uniqueKey
185
+ state {
186
+ rewards {
187
+ amountPerSuppliedToken
188
+ supplyApr
189
+ amountPerBorrowedToken
190
+ borrowApr
191
+ asset {
192
+ address
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }
198
198
  `;
199
199
  /**
200
200
  * Get reallocatable liquidity to a given market and target borrow utilization
@@ -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],
48
+ chainIds: [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Opt, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Linea],
49
49
  label: networkId === common_1.NetworkNumber.Eth ? 'Aave v3 Core' : 'Aave v3',
50
50
  shortLabel: 'v3',
51
51
  value: types_1.AaveVersions.AaveV3,
@@ -5,11 +5,13 @@ export declare const aaveV3AssetsDefaultMarketEth: string[];
5
5
  export declare const aaveV3AssetsDefaultMarketOpt: string[];
6
6
  export declare const aaveV3AssetsDefaultMarketArb: string[];
7
7
  export declare const aaveV3AssetsDefaultMarketBase: string[];
8
+ export declare const aaveV3AssetsDefaultMarketLinea: string[];
8
9
  export declare const aaveV3AssetsDefaultMarket: {
9
10
  readonly 1: string[];
10
11
  readonly 10: string[];
11
12
  readonly 42161: string[];
12
13
  readonly 8453: string[];
14
+ readonly 59144: string[];
13
15
  };
14
16
  export declare const aaveV3AssetsLidoMarketEth: string[];
15
17
  export declare const aaveV3AssetsLidoMarket: {
@@ -17,6 +19,7 @@ export declare const aaveV3AssetsLidoMarket: {
17
19
  readonly 10: readonly [];
18
20
  readonly 42161: readonly [];
19
21
  readonly 8453: readonly [];
22
+ readonly 59144: readonly [];
20
23
  };
21
24
  export declare const aaveV3AssetsEtherfiMarketEth: string[];
22
25
  export declare const aaveV3AssetsEtherfiMarket: {
@@ -24,4 +27,5 @@ export declare const aaveV3AssetsEtherfiMarket: {
24
27
  readonly 10: readonly [];
25
28
  readonly 42161: readonly [];
26
29
  readonly 8453: readonly [];
30
+ readonly 59144: readonly [];
27
31
  };
@@ -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.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.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 = [
@@ -17,12 +17,14 @@ exports.aaveV3AssetsDefaultMarketOpt = [
17
17
  ];
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
+ exports.aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC'];
20
21
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
21
22
  exports.aaveV3AssetsDefaultMarket = {
22
23
  [common_1.NetworkNumber.Eth]: exports.aaveV3AssetsDefaultMarketEth,
23
24
  [common_1.NetworkNumber.Opt]: exports.aaveV3AssetsDefaultMarketOpt,
24
25
  [common_1.NetworkNumber.Arb]: exports.aaveV3AssetsDefaultMarketArb,
25
26
  [common_1.NetworkNumber.Base]: exports.aaveV3AssetsDefaultMarketBase,
27
+ [common_1.NetworkNumber.Linea]: exports.aaveV3AssetsDefaultMarketLinea,
26
28
  };
27
29
  exports.aaveV3AssetsLidoMarketEth = ['ETH', 'wstETH', 'USDS', 'USDC', 'ezETH', 'sUSDe', 'GHO', 'rsETH', 'tETH'];
28
30
  exports.aaveV3AssetsLidoMarket = {
@@ -30,6 +32,7 @@ exports.aaveV3AssetsLidoMarket = {
30
32
  [common_1.NetworkNumber.Opt]: [],
31
33
  [common_1.NetworkNumber.Arb]: [],
32
34
  [common_1.NetworkNumber.Base]: [],
35
+ [common_1.NetworkNumber.Linea]: [],
33
36
  };
34
37
  exports.aaveV3AssetsEtherfiMarketEth = ['weETH', 'USDC', 'PYUSD', 'FRAX'];
35
38
  exports.aaveV3AssetsEtherfiMarket = {
@@ -37,4 +40,5 @@ exports.aaveV3AssetsEtherfiMarket = {
37
40
  [common_1.NetworkNumber.Opt]: [],
38
41
  [common_1.NetworkNumber.Arb]: [],
39
42
  [common_1.NetworkNumber.Base]: [],
43
+ [common_1.NetworkNumber.Linea]: [],
40
44
  };
@@ -62,6 +62,17 @@ const BULKER_OPTIONS = {
62
62
  [types_1.CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
63
63
  [types_1.CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
64
64
  },
65
+ [common_1.NetworkNumber.Linea]: {
66
+ // Non-existing markets, keeping it because of typescript
67
+ [types_1.CompoundVersions.CompoundV3USDC]: EMPTY_BULKER_OPTIONS,
68
+ [types_1.CompoundVersions.CompoundV3USDT]: EMPTY_BULKER_OPTIONS,
69
+ [types_1.CompoundVersions.CompoundV3ETH]: EMPTY_BULKER_OPTIONS,
70
+ [types_1.CompoundVersions.CompoundV3USDbC]: EMPTY_BULKER_OPTIONS,
71
+ [types_1.CompoundVersions.CompoundV2]: EMPTY_BULKER_OPTIONS,
72
+ [types_1.CompoundVersions.CompoundV3USDCe]: EMPTY_BULKER_OPTIONS,
73
+ [types_1.CompoundVersions.CompoundV3wstETH]: EMPTY_BULKER_OPTIONS,
74
+ [types_1.CompoundVersions.CompoundV3USDS]: EMPTY_BULKER_OPTIONS,
75
+ },
65
76
  };
66
77
  exports.COMPOUND_V2 = {
67
78
  chainIds: [common_1.NetworkNumber.Eth],
@@ -9,6 +9,7 @@ export declare const v3USDCCollAssets: {
9
9
  readonly 10: string[];
10
10
  readonly 42161: string[];
11
11
  readonly 8453: string[];
12
+ readonly 59144: readonly [];
12
13
  };
13
14
  export declare const v3USDCeCollAssetsArb: string[];
14
15
  export declare const v3USDCeCollAssets: {
@@ -16,6 +17,7 @@ export declare const v3USDCeCollAssets: {
16
17
  readonly 10: readonly [];
17
18
  readonly 42161: string[];
18
19
  readonly 8453: readonly [];
20
+ readonly 59144: readonly [];
19
21
  };
20
22
  export declare const v3ETHCollAssetsEth: string[];
21
23
  export declare const v3ETHCollAssetsBase: string[];
@@ -26,6 +28,7 @@ export declare const v3ETHCollAssets: {
26
28
  readonly 10: string[];
27
29
  readonly 42161: string[];
28
30
  readonly 8453: string[];
31
+ readonly 59144: readonly [];
29
32
  };
30
33
  export declare const v3USDbCCollAssetsBase: string[];
31
34
  export declare const v3USDbCCollAssets: {
@@ -33,6 +36,7 @@ export declare const v3USDbCCollAssets: {
33
36
  10: never[];
34
37
  42161: never[];
35
38
  8453: string[];
39
+ 59144: never[];
36
40
  };
37
41
  export declare const v3USDTCollAssetsEth: string[];
38
42
  export declare const v3USDTCollAssetsArb: string[];
@@ -42,6 +46,7 @@ export declare const v3USDTCollAssets: {
42
46
  10: string[];
43
47
  42161: string[];
44
48
  8453: never[];
49
+ 59144: never[];
45
50
  };
46
51
  export declare const v3USDSCollAssetsEth: string[];
47
52
  export declare const v3USDSCollAssetsBase: string[];
@@ -50,6 +55,7 @@ export declare const v3USDSCollAssets: {
50
55
  10: never[];
51
56
  42161: never[];
52
57
  8453: string[];
58
+ 59144: never[];
53
59
  };
54
60
  export declare const v3wstETHCollAssetsEth: string[];
55
61
  export declare const v3wstETHCollAssets: {
@@ -57,4 +63,5 @@ export declare const v3wstETHCollAssets: {
57
63
  10: never[];
58
64
  42161: never[];
59
65
  8453: never[];
66
+ 59144: never[];
60
67
  };
@@ -17,6 +17,7 @@ exports.v3USDCCollAssets = {
17
17
  [common_1.NetworkNumber.Opt]: exports.v3USDCCollAssetsOpt,
18
18
  [common_1.NetworkNumber.Arb]: exports.v3USDCCollAssetsArb,
19
19
  [common_1.NetworkNumber.Base]: exports.v3USDCCollAssetsBase,
20
+ [common_1.NetworkNumber.Linea]: [],
20
21
  };
21
22
  exports.v3USDCeCollAssetsArb = ['ARB', 'ETH', 'GMX', 'WBTC'];
22
23
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -25,6 +26,7 @@ exports.v3USDCeCollAssets = {
25
26
  [common_1.NetworkNumber.Opt]: [],
26
27
  [common_1.NetworkNumber.Arb]: exports.v3USDCeCollAssetsArb,
27
28
  [common_1.NetworkNumber.Base]: [],
29
+ [common_1.NetworkNumber.Linea]: [],
28
30
  };
29
31
  exports.v3ETHCollAssetsEth = ['cbETH', 'wstETH', 'rETH', 'rsETH', 'weETH', 'osETH', 'WBTC', 'ezETH', 'cbBTC', 'rswETH', 'tBTC', 'ETHx', 'tETH', 'pufETH', 'wOETH'];
30
32
  exports.v3ETHCollAssetsBase = ['cbETH', 'ezETH', 'wstETH', 'USDC', 'weETH', 'wrsETH', 'cbBTC', 'wsuperOETHb'];
@@ -36,6 +38,7 @@ exports.v3ETHCollAssets = {
36
38
  [common_1.NetworkNumber.Opt]: exports.v3ETHCollAssetsOpt,
37
39
  [common_1.NetworkNumber.Arb]: exports.v3ETHCollAssetsArb,
38
40
  [common_1.NetworkNumber.Base]: exports.v3ETHCollAssetsBase,
41
+ [common_1.NetworkNumber.Linea]: [],
39
42
  };
40
43
  exports.v3USDbCCollAssetsBase = ['ETH', 'cbETH'];
41
44
  // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
@@ -44,6 +47,7 @@ exports.v3USDbCCollAssets = {
44
47
  [common_1.NetworkNumber.Opt]: [],
45
48
  [common_1.NetworkNumber.Arb]: [],
46
49
  [common_1.NetworkNumber.Base]: exports.v3USDbCCollAssetsBase,
50
+ [common_1.NetworkNumber.Linea]: [],
47
51
  };
48
52
  exports.v3USDTCollAssetsEth = ['COMP', 'ETH', 'WBTC', 'UNI', 'LINK', 'wstETH', 'cbBTC', 'tBTC', 'sFRAX', 'mETH', 'weETH', 'sdeUSD', 'deUSD'];
49
53
  exports.v3USDTCollAssetsArb = ['ETH', 'WBTC', 'wstETH', 'ARB', 'GMX'];
@@ -54,6 +58,7 @@ exports.v3USDTCollAssets = {
54
58
  [common_1.NetworkNumber.Opt]: exports.v3USDTCollAssetsOpt,
55
59
  [common_1.NetworkNumber.Arb]: exports.v3USDTCollAssetsArb,
56
60
  [common_1.NetworkNumber.Base]: [],
61
+ [common_1.NetworkNumber.Linea]: [],
57
62
  };
58
63
  exports.v3USDSCollAssetsEth = ['wstETH', 'ETH', 'sUSDS', 'cbETH', 'tBTC', 'USDe'];
59
64
  exports.v3USDSCollAssetsBase = ['sUSDS', 'cbBTC'];
@@ -62,6 +67,7 @@ exports.v3USDSCollAssets = {
62
67
  [common_1.NetworkNumber.Opt]: [],
63
68
  [common_1.NetworkNumber.Arb]: [],
64
69
  [common_1.NetworkNumber.Base]: exports.v3USDSCollAssetsBase,
70
+ [common_1.NetworkNumber.Linea]: [],
65
71
  };
66
72
  exports.v3wstETHCollAssetsEth = ['rsETH', 'ezETH'];
67
73
  exports.v3wstETHCollAssets = {
@@ -69,4 +75,5 @@ exports.v3wstETHCollAssets = {
69
75
  [common_1.NetworkNumber.Opt]: [],
70
76
  [common_1.NetworkNumber.Arb]: [],
71
77
  [common_1.NetworkNumber.Base]: [],
78
+ [common_1.NetworkNumber.Linea]: [],
72
79
  };
@@ -4,4 +4,5 @@ export declare const sparkAssetsDefaultMarket: {
4
4
  readonly 10: readonly [];
5
5
  readonly 8453: readonly [];
6
6
  readonly 42161: readonly [];
7
+ readonly 59144: readonly [];
7
8
  };
@@ -9,4 +9,5 @@ exports.sparkAssetsDefaultMarket = {
9
9
  [common_1.NetworkNumber.Opt]: [],
10
10
  [common_1.NetworkNumber.Base]: [],
11
11
  [common_1.NetworkNumber.Arb]: [],
12
+ [common_1.NetworkNumber.Linea]: [],
12
13
  };
@@ -35,7 +35,7 @@ const eulerHelpers_1 = require("../helpers/eulerHelpers");
35
35
  function getPortfolioData(provider, network, defaultProvider, addresses, summerFiAddresses) {
36
36
  return __awaiter(this, void 0, void 0, function* () {
37
37
  const isMainnet = network === common_1.NetworkNumber.Eth;
38
- const isOpt = network === common_1.NetworkNumber.Opt;
38
+ const isFluidSupported = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base].includes(network);
39
39
  const morphoMarkets = Object.values((0, markets_1.MorphoBlueMarkets)(network)).filter((market) => market.chainIds.includes(network));
40
40
  const compoundV3Markets = Object.values((0, markets_1.CompoundMarkets)(network)).filter((market) => market.chainIds.includes(network) && market.value !== types_1.CompoundVersions.CompoundV2);
41
41
  const sparkMarkets = Object.values((0, markets_1.SparkMarkets)(network)).filter((market) => market.chainIds.includes(network));
@@ -135,7 +135,7 @@ function getPortfolioData(provider, network, defaultProvider, addresses, summerF
135
135
  })),
136
136
  ...addresses.map((address) => __awaiter(this, void 0, void 0, function* () {
137
137
  try {
138
- if (isOpt)
138
+ if (!isFluidSupported)
139
139
  return; // Fluid is not available on Optimism
140
140
  const userPositions = yield (0, fluid_1._getUserPositionsPortfolio)(client, network, address);
141
141
  for (const position of userPositions) {
@@ -684,6 +684,52 @@ export declare const getViemChain: (network: NetworkNumber) => {
684
684
  serializers: {
685
685
  readonly transaction: typeof import("viem/chains").serializeTransactionOpStack;
686
686
  };
687
+ } | {
688
+ blockExplorers: {
689
+ readonly default: {
690
+ readonly name: "Etherscan";
691
+ readonly url: "https://lineascan.build";
692
+ readonly apiUrl: "https://api.lineascan.build/api";
693
+ };
694
+ };
695
+ blockTime?: number | undefined | undefined;
696
+ contracts: {
697
+ readonly multicall3: {
698
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
699
+ readonly blockCreated: 42;
700
+ };
701
+ readonly ensRegistry: {
702
+ readonly address: "0x50130b669B28C339991d8676FA73CF122a121267";
703
+ readonly blockCreated: 6682888;
704
+ };
705
+ readonly ensUniversalResolver: {
706
+ readonly address: "0x3aA974fb3f8C1E02796048BDCdeD79e9D53a6965";
707
+ readonly blockCreated: 6683000;
708
+ };
709
+ };
710
+ ensTlds: readonly [".linea.eth"];
711
+ id: 59144;
712
+ name: "Linea Mainnet";
713
+ nativeCurrency: {
714
+ readonly name: "Linea Ether";
715
+ readonly symbol: "ETH";
716
+ readonly decimals: 18;
717
+ };
718
+ rpcUrls: {
719
+ readonly default: {
720
+ readonly http: readonly ["https://rpc.linea.build"];
721
+ readonly webSocket: readonly ["wss://rpc.linea.build"];
722
+ };
723
+ };
724
+ sourceId?: number | undefined | undefined;
725
+ testnet: false;
726
+ custom?: Record<string, unknown> | undefined;
727
+ fees: {
728
+ readonly estimateFeesPerGas: ({ client, multiply, request, type, }: Parameters<import("viem").ChainEstimateFeesPerGasFn>[0]) => ReturnType<import("viem").ChainEstimateFeesPerGasFn>;
729
+ readonly maxPriorityFeePerGas: ({ block, client, request }: import("viem").ChainFeesFnParameters<import("viem").ChainFormatters | undefined>) => Promise<bigint | null>;
730
+ };
731
+ formatters?: undefined;
732
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
687
733
  };
688
734
  export declare const getViemProvider: (provider: EthereumProvider, network: NetworkNumber, options?: any) => {
689
735
  account: undefined;
@@ -14,6 +14,8 @@ const getViemChain = (network) => {
14
14
  return chains_1.arbitrum;
15
15
  case common_1.NetworkNumber.Base:
16
16
  return chains_1.base;
17
+ case common_1.NetworkNumber.Linea:
18
+ return chains_1.linea;
17
19
  default:
18
20
  throw new Error(`Unsupported network: ${network}`);
19
21
  }
@@ -6,7 +6,8 @@ export declare enum NetworkNumber {
6
6
  Eth = 1,
7
7
  Opt = 10,
8
8
  Arb = 42161,
9
- Base = 8453
9
+ Base = 8453,
10
+ Linea = 59144
10
11
  }
11
12
  export type Networkish = string | NetworkNumber;
12
13
  export interface MMAssetData {
@@ -7,4 +7,5 @@ var NetworkNumber;
7
7
  NetworkNumber[NetworkNumber["Opt"] = 10] = "Opt";
8
8
  NetworkNumber[NetworkNumber["Arb"] = 42161] = "Arb";
9
9
  NetworkNumber[NetworkNumber["Base"] = 8453] = "Base";
10
+ NetworkNumber[NetworkNumber["Linea"] = 59144] = "Linea";
10
11
  })(NetworkNumber || (exports.NetworkNumber = NetworkNumber = {}));
@@ -49,7 +49,7 @@ export function _getAaveV3MarketData(provider_1, network_1, market_1) {
49
49
  const loanInfoContract = AaveV3ViewContractViem(provider, network);
50
50
  const aaveIncentivesContract = AaveIncentiveDataProviderV3ContractViem(provider, network);
51
51
  const marketAddress = market.providerAddress;
52
- const networksWithIncentives = [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Opt];
52
+ const networksWithIncentives = [NetworkNumber.Eth, NetworkNumber.Arb, NetworkNumber.Opt, NetworkNumber.Linea];
53
53
  // eslint-disable-next-line prefer-const
54
54
  let [loanInfo, eModesInfo, isBorrowAllowed, rewardInfo] = yield Promise.all([
55
55
  loanInfoContract.read.getFullTokensInfo([marketAddress, _addresses], setViemBlockNumber(blockNumber)),