@defisaver/positions-sdk 2.1.169-custom-fetching-dev → 2.1.169-custom-fetching-3-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/aaveV2/index.d.ts +4 -4
- package/cjs/aaveV2/index.js +7 -7
- package/cjs/aaveV3/index.d.ts +4 -3
- package/cjs/aaveV3/index.js +14 -10
- package/cjs/aaveV3/merkl.d.ts +5 -1
- package/cjs/aaveV3/merkl.js +8 -3
- package/cjs/aaveV4/index.d.ts +4 -3
- package/cjs/aaveV4/index.js +19 -16
- package/cjs/aaveV4/merkl.d.ts +10 -2
- package/cjs/aaveV4/merkl.js +15 -6
- package/cjs/claiming/aaveV3.d.ts +2 -2
- package/cjs/claiming/aaveV3.js +5 -4
- package/cjs/claiming/king.d.ts +2 -2
- package/cjs/claiming/king.js +3 -2
- package/cjs/claiming/spark.d.ts +3 -3
- package/cjs/claiming/spark.js +8 -7
- package/cjs/claiming/uniswap.d.ts +2 -2
- package/cjs/claiming/uniswap.js +3 -2
- package/cjs/compoundV2/index.d.ts +4 -4
- package/cjs/compoundV2/index.js +9 -9
- package/cjs/compoundV3/index.d.ts +5 -4
- package/cjs/compoundV3/index.js +17 -13
- package/cjs/compoundV3/merkl.d.ts +1 -1
- package/cjs/compoundV3/merkl.js +2 -5
- package/cjs/curveUsd/index.d.ts +5 -5
- package/cjs/curveUsd/index.js +17 -17
- package/cjs/fluid/index.d.ts +23 -22
- package/cjs/fluid/index.js +75 -72
- package/cjs/fluid/merkl.d.ts +5 -3
- package/cjs/fluid/merkl.js +11 -6
- package/cjs/liquity/index.d.ts +4 -4
- package/cjs/liquity/index.js +23 -23
- package/cjs/liquityV2/index.d.ts +10 -10
- package/cjs/liquityV2/index.js +59 -59
- package/cjs/llamaLend/index.d.ts +5 -5
- package/cjs/llamaLend/index.js +13 -13
- package/cjs/maker/index.d.ts +6 -6
- package/cjs/maker/index.js +16 -16
- package/cjs/morphoBlue/index.d.ts +7 -7
- package/cjs/morphoBlue/index.js +28 -26
- package/cjs/morphoBlue/merkl.d.ts +5 -3
- package/cjs/morphoBlue/merkl.js +6 -8
- package/cjs/morphoMidnight/index.d.ts +5 -5
- package/cjs/morphoMidnight/index.js +18 -18
- package/cjs/portfolio/customDeFiData.js +45 -40
- package/cjs/services/merkl.d.ts +36 -2
- package/cjs/services/merkl.js +142 -19
- package/cjs/services/priceService.d.ts +12 -12
- package/cjs/services/priceService.js +30 -29
- package/cjs/services/viem.d.ts +10 -2
- package/cjs/services/viem.js +27 -1
- package/cjs/spark/index.d.ts +4 -4
- package/cjs/spark/index.js +9 -9
- package/cjs/types/merkl.d.ts +18 -0
- package/cjs/types/portfolio.d.ts +2 -0
- package/cjs/umbrella/index.d.ts +2 -2
- package/cjs/umbrella/index.js +5 -4
- package/esm/aaveV2/index.d.ts +4 -4
- package/esm/aaveV2/index.js +8 -8
- package/esm/aaveV3/index.d.ts +4 -3
- package/esm/aaveV3/index.js +15 -11
- package/esm/aaveV3/merkl.d.ts +5 -1
- package/esm/aaveV3/merkl.js +9 -4
- package/esm/aaveV4/index.d.ts +4 -3
- package/esm/aaveV4/index.js +20 -17
- package/esm/aaveV4/merkl.d.ts +10 -2
- package/esm/aaveV4/merkl.js +16 -7
- package/esm/claiming/aaveV3.d.ts +2 -2
- package/esm/claiming/aaveV3.js +5 -4
- package/esm/claiming/king.d.ts +2 -2
- package/esm/claiming/king.js +3 -2
- package/esm/claiming/spark.d.ts +3 -3
- package/esm/claiming/spark.js +8 -7
- package/esm/claiming/uniswap.d.ts +2 -2
- package/esm/claiming/uniswap.js +3 -2
- package/esm/compoundV2/index.d.ts +4 -4
- package/esm/compoundV2/index.js +9 -9
- package/esm/compoundV3/index.d.ts +5 -4
- package/esm/compoundV3/index.js +19 -15
- package/esm/compoundV3/merkl.d.ts +1 -1
- package/esm/compoundV3/merkl.js +3 -6
- package/esm/curveUsd/index.d.ts +5 -5
- package/esm/curveUsd/index.js +17 -17
- package/esm/fluid/index.d.ts +23 -22
- package/esm/fluid/index.js +76 -73
- package/esm/fluid/merkl.d.ts +5 -3
- package/esm/fluid/merkl.js +12 -7
- package/esm/liquity/index.d.ts +4 -4
- package/esm/liquity/index.js +23 -23
- package/esm/liquityV2/index.d.ts +10 -10
- package/esm/liquityV2/index.js +60 -60
- package/esm/llamaLend/index.d.ts +5 -5
- package/esm/llamaLend/index.js +13 -13
- package/esm/maker/index.d.ts +6 -6
- package/esm/maker/index.js +16 -16
- package/esm/morphoBlue/index.d.ts +7 -7
- package/esm/morphoBlue/index.js +29 -27
- package/esm/morphoBlue/merkl.d.ts +5 -3
- package/esm/morphoBlue/merkl.js +7 -9
- package/esm/morphoMidnight/index.d.ts +5 -5
- package/esm/morphoMidnight/index.js +18 -18
- package/esm/portfolio/customDeFiData.js +47 -42
- package/esm/services/merkl.d.ts +36 -2
- package/esm/services/merkl.js +136 -18
- package/esm/services/priceService.d.ts +12 -12
- package/esm/services/priceService.js +31 -30
- package/esm/services/viem.d.ts +10 -2
- package/esm/services/viem.js +25 -0
- package/esm/spark/index.d.ts +4 -4
- package/esm/spark/index.js +10 -10
- package/esm/types/merkl.d.ts +18 -0
- package/esm/types/portfolio.d.ts +2 -0
- package/esm/umbrella/index.d.ts +2 -2
- package/esm/umbrella/index.js +5 -4
- package/package.json +1 -1
- package/src/aaveV2/index.ts +7 -7
- package/src/aaveV3/index.ts +15 -11
- package/src/aaveV3/merkl.ts +9 -4
- package/src/aaveV4/index.ts +19 -16
- package/src/aaveV4/merkl.ts +16 -7
- package/src/claiming/aaveV3.ts +5 -3
- package/src/claiming/king.ts +6 -3
- package/src/claiming/spark.ts +9 -6
- package/src/claiming/uniswap.ts +4 -3
- package/src/compoundV2/index.ts +10 -9
- package/src/compoundV3/index.ts +20 -14
- package/src/compoundV3/merkl.ts +5 -4
- package/src/curveUsd/index.ts +19 -17
- package/src/fluid/index.ts +88 -70
- package/src/fluid/merkl.ts +12 -7
- package/src/liquity/index.ts +23 -23
- package/src/liquityV2/index.ts +64 -56
- package/src/llamaLend/index.ts +15 -13
- package/src/maker/index.ts +19 -16
- package/src/morphoBlue/index.ts +23 -20
- package/src/morphoBlue/merkl.ts +9 -6
- package/src/morphoMidnight/index.ts +13 -13
- package/src/portfolio/customDeFiData.ts +48 -41
- package/src/services/merkl.ts +152 -19
- package/src/services/priceService.ts +33 -30
- package/src/services/viem.ts +16 -0
- package/src/spark/index.ts +11 -8
- package/src/types/merkl.ts +20 -0
- package/src/types/portfolio.ts +2 -0
- package/src/umbrella/index.ts +6 -5
package/cjs/compoundV2/index.js
CHANGED
|
@@ -24,10 +24,10 @@ const markets_1 = require("../markets");
|
|
|
24
24
|
const compoundHelpers_1 = require("../helpers/compoundHelpers");
|
|
25
25
|
const viem_1 = require("../services/viem");
|
|
26
26
|
const compAddress = '0xc00e94cb662c3520282e6f5717214004a7f26888';
|
|
27
|
-
const _getCompoundV2MarketsData = (
|
|
27
|
+
const _getCompoundV2MarketsData = (provider_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, ...args_1], void 0, function* (provider, network, blockNumber = 'latest') {
|
|
28
28
|
const cAddresses = markets_1.compoundV2CollateralAssets.map(a => a.address);
|
|
29
29
|
const loanInfoContract = (0, contracts_1.CompoundLoanInfoContractViem)(provider, network);
|
|
30
|
-
const loanInfo = yield loanInfoContract.read.getFullTokensInfo([cAddresses]);
|
|
30
|
+
const loanInfo = yield loanInfoContract.read.getFullTokensInfo([cAddresses], (0, viem_1.setViemBlockNumber)(blockNumber));
|
|
31
31
|
const compPrice = loanInfo.find(m => (0, utils_1.compareAddresses)(m.underlyingTokenAddress, compAddress)).price.toString();
|
|
32
32
|
const assetsData = loanInfo
|
|
33
33
|
.map((market, i) => {
|
|
@@ -85,7 +85,7 @@ const _getCompoundV2MarketsData = (provider, network) => __awaiter(void 0, void
|
|
|
85
85
|
return { assetsData: payload };
|
|
86
86
|
});
|
|
87
87
|
exports._getCompoundV2MarketsData = _getCompoundV2MarketsData;
|
|
88
|
-
const getCompoundV2MarketsData = (
|
|
88
|
+
const getCompoundV2MarketsData = (provider_1, network_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, ...args_1], void 0, function* (provider, network, blockNumber = 'latest') { return (0, exports._getCompoundV2MarketsData)((0, viem_1.getViemProvider)(provider, network), network, blockNumber); });
|
|
89
89
|
exports.getCompoundV2MarketsData = getCompoundV2MarketsData;
|
|
90
90
|
exports.EMPTY_COMPOUND_DATA = {
|
|
91
91
|
usedAssets: {},
|
|
@@ -101,9 +101,9 @@ exports.EMPTY_COMPOUND_DATA = {
|
|
|
101
101
|
borrowStableSupplyUnstable: false,
|
|
102
102
|
exposure: 'N/A',
|
|
103
103
|
};
|
|
104
|
-
const getCollateralAssetsAddresses = (
|
|
104
|
+
const getCollateralAssetsAddresses = (provider_1, network_1, account_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, account_1, ...args_1], void 0, function* (provider, network, account, blockNumber = 'latest') {
|
|
105
105
|
const contract = (0, contracts_1.ComptrollerContractViem)(provider, network);
|
|
106
|
-
return contract.read.getAssetsIn([account]);
|
|
106
|
+
return contract.read.getAssetsIn([account], (0, viem_1.setViemBlockNumber)(blockNumber));
|
|
107
107
|
});
|
|
108
108
|
const getAllMarketAddresses = (provider, network, block) => __awaiter(void 0, void 0, void 0, function* () {
|
|
109
109
|
const contract = (0, contracts_1.ComptrollerContractViem)(provider, network);
|
|
@@ -140,14 +140,14 @@ const _getCompoundV2AccountBalances = (provider, network, block, addressMapping,
|
|
|
140
140
|
exports._getCompoundV2AccountBalances = _getCompoundV2AccountBalances;
|
|
141
141
|
const getCompoundV2AccountBalances = (provider, network, block, addressMapping, address) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports._getCompoundV2AccountBalances)((0, viem_1.getViemProvider)(provider, network), network, block, addressMapping, address); });
|
|
142
142
|
exports.getCompoundV2AccountBalances = getCompoundV2AccountBalances;
|
|
143
|
-
const _getCompoundV2AccountData = (
|
|
143
|
+
const _getCompoundV2AccountData = (provider_1, network_1, address_1, assetsData_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, assetsData_1, ...args_1], void 0, function* (provider, network, address, assetsData, blockNumber = 'latest') {
|
|
144
144
|
if (!address)
|
|
145
145
|
throw new Error('No address provided');
|
|
146
146
|
let payload = Object.assign(Object.assign({}, exports.EMPTY_COMPOUND_DATA), { lastUpdated: Date.now() });
|
|
147
147
|
const loanInfoContract = (0, contracts_1.CompoundLoanInfoContractViem)(provider, network);
|
|
148
148
|
const [loanInfo, collateralAssetsAddresses] = yield Promise.all([
|
|
149
|
-
loanInfoContract.read.getTokenBalances([address, markets_1.compoundV2CollateralAssets.map(a => a.address)]),
|
|
150
|
-
getCollateralAssetsAddresses(provider, network, address),
|
|
149
|
+
loanInfoContract.read.getTokenBalances([address, markets_1.compoundV2CollateralAssets.map(a => a.address)], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
150
|
+
getCollateralAssetsAddresses(provider, network, address, blockNumber),
|
|
151
151
|
]);
|
|
152
152
|
const usedAssets = {};
|
|
153
153
|
loanInfo[0].forEach((weiAmount, i) => {
|
|
@@ -179,7 +179,7 @@ const _getCompoundV2AccountData = (provider, network, address, assetsData) => __
|
|
|
179
179
|
return payload;
|
|
180
180
|
});
|
|
181
181
|
exports._getCompoundV2AccountData = _getCompoundV2AccountData;
|
|
182
|
-
const getCompoundV2AccountData = (
|
|
182
|
+
const getCompoundV2AccountData = (provider_1, network_1, address_1, assetsData_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, assetsData_1, ...args_1], void 0, function* (provider, network, address, assetsData, blockNumber = 'latest') { return (0, exports._getCompoundV2AccountData)((0, viem_1.getViemProvider)(provider, network), network, address, assetsData, blockNumber); });
|
|
183
183
|
exports.getCompoundV2AccountData = getCompoundV2AccountData;
|
|
184
184
|
const getCompoundV2FullPositionData = (provider, network, address) => __awaiter(void 0, void 0, void 0, function* () {
|
|
185
185
|
const marketData = yield (0, exports.getCompoundV2MarketsData)(provider, network);
|
|
@@ -2,8 +2,9 @@ import { Client } from 'viem';
|
|
|
2
2
|
import { CompoundMarketData, CompoundV3AssetsData, CompoundV3MarketsData, CompoundV3PositionData } from '../types';
|
|
3
3
|
import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
|
|
4
4
|
export { getCompoundV3MerklOpportunities, attachCompoundV3MerklIncentives } from './merkl';
|
|
5
|
-
|
|
6
|
-
export declare const
|
|
5
|
+
/** `blockTimestamp` (unix seconds) is the historical block's timestamp when already known; otherwise it is read from the block. */
|
|
6
|
+
export declare const _getCompoundV3MarketsData: (provider: Client, network: NetworkNumber, selectedMarket: CompoundMarketData, defaultProvider: Client, blockNumber?: Blockish, blockTimestamp?: number) => Promise<CompoundV3MarketsData>;
|
|
7
|
+
export declare const getCompoundV3MarketsData: (provider: EthereumProvider, network: NetworkNumber, selectedMarket: CompoundMarketData, defaultProvider: EthereumProvider, blockNumber?: Blockish, blockTimestamp?: number) => Promise<CompoundV3MarketsData>;
|
|
7
8
|
export declare const EMPTY_COMPOUND_V3_DATA: {
|
|
8
9
|
usedAssets: {};
|
|
9
10
|
suppliedUsd: string;
|
|
@@ -37,9 +38,9 @@ export declare const getCompoundV3AccountBalances: (provider: EthereumProvider,
|
|
|
37
38
|
export declare const _getCompoundV3AccountData: (provider: Client, network: NetworkNumber, address: EthAddress, proxyAddress: EthAddress, extractedState: ({
|
|
38
39
|
selectedMarket: CompoundMarketData;
|
|
39
40
|
assetsData: CompoundV3AssetsData;
|
|
40
|
-
})) => Promise<CompoundV3PositionData>;
|
|
41
|
+
}), blockNumber?: Blockish) => Promise<CompoundV3PositionData>;
|
|
41
42
|
export declare const getCompoundV3AccountData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, proxyAddress: EthAddress, extractedState: ({
|
|
42
43
|
selectedMarket: CompoundMarketData;
|
|
43
44
|
assetsData: CompoundV3AssetsData;
|
|
44
|
-
})) => Promise<CompoundV3PositionData>;
|
|
45
|
+
}), blockNumber?: Blockish) => Promise<CompoundV3PositionData>;
|
|
45
46
|
export declare const getCompoundV3FullPositionData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, proxyAddress: EthAddress, selectedMarket: CompoundMarketData, defaultProvider: EthereumProvider) => Promise<CompoundV3PositionData>;
|
package/cjs/compoundV3/index.js
CHANGED
|
@@ -30,25 +30,29 @@ var merkl_2 = require("./merkl");
|
|
|
30
30
|
Object.defineProperty(exports, "getCompoundV3MerklOpportunities", { enumerable: true, get: function () { return merkl_2.getCompoundV3MerklOpportunities; } });
|
|
31
31
|
Object.defineProperty(exports, "attachCompoundV3MerklIncentives", { enumerable: true, get: function () { return merkl_2.attachCompoundV3MerklIncentives; } });
|
|
32
32
|
const getSupportedAssetsAddressesForMarket = (selectedMarket, network) => selectedMarket.collAssets.map(asset => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(asset), network)).map(addr => addr.address.toLowerCase());
|
|
33
|
+
// Every branch takes (client, block) so the caller can pin the price read to the market block.
|
|
33
34
|
const getBaseAssetPriceFunction = (asset) => {
|
|
34
35
|
switch (asset) {
|
|
35
36
|
case 'wstETH':
|
|
36
|
-
return priceService_1.getWstETHPrice;
|
|
37
|
+
return (client, block) => (0, priceService_1.getWstETHPrice)(client, common_1.NetworkNumber.Eth, block);
|
|
37
38
|
case 'ETH':
|
|
38
39
|
return priceService_1.getEthPrice;
|
|
39
40
|
default:
|
|
40
41
|
return priceService_1.getUSDCPrice;
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
|
-
|
|
44
|
+
/** `blockTimestamp` (unix seconds) is the historical block's timestamp when already known; otherwise it is read from the block. */
|
|
45
|
+
const _getCompoundV3MarketsData = (provider_1, network_1, selectedMarket_1, defaultProvider_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, selectedMarket_1, defaultProvider_1, ...args_1], void 0, function* (provider, network, selectedMarket, defaultProvider, blockNumber = 'latest', blockTimestamp) {
|
|
44
46
|
const contract = (0, contracts_1.CompV3ViewContractViem)(provider, network);
|
|
45
47
|
const [baseAssetPrice, compPrice, baseTokenInfo, collInfos, govInfo, merklOpportunities] = yield Promise.all([
|
|
46
|
-
getBaseAssetPriceFunction(selectedMarket.baseAsset)(defaultProvider),
|
|
47
|
-
(0, priceService_1.getCompPrice)(defaultProvider),
|
|
48
|
-
contract.read.getFullBaseTokenInfo([selectedMarket.baseMarketAddress]),
|
|
49
|
-
contract.read.getFullCollInfos([selectedMarket.baseMarketAddress]),
|
|
50
|
-
contract.read.getGovernanceInfoFull([selectedMarket.baseMarketAddress]),
|
|
51
|
-
(
|
|
48
|
+
getBaseAssetPriceFunction(selectedMarket.baseAsset)(defaultProvider, blockNumber),
|
|
49
|
+
(0, priceService_1.getCompPrice)(defaultProvider, blockNumber),
|
|
50
|
+
contract.read.getFullBaseTokenInfo([selectedMarket.baseMarketAddress], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
51
|
+
contract.read.getFullCollInfos([selectedMarket.baseMarketAddress], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
52
|
+
contract.read.getGovernanceInfoFull([selectedMarket.baseMarketAddress], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
53
|
+
// Merkl rewards are keyed by time: a historical block resolves to its timestamp first (one RPC
|
|
54
|
+
// call unless given, none for 'latest') so the rewards in force at that moment are attached.
|
|
55
|
+
(0, viem_1.getBlockTimestamp)(provider, blockNumber, blockTimestamp).then((asOfTimestamp) => (0, merkl_1.getCompoundV3MerklOpportunities)(asOfTimestamp, network)),
|
|
52
56
|
]);
|
|
53
57
|
const { isSupplyPaused, isWithdrawPaused } = govInfo;
|
|
54
58
|
const supportedAssetsAddresses = getSupportedAssetsAddressesForMarket(selectedMarket, network);
|
|
@@ -84,7 +88,7 @@ const _getCompoundV3MarketsData = (provider, network, selectedMarket, defaultPro
|
|
|
84
88
|
};
|
|
85
89
|
});
|
|
86
90
|
exports._getCompoundV3MarketsData = _getCompoundV3MarketsData;
|
|
87
|
-
const getCompoundV3MarketsData = (
|
|
91
|
+
const getCompoundV3MarketsData = (provider_1, network_1, selectedMarket_1, defaultProvider_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, selectedMarket_1, defaultProvider_1, ...args_1], void 0, function* (provider, network, selectedMarket, defaultProvider, blockNumber = 'latest', blockTimestamp) { return (0, exports._getCompoundV3MarketsData)((0, viem_1.getViemProvider)(provider, network), network, selectedMarket, (0, viem_1.getViemProvider)(defaultProvider, network), blockNumber, blockTimestamp); });
|
|
88
92
|
exports.getCompoundV3MarketsData = getCompoundV3MarketsData;
|
|
89
93
|
exports.EMPTY_COMPOUND_V3_DATA = {
|
|
90
94
|
usedAssets: {},
|
|
@@ -147,15 +151,15 @@ const _getCompoundV3AccountBalances = (provider, network, block, addressMapping,
|
|
|
147
151
|
exports._getCompoundV3AccountBalances = _getCompoundV3AccountBalances;
|
|
148
152
|
const getCompoundV3AccountBalances = (provider, network, block, addressMapping, address, marketAddress) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports._getCompoundV3AccountBalances)((0, viem_1.getViemProvider)(provider, network), network, block, addressMapping, address, marketAddress); });
|
|
149
153
|
exports.getCompoundV3AccountBalances = getCompoundV3AccountBalances;
|
|
150
|
-
const _getCompoundV3AccountData = (
|
|
154
|
+
const _getCompoundV3AccountData = (provider_1, network_1, address_1, proxyAddress_1, extractedState_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, proxyAddress_1, extractedState_1, ...args_1], void 0, function* (provider, network, address, proxyAddress, extractedState, blockNumber = 'latest') {
|
|
151
155
|
if (!address)
|
|
152
156
|
throw new Error('No address provided');
|
|
153
157
|
const { selectedMarket, assetsData, } = extractedState;
|
|
154
158
|
let payload = Object.assign(Object.assign({}, exports.EMPTY_COMPOUND_V3_DATA), { lastUpdated: Date.now() });
|
|
155
159
|
const contract = (0, contracts_1.CompV3ViewContractViem)(provider, network);
|
|
156
160
|
const [loanData, isAllowed] = yield Promise.all([
|
|
157
|
-
contract.read.getLoanData([selectedMarket.baseMarketAddress, address]),
|
|
158
|
-
contract.read.isAllowed([selectedMarket.baseMarketAddress, address, (proxyAddress || constants_1.ZERO_ADDRESS)]),
|
|
161
|
+
contract.read.getLoanData([selectedMarket.baseMarketAddress, address], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
162
|
+
contract.read.isAllowed([selectedMarket.baseMarketAddress, address, (proxyAddress || constants_1.ZERO_ADDRESS)], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
159
163
|
]);
|
|
160
164
|
const usedAssets = {};
|
|
161
165
|
const baseAssetInfo = (0, tokens_1.getAssetInfo)(selectedMarket.baseAsset);
|
|
@@ -201,7 +205,7 @@ const _getCompoundV3AccountData = (provider, network, address, proxyAddress, ext
|
|
|
201
205
|
return payload;
|
|
202
206
|
});
|
|
203
207
|
exports._getCompoundV3AccountData = _getCompoundV3AccountData;
|
|
204
|
-
const getCompoundV3AccountData = (
|
|
208
|
+
const getCompoundV3AccountData = (provider_1, network_1, address_1, proxyAddress_1, extractedState_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, proxyAddress_1, extractedState_1, ...args_1], void 0, function* (provider, network, address, proxyAddress, extractedState, blockNumber = 'latest') { return (0, exports._getCompoundV3AccountData)((0, viem_1.getViemProvider)(provider, network), network, address, proxyAddress, extractedState, blockNumber); });
|
|
205
209
|
exports.getCompoundV3AccountData = getCompoundV3AccountData;
|
|
206
210
|
const getCompoundV3FullPositionData = (provider, network, address, proxyAddress, selectedMarket, defaultProvider) => __awaiter(void 0, void 0, void 0, function* () {
|
|
207
211
|
const marketData = yield (0, exports.getCompoundV3MarketsData)(provider, network, selectedMarket, defaultProvider);
|
|
@@ -7,7 +7,7 @@ import { CompoundV3AssetData, MerklOpportunity, NetworkNumber } from '../types';
|
|
|
7
7
|
* be gated and sized by a curated check in EligibilityMapping; unknown ids apply
|
|
8
8
|
* unconditionally, mirroring Aave V3.
|
|
9
9
|
*/
|
|
10
|
-
export declare const getCompoundV3MerklOpportunities: () => Promise<MerklOpportunity[]>;
|
|
10
|
+
export declare const getCompoundV3MerklOpportunities: (asOfTimestamp?: number, chainId?: NetworkNumber) => Promise<MerklOpportunity[]>;
|
|
11
11
|
/**
|
|
12
12
|
* Appends the comet's Merkl campaigns to its assets' incentive arrays (mutating them, like the
|
|
13
13
|
* staking incentives are attached). BORROW campaigns land on the base asset — the only borrowable
|
package/cjs/compoundV3/merkl.js
CHANGED
|
@@ -23,12 +23,9 @@ const types_1 = require("../types");
|
|
|
23
23
|
* be gated and sized by a curated check in EligibilityMapping; unknown ids apply
|
|
24
24
|
* unconditionally, mirroring Aave V3.
|
|
25
25
|
*/
|
|
26
|
-
const getCompoundV3MerklOpportunities = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const getCompoundV3MerklOpportunities = (asOfTimestamp, chainId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
27
|
try {
|
|
28
|
-
return yield (0, merkl_1.
|
|
29
|
-
mainProtocolId: 'compound-v3',
|
|
30
|
-
status: types_1.OpportunityStatus.LIVE,
|
|
31
|
-
});
|
|
28
|
+
return yield (0, merkl_1.fetchMerklOpportunities)(Object.assign({ mainProtocolId: 'compound-v3', status: types_1.OpportunityStatus.LIVE }, (chainId ? { chainId: chainId.toString() } : {})), asOfTimestamp);
|
|
32
29
|
}
|
|
33
30
|
catch (e) {
|
|
34
31
|
console.error('Failed to fetch Compound V3 Merkl campaigns', e);
|
package/cjs/curveUsd/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Client } from 'viem';
|
|
2
2
|
import { CrvUSDGlobalMarketData, CrvUSDMarketData, CrvUSDUserData } from '../types';
|
|
3
3
|
import { Blockish, EthAddress, EthereumProvider, NetworkNumber, PositionBalances } from '../types/common';
|
|
4
|
-
export declare const _getCurveUsdGlobalData: (provider: Client, network: NetworkNumber, selectedMarket: CrvUSDMarketData) => Promise<CrvUSDGlobalMarketData>;
|
|
5
|
-
export declare const getCurveUsdGlobalData: (provider: EthereumProvider, network: NetworkNumber, selectedMarket: CrvUSDMarketData) => Promise<CrvUSDGlobalMarketData>;
|
|
4
|
+
export declare const _getCurveUsdGlobalData: (provider: Client, network: NetworkNumber, selectedMarket: CrvUSDMarketData, blockNumber?: Blockish) => Promise<CrvUSDGlobalMarketData>;
|
|
5
|
+
export declare const getCurveUsdGlobalData: (provider: EthereumProvider, network: NetworkNumber, selectedMarket: CrvUSDMarketData, blockNumber?: Blockish) => Promise<CrvUSDGlobalMarketData>;
|
|
6
6
|
export declare const _getCrvUsdAccountBalances: (provider: Client, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress, controllerAddress: EthAddress, includeDeposited?: boolean) => Promise<PositionBalances>;
|
|
7
7
|
export declare const getCrvUsdAccountBalances: (provider: EthereumProvider, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress, controllerAddress: EthAddress) => Promise<PositionBalances>;
|
|
8
8
|
/**
|
|
9
9
|
* @param borrowRate market borrow APY in % (`CrvUSDGlobalMarketData.borrowRate`); when omitted it is read from the view contract
|
|
10
10
|
*/
|
|
11
|
-
export declare const _getCurveUsdUserData: (provider: Client, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData, activeBand: string, borrowRate?: string) => Promise<CrvUSDUserData>;
|
|
12
|
-
export declare const getCurveUsdUserData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData, activeBand: string, borrowRate?: string) => Promise<CrvUSDUserData>;
|
|
13
|
-
export declare const getCurveUsdFullPositionData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData) => Promise<CrvUSDUserData>;
|
|
11
|
+
export declare const _getCurveUsdUserData: (provider: Client, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData, activeBand: string, borrowRate?: string, blockNumber?: Blockish) => Promise<CrvUSDUserData>;
|
|
12
|
+
export declare const getCurveUsdUserData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData, activeBand: string, borrowRate?: string, blockNumber?: Blockish) => Promise<CrvUSDUserData>;
|
|
13
|
+
export declare const getCurveUsdFullPositionData: (provider: EthereumProvider, network: NetworkNumber, address: EthAddress, selectedMarket: CrvUSDMarketData, blockNumber?: Blockish) => Promise<CrvUSDUserData>;
|
package/cjs/curveUsd/index.js
CHANGED
|
@@ -28,7 +28,7 @@ const ammRateToBorrowApy = (rateWei) => {
|
|
|
28
28
|
const exponent = new decimal_js_1.default((0, tokens_1.assetAmountInEth)(rateWei)).mul(365).mul(86400);
|
|
29
29
|
return new decimal_js_1.default(new decimal_js_1.default(2.718281828459).pow(exponent).minus(1)).mul(100).toString();
|
|
30
30
|
};
|
|
31
|
-
const getAndFormatBands = (
|
|
31
|
+
const getAndFormatBands = (provider_1, network_1, selectedMarket_1, _minBand_1, _maxBand_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, selectedMarket_1, _minBand_1, _maxBand_1, ...args_1], void 0, function* (provider, network, selectedMarket, _minBand, _maxBand, blockNumber = 'latest') {
|
|
32
32
|
const contract = (0, contracts_1.CrvUSDViewContractViem)(provider, network);
|
|
33
33
|
const minBand = parseInt(_minBand, 10);
|
|
34
34
|
const maxBand = parseInt(_maxBand, 10);
|
|
@@ -52,7 +52,7 @@ const getAndFormatBands = (provider, network, selectedMarket, _minBand, _maxBand
|
|
|
52
52
|
else {
|
|
53
53
|
start = pivots[index - 1] + 1;
|
|
54
54
|
}
|
|
55
|
-
const pivotedBandsData = yield contract.read.getBandsData([selectedMarket.controllerAddress, BigInt(start), BigInt(pivot)]);
|
|
55
|
+
const pivotedBandsData = yield contract.read.getBandsData([selectedMarket.controllerAddress, BigInt(start), BigInt(pivot)], (0, viem_1.setViemBlockNumber)(blockNumber));
|
|
56
56
|
return pivotedBandsData;
|
|
57
57
|
})))).flat();
|
|
58
58
|
return bandsData.map((band) => ({
|
|
@@ -63,23 +63,23 @@ const getAndFormatBands = (provider, network, selectedMarket, _minBand, _maxBand
|
|
|
63
63
|
highPrice: (0, tokens_1.assetAmountInEth)(band.highPrice.toString()),
|
|
64
64
|
}));
|
|
65
65
|
});
|
|
66
|
-
const _getCurveUsdGlobalData = (
|
|
66
|
+
const _getCurveUsdGlobalData = (provider_1, network_1, selectedMarket_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, selectedMarket_1, ...args_1], void 0, function* (provider, network, selectedMarket, blockNumber = 'latest') {
|
|
67
67
|
const contract = (0, contracts_1.CrvUSDViewContractViem)(provider, network);
|
|
68
68
|
const factoryContract = (0, contracts_1.CrvUSDFactoryContractViem)(provider, network);
|
|
69
69
|
const cntrollerContract = (0, contracts_1.createViemContractFromConfigFunc)('crvUSDwstETHController', selectedMarket.controllerAddress)(provider, network);
|
|
70
70
|
const debtAsset = selectedMarket.baseAsset;
|
|
71
71
|
const [debtCeiling, _, data, loanDiscountWei] = yield Promise.all([
|
|
72
|
-
factoryContract.read.debt_ceiling([selectedMarket.controllerAddress]),
|
|
73
|
-
factoryContract.read.total_debt(),
|
|
74
|
-
contract.read.globalData([selectedMarket.controllerAddress]),
|
|
75
|
-
cntrollerContract.read.loan_discount(),
|
|
72
|
+
factoryContract.read.debt_ceiling([selectedMarket.controllerAddress], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
73
|
+
factoryContract.read.total_debt((0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
74
|
+
contract.read.globalData([selectedMarket.controllerAddress], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
75
|
+
cntrollerContract.read.loan_discount((0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
76
76
|
]);
|
|
77
77
|
// all prices are in 18 decimals
|
|
78
78
|
const totalDebt = (0, tokens_1.assetAmountInEth)(data.totalDebt.toString(), debtAsset);
|
|
79
79
|
const ammPrice = (0, tokens_1.assetAmountInEth)(data.ammPrice.toString(), debtAsset);
|
|
80
80
|
const borrowRate = ammRateToBorrowApy(data.ammRate.toString());
|
|
81
81
|
const futureBorrowRate = ammRateToBorrowApy(data.monetaryPolicyRate.toString());
|
|
82
|
-
const bandsData = yield getAndFormatBands(provider, network, selectedMarket, data.minBand.toString(), data.maxBand.toString());
|
|
82
|
+
const bandsData = yield getAndFormatBands(provider, network, selectedMarket, data.minBand.toString(), data.maxBand.toString(), blockNumber);
|
|
83
83
|
const leftToBorrow = new decimal_js_1.default(debtCeiling.toString()).minus(totalDebt).toString();
|
|
84
84
|
const loanDiscount = (0, tokens_1.assetAmountInEth)(loanDiscountWei.toString(), debtAsset);
|
|
85
85
|
return Object.assign(Object.assign({}, data), { decimals: data.decimals.toString(), activeBand: data.activeBand.toString(), monetaryPolicyRate: data.monetaryPolicyRate.toString(), ammRate: data.ammRate.toString(), minBand: data.minBand.toString(), maxBand: data.maxBand.toString(), debtCeiling: debtCeiling.toString(), totalDebt,
|
|
@@ -88,7 +88,7 @@ const _getCurveUsdGlobalData = (provider, network, selectedMarket) => __awaiter(
|
|
|
88
88
|
loanDiscount });
|
|
89
89
|
});
|
|
90
90
|
exports._getCurveUsdGlobalData = _getCurveUsdGlobalData;
|
|
91
|
-
const getCurveUsdGlobalData = (
|
|
91
|
+
const getCurveUsdGlobalData = (provider_1, network_1, selectedMarket_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, selectedMarket_1, ...args_1], void 0, function* (provider, network, selectedMarket, blockNumber = 'latest') { return (0, exports._getCurveUsdGlobalData)((0, viem_1.getViemProvider)(provider, network), network, selectedMarket, blockNumber); });
|
|
92
92
|
exports.getCurveUsdGlobalData = getCurveUsdGlobalData;
|
|
93
93
|
const getStatusForUser = (bandRange, activeBand, crvUSDSupplied, collSupplied, healthPercent) => {
|
|
94
94
|
// if bands are equal, that can only be [0,0] which means user doesn't have loan (min number of bands is 4)
|
|
@@ -139,16 +139,16 @@ exports.getCrvUsdAccountBalances = getCrvUsdAccountBalances;
|
|
|
139
139
|
/**
|
|
140
140
|
* @param borrowRate market borrow APY in % (`CrvUSDGlobalMarketData.borrowRate`); when omitted it is read from the view contract
|
|
141
141
|
*/
|
|
142
|
-
const _getCurveUsdUserData = (
|
|
142
|
+
const _getCurveUsdUserData = (provider_1, network_1, address_1, selectedMarket_1, activeBand_1, borrowRate_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, selectedMarket_1, activeBand_1, borrowRate_1, ...args_1], void 0, function* (provider, network, address, selectedMarket, activeBand, borrowRate, blockNumber = 'latest') {
|
|
143
143
|
const contract = (0, contracts_1.CrvUSDViewContractViem)(provider, network);
|
|
144
144
|
const collAsset = selectedMarket.collAsset;
|
|
145
145
|
const debtAsset = selectedMarket.baseAsset;
|
|
146
146
|
const [data, collStakingApy, marketBorrowRate] = yield Promise.all([
|
|
147
|
-
contract.read.userData([selectedMarket.controllerAddress, address]),
|
|
147
|
+
contract.read.userData([selectedMarket.controllerAddress, address], (0, viem_1.setViemBlockNumber)(blockNumber)),
|
|
148
148
|
staking_1.STAKING_ASSETS.includes(collAsset) ? (0, staking_1.getStakingApy)(collAsset) : Promise.resolve('0'),
|
|
149
149
|
borrowRate !== undefined
|
|
150
150
|
? Promise.resolve(borrowRate)
|
|
151
|
-
: contract.read.globalData([selectedMarket.controllerAddress]).then((globalData) => ammRateToBorrowApy(globalData.ammRate.toString())),
|
|
151
|
+
: contract.read.globalData([selectedMarket.controllerAddress], (0, viem_1.setViemBlockNumber)(blockNumber)).then((globalData) => ammRateToBorrowApy(globalData.ammRate.toString())),
|
|
152
152
|
]);
|
|
153
153
|
const health = (0, tokens_1.assetAmountInEth)(data.health.toString());
|
|
154
154
|
const healthPercent = new decimal_js_1.default(health).mul(100).toString();
|
|
@@ -185,7 +185,7 @@ const _getCurveUsdUserData = (provider, network, address, selectedMarket, active
|
|
|
185
185
|
} : {};
|
|
186
186
|
const priceHigh = (0, tokens_1.assetAmountInEth)(data.priceHigh.toString());
|
|
187
187
|
const priceLow = (0, tokens_1.assetAmountInEth)(data.priceLow.toString());
|
|
188
|
-
const _userBands = data.loanExists ? (yield getAndFormatBands(provider, network, selectedMarket, data.bandRange[0].toString(), data.bandRange[1].toString())) : [];
|
|
188
|
+
const _userBands = data.loanExists ? (yield getAndFormatBands(provider, network, selectedMarket, data.bandRange[0].toString(), data.bandRange[1].toString(), blockNumber)) : [];
|
|
189
189
|
const status = data.loanExists ? getStatusForUser(data.bandRange.map(b => b.toString()), activeBand, crvUSDSupplied, collSupplied, healthPercent) : types_1.CrvUSDStatus.Nonexistant;
|
|
190
190
|
const userBands = _userBands.map((band, index) => (Object.assign(Object.assign({}, band), { userDebtAmount: (0, tokens_1.assetAmountInEth)(data.usersBands[0][index].toString(), debtAsset), userCollAmount: (0, tokens_1.assetAmountInEth)(data.usersBands[1][index].toString(), collAsset) }))).sort((a, b) => parseInt(b.id, 10) - parseInt(a.id, 10));
|
|
191
191
|
return Object.assign(Object.assign(Object.assign(Object.assign({}, data), { collRatio, collateralPrice: collPrice, debtAmount: (0, tokens_1.assetAmountInEth)(data.debtAmount.toString(), debtAsset), health,
|
|
@@ -203,11 +203,11 @@ const _getCurveUsdUserData = (provider, network, address, selectedMarket, active
|
|
|
203
203
|
})), { userBands });
|
|
204
204
|
});
|
|
205
205
|
exports._getCurveUsdUserData = _getCurveUsdUserData;
|
|
206
|
-
const getCurveUsdUserData = (
|
|
206
|
+
const getCurveUsdUserData = (provider_1, network_1, address_1, selectedMarket_1, activeBand_1, borrowRate_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, selectedMarket_1, activeBand_1, borrowRate_1, ...args_1], void 0, function* (provider, network, address, selectedMarket, activeBand, borrowRate, blockNumber = 'latest') { return (0, exports._getCurveUsdUserData)((0, viem_1.getViemProvider)(provider, network), network, address, selectedMarket, activeBand, borrowRate, blockNumber); });
|
|
207
207
|
exports.getCurveUsdUserData = getCurveUsdUserData;
|
|
208
|
-
const getCurveUsdFullPositionData = (
|
|
209
|
-
const marketData = yield (0, exports.getCurveUsdGlobalData)(provider, network, selectedMarket);
|
|
210
|
-
const positionData = yield (0, exports.getCurveUsdUserData)(provider, network, address, selectedMarket, marketData.activeBand, marketData.borrowRate);
|
|
208
|
+
const getCurveUsdFullPositionData = (provider_1, network_1, address_1, selectedMarket_1, ...args_1) => __awaiter(void 0, [provider_1, network_1, address_1, selectedMarket_1, ...args_1], void 0, function* (provider, network, address, selectedMarket, blockNumber = 'latest') {
|
|
209
|
+
const marketData = yield (0, exports.getCurveUsdGlobalData)(provider, network, selectedMarket, blockNumber);
|
|
210
|
+
const positionData = yield (0, exports.getCurveUsdUserData)(provider, network, address, selectedMarket, marketData.activeBand, marketData.borrowRate, blockNumber);
|
|
211
211
|
return positionData;
|
|
212
212
|
});
|
|
213
213
|
exports.getCurveUsdFullPositionData = getCurveUsdFullPositionData;
|
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, FluidMarketData, FluidMarketInfo, FluidUsedAssets, FluidVaultData, InnerFluidMarketData, Blockish } from '../types';
|
|
4
4
|
export { FluidMerklOpportunityType, buildFluidMerklRewardMap, getFluidMerklCampaigns, attachFluidMerklIncentives, } from './merkl';
|
|
5
5
|
export declare const EMPTY_USED_ASSET: {
|
|
6
6
|
isSupplied: boolean;
|
|
@@ -29,29 +29,29 @@ export declare const EMPTY_FLUID_DATA: {
|
|
|
29
29
|
automationResubscribeRequired: boolean;
|
|
30
30
|
lastUpdated: number;
|
|
31
31
|
};
|
|
32
|
-
export declare const _getFluidMarketData: (provider: PublicClient, network: NetworkNumber, market: FluidMarketInfo) => Promise<FluidMarketData | undefined>;
|
|
33
|
-
export declare const getFluidMarketData: (provider: EthereumProvider, network: NetworkNumber, market: FluidMarketInfo) => Promise<FluidMarketData | undefined>;
|
|
34
|
-
export declare const _getFluidVaultIdsForUser: (provider: Client, network: NetworkNumber, user: EthAddress) => Promise<string[]>;
|
|
35
|
-
export declare const getFluidVaultIdsForUser: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress) => Promise<string[]>;
|
|
32
|
+
export declare const _getFluidMarketData: (provider: PublicClient, network: NetworkNumber, market: FluidMarketInfo, blockNumber?: Blockish) => Promise<FluidMarketData | undefined>;
|
|
33
|
+
export declare const getFluidMarketData: (provider: EthereumProvider, network: NetworkNumber, market: FluidMarketInfo, blockNumber?: Blockish) => Promise<FluidMarketData | undefined>;
|
|
34
|
+
export declare const _getFluidVaultIdsForUser: (provider: Client, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<string[]>;
|
|
35
|
+
export declare const getFluidVaultIdsForUser: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<string[]>;
|
|
36
36
|
export declare const _getFluidPosition: (provider: Client, network: NetworkNumber, vaultId: string, extractedState: {
|
|
37
37
|
assetsData: FluidAssetsData;
|
|
38
38
|
marketData: InnerFluidMarketData;
|
|
39
|
-
}) => Promise<FluidVaultData>;
|
|
39
|
+
}, blockNumber?: Blockish) => Promise<FluidVaultData>;
|
|
40
40
|
export declare const getFluidPosition: (provider: EthereumProvider, network: NetworkNumber, vaultId: string, extractedState: {
|
|
41
41
|
assetsData: FluidAssetsData;
|
|
42
42
|
marketData: InnerFluidMarketData;
|
|
43
|
-
}) => Promise<FluidVaultData>;
|
|
44
|
-
export declare const _getFluidPositionWithMarket: (provider: PublicClient, network: NetworkNumber, vaultId: string) => Promise<{
|
|
43
|
+
}, blockNumber?: Blockish) => Promise<FluidVaultData>;
|
|
44
|
+
export declare const _getFluidPositionWithMarket: (provider: PublicClient, network: NetworkNumber, vaultId: string, blockNumber?: Blockish) => Promise<{
|
|
45
45
|
userData: FluidVaultData;
|
|
46
46
|
marketData: FluidMarketData;
|
|
47
47
|
} | undefined>;
|
|
48
|
-
export declare const getFluidPositionWithMarket: (provider: EthereumProvider, network: NetworkNumber, vaultId: string) => Promise<{
|
|
48
|
+
export declare const getFluidPositionWithMarket: (provider: EthereumProvider, network: NetworkNumber, vaultId: string, blockNumber?: Blockish) => Promise<{
|
|
49
49
|
userData: FluidVaultData;
|
|
50
50
|
marketData: FluidMarketData;
|
|
51
51
|
} | undefined>;
|
|
52
|
-
export declare const _getAllFluidMarketDataChunked: (network: NetworkNumber, provider: PublicClient) => Promise<(FluidMarketData | undefined)[]>;
|
|
53
|
-
export declare const getAllFluidMarketDataChunked: (network: NetworkNumber, provider: EthereumProvider) => Promise<(FluidMarketData | undefined)[]>;
|
|
54
|
-
export declare const _getFluidTokenData: (provider: Client, network: NetworkNumber, token: string) => Promise<{
|
|
52
|
+
export declare const _getAllFluidMarketDataChunked: (network: NetworkNumber, provider: PublicClient, blockNumber?: Blockish) => Promise<(FluidMarketData | undefined)[]>;
|
|
53
|
+
export declare const getAllFluidMarketDataChunked: (network: NetworkNumber, provider: EthereumProvider, blockNumber?: Blockish) => Promise<(FluidMarketData | undefined)[]>;
|
|
54
|
+
export declare const _getFluidTokenData: (provider: Client, network: NetworkNumber, token: string, blockNumber?: Blockish) => Promise<{
|
|
55
55
|
fTokenAddress: any;
|
|
56
56
|
fTokenSymbol: string;
|
|
57
57
|
decimals: string;
|
|
@@ -61,7 +61,7 @@ export declare const _getFluidTokenData: (provider: Client, network: NetworkNumb
|
|
|
61
61
|
depositRate: string;
|
|
62
62
|
withdrawRate: string;
|
|
63
63
|
}>;
|
|
64
|
-
export declare const getFluidTokenData: (provider: EthereumProvider, network: NetworkNumber, token: string) => Promise<{
|
|
64
|
+
export declare const getFluidTokenData: (provider: EthereumProvider, network: NetworkNumber, token: string, blockNumber?: Blockish) => Promise<{
|
|
65
65
|
fTokenAddress: any;
|
|
66
66
|
fTokenSymbol: string;
|
|
67
67
|
decimals: string;
|
|
@@ -71,7 +71,7 @@ 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<{
|
|
74
|
+
export declare const _getFluidDepositData: (provider: Client, network: NetworkNumber, token: string, address: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
75
75
|
fTokenAddress: string | undefined;
|
|
76
76
|
fTokenSymbol: string;
|
|
77
77
|
decimals: string;
|
|
@@ -83,7 +83,7 @@ export declare const _getFluidDepositData: (provider: Client, network: NetworkNu
|
|
|
83
83
|
deposited: string;
|
|
84
84
|
depositedShares: string;
|
|
85
85
|
}>;
|
|
86
|
-
export declare const getFluidDepositData: (provider: EthereumProvider, network: NetworkNumber, token: string, address: EthAddress) => Promise<{
|
|
86
|
+
export declare const getFluidDepositData: (provider: EthereumProvider, network: NetworkNumber, token: string, address: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
87
87
|
fTokenAddress: string | undefined;
|
|
88
88
|
fTokenSymbol: string;
|
|
89
89
|
decimals: string;
|
|
@@ -95,7 +95,7 @@ export declare const getFluidDepositData: (provider: EthereumProvider, network:
|
|
|
95
95
|
deposited: string;
|
|
96
96
|
depositedShares: string;
|
|
97
97
|
}>;
|
|
98
|
-
export declare const _getAllUserEarnPositionsWithFTokens: (provider: Client, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
98
|
+
export declare const _getAllUserEarnPositionsWithFTokens: (provider: Client, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
99
99
|
fTokenAddress: string | undefined;
|
|
100
100
|
fTokenSymbol: string;
|
|
101
101
|
decimals: string;
|
|
@@ -107,7 +107,7 @@ export declare const _getAllUserEarnPositionsWithFTokens: (provider: Client, net
|
|
|
107
107
|
deposited: string;
|
|
108
108
|
depositedShares: string;
|
|
109
109
|
}[]>;
|
|
110
|
-
export declare const getAllUserEarnPositionsWithFTokens: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
110
|
+
export declare const getAllUserEarnPositionsWithFTokens: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
111
111
|
fTokenAddress: string | undefined;
|
|
112
112
|
fTokenSymbol: string;
|
|
113
113
|
decimals: string;
|
|
@@ -119,7 +119,7 @@ export declare const getAllUserEarnPositionsWithFTokens: (provider: EthereumProv
|
|
|
119
119
|
deposited: string;
|
|
120
120
|
depositedShares: string;
|
|
121
121
|
}[]>;
|
|
122
|
-
export declare const _getUserPositions: (provider: PublicClient, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
122
|
+
export declare const _getUserPositions: (provider: PublicClient, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
123
123
|
marketData: FluidMarketData | undefined;
|
|
124
124
|
userData: {
|
|
125
125
|
suppliedUsd: string;
|
|
@@ -154,7 +154,7 @@ export declare const _getUserPositions: (provider: PublicClient, network: Networ
|
|
|
154
154
|
nftId: string;
|
|
155
155
|
} | undefined;
|
|
156
156
|
}[]>;
|
|
157
|
-
export declare const getUserPositions: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
157
|
+
export declare const getUserPositions: (provider: EthereumProvider, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
158
158
|
marketData: FluidMarketData | undefined;
|
|
159
159
|
userData: {
|
|
160
160
|
suppliedUsd: string;
|
|
@@ -189,7 +189,7 @@ export declare const getUserPositions: (provider: EthereumProvider, network: Net
|
|
|
189
189
|
nftId: string;
|
|
190
190
|
} | undefined;
|
|
191
191
|
}[]>;
|
|
192
|
-
export declare const _getUserPositionsPortfolio: (provider: PublicClient, network: NetworkNumber, user: EthAddress) => Promise<{
|
|
192
|
+
export declare const _getUserPositionsPortfolio: (provider: PublicClient, network: NetworkNumber, user: EthAddress, blockNumber?: Blockish) => Promise<{
|
|
193
193
|
marketData: FluidMarketData | undefined;
|
|
194
194
|
userData: {
|
|
195
195
|
suppliedUsd: string;
|
|
@@ -224,5 +224,6 @@ export declare const _getUserPositionsPortfolio: (provider: PublicClient, networ
|
|
|
224
224
|
nftId: string;
|
|
225
225
|
} | undefined;
|
|
226
226
|
}[]>;
|
|
227
|
-
|
|
228
|
-
export declare const
|
|
227
|
+
/** `blockTimestamp` (unix seconds) is the historical block's timestamp when already known; otherwise it is read from the block. */
|
|
228
|
+
export declare const _getAllFluidMarketDataPortfolio: (provider: PublicClient, network: NetworkNumber, blockNumber?: Blockish, blockTimestamp?: number) => Promise<Record<string, FluidMarketData>>;
|
|
229
|
+
export declare const getAllFluidMarketDataPortfolio: (provider: EthereumProvider, network: NetworkNumber, blockNumber?: Blockish, blockTimestamp?: number) => Promise<Record<string, FluidMarketData>>;
|