@defisaver/positions-sdk 2.1.43-aave-v4-dev-5 → 2.1.43-aave-v4-dev-6
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 +2 -0
- package/cjs/helpers/aaveV4Helpers/index.d.ts +4 -2
- package/cjs/helpers/aaveV4Helpers/index.js +6 -6
- package/cjs/types/aaveV4.d.ts +1 -0
- package/esm/aaveV4/index.js +2 -0
- package/esm/helpers/aaveV4Helpers/index.d.ts +4 -2
- package/esm/helpers/aaveV4Helpers/index.js +4 -5
- package/esm/types/aaveV4.d.ts +1 -0
- package/package.json +1 -1
- package/src/aaveV4/index.ts +2 -0
- package/src/helpers/aaveV4Helpers/index.ts +9 -8
- package/src/types/aaveV4.ts +1 -0
package/cjs/aaveV4/index.js
CHANGED
|
@@ -146,6 +146,7 @@ function _getAaveV4AccountData(provider_1, network_1, spokeData_1, address_1) {
|
|
|
146
146
|
isSupplied: !new decimal_js_1.default(supplied).eq(0),
|
|
147
147
|
isBorrowed: usedReserveAsset.isBorrowing,
|
|
148
148
|
collateral: usedReserveAsset.isUsingAsCollateral,
|
|
149
|
+
collateralFactor: new decimal_js_1.default(usedReserveAsset.collateralFactor).div(10000).toNumber(),
|
|
149
150
|
};
|
|
150
151
|
return acc;
|
|
151
152
|
}, {});
|
|
@@ -154,6 +155,7 @@ function _getAaveV4AccountData(provider_1, network_1, spokeData_1, address_1) {
|
|
|
154
155
|
usedAssets,
|
|
155
156
|
assetsData: spokeData.assetsData,
|
|
156
157
|
network,
|
|
158
|
+
useUserCollateralFactor: true,
|
|
157
159
|
}));
|
|
158
160
|
});
|
|
159
161
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { AaveV4AggregatedPositionData, AaveV4AssetsData, AaveV4UsedReserveAssets } from '../../types';
|
|
1
|
+
import { AaveV4AggregatedPositionData, AaveV4AssetsData, AaveV4ReserveAssetData, AaveV4UsedReserveAsset, AaveV4UsedReserveAssets } from '../../types';
|
|
2
2
|
import { NetworkNumber } from '../../types/common';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const aaveV4GetCollateralFactor: (assetData: AaveV4ReserveAssetData, usedAssetData: AaveV4UsedReserveAsset, useUserCollateralFactor?: boolean) => number;
|
|
4
|
+
export declare const aaveV4GetAggregatedPositionData: ({ usedAssets, assetsData, network, useUserCollateralFactor, }: {
|
|
4
5
|
usedAssets: AaveV4UsedReserveAssets;
|
|
5
6
|
assetsData: AaveV4AssetsData;
|
|
6
7
|
network: NetworkNumber;
|
|
8
|
+
useUserCollateralFactor?: boolean;
|
|
7
9
|
}) => AaveV4AggregatedPositionData;
|
|
@@ -3,18 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.aaveV4GetAggregatedPositionData = void 0;
|
|
6
|
+
exports.aaveV4GetAggregatedPositionData = exports.aaveV4GetCollateralFactor = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const moneymarket_1 = require("../../moneymarket");
|
|
9
|
-
const
|
|
9
|
+
const aaveV4GetCollateralFactor = (assetData, usedAssetData, useUserCollateralFactor = false) => (useUserCollateralFactor ? usedAssetData.collateralFactor : assetData.collateralFactor);
|
|
10
|
+
exports.aaveV4GetCollateralFactor = aaveV4GetCollateralFactor;
|
|
11
|
+
const aaveV4GetAggregatedPositionData = ({ usedAssets, assetsData, network, useUserCollateralFactor = false, }) => {
|
|
10
12
|
var _a;
|
|
11
13
|
const payload = {};
|
|
12
14
|
payload.suppliedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied }) => isSupplied, ({ suppliedUsd }) => suppliedUsd);
|
|
13
15
|
payload.suppliedCollateralUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ suppliedUsd }) => suppliedUsd);
|
|
14
|
-
payload.borrowLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd, reserveId }) => new decimal_js_1.default(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`]
|
|
15
|
-
payload.liquidationLimitUsd =
|
|
16
|
-
// TODO: Verify if liquidation factor is available in Aave V4, currently using collateralFactor as placeholder
|
|
17
|
-
({ symbol, suppliedUsd, reserveId }) => new decimal_js_1.default(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`].collateralFactor));
|
|
16
|
+
payload.borrowLimitUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd, reserveId }) => new decimal_js_1.default(suppliedUsd).mul((0, exports.aaveV4GetCollateralFactor)(assetsData[`${symbol}-${reserveId}`], usedAssets[`${symbol}-${reserveId}`], useUserCollateralFactor)));
|
|
17
|
+
payload.liquidationLimitUsd = payload.borrowLimitUsd;
|
|
18
18
|
payload.borrowedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isBorrowed }) => isBorrowed, ({ borrowedUsd }) => borrowedUsd);
|
|
19
19
|
payload.drawnUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isBorrowed }) => isBorrowed, ({ drawnUsd }) => drawnUsd);
|
|
20
20
|
payload.premiumUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isBorrowed }) => isBorrowed, ({ premiumUsd }) => premiumUsd);
|
package/cjs/types/aaveV4.d.ts
CHANGED
package/esm/aaveV4/index.js
CHANGED
|
@@ -137,6 +137,7 @@ export function _getAaveV4AccountData(provider_1, network_1, spokeData_1, addres
|
|
|
137
137
|
isSupplied: !new Dec(supplied).eq(0),
|
|
138
138
|
isBorrowed: usedReserveAsset.isBorrowing,
|
|
139
139
|
collateral: usedReserveAsset.isUsingAsCollateral,
|
|
140
|
+
collateralFactor: new Dec(usedReserveAsset.collateralFactor).div(10000).toNumber(),
|
|
140
141
|
};
|
|
141
142
|
return acc;
|
|
142
143
|
}, {});
|
|
@@ -145,6 +146,7 @@ export function _getAaveV4AccountData(provider_1, network_1, spokeData_1, addres
|
|
|
145
146
|
usedAssets,
|
|
146
147
|
assetsData: spokeData.assetsData,
|
|
147
148
|
network,
|
|
149
|
+
useUserCollateralFactor: true,
|
|
148
150
|
}));
|
|
149
151
|
});
|
|
150
152
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { AaveV4AggregatedPositionData, AaveV4AssetsData, AaveV4UsedReserveAssets } from '../../types';
|
|
1
|
+
import { AaveV4AggregatedPositionData, AaveV4AssetsData, AaveV4ReserveAssetData, AaveV4UsedReserveAsset, AaveV4UsedReserveAssets } from '../../types';
|
|
2
2
|
import { NetworkNumber } from '../../types/common';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const aaveV4GetCollateralFactor: (assetData: AaveV4ReserveAssetData, usedAssetData: AaveV4UsedReserveAsset, useUserCollateralFactor?: boolean) => number;
|
|
4
|
+
export declare const aaveV4GetAggregatedPositionData: ({ usedAssets, assetsData, network, useUserCollateralFactor, }: {
|
|
4
5
|
usedAssets: AaveV4UsedReserveAssets;
|
|
5
6
|
assetsData: AaveV4AssetsData;
|
|
6
7
|
network: NetworkNumber;
|
|
8
|
+
useUserCollateralFactor?: boolean;
|
|
7
9
|
}) => AaveV4AggregatedPositionData;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
2
|
import { calcLeverageLiqPrice, getAssetsTotal, isLeveragedPos } from '../../moneymarket';
|
|
3
|
-
export const
|
|
3
|
+
export const aaveV4GetCollateralFactor = (assetData, usedAssetData, useUserCollateralFactor = false) => (useUserCollateralFactor ? usedAssetData.collateralFactor : assetData.collateralFactor);
|
|
4
|
+
export const aaveV4GetAggregatedPositionData = ({ usedAssets, assetsData, network, useUserCollateralFactor = false, }) => {
|
|
4
5
|
var _a;
|
|
5
6
|
const payload = {};
|
|
6
7
|
payload.suppliedUsd = getAssetsTotal(usedAssets, ({ isSupplied }) => isSupplied, ({ suppliedUsd }) => suppliedUsd);
|
|
7
8
|
payload.suppliedCollateralUsd = getAssetsTotal(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ suppliedUsd }) => suppliedUsd);
|
|
8
|
-
payload.borrowLimitUsd = getAssetsTotal(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd, reserveId }) => new Dec(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`]
|
|
9
|
-
payload.liquidationLimitUsd =
|
|
10
|
-
// TODO: Verify if liquidation factor is available in Aave V4, currently using collateralFactor as placeholder
|
|
11
|
-
({ symbol, suppliedUsd, reserveId }) => new Dec(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`].collateralFactor));
|
|
9
|
+
payload.borrowLimitUsd = getAssetsTotal(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd, reserveId }) => new Dec(suppliedUsd).mul(aaveV4GetCollateralFactor(assetsData[`${symbol}-${reserveId}`], usedAssets[`${symbol}-${reserveId}`], useUserCollateralFactor)));
|
|
10
|
+
payload.liquidationLimitUsd = payload.borrowLimitUsd;
|
|
12
11
|
payload.borrowedUsd = getAssetsTotal(usedAssets, ({ isBorrowed }) => isBorrowed, ({ borrowedUsd }) => borrowedUsd);
|
|
13
12
|
payload.drawnUsd = getAssetsTotal(usedAssets, ({ isBorrowed }) => isBorrowed, ({ drawnUsd }) => drawnUsd);
|
|
14
13
|
payload.premiumUsd = getAssetsTotal(usedAssets, ({ isBorrowed }) => isBorrowed, ({ premiumUsd }) => premiumUsd);
|
package/esm/types/aaveV4.d.ts
CHANGED
package/package.json
CHANGED
package/src/aaveV4/index.ts
CHANGED
|
@@ -146,6 +146,7 @@ export async function _getAaveV4AccountData(provider: Client, network: NetworkNu
|
|
|
146
146
|
isSupplied: !new Dec(supplied).eq(0),
|
|
147
147
|
isBorrowed: usedReserveAsset.isBorrowing,
|
|
148
148
|
collateral: usedReserveAsset.isUsingAsCollateral,
|
|
149
|
+
collateralFactor: new Dec(usedReserveAsset.collateralFactor).div(10000).toNumber(),
|
|
149
150
|
};
|
|
150
151
|
return acc;
|
|
151
152
|
}, {});
|
|
@@ -157,6 +158,7 @@ export async function _getAaveV4AccountData(provider: Client, network: NetworkNu
|
|
|
157
158
|
usedAssets,
|
|
158
159
|
assetsData: spokeData.assetsData,
|
|
159
160
|
network,
|
|
161
|
+
useUserCollateralFactor: true,
|
|
160
162
|
}),
|
|
161
163
|
};
|
|
162
164
|
}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import Dec from 'decimal.js';
|
|
2
2
|
import { calcLeverageLiqPrice, getAssetsTotal, isLeveragedPos } from '../../moneymarket';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
AaveV4AggregatedPositionData, AaveV4AssetsData, AaveV4ReserveAssetData, AaveV4UsedReserveAsset, AaveV4UsedReserveAssets,
|
|
5
|
+
} from '../../types';
|
|
4
6
|
import { NetworkNumber } from '../../types/common';
|
|
5
7
|
|
|
8
|
+
export const aaveV4GetCollateralFactor = (assetData: AaveV4ReserveAssetData, usedAssetData: AaveV4UsedReserveAsset, useUserCollateralFactor: boolean = false): number => (useUserCollateralFactor ? usedAssetData.collateralFactor : assetData.collateralFactor);
|
|
9
|
+
|
|
6
10
|
export const aaveV4GetAggregatedPositionData = ({
|
|
7
11
|
usedAssets,
|
|
8
12
|
assetsData,
|
|
9
13
|
network,
|
|
14
|
+
useUserCollateralFactor = false,
|
|
10
15
|
}: {
|
|
11
16
|
usedAssets: AaveV4UsedReserveAssets,
|
|
12
17
|
assetsData: AaveV4AssetsData,
|
|
13
18
|
network: NetworkNumber,
|
|
19
|
+
useUserCollateralFactor?: boolean,
|
|
14
20
|
}): AaveV4AggregatedPositionData => {
|
|
15
21
|
const payload = {} as AaveV4AggregatedPositionData;
|
|
16
22
|
payload.suppliedUsd = getAssetsTotal(usedAssets, ({ isSupplied }: { isSupplied: boolean }) => isSupplied, ({ suppliedUsd }: { suppliedUsd: string }) => suppliedUsd);
|
|
@@ -18,14 +24,9 @@ export const aaveV4GetAggregatedPositionData = ({
|
|
|
18
24
|
payload.borrowLimitUsd = getAssetsTotal(
|
|
19
25
|
usedAssets,
|
|
20
26
|
({ isSupplied, collateral }: { isSupplied: boolean, collateral: string }) => isSupplied && collateral,
|
|
21
|
-
({ symbol, suppliedUsd, reserveId }: { symbol: string, suppliedUsd: string, reserveId: number }) => new Dec(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`]
|
|
22
|
-
);
|
|
23
|
-
payload.liquidationLimitUsd = getAssetsTotal(
|
|
24
|
-
usedAssets,
|
|
25
|
-
({ isSupplied, collateral }: { isSupplied: boolean, collateral: string }) => isSupplied && collateral,
|
|
26
|
-
// TODO: Verify if liquidation factor is available in Aave V4, currently using collateralFactor as placeholder
|
|
27
|
-
({ symbol, suppliedUsd, reserveId }: { symbol: string, suppliedUsd: string, reserveId: number }) => new Dec(suppliedUsd).mul(assetsData[`${symbol}-${reserveId}`].collateralFactor),
|
|
27
|
+
({ symbol, suppliedUsd, reserveId }: { symbol: string, suppliedUsd: string, reserveId: number }) => new Dec(suppliedUsd).mul(aaveV4GetCollateralFactor(assetsData[`${symbol}-${reserveId}`], usedAssets[`${symbol}-${reserveId}`], useUserCollateralFactor)),
|
|
28
28
|
);
|
|
29
|
+
payload.liquidationLimitUsd = payload.borrowLimitUsd;
|
|
29
30
|
payload.borrowedUsd = getAssetsTotal(usedAssets, ({ isBorrowed }: { isBorrowed: boolean }) => isBorrowed, ({ borrowedUsd }: { borrowedUsd: string }) => borrowedUsd);
|
|
30
31
|
payload.drawnUsd = getAssetsTotal(usedAssets, ({ isBorrowed }: { isBorrowed: boolean }) => isBorrowed, ({ drawnUsd }: { drawnUsd: string }) => drawnUsd);
|
|
31
32
|
payload.premiumUsd = getAssetsTotal(usedAssets, ({ isBorrowed }: { isBorrowed: boolean }) => isBorrowed, ({ premiumUsd }: { premiumUsd: string }) => premiumUsd);
|