@defisaver/positions-sdk 2.1.83 → 2.1.84-aave-v4-max-1-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/aaveV4/index.js +4 -0
- package/cjs/types/aaveV4.d.ts +2 -0
- package/esm/aaveV4/index.js +4 -0
- package/esm/types/aaveV4.d.ts +2 -0
- package/package.json +1 -1
- package/src/aaveV4/index.ts +6 -0
- package/src/types/aaveV4.ts +2 -0
package/cjs/aaveV4/index.js
CHANGED
|
@@ -128,6 +128,8 @@ const formatReserveAsset = (reserveAsset, hubAsset, reserveId, oracleDecimals, n
|
|
|
128
128
|
const premiumMultiplier = totalDrawnShares.isZero() ? new decimal_js_1.default(1) : totalDrawnShares.add(totalPremiumShares).div(totalDrawnShares);
|
|
129
129
|
const supplyApr = borrowApr.mul(hubUtilization).mul(premiumMultiplier).mul(new decimal_js_1.default(1).minus(liquidityFee));
|
|
130
130
|
const utilization = hubUtilization.times(100).toString();
|
|
131
|
+
const hubLiquidityRaw = hubAsset.liquidity;
|
|
132
|
+
const hubLiquidity = (0, utils_1.isMaxUint)(hubLiquidityRaw.toString()) ? hubLiquidityRaw.toString() : (0, tokens_1.assetAmountInEth)(hubLiquidityRaw.toString(), symbol);
|
|
131
133
|
return ({
|
|
132
134
|
symbol,
|
|
133
135
|
underlying: reserveAsset.underlying,
|
|
@@ -161,6 +163,7 @@ const formatReserveAsset = (reserveAsset, hubAsset, reserveId, oracleDecimals, n
|
|
|
161
163
|
canBeWithdrawn: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
162
164
|
canBePayBacked: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
163
165
|
utilization,
|
|
166
|
+
hubLiquidity,
|
|
164
167
|
});
|
|
165
168
|
});
|
|
166
169
|
function _getAaveV4SpokeData(provider_1, network_1, market_1) {
|
|
@@ -173,6 +176,7 @@ function _getAaveV4SpokeData(provider_1, network_1, market_1) {
|
|
|
173
176
|
hubsData[hubAddress] = yield fetchHubData(viewContract, hubAddress);
|
|
174
177
|
})),
|
|
175
178
|
]);
|
|
179
|
+
console.log(spokeData);
|
|
176
180
|
const reserveAssetsArray = yield Promise.all(spokeData[1].map((reserveAssetOnChain, index) => __awaiter(this, void 0, void 0, function* () { return formatReserveAsset(reserveAssetOnChain, hubsData[reserveAssetOnChain.hub].assets[reserveAssetOnChain.assetId], index, +spokeData[0].oracleDecimals.toString(), network); })));
|
|
177
181
|
return {
|
|
178
182
|
assetsData: reserveAssetsArray.reduce((acc, reserveAsset) => {
|
package/cjs/types/aaveV4.d.ts
CHANGED
|
@@ -105,6 +105,8 @@ export interface AaveV4ReserveAssetData {
|
|
|
105
105
|
canBeWithdrawn: boolean;
|
|
106
106
|
canBePayBacked: boolean;
|
|
107
107
|
utilization: string;
|
|
108
|
+
/** Hub `liquidity` for this assetId (underlying amount), used for pool-level borrow/withdraw limits */
|
|
109
|
+
hubLiquidity: string;
|
|
108
110
|
}
|
|
109
111
|
export type AaveV4AssetsData = Record<string, AaveV4ReserveAssetData>;
|
|
110
112
|
export interface AaveV4UsedReserveAsset {
|
package/esm/aaveV4/index.js
CHANGED
|
@@ -85,6 +85,8 @@ const formatReserveAsset = (reserveAsset, hubAsset, reserveId, oracleDecimals, n
|
|
|
85
85
|
const premiumMultiplier = totalDrawnShares.isZero() ? new Dec(1) : totalDrawnShares.add(totalPremiumShares).div(totalDrawnShares);
|
|
86
86
|
const supplyApr = borrowApr.mul(hubUtilization).mul(premiumMultiplier).mul(new Dec(1).minus(liquidityFee));
|
|
87
87
|
const utilization = hubUtilization.times(100).toString();
|
|
88
|
+
const hubLiquidityRaw = hubAsset.liquidity;
|
|
89
|
+
const hubLiquidity = isMaxUint(hubLiquidityRaw.toString()) ? hubLiquidityRaw.toString() : assetAmountInEth(hubLiquidityRaw.toString(), symbol);
|
|
88
90
|
return ({
|
|
89
91
|
symbol,
|
|
90
92
|
underlying: reserveAsset.underlying,
|
|
@@ -118,6 +120,7 @@ const formatReserveAsset = (reserveAsset, hubAsset, reserveId, oracleDecimals, n
|
|
|
118
120
|
canBeWithdrawn: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
119
121
|
canBePayBacked: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
120
122
|
utilization,
|
|
123
|
+
hubLiquidity,
|
|
121
124
|
});
|
|
122
125
|
});
|
|
123
126
|
export function _getAaveV4SpokeData(provider_1, network_1, market_1) {
|
|
@@ -130,6 +133,7 @@ export function _getAaveV4SpokeData(provider_1, network_1, market_1) {
|
|
|
130
133
|
hubsData[hubAddress] = yield fetchHubData(viewContract, hubAddress);
|
|
131
134
|
})),
|
|
132
135
|
]);
|
|
136
|
+
console.log(spokeData);
|
|
133
137
|
const reserveAssetsArray = yield Promise.all(spokeData[1].map((reserveAssetOnChain, index) => __awaiter(this, void 0, void 0, function* () { return formatReserveAsset(reserveAssetOnChain, hubsData[reserveAssetOnChain.hub].assets[reserveAssetOnChain.assetId], index, +spokeData[0].oracleDecimals.toString(), network); })));
|
|
134
138
|
return {
|
|
135
139
|
assetsData: reserveAssetsArray.reduce((acc, reserveAsset) => {
|
package/esm/types/aaveV4.d.ts
CHANGED
|
@@ -105,6 +105,8 @@ export interface AaveV4ReserveAssetData {
|
|
|
105
105
|
canBeWithdrawn: boolean;
|
|
106
106
|
canBePayBacked: boolean;
|
|
107
107
|
utilization: string;
|
|
108
|
+
/** Hub `liquidity` for this assetId (underlying amount), used for pool-level borrow/withdraw limits */
|
|
109
|
+
hubLiquidity: string;
|
|
108
110
|
}
|
|
109
111
|
export type AaveV4AssetsData = Record<string, AaveV4ReserveAssetData>;
|
|
110
112
|
export interface AaveV4UsedReserveAsset {
|
package/package.json
CHANGED
package/src/aaveV4/index.ts
CHANGED
|
@@ -99,6 +99,9 @@ const formatReserveAsset = async (reserveAsset: AaveV4ReserveAssetOnChain, hubAs
|
|
|
99
99
|
const supplyApr = borrowApr.mul(hubUtilization).mul(premiumMultiplier).mul(new Dec(1).minus(liquidityFee));
|
|
100
100
|
const utilization = hubUtilization.times(100).toString();
|
|
101
101
|
|
|
102
|
+
const hubLiquidityRaw = hubAsset.liquidity;
|
|
103
|
+
const hubLiquidity = isMaxUint(hubLiquidityRaw.toString()) ? hubLiquidityRaw.toString() : assetAmountInEth(hubLiquidityRaw.toString(), symbol);
|
|
104
|
+
|
|
102
105
|
return ({
|
|
103
106
|
symbol,
|
|
104
107
|
underlying: reserveAsset.underlying,
|
|
@@ -132,6 +135,7 @@ const formatReserveAsset = async (reserveAsset: AaveV4ReserveAssetOnChain, hubAs
|
|
|
132
135
|
canBeWithdrawn: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
133
136
|
canBePayBacked: reserveAsset.spokeActive && !reserveAsset.spokeHalted && !reserveAsset.paused,
|
|
134
137
|
utilization,
|
|
138
|
+
hubLiquidity,
|
|
135
139
|
});
|
|
136
140
|
};
|
|
137
141
|
|
|
@@ -146,6 +150,8 @@ export async function _getAaveV4SpokeData(provider: Client, network: NetworkNumb
|
|
|
146
150
|
}),
|
|
147
151
|
]);
|
|
148
152
|
|
|
153
|
+
console.log(spokeData);
|
|
154
|
+
|
|
149
155
|
const reserveAssetsArray = await Promise.all(spokeData[1].map(async (reserveAssetOnChain: AaveV4ReserveAssetOnChain, index: number) => formatReserveAsset(reserveAssetOnChain, hubsData[reserveAssetOnChain.hub].assets[reserveAssetOnChain.assetId], index, +spokeData[0].oracleDecimals.toString(), network)));
|
|
150
156
|
|
|
151
157
|
return {
|
package/src/types/aaveV4.ts
CHANGED
|
@@ -116,6 +116,8 @@ export interface AaveV4ReserveAssetData {
|
|
|
116
116
|
canBeWithdrawn: boolean;
|
|
117
117
|
canBePayBacked: boolean;
|
|
118
118
|
utilization: string;
|
|
119
|
+
/** Hub `liquidity` for this assetId (underlying amount), used for pool-level borrow/withdraw limits */
|
|
120
|
+
hubLiquidity: string,
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
export type AaveV4AssetsData = Record<string, AaveV4ReserveAssetData>;
|