@stake-dao/reader 0.4.53 → 0.4.55
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 +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/prices.js +7 -0
- package/dist/esm/prices.js.map +1 -1
- package/dist/esm/strategies/curve/fetch/index.js +3 -1
- package/dist/esm/strategies/curve/fetch/index.js.map +1 -1
- package/dist/esm/strategies/curve/points.js +10 -0
- package/dist/esm/strategies/curve/points.js.map +1 -0
- package/dist/esm/strategies/pendle/fetch.js +2 -1
- package/dist/esm/strategies/pendle/fetch.js.map +1 -1
- package/dist/esm/strategies/pendle/pendlePoints.js +1 -48
- package/dist/esm/strategies/pendle/pendlePoints.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/utils/snapshot.js +92 -0
- package/dist/esm/utils/snapshot.js.map +1 -0
- package/dist/esm/votemarket/curve/config.js +1 -0
- package/dist/esm/votemarket/curve/config.js.map +1 -1
- package/dist/esm/votemarket/curve/fetchSnapshotUserData.js +2 -2
- package/dist/esm/votemarket/curve/fetchSnapshotUserData.js.map +1 -1
- package/dist/esm/votemarket/curve/fetchUserVlCvxClaimable.js +9 -15
- package/dist/esm/votemarket/curve/fetchUserVlCvxClaimable.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/prices.d.ts +1 -0
- package/dist/types/prices.d.ts.map +1 -1
- package/dist/types/strategies/curve/fetch/index.d.ts.map +1 -1
- package/dist/types/strategies/curve/points.d.ts +28 -0
- package/dist/types/strategies/curve/points.d.ts.map +1 -0
- package/dist/types/strategies/pendle/fetch.d.ts +1 -0
- package/dist/types/strategies/pendle/fetch.d.ts.map +1 -1
- package/dist/types/strategies/pendle/pendlePoints.d.ts +1 -57
- package/dist/types/strategies/pendle/pendlePoints.d.ts.map +1 -1
- package/dist/types/utils/snapshot.d.ts +8 -0
- package/dist/types/utils/snapshot.d.ts.map +1 -0
- package/dist/types/votemarket/curve/config.d.ts +1 -0
- package/dist/types/votemarket/curve/config.d.ts.map +1 -1
- package/dist/types/votemarket/curve/fetchUserVlCvxClaimable.d.ts.map +1 -1
- package/package.json +1 -2
- package/src/index.ts +2 -1
- package/src/prices.ts +8 -0
- package/src/strategies/curve/fetch/index.ts +3 -1
- package/src/strategies/curve/points.ts +10 -0
- package/src/strategies/pendle/fetch.ts +2 -1
- package/src/strategies/pendle/pendlePoints.ts +1 -48
- package/src/utils/snapshot.ts +116 -0
- package/src/votemarket/curve/config.ts +1 -0
- package/src/votemarket/curve/fetchSnapshotUserData.ts +3 -3
- package/src/votemarket/curve/fetchUserVlCvxClaimable.ts +12 -19
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { isAddress, zeroAddress } from 'viem';
|
|
2
|
+
const DEFAULT_SCORE_API_URL = 'https://score.snapshot.org';
|
|
3
|
+
const NETWORKS = {
|
|
4
|
+
1: { key: '1', name: 'Ethereum', start: 7929876 },
|
|
5
|
+
10: { key: '10', name: 'Optimism', start: 657806 },
|
|
6
|
+
56: { key: '56', name: 'BNB Smart Chain', start: 461230 },
|
|
7
|
+
100: { key: '100', name: 'Gnosis Chain', start: 4108192 },
|
|
8
|
+
137: { key: '137', name: 'Polygon PoS', start: 9834491 },
|
|
9
|
+
146: { key: '146', name: 'Sonic', start: 60 },
|
|
10
|
+
250: { key: '250', name: 'Fantom Opera', start: 2497732 },
|
|
11
|
+
252: { key: '252', name: 'Fraxtal', start: 1 },
|
|
12
|
+
324: { key: '324', name: 'zkSync Era', start: 3908235 },
|
|
13
|
+
8453: { key: '8453', name: 'Base', start: 5022 },
|
|
14
|
+
42161: { key: '42161', name: 'Arbitrum One', start: 256508 },
|
|
15
|
+
42220: { key: '42220', name: 'Celo', start: 6599803 },
|
|
16
|
+
43114: { key: '43114', name: 'Avalanche', start: 536483 },
|
|
17
|
+
59144: { key: '59144', name: 'Linea', start: 42 },
|
|
18
|
+
81457: { key: '81457', name: 'Blast', start: 88189 },
|
|
19
|
+
};
|
|
20
|
+
const inputError = (message) => Promise.reject(new Error(message));
|
|
21
|
+
function isValidNetwork(network) {
|
|
22
|
+
return !!NETWORKS[network];
|
|
23
|
+
}
|
|
24
|
+
function isValidAddress(address) {
|
|
25
|
+
return isAddress(address) && address !== zeroAddress;
|
|
26
|
+
}
|
|
27
|
+
function isValidSnapshot(snapshot, network) {
|
|
28
|
+
return snapshot === 'latest' || (typeof snapshot === 'number' && snapshot >= NETWORKS[network].start);
|
|
29
|
+
}
|
|
30
|
+
const parseScoreAPIResponse = async (res) => {
|
|
31
|
+
let data = await res.text();
|
|
32
|
+
try {
|
|
33
|
+
data = JSON.parse(data);
|
|
34
|
+
}
|
|
35
|
+
catch (_e) {
|
|
36
|
+
return Promise.reject({
|
|
37
|
+
code: res.status || 500,
|
|
38
|
+
message: 'Failed to parse response from score API',
|
|
39
|
+
data,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (data.error)
|
|
43
|
+
return Promise.reject(data.error);
|
|
44
|
+
return data;
|
|
45
|
+
};
|
|
46
|
+
export const getSnapshotScores = async (space, strategies, network, addresses, snapshot = 'latest', options = {}) => {
|
|
47
|
+
if (!Array.isArray(addresses)) {
|
|
48
|
+
return inputError('addresses should be an array of addresses');
|
|
49
|
+
}
|
|
50
|
+
if (addresses.length === 0) {
|
|
51
|
+
return inputError('addresses can not be empty');
|
|
52
|
+
}
|
|
53
|
+
const invalidAddress = addresses.find((address) => !isValidAddress(address));
|
|
54
|
+
if (invalidAddress) {
|
|
55
|
+
return inputError(`Invalid address: ${invalidAddress}`);
|
|
56
|
+
}
|
|
57
|
+
if (!isValidNetwork(network)) {
|
|
58
|
+
return inputError(`Invalid network: ${network}`);
|
|
59
|
+
}
|
|
60
|
+
const invalidStrategy = strategies.find((strategy) => strategy.network && !isValidNetwork(strategy.network));
|
|
61
|
+
if (invalidStrategy) {
|
|
62
|
+
return inputError(`Invalid network (${invalidStrategy.network}) in strategy ${invalidStrategy.name}`);
|
|
63
|
+
}
|
|
64
|
+
if (!isValidSnapshot(snapshot, network)) {
|
|
65
|
+
return inputError(`Snapshot (${snapshot}) must be 'latest' or greater than network start block (${NETWORKS[network].start})`);
|
|
66
|
+
}
|
|
67
|
+
const url = `${DEFAULT_SCORE_API_URL}/api/scores`;
|
|
68
|
+
const headers = { Accept: 'application/json', 'Content-Type': 'application/json' };
|
|
69
|
+
try {
|
|
70
|
+
const params = {
|
|
71
|
+
space,
|
|
72
|
+
network,
|
|
73
|
+
snapshot,
|
|
74
|
+
strategies,
|
|
75
|
+
addresses,
|
|
76
|
+
};
|
|
77
|
+
const res = await fetch(url, {
|
|
78
|
+
method: 'POST',
|
|
79
|
+
headers,
|
|
80
|
+
body: JSON.stringify({ params }),
|
|
81
|
+
});
|
|
82
|
+
const response = await parseScoreAPIResponse(res);
|
|
83
|
+
return options.returnValue === 'all' ? response.result : response.result[options.returnValue || 'scores'];
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
if (e.errno) {
|
|
87
|
+
return Promise.reject({ code: e.errno, message: e.toString(), data: '' });
|
|
88
|
+
}
|
|
89
|
+
return Promise.reject(e);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/utils/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAQ7C,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AAE1D,MAAM,QAAQ,GAAG;IACf,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE;IACzD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IACzD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE;IACxD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7C,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IACzD,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;IAC9C,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;IACvD,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;IAC5D,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IACrD,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;IACzD,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IACjD,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;CACrD,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;AAE1E,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,WAAW,CAAA;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,QAAyB,EAAE,OAAe;IACjE,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAA;AACvG,CAAC;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAQ,EAAE,EAAE;IAC/C,IAAI,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAEhC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,EAAO,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG;YACvB,OAAO,EAAE,yCAAyC;YAClD,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,KAAa,EACb,UAAsB,EACtB,OAAe,EACf,SAAmB,EACnB,WAA4B,QAAQ,EACpC,UAAe,EAAE,EACjB,EAAE;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,2CAA2C,CAAC,CAAA;IAChE,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC,4BAA4B,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5G,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC,oBAAoB,eAAe,CAAC,OAAO,iBAAiB,eAAe,CAAC,IAAI,EAAE,CAAC,CAAA;IACvG,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,UAAU,CACf,aAAa,QAAQ,2DAA2D,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAC3G,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,qBAAqB,aAAa,CAAA;IACjD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;IAElF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG;YACb,KAAK;YACL,OAAO;YACP,QAAQ;YACR,UAAU;YACV,SAAS;SACV,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAEjD,OAAO,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAA;IAC3G,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACV,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;CAClD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,CAAC,4CAA4C,CAAC,EAAE,2CAA2C;IAC7F,EAAE,CAAC,4CAA4C,CAAC,EAAE,8EAA8E;IAChI,EAAE,CAAC,4CAA4C,CAAC,EAAE,iDAAiD;IACnG,EAAE,CAAC,4CAA4C,CAAC,EAAE,iDAAiD;IACnG,EAAE,CAAC,4CAA4C,CAAC,EAAE,gDAAgD;IAClG,EAAE,CAAC,4CAA4C,CAAC,EAAE,mDAAmD;CACtG,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;CAClD,CAAA"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACV,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,EAAE,EAAE,4CAA4C;IAChD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;IACjD,GAAG,EAAE,4CAA4C;CAClD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,CAAC,4CAA4C,CAAC,EAAE,2CAA2C;IAC7F,EAAE,CAAC,4CAA4C,CAAC,EAAE,8EAA8E;IAChI,EAAE,CAAC,4CAA4C,CAAC,EAAE,iDAAiD;IACnG,EAAE,CAAC,4CAA4C,CAAC,EAAE,iDAAiD;IACnG,EAAE,CAAC,4CAA4C,CAAC,EAAE,gDAAgD;IAClG,EAAE,CAAC,4CAA4C,CAAC,EAAE,mDAAmD;CACtG,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;CAClD,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import snapshot from '@snapshot-labs/snapshot.js';
|
|
2
1
|
import { gql } from 'graphql-request';
|
|
3
2
|
import { isAddress } from 'viem';
|
|
4
3
|
import { SNAPSHOT_HUB } from '../../endpoints.js';
|
|
5
4
|
import { graphql } from '../../utils.js';
|
|
5
|
+
import { getSnapshotScores } from '../../utils/snapshot.js';
|
|
6
6
|
const TITLE = 'Gauge Weight for Week of';
|
|
7
7
|
const SNAPSHOT_PROPOSAL_QUERY = (space) => gql `
|
|
8
8
|
query Proposals {
|
|
@@ -75,7 +75,7 @@ export const fetchSnapshotUserData = async (userAddress, spaces) => {
|
|
|
75
75
|
let vp = 0;
|
|
76
76
|
const userVotes = {};
|
|
77
77
|
if (isAddress(userAddress)) {
|
|
78
|
-
const fetchedVp = await
|
|
78
|
+
const fetchedVp = await getSnapshotScores(spaces[i], proposal.space.strategies, '1', [userAddress], Number.parseInt(proposal.snapshot));
|
|
79
79
|
for (const v of fetchedVp) {
|
|
80
80
|
if (v?.[userAddress]) {
|
|
81
81
|
vp += v?.[userAddress] || 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fetchSnapshotUserData.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchSnapshotUserData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Zero, contract, tokenWithAddress } from '@stake-dao/constants';
|
|
2
2
|
import { formatUnits, parseAbi } from 'viem';
|
|
3
3
|
import { mainnet } from 'viem/chains';
|
|
4
4
|
import { GH_STAKE_DAO_BOUNTIES_REPORT } from '../../endpoints.js';
|
|
5
5
|
import { getPrices } from '../../prices.js';
|
|
6
6
|
import { rpcFetchTokensData } from '../../tokens.js';
|
|
7
7
|
import { equalTlc, multicall } from '../../utils.js';
|
|
8
|
-
const getMerkleData = async (
|
|
8
|
+
const getMerkleData = async () => {
|
|
9
9
|
const [delegators, nonDelegators] = await Promise.all([
|
|
10
|
-
fetch(`${GH_STAKE_DAO_BOUNTIES_REPORT}/refs/heads/main/bounties-reports
|
|
11
|
-
fetch(`${GH_STAKE_DAO_BOUNTIES_REPORT}/refs/heads/main/bounties-reports
|
|
10
|
+
fetch(`${GH_STAKE_DAO_BOUNTIES_REPORT}/refs/heads/main/bounties-reports/latest/vlCVX/vlcvx_merkle_delegators.json`).then((res) => res.json()),
|
|
11
|
+
fetch(`${GH_STAKE_DAO_BOUNTIES_REPORT}/refs/heads/main/bounties-reports/latest/vlCVX/vlcvx_merkle.json`).then((res) => res.json()),
|
|
12
12
|
]);
|
|
13
13
|
return { delegators, nonDelegators };
|
|
14
14
|
};
|
|
@@ -65,21 +65,15 @@ const getParsedData = (merkleAddress, userData, unknownTokensData, claimedData,
|
|
|
65
65
|
};
|
|
66
66
|
const ZERO_ROOT = '0x0000000000000000000000000000000000000000000000000000000000000000';
|
|
67
67
|
export const fetchUserVlCvxClaimable = async (provider, rpc, user) => {
|
|
68
|
-
const nowEpoch = Math.floor(Date.now() / 1000 / ONE_WEEK) * ONE_WEEK;
|
|
69
|
-
const prevEpoch = nowEpoch - ONE_WEEK;
|
|
70
68
|
const { delegatorRoot, nonDelegatorRoot } = await getMerkleRoots(provider);
|
|
71
69
|
let vlCvxClaimable;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (validateMerkleRoots(delegatorRoot, nonDelegatorRoot, merkleData)) {
|
|
77
|
-
vlCvxClaimable = merkleData;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
70
|
+
try {
|
|
71
|
+
const merkleData = await getMerkleData();
|
|
72
|
+
if (validateMerkleRoots(delegatorRoot, nonDelegatorRoot, merkleData)) {
|
|
73
|
+
vlCvxClaimable = merkleData;
|
|
80
74
|
}
|
|
81
|
-
catch { }
|
|
82
75
|
}
|
|
76
|
+
catch { }
|
|
83
77
|
if (!vlCvxClaimable) {
|
|
84
78
|
throw new Error('Could not find valid merkle data');
|
|
85
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserVlCvxClaimable.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchUserVlCvxClaimable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchUserVlCvxClaimable.js","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchUserVlCvxClaimable.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js';
|
|
1
|
+
export { getPricesFromLlama, getPricesFromGeckoTerminal, getPrices, findPrice, type Price } from './prices.js';
|
|
2
2
|
export * from './sdt.js';
|
|
3
3
|
export * from './tokens.js';
|
|
4
4
|
export { rpcCall, batchJsonRpc, ethGetTxsReceipts } from './utils.js';
|
|
5
|
+
export { getSnapshotScores } from './utils/snapshot.js';
|
|
5
6
|
export type { BatchJsonRpcArgs } from './utils.js';
|
|
6
7
|
export { fetchSdt } from './sdt/fetch.js';
|
|
7
8
|
export { fetchLockers } from './lockers/fetch/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/prices.d.ts
CHANGED
|
@@ -14,5 +14,6 @@ interface TokenToFetch {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const getPrices: (tokens: TokenToFetch[], chainId?: number) => Promise<Price[]>;
|
|
16
16
|
export declare const mergePrices: (basePrices: Price[], tokens: TokenToFetch[], chainId?: number) => Promise<Price[]>;
|
|
17
|
+
export declare const findPrice: (prices: Price[], tokenAddress: string) => number;
|
|
17
18
|
export {};
|
|
18
19
|
//# sourceMappingURL=prices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAkB,
|
|
1
|
+
{"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../src/prices.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,mBAAmB,wBAAkB,MAiBjD,CAAA;AAED,eAAO,MAAM,kBAAkB,WAAkB,GAAG,EAAE,wCAAmC,GAAG,KAAG,OAAO,CAAC,KAAK,EAAE,CAqB7G,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAmB,MAAM,iBAKvD,CAAA;AAED,eAAO,MAAM,2BAA2B,wBAAkB,MAiBzD,CAAA;AAED,eAAO,MAAM,0BAA0B,WAC7B,GAAG,EAAE,wCAEO,GAAG,KACtB,OAAO,CAAC,KAAK,EAAE,CA4BjB,CAAA;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,WAAkB,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAmBpF,CAAA;AAED,eAAO,MAAM,WAAW,eAAsB,KAAK,EAAE,UAAU,YAAY,EAAE,uBAAgB,OAAO,CAAC,KAAK,EAAE,CAO3G,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,KAAK,EAAE,gBAAgB,MAAM,KAAG,MAEjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/strategies/curve/fetch/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAEjE,OAAO,KAAK,EAIV,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,gBAAgB,CAAA;AASvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK3E,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;IACrB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;CACjC;AAED,eAAO,MAAM,UAAU,kGASpB,WAAW,KAAG,OAAO,CAAC,YAAY,CA0PpC,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const curvePoints: {
|
|
2
|
+
'0x38de22a3175708d45e7c7c64cd78479c8b56f76e': {
|
|
3
|
+
multiplier: number;
|
|
4
|
+
label: string;
|
|
5
|
+
}[];
|
|
6
|
+
'0x4628f13651ead6793f8d838b34b8f8522fb0cc52': {
|
|
7
|
+
multiplier: number;
|
|
8
|
+
label: string;
|
|
9
|
+
}[];
|
|
10
|
+
'0xc907ba505c2e1cbc4658c395d4a2c7e6d2c32656': {
|
|
11
|
+
multiplier: number;
|
|
12
|
+
label: string;
|
|
13
|
+
}[];
|
|
14
|
+
'0x3ee841f47947fefbe510366e4bbb49e145484195': {
|
|
15
|
+
multiplier: number;
|
|
16
|
+
label: string;
|
|
17
|
+
}[];
|
|
18
|
+
'0x82202caec5e6d85014eadc68d4912f3c90093e7c': {
|
|
19
|
+
multiplier: number;
|
|
20
|
+
label: string;
|
|
21
|
+
}[];
|
|
22
|
+
'0x6691dbb44154a9f23f8357c56fc9ff5548a8bdc4': {
|
|
23
|
+
multiplier: number;
|
|
24
|
+
label: string;
|
|
25
|
+
}[];
|
|
26
|
+
};
|
|
27
|
+
export default curvePoints;
|
|
28
|
+
//# sourceMappingURL=points.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../../../src/strategies/curve/points.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;CAOhB,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/fetch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAU,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAqBnF,UAAU,YAAY;IACpB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,WAAW,iEAAwE,YAAY
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/fetch.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAU,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAqBnF,UAAU,YAAY;IACpB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,WAAW,iEAAwE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoT3G,CAAA"}
|
|
@@ -1,77 +1,21 @@
|
|
|
1
1
|
declare const pendlePoints: {
|
|
2
|
-
'0x9c73879f795cefa1d5239de08d1b6aba2d2d1434': {
|
|
3
|
-
multiplier: number;
|
|
4
|
-
label: string;
|
|
5
|
-
}[];
|
|
6
|
-
'0x19588f29f9402bb508007feadd415c875ee3f19f': {
|
|
7
|
-
multiplier: number;
|
|
8
|
-
label: string;
|
|
9
|
-
}[];
|
|
10
2
|
'0x90c98ab215498b72abfec04c651e2e496ba364c0': {
|
|
11
3
|
multiplier: number;
|
|
12
4
|
label: string;
|
|
13
5
|
}[];
|
|
14
|
-
'0x107a2e3cd2bb9a32b9ee2e4d51143149f8367eba': {
|
|
15
|
-
multiplier: number;
|
|
16
|
-
label: string;
|
|
17
|
-
}[];
|
|
18
|
-
'0x7d372819240d14fb477f17b964f95f33beb4c704': {
|
|
19
|
-
multiplier: number;
|
|
20
|
-
label: string;
|
|
21
|
-
}[];
|
|
22
|
-
'0xf32e58f92e60f4b0a37a69b95d642a471365eae8': {
|
|
23
|
-
multiplier: number;
|
|
24
|
-
label: string;
|
|
25
|
-
}[];
|
|
26
6
|
'0xe26d7f9409581f606242300fbfe63f56789f2169': {
|
|
27
7
|
multiplier: number;
|
|
28
8
|
label: string;
|
|
29
9
|
}[];
|
|
30
|
-
'0xd8f12bcde578c653014f27379a6114f67f0e445f': {
|
|
31
|
-
multiplier: number;
|
|
32
|
-
label: string;
|
|
33
|
-
}[];
|
|
34
10
|
'0xd7e0809998693fd87e81d51de1619fd0ee658031': {
|
|
35
11
|
multiplier: number;
|
|
36
12
|
label: string;
|
|
37
13
|
}[];
|
|
38
|
-
'0x4f43c77872db6ba177c270986cd30c3381af37ee': {
|
|
39
|
-
multiplier: number;
|
|
40
|
-
label: string;
|
|
41
|
-
}[];
|
|
42
14
|
'0x445d25a1c31445fb29e65d12da8e0eea38174176': {
|
|
43
15
|
multiplier: number;
|
|
44
16
|
label: string;
|
|
45
17
|
}[];
|
|
46
|
-
'
|
|
47
|
-
multiplier: number;
|
|
48
|
-
label: string;
|
|
49
|
-
}[];
|
|
50
|
-
'0x38100a480dbed278b0fe57ba80a75498a7dc5bb1': {
|
|
51
|
-
multiplier: number;
|
|
52
|
-
label: string;
|
|
53
|
-
}[];
|
|
54
|
-
'0x17be998a578fd97687b24e83954fec86dc20c979': {
|
|
55
|
-
multiplier: number;
|
|
56
|
-
label: string;
|
|
57
|
-
}[];
|
|
58
|
-
'0xd1d7d99764f8a52aff007b7831cc02748b2013b5': {
|
|
59
|
-
multiplier: number;
|
|
60
|
-
label: string;
|
|
61
|
-
}[];
|
|
62
|
-
'0xa54fc268101c8b97de19ef3141d34751a11996b2': {
|
|
63
|
-
multiplier: number;
|
|
64
|
-
label: string;
|
|
65
|
-
}[];
|
|
66
|
-
'0xbae2df4dfcd0c613018d6056a40077f2d1eff28a': {
|
|
67
|
-
multiplier: number;
|
|
68
|
-
label: string;
|
|
69
|
-
}[];
|
|
70
|
-
'0xc8edd52d0502aa8b4d5c77361d4b3d300e8fc81c': {
|
|
71
|
-
multiplier: number;
|
|
72
|
-
label: string;
|
|
73
|
-
}[];
|
|
74
|
-
'0xcdbd5ff3e03b6828db9c32e2131a60aba5137901': {
|
|
18
|
+
'0x353d0b2efb5b3a7987fb06d30ad6160522d08426': {
|
|
75
19
|
multiplier: number;
|
|
76
20
|
label: string;
|
|
77
21
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendlePoints.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/pendlePoints.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"pendlePoints.d.ts","sourceRoot":"","sources":["../../../../src/strategies/pendle/pendlePoints.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CAqBjB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface Strategy {
|
|
2
|
+
name: string;
|
|
3
|
+
network?: string;
|
|
4
|
+
params: any;
|
|
5
|
+
}
|
|
6
|
+
export declare const getSnapshotScores: (space: string, strategies: Strategy[], network: string, addresses: string[], snapshot?: number | string, options?: any) => Promise<any>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/utils/snapshot.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,GAAG,CAAA;CACZ;AAqDD,eAAO,MAAM,iBAAiB,UACrB,MAAM,cACD,QAAQ,EAAE,WACb,MAAM,aACJ,MAAM,EAAE,aACT,MAAM,GAAG,MAAM,YAChB,GAAG,iBAkDb,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;CAYtC,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB,CAAA;AAED,eAAO,MAAM,mBAAmB,UAAmD,CAAA;AAEnF,eAAO,MAAM,aAAa,UAOzB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;CAE7B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserVlCvxClaimable.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchUserVlCvxClaimable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAyB,MAAM,MAAM,CAAA;AAO1D,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAuGD,eAAO,MAAM,uBAAuB,aAAoB,GAAG,OAAO,IAAI,QAAQ,MAAM;;;;;;;mBAT1C,OAAO;;
|
|
1
|
+
{"version":3,"file":"fetchUserVlCvxClaimable.d.ts","sourceRoot":"","sources":["../../../../src/votemarket/curve/fetchUserVlCvxClaimable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAyB,MAAM,MAAM,CAAA;AAO1D,KAAK,IAAI,GAAG;IACV,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;CAC1B,CAAA;AAuGD,eAAO,MAAM,uBAAuB,aAAoB,GAAG,OAAO,IAAI,QAAQ,MAAM;;;;;;;mBAT1C,OAAO;;iBAsEhD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stake-dao/reader",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.55",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
"*": {}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@snapshot-labs/snapshot.js": "^0.9.7",
|
|
35
34
|
"dayjs": "^1.11.11",
|
|
36
35
|
"graphql-request": "^6.0.0",
|
|
37
36
|
"lodash-es": "^4.17.21",
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
////////////////////////////////////////////////////////////////
|
|
2
2
|
/// --- GLOBAL
|
|
3
3
|
///////////////////////////////////////////////////////////////
|
|
4
|
-
export { getPricesFromLlama, getPricesFromGeckoTerminal } from './prices.js'
|
|
4
|
+
export { getPricesFromLlama, getPricesFromGeckoTerminal, getPrices, findPrice, type Price } from './prices.js'
|
|
5
5
|
export * from './sdt.js'
|
|
6
6
|
export * from './tokens.js'
|
|
7
7
|
export { rpcCall, batchJsonRpc, ethGetTxsReceipts } from './utils.js'
|
|
8
|
+
export { getSnapshotScores } from './utils/snapshot.js'
|
|
8
9
|
export type { BatchJsonRpcArgs } from './utils.js'
|
|
9
10
|
|
|
10
11
|
////////////////////////////////////////////////////////////////
|
package/src/prices.ts
CHANGED
|
@@ -18,6 +18,8 @@ export const getLlamaTokenPrefix = (chainId = 1): string => {
|
|
|
18
18
|
return 'polygon'
|
|
19
19
|
case 252:
|
|
20
20
|
return 'fraxtal'
|
|
21
|
+
case 8453:
|
|
22
|
+
return 'base'
|
|
21
23
|
case 42161:
|
|
22
24
|
return 'arbitrum'
|
|
23
25
|
case 56:
|
|
@@ -67,6 +69,8 @@ export const getGeckoTerminalTokenPrefix = (chainId = 1): string => {
|
|
|
67
69
|
return 'polygon_pos'
|
|
68
70
|
case 252:
|
|
69
71
|
return 'fraxtal'
|
|
72
|
+
case 8453:
|
|
73
|
+
return 'base'
|
|
70
74
|
case 42161:
|
|
71
75
|
return 'arbitrum'
|
|
72
76
|
default:
|
|
@@ -142,3 +146,7 @@ export const mergePrices = async (basePrices: Price[], tokens: TokenToFetch[], c
|
|
|
142
146
|
|
|
143
147
|
return [...basePrices.filter((p) => p.usdPrice > 0), ...fetchedPrices]
|
|
144
148
|
}
|
|
149
|
+
|
|
150
|
+
export const findPrice = (prices: Price[], tokenAddress: string): number => {
|
|
151
|
+
return prices.find((p) => equalTlc(p.address, tokenAddress))?.usdPrice || 0
|
|
152
|
+
}
|
|
@@ -3,7 +3,7 @@ import { formatUnits } from 'viem'
|
|
|
3
3
|
import { ONE_YEAR, OneEther, Zero, curveStrats, mainnet, tokenWithId } from '@stake-dao/constants'
|
|
4
4
|
import type { Price } from '../../../prices.js'
|
|
5
5
|
import { type SdtEmissionData, getSdtApr } from '../../../sdt.js'
|
|
6
|
-
import { equalTlc } from '../../../utils.js'
|
|
6
|
+
import { equalTlc, lc } from '../../../utils.js'
|
|
7
7
|
import type {
|
|
8
8
|
CurveGlobalData,
|
|
9
9
|
OnlyBoostData,
|
|
@@ -18,6 +18,7 @@ import { getAprBreakdown } from '../../utils/getAprBreakdown.js'
|
|
|
18
18
|
import { buildCurveStrategies } from '../build.js'
|
|
19
19
|
import { getCurveHttpCalls } from '../httpCalls.js'
|
|
20
20
|
import { getOnChainSdCurveData } from '../onChainCalls.js'
|
|
21
|
+
import curvePoints from '../points.js'
|
|
21
22
|
import { BROKEN_VAULTS } from './curveApiData/config.js'
|
|
22
23
|
import type { GaugesWeightsData } from './curveApiData/getGaugesWeights.js'
|
|
23
24
|
import { getCvxApr } from './getCvxApr.js'
|
|
@@ -218,6 +219,7 @@ export const fetchCurve = async ({
|
|
|
218
219
|
underlyingCoins: strat.underlyingCoins,
|
|
219
220
|
sdGauge,
|
|
220
221
|
lpPriceInUsd: strat.lpPriceInUsd,
|
|
222
|
+
points: curvePoints[lc(strat.lpToken.address)],
|
|
221
223
|
streaming: rewardsData.some((r) => Number(r.periodFinish) > Math.floor(Date.now() / 1000)),
|
|
222
224
|
tvl,
|
|
223
225
|
apr: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const curvePoints = {
|
|
2
|
+
'0x38de22a3175708d45e7c7c64cd78479c8b56f76e': [{ multiplier: 30, label: 'Resolv Points' }],
|
|
3
|
+
'0x4628f13651ead6793f8d838b34b8f8522fb0cc52': [{ multiplier: 30, label: 'Resolv Points' }],
|
|
4
|
+
'0xc907ba505c2e1cbc4658c395d4a2c7e6d2c32656': [{ multiplier: 30, label: 'Resolv Points' }],
|
|
5
|
+
'0x3ee841f47947fefbe510366e4bbb49e145484195': [{ multiplier: 30, label: 'Resolv Points' }],
|
|
6
|
+
'0x82202caec5e6d85014eadc68d4912f3c90093e7c': [{ multiplier: 5, label: 'Elixir Potions' }],
|
|
7
|
+
'0x6691dbb44154a9f23f8357c56fc9ff5548a8bdc4': [{ multiplier: 10, label: 'Elixir Potions' }],
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default curvePoints
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import multicallPendleStratsAbi from '../../abis/pendleVaultsMulticall.js'
|
|
17
17
|
import { batchPendleStrats } from '../../bytecodes/index.js'
|
|
18
18
|
import type { Price } from '../../prices.js'
|
|
19
|
-
import { type Call, batchJsonRpc, equalTlc, multicall } from '../../utils.js'
|
|
19
|
+
import { type Call, batchJsonRpc, equalTlc, lc, multicall } from '../../utils.js'
|
|
20
20
|
import { FACTORY_EXPLORER_EVENTS } from '../curve/endpoints.js'
|
|
21
21
|
import type { RewardsData, SdtApr, ValidChainId, ValidExplorer } from '../types.js'
|
|
22
22
|
import { getBoost } from '../utils/boost.js'
|
|
@@ -281,6 +281,7 @@ export const fetchPendle = async ({ prices, provider, rpc, explorerApiKey, explo
|
|
|
281
281
|
lpToken: s.lpToken,
|
|
282
282
|
coins: s.coins,
|
|
283
283
|
syToken: s.syToken,
|
|
284
|
+
points: pendlePoints[lc(s.lpToken.address)],
|
|
284
285
|
streaming: rewardsData.some((r) => Number(r.periodFinish) > Math.floor(Date.now() / 1000)),
|
|
285
286
|
sdGauge,
|
|
286
287
|
lpPriceInUsd,
|