@defisaver/positions-sdk 2.1.52 → 2.1.53-aave-v4

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 (201) hide show
  1. package/.mocharc.json +4 -4
  2. package/.nvmrc +1 -1
  3. package/README.md +64 -64
  4. package/cjs/aaveV4/index.d.ts +7 -0
  5. package/cjs/aaveV4/index.js +174 -0
  6. package/cjs/config/contracts.d.ts +1277 -0
  7. package/cjs/config/contracts.js +9 -0
  8. package/cjs/contracts.d.ts +23120 -0
  9. package/cjs/contracts.js +2 -1
  10. package/cjs/fluid/index.d.ts +6 -6
  11. package/cjs/helpers/aaveHelpers/index.d.ts +2 -2
  12. package/cjs/helpers/aaveHelpers/index.js +16 -5
  13. package/cjs/helpers/aaveV4Helpers/index.d.ts +13 -0
  14. package/cjs/helpers/aaveV4Helpers/index.js +117 -0
  15. package/cjs/helpers/compoundHelpers/index.js +15 -18
  16. package/cjs/helpers/eulerHelpers/index.d.ts +2 -2
  17. package/cjs/helpers/eulerHelpers/index.js +21 -13
  18. package/cjs/helpers/fluidHelpers/index.js +16 -5
  19. package/cjs/helpers/index.d.ts +1 -0
  20. package/cjs/helpers/index.js +2 -1
  21. package/cjs/helpers/morphoBlueHelpers/index.js +81 -71
  22. package/cjs/helpers/sparkHelpers/index.d.ts +2 -2
  23. package/cjs/helpers/sparkHelpers/index.js +15 -5
  24. package/cjs/index.d.ts +2 -1
  25. package/cjs/index.js +3 -1
  26. package/cjs/markets/aaveV4/index.d.ts +13 -0
  27. package/cjs/markets/aaveV4/index.js +39 -0
  28. package/cjs/markets/index.d.ts +1 -0
  29. package/cjs/markets/index.js +3 -1
  30. package/cjs/moneymarket/moneymarketCommonService.d.ts +3 -3
  31. package/cjs/moneymarket/moneymarketCommonService.js +9 -9
  32. package/cjs/portfolio/index.js +20 -0
  33. package/cjs/savings/morphoVaults/index.js +17 -17
  34. package/cjs/types/aave.d.ts +3 -3
  35. package/cjs/types/aaveV4.d.ts +137 -0
  36. package/cjs/types/aaveV4.js +11 -0
  37. package/cjs/types/common.d.ts +7 -0
  38. package/cjs/types/common.js +9 -1
  39. package/cjs/types/compound.d.ts +3 -3
  40. package/cjs/types/curveUsd.d.ts +2 -2
  41. package/cjs/types/euler.d.ts +3 -3
  42. package/cjs/types/fluid.d.ts +3 -3
  43. package/cjs/types/index.d.ts +2 -0
  44. package/cjs/types/index.js +2 -0
  45. package/cjs/types/liquityV2.d.ts +3 -3
  46. package/cjs/types/llamaLend.d.ts +2 -2
  47. package/cjs/types/morphoBlue.d.ts +5 -5
  48. package/cjs/types/portfolio.d.ts +4 -0
  49. package/cjs/types/spark.d.ts +3 -3
  50. package/esm/aaveV4/index.d.ts +7 -0
  51. package/esm/aaveV4/index.js +165 -0
  52. package/esm/config/contracts.d.ts +1277 -0
  53. package/esm/config/contracts.js +8 -0
  54. package/esm/contracts.d.ts +23120 -0
  55. package/esm/contracts.js +1 -0
  56. package/esm/fluid/index.d.ts +6 -6
  57. package/esm/helpers/aaveHelpers/index.d.ts +2 -2
  58. package/esm/helpers/aaveHelpers/index.js +16 -5
  59. package/esm/helpers/aaveV4Helpers/index.d.ts +13 -0
  60. package/esm/helpers/aaveV4Helpers/index.js +108 -0
  61. package/esm/helpers/compoundHelpers/index.js +16 -19
  62. package/esm/helpers/eulerHelpers/index.d.ts +2 -2
  63. package/esm/helpers/eulerHelpers/index.js +21 -13
  64. package/esm/helpers/fluidHelpers/index.js +16 -5
  65. package/esm/helpers/index.d.ts +1 -0
  66. package/esm/helpers/index.js +1 -0
  67. package/esm/helpers/morphoBlueHelpers/index.js +82 -72
  68. package/esm/helpers/sparkHelpers/index.d.ts +2 -2
  69. package/esm/helpers/sparkHelpers/index.js +16 -6
  70. package/esm/index.d.ts +2 -1
  71. package/esm/index.js +2 -1
  72. package/esm/markets/aaveV4/index.d.ts +13 -0
  73. package/esm/markets/aaveV4/index.js +29 -0
  74. package/esm/markets/index.d.ts +1 -0
  75. package/esm/markets/index.js +1 -0
  76. package/esm/moneymarket/moneymarketCommonService.d.ts +3 -3
  77. package/esm/moneymarket/moneymarketCommonService.js +9 -9
  78. package/esm/portfolio/index.js +21 -1
  79. package/esm/savings/morphoVaults/index.js +17 -17
  80. package/esm/types/aave.d.ts +3 -3
  81. package/esm/types/aaveV4.d.ts +137 -0
  82. package/esm/types/aaveV4.js +8 -0
  83. package/esm/types/common.d.ts +7 -0
  84. package/esm/types/common.js +8 -0
  85. package/esm/types/compound.d.ts +3 -3
  86. package/esm/types/curveUsd.d.ts +2 -2
  87. package/esm/types/euler.d.ts +3 -3
  88. package/esm/types/fluid.d.ts +3 -3
  89. package/esm/types/fluid.js +1 -1
  90. package/esm/types/index.d.ts +2 -0
  91. package/esm/types/index.js +2 -0
  92. package/esm/types/liquityV2.d.ts +3 -3
  93. package/esm/types/llamaLend.d.ts +2 -2
  94. package/esm/types/morphoBlue.d.ts +5 -5
  95. package/esm/types/portfolio.d.ts +4 -0
  96. package/esm/types/spark.d.ts +3 -3
  97. package/package.json +48 -48
  98. package/src/aaveV2/index.ts +240 -240
  99. package/src/aaveV3/index.ts +635 -635
  100. package/src/aaveV3/merit.ts +97 -97
  101. package/src/aaveV3/merkl.ts +74 -74
  102. package/src/aaveV4/index.ts +176 -0
  103. package/src/claiming/aaveV3.ts +154 -154
  104. package/src/claiming/compV3.ts +22 -22
  105. package/src/claiming/ethena.ts +61 -61
  106. package/src/claiming/index.ts +12 -12
  107. package/src/claiming/king.ts +66 -66
  108. package/src/claiming/morphoBlue.ts +118 -118
  109. package/src/claiming/spark.ts +225 -225
  110. package/src/compoundV2/index.ts +244 -244
  111. package/src/compoundV3/index.ts +274 -274
  112. package/src/config/contracts.ts +1328 -1320
  113. package/src/constants/index.ts +10 -10
  114. package/src/contracts.ts +174 -172
  115. package/src/curveUsd/index.ts +254 -254
  116. package/src/eulerV2/index.ts +324 -324
  117. package/src/exchange/index.ts +25 -25
  118. package/src/fluid/index.ts +1800 -1800
  119. package/src/helpers/aaveHelpers/index.ts +202 -191
  120. package/src/helpers/aaveV4Helpers/index.ts +128 -0
  121. package/src/helpers/compoundHelpers/index.ts +276 -283
  122. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  123. package/src/helpers/eulerHelpers/index.ts +229 -222
  124. package/src/helpers/fluidHelpers/index.ts +335 -326
  125. package/src/helpers/index.ts +11 -10
  126. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  127. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  128. package/src/helpers/makerHelpers/index.ts +52 -52
  129. package/src/helpers/morphoBlueHelpers/index.ts +405 -396
  130. package/src/helpers/sparkHelpers/index.ts +169 -158
  131. package/src/index.ts +51 -49
  132. package/src/liquity/index.ts +159 -159
  133. package/src/liquityV2/index.ts +703 -703
  134. package/src/llamaLend/index.ts +305 -305
  135. package/src/maker/index.ts +223 -223
  136. package/src/markets/aave/index.ts +118 -118
  137. package/src/markets/aave/marketAssets.ts +54 -54
  138. package/src/markets/aaveV4/index.ts +42 -0
  139. package/src/markets/compound/index.ts +243 -243
  140. package/src/markets/compound/marketsAssets.ts +97 -97
  141. package/src/markets/curveUsd/index.ts +69 -69
  142. package/src/markets/euler/index.ts +26 -26
  143. package/src/markets/fluid/index.ts +2900 -2900
  144. package/src/markets/index.ts +26 -25
  145. package/src/markets/liquityV2/index.ts +102 -102
  146. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  147. package/src/markets/llamaLend/index.ts +235 -235
  148. package/src/markets/morphoBlue/index.ts +988 -988
  149. package/src/markets/spark/index.ts +29 -29
  150. package/src/markets/spark/marketAssets.ts +12 -12
  151. package/src/moneymarket/moneymarketCommonService.ts +84 -85
  152. package/src/morphoBlue/index.ts +274 -274
  153. package/src/portfolio/index.ts +606 -586
  154. package/src/savings/index.ts +95 -95
  155. package/src/savings/makerDsr/index.ts +53 -53
  156. package/src/savings/makerDsr/options.ts +9 -9
  157. package/src/savings/morphoVaults/index.ts +80 -80
  158. package/src/savings/morphoVaults/options.ts +193 -193
  159. package/src/savings/skyOptions/index.ts +95 -95
  160. package/src/savings/skyOptions/options.ts +10 -10
  161. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  162. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  163. package/src/savings/yearnV3Vaults/index.ts +61 -61
  164. package/src/savings/yearnV3Vaults/options.ts +55 -55
  165. package/src/savings/yearnVaults/index.ts +73 -73
  166. package/src/savings/yearnVaults/options.ts +32 -32
  167. package/src/services/priceService.ts +278 -278
  168. package/src/services/utils.ts +115 -115
  169. package/src/services/viem.ts +57 -57
  170. package/src/setup.ts +8 -8
  171. package/src/spark/index.ts +459 -459
  172. package/src/staking/eligibility.ts +53 -53
  173. package/src/staking/index.ts +1 -1
  174. package/src/staking/staking.ts +192 -192
  175. package/src/types/aave.ts +199 -198
  176. package/src/types/aaveV4.ts +153 -0
  177. package/src/types/claiming.ts +114 -114
  178. package/src/types/common.ts +115 -107
  179. package/src/types/compound.ts +145 -144
  180. package/src/types/curveUsd.ts +123 -123
  181. package/src/types/euler.ts +176 -175
  182. package/src/types/fluid.ts +485 -483
  183. package/src/types/index.ts +17 -15
  184. package/src/types/liquity.ts +30 -30
  185. package/src/types/liquityV2.ts +128 -126
  186. package/src/types/llamaLend.ts +161 -159
  187. package/src/types/maker.ts +63 -63
  188. package/src/types/merit.ts +1 -1
  189. package/src/types/merkl.ts +70 -70
  190. package/src/types/morphoBlue.ts +202 -202
  191. package/src/types/portfolio.ts +64 -60
  192. package/src/types/savings/index.ts +23 -23
  193. package/src/types/savings/makerDsr.ts +13 -13
  194. package/src/types/savings/morphoVaults.ts +32 -32
  195. package/src/types/savings/sky.ts +14 -14
  196. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  197. package/src/types/savings/yearnV3Vaults.ts +17 -17
  198. package/src/types/savings/yearnVaults.ts +14 -14
  199. package/src/types/spark.ts +135 -134
  200. package/src/umbrella/index.ts +69 -69
  201. package/src/umbrella/umbrellaUtils.ts +29 -29
