@defisaver/positions-sdk 2.1.43-aave-v4-dev-7 → 2.1.43-aave-v4-dev-2-7

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 (114) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  5. package/cjs/portfolio/index.js +402 -468
  6. package/cjs/savings/morphoVaults/index.js +17 -17
  7. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  8. package/esm/portfolio/index.js +402 -468
  9. package/esm/savings/morphoVaults/index.js +17 -17
  10. package/package.json +48 -48
  11. package/src/aaveV2/index.ts +240 -240
  12. package/src/aaveV3/index.ts +625 -625
  13. package/src/aaveV3/merit.ts +97 -97
  14. package/src/aaveV3/merkl.ts +74 -74
  15. package/src/aaveV4/index.ts +168 -168
  16. package/src/claiming/aaveV3.ts +154 -154
  17. package/src/claiming/compV3.ts +22 -22
  18. package/src/claiming/ethena.ts +61 -61
  19. package/src/claiming/index.ts +12 -12
  20. package/src/claiming/king.ts +66 -66
  21. package/src/claiming/morphoBlue.ts +118 -118
  22. package/src/claiming/spark.ts +225 -225
  23. package/src/compoundV2/index.ts +244 -244
  24. package/src/compoundV3/index.ts +274 -274
  25. package/src/config/contracts.ts +1303 -1303
  26. package/src/constants/index.ts +10 -10
  27. package/src/contracts.ts +173 -173
  28. package/src/curveUsd/index.ts +254 -254
  29. package/src/eulerV2/index.ts +324 -324
  30. package/src/exchange/index.ts +25 -25
  31. package/src/fluid/index.ts +1800 -1800
  32. package/src/helpers/aaveHelpers/index.ts +187 -187
  33. package/src/helpers/aaveV4Helpers/index.ts +68 -68
  34. package/src/helpers/compoundHelpers/index.ts +283 -283
  35. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  36. package/src/helpers/eulerHelpers/index.ts +222 -222
  37. package/src/helpers/fluidHelpers/index.ts +326 -326
  38. package/src/helpers/index.ts +11 -11
  39. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  40. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  41. package/src/helpers/makerHelpers/index.ts +52 -52
  42. package/src/helpers/morphoBlueHelpers/index.ts +396 -396
  43. package/src/helpers/sparkHelpers/index.ts +158 -158
  44. package/src/index.ts +51 -51
  45. package/src/liquity/index.ts +159 -159
  46. package/src/liquityV2/index.ts +703 -703
  47. package/src/llamaLend/index.ts +305 -305
  48. package/src/maker/index.ts +223 -223
  49. package/src/markets/aave/index.ts +118 -118
  50. package/src/markets/aave/marketAssets.ts +54 -54
  51. package/src/markets/aaveV4/index.ts +18 -18
  52. package/src/markets/compound/index.ts +243 -243
  53. package/src/markets/compound/marketsAssets.ts +97 -97
  54. package/src/markets/curveUsd/index.ts +69 -69
  55. package/src/markets/euler/index.ts +26 -26
  56. package/src/markets/fluid/index.ts +2900 -2900
  57. package/src/markets/index.ts +25 -25
  58. package/src/markets/liquityV2/index.ts +102 -102
  59. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  60. package/src/markets/llamaLend/index.ts +235 -235
  61. package/src/markets/morphoBlue/index.ts +971 -971
  62. package/src/markets/spark/index.ts +29 -29
  63. package/src/markets/spark/marketAssets.ts +12 -12
  64. package/src/moneymarket/moneymarketCommonService.ts +85 -85
  65. package/src/morphoBlue/index.ts +274 -274
  66. package/src/portfolio/index.ts +618 -618
  67. package/src/savings/index.ts +95 -95
  68. package/src/savings/makerDsr/index.ts +53 -53
  69. package/src/savings/makerDsr/options.ts +9 -9
  70. package/src/savings/morphoVaults/index.ts +80 -80
  71. package/src/savings/morphoVaults/options.ts +193 -193
  72. package/src/savings/skyOptions/index.ts +95 -95
  73. package/src/savings/skyOptions/options.ts +10 -10
  74. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  75. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  76. package/src/savings/yearnV3Vaults/index.ts +61 -61
  77. package/src/savings/yearnV3Vaults/options.ts +55 -55
  78. package/src/savings/yearnVaults/index.ts +73 -73
  79. package/src/savings/yearnVaults/options.ts +32 -32
  80. package/src/services/priceService.ts +278 -278
  81. package/src/services/utils.ts +115 -115
  82. package/src/services/viem.ts +34 -34
  83. package/src/setup.ts +8 -8
  84. package/src/spark/index.ts +458 -458
  85. package/src/staking/eligibility.ts +53 -53
  86. package/src/staking/index.ts +1 -1
  87. package/src/staking/staking.ts +186 -186
  88. package/src/types/aave.ts +196 -196
  89. package/src/types/aaveV4.ts +142 -142
  90. package/src/types/claiming.ts +114 -114
  91. package/src/types/common.ts +107 -107
  92. package/src/types/compound.ts +144 -144
  93. package/src/types/curveUsd.ts +123 -123
  94. package/src/types/euler.ts +175 -175
  95. package/src/types/fluid.ts +483 -483
  96. package/src/types/index.ts +15 -15
  97. package/src/types/liquity.ts +30 -30
  98. package/src/types/liquityV2.ts +126 -126
  99. package/src/types/llamaLend.ts +159 -159
  100. package/src/types/maker.ts +63 -63
  101. package/src/types/merit.ts +1 -1
  102. package/src/types/merkl.ts +70 -70
  103. package/src/types/morphoBlue.ts +200 -200
  104. package/src/types/portfolio.ts +64 -64
  105. package/src/types/savings/index.ts +23 -23
  106. package/src/types/savings/makerDsr.ts +13 -13
  107. package/src/types/savings/morphoVaults.ts +32 -32
  108. package/src/types/savings/sky.ts +14 -14
  109. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  110. package/src/types/savings/yearnV3Vaults.ts +17 -17
  111. package/src/types/savings/yearnVaults.ts +14 -14
  112. package/src/types/spark.ts +134 -134
  113. package/src/umbrella/index.ts +69 -69
  114. package/src/umbrella/umbrellaUtils.ts +29 -29
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
@@ -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