@defisaver/positions-sdk 2.1.43-dev-stats-test-dev → 2.1.43

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 (116) 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 +0 -13
  5. package/cjs/aaveV3/merit.js +0 -1
  6. package/cjs/aaveV3/merkl.js +0 -1
  7. package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
  8. package/cjs/savings/morphoVaults/index.js +17 -17
  9. package/cjs/savings/morphoVaults/options.js +1 -1
  10. package/esm/aaveV3/index.js +0 -13
  11. package/esm/aaveV3/merit.js +0 -1
  12. package/esm/aaveV3/merkl.js +0 -1
  13. package/esm/helpers/morphoBlueHelpers/index.js +66 -66
  14. package/esm/savings/morphoVaults/index.js +17 -17
  15. package/esm/savings/morphoVaults/options.js +1 -1
  16. package/package.json +48 -48
  17. package/src/aaveV2/index.ts +240 -240
  18. package/src/aaveV3/index.ts +625 -634
  19. package/src/aaveV3/merit.ts +97 -98
  20. package/src/aaveV3/merkl.ts +74 -75
  21. package/src/claiming/aaveV3.ts +154 -154
  22. package/src/claiming/compV3.ts +22 -22
  23. package/src/claiming/ethena.ts +61 -61
  24. package/src/claiming/index.ts +12 -12
  25. package/src/claiming/king.ts +66 -66
  26. package/src/claiming/morphoBlue.ts +118 -118
  27. package/src/claiming/spark.ts +225 -225
  28. package/src/compoundV2/index.ts +244 -244
  29. package/src/compoundV3/index.ts +274 -274
  30. package/src/config/contracts.ts +1295 -1295
  31. package/src/constants/index.ts +10 -10
  32. package/src/contracts.ts +171 -171
  33. package/src/curveUsd/index.ts +254 -254
  34. package/src/eulerV2/index.ts +324 -324
  35. package/src/exchange/index.ts +25 -25
  36. package/src/fluid/index.ts +1800 -1800
  37. package/src/helpers/aaveHelpers/index.ts +187 -187
  38. package/src/helpers/compoundHelpers/index.ts +283 -283
  39. package/src/helpers/curveUsdHelpers/index.ts +40 -40
  40. package/src/helpers/eulerHelpers/index.ts +222 -222
  41. package/src/helpers/fluidHelpers/index.ts +326 -326
  42. package/src/helpers/index.ts +10 -10
  43. package/src/helpers/liquityV2Helpers/index.ts +82 -82
  44. package/src/helpers/llamaLendHelpers/index.ts +53 -53
  45. package/src/helpers/makerHelpers/index.ts +52 -52
  46. package/src/helpers/morphoBlueHelpers/index.ts +396 -396
  47. package/src/helpers/sparkHelpers/index.ts +158 -158
  48. package/src/index.ts +49 -49
  49. package/src/liquity/index.ts +159 -159
  50. package/src/liquityV2/index.ts +703 -703
  51. package/src/llamaLend/index.ts +305 -305
  52. package/src/maker/index.ts +223 -223
  53. package/src/markets/aave/index.ts +118 -118
  54. package/src/markets/aave/marketAssets.ts +54 -54
  55. package/src/markets/compound/index.ts +243 -243
  56. package/src/markets/compound/marketsAssets.ts +97 -97
  57. package/src/markets/curveUsd/index.ts +69 -69
  58. package/src/markets/euler/index.ts +26 -26
  59. package/src/markets/fluid/index.ts +2900 -2900
  60. package/src/markets/index.ts +25 -25
  61. package/src/markets/liquityV2/index.ts +102 -102
  62. package/src/markets/llamaLend/contractAddresses.ts +141 -141
  63. package/src/markets/llamaLend/index.ts +235 -235
  64. package/src/markets/morphoBlue/index.ts +971 -971
  65. package/src/markets/spark/index.ts +29 -29
  66. package/src/markets/spark/marketAssets.ts +12 -12
  67. package/src/moneymarket/moneymarketCommonService.ts +85 -85
  68. package/src/morphoBlue/index.ts +274 -274
  69. package/src/portfolio/index.ts +598 -598
  70. package/src/savings/index.ts +95 -95
  71. package/src/savings/makerDsr/index.ts +53 -53
  72. package/src/savings/makerDsr/options.ts +9 -9
  73. package/src/savings/morphoVaults/index.ts +80 -80
  74. package/src/savings/morphoVaults/options.ts +193 -193
  75. package/src/savings/skyOptions/index.ts +95 -95
  76. package/src/savings/skyOptions/options.ts +10 -10
  77. package/src/savings/sparkSavingsVaults/index.ts +60 -60
  78. package/src/savings/sparkSavingsVaults/options.ts +35 -35
  79. package/src/savings/yearnV3Vaults/index.ts +61 -61
  80. package/src/savings/yearnV3Vaults/options.ts +55 -55
  81. package/src/savings/yearnVaults/index.ts +73 -73
  82. package/src/savings/yearnVaults/options.ts +32 -32
  83. package/src/services/priceService.ts +278 -278
  84. package/src/services/utils.ts +115 -115
  85. package/src/services/viem.ts +34 -34
  86. package/src/setup.ts +8 -8
  87. package/src/spark/index.ts +458 -458
  88. package/src/staking/eligibility.ts +53 -53
  89. package/src/staking/index.ts +1 -1
  90. package/src/staking/staking.ts +186 -186
  91. package/src/types/aave.ts +196 -196
  92. package/src/types/claiming.ts +114 -114
  93. package/src/types/common.ts +107 -107
  94. package/src/types/compound.ts +144 -144
  95. package/src/types/curveUsd.ts +123 -123
  96. package/src/types/euler.ts +175 -175
  97. package/src/types/fluid.ts +483 -483
  98. package/src/types/index.ts +14 -14
  99. package/src/types/liquity.ts +30 -30
  100. package/src/types/liquityV2.ts +126 -126
  101. package/src/types/llamaLend.ts +159 -159
  102. package/src/types/maker.ts +63 -63
  103. package/src/types/merit.ts +1 -1
  104. package/src/types/merkl.ts +70 -70
  105. package/src/types/morphoBlue.ts +200 -200
  106. package/src/types/portfolio.ts +60 -60
  107. package/src/types/savings/index.ts +23 -23
  108. package/src/types/savings/makerDsr.ts +13 -13
  109. package/src/types/savings/morphoVaults.ts +32 -32
  110. package/src/types/savings/sky.ts +14 -14
  111. package/src/types/savings/sparkSavingsVaults.ts +15 -15
  112. package/src/types/savings/yearnV3Vaults.ts +17 -17
  113. package/src/types/savings/yearnVaults.ts +14 -14
  114. package/src/types/spark.ts +134 -134
  115. package/src/umbrella/index.ts +69 -69
  116. package/src/umbrella/umbrellaUtils.ts +29 -29
