@stake-dao/reader 0.5.24 → 0.5.25
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/lockers/fetch/parse.js +5 -4
- package/dist/esm/lockers/fetch/parse.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/getLegacyOnlyboostData.js +87 -0
- package/dist/esm/strategies/curve/fetch/getLegacyOnlyboostData.js.map +1 -0
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js +79 -52
- package/dist/esm/strategies/curve/fetch/getOnlyboostData.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/index.js +6 -6
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
- package/dist/esm/strategies/v2/parse.js +29 -20
- package/dist/esm/strategies/v2/parse.js.map +1 -1
- package/dist/types/lockers/fetch/parse.d.ts.map +1 -1
- package/dist/types/strategies/curve/fetch/getLegacyOnlyboostData.d.ts +4 -0
- package/dist/types/strategies/curve/fetch/getLegacyOnlyboostData.d.ts.map +1 -0
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts +32 -1
- package/dist/types/strategies/curve/fetch/getOnlyboostData.d.ts.map +1 -1
- package/dist/types/strategies/types.d.ts +1 -1
- package/dist/types/strategies/types.d.ts.map +1 -1
- package/dist/types/strategies/v2/parse.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/lockers/fetch/parse.ts +11 -4
- package/src/strategies/curve/fetch/getLegacyOnlyboostData.ts +133 -0
- package/src/strategies/curve/fetch/getOnlyboostData.ts +136 -75
- package/src/strategies/curve/fetch/index.ts +6 -6
- package/src/strategies/types.ts +1 -1
- package/src/strategies/v2/parse.ts +29 -34
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OnlyBoostData } from '../../types.js';
|
|
2
|
+
declare const getLegacyOnlyboostData: (data: any, chainId: number, stakeDaoVeBoost: string, convexVeBoost: string, veCrvTotalSupply: string, curveGaugeTotalSupply: bigint, strategyHoldings: bigint, workingBalance: bigint, baseTotalSupply: bigint, lpPriceInUsd: number, maxApr: number, baseRewardPrice: number) => OnlyBoostData;
|
|
3
|
+
export default getLegacyOnlyboostData;
|
|
4
|
+
//# sourceMappingURL=getLegacyOnlyboostData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLegacyOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getLegacyOnlyboostData.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,QAAA,MAAM,sBAAsB,SACpB,GAAG,WACA,MAAM,mBACE,MAAM,iBACR,MAAM,oBACH,MAAM,yBACD,MAAM,oBACX,MAAM,kBACR,MAAM,mBACL,MAAM,gBACT,MAAM,UACZ,MAAM,mBACG,MAAM,KACtB,aA8GF,CAAA;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
import type { OnlyBoostData } from '../../types.js';
|
|
2
|
-
|
|
2
|
+
type GetOnlyBoostDataArgs = {
|
|
3
|
+
protocol: string;
|
|
4
|
+
sidecar: string;
|
|
5
|
+
totalSupply: bigint;
|
|
6
|
+
sidecarSupply: bigint;
|
|
7
|
+
stakeDaoSupply: bigint;
|
|
8
|
+
sidecarTotalSupply: bigint;
|
|
9
|
+
sidecarWorkingBalance: bigint;
|
|
10
|
+
sidecarRewardRate: bigint;
|
|
11
|
+
sidecarOptSupply: bigint;
|
|
12
|
+
stakeDaoOptSupply: bigint;
|
|
13
|
+
chainId: number;
|
|
14
|
+
stakeDaoVeBoost: string;
|
|
15
|
+
sidecarVeBoost: string;
|
|
16
|
+
veTknTotalSupply: string;
|
|
17
|
+
gaugeTotalSupply: bigint;
|
|
18
|
+
workingBalance: bigint;
|
|
19
|
+
baseTotalSupply: bigint;
|
|
20
|
+
lpPriceInUsd: number;
|
|
21
|
+
maxApr: number;
|
|
22
|
+
baseRewardPrice: number;
|
|
23
|
+
};
|
|
24
|
+
export declare const extractSidecarPool: (protocol: string, metadata: any) => {
|
|
25
|
+
id: number;
|
|
26
|
+
address: any;
|
|
27
|
+
} | undefined;
|
|
28
|
+
export declare const extractFromMetadata: (protocol: string, metadata: any) => {
|
|
29
|
+
sidecarTotalSupply: bigint;
|
|
30
|
+
sidecarWorkingBalance: bigint;
|
|
31
|
+
sidecarRewardRate: bigint;
|
|
32
|
+
};
|
|
33
|
+
declare const getOnlyboostData: ({ protocol, sidecar, totalSupply, sidecarSupply, stakeDaoSupply, sidecarTotalSupply, sidecarWorkingBalance, sidecarRewardRate, sidecarOptSupply, stakeDaoOptSupply, chainId, stakeDaoVeBoost, sidecarVeBoost, veTknTotalSupply, gaugeTotalSupply, workingBalance, baseTotalSupply, lpPriceInUsd, maxApr, baseRewardPrice, }: GetOnlyBoostDataArgs) => OnlyBoostData;
|
|
3
34
|
export default getOnlyboostData;
|
|
4
35
|
//# sourceMappingURL=getOnlyboostData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getOnlyboostData.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,
|
|
1
|
+
{"version":3,"file":"getOnlyboostData.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/getOnlyboostData.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,kBAAkB,aAAc,MAAM,YAAY,GAAG;;;aAYjE,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,MAAM,YAAY,GAAG;;;;CAkBlE,CAAA;AASD,QAAA,MAAM,gBAAgB,gUAqBnB,oBAAoB,KAAG,aAmGzB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/strategies/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAEzC,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,EAAE,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/strategies/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG,UA+OtE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stake-dao/reader",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.25",
|
|
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.5.
|
|
38
|
+
"@stake-dao/constants": "0.5.8"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/lodash-es": "^4.17.12",
|
|
@@ -151,7 +151,8 @@ export const parse = async ({ locker, raw, common, prices }: ParseLockers) => {
|
|
|
151
151
|
const tokenPriceInUsd = tokenPrice ? tokenPrice.usdPrice : 0
|
|
152
152
|
const sdTokenPriceInUsd = raw.peg !== '-' ? tokenPriceInUsd * Number(raw.peg) : tokenPriceInUsd
|
|
153
153
|
|
|
154
|
-
const tvl = raw.
|
|
154
|
+
const tvl = raw.tokenLocked ? Number(raw.tokenLocked) * tokenPriceInUsd : 0
|
|
155
|
+
const tvlForApr = raw.totalSupplyStaked ? Number(raw.totalSupplyStaked) * sdTokenPriceInUsd : 0
|
|
155
156
|
|
|
156
157
|
const veBoostApr =
|
|
157
158
|
locker.veBoost && raw.veBoost
|
|
@@ -172,10 +173,16 @@ export const parse = async ({ locker, raw, common, prices }: ParseLockers) => {
|
|
|
172
173
|
const oneYearRate = rate * BigInt(ONE_YEAR)
|
|
173
174
|
|
|
174
175
|
let apr = streaming
|
|
175
|
-
? rewardPrice &&
|
|
176
|
+
? rewardPrice && tvlForApr > 0
|
|
176
177
|
? r.address === tokenWithId('sdt', 1)?.address
|
|
177
|
-
? getMinSdtApr(
|
|
178
|
-
|
|
178
|
+
? getMinSdtApr(
|
|
179
|
+
oneYearRate,
|
|
180
|
+
Number(raw.totalSupplyStaked),
|
|
181
|
+
Number(raw.gaugeWorkingSupply),
|
|
182
|
+
rewardPrice,
|
|
183
|
+
tvlForApr,
|
|
184
|
+
)
|
|
185
|
+
: ((Number(formatUnits(oneYearRate, r.decimals)) * rewardPrice) / tvlForApr) * 100
|
|
179
186
|
: 0
|
|
180
187
|
: 0
|
|
181
188
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { ONE_YEAR, Zero } from '@stake-dao/constants'
|
|
2
|
+
import { formatUnits, parseEther } from 'viem'
|
|
3
|
+
import { mainnet } from 'viem/chains'
|
|
4
|
+
import { projectWorkingBalance } from '../../../utils.js'
|
|
5
|
+
import type { OnlyBoostData } from '../../types.js'
|
|
6
|
+
import { getBoost } from '../../utils/boost.js'
|
|
7
|
+
|
|
8
|
+
const getLegacyOnlyboostData = (
|
|
9
|
+
data: any,
|
|
10
|
+
chainId: number,
|
|
11
|
+
stakeDaoVeBoost: string,
|
|
12
|
+
convexVeBoost: string,
|
|
13
|
+
veCrvTotalSupply: string,
|
|
14
|
+
curveGaugeTotalSupply: bigint,
|
|
15
|
+
strategyHoldings: bigint,
|
|
16
|
+
workingBalance: bigint,
|
|
17
|
+
baseTotalSupply: bigint,
|
|
18
|
+
lpPriceInUsd: number,
|
|
19
|
+
maxApr: number,
|
|
20
|
+
baseRewardPrice: number,
|
|
21
|
+
): OnlyBoostData => {
|
|
22
|
+
const active = data.active
|
|
23
|
+
const convexImpl = data.convexImpl
|
|
24
|
+
|
|
25
|
+
const totalSupply = formatUnits(active ? data.totalSupply : baseTotalSupply, 0)
|
|
26
|
+
|
|
27
|
+
// Current
|
|
28
|
+
const stakeDaoSupply = formatUnits(data.stakeDaoSupply, 0)
|
|
29
|
+
const convexSupply = formatUnits(data.convexSupply, 0)
|
|
30
|
+
|
|
31
|
+
const stakeDaoTvl = Number(formatUnits(data.stakeDaoSupply, 18)) * lpPriceInUsd
|
|
32
|
+
const convexTvl = Number(formatUnits(data.convexSupply, 18)) * lpPriceInUsd
|
|
33
|
+
|
|
34
|
+
const stakeDaoShare = Number(stakeDaoSupply) / Number(totalSupply)
|
|
35
|
+
const convexShare = Number(convexSupply) / Number(totalSupply)
|
|
36
|
+
|
|
37
|
+
const stakeDaoBoost = getBoost('curve', strategyHoldings, workingBalance)
|
|
38
|
+
const convexBoost = getBoost('curve', data.convexStrategyHoldings, data.convexWorkingBalance)
|
|
39
|
+
|
|
40
|
+
let convexApr =
|
|
41
|
+
((Number(formatUnits(data.convexRewardRate * BigInt(ONE_YEAR), 18)) * baseRewardPrice) /
|
|
42
|
+
(convexTvl > 0 ? convexTvl : 1)) *
|
|
43
|
+
100
|
|
44
|
+
convexApr = convexApr > maxApr ? maxApr : convexApr
|
|
45
|
+
|
|
46
|
+
let convexRealBoost = convexBoost
|
|
47
|
+
if (chainId === mainnet.id) convexRealBoost = maxApr > 0 ? (convexApr / maxApr) * 2.5 : 0
|
|
48
|
+
|
|
49
|
+
const stakeDaoWorkingBalanceShare = formatUnits(workingBalance, 0)
|
|
50
|
+
const convexWorkingBalanceShare =
|
|
51
|
+
data.convexStrategyHoldings > Zero && data.convexWorkingBalance > Zero
|
|
52
|
+
? (((data.convexSupply * parseEther('1')) / data.convexStrategyHoldings) * data.convexWorkingBalance) /
|
|
53
|
+
parseEther('1')
|
|
54
|
+
: Zero
|
|
55
|
+
|
|
56
|
+
// Optimal
|
|
57
|
+
const stakeDaoOptSupply = formatUnits(data.stakeDaoOptSupply, 0)
|
|
58
|
+
const convexOptSupply = formatUnits(data.convexOptSupply, 0)
|
|
59
|
+
|
|
60
|
+
const stakeDaoOptTvl = Number(formatUnits(data.stakeDaoOptSupply, 18)) * lpPriceInUsd
|
|
61
|
+
const convexOptTvl = Number(formatUnits(data.convexOptSupply, 18)) * lpPriceInUsd
|
|
62
|
+
|
|
63
|
+
const stakeDaoOptShare = Number(stakeDaoOptSupply) / Number(totalSupply)
|
|
64
|
+
const convexOptShare = Number(convexOptSupply) / Number(totalSupply)
|
|
65
|
+
|
|
66
|
+
const stakeDaoOptStrategyHoldings = strategyHoldings - data.stakeDaoSupply + data.stakeDaoOptSupply
|
|
67
|
+
const convexOptStrategyHoldings = data.convexStrategyHoldings - data.convexSupply + data.convexOptSupply
|
|
68
|
+
|
|
69
|
+
const stakeDaoOptWorkingBalance = projectWorkingBalance(
|
|
70
|
+
BigInt(stakeDaoVeBoost),
|
|
71
|
+
BigInt(veCrvTotalSupply),
|
|
72
|
+
stakeDaoOptStrategyHoldings,
|
|
73
|
+
curveGaugeTotalSupply,
|
|
74
|
+
)
|
|
75
|
+
const convexOptWorkingBalance = projectWorkingBalance(
|
|
76
|
+
BigInt(convexVeBoost),
|
|
77
|
+
BigInt(veCrvTotalSupply),
|
|
78
|
+
convexOptStrategyHoldings,
|
|
79
|
+
curveGaugeTotalSupply,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
const stakeDaoOptBoost = getBoost('curve', stakeDaoOptStrategyHoldings, stakeDaoOptWorkingBalance)
|
|
83
|
+
const convexOptBoost = getBoost('curve', convexOptStrategyHoldings, convexOptWorkingBalance)
|
|
84
|
+
|
|
85
|
+
const boost =
|
|
86
|
+
maxApr > 0 && Number(totalSupply) > 0 ? stakeDaoBoost * stakeDaoShare + convexRealBoost * convexShare : 2.5
|
|
87
|
+
const optimalBoost =
|
|
88
|
+
maxApr > 0 && Number(totalSupply) > 0 ? stakeDaoOptBoost * stakeDaoOptShare + convexOptBoost * convexOptShare : 2.5
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
active,
|
|
92
|
+
implementations: [{ key: 'convex', address: convexImpl }],
|
|
93
|
+
|
|
94
|
+
totalSupply,
|
|
95
|
+
boost,
|
|
96
|
+
optimalBoost,
|
|
97
|
+
|
|
98
|
+
stakeDao: {
|
|
99
|
+
tvl: stakeDaoTvl,
|
|
100
|
+
supply: stakeDaoSupply,
|
|
101
|
+
boost: stakeDaoBoost,
|
|
102
|
+
share: stakeDaoShare,
|
|
103
|
+
workingBalance: stakeDaoWorkingBalanceShare,
|
|
104
|
+
workingBalanceShare: stakeDaoWorkingBalanceShare,
|
|
105
|
+
optimal: {
|
|
106
|
+
tvl: stakeDaoOptTvl,
|
|
107
|
+
supply: stakeDaoOptSupply,
|
|
108
|
+
boost: stakeDaoOptBoost,
|
|
109
|
+
share: stakeDaoOptShare,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
sidecar: {
|
|
113
|
+
tvl: convexTvl,
|
|
114
|
+
supply: convexSupply,
|
|
115
|
+
boost: convexBoost,
|
|
116
|
+
share: convexShare,
|
|
117
|
+
workingBalance: formatUnits(data.convexWorkingBalance, 0),
|
|
118
|
+
workingBalanceShare: formatUnits(convexWorkingBalanceShare, 0),
|
|
119
|
+
optimal: {
|
|
120
|
+
tvl: convexOptTvl,
|
|
121
|
+
supply: convexOptSupply,
|
|
122
|
+
boost: convexOptBoost,
|
|
123
|
+
share: convexOptShare,
|
|
124
|
+
},
|
|
125
|
+
claimable: data.claimableData.map((c: any) => ({
|
|
126
|
+
token: c.token,
|
|
127
|
+
claimable: formatUnits(c.claimable, 0),
|
|
128
|
+
})),
|
|
129
|
+
},
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export default getLegacyOnlyboostData
|
|
@@ -1,131 +1,192 @@
|
|
|
1
1
|
import { ONE_YEAR, Zero } from '@stake-dao/constants'
|
|
2
|
-
import { formatUnits, parseEther } from 'viem'
|
|
2
|
+
import { formatUnits, parseEther, zeroAddress } from 'viem'
|
|
3
3
|
import { mainnet } from 'viem/chains'
|
|
4
4
|
import { projectWorkingBalance } from '../../../utils.js'
|
|
5
5
|
import type { OnlyBoostData } from '../../types.js'
|
|
6
6
|
import { getBoost } from '../../utils/boost.js'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
8
|
+
type GetOnlyBoostDataArgs = {
|
|
9
|
+
protocol: string
|
|
10
|
+
sidecar: string
|
|
11
|
+
totalSupply: bigint
|
|
12
|
+
sidecarSupply: bigint
|
|
13
|
+
stakeDaoSupply: bigint
|
|
14
|
+
sidecarTotalSupply: bigint
|
|
15
|
+
sidecarWorkingBalance: bigint
|
|
16
|
+
sidecarRewardRate: bigint
|
|
17
|
+
sidecarOptSupply: bigint
|
|
18
|
+
stakeDaoOptSupply: bigint
|
|
19
|
+
chainId: number
|
|
20
|
+
stakeDaoVeBoost: string
|
|
21
|
+
sidecarVeBoost: string
|
|
22
|
+
veTknTotalSupply: string
|
|
23
|
+
gaugeTotalSupply: bigint
|
|
24
|
+
workingBalance: bigint
|
|
25
|
+
baseTotalSupply: bigint
|
|
26
|
+
lpPriceInUsd: number
|
|
27
|
+
maxApr: number
|
|
28
|
+
baseRewardPrice: number
|
|
29
|
+
}
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
export const extractSidecarPool = (protocol: string, metadata: any) => {
|
|
32
|
+
if (metadata.pid) {
|
|
33
|
+
if (protocol === 'curve' && metadata.convexBaseRewardPool) {
|
|
34
|
+
return { id: Number(metadata.pid), address: metadata.convexBaseRewardPool }
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (protocol === 'balancer' && metadata.auraRewardPool) {
|
|
38
|
+
return { id: Number(metadata.pid), address: metadata.auraRewardPool }
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return undefined
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const extractFromMetadata = (protocol: string, metadata: any) => {
|
|
46
|
+
if (protocol === 'curve') {
|
|
47
|
+
return {
|
|
48
|
+
sidecarTotalSupply: BigInt(metadata.convexTotalSupply || '0'),
|
|
49
|
+
sidecarWorkingBalance: BigInt(metadata.workingBalanceConvex || '0'),
|
|
50
|
+
sidecarRewardRate: BigInt(metadata.convexRewardRate || '0'),
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (protocol === 'balancer') {
|
|
55
|
+
return {
|
|
56
|
+
sidecarTotalSupply: BigInt(metadata.auraTotalSupply || '0'),
|
|
57
|
+
sidecarWorkingBalance: BigInt(metadata.workingBalanceAura || '0'),
|
|
58
|
+
sidecarRewardRate: BigInt(metadata.auraRewardRate || '0'),
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return { sidecarTotalSupply: Zero, sidecarWorkingBalance: Zero, sidecarRewardRate: Zero }
|
|
63
|
+
}
|
|
30
64
|
|
|
31
|
-
|
|
32
|
-
|
|
65
|
+
const getSidecarId = (protocol: string) => {
|
|
66
|
+
if (protocol === 'curve') return 'convex'
|
|
67
|
+
if (protocol === 'balancer') return 'aura'
|
|
68
|
+
|
|
69
|
+
return ''
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const getOnlyboostData = ({
|
|
73
|
+
protocol,
|
|
74
|
+
sidecar,
|
|
75
|
+
totalSupply,
|
|
76
|
+
sidecarSupply,
|
|
77
|
+
stakeDaoSupply,
|
|
78
|
+
sidecarTotalSupply,
|
|
79
|
+
sidecarWorkingBalance,
|
|
80
|
+
sidecarRewardRate,
|
|
81
|
+
sidecarOptSupply,
|
|
82
|
+
stakeDaoOptSupply,
|
|
83
|
+
chainId,
|
|
84
|
+
stakeDaoVeBoost,
|
|
85
|
+
sidecarVeBoost,
|
|
86
|
+
veTknTotalSupply,
|
|
87
|
+
gaugeTotalSupply,
|
|
88
|
+
workingBalance,
|
|
89
|
+
baseTotalSupply,
|
|
90
|
+
lpPriceInUsd,
|
|
91
|
+
maxApr,
|
|
92
|
+
baseRewardPrice,
|
|
93
|
+
}: GetOnlyBoostDataArgs): OnlyBoostData => {
|
|
94
|
+
const active = sidecar !== zeroAddress
|
|
95
|
+
totalSupply = active ? totalSupply : baseTotalSupply
|
|
96
|
+
|
|
97
|
+
// Current
|
|
98
|
+
const stakeDaoTvl = Number(formatUnits(stakeDaoSupply, 18)) * lpPriceInUsd
|
|
99
|
+
const sidecarTvl = Number(formatUnits(sidecarSupply, 18)) * lpPriceInUsd
|
|
33
100
|
|
|
34
101
|
const stakeDaoShare = Number(stakeDaoSupply) / Number(totalSupply)
|
|
35
|
-
const
|
|
102
|
+
const sidecarShare = Number(sidecarSupply) / Number(totalSupply)
|
|
36
103
|
|
|
37
|
-
const stakeDaoBoost = getBoost(
|
|
38
|
-
const
|
|
104
|
+
const stakeDaoBoost = getBoost(protocol, stakeDaoSupply, workingBalance)
|
|
105
|
+
const sidecarBoost = getBoost(protocol, sidecarTotalSupply, sidecarWorkingBalance)
|
|
39
106
|
|
|
40
|
-
let
|
|
41
|
-
((Number(formatUnits(
|
|
42
|
-
(
|
|
107
|
+
let sidecarApr =
|
|
108
|
+
((Number(formatUnits(sidecarRewardRate * BigInt(ONE_YEAR), 18)) * baseRewardPrice) /
|
|
109
|
+
(sidecarTvl > 0 ? sidecarTvl : 1)) *
|
|
43
110
|
100
|
|
44
|
-
|
|
111
|
+
sidecarApr = sidecarApr > maxApr ? maxApr : sidecarApr
|
|
45
112
|
|
|
46
|
-
let
|
|
47
|
-
if (chainId === mainnet.id)
|
|
113
|
+
let sidecarRealBoost = sidecarBoost
|
|
114
|
+
if (chainId === mainnet.id) sidecarRealBoost = maxApr > 0 ? (sidecarApr / maxApr) * 2.5 : 0
|
|
48
115
|
|
|
49
116
|
const stakeDaoWorkingBalanceShare = formatUnits(workingBalance, 0)
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
? (((
|
|
53
|
-
parseEther('1')
|
|
117
|
+
const sidecarWorkingBalanceShare =
|
|
118
|
+
sidecarTotalSupply > Zero && sidecarWorkingBalance > Zero
|
|
119
|
+
? (((sidecarSupply * parseEther('1')) / sidecarTotalSupply) * sidecarWorkingBalance) / parseEther('1')
|
|
54
120
|
: Zero
|
|
55
121
|
|
|
56
122
|
// Optimal
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
const stakeDaoOptTvl = Number(formatUnits(data.stakeDaoOptSupply, 18)) * lpPriceInUsd
|
|
61
|
-
const convexOptTvl = Number(formatUnits(data.convexOptSupply, 18)) * lpPriceInUsd
|
|
123
|
+
const stakeDaoOptTvl = Number(formatUnits(stakeDaoOptSupply, 18)) * lpPriceInUsd
|
|
124
|
+
const sidecarOptTvl = Number(formatUnits(sidecarOptSupply, 18)) * lpPriceInUsd
|
|
62
125
|
|
|
63
126
|
const stakeDaoOptShare = Number(stakeDaoOptSupply) / Number(totalSupply)
|
|
64
|
-
const
|
|
127
|
+
const sidecarOptShare = Number(sidecarOptSupply) / Number(totalSupply)
|
|
65
128
|
|
|
66
|
-
const stakeDaoOptStrategyHoldings =
|
|
67
|
-
const
|
|
129
|
+
const stakeDaoOptStrategyHoldings = stakeDaoSupply - stakeDaoSupply + stakeDaoOptSupply
|
|
130
|
+
const sidecarOptStrategyHoldings = sidecarTotalSupply - sidecarSupply + sidecarOptSupply
|
|
68
131
|
|
|
69
132
|
const stakeDaoOptWorkingBalance = projectWorkingBalance(
|
|
70
133
|
BigInt(stakeDaoVeBoost),
|
|
71
|
-
BigInt(
|
|
134
|
+
BigInt(veTknTotalSupply),
|
|
72
135
|
stakeDaoOptStrategyHoldings,
|
|
73
|
-
|
|
136
|
+
gaugeTotalSupply,
|
|
74
137
|
)
|
|
75
|
-
const
|
|
76
|
-
BigInt(
|
|
77
|
-
BigInt(
|
|
78
|
-
|
|
79
|
-
|
|
138
|
+
const sidecarOptWorkingBalance = projectWorkingBalance(
|
|
139
|
+
BigInt(sidecarVeBoost),
|
|
140
|
+
BigInt(veTknTotalSupply),
|
|
141
|
+
sidecarOptStrategyHoldings,
|
|
142
|
+
gaugeTotalSupply,
|
|
80
143
|
)
|
|
81
144
|
|
|
82
|
-
const stakeDaoOptBoost = getBoost(
|
|
83
|
-
const
|
|
145
|
+
const stakeDaoOptBoost = getBoost(protocol, stakeDaoOptStrategyHoldings, stakeDaoOptWorkingBalance)
|
|
146
|
+
const sidecarOptBoost = getBoost(protocol, sidecarOptStrategyHoldings, sidecarOptWorkingBalance)
|
|
84
147
|
|
|
85
148
|
const boost =
|
|
86
|
-
maxApr > 0 && Number(totalSupply) > 0 ? stakeDaoBoost * stakeDaoShare +
|
|
149
|
+
maxApr > 0 && Number(totalSupply) > 0 ? stakeDaoBoost * stakeDaoShare + sidecarRealBoost * sidecarShare : 2.5
|
|
87
150
|
const optimalBoost =
|
|
88
|
-
maxApr > 0 && Number(totalSupply) > 0
|
|
151
|
+
maxApr > 0 && Number(totalSupply) > 0
|
|
152
|
+
? stakeDaoOptBoost * stakeDaoOptShare + sidecarOptBoost * sidecarOptShare
|
|
153
|
+
: 2.5
|
|
89
154
|
|
|
90
155
|
return {
|
|
91
156
|
active,
|
|
92
|
-
implementations: [{ key:
|
|
157
|
+
implementations: [{ key: getSidecarId(protocol), address: sidecar }],
|
|
93
158
|
|
|
94
|
-
totalSupply,
|
|
159
|
+
totalSupply: formatUnits(totalSupply, 0),
|
|
95
160
|
boost,
|
|
96
161
|
optimalBoost,
|
|
97
162
|
|
|
98
163
|
stakeDao: {
|
|
99
164
|
tvl: stakeDaoTvl,
|
|
100
|
-
supply: stakeDaoSupply,
|
|
165
|
+
supply: formatUnits(stakeDaoSupply, 0),
|
|
101
166
|
boost: stakeDaoBoost,
|
|
102
167
|
share: stakeDaoShare,
|
|
103
168
|
workingBalance: stakeDaoWorkingBalanceShare,
|
|
104
169
|
workingBalanceShare: stakeDaoWorkingBalanceShare,
|
|
105
170
|
optimal: {
|
|
106
171
|
tvl: stakeDaoOptTvl,
|
|
107
|
-
supply: stakeDaoOptSupply,
|
|
172
|
+
supply: formatUnits(stakeDaoOptSupply, 0),
|
|
108
173
|
boost: stakeDaoOptBoost,
|
|
109
174
|
share: stakeDaoOptShare,
|
|
110
175
|
},
|
|
111
176
|
},
|
|
112
|
-
|
|
113
|
-
tvl:
|
|
114
|
-
supply:
|
|
115
|
-
boost:
|
|
116
|
-
share:
|
|
117
|
-
workingBalance: formatUnits(
|
|
118
|
-
workingBalanceShare: formatUnits(
|
|
177
|
+
sidecar: {
|
|
178
|
+
tvl: sidecarTvl,
|
|
179
|
+
supply: formatUnits(sidecarSupply, 0),
|
|
180
|
+
boost: sidecarBoost,
|
|
181
|
+
share: sidecarShare,
|
|
182
|
+
workingBalance: formatUnits(sidecarWorkingBalance, 0),
|
|
183
|
+
workingBalanceShare: formatUnits(sidecarWorkingBalanceShare, 0),
|
|
119
184
|
optimal: {
|
|
120
|
-
tvl:
|
|
121
|
-
supply:
|
|
122
|
-
boost:
|
|
123
|
-
share:
|
|
185
|
+
tvl: sidecarOptTvl,
|
|
186
|
+
supply: formatUnits(sidecarOptSupply, 0),
|
|
187
|
+
boost: sidecarOptBoost,
|
|
188
|
+
share: sidecarOptShare,
|
|
124
189
|
},
|
|
125
|
-
claimable: data.claimableData.map((c: any) => ({
|
|
126
|
-
token: c.token,
|
|
127
|
-
claimable: formatUnits(c.claimable, 0),
|
|
128
|
-
})),
|
|
129
190
|
},
|
|
130
191
|
}
|
|
131
192
|
}
|
|
@@ -14,7 +14,7 @@ import { getOnChainSdCurveData } from '../onChainCalls.js'
|
|
|
14
14
|
import { BROKEN_VAULTS } from './curveApiData/config.js'
|
|
15
15
|
import type { GaugesWeightsData } from './curveApiData/getGaugesWeights.js'
|
|
16
16
|
import { getCvxApr } from './getCvxApr.js'
|
|
17
|
-
import
|
|
17
|
+
import getLegacyOnlyboostData from './getLegacyOnlyboostData.js'
|
|
18
18
|
import { getCurveStratsWithApr } from './getStratsWithApr.js'
|
|
19
19
|
|
|
20
20
|
interface TFetchCurve {
|
|
@@ -93,7 +93,7 @@ export const fetchCurve = async ({
|
|
|
93
93
|
let boost = 2.5
|
|
94
94
|
|
|
95
95
|
if (chainId === mainnet.id && v.onlyboost.active) {
|
|
96
|
-
onlyboost =
|
|
96
|
+
onlyboost = getLegacyOnlyboostData(
|
|
97
97
|
{ ...v.onlyboost, convexRewardRate: Zero },
|
|
98
98
|
chainId,
|
|
99
99
|
global.stakeDaoVeBoost,
|
|
@@ -170,11 +170,11 @@ export const fetchCurve = async ({
|
|
|
170
170
|
let cvxApr = 0
|
|
171
171
|
|
|
172
172
|
if (onlyboost.active) {
|
|
173
|
-
convexCrvProjectedApr = onlyboost.
|
|
173
|
+
convexCrvProjectedApr = onlyboost.sidecar.boost * strat.minApr
|
|
174
174
|
cvxApr =
|
|
175
|
-
onlyboost.active && onlyboost.
|
|
175
|
+
onlyboost.active && onlyboost.sidecar.tvl > 0
|
|
176
176
|
? getCvxApr(
|
|
177
|
-
onlyboost.
|
|
177
|
+
onlyboost.sidecar.tvl,
|
|
178
178
|
tvl,
|
|
179
179
|
convexCrvProjectedApr,
|
|
180
180
|
global.cvxTotalSupply,
|
|
@@ -213,7 +213,7 @@ export const fetchCurve = async ({
|
|
|
213
213
|
onlyboost: {
|
|
214
214
|
convex: {
|
|
215
215
|
projected: {
|
|
216
|
-
baseToken: strat.minApr ? onlyboost.
|
|
216
|
+
baseToken: strat.minApr ? onlyboost.sidecar.boost * strat.minApr : undefined,
|
|
217
217
|
},
|
|
218
218
|
},
|
|
219
219
|
optimal: {
|