@defisaver/positions-sdk 2.1.49-aave-v4-dev-1-dev → 2.1.49-aave-v4-dev-2
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.
- package/.mocharc.json +4 -4
- package/.nvmrc +1 -1
- package/README.md +64 -64
- package/cjs/helpers/aaveV4Helpers/index.d.ts +4 -0
- package/cjs/helpers/aaveV4Helpers/index.js +54 -2
- package/cjs/helpers/morphoBlueHelpers/index.js +66 -66
- package/cjs/savings/morphoVaults/index.js +17 -17
- package/esm/helpers/aaveV4Helpers/index.d.ts +4 -0
- package/esm/helpers/aaveV4Helpers/index.js +53 -2
- package/esm/helpers/morphoBlueHelpers/index.js +66 -66
- package/esm/savings/morphoVaults/index.js +17 -17
- package/package.json +48 -48
- package/src/aaveV2/index.ts +240 -240
- package/src/aaveV3/index.ts +635 -635
- package/src/aaveV3/merit.ts +97 -97
- package/src/aaveV3/merkl.ts +74 -74
- package/src/aaveV4/index.ts +168 -168
- package/src/claiming/aaveV3.ts +154 -154
- package/src/claiming/compV3.ts +22 -22
- package/src/claiming/ethena.ts +61 -61
- package/src/claiming/index.ts +12 -12
- package/src/claiming/king.ts +66 -66
- package/src/claiming/morphoBlue.ts +118 -118
- package/src/claiming/spark.ts +225 -225
- package/src/compoundV2/index.ts +244 -244
- package/src/compoundV3/index.ts +274 -274
- package/src/config/contracts.ts +1328 -1328
- package/src/constants/index.ts +10 -10
- package/src/contracts.ts +173 -173
- package/src/curveUsd/index.ts +254 -254
- package/src/eulerV2/index.ts +324 -324
- package/src/exchange/index.ts +25 -25
- package/src/fluid/index.ts +1800 -1800
- package/src/helpers/aaveHelpers/index.ts +191 -191
- package/src/helpers/aaveV4Helpers/index.ts +120 -68
- package/src/helpers/compoundHelpers/index.ts +283 -283
- package/src/helpers/curveUsdHelpers/index.ts +40 -40
- package/src/helpers/eulerHelpers/index.ts +222 -222
- package/src/helpers/fluidHelpers/index.ts +326 -326
- package/src/helpers/index.ts +11 -11
- package/src/helpers/liquityV2Helpers/index.ts +82 -82
- package/src/helpers/llamaLendHelpers/index.ts +53 -53
- package/src/helpers/makerHelpers/index.ts +52 -52
- package/src/helpers/morphoBlueHelpers/index.ts +396 -396
- package/src/helpers/sparkHelpers/index.ts +158 -158
- package/src/index.ts +51 -51
- package/src/liquity/index.ts +159 -159
- package/src/liquityV2/index.ts +703 -703
- package/src/llamaLend/index.ts +305 -305
- package/src/maker/index.ts +223 -223
- package/src/markets/aave/index.ts +118 -118
- package/src/markets/aave/marketAssets.ts +54 -54
- package/src/markets/aaveV4/index.ts +18 -18
- package/src/markets/compound/index.ts +243 -243
- package/src/markets/compound/marketsAssets.ts +97 -97
- package/src/markets/curveUsd/index.ts +69 -69
- package/src/markets/euler/index.ts +26 -26
- package/src/markets/fluid/index.ts +2900 -2900
- package/src/markets/index.ts +25 -25
- package/src/markets/liquityV2/index.ts +102 -102
- package/src/markets/llamaLend/contractAddresses.ts +141 -141
- package/src/markets/llamaLend/index.ts +235 -235
- package/src/markets/morphoBlue/index.ts +971 -971
- package/src/markets/spark/index.ts +29 -29
- package/src/markets/spark/marketAssets.ts +12 -12
- package/src/moneymarket/moneymarketCommonService.ts +85 -85
- package/src/morphoBlue/index.ts +274 -274
- package/src/portfolio/index.ts +618 -618
- package/src/savings/index.ts +95 -95
- package/src/savings/makerDsr/index.ts +53 -53
- package/src/savings/makerDsr/options.ts +9 -9
- package/src/savings/morphoVaults/index.ts +80 -80
- package/src/savings/morphoVaults/options.ts +193 -193
- package/src/savings/skyOptions/index.ts +95 -95
- package/src/savings/skyOptions/options.ts +10 -10
- package/src/savings/sparkSavingsVaults/index.ts +60 -60
- package/src/savings/sparkSavingsVaults/options.ts +35 -35
- package/src/savings/yearnV3Vaults/index.ts +61 -61
- package/src/savings/yearnV3Vaults/options.ts +55 -55
- package/src/savings/yearnVaults/index.ts +73 -73
- package/src/savings/yearnVaults/options.ts +32 -32
- package/src/services/priceService.ts +278 -278
- package/src/services/utils.ts +115 -115
- package/src/services/viem.ts +34 -34
- package/src/setup.ts +8 -8
- package/src/spark/index.ts +459 -459
- package/src/staking/eligibility.ts +53 -53
- package/src/staking/index.ts +1 -1
- package/src/staking/staking.ts +192 -192
- package/src/types/aave.ts +198 -198
- package/src/types/aaveV4.ts +142 -142
- package/src/types/claiming.ts +114 -114
- package/src/types/common.ts +107 -107
- package/src/types/compound.ts +144 -144
- package/src/types/curveUsd.ts +123 -123
- package/src/types/euler.ts +175 -175
- package/src/types/fluid.ts +483 -483
- package/src/types/index.ts +15 -15
- package/src/types/liquity.ts +30 -30
- package/src/types/liquityV2.ts +126 -126
- package/src/types/llamaLend.ts +159 -159
- package/src/types/maker.ts +63 -63
- package/src/types/merit.ts +1 -1
- package/src/types/merkl.ts +70 -70
- package/src/types/morphoBlue.ts +200 -200
- package/src/types/portfolio.ts +64 -64
- package/src/types/savings/index.ts +23 -23
- package/src/types/savings/makerDsr.ts +13 -13
- package/src/types/savings/morphoVaults.ts +32 -32
- package/src/types/savings/sky.ts +14 -14
- package/src/types/savings/sparkSavingsVaults.ts +15 -15
- package/src/types/savings/yearnV3Vaults.ts +17 -17
- package/src/types/savings/yearnVaults.ts +14 -14
- package/src/types/spark.ts +134 -134
- package/src/umbrella/index.ts +69 -69
- package/src/umbrella/umbrellaUtils.ts +29 -29
package/src/types/claiming.ts
CHANGED
|
@@ -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;
|
package/src/types/common.ts
CHANGED
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
export enum IncentiveKind {
|
|
2
|
-
Staking = 'staking',
|
|
3
|
-
Reward = 'reward',
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export enum IncentiveEligibilityId {
|
|
7
|
-
AaveV3EthenaLiquidLeverage = '0x7361e6f04060154e0268a8402b073cbf97e11ae3BORROW_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 = '0x7361e6f04060154e0268a8402b073cbf97e11ae3BORROW_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}`;
|