@defisaver/positions-sdk 2.1.24-dev-savings-2 → 2.1.24-dev-savings-4
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/fluid/index.js
CHANGED
|
@@ -1146,11 +1146,23 @@ exports._getAllFluidMarketDataChunked = _getAllFluidMarketDataChunked;
|
|
|
1146
1146
|
const getAllFluidMarketDataChunked = (network, provider) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports._getAllFluidMarketDataChunked)(network, (0, viem_1.getViemProvider)(provider, network, { batch: { multicall: true } })); });
|
|
1147
1147
|
exports.getAllFluidMarketDataChunked = getAllFluidMarketDataChunked;
|
|
1148
1148
|
const _getFluidTokenData = (provider, network, token) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1149
|
+
var _a, _b;
|
|
1149
1150
|
const view = (0, contracts_1.FluidViewContractViem)(provider, network);
|
|
1150
1151
|
const fTokenAddress = (0, markets_1.getFTokenAddress)(token, network);
|
|
1151
|
-
const data = yield
|
|
1152
|
-
|
|
1153
|
-
|
|
1152
|
+
const [data, rewardsApiResponse,] = yield Promise.all([
|
|
1153
|
+
yield view.read.getFTokenData([fTokenAddress]),
|
|
1154
|
+
fetch(`https://api.fluid.instadapp.io/v2/lending/${network}/tokens/${fTokenAddress}`),
|
|
1155
|
+
]);
|
|
1156
|
+
let rewardsData = { rewards: [] };
|
|
1157
|
+
if (!rewardsApiResponse.ok) {
|
|
1158
|
+
console.log('External API Failure: Failed to fetch fluid rewards APY');
|
|
1159
|
+
}
|
|
1160
|
+
else {
|
|
1161
|
+
rewardsData = yield rewardsApiResponse.json();
|
|
1162
|
+
}
|
|
1163
|
+
const supplyRate = new decimal_js_1.default((rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.supplyRate) || '0').div(100).toString();
|
|
1164
|
+
const rewardRates = ((_a = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.rewards) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => acc.add(new decimal_js_1.default(item.rate || '0').div(100)), new decimal_js_1.default(0))) || '0';
|
|
1165
|
+
const stakeRate = new decimal_js_1.default(((_b = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.asset) === null || _b === void 0 ? void 0 : _b.stakingApr) || '0').div(100).toString();
|
|
1154
1166
|
const decimals = data.decimals.toString();
|
|
1155
1167
|
const depositRate = new decimal_js_1.default((0, utils_1.getEthAmountForDecimals)(data.convertToShares.toString(), decimals)).toString();
|
|
1156
1168
|
const withdrawRate = new decimal_js_1.default((0, utils_1.getEthAmountForDecimals)(data.convertToAssets.toString(), decimals)).toString();
|
|
@@ -1160,7 +1172,7 @@ const _getFluidTokenData = (provider, network, token) => __awaiter(void 0, void
|
|
|
1160
1172
|
decimals,
|
|
1161
1173
|
totalDeposited: (0, utils_1.getEthAmountForDecimals)(data.totalAssets.toString(), decimals),
|
|
1162
1174
|
withdrawable: (0, utils_1.getEthAmountForDecimals)(data.withdrawable.toString(), decimals),
|
|
1163
|
-
apy: new decimal_js_1.default(supplyRate).
|
|
1175
|
+
apy: new decimal_js_1.default(supplyRate).plus(rewardRates).plus(stakeRate).toString(),
|
|
1164
1176
|
depositRate,
|
|
1165
1177
|
withdrawRate,
|
|
1166
1178
|
};
|
|
@@ -6,7 +6,7 @@ exports.MORPHO_VAULT_FLAGSHIP_ETH = {
|
|
|
6
6
|
type: types_1.MorphoVaultType.MorphoVaultFlagshipEth,
|
|
7
7
|
name: 'Flagship ETH',
|
|
8
8
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
9
|
-
asset: '
|
|
9
|
+
asset: 'WETH',
|
|
10
10
|
deploymentBlock: 18927491,
|
|
11
11
|
};
|
|
12
12
|
exports.MORPHO_VAULT_GAUNTLET_USDC_CORE = {
|
|
@@ -27,21 +27,21 @@ exports.MORPHO_VAULT_RE7_WETH = {
|
|
|
27
27
|
type: types_1.MorphoVaultType.MorphoVaultRe7Weth,
|
|
28
28
|
name: 'RE7 WETH',
|
|
29
29
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
30
|
-
asset: '
|
|
30
|
+
asset: 'WETH',
|
|
31
31
|
deploymentBlock: 19121118,
|
|
32
32
|
};
|
|
33
33
|
exports.MORPHO_VAULT_GAUNTLET_WETH_CORE = {
|
|
34
34
|
type: types_1.MorphoVaultType.MorphoVaultGauntletWETHCore,
|
|
35
35
|
name: 'Gauntlet WETH Core',
|
|
36
36
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
37
|
-
asset: '
|
|
37
|
+
asset: 'WETH',
|
|
38
38
|
deploymentBlock: 19541126,
|
|
39
39
|
};
|
|
40
40
|
exports.MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
|
|
41
41
|
type: types_1.MorphoVaultType.MorphoVaultGauntletWETHPrime,
|
|
42
42
|
name: 'Gauntlet WETH Prime',
|
|
43
43
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
44
|
-
asset: '
|
|
44
|
+
asset: 'WETH',
|
|
45
45
|
deploymentBlock: 19372149,
|
|
46
46
|
};
|
|
47
47
|
exports.MORPHO_VAULT_BOOSTED_USDC = {
|
package/esm/fluid/index.js
CHANGED
|
@@ -1130,11 +1130,23 @@ export const _getAllFluidMarketDataChunked = (network, provider) => __awaiter(vo
|
|
|
1130
1130
|
});
|
|
1131
1131
|
export const getAllFluidMarketDataChunked = (network, provider) => __awaiter(void 0, void 0, void 0, function* () { return _getAllFluidMarketDataChunked(network, getViemProvider(provider, network, { batch: { multicall: true } })); });
|
|
1132
1132
|
export const _getFluidTokenData = (provider, network, token) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1133
|
+
var _a, _b;
|
|
1133
1134
|
const view = FluidViewContractViem(provider, network);
|
|
1134
1135
|
const fTokenAddress = getFTokenAddress(token, network);
|
|
1135
|
-
const data = yield
|
|
1136
|
-
|
|
1137
|
-
|
|
1136
|
+
const [data, rewardsApiResponse,] = yield Promise.all([
|
|
1137
|
+
yield view.read.getFTokenData([fTokenAddress]),
|
|
1138
|
+
fetch(`https://api.fluid.instadapp.io/v2/lending/${network}/tokens/${fTokenAddress}`),
|
|
1139
|
+
]);
|
|
1140
|
+
let rewardsData = { rewards: [] };
|
|
1141
|
+
if (!rewardsApiResponse.ok) {
|
|
1142
|
+
console.log('External API Failure: Failed to fetch fluid rewards APY');
|
|
1143
|
+
}
|
|
1144
|
+
else {
|
|
1145
|
+
rewardsData = yield rewardsApiResponse.json();
|
|
1146
|
+
}
|
|
1147
|
+
const supplyRate = new Dec((rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.supplyRate) || '0').div(100).toString();
|
|
1148
|
+
const rewardRates = ((_a = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.rewards) === null || _a === void 0 ? void 0 : _a.reduce((acc, item) => acc.add(new Dec(item.rate || '0').div(100)), new Dec(0))) || '0';
|
|
1149
|
+
const stakeRate = new Dec(((_b = rewardsData === null || rewardsData === void 0 ? void 0 : rewardsData.asset) === null || _b === void 0 ? void 0 : _b.stakingApr) || '0').div(100).toString();
|
|
1138
1150
|
const decimals = data.decimals.toString();
|
|
1139
1151
|
const depositRate = new Dec(getEthAmountForDecimals(data.convertToShares.toString(), decimals)).toString();
|
|
1140
1152
|
const withdrawRate = new Dec(getEthAmountForDecimals(data.convertToAssets.toString(), decimals)).toString();
|
|
@@ -1144,7 +1156,7 @@ export const _getFluidTokenData = (provider, network, token) => __awaiter(void 0
|
|
|
1144
1156
|
decimals,
|
|
1145
1157
|
totalDeposited: getEthAmountForDecimals(data.totalAssets.toString(), decimals),
|
|
1146
1158
|
withdrawable: getEthAmountForDecimals(data.withdrawable.toString(), decimals),
|
|
1147
|
-
apy: new Dec(supplyRate).
|
|
1159
|
+
apy: new Dec(supplyRate).plus(rewardRates).plus(stakeRate).toString(),
|
|
1148
1160
|
depositRate,
|
|
1149
1161
|
withdrawRate,
|
|
1150
1162
|
};
|
|
@@ -3,7 +3,7 @@ export const MORPHO_VAULT_FLAGSHIP_ETH = {
|
|
|
3
3
|
type: MorphoVaultType.MorphoVaultFlagshipEth,
|
|
4
4
|
name: 'Flagship ETH',
|
|
5
5
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
6
|
-
asset: '
|
|
6
|
+
asset: 'WETH',
|
|
7
7
|
deploymentBlock: 18927491,
|
|
8
8
|
};
|
|
9
9
|
export const MORPHO_VAULT_GAUNTLET_USDC_CORE = {
|
|
@@ -24,21 +24,21 @@ export const MORPHO_VAULT_RE7_WETH = {
|
|
|
24
24
|
type: MorphoVaultType.MorphoVaultRe7Weth,
|
|
25
25
|
name: 'RE7 WETH',
|
|
26
26
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
27
|
-
asset: '
|
|
27
|
+
asset: 'WETH',
|
|
28
28
|
deploymentBlock: 19121118,
|
|
29
29
|
};
|
|
30
30
|
export const MORPHO_VAULT_GAUNTLET_WETH_CORE = {
|
|
31
31
|
type: MorphoVaultType.MorphoVaultGauntletWETHCore,
|
|
32
32
|
name: 'Gauntlet WETH Core',
|
|
33
33
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
34
|
-
asset: '
|
|
34
|
+
asset: 'WETH',
|
|
35
35
|
deploymentBlock: 19541126,
|
|
36
36
|
};
|
|
37
37
|
export const MORPHO_VAULT_GAUNTLET_WETH_PRIME = {
|
|
38
38
|
type: MorphoVaultType.MorphoVaultGauntletWETHPrime,
|
|
39
39
|
name: 'Gauntlet WETH Prime',
|
|
40
40
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
41
|
-
asset: '
|
|
41
|
+
asset: 'WETH',
|
|
42
42
|
deploymentBlock: 19372149,
|
|
43
43
|
};
|
|
44
44
|
export const MORPHO_VAULT_BOOSTED_USDC = {
|
package/package.json
CHANGED
package/src/fluid/index.ts
CHANGED
|
@@ -1526,9 +1526,22 @@ export const getAllFluidMarketDataChunked = async (
|
|
|
1526
1526
|
export const _getFluidTokenData = async (provider: Client, network: NetworkNumber, token: string) => {
|
|
1527
1527
|
const view = FluidViewContractViem(provider, network);
|
|
1528
1528
|
const fTokenAddress = getFTokenAddress(token, network);
|
|
1529
|
-
const
|
|
1530
|
-
|
|
1531
|
-
|
|
1529
|
+
const [
|
|
1530
|
+
data,
|
|
1531
|
+
rewardsApiResponse,
|
|
1532
|
+
] = await Promise.all([
|
|
1533
|
+
await view.read.getFTokenData([fTokenAddress]),
|
|
1534
|
+
fetch(`https://api.fluid.instadapp.io/v2/lending/${network}/tokens/${fTokenAddress}`),
|
|
1535
|
+
]);
|
|
1536
|
+
let rewardsData = { rewards: [] } as any;
|
|
1537
|
+
if (!rewardsApiResponse.ok) {
|
|
1538
|
+
console.log('External API Failure: Failed to fetch fluid rewards APY');
|
|
1539
|
+
} else {
|
|
1540
|
+
rewardsData = await rewardsApiResponse.json();
|
|
1541
|
+
}
|
|
1542
|
+
const supplyRate = new Dec(rewardsData?.supplyRate || '0').div(100).toString();
|
|
1543
|
+
const rewardRates = rewardsData?.rewards?.reduce((acc: Dec, item: any) => acc.add(new Dec(item.rate || '0').div(100)), new Dec(0)) || '0';
|
|
1544
|
+
const stakeRate = new Dec(rewardsData?.asset?.stakingApr || '0').div(100).toString();
|
|
1532
1545
|
const decimals = data.decimals.toString();
|
|
1533
1546
|
|
|
1534
1547
|
const depositRate = new Dec(getEthAmountForDecimals(data.convertToShares.toString(), decimals)).toString();
|
|
@@ -1540,7 +1553,7 @@ export const _getFluidTokenData = async (provider: Client, network: NetworkNumbe
|
|
|
1540
1553
|
decimals,
|
|
1541
1554
|
totalDeposited: getEthAmountForDecimals(data.totalAssets.toString(), decimals),
|
|
1542
1555
|
withdrawable: getEthAmountForDecimals(data.withdrawable.toString(), decimals),
|
|
1543
|
-
apy: new Dec(supplyRate).
|
|
1556
|
+
apy: new Dec(supplyRate).plus(rewardRates).plus(stakeRate).toString(),
|
|
1544
1557
|
depositRate,
|
|
1545
1558
|
withdrawRate,
|
|
1546
1559
|
};
|
|
@@ -4,7 +4,7 @@ export const MORPHO_VAULT_FLAGSHIP_ETH: MorphoVault = {
|
|
|
4
4
|
type: MorphoVaultType.MorphoVaultFlagshipEth,
|
|
5
5
|
name: 'Flagship ETH',
|
|
6
6
|
address: '0x38989BBA00BDF8181F4082995b3DEAe96163aC5D',
|
|
7
|
-
asset: '
|
|
7
|
+
asset: 'WETH',
|
|
8
8
|
deploymentBlock: 18927491,
|
|
9
9
|
};
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ export const MORPHO_VAULT_RE7_WETH: MorphoVault = {
|
|
|
28
28
|
type: MorphoVaultType.MorphoVaultRe7Weth,
|
|
29
29
|
name: 'RE7 WETH',
|
|
30
30
|
address: '0x78Fc2c2eD1A4cDb5402365934aE5648aDAd094d0',
|
|
31
|
-
asset: '
|
|
31
|
+
asset: 'WETH',
|
|
32
32
|
deploymentBlock: 19121118,
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ export const MORPHO_VAULT_GAUNTLET_WETH_CORE: MorphoVault = {
|
|
|
36
36
|
type: MorphoVaultType.MorphoVaultGauntletWETHCore,
|
|
37
37
|
name: 'Gauntlet WETH Core',
|
|
38
38
|
address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBCE0658',
|
|
39
|
-
asset: '
|
|
39
|
+
asset: 'WETH',
|
|
40
40
|
deploymentBlock: 19541126,
|
|
41
41
|
};
|
|
42
42
|
|
|
@@ -44,7 +44,7 @@ export const MORPHO_VAULT_GAUNTLET_WETH_PRIME: MorphoVault = {
|
|
|
44
44
|
type: MorphoVaultType.MorphoVaultGauntletWETHPrime,
|
|
45
45
|
name: 'Gauntlet WETH Prime',
|
|
46
46
|
address: '0x2371e134e3455e0593363cBF89d3b6cf53740618',
|
|
47
|
-
asset: '
|
|
47
|
+
asset: 'WETH',
|
|
48
48
|
deploymentBlock: 19372149,
|
|
49
49
|
};
|
|
50
50
|
|