@stake-dao/reader 0.5.10 → 0.5.11

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
@@ -62,6 +62,8 @@ export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
62
62
  export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
63
63
  // LAGOON
64
64
  export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js';
65
+ // MORPHO
66
+ export { fetchMorphoVaults, VAULTS as MORPHO_VAULTS } from './strategies/curated/morpho/fetch.js';
65
67
  /// --- END CURATED STATEGIES
66
68
  ///////////////////////////////////////////////////////////////
67
69
  ////////////////////////////////////////////////////////////////
@@ -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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"}
@@ -3,12 +3,30 @@ import { formatUnits, parseEther } from 'viem';
3
3
  import { lc, multicall } from '../../../utils.js';
4
4
  import { abi } from './abi.js';
5
5
  export const VAULTS = {
6
+ 1: [
7
+ {
8
+ key: '1-0xbfa9d6ec0e04b6691fcae5f8b48838c3918ec117',
9
+ name: 'crvUSD',
10
+ description: 'The LlamaRisk crvUSD Optimizer vault allocates crvUSD deposits into selected Stake DAO Ethereum vaults, which optimizes returns for Llamalend markets and auto-compound rewards to boost yields. It also allocates directly to Llamalend markets and scrvUSD. LlamaRisk curates the strategy and optimizes allocations to ensure users have a safe and high-yield entry point into Ethereum Mainnet’s crvUSD ecosystem.',
11
+ infra: 'ipor',
12
+ curator: 'llamarisk',
13
+ chainId: 1,
14
+ vault: {
15
+ address: '0xbfA9d6EC0E04B6691fCAE5F8b48838C3918eC117',
16
+ accessManager: '0x0Bcf0187003f2154840d055144654eD18033a3c6',
17
+ withdrawManager: '0xcE6502004DE605dd1bb48aa61c593a19aA99f328',
18
+ decimals: 20,
19
+ },
20
+ lpToken: tokenWithId('crvusd', 1),
21
+ coins: [tokenWithId('crvusd', 1)],
22
+ underlyingCoins: [tokenWithId('crvusd', 1)],
23
+ },
24
+ ],
6
25
  42161: [
7
26
  {
8
27
  key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
9
- name: 'LlamaRisk crvUSD',
28
+ name: 'crvUSD',
10
29
  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
30
  infra: 'ipor',
13
31
  curator: 'llamarisk',
14
32
  chainId: 42161,
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { tokenWithId } from '@stake-dao/constants';
2
+ import { formatUnits } from 'viem';
3
+ import { equalTlc, graphql } from '../../../utils.js';
4
+ const MORPHO_REWARD_TOKEN = { 1: '0x58D97B57BB95320F9a05dC918Aef65434969c2B2' };
5
+ export const VAULTS = {
6
+ 1: [
7
+ {
8
+ key: '1-0x8edcc305e633d29bfb383872e79401c506ce9e6f',
9
+ name: 'USDC',
10
+ description: 'The Stake DAO USDC vault aims to optimize yields by lending USDC against selected Stake DAO LP token collaterals with a cautious risk approach or other blue chip collaterals depending on market conditions.',
11
+ infra: 'morpho',
12
+ curator: 'stakedao',
13
+ chainId: 1,
14
+ vault: {
15
+ address: '0x8EDCC305E633d29BFB383872e79401c506cE9E6f',
16
+ decimals: 18,
17
+ curator: '0x13AA4f80AD5F06cE4f1A3a3cA58C37059F0EE4c5',
18
+ },
19
+ lpToken: tokenWithId('usdc'),
20
+ coins: [tokenWithId('usdc')],
21
+ underlyingCoins: [tokenWithId('usdc')],
22
+ },
23
+ ],
24
+ };
25
+ export const fetchMorphoVaults = async () => {
26
+ const vaults = Object.keys(VAULTS).flatMap((chainId) => VAULTS[chainId]);
27
+ const apiData = await graphql('https://api.morpho.org/graphql', `{
28
+ vaultV2s(first: ${vaults.length}, where: { address_in: [${vaults.map((v) => `"${v.vault.address}"`).join(', ')}] }) {
29
+ items {
30
+ address
31
+ symbol
32
+ name
33
+ asset {
34
+ address
35
+ decimals
36
+ }
37
+ avgApy
38
+ avgNetApy
39
+ totalAssets
40
+ totalAssetsUsd
41
+ totalSupply
42
+ liquidityUsd
43
+ idleAssetsUsd
44
+ performanceFee
45
+ managementFee
46
+ maxRate
47
+ rewards {
48
+ asset {
49
+ address
50
+ chain {
51
+ id
52
+ }
53
+ }
54
+ supplyApr
55
+ yearlySupplyTokens
56
+ }
57
+ }
58
+ }
59
+ }`).then((res) => res.vaultV2s.items);
60
+ const parsedData = apiData.map((v, index) => {
61
+ const vault = vaults[index];
62
+ const tvl = v.totalAssetsUsd;
63
+ const lpPriceInUsd = v.totalAssetsUsd / Number(formatUnits(BigInt(v.totalAssets), vault.lpToken.decimals));
64
+ const conversionRate = (BigInt(v.totalAssets) * BigInt(10 ** vault.vault.decimals)) / BigInt(v.totalSupply);
65
+ const morphoReward = v.rewards.find((r) => equalTlc(r.asset.address, MORPHO_REWARD_TOKEN[vault.chainId]));
66
+ const totalApy = v.avgNetApy * 100;
67
+ const interestApy = v.avgApy * 100;
68
+ const morphoApy = morphoReward.supplyApr * 100;
69
+ return {
70
+ ...vault,
71
+ tokensFilter: ['usd'],
72
+ lpPriceInUsd,
73
+ tvl,
74
+ conversionRate: formatUnits(conversionRate, 0),
75
+ tradingApy: interestApy,
76
+ apr: {
77
+ boost: 0,
78
+ current: {
79
+ total: totalApy,
80
+ details: [
81
+ { label: 'Interest', value: [interestApy] },
82
+ { label: 'MORPHO', value: [morphoApy] },
83
+ ],
84
+ },
85
+ },
86
+ feeDenominator: '10000',
87
+ feesBreakdown: [
88
+ { key: 'managementFee', value: `${v.managementFee}` },
89
+ { key: 'perfFee', value: `${v.performanceFee}` },
90
+ ],
91
+ };
92
+ });
93
+ return parsedData;
94
+ };
95
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/morpho/fetch.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export { default as getPendleApiData } from './strategies/pendle/getPendleApiDat
38
38
  export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
39
39
  export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
40
40
  export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js';
41
+ export { fetchMorphoVaults, VAULTS as MORPHO_VAULTS } from './strategies/curated/morpho/fetch.js';
41
42
  export { processRawCampaigns } from './votemarket/fetchCampaigns/processRawCampaigns.js';
42
43
  export { fetchPendingRemoteCampaigns } from './votemarket/fetchCampaigns/pendingRemote.js';
43
44
  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":"AAGA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAC9D,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;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKlD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAK7E,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,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;AAG1F,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,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;AAG/F,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAG5D,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;AAGrF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAS9D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAGvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAGjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAA;AASjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAGtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AAGxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAIrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAA;AAI/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAGvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAA;AAS7F,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AASvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA"}
@@ -3,11 +3,27 @@ interface TFetchIporVaults {
3
3
  chainId: number;
4
4
  }
5
5
  export declare const VAULTS: {
6
+ 1: {
7
+ key: string;
8
+ name: string;
9
+ description: string;
10
+ infra: 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
+ }[];
6
23
  42161: {
7
24
  key: string;
8
25
  name: string;
9
26
  description: string;
10
- color1: string;
11
27
  infra: string;
12
28
  curator: string;
13
29
  chainId: number;
@@ -1 +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;;;;;;;;;;;;;;;;;;;CAsBlB,CAAA;AAYD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,WASrF,CAAA;AAED,eAAO,MAAM,eAAe,0BAAiC,gBAAgB,iBA+D5E,CAAA"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAA;AAYD,eAAO,MAAM,UAAU,UAAW,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,WASrF,CAAA;AAED,eAAO,MAAM,eAAe,0BAAiC,gBAAgB,iBA+D5E,CAAA"}
@@ -0,0 +1,20 @@
1
+ export declare const VAULTS: {
2
+ 1: {
3
+ key: string;
4
+ name: string;
5
+ description: string;
6
+ infra: string;
7
+ curator: string;
8
+ chainId: number;
9
+ vault: {
10
+ address: string;
11
+ decimals: number;
12
+ curator: string;
13
+ };
14
+ lpToken: import("@stake-dao/constants").Token | undefined;
15
+ coins: (import("@stake-dao/constants").Token | undefined)[];
16
+ underlyingCoins: (import("@stake-dao/constants").Token | undefined)[];
17
+ }[];
18
+ };
19
+ export declare const fetchMorphoVaults: () => Promise<any>;
20
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curated/morpho/fetch.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;CAoBlB,CAAA;AAED,eAAO,MAAM,iBAAiB,oBA+E7B,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stake-dao/reader",
3
3
  "description": "",
4
- "version": "0.5.10",
4
+ "version": "0.5.11",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
7
7
  "type": "git",
package/src/index.ts CHANGED
@@ -80,6 +80,9 @@ export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies
80
80
  // LAGOON
81
81
  export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js'
82
82
 
83
+ // MORPHO
84
+ export { fetchMorphoVaults, VAULTS as MORPHO_VAULTS } from './strategies/curated/morpho/fetch.js'
85
+
83
86
  /// --- END CURATED STATEGIES
84
87
  ///////////////////////////////////////////////////////////////
85
88
 
@@ -9,13 +9,32 @@ interface TFetchIporVaults {
9
9
  }
10
10
 
11
11
  export const VAULTS = {
12
+ 1: [
13
+ {
14
+ key: '1-0xbfa9d6ec0e04b6691fcae5f8b48838c3918ec117',
15
+ name: 'crvUSD',
16
+ description:
17
+ 'The LlamaRisk crvUSD Optimizer vault allocates crvUSD deposits into selected Stake DAO Ethereum vaults, which optimizes returns for Llamalend markets and auto-compound rewards to boost yields. It also allocates directly to Llamalend markets and scrvUSD. LlamaRisk curates the strategy and optimizes allocations to ensure users have a safe and high-yield entry point into Ethereum Mainnet’s crvUSD ecosystem.',
18
+ infra: 'ipor',
19
+ curator: 'llamarisk',
20
+ chainId: 1,
21
+ vault: {
22
+ address: '0xbfA9d6EC0E04B6691fCAE5F8b48838C3918eC117',
23
+ accessManager: '0x0Bcf0187003f2154840d055144654eD18033a3c6',
24
+ withdrawManager: '0xcE6502004DE605dd1bb48aa61c593a19aA99f328',
25
+ decimals: 20,
26
+ },
27
+ lpToken: tokenWithId('crvusd', 1),
28
+ coins: [tokenWithId('crvusd', 1)],
29
+ underlyingCoins: [tokenWithId('crvusd', 1)],
30
+ },
31
+ ],
12
32
  42161: [
13
33
  {
14
34
  key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
15
- name: 'LlamaRisk crvUSD',
35
+ name: 'crvUSD',
16
36
  description:
17
37
  '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
38
  infra: 'ipor',
20
39
  curator: 'llamarisk',
21
40
  chainId: 42161,
@@ -0,0 +1,108 @@
1
+ import { tokenWithId } from '@stake-dao/constants'
2
+ import { formatUnits } from 'viem'
3
+ import { equalTlc, graphql } from '../../../utils.js'
4
+
5
+ const MORPHO_REWARD_TOKEN = { 1: '0x58D97B57BB95320F9a05dC918Aef65434969c2B2' }
6
+
7
+ export const VAULTS = {
8
+ 1: [
9
+ {
10
+ key: '1-0x8edcc305e633d29bfb383872e79401c506ce9e6f',
11
+ name: 'USDC',
12
+ description:
13
+ 'The Stake DAO USDC vault aims to optimize yields by lending USDC against selected Stake DAO LP token collaterals with a cautious risk approach or other blue chip collaterals depending on market conditions.',
14
+ infra: 'morpho',
15
+ curator: 'stakedao',
16
+ chainId: 1,
17
+ vault: {
18
+ address: '0x8EDCC305E633d29BFB383872e79401c506cE9E6f',
19
+ decimals: 18,
20
+ curator: '0x13AA4f80AD5F06cE4f1A3a3cA58C37059F0EE4c5',
21
+ },
22
+ lpToken: tokenWithId('usdc'),
23
+ coins: [tokenWithId('usdc')],
24
+ underlyingCoins: [tokenWithId('usdc')],
25
+ },
26
+ ],
27
+ }
28
+
29
+ export const fetchMorphoVaults = async () => {
30
+ const vaults = Object.keys(VAULTS).flatMap((chainId) => VAULTS[chainId])
31
+
32
+ const apiData = await graphql(
33
+ 'https://api.morpho.org/graphql',
34
+ `{
35
+ vaultV2s(first: ${vaults.length}, where: { address_in: [${vaults.map((v) => `"${v.vault.address}"`).join(', ')}] }) {
36
+ items {
37
+ address
38
+ symbol
39
+ name
40
+ asset {
41
+ address
42
+ decimals
43
+ }
44
+ avgApy
45
+ avgNetApy
46
+ totalAssets
47
+ totalAssetsUsd
48
+ totalSupply
49
+ liquidityUsd
50
+ idleAssetsUsd
51
+ performanceFee
52
+ managementFee
53
+ maxRate
54
+ rewards {
55
+ asset {
56
+ address
57
+ chain {
58
+ id
59
+ }
60
+ }
61
+ supplyApr
62
+ yearlySupplyTokens
63
+ }
64
+ }
65
+ }
66
+ }`,
67
+ ).then((res) => res.vaultV2s.items)
68
+
69
+ const parsedData = apiData.map((v, index) => {
70
+ const vault = vaults[index]
71
+
72
+ const tvl = v.totalAssetsUsd
73
+ const lpPriceInUsd = v.totalAssetsUsd / Number(formatUnits(BigInt(v.totalAssets), vault.lpToken.decimals))
74
+ const conversionRate = (BigInt(v.totalAssets) * BigInt(10 ** vault.vault.decimals)) / BigInt(v.totalSupply)
75
+
76
+ const morphoReward = v.rewards.find((r) => equalTlc(r.asset.address, MORPHO_REWARD_TOKEN[vault.chainId]))
77
+
78
+ const totalApy = v.avgNetApy * 100
79
+ const interestApy = v.avgApy * 100
80
+ const morphoApy = morphoReward.supplyApr * 100
81
+
82
+ return {
83
+ ...vault,
84
+ tokensFilter: ['usd'],
85
+ lpPriceInUsd,
86
+ tvl,
87
+ conversionRate: formatUnits(conversionRate, 0),
88
+ tradingApy: interestApy,
89
+ apr: {
90
+ boost: 0,
91
+ current: {
92
+ total: totalApy,
93
+ details: [
94
+ { label: 'Interest', value: [interestApy] },
95
+ { label: 'MORPHO', value: [morphoApy] },
96
+ ],
97
+ },
98
+ },
99
+ feeDenominator: '10000',
100
+ feesBreakdown: [
101
+ { key: 'managementFee', value: `${v.managementFee}` },
102
+ { key: 'perfFee', value: `${v.performanceFee}` },
103
+ ],
104
+ }
105
+ })
106
+
107
+ return parsedData
108
+ }