@defisaver/positions-sdk 2.1.161-portfolio-api-dev → 2.1.161-portfolio-api-2-dev
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/cjs/aaveV3/index.d.ts +2 -12
- package/cjs/aaveV3/sgho.d.ts +2 -16
- package/cjs/claiming/aaveV3.d.ts +2 -2
- package/cjs/claiming/ethena.d.ts +2 -1
- package/cjs/claiming/king.d.ts +2 -1
- package/cjs/claiming/spark.d.ts +2 -2
- package/cjs/fluid/index.d.ts +5 -49
- package/cjs/liquity/index.d.ts +2 -12
- package/cjs/liquityV2/index.d.ts +3 -23
- package/cjs/portfolio/index.d.ts +5 -5
- package/cjs/portfolio/index.js +46 -33
- package/cjs/types/aave.d.ts +83 -0
- package/cjs/types/fluid.d.ts +13 -0
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +1 -0
- package/cjs/types/liquity.d.ts +12 -0
- package/cjs/types/liquityV2.d.ts +24 -0
- package/cjs/types/portfolio.d.ts +88 -10
- package/cjs/umbrella/index.d.ts +2 -3
- package/esm/aaveV3/index.d.ts +2 -12
- package/esm/aaveV3/sgho.d.ts +2 -16
- package/esm/claiming/aaveV3.d.ts +2 -2
- package/esm/claiming/aaveV3.js +1 -1
- package/esm/claiming/ethena.d.ts +2 -1
- package/esm/claiming/king.d.ts +2 -1
- package/esm/claiming/spark.d.ts +2 -2
- package/esm/claiming/spark.js +1 -1
- package/esm/fluid/index.d.ts +5 -49
- package/esm/liquity/index.d.ts +2 -12
- package/esm/liquityV2/index.d.ts +3 -23
- package/esm/portfolio/index.d.ts +5 -5
- package/esm/portfolio/index.js +46 -33
- package/esm/types/aave.d.ts +83 -0
- package/esm/types/fluid.d.ts +13 -0
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.js +1 -0
- package/esm/types/liquity.d.ts +12 -0
- package/esm/types/liquityV2.d.ts +24 -0
- package/esm/types/portfolio.d.ts +88 -10
- package/esm/umbrella/index.d.ts +2 -3
- package/package.json +1 -1
- package/src/aaveV3/index.ts +2 -1
- package/src/aaveV3/sgho.ts +2 -17
- package/src/claiming/aaveV3.ts +4 -2
- package/src/claiming/ethena.ts +5 -5
- package/src/claiming/king.ts +3 -3
- package/src/claiming/spark.ts +6 -4
- package/src/fluid/index.ts +4 -3
- package/src/liquity/index.ts +2 -2
- package/src/liquityV2/index.ts +3 -3
- package/src/portfolio/index.ts +72 -55
- package/src/types/aave.ts +86 -0
- package/src/types/fluid.ts +14 -0
- package/src/types/index.ts +2 -1
- package/src/types/liquity.ts +13 -1
- package/src/types/liquityV2.ts +26 -1
- package/src/types/portfolio.ts +111 -11
- package/src/umbrella/index.ts +2 -1
package/cjs/aaveV3/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
|
-
import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping } from '../types';
|
|
2
|
+
import { AaveMarketInfo, AaveV3MarketData, AaveV3PositionData, AaveV3UsedAssets, EModeCategoryDataMapping, StakeAaveData } from '../types';
|
|
3
3
|
import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
|
|
4
4
|
import { getMeritCampaigns } from './merit';
|
|
5
5
|
import { getMerkleCampaigns } from './merkl';
|
|
@@ -37,17 +37,7 @@ export declare const getAaveV3AccountData: (provider: EthereumProvider, network:
|
|
|
37
37
|
export declare const getAaveV3FullPositionData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, market: AaveMarketInfo) => Promise<AaveV3PositionData>;
|
|
38
38
|
export declare const REWARDABLE_ASSETS: readonly ["0x028171bCA77440897B824Ca71D1c56caC55b68A3", "0x6C3c78838c761c6Ac7bE9F59fe808ea2A6E4379d", "0xD37EE7e4f452C6638c96536e68090De8cBcdb583", "0x279AF5b99540c1A3A7E3CDd326e19659401eF99e", "0xBcca60bB61934080951369a648Fb03DF4F96263C", "0x619beb58998eD2278e08620f97007e1116D5D25b", "0x3Ed3B47Dd13EC9a98b44e6204A523E766B225811", "0x531842cEbbdD378f8ee36D171d6cC9C4fcf475Ec", "0x9ff58f4fFB29fA2266Ab25e75e2A8b3503311656", "0x9c39809Dec7F95F5e0713634a4D0701329B3b4d2", "0x030bA81f1c18d280636F32af80b9AAd02Cf0854e", "0xF63B34710400CAd3e044cFfDcAb00a0f32E33eCf", "0xa06bC25B5805d5F8d82847D191Cb4Af5A3e873E0", "0x0b8f12b1788BFdE65Aa1ca52E3e9F3Ba401be16D", "0x6C5024Cd4F8A59110119C56f8933403A539555EB", "0xdC6a3Ab17299D9C2A412B0e0a4C1f55446AE0817", "0x5165d24277cD063F5ac44Efd447B27025e888f37", "0x7EbD09022Be45AD993BAA1CEc61166Fcc8644d97", "0xF256CC7847E919FAc9B808cC216cAc87CCF2f47a", "0xfAFEDF95E21184E3d880bd56D4806c4b8d31c69A", "0xB9D7CB55f463405CDfBe4E90a6D2Df01C2B92BF1", "0x5BdB050A92CADcCfCDcCCBFC17204a1C9cC0Ab73", "0xc713e5E149D5D0715DcD1c156a020976e7E56B88", "0xba728eAd5e496BE00DCF66F650b6d7758eCB50f8", "0x101cc05f4A51C0319f570d5E146a8C625198e636", "0x01C0eb1f8c6F1C1bF74ae028697ce7AA2a8b0E92", "0xc9BC48c72154ef3e5425641a3c747242112a46AF", "0xB5385132EE8321977FfF44b60cDE9fE9AB0B4e6b", "0x272F97b7a56a387aE942350bBC7Df5700f8a4576", "0x13210D4Fe0d5402bd7Ecbc4B5bC5cFcA3b71adB0", "0x2e8f4bdbe3d47d7d7de490437aea9915d930f1a3", "0xfdb93b3b10936cf81fa59a02a7523b6e2149b2b7", "0xA361718326c15715591c299427c62086F69923D9", "0xbA429f7011c9fa04cDd46a2Da24dc0FF0aC6099c", "0xd4937682df3C8aEF4FE912A96A74121C0829E664", "0xfE8F19B17fFeF0fDbfe2671F248903055AFAA8Ca", "0x683923dB55Fead99A79Fa01A27EeC3cB19679cC3", "0xC2e10006AccAb7B45D9184FcF5b7EC7763f5BaAe", "0x8dAE6Cb04688C62d939ed9B68d32Bc62e49970b1", "0x00ad8eBF64F141f1C81e9f8f792d3d1631c6c684", "0x6F634c6135D2EBD550000ac92F494F9CB8183dAe", "0x4dDff5885a67E4EffeC55875a3977D7E60F82ae0"];
|
|
39
39
|
export declare const fetchYearlyMeritApyForStakingGho: () => Promise<string>;
|
|
40
|
-
export declare const getStakeAaveData: (provider: Client, network: NetworkNumber, address: EthAddress) => Promise<
|
|
41
|
-
activatedCooldown: string;
|
|
42
|
-
activatedCooldownAmount: string;
|
|
43
|
-
stkAaveRewardsBalance: string;
|
|
44
|
-
aaveRewardsBalance: string;
|
|
45
|
-
stkAaveBalance: string;
|
|
46
|
-
stkGhoBalance: string;
|
|
47
|
-
ghoMeritApy: string;
|
|
48
|
-
stkAaveApy: string;
|
|
49
|
-
sgho: import("./sgho").SghoData;
|
|
50
|
-
}>;
|
|
40
|
+
export declare const getStakeAaveData: (provider: Client, network: NetworkNumber, address: EthAddress) => Promise<StakeAaveData>;
|
|
51
41
|
export { getMeritCampaigns, getMerkleCampaigns, };
|
|
52
42
|
export { getSghoData } from './sgho';
|
|
53
43
|
export type { SghoData, SghoUserData } from './sgho';
|
package/cjs/aaveV3/sgho.d.ts
CHANGED
|
@@ -1,18 +1,4 @@
|
|
|
1
1
|
import { EthAddress, NetworkNumber } from '../types/common';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
balance: string;
|
|
5
|
-
maxDeposit: string;
|
|
6
|
-
maxWithdraw: string;
|
|
7
|
-
underlyingBalance: string;
|
|
8
|
-
}
|
|
9
|
-
export interface SghoData {
|
|
10
|
-
totalAssets: string;
|
|
11
|
-
totalSupply: string;
|
|
12
|
-
supplyCap: string;
|
|
13
|
-
/** Target savings rate as an APY percent (e.g. "4.25" for 4.25%). */
|
|
14
|
-
targetRate: string;
|
|
15
|
-
paused: boolean;
|
|
16
|
-
user: SghoUserData;
|
|
17
|
-
}
|
|
2
|
+
import { SghoData } from '../types/aave';
|
|
3
|
+
export type { SghoData, SghoUserData } from '../types/aave';
|
|
18
4
|
export declare const getSghoData: (network: NetworkNumber, address?: EthAddress) => Promise<SghoData>;
|
package/cjs/claiming/aaveV3.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
2
|
import { EthAddress, NetworkNumber } from '../types';
|
|
3
|
-
import { ClaimableToken, MerklRewardsClaimableToken } from '../types/claiming';
|
|
4
|
-
export declare function getUnclaimedRewardsForAllMarkets(provider: Client, network: NetworkNumber, walletAddress: EthAddress, marketAddress: EthAddress): Promise<
|
|
3
|
+
import { AaveRewardsClaimableToken, ClaimableToken, MerklRewardsClaimableToken } from '../types/claiming';
|
|
4
|
+
export declare function getUnclaimedRewardsForAllMarkets(provider: Client, network: NetworkNumber, walletAddress: EthAddress, marketAddress: EthAddress): Promise<AaveRewardsClaimableToken[]>;
|
|
5
5
|
export declare function getMerklUnclaimedRewards(account: EthAddress, network: NetworkNumber): Promise<MerklRewardsClaimableToken[]>;
|
|
6
6
|
export declare function getMeritUnclaimedRewards(account: EthAddress, network: NetworkNumber): Promise<ClaimableToken[]>;
|
package/cjs/claiming/ethena.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { EthAddress } from '../types/common';
|
|
2
|
+
import { EthenaAirdropClaimableToken } from '../types/claiming';
|
|
2
3
|
export declare const fetchEthenaAirdropReward: (address: EthAddress) => Promise<any>;
|
|
3
|
-
export declare const fetchEthenaAirdropRewards: (walletAddresses: EthAddress[]) => Promise<Record<string,
|
|
4
|
+
export declare const fetchEthenaAirdropRewards: (walletAddresses: EthAddress[]) => Promise<Record<string, EthenaAirdropClaimableToken[]>>;
|
package/cjs/claiming/king.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
2
|
import { EthAddress, NetworkNumber } from '../types/common';
|
|
3
|
+
import { KingRewardsClaimableToken } from '../types/claiming';
|
|
3
4
|
export declare const fetchKingRewards: (walletAddress: EthAddress) => Promise<any>;
|
|
4
|
-
export declare const getKingRewards: (provider: Client, network: NetworkNumber, walletAddresses: EthAddress[]) => Promise<Record<string,
|
|
5
|
+
export declare const getKingRewards: (provider: Client, network: NetworkNumber, walletAddresses: EthAddress[]) => Promise<Record<string, KingRewardsClaimableToken[]>>;
|
package/cjs/claiming/spark.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
2
|
import { EthAddress, NetworkNumber } from '../types/common';
|
|
3
|
-
import { SparkRewardsClaimableToken } from '../types/claiming';
|
|
3
|
+
import { SparkAirdropClaimableToken, SparkRewardsClaimableToken } from '../types/claiming';
|
|
4
4
|
export declare const fetchSpkAirdropRewards: (walletAddress: EthAddress) => Promise<any>;
|
|
5
|
-
export declare const fetchSparkAirdropRewards: (provider: Client, network: NetworkNumber, walletAddresses: EthAddress[]) => Promise<Record<string,
|
|
5
|
+
export declare const fetchSparkAirdropRewards: (provider: Client, network: NetworkNumber, walletAddresses: EthAddress[]) => Promise<Record<string, SparkAirdropClaimableToken[]>>;
|
|
6
6
|
export declare const fetchSparkRewards: (provider: Client, network: NetworkNumber, walletAddress: EthAddress, marketAddress: EthAddress) => Promise<SparkRewardsClaimableToken[]>;
|
package/cjs/fluid/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client, PublicClient } from 'viem';
|
|
2
2
|
import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
|
|
3
|
-
import { FluidAssetsData, FluidMarketData, FluidMarketInfo, FluidUsedAssets, FluidVaultData, InnerFluidMarketData } from '../types';
|
|
3
|
+
import { FluidAssetsData, FluidEarnPositionData, FluidMarketData, FluidMarketInfo, FluidUsedAssets, FluidVaultData, InnerFluidMarketData } from '../types';
|
|
4
4
|
export { FluidMerklOpportunityType, buildFluidMerklRewardMap, getFluidMerklCampaigns, attachFluidMerklIncentives, } from './merkl';
|
|
5
5
|
export declare const EMPTY_USED_ASSET: {
|
|
6
6
|
isSupplied: boolean;
|
|
@@ -71,54 +71,10 @@ export declare const getFluidTokenData: (provider: EthereumProvider, network: Ne
|
|
|
71
71
|
depositRate: string;
|
|
72
72
|
withdrawRate: string;
|
|
73
73
|
}>;
|
|
74
|
-
export declare const _getFluidDepositData: (provider: Client, network: NetworkNumber, token: string, address: EthAddress) => Promise<
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
totalDeposited: string;
|
|
79
|
-
withdrawable: string;
|
|
80
|
-
apy: string;
|
|
81
|
-
depositRate: string;
|
|
82
|
-
withdrawRate: string;
|
|
83
|
-
deposited: string;
|
|
84
|
-
depositedShares: string;
|
|
85
|
-
}>;
|
|
86
|
-
export declare const getFluidDepositData: (provider: EthereumProvider, network: NetworkNumber, token: string, address: EthAddress) => Promise<{
|
|
87
|
-
fTokenAddress: string | undefined;
|
|
88
|
-
fTokenSymbol: string;
|
|
89
|
-
decimals: string;
|
|
90
|
-
totalDeposited: string;
|
|
91
|
-
withdrawable: string;
|
|
92
|
-
apy: string;
|
|
93
|
-
depositRate: string;
|
|
94
|
-
withdrawRate: string;
|
|
95
|
-
deposited: string;
|
|
96
|
-
depositedShares: string;
|
|
97
|
-
}>;
|
|
98
|
-
export declare const _getAllUserEarnPositionsWithFTokens: (provider: Client, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
99
|
-
fTokenAddress: string | undefined;
|
|
100
|
-
fTokenSymbol: string;
|
|
101
|
-
decimals: string;
|
|
102
|
-
totalDeposited: string;
|
|
103
|
-
withdrawable: string;
|
|
104
|
-
apy: string;
|
|
105
|
-
depositRate: string;
|
|
106
|
-
withdrawRate: string;
|
|
107
|
-
deposited: string;
|
|
108
|
-
depositedShares: string;
|
|
109
|
-
}[]>;
|
|
110
|
-
export declare const getAllUserEarnPositionsWithFTokens: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
111
|
-
fTokenAddress: string | undefined;
|
|
112
|
-
fTokenSymbol: string;
|
|
113
|
-
decimals: string;
|
|
114
|
-
totalDeposited: string;
|
|
115
|
-
withdrawable: string;
|
|
116
|
-
apy: string;
|
|
117
|
-
depositRate: string;
|
|
118
|
-
withdrawRate: string;
|
|
119
|
-
deposited: string;
|
|
120
|
-
depositedShares: string;
|
|
121
|
-
}[]>;
|
|
74
|
+
export declare const _getFluidDepositData: (provider: Client, network: NetworkNumber, token: string, address: EthAddress) => Promise<FluidEarnPositionData>;
|
|
75
|
+
export declare const getFluidDepositData: (provider: EthereumProvider, network: NetworkNumber, token: string, address: EthAddress) => Promise<FluidEarnPositionData>;
|
|
76
|
+
export declare const _getAllUserEarnPositionsWithFTokens: (provider: Client, network: NetworkNumber, user: EthAddress) => Promise<FluidEarnPositionData[]>;
|
|
77
|
+
export declare const getAllUserEarnPositionsWithFTokens: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress) => Promise<FluidEarnPositionData[]>;
|
|
122
78
|
export declare const _getUserPositions: (provider: PublicClient, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
123
79
|
marketData: FluidMarketData | undefined;
|
|
124
80
|
userData: {
|
package/cjs/liquity/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
2
|
import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
|
|
3
|
-
import { LiquityTroveInfo } from '../types';
|
|
3
|
+
import { LiquityStakingData, LiquityTroveInfo } from '../types';
|
|
4
4
|
export declare const LIQUITY_NORMAL_MODE_RATIO = 110;
|
|
5
5
|
export declare const LIQUITY_RECOVERY_MODE_RATIO = 150;
|
|
6
6
|
export declare const _getLiquityAccountBalances: (provider: Client, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
|
|
@@ -8,14 +8,4 @@ export declare const getLiquityAccountBalances: (provider: EthereumProvider, net
|
|
|
8
8
|
export declare const getDebtInFront: (provider: EthereumProvider, address: EthAddress) => Promise<string>;
|
|
9
9
|
export declare const _getLiquityTroveInfo: (provider: Client, network: NetworkNumber, address: EthAddress) => Promise<LiquityTroveInfo>;
|
|
10
10
|
export declare const getLiquityTroveInfo: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress) => Promise<LiquityTroveInfo>;
|
|
11
|
-
export declare const getLiquityStakingData: (provider: Client, network: NetworkNumber, address: EthAddress) => Promise<
|
|
12
|
-
totalLUSDDeposited: string;
|
|
13
|
-
totalLQTYStaked: string;
|
|
14
|
-
stakedLQTY: string;
|
|
15
|
-
stakedLUSDBalance: string;
|
|
16
|
-
rewardETH: string;
|
|
17
|
-
rewardLUSD: string;
|
|
18
|
-
stabilityRewardETH: string;
|
|
19
|
-
stabilityRewardLQTY: string;
|
|
20
|
-
showStakingBalances: boolean;
|
|
21
|
-
}>;
|
|
11
|
+
export declare const getLiquityStakingData: (provider: Client, network: NetworkNumber, address: EthAddress) => Promise<LiquityStakingData>;
|
package/cjs/liquityV2/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Client, PublicClient } from 'viem';
|
|
2
2
|
import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
|
|
3
|
-
import { LiquityV2AssetsData, LiquityV2MarketData, LiquityV2MarketInfo, LiquityV2TroveData, LiquityV2Versions } from '../types';
|
|
3
|
+
import { LiquityV2AssetsData, LiquityV2MarketData, LiquityV2MarketInfo, LiquityV2SBoldYBoldData, LiquityV2StakingData, LiquityV2TroveData, LiquityV2Versions } from '../types';
|
|
4
4
|
export type SPYieldGainParameters = {
|
|
5
5
|
P: string;
|
|
6
6
|
aggWeightedDebtSum: string;
|
|
@@ -44,25 +44,5 @@ export type sBoldYieldParameters = {
|
|
|
44
44
|
wsETH: string;
|
|
45
45
|
rETH: string;
|
|
46
46
|
};
|
|
47
|
-
export declare const getLiquityV2Staking: (provider: Client, network: NetworkNumber, market: LiquityV2Versions, user: EthAddress) => Promise<
|
|
48
|
-
|
|
49
|
-
stakedBOLDBalance: string;
|
|
50
|
-
stabilityRewardColl: string;
|
|
51
|
-
stabilityRewardYield: string;
|
|
52
|
-
showStakingBalances: boolean;
|
|
53
|
-
debtTokenBalance: string;
|
|
54
|
-
stabilityPoolApy: string;
|
|
55
|
-
}>;
|
|
56
|
-
export declare const getLiquitySAndYBold: (provider: Client, network: NetworkNumber, markets: any, user: EthAddress) => Promise<{
|
|
57
|
-
spApy: string;
|
|
58
|
-
yBoldApy: string;
|
|
59
|
-
totalBoldDepositedSBold: string;
|
|
60
|
-
boldRateSBold: string;
|
|
61
|
-
maxWithdrawSBold: string;
|
|
62
|
-
totalBoldDepositedYBold: string;
|
|
63
|
-
boldRateYBold: string;
|
|
64
|
-
maxWithdrawYBold: string;
|
|
65
|
-
sBoldBalance: string;
|
|
66
|
-
yBoldBalance: string;
|
|
67
|
-
stYBoldBalance: string;
|
|
68
|
-
}>;
|
|
47
|
+
export declare const getLiquityV2Staking: (provider: Client, network: NetworkNumber, market: LiquityV2Versions, user: EthAddress) => Promise<LiquityV2StakingData>;
|
|
48
|
+
export declare const getLiquitySAndYBold: (provider: Client, network: NetworkNumber, markets: any, user: EthAddress) => Promise<LiquityV2SBoldYBoldData>;
|
package/cjs/portfolio/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EthAddress, EthereumProvider, NetworkNumber } from '../types/common';
|
|
2
|
-
import { PortfolioPositionsData } from '../types';
|
|
3
|
-
export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], isSim?: boolean): Promise<{
|
|
2
|
+
import { PortfolioDataOptions, PortfolioMarketsData, PortfolioPositionsData, PortfolioRewardsData, PortfolioStakingPositionsData } from '../types';
|
|
3
|
+
export declare function getPortfolioData(provider: EthereumProvider, network: NetworkNumber, defaultProvider: EthereumProvider, addresses: EthAddress[], isSim?: boolean, options?: PortfolioDataOptions): Promise<{
|
|
4
4
|
positions: PortfolioPositionsData;
|
|
5
|
-
stakingPositions:
|
|
6
|
-
rewardsData:
|
|
7
|
-
markets:
|
|
5
|
+
stakingPositions: PortfolioStakingPositionsData;
|
|
6
|
+
rewardsData: PortfolioRewardsData;
|
|
7
|
+
markets: PortfolioMarketsData;
|
|
8
8
|
}>;
|
|
9
9
|
export * from './discovery';
|
package/cjs/portfolio/index.js
CHANGED
|
@@ -54,8 +54,13 @@ const ethena_1 = require("../claiming/ethena");
|
|
|
54
54
|
const aaveV4_1 = require("../aaveV4");
|
|
55
55
|
const uniswap_1 = require("../claiming/uniswap");
|
|
56
56
|
function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1) {
|
|
57
|
-
return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false) {
|
|
57
|
+
return __awaiter(this, arguments, void 0, function* (provider, network, defaultProvider, addresses, isSim = false, options = {}) {
|
|
58
58
|
const isMainnet = network === common_1.NetworkNumber.Eth;
|
|
59
|
+
const includeStaking = options.staking !== false;
|
|
60
|
+
const includeRewards = options.rewards !== false;
|
|
61
|
+
// The addresses staking and rewards are read for: none when left out, so their fetches below make no calls.
|
|
62
|
+
const stakingAddresses = includeStaking ? addresses : [];
|
|
63
|
+
const rewardsAddresses = includeRewards ? addresses : [];
|
|
59
64
|
const isFluidSupported = [common_1.NetworkNumber.Eth, common_1.NetworkNumber.Arb, common_1.NetworkNumber.Base, common_1.NetworkNumber.Plasma].includes(network);
|
|
60
65
|
const morphoMarkets = Object.values((0, markets_1.MorphoBlueMarkets)(network)).filter((market) => market.chainIds.includes(network));
|
|
61
66
|
const morphoMidnightMarkets = Object.values((0, markets_1.MorphoMidnightMarkets)(network)).filter((market) => market.chainIds.includes(network));
|
|
@@ -127,7 +132,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
127
132
|
};
|
|
128
133
|
}
|
|
129
134
|
// TODO: check default values, probably needed when fetching portfolio on unsupported networks
|
|
130
|
-
for (const address of
|
|
135
|
+
for (const address of stakingAddresses) {
|
|
131
136
|
stakingPositions[address.toLowerCase()] = {
|
|
132
137
|
aaveV3: {},
|
|
133
138
|
morphoBlue: {},
|
|
@@ -141,14 +146,20 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
141
146
|
error: '',
|
|
142
147
|
data: {},
|
|
143
148
|
},
|
|
149
|
+
// Set by the sBOLD/yBOLD fetch below, whether it succeeds or fails.
|
|
150
|
+
liquityV2SBoldYBold: { error: '', data: null },
|
|
144
151
|
};
|
|
152
|
+
}
|
|
153
|
+
for (const address of rewardsAddresses) {
|
|
154
|
+
// merkl, spk, king and uniswap are set by their fetches below, whether they succeed or fail.
|
|
145
155
|
rewardsData[address.toLowerCase()] = {
|
|
146
|
-
merkl: {},
|
|
156
|
+
merkl: { error: '', data: null },
|
|
147
157
|
aaveV3: {},
|
|
148
158
|
spark: {},
|
|
149
|
-
spk: {},
|
|
150
|
-
king: {},
|
|
159
|
+
spk: { error: '', data: null },
|
|
160
|
+
king: { error: '', data: null },
|
|
151
161
|
ethena: {},
|
|
162
|
+
uniswap: { error: '', data: null },
|
|
152
163
|
};
|
|
153
164
|
}
|
|
154
165
|
yield Promise.allSettled([
|
|
@@ -224,7 +235,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
224
235
|
}
|
|
225
236
|
})),
|
|
226
237
|
// === STAKING DATA (independent of market data) ===
|
|
227
|
-
...
|
|
238
|
+
...stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
228
239
|
try {
|
|
229
240
|
if (!isFluidSupported)
|
|
230
241
|
return;
|
|
@@ -235,7 +246,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
235
246
|
stakingPositions[address.toLowerCase()].fluid = { error: `Error fetching Fluid lend data for address ${address}`, data: null };
|
|
236
247
|
}
|
|
237
248
|
})),
|
|
238
|
-
...
|
|
249
|
+
...stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
239
250
|
try {
|
|
240
251
|
if (!isMainnet)
|
|
241
252
|
return;
|
|
@@ -246,7 +257,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
246
257
|
stakingPositions[address.toLowerCase()].liquity = { error: `Error fetching Liquity staking data for address ${address}`, data: null };
|
|
247
258
|
}
|
|
248
259
|
})),
|
|
249
|
-
...
|
|
260
|
+
...stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
250
261
|
try {
|
|
251
262
|
if (!isMainnet)
|
|
252
263
|
return;
|
|
@@ -257,7 +268,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
257
268
|
stakingPositions[address.toLowerCase()].aaveV3 = { error: `Error fetching Aave V3 staking data for address ${address}`, data: null };
|
|
258
269
|
}
|
|
259
270
|
})),
|
|
260
|
-
...
|
|
271
|
+
...stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
261
272
|
try {
|
|
262
273
|
if (!isMainnet)
|
|
263
274
|
return;
|
|
@@ -269,7 +280,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
269
280
|
}
|
|
270
281
|
})),
|
|
271
282
|
// Liquity V2 staking
|
|
272
|
-
...liquityV2MarketsStaking.map(market =>
|
|
283
|
+
...liquityV2MarketsStaking.map(market => stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
273
284
|
try {
|
|
274
285
|
if (!isMainnet) {
|
|
275
286
|
stakingPositions[address.toLowerCase()].liquityV2[market.value] = { error: '', data: null };
|
|
@@ -288,13 +299,13 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
288
299
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
289
300
|
try {
|
|
290
301
|
if (!isMainnet) {
|
|
291
|
-
for (const address of
|
|
302
|
+
for (const address of rewardsAddresses) {
|
|
292
303
|
rewardsData[address.toLowerCase()].king = { error: '', data: [] };
|
|
293
304
|
}
|
|
294
305
|
return;
|
|
295
306
|
}
|
|
296
|
-
const kingRewards = yield (0, king_1.getKingRewards)(client, network,
|
|
297
|
-
for (const address of
|
|
307
|
+
const kingRewards = yield (0, king_1.getKingRewards)(client, network, rewardsAddresses);
|
|
308
|
+
for (const address of rewardsAddresses) {
|
|
298
309
|
const lowerAddress = address.toLowerCase();
|
|
299
310
|
rewardsData[lowerAddress].king = {
|
|
300
311
|
error: '',
|
|
@@ -304,7 +315,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
304
315
|
}
|
|
305
316
|
catch (error) {
|
|
306
317
|
console.error('Error fetching King rewards data in batch:', error);
|
|
307
|
-
for (const address of
|
|
318
|
+
for (const address of rewardsAddresses) {
|
|
308
319
|
rewardsData[address.toLowerCase()].king = {
|
|
309
320
|
error: 'Error fetching King rewards data in batch',
|
|
310
321
|
data: null,
|
|
@@ -316,13 +327,13 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
316
327
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
317
328
|
try {
|
|
318
329
|
if (!isMainnet) {
|
|
319
|
-
for (const address of
|
|
330
|
+
for (const address of rewardsAddresses) {
|
|
320
331
|
rewardsData[address.toLowerCase()].uniswap = { error: '', data: [] };
|
|
321
332
|
}
|
|
322
333
|
return;
|
|
323
334
|
}
|
|
324
|
-
const uniswapRewards = yield (0, uniswap_1.getUniswapRewards)(client, network,
|
|
325
|
-
for (const address of
|
|
335
|
+
const uniswapRewards = yield (0, uniswap_1.getUniswapRewards)(client, network, rewardsAddresses);
|
|
336
|
+
for (const address of rewardsAddresses) {
|
|
326
337
|
const lowerAddress = address.toLowerCase();
|
|
327
338
|
rewardsData[lowerAddress].uniswap = {
|
|
328
339
|
error: '',
|
|
@@ -332,7 +343,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
332
343
|
}
|
|
333
344
|
catch (error) {
|
|
334
345
|
console.error('Error fetching Uniswap rewards data in batch:', error);
|
|
335
|
-
for (const address of
|
|
346
|
+
for (const address of rewardsAddresses) {
|
|
336
347
|
rewardsData[address.toLowerCase()].uniswap = {
|
|
337
348
|
error: 'Error fetching Uniswap rewards data in batch',
|
|
338
349
|
data: null,
|
|
@@ -340,7 +351,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
340
351
|
}
|
|
341
352
|
}
|
|
342
353
|
}))(),
|
|
343
|
-
...sparkMarkets.map((market) =>
|
|
354
|
+
...sparkMarkets.map((market) => rewardsAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
344
355
|
try {
|
|
345
356
|
if (!isMainnet) {
|
|
346
357
|
rewardsData[address.toLowerCase()].spark[market.value] = { error: '', data: [] };
|
|
@@ -354,7 +365,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
354
365
|
rewardsData[address.toLowerCase()].spark[market.value] = { error: `Error fetching Spark rewards data for address ${address}`, data: null };
|
|
355
366
|
}
|
|
356
367
|
}))).flat(),
|
|
357
|
-
...
|
|
368
|
+
...rewardsAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
358
369
|
try {
|
|
359
370
|
const merklData = yield (0, aaveV3_2.getMerklUnclaimedRewards)(address, network);
|
|
360
371
|
rewardsData[address.toLowerCase()].merkl = { error: '', data: merklData };
|
|
@@ -364,27 +375,28 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
364
375
|
rewardsData[address.toLowerCase()].merkl = { error: `Error fetching Merkl rewards data for address ${address}`, data: null };
|
|
365
376
|
}
|
|
366
377
|
})),
|
|
367
|
-
...aaveV3Markets.map(market =>
|
|
378
|
+
...aaveV3Markets.map(market => rewardsAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
368
379
|
try {
|
|
369
380
|
const aaveData = yield (0, aaveV3_2.getUnclaimedRewardsForAllMarkets)(client, network, address, market.providerAddress);
|
|
370
381
|
rewardsData[address.toLowerCase()].aaveV3[market.value] = { error: '', data: aaveData };
|
|
371
382
|
}
|
|
372
383
|
catch (error) {
|
|
373
384
|
console.error(`Error fetching Aave V3 Merit rewards data for address ${address}:`, error);
|
|
374
|
-
|
|
385
|
+
// This market only: the other markets keep their rewards.
|
|
386
|
+
rewardsData[address.toLowerCase()].aaveV3[market.value] = { error: `Error fetching Aave V3 rewards data for address ${address} on market ${market.value}`, data: null };
|
|
375
387
|
}
|
|
376
388
|
}))).flat(),
|
|
377
389
|
// Batch Spark Airdrop rewards
|
|
378
390
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
379
391
|
try {
|
|
380
392
|
if (!isMainnet) {
|
|
381
|
-
for (const address of
|
|
393
|
+
for (const address of rewardsAddresses) {
|
|
382
394
|
rewardsData[address.toLowerCase()].spk = { error: '', data: [] };
|
|
383
395
|
}
|
|
384
396
|
return;
|
|
385
397
|
}
|
|
386
|
-
const sparkAirdropRewards = yield (0, spark_2.fetchSparkAirdropRewards)(client, network,
|
|
387
|
-
for (const address of
|
|
398
|
+
const sparkAirdropRewards = yield (0, spark_2.fetchSparkAirdropRewards)(client, network, rewardsAddresses);
|
|
399
|
+
for (const address of rewardsAddresses) {
|
|
388
400
|
const lowerAddress = address.toLowerCase();
|
|
389
401
|
rewardsData[lowerAddress].spk = {
|
|
390
402
|
error: '',
|
|
@@ -394,7 +406,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
394
406
|
}
|
|
395
407
|
catch (error) {
|
|
396
408
|
console.error('Error fetching Spark Airdrop rewards data in batch:', error);
|
|
397
|
-
for (const address of
|
|
409
|
+
for (const address of rewardsAddresses) {
|
|
398
410
|
rewardsData[address.toLowerCase()].spk = {
|
|
399
411
|
error: 'Error fetching Spark Airdrop rewards data in batch',
|
|
400
412
|
data: null,
|
|
@@ -407,8 +419,8 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
407
419
|
if (!isMainnet) {
|
|
408
420
|
return;
|
|
409
421
|
}
|
|
410
|
-
const ethenaAirdropRewards = yield (0, ethena_1.fetchEthenaAirdropRewards)(
|
|
411
|
-
for (const address of
|
|
422
|
+
const ethenaAirdropRewards = yield (0, ethena_1.fetchEthenaAirdropRewards)(rewardsAddresses);
|
|
423
|
+
for (const address of rewardsAddresses) {
|
|
412
424
|
const lowerAddress = address.toLowerCase();
|
|
413
425
|
rewardsData[lowerAddress].ethena = {
|
|
414
426
|
error: '',
|
|
@@ -418,7 +430,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
418
430
|
}
|
|
419
431
|
catch (error) {
|
|
420
432
|
console.error('Error fetching Ethena Airdrop rewards data:', error);
|
|
421
|
-
for (const address of
|
|
433
|
+
for (const address of rewardsAddresses) {
|
|
422
434
|
rewardsData[address.toLowerCase()].ethena = {
|
|
423
435
|
error: 'Error fetching Ethena Airdrop rewards data in batch',
|
|
424
436
|
data: null,
|
|
@@ -454,15 +466,16 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
454
466
|
try {
|
|
455
467
|
const [accDataPromise, earnDataPromise] = yield Promise.allSettled([
|
|
456
468
|
(0, morphoBlue_1._getMorphoBlueAccountData)(client, network, address, market, morphoMarketsData[market.value]),
|
|
457
|
-
(0, morphoBlue_1.getMorphoEarn)(client, network, address, market, morphoMarketsData[market.value]),
|
|
469
|
+
includeStaking ? (0, morphoBlue_1.getMorphoEarn)(client, network, address, market, morphoMarketsData[market.value]) : null,
|
|
458
470
|
]);
|
|
459
471
|
if (accDataPromise.status === 'rejected') {
|
|
460
472
|
console.error(`Error fetching MorphoBlue account data for address ${address} on market ${market.value}:`, accDataPromise.reason);
|
|
461
473
|
positions[address.toLowerCase()].morphoBlue[market.value] = { error: `Error fetching MorphoBlue account data for address ${address} on market ${market.value}`, data: null };
|
|
462
474
|
}
|
|
463
475
|
if (earnDataPromise.status === 'rejected') {
|
|
464
|
-
|
|
465
|
-
|
|
476
|
+
// An Earn failure belongs to the staking entry: the lending position is not the one that failed.
|
|
477
|
+
console.error(`Error fetching MorphoBlue earn data for address ${address} on market ${market.value}:`, earnDataPromise.reason);
|
|
478
|
+
stakingPositions[address.toLowerCase()].morphoBlue[market.value] = { error: `Error fetching MorphoBlue earn data for address ${address} on market ${market.value}`, data: null };
|
|
466
479
|
}
|
|
467
480
|
if (accDataPromise.status !== 'rejected') {
|
|
468
481
|
const accData = accDataPromise.value;
|
|
@@ -598,7 +611,7 @@ function getPortfolioData(provider_1, network_1, defaultProvider_1, addresses_1)
|
|
|
598
611
|
}
|
|
599
612
|
}))).flat(),
|
|
600
613
|
// liquity sBold/yBold and staking options
|
|
601
|
-
...
|
|
614
|
+
...stakingAddresses.map((address) => __awaiter(this, void 0, void 0, function* () {
|
|
602
615
|
try {
|
|
603
616
|
if (!isMainnet) {
|
|
604
617
|
stakingPositions[address.toLowerCase()].liquityV2SBoldYBold = { error: '', data: null };
|
package/cjs/types/aave.d.ts
CHANGED
|
@@ -198,3 +198,86 @@ export interface AaveHelperCommon {
|
|
|
198
198
|
selectedMarket: Partial<AaveMarketInfo>;
|
|
199
199
|
network?: NetworkNumber;
|
|
200
200
|
}
|
|
201
|
+
export interface SghoUserData {
|
|
202
|
+
shares: string;
|
|
203
|
+
balance: string;
|
|
204
|
+
maxDeposit: string;
|
|
205
|
+
maxWithdraw: string;
|
|
206
|
+
underlyingBalance: string;
|
|
207
|
+
}
|
|
208
|
+
export interface SghoData {
|
|
209
|
+
totalAssets: string;
|
|
210
|
+
totalSupply: string;
|
|
211
|
+
supplyCap: string;
|
|
212
|
+
/** Target savings rate as an APY percent (e.g. "4.25" for 4.25%). */
|
|
213
|
+
targetRate: string;
|
|
214
|
+
paused: boolean;
|
|
215
|
+
user: SghoUserData;
|
|
216
|
+
}
|
|
217
|
+
/** stkAAVE, stkGHO and sGHO of an address, from getStakeAaveData. */
|
|
218
|
+
export interface StakeAaveData {
|
|
219
|
+
activatedCooldown: string;
|
|
220
|
+
activatedCooldownAmount: string;
|
|
221
|
+
stkAaveRewardsBalance: string;
|
|
222
|
+
aaveRewardsBalance: string;
|
|
223
|
+
stkAaveBalance: string;
|
|
224
|
+
stkGhoBalance: string;
|
|
225
|
+
ghoMeritApy: string;
|
|
226
|
+
stkAaveApy: string;
|
|
227
|
+
sgho: SghoData;
|
|
228
|
+
}
|
|
229
|
+
export interface UmbrellaTokenInfo {
|
|
230
|
+
token: EthAddress;
|
|
231
|
+
/** USD, converted from the oracle's 8 decimals. */
|
|
232
|
+
price: string;
|
|
233
|
+
name: string;
|
|
234
|
+
symbol: string;
|
|
235
|
+
decimals: number;
|
|
236
|
+
}
|
|
237
|
+
export interface UmbrellaRewardTokenData {
|
|
238
|
+
rewardTokenData: UmbrellaTokenInfo;
|
|
239
|
+
maxEmissionPerSecond: bigint;
|
|
240
|
+
distributionEnd: bigint;
|
|
241
|
+
}
|
|
242
|
+
export interface UmbrellaStakingAccountData {
|
|
243
|
+
stakeUserBalance: string;
|
|
244
|
+
rewardsTokenUserData: {
|
|
245
|
+
reward: EthAddress;
|
|
246
|
+
currentReward: string;
|
|
247
|
+
}[];
|
|
248
|
+
userCooldownAmount: string;
|
|
249
|
+
userEndOfCooldown: bigint | string;
|
|
250
|
+
userWithdrawalWindow: bigint | string;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* One Umbrella stake token of an address, from getUmbrellaData: the view contracts' structs merged, with the amounts
|
|
254
|
+
* the app reads converted to decimal strings. The bigint fields are the views' raw values, as the SDK passes them.
|
|
255
|
+
*/
|
|
256
|
+
export interface UmbrellaStakingTokenData {
|
|
257
|
+
stakeTokenData: UmbrellaTokenInfo;
|
|
258
|
+
totalAssets: string;
|
|
259
|
+
targetLiquidity: string;
|
|
260
|
+
isStakeConfigured: boolean;
|
|
261
|
+
rewardsTokenData: UmbrellaRewardTokenData[];
|
|
262
|
+
stakeToken: EthAddress;
|
|
263
|
+
stakeUserBalance: bigint;
|
|
264
|
+
rewardsTokenUserData: {
|
|
265
|
+
reward: EthAddress;
|
|
266
|
+
currentReward: bigint;
|
|
267
|
+
}[];
|
|
268
|
+
stkToken: EthAddress;
|
|
269
|
+
totalShares: string;
|
|
270
|
+
stkUnderlyingToken: EthAddress;
|
|
271
|
+
aToken: EthAddress;
|
|
272
|
+
cooldownPeriod: bigint;
|
|
273
|
+
unstakeWindow: bigint;
|
|
274
|
+
stkTokenToWaTokenRate: string;
|
|
275
|
+
waTokenToATokenRate: string;
|
|
276
|
+
rewardsEmissionRates: string[];
|
|
277
|
+
userCooldownAmount: bigint;
|
|
278
|
+
userEndOfCooldown: bigint;
|
|
279
|
+
userWithdrawalWindow: bigint;
|
|
280
|
+
account: UmbrellaStakingAccountData;
|
|
281
|
+
}
|
|
282
|
+
/** Keyed by Umbrella stake (UmbrellaGHO, UmbrellaUSDC, UmbrellaUSDT, UmbrellaETH). */
|
|
283
|
+
export type UmbrellaStakingData = Record<string, UmbrellaStakingTokenData>;
|
package/cjs/types/fluid.d.ts
CHANGED
|
@@ -458,3 +458,16 @@ export interface FluidFTokenDataStructOutput {
|
|
|
458
458
|
rewardsRate: bigint;
|
|
459
459
|
withdrawable: bigint;
|
|
460
460
|
}
|
|
461
|
+
/** One Fluid lending (fToken) deposit of an address, from getAllUserEarnPositionsWithFTokens and getFluidDepositData. */
|
|
462
|
+
export interface FluidEarnPositionData {
|
|
463
|
+
fTokenAddress: string | undefined;
|
|
464
|
+
fTokenSymbol: string;
|
|
465
|
+
decimals: string;
|
|
466
|
+
totalDeposited: string;
|
|
467
|
+
withdrawable: string;
|
|
468
|
+
apy: string;
|
|
469
|
+
depositRate: string;
|
|
470
|
+
withdrawRate: string;
|
|
471
|
+
deposited: string;
|
|
472
|
+
depositedShares: string;
|
|
473
|
+
}
|
package/cjs/types/index.d.ts
CHANGED
package/cjs/types/index.js
CHANGED
package/cjs/types/liquity.d.ts
CHANGED
|
@@ -28,3 +28,15 @@ export interface LiquityTroveInfo {
|
|
|
28
28
|
debtInFront: string;
|
|
29
29
|
exposure: string;
|
|
30
30
|
}
|
|
31
|
+
/** LQTY staking and the LUSD stability pool deposit of an address, from getLiquityStakingData. */
|
|
32
|
+
export interface LiquityStakingData {
|
|
33
|
+
totalLUSDDeposited: string;
|
|
34
|
+
totalLQTYStaked: string;
|
|
35
|
+
stakedLQTY: string;
|
|
36
|
+
stakedLUSDBalance: string;
|
|
37
|
+
rewardETH: string;
|
|
38
|
+
rewardLUSD: string;
|
|
39
|
+
stabilityRewardETH: string;
|
|
40
|
+
stabilityRewardLQTY: string;
|
|
41
|
+
showStakingBalances: boolean;
|
|
42
|
+
}
|
package/cjs/types/liquityV2.d.ts
CHANGED
|
@@ -121,3 +121,27 @@ export interface LiquityV2TroveData {
|
|
|
121
121
|
lastInterestRateAdjTime: string;
|
|
122
122
|
exposure: string;
|
|
123
123
|
}
|
|
124
|
+
/** The stability pool deposit of an address in one market, from getLiquityV2Staking. */
|
|
125
|
+
export interface LiquityV2StakingData {
|
|
126
|
+
totalBOLDDeposited: string;
|
|
127
|
+
stakedBOLDBalance: string;
|
|
128
|
+
stabilityRewardColl: string;
|
|
129
|
+
stabilityRewardYield: string;
|
|
130
|
+
showStakingBalances: boolean;
|
|
131
|
+
debtTokenBalance: string;
|
|
132
|
+
stabilityPoolApy: string;
|
|
133
|
+
}
|
|
134
|
+
/** sBOLD, yBOLD and stYBOLD of an address, from getLiquitySAndYBold. */
|
|
135
|
+
export interface LiquityV2SBoldYBoldData {
|
|
136
|
+
spApy: string;
|
|
137
|
+
yBoldApy: string;
|
|
138
|
+
totalBoldDepositedSBold: string;
|
|
139
|
+
boldRateSBold: string;
|
|
140
|
+
maxWithdrawSBold: string;
|
|
141
|
+
totalBoldDepositedYBold: string;
|
|
142
|
+
boldRateYBold: string;
|
|
143
|
+
maxWithdrawYBold: string;
|
|
144
|
+
sBoldBalance: string;
|
|
145
|
+
yBoldBalance: string;
|
|
146
|
+
stYBoldBalance: string;
|
|
147
|
+
}
|