@stake-dao/reader 0.5.5 → 0.5.7
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 +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lockers/fetch/protocols/yieldbasis.js +10 -10
- package/dist/esm/lockers/fetch/protocols/yieldbasis.js.map +1 -1
- package/dist/esm/strategies/curated/ipor/fetch.js +3 -2
- package/dist/esm/strategies/curated/ipor/fetch.js.map +1 -1
- package/dist/esm/strategies/curated/lagoon/fetch.js +58 -0
- package/dist/esm/strategies/curated/lagoon/fetch.js.map +1 -0
- package/dist/esm/strategies/utils/getTokenTypes.js +1 -1
- package/dist/esm/strategies/utils/getTokenTypes.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/strategies/curated/ipor/fetch.d.ts +1 -0
- package/dist/types/strategies/curated/ipor/fetch.d.ts.map +1 -1
- package/dist/types/strategies/curated/lagoon/fetch.d.ts +21 -0
- package/dist/types/strategies/curated/lagoon/fetch.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +4 -1
- package/src/lockers/fetch/protocols/yieldbasis.ts +10 -10
- package/src/strategies/curated/ipor/fetch.ts +3 -2
- package/src/strategies/curated/lagoon/fetch.ts +73 -0
- package/src/strategies/utils/getTokenTypes.ts +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -59,7 +59,9 @@ export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
|
|
|
59
59
|
////////////////////////////////////////////////////////////////
|
|
60
60
|
/// --- CURATED STATEGIES
|
|
61
61
|
// IPOR
|
|
62
|
-
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
62
|
+
export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
63
|
+
// LAGOON
|
|
64
|
+
export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js';
|
|
63
65
|
/// --- END CURATED STATEGIES
|
|
64
66
|
///////////////////////////////////////////////////////////////
|
|
65
67
|
////////////////////////////////////////////////////////////////
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc;AACd,+DAA+D;AAC/D,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,EAAc,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;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,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;AAE7E,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc;AACd,+DAA+D;AAC/D,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,EAAc,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;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,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;AAE7E,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,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAEvG,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAEjG,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,KAAK;AACL,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAEtE,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { STAKE_DAO_ASSETS_BASE_URL, tokenWithId } from '@stake-dao/constants';
|
|
2
|
-
import { formatUnits } from 'viem';
|
|
1
|
+
import { One, STAKE_DAO_ASSETS_BASE_URL, Zero, tokenWithId } from '@stake-dao/constants';
|
|
2
|
+
import { formatUnits, parseUnits } from 'viem';
|
|
3
3
|
import lockersMulticallAbi from '../../../abis/lockersMulticall.js';
|
|
4
4
|
import { getRes, multicall } from '../../../utils.js';
|
|
5
5
|
import { parse, parsePeg } from '../parse.js';
|
|
@@ -27,11 +27,11 @@ export const locker = {
|
|
|
27
27
|
accumulator: '0x0000000000000000000000000000000000000000',
|
|
28
28
|
},
|
|
29
29
|
secondaryMarket: {
|
|
30
|
-
label: '',
|
|
31
|
-
poolKey: '',
|
|
32
|
-
vaultKey: '',
|
|
33
|
-
pool: '
|
|
34
|
-
pools: ['
|
|
30
|
+
label: 'Curve',
|
|
31
|
+
poolKey: 'factory-stable-ng-624',
|
|
32
|
+
vaultKey: '1-0x963EAD1d35DB36e28497A505ba8a09a16174f69F',
|
|
33
|
+
pool: '0x98b540fa89690969D111D045afCa575C91519B1A',
|
|
34
|
+
pools: ['0x98b540fa89690969D111D045afCa575C91519B1A'],
|
|
35
35
|
pegBase: 10000,
|
|
36
36
|
},
|
|
37
37
|
alternativeYields: {},
|
|
@@ -65,7 +65,7 @@ const yieldbasisLocker = async ({ provider, common, prices }) => {
|
|
|
65
65
|
const lockerAddress = locker.modules.locker;
|
|
66
66
|
const secondaryMarket = locker.secondaryMarket;
|
|
67
67
|
const rewards = locker.rewards;
|
|
68
|
-
|
|
68
|
+
const pegBase = parseUnits(secondaryMarket?.pegBase?.toString() || '1', 18);
|
|
69
69
|
const format = (value) => formatUnits(value, locker.token.decimals);
|
|
70
70
|
const formatRes = (value) => format(getRes(value));
|
|
71
71
|
const calls = [
|
|
@@ -98,7 +98,7 @@ const yieldbasisLocker = async ({ provider, common, prices }) => {
|
|
|
98
98
|
*** Peg
|
|
99
99
|
*********************************************************************************/
|
|
100
100
|
// Return amount when swapping {pegBase} sdToken to token -> get_dy(int128,int128,uint256)
|
|
101
|
-
|
|
101
|
+
{ address: secondaryMarket.pool, name: '0x5e0d443f', params: [One, Zero, pegBase] },
|
|
102
102
|
/*********************************************************************************
|
|
103
103
|
*** Rewards
|
|
104
104
|
*********************************************************************************/
|
|
@@ -115,7 +115,7 @@ const yieldbasisLocker = async ({ provider, common, prices }) => {
|
|
|
115
115
|
gaugeWorkingSupply: formatRes(res.shift()),
|
|
116
116
|
amountTokenNotLock: formatRes(res.shift()),
|
|
117
117
|
sdTokenInPool: formatRes(res.shift()),
|
|
118
|
-
peg:
|
|
118
|
+
peg: getRes(res.shift()),
|
|
119
119
|
rewards: rewards.map(() => getRes(res.shift())),
|
|
120
120
|
veTokenRate: '4',
|
|
121
121
|
_workingSupply: '0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yieldbasis.js","sourceRoot":"","sources":["../../../../../src/lockers/fetch/protocols/yieldbasis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"yieldbasis.js","sourceRoot":"","sources":["../../../../../src/lockers/fetch/protocols/yieldbasis.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,11 @@ export const VAULTS = {
|
|
|
6
6
|
42161: [
|
|
7
7
|
{
|
|
8
8
|
key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
|
|
9
|
-
name: 'LlamaRisk crvUSD
|
|
9
|
+
name: 'LlamaRisk crvUSD',
|
|
10
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
11
|
color1: '#0049cf',
|
|
12
|
-
|
|
12
|
+
infra: 'ipor',
|
|
13
|
+
curator: 'llamarisk',
|
|
13
14
|
chainId: 42161,
|
|
14
15
|
vault: {
|
|
15
16
|
address: '0x4c4f752fa54dafB6d51B4A39018271c90bA1156F',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAO9B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE;QACL;YACE,GAAG,EAAE,kDAAkD;YACvD,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/ipor/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { tokenWithId } from '@stake-dao/constants';
|
|
2
|
+
import { lc } from '../../../utils.js';
|
|
3
|
+
export const VAULTS = {
|
|
4
|
+
1: [
|
|
5
|
+
{
|
|
6
|
+
key: '1-0x33e1339567c183fbadcb43f72d11c47229d468ab',
|
|
7
|
+
name: 'Gami USDC',
|
|
8
|
+
description: "Gami's StakeDAO vault maximizes stablecoin yield by deploying liquidity across top DeFi protocols and leveraging StakeDAO’s governance power to secure boosted rewards on LP positions.",
|
|
9
|
+
color1: '#0049cf',
|
|
10
|
+
infra: 'lagoon',
|
|
11
|
+
curator: 'gami',
|
|
12
|
+
chainId: 1,
|
|
13
|
+
vault: {
|
|
14
|
+
address: '0x33e1339567c183fbADCB43f72D11C47229D468ab',
|
|
15
|
+
curator: '0x5EfC983b68E28518De10FE8bf632De7878faAdCf',
|
|
16
|
+
decimals: 18,
|
|
17
|
+
},
|
|
18
|
+
lpToken: tokenWithId('usdc'),
|
|
19
|
+
coins: [tokenWithId('usdc')],
|
|
20
|
+
underlyingCoins: [tokenWithId('usdc')],
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
export const fetchLagoonVaults = async () => {
|
|
25
|
+
const vaults = Object.keys(VAULTS).flatMap((chainId) => VAULTS[chainId]);
|
|
26
|
+
const apisData = await Promise.all(vaults.flatMap((v) => fetch(
|
|
27
|
+
// `https://app.lagoon.finance/api/vault?chainId=${v.chainId}&address=${lc(v.vault.address)}&includeApr=true`,
|
|
28
|
+
`https://corsproxy.io/?url=${encodeURIComponent(`https://app.lagoon.finance/api/vault?chainId=${v.chainId}&address=${lc(v.vault.address)}&includeApr=true`)}`).then((res) => res.json())));
|
|
29
|
+
const parsedData = apisData.map((v, index) => {
|
|
30
|
+
const conversionRate = `${v.state.pricePerShare}`;
|
|
31
|
+
const tvl = Number(v.state.totalAssetsUsd);
|
|
32
|
+
const lpPriceInUsd = Number(v.state.pricePerShareUsd);
|
|
33
|
+
const totalApy = Number(v.state.monthlyApr.linearNetApr);
|
|
34
|
+
const interestApy = Number(v.state.monthlyApr.linearNetAprWithoutExtraYields);
|
|
35
|
+
return {
|
|
36
|
+
...vaults[index],
|
|
37
|
+
tokensFilter: ['usd'],
|
|
38
|
+
lpPriceInUsd,
|
|
39
|
+
tvl,
|
|
40
|
+
conversionRate,
|
|
41
|
+
tradingApy: interestApy,
|
|
42
|
+
apr: {
|
|
43
|
+
boost: 0,
|
|
44
|
+
current: {
|
|
45
|
+
total: totalApy,
|
|
46
|
+
details: [{ label: 'Interest', value: [interestApy] }],
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
feeDenominator: '10000',
|
|
50
|
+
feesBreakdown: [
|
|
51
|
+
{ key: 'managementFee', value: `${v.state.managementFee}` },
|
|
52
|
+
{ key: 'perfFee', value: `${v.state.performanceFee}` },
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
return parsedData;
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../src/strategies/curated/lagoon/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,CAAC,EAAE;QACD;YACE,GAAG,EAAE,8CAA8C;YACnD,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,yLAAyL;YAC3L,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,CAAC;YACV,KAAK,EAAE;gBACL,OAAO,EAAE,4CAA4C;gBACrD,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE,EAAE;aACb;YACD,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5B,eAAe,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACvC;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAExE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACnB,KAAK;IACH,8GAA8G;IAC9G,6BAA6B,kBAAkB,CAC7C,gDAAgD,CAAC,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAC3G,EAAE,CACJ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAC5B,CACF,CAAA;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAA;QAEjD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAErD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;QAE7E,OAAO;YACL,GAAG,MAAM,CAAC,KAAK,CAAC;YAChB,YAAY,EAAE,CAAC,KAAK,CAAC;YACrB,YAAY;YACZ,GAAG;YACH,cAAc;YACd,UAAU,EAAE,WAAW;YACvB,GAAG,EAAE;gBACH,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE;oBACP,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;iBACvD;aACF;YACD,cAAc,EAAE,OAAO;YACvB,aAAa,EAAE;gBACb,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE;gBAC3D,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE;aACvD;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { equalTlc, lc } from '../../utils.js';
|
|
2
|
-
const usdSymbols = ['usd', 'frax', 'dai', 'mim', 'dola', 'gho', 'usr', 'fxb20', 'fxb_20'];
|
|
2
|
+
const usdSymbols = ['usd', 'frax', 'dai', 'mim', 'dola', 'gho', 'usr', 'fxb20', 'fxb_20', 'uspd'];
|
|
3
3
|
const excludeSymbols = ['usd0++'];
|
|
4
4
|
const getTokenTypes = (s) => {
|
|
5
5
|
const types = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTokenTypes.js","sourceRoot":"","sources":["../../../../src/strategies/utils/getTokenTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"getTokenTypes.js","sourceRoot":"","sources":["../../../../src/strategies/utils/getTokenTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACjG,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAA;AAEjC,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAEjG,MAAM;IACN,IAAI,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrG,IACE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEnB,MAAM;IACN,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEnE,MAAM;IACN,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE3G,SAAS;IACT,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE5E,MAAM;IACN,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEvE,MAAM;IACN,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEvE,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -36,7 +36,8 @@ export { fetchPendle } from './strategies/pendle/fetch.js';
|
|
|
36
36
|
export { buildPendleStrategies } from './strategies/pendle/build.js';
|
|
37
37
|
export { default as getPendleApiData } from './strategies/pendle/getPendleApiData.js';
|
|
38
38
|
export { fetchStakeDao } from './strategies/stakeDao/fetch.js';
|
|
39
|
-
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
39
|
+
export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js';
|
|
40
|
+
export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js';
|
|
40
41
|
export { processRawCampaigns } from './votemarket/fetchCampaigns/processRawCampaigns.js';
|
|
41
42
|
export { fetchPendingRemoteCampaigns } from './votemarket/fetchCampaigns/pendingRemote.js';
|
|
42
43
|
export { fetchCampaigns } from './votemarket/fetchCampaigns/index.js';
|
|
@@ -1 +1 @@
|
|
|
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,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const VAULTS: {
|
|
2
|
+
1: {
|
|
3
|
+
key: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
color1: string;
|
|
7
|
+
infra: string;
|
|
8
|
+
curator: string;
|
|
9
|
+
chainId: number;
|
|
10
|
+
vault: {
|
|
11
|
+
address: string;
|
|
12
|
+
curator: string;
|
|
13
|
+
decimals: number;
|
|
14
|
+
};
|
|
15
|
+
lpToken: import("@stake-dao/constants").Token | undefined;
|
|
16
|
+
coins: (import("@stake-dao/constants").Token | undefined)[];
|
|
17
|
+
underlyingCoins: (import("@stake-dao/constants").Token | undefined)[];
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
export declare const fetchLagoonVaults: () => Promise<any[]>;
|
|
21
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curated/lagoon/fetch.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;CAqBlB,CAAA;AAED,eAAO,MAAM,iBAAiB,sBA8C7B,CAAA"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -75,7 +75,10 @@ export { fetchStakeDao } from './strategies/stakeDao/fetch.js'
|
|
|
75
75
|
/// --- CURATED STATEGIES
|
|
76
76
|
|
|
77
77
|
// IPOR
|
|
78
|
-
export { fetchIporVaults, VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js'
|
|
78
|
+
export { fetchIporVaults, VAULTS as IPOR_VAULTS, getIporApy } from './strategies/curated/ipor/fetch.js'
|
|
79
|
+
|
|
80
|
+
// LAGOON
|
|
81
|
+
export { fetchLagoonVaults, VAULTS as LAGOON_VAULTS } from './strategies/curated/lagoon/fetch.js'
|
|
79
82
|
|
|
80
83
|
/// --- END CURATED STATEGIES
|
|
81
84
|
///////////////////////////////////////////////////////////////
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { STAKE_DAO_ASSETS_BASE_URL, tokenWithId } from '@stake-dao/constants'
|
|
2
|
-
import { formatUnits } from 'viem'
|
|
1
|
+
import { One, STAKE_DAO_ASSETS_BASE_URL, Zero, tokenWithId } from '@stake-dao/constants'
|
|
2
|
+
import { formatUnits, parseUnits } from 'viem'
|
|
3
3
|
import lockersMulticallAbi from '../../../abis/lockersMulticall.js'
|
|
4
4
|
import { type Call, getRes, multicall } from '../../../utils.js'
|
|
5
5
|
import { parse, parsePeg } from '../parse.js'
|
|
@@ -30,11 +30,11 @@ export const locker: Locker = {
|
|
|
30
30
|
accumulator: '0x0000000000000000000000000000000000000000',
|
|
31
31
|
},
|
|
32
32
|
secondaryMarket: {
|
|
33
|
-
label: '',
|
|
34
|
-
poolKey: '',
|
|
35
|
-
vaultKey: '',
|
|
36
|
-
pool: '
|
|
37
|
-
pools: ['
|
|
33
|
+
label: 'Curve',
|
|
34
|
+
poolKey: 'factory-stable-ng-624',
|
|
35
|
+
vaultKey: '1-0x963EAD1d35DB36e28497A505ba8a09a16174f69F',
|
|
36
|
+
pool: '0x98b540fa89690969D111D045afCa575C91519B1A',
|
|
37
|
+
pools: ['0x98b540fa89690969D111D045afCa575C91519B1A'],
|
|
38
38
|
pegBase: 10000,
|
|
39
39
|
},
|
|
40
40
|
alternativeYields: {},
|
|
@@ -72,7 +72,7 @@ const yieldbasisLocker = async ({ provider, common, prices }: { provider; common
|
|
|
72
72
|
const secondaryMarket = locker.secondaryMarket!
|
|
73
73
|
const rewards = locker.rewards
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
const pegBase = parseUnits(secondaryMarket?.pegBase?.toString() || '1', 18)
|
|
76
76
|
|
|
77
77
|
const format = (value: bigint) => formatUnits(value, locker.token.decimals)
|
|
78
78
|
const formatRes = (value: any) => format(getRes(value))
|
|
@@ -114,7 +114,7 @@ const yieldbasisLocker = async ({ provider, common, prices }: { provider; common
|
|
|
114
114
|
*********************************************************************************/
|
|
115
115
|
|
|
116
116
|
// Return amount when swapping {pegBase} sdToken to token -> get_dy(int128,int128,uint256)
|
|
117
|
-
|
|
117
|
+
{ address: secondaryMarket.pool, name: '0x5e0d443f', params: [One, Zero, pegBase] },
|
|
118
118
|
|
|
119
119
|
/*********************************************************************************
|
|
120
120
|
*** Rewards
|
|
@@ -134,7 +134,7 @@ const yieldbasisLocker = async ({ provider, common, prices }: { provider; common
|
|
|
134
134
|
gaugeWorkingSupply: formatRes(res.shift()),
|
|
135
135
|
amountTokenNotLock: formatRes(res.shift()),
|
|
136
136
|
sdTokenInPool: formatRes(res.shift()),
|
|
137
|
-
peg:
|
|
137
|
+
peg: getRes(res.shift()),
|
|
138
138
|
rewards: rewards.map(() => getRes(res.shift())),
|
|
139
139
|
veTokenRate: '4',
|
|
140
140
|
_workingSupply: '0',
|
|
@@ -12,11 +12,12 @@ export const VAULTS = {
|
|
|
12
12
|
42161: [
|
|
13
13
|
{
|
|
14
14
|
key: '42161-0x4c4f752fa54dafb6d51b4a39018271c90ba1156f',
|
|
15
|
-
name: 'LlamaRisk crvUSD
|
|
15
|
+
name: 'LlamaRisk crvUSD',
|
|
16
16
|
description:
|
|
17
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
18
|
color1: '#0049cf',
|
|
19
|
-
|
|
19
|
+
infra: 'ipor',
|
|
20
|
+
curator: 'llamarisk',
|
|
20
21
|
chainId: 42161,
|
|
21
22
|
vault: {
|
|
22
23
|
address: '0x4c4f752fa54dafB6d51B4A39018271c90bA1156F',
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { tokenWithId } from '@stake-dao/constants'
|
|
2
|
+
import { lc } from '../../../utils.js'
|
|
3
|
+
|
|
4
|
+
export const VAULTS = {
|
|
5
|
+
1: [
|
|
6
|
+
{
|
|
7
|
+
key: '1-0x33e1339567c183fbadcb43f72d11c47229d468ab',
|
|
8
|
+
name: 'Gami USDC',
|
|
9
|
+
description:
|
|
10
|
+
"Gami's StakeDAO vault maximizes stablecoin yield by deploying liquidity across top DeFi protocols and leveraging StakeDAO’s governance power to secure boosted rewards on LP positions.",
|
|
11
|
+
color1: '#0049cf',
|
|
12
|
+
infra: 'lagoon',
|
|
13
|
+
curator: 'gami',
|
|
14
|
+
chainId: 1,
|
|
15
|
+
vault: {
|
|
16
|
+
address: '0x33e1339567c183fbADCB43f72D11C47229D468ab',
|
|
17
|
+
curator: '0x5EfC983b68E28518De10FE8bf632De7878faAdCf',
|
|
18
|
+
decimals: 18,
|
|
19
|
+
},
|
|
20
|
+
lpToken: tokenWithId('usdc'),
|
|
21
|
+
coins: [tokenWithId('usdc')],
|
|
22
|
+
underlyingCoins: [tokenWithId('usdc')],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const fetchLagoonVaults = async () => {
|
|
28
|
+
const vaults = Object.keys(VAULTS).flatMap((chainId) => VAULTS[chainId])
|
|
29
|
+
|
|
30
|
+
const apisData = await Promise.all(
|
|
31
|
+
vaults.flatMap((v) =>
|
|
32
|
+
fetch(
|
|
33
|
+
// `https://app.lagoon.finance/api/vault?chainId=${v.chainId}&address=${lc(v.vault.address)}&includeApr=true`,
|
|
34
|
+
`https://corsproxy.io/?url=${encodeURIComponent(
|
|
35
|
+
`https://app.lagoon.finance/api/vault?chainId=${v.chainId}&address=${lc(v.vault.address)}&includeApr=true`,
|
|
36
|
+
)}`,
|
|
37
|
+
).then((res) => res.json()),
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
const parsedData = apisData.map((v, index) => {
|
|
42
|
+
const conversionRate = `${v.state.pricePerShare}`
|
|
43
|
+
|
|
44
|
+
const tvl = Number(v.state.totalAssetsUsd)
|
|
45
|
+
const lpPriceInUsd = Number(v.state.pricePerShareUsd)
|
|
46
|
+
|
|
47
|
+
const totalApy = Number(v.state.monthlyApr.linearNetApr)
|
|
48
|
+
const interestApy = Number(v.state.monthlyApr.linearNetAprWithoutExtraYields)
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
...vaults[index],
|
|
52
|
+
tokensFilter: ['usd'],
|
|
53
|
+
lpPriceInUsd,
|
|
54
|
+
tvl,
|
|
55
|
+
conversionRate,
|
|
56
|
+
tradingApy: interestApy,
|
|
57
|
+
apr: {
|
|
58
|
+
boost: 0,
|
|
59
|
+
current: {
|
|
60
|
+
total: totalApy,
|
|
61
|
+
details: [{ label: 'Interest', value: [interestApy] }],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
feeDenominator: '10000',
|
|
65
|
+
feesBreakdown: [
|
|
66
|
+
{ key: 'managementFee', value: `${v.state.managementFee}` },
|
|
67
|
+
{ key: 'perfFee', value: `${v.state.performanceFee}` },
|
|
68
|
+
],
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
return parsedData
|
|
73
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { equalTlc, lc } from '../../utils.js'
|
|
2
2
|
|
|
3
|
-
const usdSymbols = ['usd', 'frax', 'dai', 'mim', 'dola', 'gho', 'usr', 'fxb20', 'fxb_20']
|
|
3
|
+
const usdSymbols = ['usd', 'frax', 'dai', 'mim', 'dola', 'gho', 'usr', 'fxb20', 'fxb_20', 'uspd']
|
|
4
4
|
const excludeSymbols = ['usd0++']
|
|
5
5
|
|
|
6
6
|
const getTokenTypes = (s: any) => {
|