@lidofinance/lsv-cli 1.0.0-alpha.56 → 1.0.0-alpha.58
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/features/deposits/no-pdg.d.ts +2 -1
- package/dist/features/deposits/no-pdg.js +13 -2
- package/dist/features/deposits/no-pdg.js.map +1 -1
- package/dist/features/pdg.js +6 -2
- package/dist/features/pdg.js.map +1 -1
- package/dist/features/utils/report-fresh.d.ts +1 -0
- package/dist/features/utils/report-fresh.js +18 -0
- package/dist/features/utils/report-fresh.js.map +1 -1
- package/dist/features/vault-operations/vault-health.js +4 -1
- package/dist/features/vault-operations/vault-health.js.map +1 -1
- package/dist/features/vault-operations/vault-info.js +5 -3
- package/dist/features/vault-operations/vault-info.js.map +1 -1
- package/dist/features/vault-operations/vault-overview.js +4 -2
- package/dist/features/vault-operations/vault-overview.js.map +1 -1
- package/dist/features/vault-operations/vault-roles.d.ts +1 -2
- package/dist/features/vault-operations/vaults-by-role.js +7 -6
- package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
- package/dist/programs/account/read.js +1 -35
- package/dist/programs/account/read.js.map +1 -1
- package/dist/programs/account/write.js +8 -8
- package/dist/programs/account/write.js.map +1 -1
- package/dist/programs/contracts/dashboard/config.js +0 -4
- package/dist/programs/contracts/dashboard/config.js.map +1 -1
- package/dist/programs/contracts/dashboard/read.js +32 -4
- package/dist/programs/contracts/dashboard/read.js.map +1 -1
- package/dist/programs/contracts/dashboard/write.js +3 -2
- package/dist/programs/contracts/dashboard/write.js.map +1 -1
- package/dist/programs/pdg-helpers.js +1 -1
- package/dist/programs/pdg-helpers.js.map +1 -1
- package/dist/programs/use-cases/deposits/read.js +65 -1
- package/dist/programs/use-cases/deposits/read.js.map +1 -1
- package/dist/programs/use-cases/deposits/write.js +4 -3
- package/dist/programs/use-cases/deposits/write.js.map +1 -1
- package/dist/programs/use-cases/metrics/read.js +2 -3
- package/dist/programs/use-cases/metrics/read.js.map +1 -1
- package/dist/programs/use-cases/report/read.js +27 -9
- package/dist/programs/use-cases/report/read.js.map +1 -1
- package/dist/programs/use-cases/report/write.js +1 -3
- package/dist/programs/use-cases/report/write.js.map +1 -1
- package/dist/tests/utils/ipfs.test.js +3 -3
- package/dist/tests/utils/ipfs.test.js.map +1 -1
- package/dist/utils/charts/blessed/charts-apr.d.ts +2 -2
- package/dist/utils/charts/blessed/charts-apr.js +10 -10
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
- package/dist/utils/charts/blessed/constants.d.ts +1 -1
- package/dist/utils/charts/blessed/constants.js +1 -1
- package/dist/utils/charts/blessed/constants.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/{efficiency.d.ts → carry-spread.d.ts} +1 -1
- package/dist/utils/charts/blessed/datasets/{efficiency.js → carry-spread.js} +5 -5
- package/dist/utils/charts/blessed/datasets/carry-spread.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/index.d.ts +1 -1
- package/dist/utils/charts/blessed/datasets/index.js +1 -1
- package/dist/utils/charts/blessed/datasets/index.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +6 -6
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
- package/dist/utils/charts/metrics.d.ts +1 -1
- package/dist/utils/charts/metrics.js +2 -2
- package/dist/utils/charts/metrics.js.map +1 -1
- package/dist/utils/charts/simple/simple-charts.js +5 -5
- package/dist/utils/charts/simple/simple-charts.js.map +1 -1
- package/dist/utils/commands/confirmations.d.ts +3 -1
- package/dist/utils/commands/confirmations.js +3 -0
- package/dist/utils/commands/confirmations.js.map +1 -1
- package/dist/utils/commands/report.js +4 -4
- package/dist/utils/commands/report.js.map +1 -1
- package/dist/utils/fetchCL.js +20 -8
- package/dist/utils/fetchCL.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ipfs.d.ts +6 -3
- package/dist/utils/ipfs.js +21 -15
- package/dist/utils/ipfs.js.map +1 -1
- package/dist/utils/report/report-proof.d.ts +3 -9
- package/dist/utils/report/report-proof.js +8 -8
- package/dist/utils/report/report-proof.js.map +1 -1
- package/dist/utils/report/report.d.ts +0 -30
- package/dist/utils/report/report.js +3 -44
- package/dist/utils/report/report.js.map +1 -1
- package/dist/utils/report/statistic-data.d.ts +1 -1
- package/dist/utils/report/types.d.ts +0 -22
- package/dist/utils/snake-to-camel.d.ts +6 -0
- package/dist/utils/snake-to-camel.js +9 -0
- package/dist/utils/snake-to-camel.js.map +1 -0
- package/dist/utils/statistic/report-statistic.d.ts +2 -2
- package/dist/utils/statistic/report-statistic.js +5 -5
- package/dist/utils/statistic/report-statistic.js.map +1 -1
- package/dist/version/index.js +1 -1
- package/package.json +1 -1
- package/dist/utils/charts/blessed/datasets/efficiency.js.map +0 -1
package/dist/utils/ipfs.js
CHANGED
|
@@ -8,12 +8,11 @@ import { logInfo, logTable } from './logging/console.js';
|
|
|
8
8
|
export const IPFS_GATEWAY = 'https://ipfs.io/ipfs';
|
|
9
9
|
const IPFS_CACHE_DIR = path.resolve('ipfs-cache');
|
|
10
10
|
export const fetchIPFS = async (args, cache = true) => {
|
|
11
|
-
const { cid, gateway = IPFS_GATEWAY
|
|
12
|
-
const ipfsUrl = `${gateway}/${cid}`;
|
|
13
|
-
logInfo('Fetching content from', ipfsUrl);
|
|
11
|
+
const { cid, gateway = IPFS_GATEWAY } = args;
|
|
14
12
|
if (cache)
|
|
15
|
-
return
|
|
16
|
-
|
|
13
|
+
return fetchIPFSWithCacheAndVerify(cid, gateway);
|
|
14
|
+
const { json } = await fetchIPFSDirectAndVerify(cid, gateway);
|
|
15
|
+
return json;
|
|
17
16
|
};
|
|
18
17
|
// Fetching content by CID through IPFS gateway
|
|
19
18
|
export const fetchIPFSDirect = async (args) => {
|
|
@@ -32,8 +31,11 @@ export const fetchIPFSDirect = async (args) => {
|
|
|
32
31
|
return parsed;
|
|
33
32
|
};
|
|
34
33
|
// Fetching buffer content by CID through IPFS gateway
|
|
35
|
-
export const fetchIPFSBuffer = async (
|
|
36
|
-
const
|
|
34
|
+
export const fetchIPFSBuffer = async (args) => {
|
|
35
|
+
const { cid, gateway = IPFS_GATEWAY } = args;
|
|
36
|
+
const ipfsUrl = `${gateway}/${cid}`;
|
|
37
|
+
logInfo('Fetching content from', ipfsUrl);
|
|
38
|
+
const response = await fetch(ipfsUrl);
|
|
37
39
|
if (!response.ok) {
|
|
38
40
|
throw new Error(`Failed to fetch content: ${response.statusText}`);
|
|
39
41
|
}
|
|
@@ -57,9 +59,9 @@ export const calculateIPFSAddCID = async (fileContent) => {
|
|
|
57
59
|
return lastCid;
|
|
58
60
|
};
|
|
59
61
|
// Downloading file from IPFS and checking its integrity
|
|
60
|
-
export const
|
|
62
|
+
export const fetchIPFSDirectAndVerify = async (cid, gateway = IPFS_GATEWAY) => {
|
|
61
63
|
const originalCID = CID.parse(cid);
|
|
62
|
-
const fileContent = await fetchIPFSBuffer(cid, gateway);
|
|
64
|
+
const fileContent = await fetchIPFSBuffer({ cid, gateway });
|
|
63
65
|
const calculatedCID = await calculateIPFSAddCID(fileContent);
|
|
64
66
|
if (!calculatedCID.equals(originalCID)) {
|
|
65
67
|
throw new Error(`❌ CID mismatch! Expected ${originalCID}, but got ${calculatedCID}`);
|
|
@@ -74,21 +76,25 @@ export const fetchAndVerifyFile = async (cid, gateway = IPFS_GATEWAY) => {
|
|
|
74
76
|
head: ['Type', 'CID'],
|
|
75
77
|
},
|
|
76
78
|
});
|
|
77
|
-
|
|
79
|
+
const json = JSON.parse(new TextDecoder().decode(fileContent));
|
|
80
|
+
return {
|
|
81
|
+
fileContent,
|
|
82
|
+
json,
|
|
83
|
+
};
|
|
78
84
|
};
|
|
79
|
-
export const
|
|
80
|
-
const { cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
85
|
+
export const fetchIPFSWithCacheAndVerify = async (cid, gateway = IPFS_GATEWAY) => {
|
|
81
86
|
await fs.mkdir(IPFS_CACHE_DIR, { recursive: true });
|
|
82
87
|
const cacheFile = path.join(IPFS_CACHE_DIR, `${cid}.json`);
|
|
83
88
|
try {
|
|
89
|
+
logInfo('Trying to get content from cache', cid);
|
|
84
90
|
const data = await fs.readFile(cacheFile, 'utf-8');
|
|
85
91
|
return JSON.parse(data);
|
|
86
92
|
}
|
|
87
93
|
catch {
|
|
88
94
|
// Not in cache, fetch from IPFS
|
|
89
|
-
const
|
|
90
|
-
await fs.writeFile(cacheFile, JSON.stringify(
|
|
91
|
-
return
|
|
95
|
+
const { json } = await fetchIPFSDirectAndVerify(cid, gateway);
|
|
96
|
+
await fs.writeFile(cacheFile, JSON.stringify(json), 'utf-8');
|
|
97
|
+
return json;
|
|
92
98
|
}
|
|
93
99
|
};
|
|
94
100
|
//# sourceMappingURL=ipfs.js.map
|
package/dist/utils/ipfs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../utils/ipfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC;AASnD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,IAAqB,EACrB,KAAK,GAAG,IAAI,EACA,EAAE;IACd,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../utils/ipfs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address, Hex } from 'viem';
|
|
2
2
|
import { VaultReportArgs } from './types.js';
|
|
3
|
-
export declare const getReportProofByVault: (args: VaultReportArgs) => Promise<{
|
|
3
|
+
export declare const getReportProofByVault: (args: VaultReportArgs, cache?: boolean) => Promise<{
|
|
4
4
|
proof: Hex[];
|
|
5
5
|
data: import("../index.js").LeafDataFields;
|
|
6
6
|
extraData: import("../index.js").ExtraDataFields;
|
|
@@ -8,14 +8,12 @@ export declare const getReportProofByVault: (args: VaultReportArgs) => Promise<{
|
|
|
8
8
|
refSlot: number;
|
|
9
9
|
blockNumber: number;
|
|
10
10
|
timestamp: number;
|
|
11
|
-
proofsCID: string;
|
|
12
11
|
prevTreeCID: string;
|
|
13
|
-
merkleTreeRoot: string;
|
|
14
12
|
}>;
|
|
15
13
|
type GetReportProofByVaultsArgs = Omit<VaultReportArgs, 'vault'> & {
|
|
16
14
|
vaults: Address[];
|
|
17
15
|
};
|
|
18
|
-
export declare const getReportProofByVaults: (args: GetReportProofByVaultsArgs) => Promise<{
|
|
16
|
+
export declare const getReportProofByVaults: (args: GetReportProofByVaultsArgs, cache?: boolean) => Promise<{
|
|
19
17
|
proof: Hex[];
|
|
20
18
|
data: import("../index.js").LeafDataFields;
|
|
21
19
|
extraData: import("../index.js").ExtraDataFields;
|
|
@@ -23,11 +21,9 @@ export declare const getReportProofByVaults: (args: GetReportProofByVaultsArgs)
|
|
|
23
21
|
refSlot: number;
|
|
24
22
|
blockNumber: number;
|
|
25
23
|
timestamp: number;
|
|
26
|
-
proofsCID: string;
|
|
27
24
|
prevTreeCID: string;
|
|
28
|
-
merkleTreeRoot: string;
|
|
29
25
|
}[]>;
|
|
30
|
-
export declare const getReportProofs: (args: Omit<VaultReportArgs, "vault"
|
|
26
|
+
export declare const getReportProofs: (args: Omit<VaultReportArgs, "vault">, cache?: boolean) => Promise<{
|
|
31
27
|
proof: Hex[];
|
|
32
28
|
data: import("../index.js").LeafDataFields;
|
|
33
29
|
extraData: import("../index.js").ExtraDataFields;
|
|
@@ -35,8 +31,6 @@ export declare const getReportProofs: (args: Omit<VaultReportArgs, "vault">) =>
|
|
|
35
31
|
refSlot: number;
|
|
36
32
|
blockNumber: number;
|
|
37
33
|
timestamp: number;
|
|
38
|
-
proofsCID: string;
|
|
39
34
|
prevTreeCID: string;
|
|
40
|
-
merkleTreeRoot: string;
|
|
41
35
|
}[]>;
|
|
42
36
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
|
|
2
|
-
import { fetchIPFS
|
|
2
|
+
import { fetchIPFS } from '../index.js';
|
|
3
3
|
import { getVaultData } from './report.js';
|
|
4
|
-
export const getReportProofByVault = async (args) => {
|
|
4
|
+
export const getReportProofByVault = async (args, cache = true) => {
|
|
5
5
|
const { vault } = args;
|
|
6
|
-
const IPFSReportData = await
|
|
6
|
+
const IPFSReportData = await fetchIPFS(args, cache);
|
|
7
7
|
const merkleTree = StandardMerkleTree.load({
|
|
8
8
|
...IPFSReportData,
|
|
9
9
|
values: IPFSReportData.values.map(({ treeIndex, value }) => {
|
|
@@ -23,16 +23,16 @@ export const getReportProofByVault = async (args) => {
|
|
|
23
23
|
proof: merkleTree.getProof(vaultIndex),
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
|
-
export const getReportProofByVaults = async (args) => {
|
|
26
|
+
export const getReportProofByVaults = async (args, cache = true) => {
|
|
27
27
|
const { vaults } = args;
|
|
28
|
-
const proofs = await Promise.all(vaults.map((vault) => getReportProofByVault({ ...args, vault })));
|
|
28
|
+
const proofs = await Promise.all(vaults.map((vault) => getReportProofByVault({ ...args, vault }, cache)));
|
|
29
29
|
return proofs;
|
|
30
30
|
};
|
|
31
|
-
export const getReportProofs = async (args) => {
|
|
32
|
-
const report = await fetchIPFS(args);
|
|
31
|
+
export const getReportProofs = async (args, cache = true) => {
|
|
32
|
+
const report = await fetchIPFS(args, cache);
|
|
33
33
|
const vaultReports = report.values.map((value) => getVaultData(report, value.value[0]).data);
|
|
34
34
|
const vaults = vaultReports.map((vault) => vault.vaultAddress);
|
|
35
|
-
const proofs = await Promise.all(vaults.map((vault) => getReportProofByVault({ ...args, vault: vault })));
|
|
35
|
+
const proofs = await Promise.all(vaults.map((vault) => getReportProofByVault({ ...args, vault: vault }, cache)));
|
|
36
36
|
return proofs;
|
|
37
37
|
};
|
|
38
38
|
//# sourceMappingURL=report-proof.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-proof.js","sourceRoot":"","sources":["../../../utils/report/report-proof.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"report-proof.js","sourceRoot":"","sources":["../../../utils/report/report-proof.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,IAAqB,EACrB,KAAK,GAAG,IAAI,EACZ,EAAE;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAS,IAAI,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACzC,GAAG,cAAc;QACjB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YACzD,OAAO;gBACL,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;aAC7B,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAChD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAC9D,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEvD,OAAO;QACL,GAAG,UAAU;QACb,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAU;KAChD,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAgC,EAChC,KAAK,GAAG,IAAI,EACZ,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CACxE,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,IAAoC,EACpC,KAAK,GAAG,IAAI,EACZ,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAS,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACrD,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAgB,EAAE,EAAE,KAAK,CAAC,CACnE,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -3,38 +3,8 @@ import type { VaultReport, VaultReportArgs, Report, LeafDataFields } from './typ
|
|
|
3
3
|
export declare const getVaultReport: (args: VaultReportArgs, cache?: boolean) => Promise<VaultReport>;
|
|
4
4
|
export declare const getVaultPreviousReport: (args: VaultReportArgs, cache?: boolean) => Promise<VaultReport>;
|
|
5
5
|
export declare const getVaultData: (report: Report, vault: Address) => VaultReport;
|
|
6
|
-
export declare const getVaultReportProof: (args: VaultReportArgs, cache?: boolean) => Promise<{
|
|
7
|
-
id: number;
|
|
8
|
-
totalValueWei: bigint;
|
|
9
|
-
inOutDelta: bigint;
|
|
10
|
-
fee: bigint;
|
|
11
|
-
liabilityShares: bigint;
|
|
12
|
-
leaf: string;
|
|
13
|
-
proof: string[];
|
|
14
|
-
}>;
|
|
15
|
-
export declare const getVaultReportProofByCid: (args: VaultReportArgs, cache?: boolean) => Promise<{
|
|
16
|
-
id: number;
|
|
17
|
-
totalValueWei: bigint;
|
|
18
|
-
inOutDelta: bigint;
|
|
19
|
-
fee: bigint;
|
|
20
|
-
liabilityShares: bigint;
|
|
21
|
-
leaf: string;
|
|
22
|
-
proof: string[];
|
|
23
|
-
}>;
|
|
24
|
-
export declare const getAllVaultsReportProofs: (args: Omit<VaultReportArgs, "vault">, cache?: boolean) => Promise<{
|
|
25
|
-
[key: string]: {
|
|
26
|
-
id: number;
|
|
27
|
-
totalValueWei: bigint;
|
|
28
|
-
inOutDelta: bigint;
|
|
29
|
-
fee: bigint;
|
|
30
|
-
liabilityShares: bigint;
|
|
31
|
-
leaf: string;
|
|
32
|
-
proof: string[];
|
|
33
|
-
};
|
|
34
|
-
}>;
|
|
35
6
|
export declare const getAllVaultsReports: (args: Omit<VaultReportArgs, "vault">, cache?: boolean) => Promise<{
|
|
36
7
|
vaultReports: LeafDataFields[];
|
|
37
|
-
proofsCID: string;
|
|
38
8
|
prevTreeCID: string;
|
|
39
9
|
}>;
|
|
40
10
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchIPFS, IPFS_GATEWAY, logInfo } from '../index.js';
|
|
1
|
+
import { fetchIPFS, IPFS_GATEWAY, logInfo, snakeToCamel } from '../index.js';
|
|
2
2
|
export const getVaultReport = async (args, cache = true) => {
|
|
3
3
|
const { vault, cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
4
4
|
const report = await fetchIPFS({
|
|
@@ -46,7 +46,8 @@ export const getVaultData = (report, vault) => {
|
|
|
46
46
|
if (value === undefined) {
|
|
47
47
|
throw new Error(`Missing value at index ${index} for field "${fieldName}"`);
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
const camelCaseFieldName = snakeToCamel(fieldName);
|
|
50
|
+
data[camelCaseFieldName] = value.toString();
|
|
50
51
|
}
|
|
51
52
|
return {
|
|
52
53
|
data,
|
|
@@ -55,50 +56,9 @@ export const getVaultData = (report, vault) => {
|
|
|
55
56
|
refSlot: report.refSlot,
|
|
56
57
|
blockNumber: Number(report.blockNumber),
|
|
57
58
|
timestamp: report.timestamp,
|
|
58
|
-
proofsCID: report.proofsCID,
|
|
59
|
-
merkleTreeRoot: report.merkleTreeRoot,
|
|
60
59
|
prevTreeCID: report.prevTreeCID,
|
|
61
60
|
};
|
|
62
61
|
};
|
|
63
|
-
export const getVaultReportProof = async (args, cache = true) => {
|
|
64
|
-
const { vault, cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
65
|
-
const report = await fetchIPFS({
|
|
66
|
-
cid,
|
|
67
|
-
gateway,
|
|
68
|
-
bigNumberType,
|
|
69
|
-
}, cache);
|
|
70
|
-
const proofCID = report.proofsCID;
|
|
71
|
-
const data = await fetchIPFS({
|
|
72
|
-
cid: proofCID,
|
|
73
|
-
gateway,
|
|
74
|
-
bigNumberType,
|
|
75
|
-
}, cache);
|
|
76
|
-
const proofByVault = data.proofs[vault];
|
|
77
|
-
if (!proofByVault)
|
|
78
|
-
throw new Error('Proof not found');
|
|
79
|
-
return proofByVault;
|
|
80
|
-
};
|
|
81
|
-
export const getVaultReportProofByCid = async (args, cache = true) => {
|
|
82
|
-
const { vault, cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
83
|
-
const proof = await fetchIPFS({
|
|
84
|
-
cid,
|
|
85
|
-
gateway,
|
|
86
|
-
bigNumberType,
|
|
87
|
-
}, cache);
|
|
88
|
-
const proofByVault = proof.proofs[vault];
|
|
89
|
-
if (!proofByVault)
|
|
90
|
-
throw new Error('Proof not found');
|
|
91
|
-
return proofByVault;
|
|
92
|
-
};
|
|
93
|
-
export const getAllVaultsReportProofs = async (args, cache = true) => {
|
|
94
|
-
const { cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
95
|
-
const proof = await fetchIPFS({
|
|
96
|
-
cid,
|
|
97
|
-
gateway,
|
|
98
|
-
bigNumberType,
|
|
99
|
-
}, cache);
|
|
100
|
-
return proof.proofs;
|
|
101
|
-
};
|
|
102
62
|
export const getAllVaultsReports = async (args, cache = true) => {
|
|
103
63
|
const { cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
104
64
|
const report = await fetchIPFS({
|
|
@@ -109,7 +69,6 @@ export const getAllVaultsReports = async (args, cache = true) => {
|
|
|
109
69
|
const vaultReports = report.values.map((value) => getVaultData(report, value.value[0]).data);
|
|
110
70
|
return {
|
|
111
71
|
vaultReports,
|
|
112
|
-
proofsCID: report.proofsCID,
|
|
113
72
|
prevTreeCID: report.prevTreeCID,
|
|
114
73
|
};
|
|
115
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/report/report.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/report/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,9 @@ export type Report = {
|
|
|
18
18
|
treeIndex: bigint;
|
|
19
19
|
value: [Address, string, string, string, string];
|
|
20
20
|
}[];
|
|
21
|
-
merkleTreeRoot: Hex;
|
|
22
21
|
refSlot: number;
|
|
23
22
|
timestamp: number;
|
|
24
23
|
blockNumber: bigint;
|
|
25
|
-
proofsCID: string;
|
|
26
24
|
prevTreeCID: string;
|
|
27
25
|
leafIndexToData: {
|
|
28
26
|
[key: string]: keyof LeafDataFields;
|
|
@@ -38,26 +36,6 @@ export type VaultReport = {
|
|
|
38
36
|
refSlot: number;
|
|
39
37
|
blockNumber: number;
|
|
40
38
|
timestamp: number;
|
|
41
|
-
proofsCID: string;
|
|
42
|
-
prevTreeCID: string;
|
|
43
|
-
merkleTreeRoot: string;
|
|
44
|
-
};
|
|
45
|
-
export type ReportProof = {
|
|
46
|
-
merkleTreeRoot: string;
|
|
47
|
-
refSlot: number;
|
|
48
|
-
proofs: {
|
|
49
|
-
[key: string]: {
|
|
50
|
-
id: number;
|
|
51
|
-
totalValueWei: bigint;
|
|
52
|
-
inOutDelta: bigint;
|
|
53
|
-
fee: bigint;
|
|
54
|
-
liabilityShares: bigint;
|
|
55
|
-
leaf: string;
|
|
56
|
-
proof: string[];
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
block_number: number;
|
|
60
|
-
timestamp: number;
|
|
61
39
|
prevTreeCID: string;
|
|
62
40
|
};
|
|
63
41
|
export type VaultReportArgs = {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts snake_case string to camelCase
|
|
3
|
+
* @param str - The snake_case string to convert
|
|
4
|
+
* @returns The camelCase version of the string
|
|
5
|
+
*/
|
|
6
|
+
export const snakeToCamel = (str) => {
|
|
7
|
+
return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=snake-to-camel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snake-to-camel.js","sourceRoot":"","sources":["../../utils/snake-to-camel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC"}
|
|
@@ -14,7 +14,7 @@ export declare const getNetStakingAPR: (current: VaultReport, previous: VaultRep
|
|
|
14
14
|
apr_percent: number;
|
|
15
15
|
};
|
|
16
16
|
export declare const getBottomLine: (current: VaultReport, previous: VaultReport, nodeOperatorFeeBP: bigint, stEthLiabilityRebaseRewards: bigint) => bigint;
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const getCarrySpread: (current: VaultReport, previous: VaultReport, nodeOperatorFeeBP: bigint, stEthLiabilityRebaseRewards: bigint) => {
|
|
18
18
|
apr: bigint;
|
|
19
19
|
apr_bps: number;
|
|
20
20
|
apr_percent: number;
|
|
@@ -43,7 +43,7 @@ export declare const reportMetrics: (args: ReportMetricsArgs) => {
|
|
|
43
43
|
apr_percent: number;
|
|
44
44
|
};
|
|
45
45
|
bottomLine: bigint;
|
|
46
|
-
|
|
46
|
+
carrySpread: {
|
|
47
47
|
apr: bigint;
|
|
48
48
|
apr_bps: number;
|
|
49
49
|
apr_percent: number;
|
|
@@ -20,7 +20,7 @@ export const getNetStakingRewards = (current, previous, nodeOperatorFeeBP) => {
|
|
|
20
20
|
const dailyLidoFees = getDailyLidoFees(current, previous);
|
|
21
21
|
return grossStakingRewards - nodeOperatorRewards - dailyLidoFees;
|
|
22
22
|
};
|
|
23
|
-
// The APR metrics (Gross Staking APR, Net Staking APR,
|
|
23
|
+
// The APR metrics (Gross Staking APR, Net Staking APR, Carry Spread) are calculated using the following general formula:
|
|
24
24
|
//
|
|
25
25
|
// APR = (Numerator * 100 * SecondsInYear) / (AverageTotalValue * PeriodSeconds)
|
|
26
26
|
//
|
|
@@ -28,7 +28,7 @@ export const getNetStakingRewards = (current, previous, nodeOperatorFeeBP) => {
|
|
|
28
28
|
// Numerator — the specific rewards or value for the metric:
|
|
29
29
|
// - For Gross Staking APR: grossStakingRewards
|
|
30
30
|
// - For Net Staking APR: netStakingRewards
|
|
31
|
-
// - For
|
|
31
|
+
// - For Carry Spread: bottomLine
|
|
32
32
|
// AverageTotalValue — arithmetic mean of TVL at the start and end of the period
|
|
33
33
|
// PeriodSeconds — difference between end and start timestamps (in seconds)
|
|
34
34
|
// SecondsInYear = 31536000
|
|
@@ -84,7 +84,7 @@ export const getBottomLine = (current, previous, nodeOperatorFeeBP, stEthLiabili
|
|
|
84
84
|
const netStakingRewards = getNetStakingRewards(current, previous, nodeOperatorFeeBP);
|
|
85
85
|
return netStakingRewards - stEthLiabilityRebaseRewards;
|
|
86
86
|
};
|
|
87
|
-
export const
|
|
87
|
+
export const getCarrySpread = (current, previous, nodeOperatorFeeBP, stEthLiabilityRebaseRewards) => {
|
|
88
88
|
const averageTotalValue = getAverageTotalValue(current, previous);
|
|
89
89
|
const periodSeconds = getPeriodSeconds(current, previous);
|
|
90
90
|
const bottomLine = getBottomLine(current, previous, nodeOperatorFeeBP, stEthLiabilityRebaseRewards);
|
|
@@ -110,7 +110,7 @@ export const reportMetrics = (args) => {
|
|
|
110
110
|
const grossStakingAPR = getGrossStakingAPR(current, previous);
|
|
111
111
|
const netStakingAPR = getNetStakingAPR(current, previous, nodeOperatorFeeRate);
|
|
112
112
|
const bottomLine = getBottomLine(current, previous, nodeOperatorFeeRate, stEthLiabilityRebaseRewards);
|
|
113
|
-
const
|
|
113
|
+
const carrySpread = getCarrySpread(current, previous, nodeOperatorFeeRate, stEthLiabilityRebaseRewards);
|
|
114
114
|
return {
|
|
115
115
|
grossStakingRewards,
|
|
116
116
|
nodeOperatorRewards,
|
|
@@ -119,7 +119,7 @@ export const reportMetrics = (args) => {
|
|
|
119
119
|
grossStakingAPR,
|
|
120
120
|
netStakingAPR,
|
|
121
121
|
bottomLine,
|
|
122
|
-
|
|
122
|
+
carrySpread,
|
|
123
123
|
};
|
|
124
124
|
};
|
|
125
125
|
//# sourceMappingURL=report-statistic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-statistic.js","sourceRoot":"","sources":["../../../utils/statistic/report-statistic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,KAAK,GAAG,WAAc,CAAC,CAAC,qCAAqC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAoB,EACpB,QAAqB,EACrB,EAAE;IACF,MAAM,mBAAmB,GACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QACnC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAE3C,OAAO,mBAAmB,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAoB,EACpB,QAAqB,EACrB,iBAAyB,EACzB,EAAE;IACF,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEtE,OAAO,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,GAAG,wBAAwB,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAoB,EACpB,QAAqB,EACrB,EAAE;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAoB,EACpB,QAAqB,EACrB,iBAAyB,EACzB,EAAE;IACF,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,OAAO,EACP,QAAQ,EACR,iBAAiB,CAClB,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,mBAAmB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AACnE,CAAC,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"report-statistic.js","sourceRoot":"","sources":["../../../utils/statistic/report-statistic.ts"],"names":[],"mappings":"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"}
|
package/dist/version/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'v1.0.0-alpha.
|
|
1
|
+
export const version = 'v1.0.0-alpha.58'
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"efficiency.js","sourceRoot":"","sources":["../../../../../utils/charts/blessed/datasets/efficiency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAoB,EAAE,EAAE;IAC3D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEnC,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAC5D,CAAC;IACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3B,OAAO;QACL,KAAK;QACL,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,YAAY;YACnB,CAAC,EAAE,cAAc;YACjB,CAAC;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE;SACxC;KACF,CAAC;AACJ,CAAC,CAAC"}
|