@defisaver/positions-sdk 1.0.26 → 1.0.27-dev-1
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 -2
- package/cjs/aaveV3/index.js +6 -6
- package/cjs/markets/aave/marketAssets.js +1 -1
- package/cjs/staking/staking.js +3 -1
- package/esm/aaveV3/index.d.ts +2 -2
- package/esm/aaveV3/index.js +6 -6
- package/esm/markets/aave/marketAssets.js +1 -1
- package/esm/staking/staking.js +3 -1
- package/package.json +3 -4
- package/src/aaveV3/index.ts +6 -6
- package/src/markets/aave/marketAssets.ts +1 -1
- package/src/staking/staking.ts +2 -1
package/cjs/aaveV3/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const test: (web3: Web3, network: NetworkNumber) => Promise<strin
|
|
|
5
5
|
export declare const aaveV3EmodeCategoriesMapping: (extractedState: any, usedAssets: AaveV3UsedAssets) => {
|
|
6
6
|
[key: number]: EModeCategoryDataMapping;
|
|
7
7
|
};
|
|
8
|
-
export declare function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3): Promise<AaveV3MarketData>;
|
|
8
|
+
export declare function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3, blockNumber?: 'latest' | number): Promise<AaveV3MarketData>;
|
|
9
9
|
export declare const EMPTY_AAVE_DATA: {
|
|
10
10
|
usedAssets: {};
|
|
11
11
|
suppliedUsd: string;
|
|
@@ -28,5 +28,5 @@ export declare const EMPTY_AAVE_DATA: {
|
|
|
28
28
|
suppliedCollateralUsd: string;
|
|
29
29
|
};
|
|
30
30
|
export declare const getAaveV3AccountBalances: (web3: Web3, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
|
|
31
|
-
export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any) => Promise<AaveV3PositionData>;
|
|
31
|
+
export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any, blockNumber?: 'latest' | number) => Promise<AaveV3PositionData>;
|
|
32
32
|
export declare const getAaveV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, market: AaveMarketInfo, mainnetWeb3: Web3) => Promise<AaveV3PositionData>;
|
package/cjs/aaveV3/index.js
CHANGED
|
@@ -55,7 +55,7 @@ const aaveV3EmodeCategoriesMapping = (extractedState, usedAssets) => {
|
|
|
55
55
|
return categoriesMapping;
|
|
56
56
|
};
|
|
57
57
|
exports.aaveV3EmodeCategoriesMapping = aaveV3EmodeCategoriesMapping;
|
|
58
|
-
function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
58
|
+
function getAaveV3MarketData(web3, network, market, defaultWeb3, blockNumber = 'latest') {
|
|
59
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
60
|
const _addresses = market.assets.map(a => (0, tokens_1.getAssetInfo)((0, utils_1.ethToWeth)(a), network).address);
|
|
61
61
|
const isL2 = (0, utils_1.isLayer2Network)(network);
|
|
@@ -64,9 +64,9 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
|
64
64
|
const marketAddress = market.providerAddress;
|
|
65
65
|
// eslint-disable-next-line prefer-const
|
|
66
66
|
let [loanInfo, eModesInfo, isBorrowAllowed] = yield Promise.all([
|
|
67
|
-
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call(),
|
|
68
|
-
loanInfoContract.methods.getAllEmodes(marketAddress).call(),
|
|
69
|
-
loanInfoContract.methods.isBorrowAllowed(marketAddress).call(), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
67
|
+
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call({}, blockNumber),
|
|
68
|
+
loanInfoContract.methods.getAllEmodes(marketAddress).call({}, blockNumber),
|
|
69
|
+
loanInfoContract.methods.isBorrowAllowed(marketAddress).call({}, blockNumber), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
70
70
|
]);
|
|
71
71
|
isBorrowAllowed = (0, utils_1.isLayer2Network)(network) ? isBorrowAllowed : true;
|
|
72
72
|
const eModeCategoriesData = {};
|
|
@@ -330,7 +330,7 @@ const getAaveV3AccountBalances = (web3, network, block, addressMapping, address)
|
|
|
330
330
|
return balances;
|
|
331
331
|
});
|
|
332
332
|
exports.getAaveV3AccountBalances = getAaveV3AccountBalances;
|
|
333
|
-
const getAaveV3AccountData = (web3, network, address, extractedState) => __awaiter(void 0, void 0, void 0, function* () {
|
|
333
|
+
const getAaveV3AccountData = (web3, network, address, extractedState, blockNumber = 'latest') => __awaiter(void 0, void 0, void 0, function* () {
|
|
334
334
|
const { selectedMarket: market, assetsData, eModeCategoriesData, } = extractedState;
|
|
335
335
|
let payload = Object.assign(Object.assign({}, exports.EMPTY_AAVE_DATA), { lastUpdated: Date.now() });
|
|
336
336
|
if (!address) {
|
|
@@ -364,7 +364,7 @@ const getAaveV3AccountData = (web3, network, address, extractedState) => __await
|
|
|
364
364
|
},
|
|
365
365
|
];
|
|
366
366
|
const [multicallRes, { 0: stkAaveBalance }] = yield Promise.all([
|
|
367
|
-
(0, multicall_1.multicall)(multicallData, web3, network),
|
|
367
|
+
(0, multicall_1.multicall)(multicallData, web3, network, blockNumber),
|
|
368
368
|
isL2 ? { 0: '0' } : (0, assets_1.getAssetsBalances)(['stkAAVE'], address, network, web3),
|
|
369
369
|
{ 0: '0' },
|
|
370
370
|
]);
|
|
@@ -12,7 +12,7 @@ exports.morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WBTC',
|
|
|
12
12
|
exports.morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
|
|
13
13
|
exports.aaveV3AssetsDefaultMarketEth = [
|
|
14
14
|
'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
|
|
15
|
-
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC',
|
|
15
|
+
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC', 'PT sUSDe Sep',
|
|
16
16
|
];
|
|
17
17
|
exports.aaveV3AssetsDefaultMarketOpt = [
|
|
18
18
|
'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
|
package/cjs/staking/staking.js
CHANGED
|
@@ -113,7 +113,7 @@ const getApyFromDfsApi = (asset) => __awaiter(void 0, void 0, void 0, function*
|
|
|
113
113
|
const data = yield res.json();
|
|
114
114
|
return String(data.apy);
|
|
115
115
|
});
|
|
116
|
-
exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH'];
|
|
116
|
+
exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH', 'PT sUSDe Sep'];
|
|
117
117
|
exports.getStakingApy = (0, memoizee_1.default)((asset, web3, blockNumber = 'latest', fromBlock = undefined) => __awaiter(void 0, void 0, void 0, function* () {
|
|
118
118
|
try {
|
|
119
119
|
if (asset === 'stETH' || asset === 'wstETH')
|
|
@@ -150,6 +150,8 @@ exports.getStakingApy = (0, memoizee_1.default)((asset, web3, blockNumber = 'lat
|
|
|
150
150
|
return yield getApyFromDfsApi('PT USDe July');
|
|
151
151
|
if (asset === 'PT eUSDe Aug')
|
|
152
152
|
return yield getApyFromDfsApi('PT eUSDe Aug');
|
|
153
|
+
if (asset === 'PT sUSDe Sep')
|
|
154
|
+
return yield getApyFromDfsApi('PT sUSDe Sep');
|
|
153
155
|
if (asset === 'tETH')
|
|
154
156
|
return yield getApyFromDfsApi('tETH');
|
|
155
157
|
}
|
package/esm/aaveV3/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare const test: (web3: Web3, network: NetworkNumber) => Promise<strin
|
|
|
5
5
|
export declare const aaveV3EmodeCategoriesMapping: (extractedState: any, usedAssets: AaveV3UsedAssets) => {
|
|
6
6
|
[key: number]: EModeCategoryDataMapping;
|
|
7
7
|
};
|
|
8
|
-
export declare function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3): Promise<AaveV3MarketData>;
|
|
8
|
+
export declare function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3, blockNumber?: 'latest' | number): Promise<AaveV3MarketData>;
|
|
9
9
|
export declare const EMPTY_AAVE_DATA: {
|
|
10
10
|
usedAssets: {};
|
|
11
11
|
suppliedUsd: string;
|
|
@@ -28,5 +28,5 @@ export declare const EMPTY_AAVE_DATA: {
|
|
|
28
28
|
suppliedCollateralUsd: string;
|
|
29
29
|
};
|
|
30
30
|
export declare const getAaveV3AccountBalances: (web3: Web3, network: NetworkNumber, block: Blockish, addressMapping: boolean, address: EthAddress) => Promise<PositionBalances>;
|
|
31
|
-
export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any) => Promise<AaveV3PositionData>;
|
|
31
|
+
export declare const getAaveV3AccountData: (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any, blockNumber?: 'latest' | number) => Promise<AaveV3PositionData>;
|
|
32
32
|
export declare const getAaveV3FullPositionData: (web3: Web3, network: NetworkNumber, address: string, market: AaveMarketInfo, mainnetWeb3: Web3) => Promise<AaveV3PositionData>;
|
package/esm/aaveV3/index.js
CHANGED
|
@@ -47,7 +47,7 @@ export const aaveV3EmodeCategoriesMapping = (extractedState, usedAssets) => {
|
|
|
47
47
|
});
|
|
48
48
|
return categoriesMapping;
|
|
49
49
|
};
|
|
50
|
-
export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
50
|
+
export function getAaveV3MarketData(web3, network, market, defaultWeb3, blockNumber = 'latest') {
|
|
51
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
52
|
const _addresses = market.assets.map(a => getAssetInfo(ethToWeth(a), network).address);
|
|
53
53
|
const isL2 = isLayer2Network(network);
|
|
@@ -56,9 +56,9 @@ export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
|
56
56
|
const marketAddress = market.providerAddress;
|
|
57
57
|
// eslint-disable-next-line prefer-const
|
|
58
58
|
let [loanInfo, eModesInfo, isBorrowAllowed] = yield Promise.all([
|
|
59
|
-
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call(),
|
|
60
|
-
loanInfoContract.methods.getAllEmodes(marketAddress).call(),
|
|
61
|
-
loanInfoContract.methods.isBorrowAllowed(marketAddress).call(), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
59
|
+
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call({}, blockNumber),
|
|
60
|
+
loanInfoContract.methods.getAllEmodes(marketAddress).call({}, blockNumber),
|
|
61
|
+
loanInfoContract.methods.isBorrowAllowed(marketAddress).call({}, blockNumber), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
62
62
|
]);
|
|
63
63
|
isBorrowAllowed = isLayer2Network(network) ? isBorrowAllowed : true;
|
|
64
64
|
const eModeCategoriesData = {};
|
|
@@ -320,7 +320,7 @@ export const getAaveV3AccountBalances = (web3, network, block, addressMapping, a
|
|
|
320
320
|
});
|
|
321
321
|
return balances;
|
|
322
322
|
});
|
|
323
|
-
export const getAaveV3AccountData = (web3, network, address, extractedState) => __awaiter(void 0, void 0, void 0, function* () {
|
|
323
|
+
export const getAaveV3AccountData = (web3, network, address, extractedState, blockNumber = 'latest') => __awaiter(void 0, void 0, void 0, function* () {
|
|
324
324
|
const { selectedMarket: market, assetsData, eModeCategoriesData, } = extractedState;
|
|
325
325
|
let payload = Object.assign(Object.assign({}, EMPTY_AAVE_DATA), { lastUpdated: Date.now() });
|
|
326
326
|
if (!address) {
|
|
@@ -354,7 +354,7 @@ export const getAaveV3AccountData = (web3, network, address, extractedState) =>
|
|
|
354
354
|
},
|
|
355
355
|
];
|
|
356
356
|
const [multicallRes, { 0: stkAaveBalance }] = yield Promise.all([
|
|
357
|
-
multicall(multicallData, web3, network),
|
|
357
|
+
multicall(multicallData, web3, network, blockNumber),
|
|
358
358
|
isL2 ? { 0: '0' } : getAssetsBalances(['stkAAVE'], address, network, web3),
|
|
359
359
|
{ 0: '0' },
|
|
360
360
|
]);
|
|
@@ -9,7 +9,7 @@ export const morphoAaveV2AssetDefaultMarket = ['DAI', 'ETH', 'USDC', 'USDT', 'WB
|
|
|
9
9
|
export const morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC', 'rETH', 'cbETH', 'sDAI', 'USDT'];
|
|
10
10
|
export const aaveV3AssetsDefaultMarketEth = [
|
|
11
11
|
'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
|
|
12
|
-
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC',
|
|
12
|
+
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC', 'PT sUSDe Sep',
|
|
13
13
|
];
|
|
14
14
|
export const aaveV3AssetsDefaultMarketOpt = [
|
|
15
15
|
'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
|
package/esm/staking/staking.js
CHANGED
|
@@ -107,7 +107,7 @@ const getApyFromDfsApi = (asset) => __awaiter(void 0, void 0, void 0, function*
|
|
|
107
107
|
const data = yield res.json();
|
|
108
108
|
return String(data.apy);
|
|
109
109
|
});
|
|
110
|
-
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH'];
|
|
110
|
+
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH', 'PT sUSDe Sep'];
|
|
111
111
|
export const getStakingApy = memoize((asset, web3, blockNumber = 'latest', fromBlock = undefined) => __awaiter(void 0, void 0, void 0, function* () {
|
|
112
112
|
try {
|
|
113
113
|
if (asset === 'stETH' || asset === 'wstETH')
|
|
@@ -144,6 +144,8 @@ export const getStakingApy = memoize((asset, web3, blockNumber = 'latest', fromB
|
|
|
144
144
|
return yield getApyFromDfsApi('PT USDe July');
|
|
145
145
|
if (asset === 'PT eUSDe Aug')
|
|
146
146
|
return yield getApyFromDfsApi('PT eUSDe Aug');
|
|
147
|
+
if (asset === 'PT sUSDe Sep')
|
|
148
|
+
return yield getApyFromDfsApi('PT sUSDe Sep');
|
|
147
149
|
if (asset === 'tETH')
|
|
148
150
|
return yield getApyFromDfsApi('tETH');
|
|
149
151
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defisaver/positions-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.27-dev-1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -14,16 +14,15 @@
|
|
|
14
14
|
"lint-check": "eslint src/",
|
|
15
15
|
"generate-contracts": "node scripts/generateContracts.js",
|
|
16
16
|
"test": "mocha tests/*",
|
|
17
|
-
"test-single": "mocha ./tests/$npm_config_name.ts",
|
|
18
17
|
"test:debugger": "mocha --inspect-brk tests/*",
|
|
19
|
-
"
|
|
18
|
+
"test-single": "mocha ./tests/$npm_config_name.ts",
|
|
20
19
|
"version-bump": "git commit -am \"Version bump to $(npm version patch | cut -c 2-)\""
|
|
21
20
|
},
|
|
22
21
|
"keywords": [],
|
|
23
22
|
"author": "",
|
|
24
23
|
"license": "ISC",
|
|
25
24
|
"dependencies": {
|
|
26
|
-
"@defisaver/tokens": "^1.6.
|
|
25
|
+
"@defisaver/tokens": "^1.6.16",
|
|
27
26
|
"@ethersproject/bignumber": "^5.7.0",
|
|
28
27
|
"@morpho-org/morpho-aave-v3-sdk": "^1.5.3",
|
|
29
28
|
"@types/lodash": "^4.17.15",
|
package/src/aaveV3/index.ts
CHANGED
|
@@ -69,7 +69,7 @@ export const aaveV3EmodeCategoriesMapping = (extractedState: any, usedAssets: Aa
|
|
|
69
69
|
return categoriesMapping;
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3): Promise<AaveV3MarketData> {
|
|
72
|
+
export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, market: AaveMarketInfo, defaultWeb3: Web3, blockNumber: 'latest' | number = 'latest'): Promise<AaveV3MarketData> {
|
|
73
73
|
const _addresses = market.assets.map(a => getAssetInfo(ethToWeth(a), network).address);
|
|
74
74
|
|
|
75
75
|
const isL2 = isLayer2Network(network);
|
|
@@ -80,9 +80,9 @@ export async function getAaveV3MarketData(web3: Web3, network: NetworkNumber, ma
|
|
|
80
80
|
|
|
81
81
|
// eslint-disable-next-line prefer-const
|
|
82
82
|
let [loanInfo, eModesInfo, isBorrowAllowed] = await Promise.all([
|
|
83
|
-
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call(),
|
|
84
|
-
loanInfoContract.methods.getAllEmodes(marketAddress).call(),
|
|
85
|
-
loanInfoContract.methods.isBorrowAllowed(marketAddress).call(), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
83
|
+
loanInfoContract.methods.getFullTokensInfo(marketAddress, _addresses).call({}, blockNumber),
|
|
84
|
+
loanInfoContract.methods.getAllEmodes(marketAddress).call({}, blockNumber),
|
|
85
|
+
loanInfoContract.methods.isBorrowAllowed(marketAddress).call({}, blockNumber), // Used on L2s check for PriceOracleSentinel (mainnet will always return true)
|
|
86
86
|
]);
|
|
87
87
|
isBorrowAllowed = isLayer2Network(network) ? isBorrowAllowed : true;
|
|
88
88
|
|
|
@@ -372,7 +372,7 @@ export const getAaveV3AccountBalances = async (web3: Web3, network: NetworkNumbe
|
|
|
372
372
|
return balances;
|
|
373
373
|
};
|
|
374
374
|
|
|
375
|
-
export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any): Promise<AaveV3PositionData> => {
|
|
375
|
+
export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, address: EthAddress, extractedState: any, blockNumber: 'latest' | number = 'latest'): Promise<AaveV3PositionData> => {
|
|
376
376
|
const {
|
|
377
377
|
selectedMarket: market, assetsData, eModeCategoriesData,
|
|
378
378
|
} = extractedState;
|
|
@@ -418,7 +418,7 @@ export const getAaveV3AccountData = async (web3: Web3, network: NetworkNumber, a
|
|
|
418
418
|
];
|
|
419
419
|
|
|
420
420
|
const [multicallRes, { 0: stkAaveBalance }] = await Promise.all([
|
|
421
|
-
multicall(multicallData, web3, network),
|
|
421
|
+
multicall(multicallData, web3, network, blockNumber),
|
|
422
422
|
isL2 ? { 0: '0' } : getAssetsBalances(['stkAAVE'], address, network, web3),
|
|
423
423
|
{ 0: '0' },
|
|
424
424
|
]);
|
|
@@ -13,7 +13,7 @@ export const morphoAaveV3AssetEthMarket = ['ETH', 'wstETH', 'DAI', 'USDC', 'WBTC
|
|
|
13
13
|
|
|
14
14
|
export const aaveV3AssetsDefaultMarketEth = [
|
|
15
15
|
'ETH', 'wstETH', 'WBTC', 'USDC', 'DAI', 'LINK', 'AAVE', 'cbETH', 'USDT', 'rETH', 'LUSD', 'CRV', 'MKR', 'SNX', 'BAL', 'UNI', 'LDO', 'ENS', '1INCH', 'FRAX', 'GHO', 'RPL', 'sDAI', 'STG', 'KNC', 'FXS', 'crvUSD', 'PYUSD', 'weETH', 'osETH', 'USDe', 'ETHx', 'sUSDe', 'tBTC', 'cbBTC', 'USDS', 'rsETH', 'LBTC', 'eBTC', 'RLUSD', 'PT eUSDe May', 'PT sUSDe July', 'USDtb',
|
|
16
|
-
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC',
|
|
16
|
+
'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'EURC', 'FBTC', 'PT sUSDe Sep',
|
|
17
17
|
];
|
|
18
18
|
export const aaveV3AssetsDefaultMarketOpt = [
|
|
19
19
|
'DAI', 'USDC.e', 'USDT', 'SUSD', 'AAVE', 'LINK', 'WBTC', 'ETH', 'OP', 'wstETH', 'LUSD', 'MAI', 'rETH', 'USDC',
|
package/src/staking/staking.ts
CHANGED
|
@@ -109,7 +109,7 @@ const getApyFromDfsApi = async (asset: string) => {
|
|
|
109
109
|
return String(data.apy);
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH'];
|
|
112
|
+
export const STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH', 'ETHx', 'rsETH', 'pufETH', 'wrsETH', 'wsuperOETHb', 'sUSDS', 'PT eUSDe May', 'PT sUSDe July', 'PT USDe July', 'PT eUSDe Aug', 'tETH', 'PT sUSDe Sep'];
|
|
113
113
|
|
|
114
114
|
export const getStakingApy = memoize(async (asset: string, web3: Web3, blockNumber: 'latest' | number = 'latest', fromBlock: number | undefined = undefined) => {
|
|
115
115
|
try {
|
|
@@ -130,6 +130,7 @@ export const getStakingApy = memoize(async (asset: string, web3: Web3, blockNumb
|
|
|
130
130
|
if (asset === 'PT sUSDe July') return await getApyFromDfsApi('PT sUSDe July');
|
|
131
131
|
if (asset === 'PT USDe July') return await getApyFromDfsApi('PT USDe July');
|
|
132
132
|
if (asset === 'PT eUSDe Aug') return await getApyFromDfsApi('PT eUSDe Aug');
|
|
133
|
+
if (asset === 'PT sUSDe Sep') return await getApyFromDfsApi('PT sUSDe Sep');
|
|
133
134
|
if (asset === 'tETH') return await getApyFromDfsApi('tETH');
|
|
134
135
|
} catch (e) {
|
|
135
136
|
console.error(`Failed to fetch APY for ${asset}`);
|