@stake-dao/reader 0.4.107 → 0.4.108
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/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/strategies/curated/ipor/abi.js +57 -0
- package/dist/esm/strategies/curated/ipor/abi.js.map +1 -0
- package/dist/esm/strategies/curated/ipor/fetch.js +94 -0
- package/dist/esm/strategies/curated/ipor/fetch.js.map +1 -0
- package/dist/esm/strategies/yearn/fetch/index.js +8 -4
- package/dist/esm/strategies/yearn/fetch/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/strategies/curated/ipor/abi.d.ts +27 -0
- package/dist/types/strategies/curated/ipor/abi.d.ts.map +1 -0
- package/dist/types/strategies/curated/ipor/fetch.d.ts +27 -0
- package/dist/types/strategies/curated/ipor/fetch.d.ts.map +1 -0
- package/dist/types/strategies/yearn/fetch/index.d.ts +1 -1
- package/dist/types/strategies/yearn/fetch/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +9 -0
- package/src/strategies/curated/ipor/abi.ts +56 -0
- package/src/strategies/curated/ipor/fetch.ts +119 -0
- package/src/strategies/yearn/fetch/index.ts +18 -4
package/dist/esm/index.js
CHANGED
|
@@ -54,6 +54,12 @@ export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
|
|
|
54
54
|
/// --- END STATEGIES
|
|
55
55
|
///////////////////////////////////////////////////////////////
|
|
56
56
|
////////////////////////////////////////////////////////////////
|
|
57
|
+
/// --- CURATED STATEGIES
|
|
58
|
+
// IPOR
|
|
59
|
+
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
60
|
+
/// --- END CURATED STATEGIES
|
|
61
|
+
///////////////////////////////////////////////////////////////
|
|
62
|
+
////////////////////////////////////////////////////////////////
|
|
57
63
|
/// --- VOTEMARKET
|
|
58
64
|
// General
|
|
59
65
|
export { processRawCampaigns } from './votemarket/fetchCampaigns/processRawCampaigns.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc;AACd,+DAA+D;AAC/D,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,aAAa,CAAA;AAC9G,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,gEAAgE;AAChE,WAAW;AACX,+DAA+D;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,gEAAgE;AAChE,eAAe;AACf,gEAAgE;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAEtD,gEAAgE;AAChE,iBAAiB;AAEjB,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,QAAQ;AACR,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAE1F,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,WAAW;AACX,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D,QAAQ;AACR,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAE9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAA;AAE/F,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAErF,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D,qBAAqB;AACrB,+DAA+D;AAE/D,gEAAgE;AAChE,yBAAyB;AAEzB,OAAO;AACP,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAExF,6BAA6B;AAC7B,+DAA+D;AAE/D,gEAAgE;AAChE,kBAAkB;AAElB,UAAU;AACV,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAGrE,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAE7G,WAAW;AACX,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AAExF,MAAM;AACN,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,SAAS;AACT,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAElF,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAErF,SAAS;AAET,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAE/E,eAAe;AAEf,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAEvF,qBAAqB;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAE7F,sBAAsB;AACtB,+DAA+D;AAE/D,gEAAgE;AAChE,qBAAqB;AAErB,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAGnE,yBAAyB;AACzB,+DAA+D;AAE/D,gEAAgE;AAChE,YAAY;AAEZ,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,YAAY;AACZ,+DAA+D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const abi = [
|
|
2
|
+
{
|
|
3
|
+
inputs: [],
|
|
4
|
+
name: 'getManagementFeeData',
|
|
5
|
+
outputs: [
|
|
6
|
+
{
|
|
7
|
+
components: [
|
|
8
|
+
{ name: 'feeAccount', type: 'address' },
|
|
9
|
+
{ name: 'feeInPercentage', type: 'uint16' },
|
|
10
|
+
{ name: 'lastUpdateTimestamp', type: 'uint32' },
|
|
11
|
+
],
|
|
12
|
+
name: 'feeData',
|
|
13
|
+
type: 'tuple',
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
stateMutability: 'view',
|
|
17
|
+
type: 'function',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
inputs: [],
|
|
21
|
+
name: 'getPerformanceFeeData',
|
|
22
|
+
outputs: [
|
|
23
|
+
{
|
|
24
|
+
components: [
|
|
25
|
+
{ name: 'feeAccount', type: 'address' },
|
|
26
|
+
{ name: 'feeInPercentage', type: 'uint16' },
|
|
27
|
+
],
|
|
28
|
+
name: 'feeData',
|
|
29
|
+
type: 'tuple',
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
stateMutability: 'view',
|
|
33
|
+
type: 'function',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
inputs: [],
|
|
37
|
+
name: 'getRequestFee',
|
|
38
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
39
|
+
stateMutability: 'view',
|
|
40
|
+
type: 'function',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
inputs: [],
|
|
44
|
+
name: 'getWithdrawFee',
|
|
45
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
46
|
+
stateMutability: 'view',
|
|
47
|
+
type: 'function',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
inputs: [{ name: '', type: 'uint256' }],
|
|
51
|
+
name: 'convertToAssets',
|
|
52
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
53
|
+
stateMutability: 'view',
|
|
54
|
+
type: 'function',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
//# sourceMappingURL=abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAChD;gBACD,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5C;gBACD,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { tokenWithId } from '@stake-dao/constants';
|
|
2
|
+
import { formatUnits, parseEther } from 'viem';
|
|
3
|
+
import { lc, multicall } from '../../../utils.js';
|
|
4
|
+
import { abi } from './abi.js';
|
|
5
|
+
export const VAULTS = {
|
|
6
|
+
42161: [
|
|
7
|
+
{
|
|
8
|
+
key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
|
|
9
|
+
name: 'LlamaRisk crvUSD Optimizer',
|
|
10
|
+
description: 'The LlamaRisk crvUSD Optimizer vault allocates crvUSD deposits into selected Stake DAO Arbitrum vaults, which optimizes returns for Llamalend markets and auto-compound rewards to boost yields. LlamaRisk will curate the strategy and optimize allocations to ensure users have a safe and high-yield entry point into Arbitrum’s crvUSD ecosystem.',
|
|
11
|
+
color1: '#0049cf',
|
|
12
|
+
curator: 'ipor',
|
|
13
|
+
chainId: 42161,
|
|
14
|
+
vault: {
|
|
15
|
+
address: '0x4c4f752fa54dafB6d51B4A39018271c90bA1156F',
|
|
16
|
+
accessManager: '0x497F8A5FcA953cd507A67e112B7D95bc712B23F1',
|
|
17
|
+
withdrawManager: '0x8Ad62D97C29cBc8e2F14152155fD81a52A70AA6d',
|
|
18
|
+
decimals: 20,
|
|
19
|
+
},
|
|
20
|
+
lpToken: tokenWithId('crvusd', 42161),
|
|
21
|
+
coins: [tokenWithId('crvusd', 42161)],
|
|
22
|
+
underlyingCoins: [tokenWithId('crvusd', 42161)],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
const vaultCalls = (vault, withdrawManager) => [
|
|
27
|
+
{ address: vault, name: 'getManagementFeeData' },
|
|
28
|
+
{ address: vault, name: 'getPerformanceFeeData' },
|
|
29
|
+
{ address: withdrawManager, name: 'getRequestFee' },
|
|
30
|
+
{ address: withdrawManager, name: 'getWithdrawFee' },
|
|
31
|
+
{ address: vault, name: 'convertToAssets', params: [parseEther('1')] },
|
|
32
|
+
];
|
|
33
|
+
const callsLength = vaultCalls('', '').length;
|
|
34
|
+
export const getIporApy = (vault, performanceFeeData, managementFeeData) => {
|
|
35
|
+
// Interest APY
|
|
36
|
+
let totalApy = Number(vault.apy);
|
|
37
|
+
// Add icentives APY - without perf fees
|
|
38
|
+
totalApy += Number(vault.rewardsApy) * (1 - Number(performanceFeeData) / 10000);
|
|
39
|
+
// Remove management fee - annualized fee on total deposited amount
|
|
40
|
+
totalApy -= Number(managementFeeData) / 100;
|
|
41
|
+
return totalApy;
|
|
42
|
+
};
|
|
43
|
+
export const fetchIporVaults = async ({ provider, chainId }) => {
|
|
44
|
+
const vaults = VAULTS[chainId];
|
|
45
|
+
const apisData = await Promise.all(vaults.map((v) => fetch(`https://api.ipor.io/fusion/vaults-history/${chainId}/${lc(v.vault.address)}`).then((res) => res.json())));
|
|
46
|
+
const rawData = await multicall(provider, vaults.flatMap((v) => vaultCalls(v.vault.address, v.vault.withdrawManager)), abi);
|
|
47
|
+
const lastVaultsData = apisData.map((el) => ({
|
|
48
|
+
...el,
|
|
49
|
+
...el.history[el.history.length - 1],
|
|
50
|
+
}));
|
|
51
|
+
let currentRawIndex = 0;
|
|
52
|
+
const parsedData = lastVaultsData.map((v, index) => {
|
|
53
|
+
const managementFeeData = rawData[currentRawIndex].result.feeInPercentage;
|
|
54
|
+
const performanceFeeData = rawData[currentRawIndex + 1].result.feeInPercentage;
|
|
55
|
+
// const requestFee = rawData[currentRawIndex + 2].result
|
|
56
|
+
const withdrawFee = rawData[currentRawIndex + 3].result;
|
|
57
|
+
const conversionRate = formatUnits(rawData[currentRawIndex + 4].result, 0);
|
|
58
|
+
const tvl = Number(v.tvl);
|
|
59
|
+
const lpPriceInUsd = Number(v.tvl) / Number(v.totalBalance);
|
|
60
|
+
currentRawIndex += callsLength;
|
|
61
|
+
return {
|
|
62
|
+
...vaults[index],
|
|
63
|
+
...v,
|
|
64
|
+
tokensFilter: ['usd', 'crvusd'],
|
|
65
|
+
lpPriceInUsd,
|
|
66
|
+
tvl,
|
|
67
|
+
conversionRate,
|
|
68
|
+
tradingApy: Number(v.apy),
|
|
69
|
+
apr: {
|
|
70
|
+
boost: 0,
|
|
71
|
+
current: {
|
|
72
|
+
total: getIporApy(v, performanceFeeData, managementFeeData),
|
|
73
|
+
details: [
|
|
74
|
+
{ label: 'Interest', value: [Number(v.apy)] },
|
|
75
|
+
{ label: 'Token Incentives', value: [Number(v.rewardsApy)] },
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
stratsData: {
|
|
80
|
+
boost: 0,
|
|
81
|
+
accumulatedFees: '0',
|
|
82
|
+
keeperFee: '0',
|
|
83
|
+
veSDTFee: '0',
|
|
84
|
+
accumulatorFee: '0',
|
|
85
|
+
claimerFee: '0',
|
|
86
|
+
managementFee: formatUnits(managementFeeData, 0),
|
|
87
|
+
perfFee: formatUnits(performanceFeeData, 0),
|
|
88
|
+
withdrawalFee: formatUnits(withdrawFee, 0),
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
return parsedData;
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { getLogsFromEtherscan } from '../../../utils/etherscan.js';
|
|
|
12
12
|
import { getAprBreakdown } from '../../utils/getAprBreakdown.js';
|
|
13
13
|
import getTokenTypes from '../../utils/getTokenTypes.js';
|
|
14
14
|
import { decodeNewFactoryEvent } from '../../utils/index.js';
|
|
15
|
+
import { fetchAllYearnGauges } from './fetchAllYearnGauges.js';
|
|
15
16
|
const globalCalls = [
|
|
16
17
|
{ address: contracts.yearnStrategy[1], name: 'claimIncentiveFee' },
|
|
17
18
|
{ address: contracts.yearnStrategy[1], name: 'protocolFeesPercent' },
|
|
@@ -30,7 +31,7 @@ const calls = (lockerAddress, tokenAddress, vaultAddress, gaugeAddress, sdGaugeA
|
|
|
30
31
|
{ address: tokenAddress, name: 'pricePerShare' },
|
|
31
32
|
];
|
|
32
33
|
const callsForRewards = (gauge, rewards) => rewards.map((r) => ({ address: gauge, name: 'reward_data', params: [r.address] }));
|
|
33
|
-
export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId }) => {
|
|
34
|
+
export const fetchYearn = async ({ prices, provider, rpc, explorerApiKey, chainId, }) => {
|
|
34
35
|
const fromBlock = yearnStrats.meta.lastSyncBlock[chainId] + 1;
|
|
35
36
|
const toBlock = Number(await provider.getBlockNumber());
|
|
36
37
|
const dYfiPrice = prices.find((p) => p.symbol === 'dYFI')?.usdPrice || 0;
|
|
@@ -56,6 +57,7 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId })
|
|
|
56
57
|
const etherscanData = ethHttpResponses[0];
|
|
57
58
|
const yearnApiData = ethHttpResponses[1];
|
|
58
59
|
const yearnGlobalData = ethHttpResponses[2];
|
|
60
|
+
const yearnGaugesData = await fetchAllYearnGauges(provider, rpc, chainId, yearnApiData, dYfiPrice);
|
|
59
61
|
const newVaults = decodeNewFactoryEvent(etherscanData);
|
|
60
62
|
const vaults = yearnStrats.strats[chainId].concat(newVaults);
|
|
61
63
|
const strats = await buildYearnStrategies(provider, vaults, chainId);
|
|
@@ -98,8 +100,8 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId })
|
|
|
98
100
|
});
|
|
99
101
|
const boost = getBoost('yearn', chunkedRawData[index][2].result, chunkedRawData[index][3].result);
|
|
100
102
|
const lpPriceInUsd = yearnGauge.lpPriceInUsd;
|
|
101
|
-
const minApr =
|
|
102
|
-
const maxApr =
|
|
103
|
+
const minApr = yearnGauge.minApr;
|
|
104
|
+
const maxApr = yearnGauge.maxApr;
|
|
103
105
|
const underlyingReward = [
|
|
104
106
|
{
|
|
105
107
|
...s.underlyingReward,
|
|
@@ -180,6 +182,8 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId })
|
|
|
180
182
|
totalGaugeSupply,
|
|
181
183
|
};
|
|
182
184
|
});
|
|
185
|
+
const deployedStratsGauges = parsedData.map((s) => s.gaugeAddress);
|
|
186
|
+
const notDeployed = yearnGaugesData.filter((yg) => yg?.gaugeAddress && !deployedStratsGauges.includes(yg.gaugeAddress));
|
|
183
187
|
return {
|
|
184
188
|
global: {
|
|
185
189
|
lastSyncBlock: toBlock,
|
|
@@ -187,7 +191,7 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId })
|
|
|
187
191
|
fees: { claimer: Number(yearnGlobalData[0].result) / 100, accumulator: 5, perf: 5, veSdt: 5 },
|
|
188
192
|
},
|
|
189
193
|
deployed: parsedData,
|
|
190
|
-
notDeployed
|
|
194
|
+
notDeployed,
|
|
191
195
|
fetched: true,
|
|
192
196
|
};
|
|
193
197
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,uBAAuB,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,aAAa,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export { fetchPendle } from './strategies/pendle/fetch.js';
|
|
|
33
33
|
export { buildPendleStrategies } from './strategies/pendle/build.js';
|
|
34
34
|
export { default as getPendleApiData } from './strategies/pendle/getPendleApiData.js';
|
|
35
35
|
export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
|
|
36
|
+
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
36
37
|
export { processRawCampaigns } from './votemarket/fetchCampaigns/processRawCampaigns.js';
|
|
37
38
|
export { fetchPendingRemoteCampaigns } from './votemarket/fetchCampaigns/pendingRemote.js';
|
|
38
39
|
export { fetchCampaigns } from './votemarket/fetchCampaigns/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const abi: ({
|
|
2
|
+
inputs: never[];
|
|
3
|
+
name: string;
|
|
4
|
+
outputs: {
|
|
5
|
+
components: {
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
}[];
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
}[];
|
|
12
|
+
stateMutability: string;
|
|
13
|
+
type: string;
|
|
14
|
+
} | {
|
|
15
|
+
inputs: {
|
|
16
|
+
name: string;
|
|
17
|
+
type: string;
|
|
18
|
+
}[];
|
|
19
|
+
name: string;
|
|
20
|
+
outputs: {
|
|
21
|
+
name: string;
|
|
22
|
+
type: string;
|
|
23
|
+
}[];
|
|
24
|
+
stateMutability: string;
|
|
25
|
+
type: string;
|
|
26
|
+
})[];
|
|
27
|
+
//# sourceMappingURL=abi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/abi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;IAuDf,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface TFetchIporVaults {
|
|
2
|
+
provider: any;
|
|
3
|
+
chainId: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const VAULTS: {
|
|
6
|
+
42161: {
|
|
7
|
+
key: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
color1: string;
|
|
11
|
+
curator: string;
|
|
12
|
+
chainId: number;
|
|
13
|
+
vault: {
|
|
14
|
+
address: string;
|
|
15
|
+
accessManager: string;
|
|
16
|
+
withdrawManager: string;
|
|
17
|
+
decimals: number;
|
|
18
|
+
};
|
|
19
|
+
lpToken: import("@stake-dao/constants").Token | undefined;
|
|
20
|
+
coins: (import("@stake-dao/constants").Token | undefined)[];
|
|
21
|
+
underlyingCoins: (import("@stake-dao/constants").Token | undefined)[];
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
export declare const getIporApy: (vault: any, performanceFeeData: any, managementFeeData: any) => number;
|
|
25
|
+
export declare const fetchIporVaults: ({ provider, chainId }: TFetchIporVaults) => Promise<any>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;CAqBlB,CAAA;AAWD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,WASrF,CAAA;AAED,eAAO,MAAM,eAAe,0BAAiC,gBAAgB,iBAiE5E,CAAA"}
|
|
@@ -7,6 +7,6 @@ interface TFetchYearn {
|
|
|
7
7
|
explorerApiKey: string;
|
|
8
8
|
chainId: ValidChainId;
|
|
9
9
|
}
|
|
10
|
-
export declare const fetchYearn: ({ prices, provider, explorerApiKey, chainId }: TFetchYearn) => Promise<StrategyData>;
|
|
10
|
+
export declare const fetchYearn: ({ prices, provider, rpc, explorerApiKey, chainId, }: TFetchYearn) => Promise<StrategyData>;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAuB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAuB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkCrF,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,UAAU,wDAMpB,WAAW,KAAG,OAAO,CAAC,YAAY,CAmMpC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stake-dao/reader",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.108",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"graphql-request": "^6.0.0",
|
|
36
36
|
"lodash-es": "^4.17.21",
|
|
37
37
|
"viem": "2.35.0",
|
|
38
|
-
"@stake-dao/constants": "0.4.
|
|
38
|
+
"@stake-dao/constants": "0.4.56"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/lodash-es": "^4.17.12",
|
package/src/index.ts
CHANGED
|
@@ -68,6 +68,15 @@ export { fetchStakeDao } from './strategies/stakeDao/fetch.js'
|
|
|
68
68
|
/// --- END STATEGIES
|
|
69
69
|
///////////////////////////////////////////////////////////////
|
|
70
70
|
|
|
71
|
+
////////////////////////////////////////////////////////////////
|
|
72
|
+
/// --- CURATED STATEGIES
|
|
73
|
+
|
|
74
|
+
// IPOR
|
|
75
|
+
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js'
|
|
76
|
+
|
|
77
|
+
/// --- END CURATED STATEGIES
|
|
78
|
+
///////////////////////////////////////////////////////////////
|
|
79
|
+
|
|
71
80
|
////////////////////////////////////////////////////////////////
|
|
72
81
|
/// --- VOTEMARKET
|
|
73
82
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const abi = [
|
|
2
|
+
{
|
|
3
|
+
inputs: [],
|
|
4
|
+
name: 'getManagementFeeData',
|
|
5
|
+
outputs: [
|
|
6
|
+
{
|
|
7
|
+
components: [
|
|
8
|
+
{ name: 'feeAccount', type: 'address' },
|
|
9
|
+
{ name: 'feeInPercentage', type: 'uint16' },
|
|
10
|
+
{ name: 'lastUpdateTimestamp', type: 'uint32' },
|
|
11
|
+
],
|
|
12
|
+
name: 'feeData',
|
|
13
|
+
type: 'tuple',
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
stateMutability: 'view',
|
|
17
|
+
type: 'function',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
inputs: [],
|
|
21
|
+
name: 'getPerformanceFeeData',
|
|
22
|
+
outputs: [
|
|
23
|
+
{
|
|
24
|
+
components: [
|
|
25
|
+
{ name: 'feeAccount', type: 'address' },
|
|
26
|
+
{ name: 'feeInPercentage', type: 'uint16' },
|
|
27
|
+
],
|
|
28
|
+
name: 'feeData',
|
|
29
|
+
type: 'tuple',
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
stateMutability: 'view',
|
|
33
|
+
type: 'function',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
inputs: [],
|
|
37
|
+
name: 'getRequestFee',
|
|
38
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
39
|
+
stateMutability: 'view',
|
|
40
|
+
type: 'function',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
inputs: [],
|
|
44
|
+
name: 'getWithdrawFee',
|
|
45
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
46
|
+
stateMutability: 'view',
|
|
47
|
+
type: 'function',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
inputs: [{ name: '', type: 'uint256' }],
|
|
51
|
+
name: 'convertToAssets',
|
|
52
|
+
outputs: [{ name: '', type: 'uint256' }],
|
|
53
|
+
stateMutability: 'view',
|
|
54
|
+
type: 'function',
|
|
55
|
+
},
|
|
56
|
+
]
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { tokenWithId } from '@stake-dao/constants'
|
|
2
|
+
import { formatUnits, parseEther } from 'viem'
|
|
3
|
+
import { lc, multicall } from '../../../utils.js'
|
|
4
|
+
import { abi } from './abi.js'
|
|
5
|
+
|
|
6
|
+
interface TFetchIporVaults {
|
|
7
|
+
provider: any
|
|
8
|
+
chainId: number
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const VAULTS = {
|
|
12
|
+
42161: [
|
|
13
|
+
{
|
|
14
|
+
key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
|
|
15
|
+
name: 'LlamaRisk crvUSD Optimizer',
|
|
16
|
+
description:
|
|
17
|
+
'The LlamaRisk crvUSD Optimizer vault allocates crvUSD deposits into selected Stake DAO Arbitrum vaults, which optimizes returns for Llamalend markets and auto-compound rewards to boost yields. LlamaRisk will curate the strategy and optimize allocations to ensure users have a safe and high-yield entry point into Arbitrum’s crvUSD ecosystem.',
|
|
18
|
+
color1: '#0049cf',
|
|
19
|
+
curator: 'ipor',
|
|
20
|
+
chainId: 42161,
|
|
21
|
+
vault: {
|
|
22
|
+
address: '0x4c4f752fa54dafB6d51B4A39018271c90bA1156F',
|
|
23
|
+
accessManager: '0x497F8A5FcA953cd507A67e112B7D95bc712B23F1',
|
|
24
|
+
withdrawManager: '0x8Ad62D97C29cBc8e2F14152155fD81a52A70AA6d',
|
|
25
|
+
decimals: 20,
|
|
26
|
+
},
|
|
27
|
+
lpToken: tokenWithId('crvusd', 42161),
|
|
28
|
+
coins: [tokenWithId('crvusd', 42161)],
|
|
29
|
+
underlyingCoins: [tokenWithId('crvusd', 42161)],
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const vaultCalls = (vault: string, withdrawManager: string) => [
|
|
35
|
+
{ address: vault, name: 'getManagementFeeData' },
|
|
36
|
+
{ address: vault, name: 'getPerformanceFeeData' },
|
|
37
|
+
{ address: withdrawManager, name: 'getRequestFee' },
|
|
38
|
+
{ address: withdrawManager, name: 'getWithdrawFee' },
|
|
39
|
+
{ address: vault, name: 'convertToAssets', params: [parseEther('1')] },
|
|
40
|
+
]
|
|
41
|
+
const callsLength = vaultCalls('', '').length
|
|
42
|
+
|
|
43
|
+
export const getIporApy = (vault: any, performanceFeeData: any, managementFeeData: any) => {
|
|
44
|
+
// Interest APY
|
|
45
|
+
let totalApy = Number(vault.apy)
|
|
46
|
+
// Add icentives APY - without perf fees
|
|
47
|
+
totalApy += Number(vault.rewardsApy) * (1 - Number(performanceFeeData) / 10000)
|
|
48
|
+
// Remove management fee - annualized fee on total deposited amount
|
|
49
|
+
totalApy -= Number(managementFeeData) / 100
|
|
50
|
+
|
|
51
|
+
return totalApy
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export const fetchIporVaults = async ({ provider, chainId }: TFetchIporVaults) => {
|
|
55
|
+
const vaults = VAULTS[chainId]
|
|
56
|
+
const apisData = await Promise.all(
|
|
57
|
+
vaults.map((v) =>
|
|
58
|
+
fetch(`https://api.ipor.io/fusion/vaults-history/${chainId}/${lc(v.vault.address)}`).then((res) => res.json()),
|
|
59
|
+
),
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
const rawData: any = await multicall(
|
|
63
|
+
provider,
|
|
64
|
+
vaults.flatMap((v) => vaultCalls(v.vault.address, v.vault.withdrawManager)),
|
|
65
|
+
abi,
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
const lastVaultsData = apisData.map((el) => ({
|
|
69
|
+
...el,
|
|
70
|
+
...el.history[el.history.length - 1],
|
|
71
|
+
}))
|
|
72
|
+
|
|
73
|
+
let currentRawIndex = 0
|
|
74
|
+
const parsedData = lastVaultsData.map((v, index) => {
|
|
75
|
+
const managementFeeData = rawData[currentRawIndex].result.feeInPercentage
|
|
76
|
+
const performanceFeeData = rawData[currentRawIndex + 1].result.feeInPercentage
|
|
77
|
+
// const requestFee = rawData[currentRawIndex + 2].result
|
|
78
|
+
const withdrawFee = rawData[currentRawIndex + 3].result
|
|
79
|
+
const conversionRate = formatUnits(rawData[currentRawIndex + 4].result, 0)
|
|
80
|
+
|
|
81
|
+
const tvl = Number(v.tvl)
|
|
82
|
+
const lpPriceInUsd = Number(v.tvl) / Number(v.totalBalance)
|
|
83
|
+
|
|
84
|
+
currentRawIndex += callsLength
|
|
85
|
+
|
|
86
|
+
return {
|
|
87
|
+
...vaults[index],
|
|
88
|
+
...v,
|
|
89
|
+
tokensFilter: ['usd', 'crvusd'],
|
|
90
|
+
lpPriceInUsd,
|
|
91
|
+
tvl,
|
|
92
|
+
conversionRate,
|
|
93
|
+
tradingApy: Number(v.apy),
|
|
94
|
+
apr: {
|
|
95
|
+
boost: 0,
|
|
96
|
+
current: {
|
|
97
|
+
total: getIporApy(v, performanceFeeData, managementFeeData),
|
|
98
|
+
details: [
|
|
99
|
+
{ label: 'Interest', value: [Number(v.apy)] },
|
|
100
|
+
{ label: 'Token Incentives', value: [Number(v.rewardsApy)] },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
stratsData: {
|
|
105
|
+
boost: 0,
|
|
106
|
+
accumulatedFees: '0',
|
|
107
|
+
keeperFee: '0',
|
|
108
|
+
veSDTFee: '0',
|
|
109
|
+
accumulatorFee: '0',
|
|
110
|
+
claimerFee: '0',
|
|
111
|
+
managementFee: formatUnits(managementFeeData, 0),
|
|
112
|
+
perfFee: formatUnits(performanceFeeData, 0),
|
|
113
|
+
withdrawalFee: formatUnits(withdrawFee, 0),
|
|
114
|
+
},
|
|
115
|
+
}
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
return parsedData
|
|
119
|
+
}
|
|
@@ -16,6 +16,7 @@ import type { RewardsData, SdtApr, StrategyData, ValidChainId } from '../../type
|
|
|
16
16
|
import { getAprBreakdown } from '../../utils/getAprBreakdown.js'
|
|
17
17
|
import getTokenTypes from '../../utils/getTokenTypes.js'
|
|
18
18
|
import { decodeNewFactoryEvent } from '../../utils/index.js'
|
|
19
|
+
import { fetchAllYearnGauges } from './fetchAllYearnGauges.js'
|
|
19
20
|
|
|
20
21
|
const globalCalls = [
|
|
21
22
|
{ address: contracts.yearnStrategy![1]!, name: 'claimIncentiveFee' },
|
|
@@ -53,7 +54,13 @@ interface TFetchYearn {
|
|
|
53
54
|
chainId: ValidChainId
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
export const fetchYearn = async ({
|
|
57
|
+
export const fetchYearn = async ({
|
|
58
|
+
prices,
|
|
59
|
+
provider,
|
|
60
|
+
rpc,
|
|
61
|
+
explorerApiKey,
|
|
62
|
+
chainId,
|
|
63
|
+
}: TFetchYearn): Promise<StrategyData> => {
|
|
57
64
|
const fromBlock = yearnStrats.meta.lastSyncBlock[chainId]! + 1
|
|
58
65
|
const toBlock = Number(await provider.getBlockNumber())
|
|
59
66
|
|
|
@@ -90,6 +97,8 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId }:
|
|
|
90
97
|
const yearnApiData = ethHttpResponses[1]
|
|
91
98
|
const yearnGlobalData = ethHttpResponses[2]
|
|
92
99
|
|
|
100
|
+
const yearnGaugesData = await fetchAllYearnGauges(provider, rpc, chainId, yearnApiData, dYfiPrice)
|
|
101
|
+
|
|
93
102
|
const newVaults = decodeNewFactoryEvent(etherscanData)
|
|
94
103
|
const vaults = yearnStrats.strats[chainId]!.concat(newVaults)
|
|
95
104
|
|
|
@@ -137,8 +146,8 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId }:
|
|
|
137
146
|
const boost = getBoost('yearn', chunkedRawData[index][2].result, chunkedRawData[index][3].result)
|
|
138
147
|
|
|
139
148
|
const lpPriceInUsd = yearnGauge.lpPriceInUsd
|
|
140
|
-
const minApr =
|
|
141
|
-
const maxApr =
|
|
149
|
+
const minApr = yearnGauge.minApr
|
|
150
|
+
const maxApr = yearnGauge.maxApr
|
|
142
151
|
|
|
143
152
|
const underlyingReward = [
|
|
144
153
|
{
|
|
@@ -231,6 +240,11 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId }:
|
|
|
231
240
|
}
|
|
232
241
|
})
|
|
233
242
|
|
|
243
|
+
const deployedStratsGauges = parsedData.map((s) => s.gaugeAddress)
|
|
244
|
+
const notDeployed = yearnGaugesData.filter(
|
|
245
|
+
(yg) => yg?.gaugeAddress && !deployedStratsGauges.includes(yg.gaugeAddress),
|
|
246
|
+
)
|
|
247
|
+
|
|
234
248
|
return {
|
|
235
249
|
global: {
|
|
236
250
|
lastSyncBlock: toBlock,
|
|
@@ -238,7 +252,7 @@ export const fetchYearn = async ({ prices, provider, explorerApiKey, chainId }:
|
|
|
238
252
|
fees: { claimer: Number(yearnGlobalData[0].result) / 100, accumulator: 5, perf: 5, veSdt: 5 },
|
|
239
253
|
},
|
|
240
254
|
deployed: parsedData,
|
|
241
|
-
notDeployed
|
|
255
|
+
notDeployed,
|
|
242
256
|
fetched: true,
|
|
243
257
|
}
|
|
244
258
|
}
|