@@ -1,118 +1,118 @@
1
- // @ts-nocheck
2
- import { getConfigContractAddress } from '../../contracts';
3
- import { compareAddresses } from '../../services/utils';
4
- import { AaveMarketInfo, AaveVersions, AaveVersionType } from '../../types';
5
- import { NetworkNumber } from '../../types/common';
6
- import {
7
- aaveV1AssetsDefaultMarket,
8
- aaveV2AssetsDefaultMarket,
9
- aaveV3AssetsDefaultMarket,
10
- aaveV3AssetsEtherfiMarket,
11
- aaveV3AssetsLidoMarket,
12
- } from './marketAssets';
13
-
14
- export {
15
- aaveV1AssetsDefaultMarket,
16
- aaveV2AssetsDefaultMarket,
17
- aaveV3AssetsDefaultMarket,
18
- aaveV3AssetsLidoMarket,
19
- };
20
-
21
- export const AAVE_V1: AaveMarketInfo = {
22
- chainIds: [NetworkNumber.Eth],
23
- label: 'Aave v1',
24
- shortLabel: AaveVersionType.V1,
25
- url: '',
26
- value: AaveVersions.AaveV1,
27
- assets: aaveV1AssetsDefaultMarket.map((a) => a.underlyingAsset),
28
- provider: '',
29
- providerAddress: '',
30
- lendingPool: '',
31
- lendingPoolAddress: '',
32
- protocolData: '',
33
- protocolDataAddress: '',
34
- // icon: SvgAdapter(protocolIcons.aave),
35
- disabled: true,
36
- protocolName: 'aave',
37
- };
38
-
39
- export const AAVE_V2: AaveMarketInfo = {
40
- chainIds: [NetworkNumber.Eth],
41
- label: 'Aave v2',
42
- shortLabel: AaveVersionType.V2,
43
- value: AaveVersions.AaveV2,
44
- url: 'default',
45
- assets: aaveV2AssetsDefaultMarket,
46
- provider: 'LendingPoolAddressesProvider',
47
- providerAddress: getConfigContractAddress('LendingPoolAddressesProvider', 1), // rename
48
- lendingPool: 'AaveLendingPoolV2',
49
- lendingPoolAddress: getConfigContractAddress('AaveLendingPoolV2', 1),
50
- protocolData: 'AaveProtocolDataProvider',
51
- protocolDataAddress: getConfigContractAddress('AaveProtocolDataProvider', 1),
52
- // icon: SvgAdapter(protocolIcons.aave),
53
- protocolName: 'aave',
54
- };
55
-
56
- export const AAVE_V3 = (networkId: NetworkNumber): AaveMarketInfo => ({
57
- chainIds: [NetworkNumber.Eth, NetworkNumber.Opt, NetworkNumber.Arb, NetworkNumber.Base, NetworkNumber.Linea, NetworkNumber.Plasma],
58
- label: networkId === NetworkNumber.Eth ? 'Aave v3 Core' : 'Aave v3',
59
- shortLabel: AaveVersionType.V3,
60
- value: AaveVersions.AaveV3,
61
- url: 'default',
62
- assets: networkId ? aaveV3AssetsDefaultMarket[networkId] : [],
63
- provider: 'AaveV3PoolAddressesProvider',
64
- providerAddress: getConfigContractAddress('AaveV3PoolAddressesProvider', networkId),
65
- lendingPool: 'AaveV3LendingPool',
66
- lendingPoolAddress: getConfigContractAddress('AaveV3LendingPool', networkId),
67
- protocolData: 'AaveV3ProtocolDataProvider',
68
- protocolDataAddress: getConfigContractAddress('AaveV3ProtocolDataProvider', networkId),
69
- // icon: SvgAdapter(protocolIcons.aave),
70
- protocolName: 'aave',
71
- });
72
-
73
- export const AAVE_V3_LIDO = (networkId: NetworkNumber): AaveMarketInfo => ({
74
- chainIds: [NetworkNumber.Eth],
75
- label: 'Aave v3 Prime',
76
- shortLabel: AaveVersionType.V3,
77
- value: AaveVersions.AaveV3Lido,
78
- url: 'lido',
79
- assets: networkId ? aaveV3AssetsLidoMarket[networkId] : [],
80
- provider: 'AaveV3LidoPoolAddressesProvider',
81
- providerAddress: getConfigContractAddress('AaveV3LidoPoolAddressesProvider', networkId),
82
- lendingPool: 'AaveV3LidoLendingPool',
83
- lendingPoolAddress: getConfigContractAddress('AaveV3LidoLendingPool', networkId),
84
- protocolData: 'AaveV3LidoProtocolDataProvider',
85
- protocolDataAddress: getConfigContractAddress('AaveV3LidoProtocolDataProvider', networkId),
86
- // icon: SvgAdapter(protocolIcons.aave),
87
- protocolName: 'aave',
88
- });
89
-
90
- export const AAVE_V3_ETHERFI = (networkId: NetworkNumber): AaveMarketInfo => ({
91
- chainIds: [NetworkNumber.Eth],
92
- label: 'Aave v3 EtherFi',
93
- shortLabel: AaveVersionType.V3,
94
- value: AaveVersions.AaveV3Etherfi,
95
- url: 'etherfi',
96
- assets: networkId ? aaveV3AssetsEtherfiMarket[networkId] : [],
97
- provider: 'AaveV3EtherfiPoolAddressesProvider',
98
- providerAddress: getConfigContractAddress('AaveV3EtherfiPoolAddressesProvider', networkId),
99
- lendingPool: 'AaveV3EtherfiLendingPool',
100
- lendingPoolAddress: getConfigContractAddress('AaveV3EtherfiLendingPool', networkId),
101
- protocolData: 'AaveV3EtherfiProtocolDataProvider',
102
- protocolDataAddress: getConfigContractAddress('AaveV3EtherfiProtocolDataProvider', networkId),
103
- // icon: SvgAdapter(protocolIcons.aave),
104
- protocolName: 'aave',
105
- });
106
-
107
- export const AaveMarkets = (networkId: NetworkNumber) => ({
108
- [AaveVersions.AaveV1]: AAVE_V1,
109
- [AaveVersions.AaveV2]: AAVE_V2,
110
- [AaveVersions.AaveV3]: AAVE_V3(networkId),
111
- [AaveVersions.AaveV3Lido]: AAVE_V3_LIDO(networkId),
112
- [AaveVersions.AaveV3Etherfi]: AAVE_V3_ETHERFI(networkId),
113
- }) as const;
114
-
115
- export const getAaveV3MarketByMarketAddress = (marketAddress: string, network = NetworkNumber.Eth): AaveMarketInfo | undefined => {
116
- const markets = AaveMarkets(network);
117
- return Object.values(markets).find((m) => compareAddresses(m.providerAddress, marketAddress));
118
- };
1
+ // @ts-nocheck
2
+ import { getConfigContractAddress } from '../../contracts';
3
+ import { compareAddresses } from '../../services/utils';
4
+ import { AaveMarketInfo, AaveVersions, AaveVersionType } from '../../types';
5
+ import { NetworkNumber } from '../../types/common';
6
+ import {
7
+ aaveV1AssetsDefaultMarket,
8
+ aaveV2AssetsDefaultMarket,
9
+ aaveV3AssetsDefaultMarket,
10
+ aaveV3AssetsEtherfiMarket,
11
+ aaveV3AssetsLidoMarket,
12
+ } from './marketAssets';
13
+
14
+ export {
15
+ aaveV1AssetsDefaultMarket,
16
+ aaveV2AssetsDefaultMarket,
17
+ aaveV3AssetsDefaultMarket,
18
+ aaveV3AssetsLidoMarket,
19
+ };
20
+
21
+ export const AAVE_V1: AaveMarketInfo = {
22
+ chainIds: [NetworkNumber.Eth],
23
+ label: 'Aave v1',
24
+ shortLabel: AaveVersionType.V1,
25
+ url: '',
26
+ value: AaveVersions.AaveV1,
27
+ assets: aaveV1AssetsDefaultMarket.map((a) => a.underlyingAsset),
28
+ provider: '',
29
+ providerAddress: '',
30
+ lendingPool: '',
31
+ lendingPoolAddress: '',
32
+ protocolData: '',
33
+ protocolDataAddress: '',
34
+ // icon: SvgAdapter(protocolIcons.aave),
35
+ disabled: true,
36
+ protocolName: 'aave',
37
+ };
38
+
39
+ export const AAVE_V2: AaveMarketInfo = {
40
+ chainIds: [NetworkNumber.Eth],
41
+ label: 'Aave v2',
42
+ shortLabel: AaveVersionType.V2,
43
+ value: AaveVersions.AaveV2,
44
+ url: 'default',
45
+ assets: aaveV2AssetsDefaultMarket,
46
+ provider: 'LendingPoolAddressesProvider',
47
+ providerAddress: getConfigContractAddress('LendingPoolAddressesProvider', 1), // rename
48
+ lendingPool: 'AaveLendingPoolV2',
49
+ lendingPoolAddress: getConfigContractAddress('AaveLendingPoolV2', 1),
50
+ protocolData: 'AaveProtocolDataProvider',
51
+ protocolDataAddress: getConfigContractAddress('AaveProtocolDataProvider', 1),
52
+ // icon: SvgAdapter(protocolIcons.aave),
53
+ protocolName: 'aave',
54
+ };
55
+
56
+ export const AAVE_V3 = (networkId: NetworkNumber): AaveMarketInfo => ({
57
+ chainIds: [NetworkNumber.Eth, NetworkNumber.Opt, NetworkNumber.Arb, NetworkNumber.Base, NetworkNumber.Linea, NetworkNumber.Plasma],
58
+ label: networkId === NetworkNumber.Eth ? 'Aave v3 Core' : 'Aave v3',
59
+ shortLabel: AaveVersionType.V3,
60
+ value: AaveVersions.AaveV3,
61
+ url: 'default',
62
+ assets: networkId ? aaveV3AssetsDefaultMarket[networkId] : [],
63
+ provider: 'AaveV3PoolAddressesProvider',
64
+ providerAddress: getConfigContractAddress('AaveV3PoolAddressesProvider', networkId),
65
+ lendingPool: 'AaveV3LendingPool',
66
+ lendingPoolAddress: getConfigContractAddress('AaveV3LendingPool', networkId),
67
+ protocolData: 'AaveV3ProtocolDataProvider',
68
+ protocolDataAddress: getConfigContractAddress('AaveV3ProtocolDataProvider', networkId),
69
+ // icon: SvgAdapter(protocolIcons.aave),
70
+ protocolName: 'aave',
71
+ });
72
+
73
+ export const AAVE_V3_LIDO = (networkId: NetworkNumber): AaveMarketInfo => ({
74
+ chainIds: [NetworkNumber.Eth],
75
+ label: 'Aave v3 Prime',
76
+ shortLabel: AaveVersionType.V3,
77
+ value: AaveVersions.AaveV3Lido,
78
+ url: 'lido',
79
+ assets: networkId ? aaveV3AssetsLidoMarket[networkId] : [],
80
+ provider: 'AaveV3LidoPoolAddressesProvider',
81
+ providerAddress: getConfigContractAddress('AaveV3LidoPoolAddressesProvider', networkId),
82
+ lendingPool: 'AaveV3LidoLendingPool',
83
+ lendingPoolAddress: getConfigContractAddress('AaveV3LidoLendingPool', networkId),
84
+ protocolData: 'AaveV3LidoProtocolDataProvider',
85
+ protocolDataAddress: getConfigContractAddress('AaveV3LidoProtocolDataProvider', networkId),
86
+ // icon: SvgAdapter(protocolIcons.aave),
87
+ protocolName: 'aave',
88
+ });
89
+
90
+ export const AAVE_V3_ETHERFI = (networkId: NetworkNumber): AaveMarketInfo => ({
91
+ chainIds: [NetworkNumber.Eth],
92
+ label: 'Aave v3 EtherFi',
93
+ shortLabel: AaveVersionType.V3,
94
+ value: AaveVersions.AaveV3Etherfi,
95
+ url: 'etherfi',
96
+ assets: networkId ? aaveV3AssetsEtherfiMarket[networkId] : [],
97
+ provider: 'AaveV3EtherfiPoolAddressesProvider',
98
+ providerAddress: getConfigContractAddress('AaveV3EtherfiPoolAddressesProvider', networkId),
99
+ lendingPool: 'AaveV3EtherfiLendingPool',
100
+ lendingPoolAddress: getConfigContractAddress('AaveV3EtherfiLendingPool', networkId),
101
+ protocolData: 'AaveV3EtherfiProtocolDataProvider',
102
+ protocolDataAddress: getConfigContractAddress('AaveV3EtherfiProtocolDataProvider', networkId),
103
+ // icon: SvgAdapter(protocolIcons.aave),
104
+ protocolName: 'aave',
105
+ });
106
+
107
+ export const AaveMarkets = (networkId: NetworkNumber) => ({
108
+ [AaveVersions.AaveV1]: AAVE_V1,
109
+ [AaveVersions.AaveV2]: AAVE_V2,
110
+ [AaveVersions.AaveV3]: AAVE_V3(networkId),
111
+ [AaveVersions.AaveV3Lido]: AAVE_V3_LIDO(networkId),
112
+ [AaveVersions.AaveV3Etherfi]: AAVE_V3_ETHERFI(networkId),
113
+ }) as const;
114
+
115
+ export const getAaveV3MarketByMarketAddress = (marketAddress: string, network = NetworkNumber.Eth): AaveMarketInfo | undefined => {
116
+ const markets = AaveMarkets(network);
117
+ return Object.values(markets).find((m) => compareAddresses(m.providerAddress, marketAddress));
118
+ };
@@ -1,55 +1,55 @@
1
- import { AssetData, getAssetInfo } from '@defisaver/tokens';
2
- import { NetworkNumber } from '../../types/common';
3
-
4
- export const aaveV1AssetsDefaultMarket: AssetData[] = [
5
- 'aETH', 'aDAI', 'aUSDC', 'aSUSD', 'aTUSD', 'aUSDT', 'aBUSD', 'aBAT', 'aLEND',
6
- 'aLINK', 'aMANA', 'aMKR', 'aREP', 'aSNX', 'aWBTC', 'aZRX', 'aENJ', 'aREN', 'aYFI', 'aUNI', 'aAAVE',
7
- ].map((symbol) => getAssetInfo(symbol));
8
-
9
- export const aaveV2AssetsDefaultMarket = ['USDT', 'WBTC', 'ETH', 'YFI', 'ZRX', 'UNI', 'AAVE', 'BAT', 'BUSD', 'DAI', 'ENJ', 'KNCL', 'LINK', 'MANA', 'MKR', 'REN', 'SNX', 'SUSD', 'TUSD', 'USDC', 'CRV', 'GUSD', 'BAL', 'xSUSHI', 'RENFIL', 'RAI', 'AMPL', 'USDP', 'DPI', 'FRAX', 'FEI', 'stETH', 'ENS', 'UST', 'CVX', '1INCH', 'LUSD'];
10
-
11
- export const aaveV3AssetsDefaultMarketEth = [
12
- 'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
13
- 'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC', 'PT sUSDe Sep', 'PT USDe Sep', 'tETH', 'ezETH', 'XAUt', 'PT sUSDe Nov', 'PT USDe Nov', 'PT sUSDe Feb', 'PT USDe Feb', 'mUSD', 'syrupUSDT', 'USDG',
14
- ];
15
- export const aaveV3AssetsDefaultMarketOpt = [
16
- 'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
17
- ];
18
- export const aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
19
- export const aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC'];
20
-
21
- export const aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC', 'mUSD'];
22
-
23
- export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT', 'XPL', 'PT USDe Apr', 'PT sUSDe Apr'];
24
-
25
- // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
26
- export const aaveV3AssetsDefaultMarket = {
27
- [NetworkNumber.Eth]: aaveV3AssetsDefaultMarketEth,
28
- [NetworkNumber.Opt]: aaveV3AssetsDefaultMarketOpt,
29
- [NetworkNumber.Arb]: aaveV3AssetsDefaultMarketArb,
30
- [NetworkNumber.Base]: aaveV3AssetsDefaultMarketBase,
31
- [NetworkNumber.Linea]: aaveV3AssetsDefaultMarketLinea,
32
- [NetworkNumber.Plasma]: aaveV3AssetsDefaultMarketPlasma,
33
- } as const;
34
-
35
- export const aaveV3AssetsLidoMarketEth = ['ETH', 'wstETH', 'USDS', 'USDC', 'ezETH', 'sUSDe', 'GHO', 'rsETH', 'tETH'];
36
-
37
- export const aaveV3AssetsLidoMarket = {
38
- [NetworkNumber.Eth]: aaveV3AssetsLidoMarketEth,
39
- [NetworkNumber.Opt]: [],
40
- [NetworkNumber.Arb]: [],
41
- [NetworkNumber.Base]: [],
42
- [NetworkNumber.Linea]: [],
43
- [NetworkNumber.Plasma]: [],
44
- } as const;
45
-
46
- export const aaveV3AssetsEtherfiMarketEth = ['weETH', 'USDC', 'PYUSD', 'FRAX'];
47
-
48
- export const aaveV3AssetsEtherfiMarket = {
49
- [NetworkNumber.Eth]: aaveV3AssetsEtherfiMarketEth,
50
- [NetworkNumber.Opt]: [],
51
- [NetworkNumber.Arb]: [],
52
- [NetworkNumber.Base]: [],
53
- [NetworkNumber.Linea]: [],
54
- [NetworkNumber.Plasma]: [],
1
+ import { AssetData, getAssetInfo } from '@defisaver/tokens';
2
+ import { NetworkNumber } from '../../types/common';
3
+
4
+ export const aaveV1AssetsDefaultMarket: AssetData[] = [
5
+ 'aETH', 'aDAI', 'aUSDC', 'aSUSD', 'aTUSD', 'aUSDT', 'aBUSD', 'aBAT', 'aLEND',
6
+ 'aLINK', 'aMANA', 'aMKR', 'aREP', 'aSNX', 'aWBTC', 'aZRX', 'aENJ', 'aREN', 'aYFI', 'aUNI', 'aAAVE',
7
+ ].map((symbol) => getAssetInfo(symbol));
8
+
9
+ export const aaveV2AssetsDefaultMarket = ['USDT', 'WBTC', 'ETH', 'YFI', 'ZRX', 'UNI', 'AAVE', 'BAT', 'BUSD', 'DAI', 'ENJ', 'KNCL', 'LINK', 'MANA', 'MKR', 'REN', 'SNX', 'SUSD', 'TUSD', 'USDC', 'CRV', 'GUSD', 'BAL', 'xSUSHI', 'RENFIL', 'RAI', 'AMPL', 'USDP', 'DPI', 'FRAX', 'FEI', 'stETH', 'ENS', 'UST', 'CVX', '1INCH', 'LUSD'];
10
+
11
+ export const aaveV3AssetsDefaultMarketEth = [
12
+ 'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
13
+ 'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC', 'PT sUSDe Sep', 'PT USDe Sep', 'tETH', 'ezETH', 'XAUt', 'PT sUSDe Nov', 'PT USDe Nov', 'PT sUSDe Feb', 'PT USDe Feb', 'mUSD', 'syrupUSDT', 'USDG',
14
+ ];
15
+ export const aaveV3AssetsDefaultMarketOpt = [
16
+ 'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
17
+ ];
18
+ export const aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
19
+ export const aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC'];
20
+
21
+ export const aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC', 'mUSD'];
22
+
23
+ export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT', 'XPL', 'PT USDe Apr', 'PT sUSDe Apr'];
24
+
25
+ // @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
26
+ export const aaveV3AssetsDefaultMarket = {
27
+ [NetworkNumber.Eth]: aaveV3AssetsDefaultMarketEth,
28
+ [NetworkNumber.Opt]: aaveV3AssetsDefaultMarketOpt,
29
+ [NetworkNumber.Arb]: aaveV3AssetsDefaultMarketArb,
30
+ [NetworkNumber.Base]: aaveV3AssetsDefaultMarketBase,
31
+ [NetworkNumber.Linea]: aaveV3AssetsDefaultMarketLinea,
32
+ [NetworkNumber.Plasma]: aaveV3AssetsDefaultMarketPlasma,
33
+ } as const;
34
+
35
+ export const aaveV3AssetsLidoMarketEth = ['ETH', 'wstETH', 'USDS', 'USDC', 'ezETH', 'sUSDe', 'GHO', 'rsETH', 'tETH'];
36
+
37
+ export const aaveV3AssetsLidoMarket = {
38
+ [NetworkNumber.Eth]: aaveV3AssetsLidoMarketEth,
39
+ [NetworkNumber.Opt]: [],
40
+ [NetworkNumber.Arb]: [],
41
+ [NetworkNumber.Base]: [],
42
+ [NetworkNumber.Linea]: [],
43
+ [NetworkNumber.Plasma]: [],
44
+ } as const;
45
+
46
+ export const aaveV3AssetsEtherfiMarketEth = ['weETH', 'USDC', 'PYUSD', 'FRAX'];
47
+
48
+ export const aaveV3AssetsEtherfiMarket = {
49
+ [NetworkNumber.Eth]: aaveV3AssetsEtherfiMarketEth,
50
+ [NetworkNumber.Opt]: [],
51
+ [NetworkNumber.Arb]: [],
52
+ [NetworkNumber.Base]: [],
53
+ [NetworkNumber.Linea]: [],
54
+ [NetworkNumber.Plasma]: [],
55
55
  } as const;
@@ -0,0 +1,42 @@
1
+ import {
2
+ AaveV4HubInfo, AaveV4HubsType, AaveV4SpokeInfo, AaveV4SpokesType,
3
+ } from '../../types';
4
+ import { NetworkNumber } from '../../types/common';
5
+
6
+ // SPOKES
7
+
8
+ export const AAVE_V4_CORE_SPOKE = (networkId: NetworkNumber): AaveV4SpokeInfo => ({
9
+ chainIds: [NetworkNumber.Eth],
10
+ label: 'Core Spoke',
11
+ value: AaveV4SpokesType.AaveV4CoreSpoke,
12
+ url: 'core',
13
+ address: '0xBa97c5E52cd5BC3D7950Ae70779F8FfE92d40CdC',
14
+ hubs: [
15
+ '0xaD905aD5EA5B98cD50AE40Cfe368344686a21366',
16
+ ],
17
+ });
18
+
19
+ export const AaveV4Spokes = (networkId: NetworkNumber) => ({
20
+ [AaveV4SpokesType.AaveV4CoreSpoke]: AAVE_V4_CORE_SPOKE(networkId),
21
+ }) as const;
22
+
23
+ export const getAaveV4SpokeTypeInfo = (type: AaveV4SpokesType, network?: NetworkNumber) => ({ ...AaveV4Spokes(network ?? NetworkNumber.Eth) }[type]);
24
+
25
+ // HUBS
26
+
27
+ export const AAVE_V4_CORE_HUB = (networkId: NetworkNumber): AaveV4HubInfo => ({
28
+ chainIds: [NetworkNumber.Eth],
29
+ label: 'Core Hub',
30
+ value: AaveV4HubsType.AaveV4CoreHub,
31
+ address: '0xaD905aD5EA5B98cD50AE40Cfe368344686a21366',
32
+ });
33
+
34
+ export const AaveV4Hubs = (networkId: NetworkNumber) => ({
35
+ [AaveV4HubsType.AaveV4CoreHub]: AAVE_V4_CORE_HUB(networkId),
36
+ }) as const;
37
+
38
+ export const getAaveV4HubTypeInfo = (type: AaveV4HubsType, network?: NetworkNumber) => ({ ...AaveV4Hubs(network ?? NetworkNumber.Eth) }[type]);
39
+
40
+ export const getAaveV4HubByAddress = (networkId: NetworkNumber, address: string): AaveV4HubInfo | undefined => Object.values(AaveV4Hubs(networkId)).find(
41
+ hub => hub.address.toLowerCase() === address.toLowerCase(),
42
+ );