package/src/types/aave.ts CHANGED
@@ -1,196 +1,196 @@
1
- import {
2
- IncentiveData,
3
- MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
4
- } from './common';
5
-
6
- export enum AaveVersions {
7
- AaveV1 = 'v1',
8
- AaveV2 = 'v2default',
9
- AaveV3 = 'v3default',
10
- AaveV3Lido = 'v3lido',
11
- AaveV3Etherfi = 'v3etherfi',
12
- }
13
-
14
- export enum AaveVersionType {
15
- V1 = 'v1',
16
- V2 = 'v2',
17
- V3 = 'v3',
18
- }
19
-
20
- export type AaveMarketInfo = {
21
- chainIds: NetworkNumber[],
22
- label: string,
23
- shortLabel: string,
24
- url: string,
25
- value: AaveVersions,
26
- assets: readonly string[],
27
- provider: '' | 'LendingPoolAddressesProvider' | 'AaveV3PoolAddressesProvider' | 'AaveV3LidoPoolAddressesProvider' | 'AaveV3EtherfiPoolAddressesProvider',
28
- providerAddress: `0x${string}`,
29
- lendingPool: '' | 'AaveLendingPoolV2' | 'AaveV3LendingPool' | 'AaveV3LidoLendingPool' | 'AaveV3EtherfiLendingPool',
30
- lendingPoolAddress: string,
31
- protocolData: '' | 'AaveProtocolDataProvider' | 'AaveV3ProtocolDataProvider' | 'AaveV3LidoProtocolDataProvider' | 'AaveV3EtherfiProtocolDataProvider',
32
- protocolDataAddress: string
33
- subVersionLabel?: string
34
- protocolName: string,
35
- disabled?: boolean,
36
- };
37
-
38
- export interface EModeCategoryData {
39
- label: string,
40
- id: number,
41
- liquidationBonus: string,
42
- liquidationRatio: string,
43
- collateralFactor: string,
44
- borrowableBitmap?: string,
45
- collateralBitmap?: string,
46
- collateralAssets: string[],
47
- borrowAssets: string[],
48
- }
49
- export interface EModeCategoryDataMapping {
50
- enteringTerms: boolean[],
51
- canEnterCategory: boolean,
52
- id: number,
53
- enabledData: {
54
- ratio: string,
55
- liqRatio: string,
56
- liqPercent: string,
57
- collRatio: string,
58
- }
59
- }
60
-
61
- export interface AaveAssetData extends MMAssetData {
62
- sortIndex?: number,
63
- isIsolated?: boolean,
64
- usageAsCollateralEnabled: boolean,
65
- isInactive: boolean,
66
- canBeWithdrawn: boolean,
67
- canBePayBacked: boolean,
68
- liquidationRatio: string,
69
- supplyCap: string,
70
- disabledStableBorrowing: boolean,
71
- borrowRateStable: string,
72
- totalBorrowVar: string,
73
- }
74
-
75
-
76
- export interface AaveV2AssetData extends AaveAssetData {
77
- priceInEth: string,
78
- isFrozen: boolean,
79
- }
80
-
81
- export interface AaveV3AssetData extends AaveAssetData {
82
- isIsolated: boolean,
83
- isSiloed: boolean,
84
- debtCeilingForIsolationMode: string,
85
- isolationModeTotalDebt: string,
86
- isolationModeBorrowingEnabled: boolean,
87
- supplyRateP2P?: string,
88
- borrowRateP2P?: string,
89
- isFrozen: boolean,
90
- isPaused: boolean,
91
- isFlashLoanEnabled: boolean,
92
- assetId: string | number | null,
93
- liquidationBonus: string,
94
- supplyIncentives: IncentiveData[];
95
- borrowIncentives: IncentiveData[];
96
- }
97
-
98
- export type EModeCategoriesData = Record<number, EModeCategoryData>;
99
-
100
- export type AaveAssetsData<T> = { [key: string]: T };
101
-
102
- export type AaveV2AssetsData = AaveAssetsData<AaveV2AssetData>;
103
-
104
- export type AaveV2MarketData = { assetsData: AaveV2AssetsData };
105
-
106
- export type AaveV3AssetsData = AaveAssetsData<AaveV3AssetData>;
107
-
108
- export type AaveV3MarketData = { assetsData: AaveV3AssetsData, eModeCategoriesData: EModeCategoriesData };
109
-
110
- export interface AaveUsedAsset extends MMUsedAsset {
111
- stableBorrowRate: string,
112
- borrowedStable: string,
113
- borrowedVariable: string,
114
- borrowedUsdStable: string,
115
- borrowedUsdVariable: string,
116
- stableLimit: string,
117
- variableLimit: string,
118
- limit: string,
119
- }
120
-
121
- export interface AaveV2UsedAsset extends AaveUsedAsset {
122
- }
123
-
124
- export interface AaveV3UsedAsset extends AaveUsedAsset {
125
- supplyRate: string,
126
- borrowRate: string,
127
- interestMode: string,
128
- collateral: boolean,
129
- }
130
-
131
- export type AaveUsedAssets<T> = { [key: string]: T };
132
-
133
- export type AaveV2UsedAssets = AaveUsedAssets<AaveV2UsedAsset>;
134
-
135
- export type AaveV3UsedAssets = AaveUsedAssets<AaveV3UsedAsset>;
136
-
137
- export interface AavePositionData extends MMPositionData {
138
- ratio: string,
139
- minRatio: string,
140
- collRatio: string,
141
- suppliedUsd: string,
142
- borrowedUsd: string,
143
- borrowLimitUsd: string,
144
- suppliedCollateralUsd: string,
145
- incentiveUsd: string,
146
- totalInterestUsd: string,
147
- isSubscribedToAutomation?: boolean,
148
- automationResubscribeRequired?: boolean,
149
- totalSupplied: string,
150
- }
151
-
152
- export interface AaveV2PositionData extends AavePositionData {
153
- usedAssets: AaveV2UsedAssets,
154
- }
155
-
156
- export interface AaveV3PositionData extends AavePositionData {
157
- usedAssets: AaveV3UsedAssets,
158
- eModeCategory: number,
159
- isInIsolationMode: boolean,
160
- isInSiloedMode: boolean,
161
- eModeCategories: { [key: number]: EModeCategoryDataMapping },
162
- }
163
-
164
- export interface AaveV3AggregatedPositionData {
165
- suppliedUsd: string,
166
- suppliedCollateralUsd: string,
167
- borrowedUsd: string,
168
- borrowLimitUsd: string,
169
- liquidationLimitUsd: string,
170
- leftToBorrowUsd: string,
171
- ratio: string,
172
- collRatio: string,
173
- netApy: string,
174
- incentiveUsd: string,
175
- totalInterestUsd: string,
176
- liqRatio: string,
177
- liqPercent: string,
178
- leveragedType: string,
179
- leveragedAsset?: string,
180
- leveragedLsdAssetRatio?: string,
181
- liquidationPrice?: string,
182
- minCollRatio?: string,
183
- collLiquidationRatio?: string,
184
- healthRatio?: string,
185
- minHealthRatio?: string,
186
- }
187
-
188
- export interface AaveHelperCommon {
189
- usedAssets: any,
190
- eModeCategory: number,
191
- eModeCategories?: { [key: number]: EModeCategoryDataMapping },
192
- eModeCategoriesData?: EModeCategoriesData,
193
- assetsData: any,
194
- selectedMarket: Partial<AaveMarketInfo>,
195
- network?: NetworkNumber,
196
- }
1
+ import {
2
+ IncentiveData,
3
+ MMAssetData, MMPositionData, MMUsedAsset, NetworkNumber,
4
+ } from './common';
5
+
6
+ export enum AaveVersions {
7
+ AaveV1 = 'v1',
8
+ AaveV2 = 'v2default',
9
+ AaveV3 = 'v3default',
10
+ AaveV3Lido = 'v3lido',
11
+ AaveV3Etherfi = 'v3etherfi',
12
+ }
13
+
14
+ export enum AaveVersionType {
15
+ V1 = 'v1',
16
+ V2 = 'v2',
17
+ V3 = 'v3',
18
+ }
19
+
20
+ export type AaveMarketInfo = {
21
+ chainIds: NetworkNumber[],
22
+ label: string,
23
+ shortLabel: string,
24
+ url: string,
25
+ value: AaveVersions,
26
+ assets: readonly string[],
27
+ provider: '' | 'LendingPoolAddressesProvider' | 'AaveV3PoolAddressesProvider' | 'AaveV3LidoPoolAddressesProvider' | 'AaveV3EtherfiPoolAddressesProvider',
28
+ providerAddress: `0x${string}`,
29
+ lendingPool: '' | 'AaveLendingPoolV2' | 'AaveV3LendingPool' | 'AaveV3LidoLendingPool' | 'AaveV3EtherfiLendingPool',
30
+ lendingPoolAddress: string,
31
+ protocolData: '' | 'AaveProtocolDataProvider' | 'AaveV3ProtocolDataProvider' | 'AaveV3LidoProtocolDataProvider' | 'AaveV3EtherfiProtocolDataProvider',
32
+ protocolDataAddress: string
33
+ subVersionLabel?: string
34
+ protocolName: string,
35
+ disabled?: boolean,
36
+ };
37
+
38
+ export interface EModeCategoryData {
39
+ label: string,
40
+ id: number,
41
+ liquidationBonus: string,
42
+ liquidationRatio: string,
43
+ collateralFactor: string,
44
+ borrowableBitmap?: string,
45
+ collateralBitmap?: string,
46
+ collateralAssets: string[],
47
+ borrowAssets: string[],
48
+ }
49
+ export interface EModeCategoryDataMapping {
50
+ enteringTerms: boolean[],
51
+ canEnterCategory: boolean,
52
+ id: number,
53
+ enabledData: {
54
+ ratio: string,
55
+ liqRatio: string,
56
+ liqPercent: string,
57
+ collRatio: string,
58
+ }
59
+ }
60
+
61
+ export interface AaveAssetData extends MMAssetData {
62
+ sortIndex?: number,
63
+ isIsolated?: boolean,
64
+ usageAsCollateralEnabled: boolean,
65
+ isInactive: boolean,
66
+ canBeWithdrawn: boolean,
67
+ canBePayBacked: boolean,
68
+ liquidationRatio: string,
69
+ supplyCap: string,
70
+ disabledStableBorrowing: boolean,
71
+ borrowRateStable: string,
72
+ totalBorrowVar: string,
73
+ }
74
+
75
+
76
+ export interface AaveV2AssetData extends AaveAssetData {
77
+ priceInEth: string,
78
+ isFrozen: boolean,
79
+ }
80
+
81
+ export interface AaveV3AssetData extends AaveAssetData {
82
+ isIsolated: boolean,
83
+ isSiloed: boolean,
84
+ debtCeilingForIsolationMode: string,
85
+ isolationModeTotalDebt: string,
86
+ isolationModeBorrowingEnabled: boolean,
87
+ supplyRateP2P?: string,
88
+ borrowRateP2P?: string,
89
+ isFrozen: boolean,
90
+ isPaused: boolean,
91
+ isFlashLoanEnabled: boolean,
92
+ assetId: string | number | null,
93
+ liquidationBonus: string,
94
+ supplyIncentives: IncentiveData[];
95
+ borrowIncentives: IncentiveData[];
96
+ }
97
+
98
+ export type EModeCategoriesData = Record<number, EModeCategoryData>;
99
+
100
+ export type AaveAssetsData<T> = { [key: string]: T };
101
+
102
+ export type AaveV2AssetsData = AaveAssetsData<AaveV2AssetData>;
103
+
104
+ export type AaveV2MarketData = { assetsData: AaveV2AssetsData };
105
+
106
+ export type AaveV3AssetsData = AaveAssetsData<AaveV3AssetData>;
107
+
108
+ export type AaveV3MarketData = { assetsData: AaveV3AssetsData, eModeCategoriesData: EModeCategoriesData };
109
+
110
+ export interface AaveUsedAsset extends MMUsedAsset {
111
+ stableBorrowRate: string,
112
+ borrowedStable: string,
113
+ borrowedVariable: string,
114
+ borrowedUsdStable: string,
115
+ borrowedUsdVariable: string,
116
+ stableLimit: string,
117
+ variableLimit: string,
118
+ limit: string,
119
+ }
120
+
121
+ export interface AaveV2UsedAsset extends AaveUsedAsset {
122
+ }
123
+
124
+ export interface AaveV3UsedAsset extends AaveUsedAsset {
125
+ supplyRate: string,
126
+ borrowRate: string,
127
+ interestMode: string,
128
+ collateral: boolean,
129
+ }
130
+
131
+ export type AaveUsedAssets<T> = { [key: string]: T };
132
+
133
+ export type AaveV2UsedAssets = AaveUsedAssets<AaveV2UsedAsset>;
134
+
135
+ export type AaveV3UsedAssets = AaveUsedAssets<AaveV3UsedAsset>;
136
+
137
+ export interface AavePositionData extends MMPositionData {
138
+ ratio: string,
139
+ minRatio: string,
140
+ collRatio: string,
141
+ suppliedUsd: string,
142
+ borrowedUsd: string,
143
+ borrowLimitUsd: string,
144
+ suppliedCollateralUsd: string,
145
+ incentiveUsd: string,
146
+ totalInterestUsd: string,
147
+ isSubscribedToAutomation?: boolean,
148
+ automationResubscribeRequired?: boolean,
149
+ totalSupplied: string,
150
+ }
151
+
152
+ export interface AaveV2PositionData extends AavePositionData {
153
+ usedAssets: AaveV2UsedAssets,
154
+ }
155
+
156
+ export interface AaveV3PositionData extends AavePositionData {
157
+ usedAssets: AaveV3UsedAssets,
158
+ eModeCategory: number,
159
+ isInIsolationMode: boolean,
160
+ isInSiloedMode: boolean,
161
+ eModeCategories: { [key: number]: EModeCategoryDataMapping },
162
+ }
163
+
164
+ export interface AaveV3AggregatedPositionData {
165
+ suppliedUsd: string,
166
+ suppliedCollateralUsd: string,
167
+ borrowedUsd: string,
168
+ borrowLimitUsd: string,
169
+ liquidationLimitUsd: string,
170
+ leftToBorrowUsd: string,
171
+ ratio: string,
172
+ collRatio: string,
173
+ netApy: string,
174
+ incentiveUsd: string,
175
+ totalInterestUsd: string,
176
+ liqRatio: string,
177
+ liqPercent: string,
178
+ leveragedType: string,
179
+ leveragedAsset?: string,
180
+ leveragedLsdAssetRatio?: string,
181
+ liquidationPrice?: string,
182
+ minCollRatio?: string,
183
+ collLiquidationRatio?: string,
184
+ healthRatio?: string,
185
+ minHealthRatio?: string,
186
+ }
187
+
188
+ export interface AaveHelperCommon {
189
+ usedAssets: any,
190
+ eModeCategory: number,
191
+ eModeCategories?: { [key: number]: EModeCategoryDataMapping },
192
+ eModeCategoriesData?: EModeCategoriesData,
193
+ assetsData: any,
194
+ selectedMarket: Partial<AaveMarketInfo>,
195
+ network?: NetworkNumber,
196
+ }
@@ -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;