@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,114 +1,114 @@
1
- import { EthAddress } from './common';
2
-
3
- export enum ClaimType {
4
- /** Rewards from AAVE - various tokens & aTokens (supplied to protocol) */
5
- AAVE_REWARDS = 'AAVE_REWARDS',
6
- /** Merit rewards from AAVE (various tokens) */
7
- AAVE_MERIT_REWARDS = 'AAVE_MERIT_REWARDS',
8
- /** Rewards from Compound V3 (only in COMP) */
9
- COMPOUND_V3_COMP = 'COMPOUND_V3_COMP',
10
- /** Rewards from Spark (wstETH only for now) */
11
- SPARK_REWARDS = 'SPARK_REWARDS',
12
- /** Rewards from Morpho */
13
- MORPHO = 'MORPHO',
14
- /** Rewards from King (prev LTR^2 - received for weETH holding) */
15
- KING_REWARDS = 'KING_REWARDS',
16
- /** Spark Airdrop */
17
- SPARK_AIRDROP = 'SPARK_AIRDROP',
18
- /** Spark Airdrop */
19
- SPARK_WST_ETH_REWARDS = 'SPARK_WST_ETH_REWARDS', // TODO: This will be removed once we fully refactor spark rewards
20
-
21
- ETHENA_AIRDROP = 'ETHENA_AIRDROP',
22
- }
23
-
24
- type _ClaimableTokenPartial = {
25
- symbol: string;
26
- underlyingSymbol: string;
27
- tokenAddress: EthAddress;
28
- amount: string;
29
- walletAddress: EthAddress;
30
- label: string;
31
- };
32
- export type AaveRewardsClaimableToken = _ClaimableTokenPartial & {
33
- claimType: ClaimType.AAVE_REWARDS;
34
- additionalClaimFields: {
35
- marketAddress: EthAddress;
36
- aTokenAddresses: string[];
37
- isAaveToken: boolean;
38
- };
39
- };
40
- export type AaveMeritRewardsClaimableToken = _ClaimableTokenPartial & {
41
- claimType: ClaimType.AAVE_MERIT_REWARDS;
42
- additionalClaimFields: {
43
- accumulated: string;
44
- proof: string[];
45
- decimals: string;
46
- unclaimed: string;
47
- };
48
- };
49
-
50
- export type SparkRewardsClaimableToken = _ClaimableTokenPartial & {
51
- claimType: ClaimType.SPARK_REWARDS;
52
- additionalClaimFields: {
53
- sparkAssetAddresses: string[];
54
- };
55
- };
56
-
57
- export type KingRewardsClaimableToken = _ClaimableTokenPartial & {
58
- claimType: ClaimType.KING_REWARDS;
59
- additionalClaimFields: {
60
- allRewardsAmount: string;
61
- merkleRoot: string;
62
- merkleProofs: string[];
63
- };
64
- };
65
-
66
- export type MorphoClaimableToken = _ClaimableTokenPartial & {
67
- claimType: ClaimType.MORPHO,
68
- additionalClaimFields: {
69
- originalAmount: string,
70
- merkleProofs: string[];
71
- distributor: EthAddress;
72
- isLegacy: boolean;
73
- txData: string;
74
- }
75
- };
76
-
77
-
78
- export type CompoundV3CompClaimableToken = _ClaimableTokenPartial & {
79
- claimType: ClaimType.COMPOUND_V3_COMP,
80
- additionalClaimFields: {
81
- marketAddress: EthAddress;
82
- }
83
- };
84
-
85
- export enum SparkAirdropType {
86
- SPARK_IGNITION = 'spark-ignition',
87
- PRE_FARMING_AND_SOCIAL = 'pre-farming-and-social',
88
- }
89
-
90
- export type SparkAirdropClaimableToken = _ClaimableTokenPartial & {
91
- claimType: ClaimType.SPARK_AIRDROP,
92
- additionalClaimFields: {
93
- merkleRoot: string;
94
- merkleProofs: string[];
95
- epoch: number;
96
- rewardType: SparkAirdropType;
97
- allRewardsAmount: string;
98
- };
99
- };
100
-
101
- export type SparkWstEthRewardsClaimableToken = _ClaimableTokenPartial & { claimType: ClaimType.SPARK_WST_ETH_REWARDS };
102
-
103
- export type EthenaAirdropClaimableToken = _ClaimableTokenPartial & { claimType: ClaimType.ETHENA_AIRDROP };
104
-
105
- export type ClaimableToken =
106
- AaveRewardsClaimableToken
107
- | AaveMeritRewardsClaimableToken
108
- | CompoundV3CompClaimableToken
109
- | MorphoClaimableToken
110
- | SparkRewardsClaimableToken
111
- | KingRewardsClaimableToken
112
- | SparkAirdropClaimableToken
113
- | SparkWstEthRewardsClaimableToken
114
- | EthenaAirdropClaimableToken;
1
+ import { EthAddress } from './common';
2
+
3
+ export enum ClaimType {
4
+ /** Rewards from AAVE - various tokens & aTokens (supplied to protocol) */
5
+ AAVE_REWARDS = 'AAVE_REWARDS',
6
+ /** Merit rewards from AAVE (various tokens) */
7
+ AAVE_MERIT_REWARDS = 'AAVE_MERIT_REWARDS',
8
+ /** Rewards from Compound V3 (only in COMP) */
9
+ COMPOUND_V3_COMP = 'COMPOUND_V3_COMP',
10
+ /** Rewards from Spark (wstETH only for now) */
11
+ SPARK_REWARDS = 'SPARK_REWARDS',
12
+ /** Rewards from Morpho */
13
+ MORPHO = 'MORPHO',
14
+ /** Rewards from King (prev LTR^2 - received for weETH holding) */
15
+ KING_REWARDS = 'KING_REWARDS',
16
+ /** Spark Airdrop */
17
+ SPARK_AIRDROP = 'SPARK_AIRDROP',
18
+ /** Spark Airdrop */
19
+ SPARK_WST_ETH_REWARDS = 'SPARK_WST_ETH_REWARDS', // TODO: This will be removed once we fully refactor spark rewards
20
+
21
+ ETHENA_AIRDROP = 'ETHENA_AIRDROP',
22
+ }
23
+
24
+ type _ClaimableTokenPartial = {
25
+ symbol: string;
26
+ underlyingSymbol: string;
27
+ tokenAddress: EthAddress;
28
+ amount: string;
29
+ walletAddress: EthAddress;
30
+ label: string;
31
+ };
32
+ export type AaveRewardsClaimableToken = _ClaimableTokenPartial & {
33
+ claimType: ClaimType.AAVE_REWARDS;
34
+ additionalClaimFields: {
35
+ marketAddress: EthAddress;
36
+ aTokenAddresses: string[];
37
+ isAaveToken: boolean;
38
+ };
39
+ };
40
+ export type AaveMeritRewardsClaimableToken = _ClaimableTokenPartial & {
41
+ claimType: ClaimType.AAVE_MERIT_REWARDS;
42
+ additionalClaimFields: {
43
+ accumulated: string;
44
+ proof: string[];
45
+ decimals: string;
46
+ unclaimed: string;
47
+ };
48
+ };
49
+
50
+ export type SparkRewardsClaimableToken = _ClaimableTokenPartial & {
51
+ claimType: ClaimType.SPARK_REWARDS;
52
+ additionalClaimFields: {
53
+ sparkAssetAddresses: string[];
54
+ };
55
+ };
56
+
57
+ export type KingRewardsClaimableToken = _ClaimableTokenPartial & {
58
+ claimType: ClaimType.KING_REWARDS;
59
+ additionalClaimFields: {
60
+ allRewardsAmount: string;
61
+ merkleRoot: string;
62
+ merkleProofs: string[];
63
+ };
64
+ };
65
+
66
+ export type MorphoClaimableToken = _ClaimableTokenPartial & {
67
+ claimType: ClaimType.MORPHO,
68
+ additionalClaimFields: {
69
+ originalAmount: string,
70
+ merkleProofs: string[];
71
+ distributor: EthAddress;
72
+ isLegacy: boolean;
73
+ txData: string;
74
+ }
75
+ };
76
+
77
+
78
+ export type CompoundV3CompClaimableToken = _ClaimableTokenPartial & {
79
+ claimType: ClaimType.COMPOUND_V3_COMP,
80
+ additionalClaimFields: {
81
+ marketAddress: EthAddress;
82
+ }
83
+ };
84
+
85
+ export enum SparkAirdropType {
86
+ SPARK_IGNITION = 'spark-ignition',
87
+ PRE_FARMING_AND_SOCIAL = 'pre-farming-and-social',
88
+ }
89
+
90
+ export type SparkAirdropClaimableToken = _ClaimableTokenPartial & {
91
+ claimType: ClaimType.SPARK_AIRDROP,
92
+ additionalClaimFields: {
93
+ merkleRoot: string;
94
+ merkleProofs: string[];
95
+ epoch: number;
96
+ rewardType: SparkAirdropType;
97
+ allRewardsAmount: string;
98
+ };
99
+ };
100
+
101
+ export type SparkWstEthRewardsClaimableToken = _ClaimableTokenPartial & { claimType: ClaimType.SPARK_WST_ETH_REWARDS };
102
+
103
+ export type EthenaAirdropClaimableToken = _ClaimableTokenPartial & { claimType: ClaimType.ETHENA_AIRDROP };
104
+
105
+ export type ClaimableToken =
106
+ AaveRewardsClaimableToken
107
+ | AaveMeritRewardsClaimableToken
108
+ | CompoundV3CompClaimableToken
109
+ | MorphoClaimableToken
110
+ | SparkRewardsClaimableToken
111
+ | KingRewardsClaimableToken
112
+ | SparkAirdropClaimableToken
113
+ | SparkWstEthRewardsClaimableToken
114
+ | EthenaAirdropClaimableToken;
@@ -1,107 +1,115 @@
1
- export enum IncentiveKind {
2
- Staking = 'staking',
3
- Reward = 'reward',
4
- }
5
-
6
- export enum IncentiveEligibilityId {
7
- AaveV3EthenaLiquidLeverage = '0x8014e0076e5393e62c49a7134070d8fccc922e46BORROW_BL',
8
- AaveV3ArbitrumEthSupply = '0x5d16261c6715a653248269861bbacf68a9774cde',
9
- AaveV3ArbitrumETHLSBorrow = '0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351',
10
- AaveV3EthenaLiquidLeveragePlasma = '0x67264783f1e9a2af8627a235853057a6fc975bd2BORROW_BL',
11
- }
12
-
13
- export interface IncentiveData {
14
- token: string,
15
- apy: string,
16
- incentiveKind?: IncentiveKind;
17
- description?: string;
18
- eligibilityId?: IncentiveEligibilityId;
19
- }
20
-
21
- // General
22
- export type EthAddress = HexString;
23
- export type Blockish = number | 'latest';
24
- export type AssetSymbol = string;
25
- export type Amount = string | number;
26
-
27
- export enum NetworkNumber {
28
- Eth = 1,
29
- Opt = 10,
30
- Arb = 42161,
31
- Base = 8453,
32
- Linea = 59144,
33
- Plasma = 9745,
34
- }
35
- export type Networkish = string | NetworkNumber;
36
-
37
- // Common
38
- export interface MMAssetData {
39
- symbol: string,
40
- supplyRate: string,
41
- borrowRate: string,
42
- price: string,
43
- collateralFactor: string,
44
- underlyingTokenAddress: string,
45
- marketLiquidity: string,
46
- utilization: string,
47
- borrowCap: string,
48
- totalSupply: string,
49
- canBeBorrowed: boolean,
50
- canBeSupplied: boolean,
51
- totalBorrow: string,
52
- borrowRateP2P?: string,
53
- supplyRateP2P?: string,
54
- supplyIncentives: IncentiveData[];
55
- borrowIncentives: IncentiveData[];
56
- }
57
-
58
- export interface MMAssetsData {
59
- [token: string]: MMAssetData,
60
- }
61
- export interface MMMarketData {
62
- assetsData: MMAssetData[],
63
- }
64
- export interface MMUsedAsset {
65
- symbol: string,
66
- supplied: string,
67
- suppliedUsd: string,
68
- isSupplied: boolean,
69
- borrowed: string,
70
- borrowedUsd: string,
71
- isBorrowed: boolean,
72
- stableBorrowRate?: string,
73
- debt?: string,
74
- supplyRate?: string,
75
- borrowRate?: string,
76
- interestMode?: string,
77
- collateral?: boolean,
78
- }
79
- export interface MMUsedAssets {
80
- [token: string]: MMUsedAsset,
81
- }
82
- export interface MMUsedAssetWStableB extends MMUsedAsset {
83
- stableBorrowRate: string,
84
- borrowedStable: string,
85
- borrowedVariable: string,
86
- borrowedUsdStable: string,
87
- borrowedUsdVariable: string,
88
- interestMode: string,
89
- }
90
- export interface MMPositionData {
91
- usedAssets: any,
92
- netApy: string,
93
- lastUpdated: number,
94
- // ...
95
- }
96
-
97
- export type Balances = Record<AssetSymbol, Amount>;
98
- export interface PositionBalances {
99
- collateral?: Balances,
100
- debt?: Balances,
101
- selling?: Balances,
102
- deposited?: Balances,
103
- }
104
-
105
- export type EthereumProvider = { request(...args: any): Promise<any> }; // TODO
106
-
107
- export type HexString = `0x${string}`;
1
+ export enum IncentiveKind {
2
+ Staking = 'staking',
3
+ Reward = 'reward',
4
+ }
5
+
6
+ export enum IncentiveEligibilityId {
7
+ AaveV3EthenaLiquidLeverage = '0x8014e0076e5393e62c49a7134070d8fccc922e46BORROW_BL',
8
+ AaveV3ArbitrumEthSupply = '0x5d16261c6715a653248269861bbacf68a9774cde',
9
+ AaveV3ArbitrumETHLSBorrow = '0x0c84331e39d6658Cd6e6b9ba04736cC4c4734351',
10
+ AaveV3EthenaLiquidLeveragePlasma = '0x67264783f1e9a2af8627a235853057a6fc975bd2BORROW_BL',
11
+ }
12
+
13
+ export enum LeverageType {
14
+ Long = 'long',
15
+ Short = 'short',
16
+ VolatilePair = 'volatile-pair',
17
+ VolatilePairReverse = 'volatile-pair-reverse',
18
+ None = '',
19
+ }
20
+
21
+ export interface IncentiveData {
22
+ token: string,
23
+ apy: string,
24
+ incentiveKind?: IncentiveKind;
25
+ description?: string;
26
+ eligibilityId?: IncentiveEligibilityId;
27
+ }
28
+
29
+ // General
30
+ export type EthAddress = HexString;
31
+ export type Blockish = number | 'latest';
32
+ export type AssetSymbol = string;
33
+ export type Amount = string | number;
34
+
35
+ export enum NetworkNumber {
36
+ Eth = 1,
37
+ Opt = 10,
38
+ Arb = 42161,
39
+ Base = 8453,
40
+ Linea = 59144,
41
+ Plasma = 9745,
42
+ }
43
+ export type Networkish = string | NetworkNumber;
44
+
45
+ // Common
46
+ export interface MMAssetData {
47
+ symbol: string,
48
+ supplyRate: string,
49
+ borrowRate: string,
50
+ price: string,
51
+ collateralFactor: string,
52
+ underlyingTokenAddress: string,
53
+ marketLiquidity: string,
54
+ utilization: string,
55
+ borrowCap: string,
56
+ totalSupply: string,
57
+ canBeBorrowed: boolean,
58
+ canBeSupplied: boolean,
59
+ totalBorrow: string,
60
+ borrowRateP2P?: string,
61
+ supplyRateP2P?: string,
62
+ supplyIncentives: IncentiveData[];
63
+ borrowIncentives: IncentiveData[];
64
+ }
65
+
66
+ export interface MMAssetsData {
67
+ [token: string]: MMAssetData,
68
+ }
69
+ export interface MMMarketData {
70
+ assetsData: MMAssetData[],
71
+ }
72
+ export interface MMUsedAsset {
73
+ symbol: string,
74
+ supplied: string,
75
+ suppliedUsd: string,
76
+ isSupplied: boolean,
77
+ borrowed: string,
78
+ borrowedUsd: string,
79
+ isBorrowed: boolean,
80
+ stableBorrowRate?: string,
81
+ debt?: string,
82
+ supplyRate?: string,
83
+ borrowRate?: string,
84
+ interestMode?: string,
85
+ collateral?: boolean,
86
+ }
87
+ export interface MMUsedAssets {
88
+ [token: string]: MMUsedAsset,
89
+ }
90
+ export interface MMUsedAssetWStableB extends MMUsedAsset {
91
+ stableBorrowRate: string,
92
+ borrowedStable: string,
93
+ borrowedVariable: string,
94
+ borrowedUsdStable: string,
95
+ borrowedUsdVariable: string,
96
+ interestMode: string,
97
+ }
98
+ export interface MMPositionData {
99
+ usedAssets: any,
100
+ netApy: string,
101
+ lastUpdated: number,
102
+ // ...
103
+ }
104
+
105
+ export type Balances = Record<AssetSymbol, Amount>;
106
+ export interface PositionBalances {
107
+ collateral?: Balances,
108
+ debt?: Balances,
109
+ selling?: Balances,
110
+ deposited?: Balances,
111
+ }
112
+
113
+ export type EthereumProvider = { request(...args: any): Promise<any> }; // TODO
114
+
115
+ export type HexString = `0x${string}`;