@defisaver/positions-sdk 2.1.2 → 2.1.4-dev-plasma-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 (130) 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/aaveV3/merit.js +3 -0
  6. package/cjs/config/contracts.d.ts +17 -0
  7. package/cjs/config/contracts.js +17 -0
  8. package/cjs/helpers/aaveHelpers/index.js +8 -7
  9. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  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/spark/marketAssets.d.ts +1 -0
  17. package/cjs/markets/spark/marketAssets.js +1 -0
  18. package/cjs/services/utils.js +1 -1
  19. package/cjs/services/viem.d.ts +54 -15
  20. package/cjs/services/viem.js +2 -0
  21. package/cjs/staking/eligibility.d.ts +4 -2
  22. package/cjs/staking/eligibility.js +3 -4
  23. package/cjs/staking/staking.d.ts +2 -1
  24. package/cjs/staking/staking.js +5 -4
  25. package/cjs/types/common.d.ts +3 -2
  26. package/cjs/types/common.js +2 -1
  27. package/esm/aaveV3/index.js +1 -1
  28. package/esm/aaveV3/merit.js +3 -0
  29. package/esm/config/contracts.d.ts +17 -0
  30. package/esm/config/contracts.js +17 -0
  31. package/esm/helpers/aaveHelpers/index.js +8 -7
  32. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  33. package/esm/markets/aave/index.js +1 -1
  34. package/esm/markets/aave/marketAssets.d.ts +4 -0
  35. package/esm/markets/aave/marketAssets.js +4 -0
  36. package/esm/markets/compound/index.js +11 -0
  37. package/esm/markets/compound/marketsAssets.d.ts +7 -0
  38. package/esm/markets/compound/marketsAssets.js +7 -0
  39. package/esm/markets/spark/marketAssets.d.ts +1 -0
  40. package/esm/markets/spark/marketAssets.js +1 -0
  41. package/esm/services/utils.js +1 -1
  42. package/esm/services/viem.d.ts +54 -15
  43. package/esm/services/viem.js +3 -1
  44. package/esm/staking/eligibility.d.ts +4 -2
  45. package/esm/staking/eligibility.js +3 -4
  46. package/esm/staking/staking.d.ts +2 -1
  47. package/esm/staking/staking.js +5 -4
  48. package/esm/types/common.d.ts +3 -2
  49. package/esm/types/common.js +2 -1
  50. package/package.json +47 -47
  51. package/src/aaveV2/index.ts +240 -240
  52. package/src/aaveV3/index.ts +614 -614
  53. package/src/aaveV3/merit.ts +97 -94
  54. package/src/aaveV3/merkl.ts +74 -74
  55. package/src/claiming/aaveV3.ts +154 -154
  56. package/src/claiming/compV3.ts +22 -22
  57. package/src/claiming/index.ts +12 -12
  58. package/src/claiming/king.ts +66 -66
  59. package/src/claiming/morphoBlue.ts +118 -118
  60. package/src/claiming/spark.ts +225 -225
  61. package/src/compoundV2/index.ts +244 -244
  62. package/src/compoundV3/index.ts +274 -274
  63. package/src/config/contracts.ts +1245 -1228
  64. package/src/constants/index.ts +10 -10
  65. package/src/contracts.ts +120 -120
  66. package/src/curveUsd/index.ts +250 -250
  67. package/src/eulerV2/index.ts +324 -324
  68. package/src/exchange/index.ts +25 -25
  69. package/src/fluid/index.ts +1638 -1638
  70. package/src/helpers/aaveHelpers/index.ts +185 -183
  71. package/src/helpers/compoundHelpers/index.ts +283 -283
  72. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  73. package/src/helpers/eulerHelpers/index.ts +222 -222
  74. package/src/helpers/fluidHelpers/index.ts +326 -326
  75. package/src/helpers/index.ts +10 -10
  76. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  77. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  78. package/src/helpers/makerHelpers/index.ts +52 -52
  79. package/src/helpers/morphoBlueHelpers/index.ts +396 -396
  80. package/src/helpers/sparkHelpers/index.ts +155 -155
  81. package/src/index.ts +47 -47
  82. package/src/liquity/index.ts +159 -159
  83. package/src/liquityV2/index.ts +657 -657
  84. package/src/llamaLend/index.ts +305 -305
  85. package/src/maker/index.ts +223 -223
  86. package/src/markets/aave/index.ts +116 -116
  87. package/src/markets/aave/marketAssets.ts +54 -49
  88. package/src/markets/compound/index.ts +238 -227
  89. package/src/markets/compound/marketsAssets.ts +97 -90
  90. package/src/markets/curveUsd/index.ts +69 -69
  91. package/src/markets/euler/index.ts +26 -26
  92. package/src/markets/fluid/index.ts +2456 -2456
  93. package/src/markets/index.ts +25 -25
  94. package/src/markets/liquityV2/index.ts +102 -102
  95. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  96. package/src/markets/llamaLend/index.ts +235 -235
  97. package/src/markets/morphoBlue/index.ts +895 -895
  98. package/src/markets/spark/index.ts +29 -29
  99. package/src/markets/spark/marketAssets.ts +12 -11
  100. package/src/moneymarket/moneymarketCommonService.ts +80 -80
  101. package/src/morphoBlue/index.ts +274 -274
  102. package/src/portfolio/index.ts +570 -570
  103. package/src/services/priceService.ts +159 -159
  104. package/src/services/utils.ts +99 -99
  105. package/src/services/viem.ts +34 -32
  106. package/src/setup.ts +8 -8
  107. package/src/spark/index.ts +445 -445
  108. package/src/staking/eligibility.ts +59 -60
  109. package/src/staking/index.ts +1 -1
  110. package/src/staking/staking.ts +170 -170
  111. package/src/types/aave.ts +189 -189
  112. package/src/types/claiming.ts +109 -109
  113. package/src/types/common.ts +106 -105
  114. package/src/types/compound.ts +136 -136
  115. package/src/types/curveUsd.ts +121 -121
  116. package/src/types/euler.ts +175 -175
  117. package/src/types/fluid.ts +448 -448
  118. package/src/types/index.ts +13 -13
  119. package/src/types/liquity.ts +30 -30
  120. package/src/types/liquityV2.ts +126 -126
  121. package/src/types/llamaLend.ts +159 -159
  122. package/src/types/maker.ts +63 -63
  123. package/src/types/merit.ts +1 -1
  124. package/src/types/merkl.ts +70 -70
  125. package/src/types/morphoBlue.ts +194 -194
  126. package/src/types/portfolio.ts +60 -60
  127. package/src/types/spark.ts +135 -135
  128. package/src/umbrella/index.ts +69 -69
  129. package/src/umbrella/umbrellaUtils.ts +29 -29
  130. package/CLAUDE.md +0 -32
