@stake-dao/reader 0.4.107 → 0.4.109

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 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';
@@ -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":"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"}
@@ -0,0 +1,64 @@
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
+ inputs: [],
58
+ name: 'getTotalSupplyCap',
59
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
60
+ stateMutability: 'view',
61
+ type: 'function',
62
+ },
63
+ ];
64
+ //# 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;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAA"}
@@ -0,0 +1,97 @@
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
+ { address: vault, name: 'getTotalSupplyCap' },
33
+ ];
34
+ const callsLength = vaultCalls('', '').length;
35
+ export const getIporApy = (vault, performanceFeeData, managementFeeData) => {
36
+ // Interest APY
37
+ let totalApy = Number(vault.apy);
38
+ // Add icentives APY - without perf fees
39
+ totalApy += Number(vault.rewardsApy) * (1 - Number(performanceFeeData) / 10000);
40
+ // Remove management fee - annualized fee on total deposited amount
41
+ totalApy -= Number(managementFeeData) / 100;
42
+ return totalApy;
43
+ };
44
+ export const fetchIporVaults = async ({ provider, chainId }) => {
45
+ const vaults = VAULTS[chainId];
46
+ 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())));
47
+ const rawData = await multicall(provider, vaults.flatMap((v) => vaultCalls(v.vault.address, v.vault.withdrawManager)), abi);
48
+ const lastVaultsData = apisData.map((el) => ({
49
+ ...el,
50
+ ...el.history[el.history.length - 1],
51
+ }));
52
+ let currentRawIndex = 0;
53
+ const parsedData = lastVaultsData.map((v, index) => {
54
+ const managementFeeData = rawData[currentRawIndex].result.feeInPercentage;
55
+ const performanceFeeData = rawData[currentRawIndex + 1].result.feeInPercentage;
56
+ // const requestFee = rawData[currentRawIndex + 2].result
57
+ const withdrawFee = rawData[currentRawIndex + 3].result;
58
+ const conversionRate = rawData[currentRawIndex + 4].result;
59
+ const supplyCap = rawData[currentRawIndex + 5].result;
60
+ const tvl = Number(v.tvl);
61
+ const lpPriceInUsd = Number(v.tvl) / Number(v.totalBalance);
62
+ currentRawIndex += callsLength;
63
+ return {
64
+ ...vaults[index],
65
+ ...v,
66
+ tokensFilter: ['usd', 'crvusd'],
67
+ lpPriceInUsd,
68
+ tvl,
69
+ conversionRate: formatUnits(conversionRate, 0),
70
+ supplyCap: Number(formatUnits(supplyCap, vaults[index].vault.decimals)) * lpPriceInUsd,
71
+ tradingApy: Number(v.apy),
72
+ apr: {
73
+ boost: 0,
74
+ current: {
75
+ total: getIporApy(v, performanceFeeData, managementFeeData),
76
+ details: [
77
+ { label: 'Interest', value: [Number(v.apy)] },
78
+ { label: 'Token Incentives', value: [Number(v.rewardsApy)] },
79
+ ],
80
+ },
81
+ },
82
+ stratsData: {
83
+ boost: 0,
84
+ accumulatedFees: '0',
85
+ keeperFee: '0',
86
+ veSDTFee: '0',
87
+ accumulatorFee: '0',
88
+ claimerFee: '0',
89
+ managementFee: formatUnits(managementFeeData, 0),
90
+ perfFee: formatUnits(performanceFeeData, 0),
91
+ withdrawalFee: formatUnits(withdrawFee, 0),
92
+ },
93
+ };
94
+ });
95
+ return parsedData;
96
+ };
97
+ //# 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 = 0;
102
- const maxApr = 0;
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/strategies/yearn/fetch/index.ts"],"names":[],"mappings":"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"}
@@ -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,37 @@
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
+ inputs: never[];
28
+ name: string;
29
+ outputs: {
30
+ internalType: string;
31
+ name: string;
32
+ type: string;
33
+ }[];
34
+ stateMutability: string;
35
+ type: string;
36
+ })[];
37
+ //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8Df,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;AAYD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,WASrF,CAAA;AAED,eAAO,MAAM,eAAe,0BAAiC,gBAAgB,iBAmE5E,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;AAiCrF,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,kDAAyD,WAAW,KAAG,OAAO,CAAC,YAAY,CA4LjH,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.107",
4
+ "version": "0.4.109",
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.55"
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,63 @@
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
+ inputs: [],
58
+ name: 'getTotalSupplyCap',
59
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
60
+ stateMutability: 'view',
61
+ type: 'function',
62
+ },
63
+ ]
@@ -0,0 +1,122 @@
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
+ { address: vault, name: 'getTotalSupplyCap' },
41
+ ]
42
+ const callsLength = vaultCalls('', '').length
43
+
44
+ export const getIporApy = (vault: any, performanceFeeData: any, managementFeeData: any) => {
45
+ // Interest APY
46
+ let totalApy = Number(vault.apy)
47
+ // Add icentives APY - without perf fees
48
+ totalApy += Number(vault.rewardsApy) * (1 - Number(performanceFeeData) / 10000)
49
+ // Remove management fee - annualized fee on total deposited amount
50
+ totalApy -= Number(managementFeeData) / 100
51
+
52
+ return totalApy
53
+ }
54
+
55
+ export const fetchIporVaults = async ({ provider, chainId }: TFetchIporVaults) => {
56
+ const vaults = VAULTS[chainId]
57
+ const apisData = await Promise.all(
58
+ vaults.map((v) =>
59
+ fetch(`https://api.ipor.io/fusion/vaults-history/${chainId}/${lc(v.vault.address)}`).then((res) => res.json()),
60
+ ),
61
+ )
62
+
63
+ const rawData: any = await multicall(
64
+ provider,
65
+ vaults.flatMap((v) => vaultCalls(v.vault.address, v.vault.withdrawManager)),
66
+ abi,
67
+ )
68
+
69
+ const lastVaultsData = apisData.map((el) => ({
70
+ ...el,
71
+ ...el.history[el.history.length - 1],
72
+ }))
73
+
74
+ let currentRawIndex = 0
75
+ const parsedData = lastVaultsData.map((v, index) => {
76
+ const managementFeeData = rawData[currentRawIndex].result.feeInPercentage
77
+ const performanceFeeData = rawData[currentRawIndex + 1].result.feeInPercentage
78
+ // const requestFee = rawData[currentRawIndex + 2].result
79
+ const withdrawFee = rawData[currentRawIndex + 3].result
80
+ const conversionRate = rawData[currentRawIndex + 4].result
81
+ const supplyCap = rawData[currentRawIndex + 5].result
82
+
83
+ const tvl = Number(v.tvl)
84
+ const lpPriceInUsd = Number(v.tvl) / Number(v.totalBalance)
85
+
86
+ currentRawIndex += callsLength
87
+
88
+ return {
89
+ ...vaults[index],
90
+ ...v,
91
+ tokensFilter: ['usd', 'crvusd'],
92
+ lpPriceInUsd,
93
+ tvl,
94
+ conversionRate: formatUnits(conversionRate, 0),
95
+ supplyCap: Number(formatUnits(supplyCap, vaults[index].vault.decimals)) * lpPriceInUsd,
96
+ tradingApy: Number(v.apy),
97
+ apr: {
98
+ boost: 0,
99
+ current: {
100
+ total: getIporApy(v, performanceFeeData, managementFeeData),
101
+ details: [
102
+ { label: 'Interest', value: [Number(v.apy)] },
103
+ { label: 'Token Incentives', value: [Number(v.rewardsApy)] },
104
+ ],
105
+ },
106
+ },
107
+ stratsData: {
108
+ boost: 0,
109
+ accumulatedFees: '0',
110
+ keeperFee: '0',
111
+ veSDTFee: '0',
112
+ accumulatorFee: '0',
113
+ claimerFee: '0',
114
+ managementFee: formatUnits(managementFeeData, 0),
115
+ perfFee: formatUnits(performanceFeeData, 0),
116
+ withdrawalFee: formatUnits(withdrawFee, 0),
117
+ },
118
+ }
119
+ })
120
+
121
+ return parsedData
122
+ }
@@ -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 ({ prices, provider, explorerApiKey, chainId }: TFetchYearn): Promise<StrategyData> => {
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 = 0
141
- const maxApr = 0
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
  }