@stake-dao/reader 0.5.32 → 0.5.33
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/bytecodes/votemarket/batchDirectIncentives.js +2 -2
- package/dist/esm/bytecodes/votemarket/batchDirectIncentives.js.map +1 -1
- package/dist/esm/strategies/v2/parse.js +31 -17
- package/dist/esm/strategies/v2/parse.js.map +1 -1
- package/dist/esm/votemarket/fetchDirectIncentives.js +35 -8
- package/dist/esm/votemarket/fetchDirectIncentives.js.map +1 -1
- package/dist/types/strategies/v2/parse.d.ts.map +1 -1
- package/dist/types/votemarket/fetchDirectIncentives.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/bytecodes/votemarket/batchDirectIncentives.ts +2 -2
- package/src/strategies/v2/parse.ts +38 -18
- package/src/votemarket/fetchDirectIncentives.ts +38 -9
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const batchDirectIncentives = {
|
|
2
2
|
bytecode: {
|
|
3
|
-
1: '
|
|
3
|
+
1: '0x608060405234801561000f575f80fd5b50604051610c42380380610c42833981810160405281019061003191906105ac565b5f8390505f8173ffffffffffffffffffffffffffffffffffffffff16637ef9faaa6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a391906105fc565b90505f8314806100b257508083115b156100bb578092505b5f84846100c89190610654565b67ffffffffffffffff8111156100e1576100e0610687565b5b60405190808252806020026020018201604052801561011a57816020015b610107610446565b8152602001906001900390816100ff5790505b5090505f8590505b84811015610417575f8473ffffffffffffffffffffffffffffffffffffffff1663e121c102836040518263ffffffff1660e01b815260040161016491906106c3565b61012060405180830381865afa158015610180573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a49190610818565b90505f6040518060800160405280836020015173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156101fe573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061022691906108f8565b8152602001836020015173ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610277573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061029f91906108f8565b8152602001836020015173ffffffffffffffffffffffffffffffffffffffff168152602001836020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610311573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103359190610975565b60ff168152509050604051806101200160405280835f015173ffffffffffffffffffffffffffffffffffffffff1681526020018281526020018360400151815260200183606001518152602001836080015181526020018360a0015181526020018360c0015173ffffffffffffffffffffffffffffffffffffffff1681526020018360e00151815260200183610100015173ffffffffffffffffffffffffffffffffffffffff168152508489856103ec9190610654565b815181106103fd576103fc6109a0565b5b602002602001018190525050508080600101915050610122565b505f8160405160200161042a9190610c21565b6040516020818303038152906040529050602081018059038082f35b6040518061012001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020016104766104d2565b81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b604051806080016040528060608152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105488261051f565b9050919050565b6105588161053e565b8114610562575f80fd5b50565b5f815190506105738161054f565b92915050565b5f819050919050565b61058b81610579565b8114610595575f80fd5b50565b5f815190506105a681610582565b92915050565b5f805f606084860312156105c3576105c2610517565b5b5f6105d086828701610565565b93505060206105e186828701610598565b92505060406105f286828701610598565b9150509250925092565b5f6020828403121561061157610610610517565b5b5f61061e84828501610598565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61065e82610579565b915061066983610579565b925082820390508181111561068157610680610627565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106bd81610579565b82525050565b5f6020820190506106d65f8301846106b4565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6106f9826106e0565b810181811067ffffffffffffffff8211171561071857610717610687565b5b80604052505050565b5f61072a61050e565b905061073682826106f0565b919050565b5f6101208284031215610751576107506106dc565b5b61075c610120610721565b90505f61076b84828501610565565b5f83015250602061077e84828501610565565b602083015250604061079284828501610598565b60408301525060606107a684828501610598565b60608301525060806107ba84828501610598565b60808301525060a06107ce84828501610598565b60a08301525060c06107e284828501610565565b60c08301525060e06107f684828501610598565b60e08301525061010061080b84828501610565565b6101008301525092915050565b5f610120828403121561082e5761082d610517565b5b5f61083b8482850161073b565b91505092915050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561086657610865610687565b5b61086f826106e0565b9050602081019050919050565b8281835e5f83830152505050565b5f61089c6108978461084c565b610721565b9050828152602081018484840111156108b8576108b7610848565b5b6108c384828561087c565b509392505050565b5f82601f8301126108df576108de610844565b5b81516108ef84826020860161088a565b91505092915050565b5f6020828403121561090d5761090c610517565b5b5f82015167ffffffffffffffff81111561092a5761092961051b565b5b610936848285016108cb565b91505092915050565b5f60ff82169050919050565b6109548161093f565b811461095e575f80fd5b50565b5f8151905061096f8161094b565b92915050565b5f6020828403121561098a57610989610517565b5b5f61099784828501610961565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6109ff8161053e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610a2982610a05565b610a338185610a0f565b9350610a4381856020860161087c565b610a4c816106e0565b840191505092915050565b610a6081610579565b82525050565b5f608083015f8301518482035f860152610a808282610a1f565b91505060208301518482036020860152610a9a8282610a1f565b9150506040830151610aaf60408601826109f6565b506060830151610ac26060860182610a57565b508091505092915050565b5f61012083015f830151610ae35f8601826109f6565b5060208301518482036020860152610afb8282610a66565b9150506040830151610b106040860182610a57565b506060830151610b236060860182610a57565b506080830151610b366080860182610a57565b5060a0830151610b4960a0860182610a57565b5060c0830151610b5c60c08601826109f6565b5060e0830151610b6f60e0860182610a57565b50610100830151610b846101008601826109f6565b508091505092915050565b5f610b9a8383610acd565b905092915050565b5f602082019050919050565b5f610bb8826109cd565b610bc281856109d7565b935083602082028501610bd4856109e7565b805f5b85811015610c0f5784840389528151610bf08582610b8f565b9450610bfb83610ba2565b925060208a01995050600181019050610bd7565b50829750879550505050505092915050565b5f6020820190508181035f830152610c398184610bae565b90509291505056fe',
|
|
4
4
|
},
|
|
5
5
|
inputType: {
|
|
6
|
-
1: ['address _campaignRewardDistributor
|
|
6
|
+
1: ['address _campaignRewardDistributor, uint256 _start, uint256 _end'],
|
|
7
7
|
},
|
|
8
8
|
outputTypeHr: {
|
|
9
9
|
1: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchDirectIncentives.js","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchDirectIncentives.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAkB;IAC3C,QAAQ,EAAE;QACR,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"batchDirectIncentives.js","sourceRoot":"","sources":["../../../../src/bytecodes/votemarket/batchDirectIncentives.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAkB;IAC3C,QAAQ,EAAE;QACR,CAAC,EAAE,woMAAwoM;KAC5oM;IAED,SAAS,EAAE;QACT,CAAC,EAAE,CAAC,kEAAkE,CAAC;KACxE;IAED,YAAY,EAAE;QACZ,CAAC,EAAE;YACD,8BAA8B;YAC9B,6KAA6K;YAC7K,kFAAkF;SACnF;KACF;CACF,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -19,6 +19,7 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
19
19
|
const lpPriceInUsd = Number(s.gauge.totalSupply) > 0
|
|
20
20
|
? Number(s.gauge.totalSupplyUSD) / Number(formatUnits(BigInt(s.gauge.totalSupply || '0'), 18))
|
|
21
21
|
: 0;
|
|
22
|
+
const tvl = Number(s.totalSupplyUSD) > 10000000000 ? 0 : Number(s.totalSupplyUSD);
|
|
22
23
|
const compoundedYieldKey = isLending ? 'LENDING_INTEREST' : 'TRADING_FEES';
|
|
23
24
|
const tradingApy = (s.gauge.aprDetails.find((el) => el.yieldType === compoundedYieldKey)?.aprUSD || 0) * 100;
|
|
24
25
|
const otherRewards = s.gauge.aprDetails.filter((el) => el.yieldType !== compoundedYieldKey && el.asset);
|
|
@@ -34,10 +35,11 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
34
35
|
}));
|
|
35
36
|
// Compute rewards from the hook incentive (Votemarket)
|
|
36
37
|
const hookIncentivesPrices = extra?.baseRewardsPrices || [];
|
|
37
|
-
const gaugeUsd = Number(s.gauge.totalSupplyUSD);
|
|
38
38
|
const incentivesByToken = (extra?.hookIncentives || [])
|
|
39
39
|
.filter((r) => equalTlc(r.vault, s.address))
|
|
40
40
|
.reduce((acc, r) => {
|
|
41
|
+
if (!acc[r.source])
|
|
42
|
+
acc[r.source] = {};
|
|
41
43
|
const rewardAddress = r.reward;
|
|
42
44
|
const price = hookIncentivesPrices.find((p) => equalTlc(rewardAddress, p.address))?.usdPrice || 0;
|
|
43
45
|
const amountToken = Number.parseFloat(formatUnits(r.amount, r.rewardDecimals));
|
|
@@ -47,25 +49,31 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
47
49
|
const tokensPerSecond = amountToken / duration;
|
|
48
50
|
const yearlyTokens = tokensPerSecond * ONE_YEAR;
|
|
49
51
|
const yearlyRewardsUsd = yearlyTokens * price;
|
|
50
|
-
if (!acc[rewardAddress]) {
|
|
51
|
-
acc[rewardAddress] = {
|
|
52
|
+
if (!acc[r.source][rewardAddress]) {
|
|
53
|
+
acc[r.source][rewardAddress] = {
|
|
52
54
|
meta: r,
|
|
53
55
|
price: price,
|
|
54
56
|
totalYearlyUsd: 0,
|
|
55
57
|
maxPeriodFinish: Number.parseInt(r.end),
|
|
58
|
+
source: r.source,
|
|
56
59
|
};
|
|
57
60
|
}
|
|
58
|
-
acc[rewardAddress].totalYearlyUsd += yearlyRewardsUsd;
|
|
59
|
-
acc[rewardAddress].maxPeriodFinish = Math.max(acc[rewardAddress].maxPeriodFinish, Number.parseInt(r.end));
|
|
61
|
+
acc[r.source][rewardAddress].totalYearlyUsd += yearlyRewardsUsd;
|
|
62
|
+
acc[r.source][rewardAddress].maxPeriodFinish = Math.max(acc[r.source][rewardAddress].maxPeriodFinish, Number.parseInt(r.end));
|
|
60
63
|
return acc;
|
|
61
64
|
}, {});
|
|
62
|
-
const hookIncentives =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
const apr =
|
|
65
|
+
const hookIncentives = [
|
|
66
|
+
...Object.values(incentivesByToken.vm || {}),
|
|
67
|
+
...Object.values(incentivesByToken.direct || {}),
|
|
68
|
+
...Object.values(incentivesByToken.gauge || {}),
|
|
69
|
+
].map((group) => {
|
|
70
|
+
const { meta, price, totalYearlyUsd, maxPeriodFinish, source } = group;
|
|
71
|
+
const apr = (totalYearlyUsd / (tvl > 0 ? tvl : 10_000)) * 100;
|
|
72
|
+
let yieldType = 'STAKING_REWARDS';
|
|
73
|
+
if (source === 'vm')
|
|
74
|
+
yieldType = 'VOTEMARKET';
|
|
75
|
+
if (source === 'direct')
|
|
76
|
+
yieldType = 'ONLYBOOST';
|
|
69
77
|
return {
|
|
70
78
|
token: parseAsset({
|
|
71
79
|
id: meta.id.toString(),
|
|
@@ -78,10 +86,12 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
78
86
|
apr,
|
|
79
87
|
streaming: true,
|
|
80
88
|
periodFinish: maxPeriodFinish,
|
|
81
|
-
yieldType
|
|
89
|
+
yieldType,
|
|
82
90
|
};
|
|
83
91
|
});
|
|
84
92
|
const rewards = otherRewards
|
|
93
|
+
.filter((r) => !((r.yieldType === 'STAKING_REWARDS' || r.yieldType === 'LIQUIDITY_INCENTIVES') &&
|
|
94
|
+
incentivesByToken.gauge?.[r.asset.address]))
|
|
85
95
|
.map((r) => ({
|
|
86
96
|
token: parseAsset(r.asset),
|
|
87
97
|
aprInToken: r.apr,
|
|
@@ -153,9 +163,13 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
153
163
|
baseRewardAdded = true;
|
|
154
164
|
}
|
|
155
165
|
else {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
166
|
+
let label = `${r.token.symbol} APR`;
|
|
167
|
+
if (r.yieldType === 'STAKING_REWARDS' || r.yieldType === 'LIQUIDITY_INCENTIVES')
|
|
168
|
+
label = `${label} - ${protocol.charAt(0).toUpperCase() + protocol.slice(1)} gauge`;
|
|
169
|
+
if (r.yieldType === 'ONLYBOOST')
|
|
170
|
+
label = `${label} - Onlyboost Extra Rewards`;
|
|
171
|
+
if (r.yieldType === 'VOTEMARKET')
|
|
172
|
+
label = `${label} - Votemarket Liquidity Mining`;
|
|
159
173
|
aprDetails.push({ label, value: [r.apr || 0] });
|
|
160
174
|
}
|
|
161
175
|
}
|
|
@@ -188,7 +202,7 @@ export const parseV2Strats = (global, rawStrats, extra) => {
|
|
|
188
202
|
underlyingCoins: [],
|
|
189
203
|
lpPriceInUsd,
|
|
190
204
|
streaming: true,
|
|
191
|
-
tvl
|
|
205
|
+
tvl,
|
|
192
206
|
apr: {
|
|
193
207
|
boost,
|
|
194
208
|
current: { total: aprTotal, details: aprDetails },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,45 @@ import { mainnet } from 'viem/chains';
|
|
|
3
3
|
import batchDirectIncentives from '../bytecodes/votemarket/batchDirectIncentives.js';
|
|
4
4
|
import { concatBytecode } from '../index.js';
|
|
5
5
|
import { batchJsonRpc } from '../utils.js';
|
|
6
|
+
const BATCH_SIZE = 20;
|
|
7
|
+
// selector of nbIncentives()
|
|
8
|
+
const NB_INCENTIVES_SELECTOR = '0x7ef9faaa';
|
|
9
|
+
const getNbIncentives = async (rpc, campaignRewardDistributor) => {
|
|
10
|
+
const res = await fetch(rpc, {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
headers: { 'Content-Type': 'application/json' },
|
|
13
|
+
body: JSON.stringify({
|
|
14
|
+
id: 0,
|
|
15
|
+
jsonrpc: '2.0',
|
|
16
|
+
method: 'eth_call',
|
|
17
|
+
params: [{ to: campaignRewardDistributor, data: NB_INCENTIVES_SELECTOR }, 'latest'],
|
|
18
|
+
}),
|
|
19
|
+
}).then((r) => r.json());
|
|
20
|
+
if (res.error)
|
|
21
|
+
throw new Error(`nbIncentives() failed: ${res.error.message}`);
|
|
22
|
+
return Number.parseInt(res.result, 16);
|
|
23
|
+
};
|
|
6
24
|
export const fetchDirectIncentives = async (rpc, campaignRewardDistributor, start) => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
25
|
+
const total = await getNbIncentives(rpc, campaignRewardDistributor);
|
|
26
|
+
if (start >= total)
|
|
27
|
+
return [];
|
|
28
|
+
const buildCall = (batchStart, batchEnd) => {
|
|
29
|
+
const inputData = encodeAbiParameters(parseAbiParameters(batchDirectIncentives.inputType[mainnet.id]), [
|
|
30
|
+
campaignRewardDistributor,
|
|
31
|
+
batchStart,
|
|
32
|
+
batchEnd,
|
|
33
|
+
]);
|
|
34
|
+
return concatBytecode(batchDirectIncentives.bytecode[mainnet.id], inputData);
|
|
35
|
+
};
|
|
36
|
+
const calls = [];
|
|
37
|
+
for (let i = start; i < total; i += BATCH_SIZE) {
|
|
38
|
+
calls.push(buildCall(i, Math.min(i + BATCH_SIZE, total)));
|
|
39
|
+
}
|
|
40
|
+
return batchJsonRpc({
|
|
13
41
|
rpc,
|
|
14
|
-
calls
|
|
42
|
+
calls,
|
|
15
43
|
outputTypeAbi: batchDirectIncentives.outputTypeHr[mainnet.id],
|
|
16
44
|
callsKey: `fetch direct incentives - rpc ${rpc}`,
|
|
17
45
|
});
|
|
18
|
-
return directIncentives;
|
|
19
46
|
};
|
|
20
47
|
//# sourceMappingURL=fetchDirectIncentives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchDirectIncentives.js","sourceRoot":"","sources":["../../../src/votemarket/fetchDirectIncentives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,qBAAqB,MAAM,kDAAkD,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAW,EAAE,yBAAiC,EAAE,KAAa,EAAE,EAAE;IAC3G,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAE,CAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"fetchDirectIncentives.js","sourceRoot":"","sources":["../../../src/votemarket/fetchDirectIncentives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,qBAAqB,MAAM,kDAAkD,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,UAAU,GAAG,EAAE,CAAA;AACrB,6BAA6B;AAC7B,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAE3C,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAE,yBAAiC,EAAmB,EAAE;IAChG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,EAAE,EAAE,CAAC;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,QAAQ,CAAC;SACpF,CAAC;KACH,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAExB,IAAI,GAAG,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAW,EAAE,yBAAiC,EAAE,KAAa,EAAE,EAAE;IAC3G,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;IAEnE,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,EAAE,CAAA;IAE7B,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAE,CAAQ,EAAE;YAC7G,yBAAyB;YACzB,UAAU;YACV,QAAQ;SACT,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAE,EAAE,SAAS,CAAC,CAAA;IAC/E,CAAC,CAAA;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,GAAG;QACH,KAAK;QACL,aAAa,EAAE,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,QAAQ,EAAE,iCAAiC,GAAG,EAAE;KACjD,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/strategies/v2/parse.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,WAAY,GAAG,aAAa,GAAG,EAAE,SAAS,GAAG,UA4PtE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchDirectIncentives.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchDirectIncentives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchDirectIncentives.d.ts","sourceRoot":"","sources":["../../../src/votemarket/fetchDirectIncentives.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,qBAAqB,QAAe,MAAM,6BAA6B,MAAM,SAAS,MAAM,iBAyBxG,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.33",
|
|
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.13"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/lodash-es": "^4.17.12",
|
|
@@ -2,11 +2,11 @@ import type { BatchMetaData } from '../types.js'
|
|
|
2
2
|
|
|
3
3
|
const batchDirectIncentives: BatchMetaData = {
|
|
4
4
|
bytecode: {
|
|
5
|
-
1: '
|
|
5
|
+
1: '0x608060405234801561000f575f80fd5b50604051610c42380380610c42833981810160405281019061003191906105ac565b5f8390505f8173ffffffffffffffffffffffffffffffffffffffff16637ef9faaa6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561007f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a391906105fc565b90505f8314806100b257508083115b156100bb578092505b5f84846100c89190610654565b67ffffffffffffffff8111156100e1576100e0610687565b5b60405190808252806020026020018201604052801561011a57816020015b610107610446565b8152602001906001900390816100ff5790505b5090505f8590505b84811015610417575f8473ffffffffffffffffffffffffffffffffffffffff1663e121c102836040518263ffffffff1660e01b815260040161016491906106c3565b61012060405180830381865afa158015610180573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a49190610818565b90505f6040518060800160405280836020015173ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b81526004015f60405180830381865afa1580156101fe573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061022691906108f8565b8152602001836020015173ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa158015610277573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061029f91906108f8565b8152602001836020015173ffffffffffffffffffffffffffffffffffffffff168152602001836020015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610311573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103359190610975565b60ff168152509050604051806101200160405280835f015173ffffffffffffffffffffffffffffffffffffffff1681526020018281526020018360400151815260200183606001518152602001836080015181526020018360a0015181526020018360c0015173ffffffffffffffffffffffffffffffffffffffff1681526020018360e00151815260200183610100015173ffffffffffffffffffffffffffffffffffffffff168152508489856103ec9190610654565b815181106103fd576103fc6109a0565b5b602002602001018190525050508080600101915050610122565b505f8160405160200161042a9190610c21565b6040516020818303038152906040529050602081018059038082f35b6040518061012001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020016104766104d2565b81526020015f81526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b604051806080016040528060608152602001606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105488261051f565b9050919050565b6105588161053e565b8114610562575f80fd5b50565b5f815190506105738161054f565b92915050565b5f819050919050565b61058b81610579565b8114610595575f80fd5b50565b5f815190506105a681610582565b92915050565b5f805f606084860312156105c3576105c2610517565b5b5f6105d086828701610565565b93505060206105e186828701610598565b92505060406105f286828701610598565b9150509250925092565b5f6020828403121561061157610610610517565b5b5f61061e84828501610598565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61065e82610579565b915061066983610579565b925082820390508181111561068157610680610627565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6106bd81610579565b82525050565b5f6020820190506106d65f8301846106b4565b92915050565b5f80fd5b5f601f19601f8301169050919050565b6106f9826106e0565b810181811067ffffffffffffffff8211171561071857610717610687565b5b80604052505050565b5f61072a61050e565b905061073682826106f0565b919050565b5f6101208284031215610751576107506106dc565b5b61075c610120610721565b90505f61076b84828501610565565b5f83015250602061077e84828501610565565b602083015250604061079284828501610598565b60408301525060606107a684828501610598565b60608301525060806107ba84828501610598565b60808301525060a06107ce84828501610598565b60a08301525060c06107e284828501610565565b60c08301525060e06107f684828501610598565b60e08301525061010061080b84828501610565565b6101008301525092915050565b5f610120828403121561082e5761082d610517565b5b5f61083b8482850161073b565b91505092915050565b5f80fd5b5f80fd5b5f67ffffffffffffffff82111561086657610865610687565b5b61086f826106e0565b9050602081019050919050565b8281835e5f83830152505050565b5f61089c6108978461084c565b610721565b9050828152602081018484840111156108b8576108b7610848565b5b6108c384828561087c565b509392505050565b5f82601f8301126108df576108de610844565b5b81516108ef84826020860161088a565b91505092915050565b5f6020828403121561090d5761090c610517565b5b5f82015167ffffffffffffffff81111561092a5761092961051b565b5b610936848285016108cb565b91505092915050565b5f60ff82169050919050565b6109548161093f565b811461095e575f80fd5b50565b5f8151905061096f8161094b565b92915050565b5f6020828403121561098a57610989610517565b5b5f61099784828501610961565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6109ff8161053e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f610a2982610a05565b610a338185610a0f565b9350610a4381856020860161087c565b610a4c816106e0565b840191505092915050565b610a6081610579565b82525050565b5f608083015f8301518482035f860152610a808282610a1f565b91505060208301518482036020860152610a9a8282610a1f565b9150506040830151610aaf60408601826109f6565b506060830151610ac26060860182610a57565b508091505092915050565b5f61012083015f830151610ae35f8601826109f6565b5060208301518482036020860152610afb8282610a66565b9150506040830151610b106040860182610a57565b506060830151610b236060860182610a57565b506080830151610b366080860182610a57565b5060a0830151610b4960a0860182610a57565b5060c0830151610b5c60c08601826109f6565b5060e0830151610b6f60e0860182610a57565b50610100830151610b846101008601826109f6565b508091505092915050565b5f610b9a8383610acd565b905092915050565b5f602082019050919050565b5f610bb8826109cd565b610bc281856109d7565b935083602082028501610bd4856109e7565b805f5b85811015610c0f5784840389528151610bf08582610b8f565b9450610bfb83610ba2565b925060208a01995050600181019050610bd7565b50829750879550505050505092915050565b5f6020820190508181035f830152610c398184610bae565b90509291505056fe',
|
|
6
6
|
},
|
|
7
7
|
|
|
8
8
|
inputType: {
|
|
9
|
-
1: ['address _campaignRewardDistributor
|
|
9
|
+
1: ['address _campaignRewardDistributor, uint256 _start, uint256 _end'],
|
|
10
10
|
},
|
|
11
11
|
|
|
12
12
|
outputTypeHr: {
|
|
@@ -24,6 +24,7 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
24
24
|
Number(s.gauge.totalSupply) > 0
|
|
25
25
|
? Number(s.gauge.totalSupplyUSD) / Number(formatUnits(BigInt(s.gauge.totalSupply || '0'), 18))
|
|
26
26
|
: 0
|
|
27
|
+
const tvl = Number(s.totalSupplyUSD) > 10000000000 ? 0 : Number(s.totalSupplyUSD)
|
|
27
28
|
|
|
28
29
|
const compoundedYieldKey = isLending ? 'LENDING_INTEREST' : 'TRADING_FEES'
|
|
29
30
|
const tradingApy = (s.gauge.aprDetails.find((el) => el.yieldType === compoundedYieldKey)?.aprUSD || 0) * 100
|
|
@@ -41,11 +42,12 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
41
42
|
|
|
42
43
|
// Compute rewards from the hook incentive (Votemarket)
|
|
43
44
|
const hookIncentivesPrices = extra?.baseRewardsPrices || []
|
|
44
|
-
const gaugeUsd = Number(s.gauge.totalSupplyUSD)
|
|
45
45
|
|
|
46
46
|
const incentivesByToken = (extra?.hookIncentives || [])
|
|
47
47
|
.filter((r) => equalTlc(r.vault, s.address))
|
|
48
48
|
.reduce((acc, r) => {
|
|
49
|
+
if (!acc[r.source]) acc[r.source] = {}
|
|
50
|
+
|
|
49
51
|
const rewardAddress = r.reward
|
|
50
52
|
const price = hookIncentivesPrices.find((p) => equalTlc(rewardAddress, p.address))?.usdPrice || 0
|
|
51
53
|
|
|
@@ -58,29 +60,37 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
58
60
|
const yearlyTokens = tokensPerSecond * ONE_YEAR
|
|
59
61
|
const yearlyRewardsUsd = yearlyTokens * price
|
|
60
62
|
|
|
61
|
-
if (!acc[rewardAddress]) {
|
|
62
|
-
acc[rewardAddress] = {
|
|
63
|
+
if (!acc[r.source][rewardAddress]) {
|
|
64
|
+
acc[r.source][rewardAddress] = {
|
|
63
65
|
meta: r,
|
|
64
66
|
price: price,
|
|
65
67
|
totalYearlyUsd: 0,
|
|
66
68
|
maxPeriodFinish: Number.parseInt(r.end),
|
|
69
|
+
source: r.source,
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
acc[rewardAddress].totalYearlyUsd += yearlyRewardsUsd
|
|
71
|
-
acc[rewardAddress].maxPeriodFinish = Math.max(
|
|
73
|
+
acc[r.source][rewardAddress].totalYearlyUsd += yearlyRewardsUsd
|
|
74
|
+
acc[r.source][rewardAddress].maxPeriodFinish = Math.max(
|
|
75
|
+
acc[r.source][rewardAddress].maxPeriodFinish,
|
|
76
|
+
Number.parseInt(r.end),
|
|
77
|
+
)
|
|
72
78
|
|
|
73
79
|
return acc
|
|
74
80
|
}, {})
|
|
75
81
|
|
|
76
|
-
const hookIncentives =
|
|
77
|
-
|
|
82
|
+
const hookIncentives = [
|
|
83
|
+
...Object.values(incentivesByToken.vm || {}),
|
|
84
|
+
...Object.values(incentivesByToken.direct || {}),
|
|
85
|
+
...Object.values(incentivesByToken.gauge || {}),
|
|
86
|
+
].map((group: any) => {
|
|
87
|
+
const { meta, price, totalYearlyUsd, maxPeriodFinish, source } = group
|
|
78
88
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
89
|
+
const apr = (totalYearlyUsd / (tvl > 0 ? tvl : 10_000)) * 100
|
|
90
|
+
|
|
91
|
+
let yieldType = 'STAKING_REWARDS'
|
|
92
|
+
if (source === 'vm') yieldType = 'VOTEMARKET'
|
|
93
|
+
if (source === 'direct') yieldType = 'ONLYBOOST'
|
|
84
94
|
|
|
85
95
|
return {
|
|
86
96
|
token: parseAsset({
|
|
@@ -94,11 +104,18 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
94
104
|
apr,
|
|
95
105
|
streaming: true,
|
|
96
106
|
periodFinish: maxPeriodFinish,
|
|
97
|
-
yieldType
|
|
107
|
+
yieldType,
|
|
98
108
|
}
|
|
99
109
|
})
|
|
100
110
|
|
|
101
111
|
const rewards = otherRewards
|
|
112
|
+
.filter(
|
|
113
|
+
(r) =>
|
|
114
|
+
!(
|
|
115
|
+
(r.yieldType === 'STAKING_REWARDS' || r.yieldType === 'LIQUIDITY_INCENTIVES') &&
|
|
116
|
+
incentivesByToken.gauge?.[r.asset.address]
|
|
117
|
+
),
|
|
118
|
+
)
|
|
102
119
|
.map((r) => ({
|
|
103
120
|
token: parseAsset(r.asset),
|
|
104
121
|
aprInToken: r.apr,
|
|
@@ -182,10 +199,13 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
182
199
|
|
|
183
200
|
baseRewardAdded = true
|
|
184
201
|
} else {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
202
|
+
let label = `${r.token.symbol} APR`
|
|
203
|
+
|
|
204
|
+
if (r.yieldType === 'STAKING_REWARDS' || r.yieldType === 'LIQUIDITY_INCENTIVES')
|
|
205
|
+
label = `${label} - ${protocol.charAt(0).toUpperCase() + protocol.slice(1)} gauge`
|
|
206
|
+
if (r.yieldType === 'ONLYBOOST') label = `${label} - Onlyboost Extra Rewards`
|
|
207
|
+
if (r.yieldType === 'VOTEMARKET') label = `${label} - Votemarket Liquidity Mining`
|
|
208
|
+
|
|
189
209
|
aprDetails.push({ label, value: [r.apr || 0] })
|
|
190
210
|
}
|
|
191
211
|
}
|
|
@@ -218,7 +238,7 @@ export const parseV2Strats = (global: any, rawStrats: any[], extra: any) => {
|
|
|
218
238
|
underlyingCoins: [],
|
|
219
239
|
lpPriceInUsd,
|
|
220
240
|
streaming: true,
|
|
221
|
-
tvl
|
|
241
|
+
tvl,
|
|
222
242
|
apr: {
|
|
223
243
|
boost,
|
|
224
244
|
current: { total: aprTotal, details: aprDetails },
|
|
@@ -4,20 +4,49 @@ import batchDirectIncentives from '../bytecodes/votemarket/batchDirectIncentives
|
|
|
4
4
|
import { concatBytecode } from '../index.js'
|
|
5
5
|
import { batchJsonRpc } from '../utils.js'
|
|
6
6
|
|
|
7
|
+
const BATCH_SIZE = 20
|
|
8
|
+
// selector of nbIncentives()
|
|
9
|
+
const NB_INCENTIVES_SELECTOR = '0x7ef9faaa'
|
|
10
|
+
|
|
11
|
+
const getNbIncentives = async (rpc: string, campaignRewardDistributor: string): Promise<number> => {
|
|
12
|
+
const res = await fetch(rpc, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: { 'Content-Type': 'application/json' },
|
|
15
|
+
body: JSON.stringify({
|
|
16
|
+
id: 0,
|
|
17
|
+
jsonrpc: '2.0',
|
|
18
|
+
method: 'eth_call',
|
|
19
|
+
params: [{ to: campaignRewardDistributor, data: NB_INCENTIVES_SELECTOR }, 'latest'],
|
|
20
|
+
}),
|
|
21
|
+
}).then((r) => r.json())
|
|
22
|
+
|
|
23
|
+
if (res.error) throw new Error(`nbIncentives() failed: ${res.error.message}`)
|
|
24
|
+
return Number.parseInt(res.result, 16)
|
|
25
|
+
}
|
|
26
|
+
|
|
7
27
|
export const fetchDirectIncentives = async (rpc: string, campaignRewardDistributor: string, start: number) => {
|
|
8
|
-
const
|
|
9
|
-
campaignRewardDistributor,
|
|
10
|
-
start,
|
|
11
|
-
])
|
|
28
|
+
const total = await getNbIncentives(rpc, campaignRewardDistributor)
|
|
12
29
|
|
|
13
|
-
|
|
30
|
+
if (start >= total) return []
|
|
14
31
|
|
|
15
|
-
const
|
|
32
|
+
const buildCall = (batchStart: number, batchEnd: number) => {
|
|
33
|
+
const inputData = encodeAbiParameters(parseAbiParameters(batchDirectIncentives.inputType[mainnet.id]!) as any, [
|
|
34
|
+
campaignRewardDistributor,
|
|
35
|
+
batchStart,
|
|
36
|
+
batchEnd,
|
|
37
|
+
])
|
|
38
|
+
return concatBytecode(batchDirectIncentives.bytecode[mainnet.id]!, inputData)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const calls: string[] = []
|
|
42
|
+
for (let i = start; i < total; i += BATCH_SIZE) {
|
|
43
|
+
calls.push(buildCall(i, Math.min(i + BATCH_SIZE, total)))
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return batchJsonRpc({
|
|
16
47
|
rpc,
|
|
17
|
-
calls
|
|
48
|
+
calls,
|
|
18
49
|
outputTypeAbi: batchDirectIncentives.outputTypeHr[mainnet.id],
|
|
19
50
|
callsKey: `fetch direct incentives - rpc ${rpc}`,
|
|
20
51
|
})
|
|
21
|
-
|
|
22
|
-
return directIncentives
|
|
23
52
|
}
|