package/.mocharc.json CHANGED
@@ -1,4 +1,4 @@
1
- {
2
- "require": "ts-node/register",
3
- "extension": ["ts"]
4
- }
1
+ {
2
+ "require": "ts-node/register",
3
+ "extension": ["ts"]
4
+ }
package/.nvmrc CHANGED
@@ -1 +1 @@
1
- v20.17.0
1
+ v20.17.0
package/README.md CHANGED
@@ -1,64 +1,64 @@
1
- # DeFi Saver Positions SDK
2
-
3
- Supported protocols:
4
- - [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
5
- - [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
6
- - [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
7
- - [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
8
- - [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
9
- - [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
10
- - [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
11
- - [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
12
-
13
- ## Setup
14
- Supported Node version is v10.
15
-
16
- - run `npm install` (first time)
17
- - run `npm run build`
18
-
19
- `build` command will generate contracts and build ejs and esm folders
20
-
21
- ## How to use
22
- [All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
23
-
24
- This is a Compound V3 example, and every other protocol is similar
25
- ```js
26
- import { compoundV3 } from '@defisaver/positions-sdk';
27
-
28
-
29
- // every protocol has market data and user data getters
30
- const {
31
- getCompoundV3MarketsData,
32
- getCompoundV3AccountData,
33
- } = compoundV3;
34
-
35
- const provider = 'Your RPC provider';
36
-
37
- const user = '0x123...';
38
-
39
- const { assetsData } = await getCompoundV3MarketsData(
40
- provider, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
41
- 1, // network
42
- selectedMarket, // market object like in /src/markets/compound/index.ts
43
- provider, // this must be mainnet rpc - used for getting prices onchain and calculating apys
44
- );
45
-
46
- const userData = await getCompoundV3AccountData(
47
- provider,
48
- 1, // network
49
- userAddress, // EOA or DSProxy
50
- '', // proxy address of the user, or just empty string if checking for EOA
51
- {
52
- selectedMarket, // market object as in /src/markets/compound/index.ts
53
- assetsData,
54
- }
55
- );
56
- ```
57
-
58
- More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
59
-
60
- ## Testing
61
-
62
- `npm run test` - Run all tests
63
-
64
- `npm run test-single --name=your_test_name` - Run single test for specified name e.g. for MyTest.js test name is MyTest
1
+ # DeFi Saver Positions SDK
2
+
3
+ Supported protocols:
4
+ - [Maker](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/maker)
5
+ - [Spark](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/spark)
6
+ - [CrvUSD](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/curveUsd)
7
+ - [Aave V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV2)
8
+ - [Aave V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/aaveV3)
9
+ - [Compound V2](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV2)
10
+ - [Compound V3](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/compoundV3)
11
+ - [Liquity](https://github.com/defisaver/defisaver-positions-sdk/tree/main/src/liquity)
12
+
13
+ ## Setup
14
+ Supported Node version is v10.
15
+
16
+ - run `npm install` (first time)
17
+ - run `npm run build`
18
+
19
+ `build` command will generate contracts and build ejs and esm folders
20
+
21
+ ## How to use
22
+ [All available imports](https://github.com/defisaver/defisaver-positions-sdk/blob/main/src/index.ts)
23
+
24
+ This is a Compound V3 example, and every other protocol is similar
25
+ ```js
26
+ import { compoundV3 } from '@defisaver/positions-sdk';
27
+
28
+
29
+ // every protocol has market data and user data getters
30
+ const {
31
+ getCompoundV3MarketsData,
32
+ getCompoundV3AccountData,
33
+ } = compoundV3;
34
+
35
+ const provider = 'Your RPC provider';
36
+
37
+ const user = '0x123...';
38
+
39
+ const { assetsData } = await getCompoundV3MarketsData(
40
+ provider, // rpc for the network you are using (note: can be tenderly or any other testnet rpc)
41
+ 1, // network
42
+ selectedMarket, // market object like in /src/markets/compound/index.ts
43
+ provider, // this must be mainnet rpc - used for getting prices onchain and calculating apys
44
+ );
45
+
46
+ const userData = await getCompoundV3AccountData(
47
+ provider,
48
+ 1, // network
49
+ userAddress, // EOA or DSProxy
50
+ '', // proxy address of the user, or just empty string if checking for EOA
51
+ {
52
+ selectedMarket, // market object as in /src/markets/compound/index.ts
53
+ assetsData,
54
+ }
55
+ );
56
+ ```
57
+
58
+ More examples found [here](https://github.com/defisaver/defisaver-positions-sdk/tree/main/tests)
59
+
60
+ ## Testing
61
+
62
+ `npm run test` - Run all tests
63
+
64
+ `npm run test-single --name=your_test_name` - Run single test for specified name e.g. for MyTest.js test name is MyTest
@@ -63,7 +63,7 @@ function _getAaveV3MarketData(provider_1, network_1, market_1) {
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)),
@@ -46,6 +46,9 @@ const MERIT_DATA_MAP = {
46
46
  [common_1.NetworkNumber.Linea]: {
47
47
  [types_1.AaveVersions.AaveV3]: {},
48
48
  },
49
+ [common_1.NetworkNumber.Plasma]: {
50
+ [types_1.AaveVersions.AaveV3]: {},
51
+ },
49
52
  };
50
53
  /**
51
54
  * Fetches merit rewards data from Aave API
@@ -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: {
@@ -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
  };
@@ -91,13 +91,6 @@ const aaveAnyGetAggregatedPositionData = (_a) => {
91
91
  payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
92
92
  payload.ratio = +payload.suppliedUsd ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
93
93
  payload.collRatio = +payload.suppliedUsd ? new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
94
- const { netApy, incentiveUsd, totalInterestUsd } = (0, staking_1.calculateNetApy)({
95
- usedAssets,
96
- assetsData,
97
- });
98
- payload.netApy = netApy;
99
- payload.incentiveUsd = incentiveUsd;
100
- payload.totalInterestUsd = totalInterestUsd;
101
94
  payload.liqRatio = new decimal_js_1.default(payload.borrowLimitUsd).div(payload.liquidationLimitUsd).toString();
102
95
  payload.liqPercent = new decimal_js_1.default(payload.borrowLimitUsd).div(payload.liquidationLimitUsd).mul(100).toString();
103
96
  const { leveragedType, leveragedAsset } = (0, moneymarket_1.isLeveragedPos)(usedAssets);
@@ -117,6 +110,14 @@ const aaveAnyGetAggregatedPositionData = (_a) => {
117
110
  payload.collLiquidationRatio = new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.liquidationLimitUsd).mul(100).toString();
118
111
  payload.healthRatio = new decimal_js_1.default(payload.liquidationLimitUsd).div(payload.borrowedUsd).toDP(4).toString();
119
112
  payload.minHealthRatio = new decimal_js_1.default(payload.liquidationLimitUsd).div(payload.borrowLimitUsd).toDP(4).toString();
113
+ const { netApy, incentiveUsd, totalInterestUsd } = (0, staking_1.calculateNetApy)({
114
+ usedAssets,
115
+ assetsData,
116
+ optionalData: { healthRatio: payload.healthRatio },
117
+ });
118
+ payload.netApy = netApy;
119
+ payload.incentiveUsd = incentiveUsd;
120
+ payload.totalInterestUsd = totalInterestUsd;
120
121
  return payload;
121
122
  };
122
123
  exports.aaveAnyGetAggregatedPositionData = aaveAnyGetAggregatedPositionData;
@@ -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, 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
  };
@@ -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
  };
@@ -7,7 +7,7 @@ exports.convertHybridArraysToObjects = exports.DEFAULT_TIMEOUT = exports.isMainn
7
7
  const decimal_js_1 = __importDefault(require("decimal.js"));
8
8
  const tokens_1 = require("@defisaver/tokens");
9
9
  const common_1 = require("../types/common");
10
- const isLayer2Network = (networkId) => [common_1.NetworkNumber.Opt, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Linea].includes(+networkId);
10
+ const isLayer2Network = (networkId) => [common_1.NetworkNumber.Opt, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Linea, common_1.NetworkNumber.Plasma].includes(+networkId);
11
11
  exports.isLayer2Network = isLayer2Network;
12
12
  const addToObjectIf = (condition, item) => (condition ? item : {});
13
13
  exports.addToObjectIf = addToObjectIf;