@lidofinance/lsv-cli 1.0.0-alpha.60 → 1.0.0-alpha.62
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/README.md +26 -14
- package/dist/abi/Dashboard.d.ts +706 -445
- package/dist/abi/Dashboard.js +331 -300
- package/dist/abi/Dashboard.js.map +1 -1
- package/dist/abi/LazyOracle.d.ts +286 -47
- package/dist/abi/LazyOracle.js +357 -48
- package/dist/abi/LazyOracle.js.map +1 -1
- package/dist/abi/LidoLocator.d.ts +28 -0
- package/dist/abi/LidoLocator.js +36 -0
- package/dist/abi/LidoLocator.js.map +1 -1
- package/dist/abi/OperatorGrid.d.ts +166 -1
- package/dist/abi/OperatorGrid.js +174 -1
- package/dist/abi/OperatorGrid.js.map +1 -1
- package/dist/abi/PredepositGuarantee.d.ts +181 -139
- package/dist/abi/PredepositGuarantee.js +191 -166
- package/dist/abi/PredepositGuarantee.js.map +1 -1
- package/dist/abi/StEth.d.ts +1 -1
- package/dist/abi/StEth.js +1 -1
- package/dist/abi/StEth.js.map +1 -1
- package/dist/abi/StakingVault.d.ts +184 -32
- package/dist/abi/StakingVault.js +203 -37
- package/dist/abi/StakingVault.js.map +1 -1
- package/dist/abi/VaultFactory.d.ts +470 -72
- package/dist/abi/VaultFactory.js +24 -1
- package/dist/abi/VaultFactory.js.map +1 -1
- package/dist/abi/VaultHub.d.ts +416 -420
- package/dist/abi/VaultHub.js +349 -398
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.d.ts +215 -96
- package/dist/abi/VaultViewer.js +258 -106
- package/dist/abi/VaultViewer.js.map +1 -1
- package/dist/abi/index.d.ts +0 -2
- package/dist/abi/index.js +0 -2
- package/dist/abi/index.js.map +1 -1
- package/dist/command/index.js +2 -0
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.d.ts +1 -0
- package/dist/contracts/index.d.ts +0 -1
- package/dist/contracts/index.js +0 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/locator.d.ts +1428 -12
- package/dist/contracts/steth.d.ts +74 -74
- package/dist/contracts/vault-factory.d.ts +15731 -5838
- package/dist/contracts/vault-viewer.d.ts +4458 -1744
- package/dist/contracts/vault-viewer.js +1 -1
- package/dist/features/deposits/no-pdg.js +5 -5
- package/dist/features/deposits/no-pdg.js.map +1 -1
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.js +1 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/lazy-oracle.d.ts +1 -0
- package/dist/features/lazy-oracle.js +42 -0
- package/dist/features/lazy-oracle.js.map +1 -0
- package/dist/features/mint-burn/allowance.js +1 -1
- package/dist/features/mint-burn/allowance.js.map +1 -1
- package/dist/features/utils/get-address.js +1 -1
- package/dist/features/utils/get-address.js.map +1 -1
- package/dist/features/vault-hub.js +0 -4
- package/dist/features/vault-hub.js.map +1 -1
- package/dist/features/vault-operations/create-vault.js +2 -2
- package/dist/features/vault-operations/create-vault.js.map +1 -1
- package/dist/features/vault-operations/dashboard-by-vault.d.ts +2 -1
- package/dist/features/vault-operations/dashboard-by-vault.js +3 -1
- package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
- package/dist/features/vault-operations/vault-health.js +2 -2
- package/dist/features/vault-operations/vault-health.js.map +1 -1
- package/dist/features/vault-operations/vault-info.js +29 -32
- package/dist/features/vault-operations/vault-info.js.map +1 -1
- package/dist/features/vault-operations/vault-overview.js +35 -28
- package/dist/features/vault-operations/vault-overview.js.map +1 -1
- package/dist/features/vault-operations/vault-roles.d.ts +1 -1
- package/dist/features/vault-operations/vault-roles.js +10 -8
- package/dist/features/vault-operations/vault-roles.js.map +1 -1
- package/dist/features/vault-operations/vaults-by-role.d.ts +0 -2
- package/dist/features/vault-operations/vaults-by-role.js +8 -6
- package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
- package/dist/features/vault.js +4 -2
- package/dist/features/vault.js.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/programs/account/read.js +3 -3
- package/dist/programs/account/read.js.map +1 -1
- package/dist/programs/account/write.js +13 -5
- package/dist/programs/account/write.js.map +1 -1
- package/dist/programs/contracts/dashboard/config.js +49 -40
- package/dist/programs/contracts/dashboard/config.js.map +1 -1
- package/dist/programs/contracts/dashboard/read.js +38 -3
- package/dist/programs/contracts/dashboard/read.js.map +1 -1
- package/dist/programs/contracts/dashboard/write.js +128 -74
- package/dist/programs/contracts/dashboard/write.js.map +1 -1
- package/dist/programs/contracts/hub/config.js +7 -17
- package/dist/programs/contracts/hub/config.js.map +1 -1
- package/dist/programs/contracts/hub/write.js +7 -69
- package/dist/programs/contracts/hub/write.js.map +1 -1
- package/dist/programs/contracts/index.d.ts +1 -0
- package/dist/programs/contracts/index.js +1 -0
- package/dist/programs/contracts/index.js.map +1 -1
- package/dist/programs/contracts/lazy-oracle/config.d.ts +3 -0
- package/dist/programs/contracts/lazy-oracle/config.js +62 -0
- package/dist/programs/contracts/lazy-oracle/config.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/index.d.ts +2 -0
- package/dist/programs/contracts/lazy-oracle/index.js +3 -0
- package/dist/programs/contracts/lazy-oracle/index.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -0
- package/dist/programs/contracts/lazy-oracle/main.js +5 -0
- package/dist/programs/contracts/lazy-oracle/main.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/read.d.ts +1 -0
- package/dist/programs/contracts/lazy-oracle/read.js +24 -0
- package/dist/programs/contracts/lazy-oracle/read.js.map +1 -0
- package/dist/programs/contracts/operator-grid/config.js +21 -10
- package/dist/programs/contracts/operator-grid/config.js.map +1 -1
- package/dist/programs/contracts/operator-grid/read.js +21 -1
- package/dist/programs/contracts/operator-grid/read.js.map +1 -1
- package/dist/programs/contracts/operator-grid/write.js +51 -9
- package/dist/programs/contracts/operator-grid/write.js.map +1 -1
- package/dist/programs/contracts/pdg/config.js +9 -2
- package/dist/programs/contracts/pdg/config.js.map +1 -1
- package/dist/programs/contracts/pdg/read.js +16 -1
- package/dist/programs/contracts/pdg/read.js.map +1 -1
- package/dist/programs/contracts/pdg/write.js +28 -91
- package/dist/programs/contracts/pdg/write.js.map +1 -1
- package/dist/programs/contracts/vault/config.js +12 -0
- package/dist/programs/contracts/vault/config.js.map +1 -1
- package/dist/programs/contracts/vault/write.js +84 -20
- package/dist/programs/contracts/vault/write.js.map +1 -1
- package/dist/programs/contracts/vault-viewer/read.js +4 -4
- package/dist/programs/contracts/vault-viewer/read.js.map +1 -1
- package/dist/programs/use-cases/deposits/read.js +20 -3
- package/dist/programs/use-cases/deposits/read.js.map +1 -1
- package/dist/programs/use-cases/deposits/write.js +22 -32
- package/dist/programs/use-cases/deposits/write.js.map +1 -1
- package/dist/programs/use-cases/metrics/read.js +70 -11
- package/dist/programs/use-cases/metrics/read.js.map +1 -1
- package/dist/programs/use-cases/report/read.js +14 -7
- package/dist/programs/use-cases/report/read.js.map +1 -1
- package/dist/programs/use-cases/report/write.js +47 -64
- package/dist/programs/use-cases/report/write.js.map +1 -1
- package/dist/programs/use-cases/vault-operations/create-vault.js +6 -2
- package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
- package/dist/programs/use-cases/vault-operations/write.js +127 -15
- package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
- package/dist/providers/wallet.d.ts +7690 -23
- package/dist/providers/wallet.js +25 -5
- package/dist/providers/wallet.js.map +1 -1
- package/dist/tests/utils/calculate-overview.test.js +1 -1
- package/dist/tests/utils/calculate-overview.test.js.map +1 -1
- package/dist/tests/utils/health.test.js +2 -2
- package/dist/tests/utils/health.test.js.map +1 -1
- package/dist/tests/utils/ipfs.test.js +22 -10
- package/dist/tests/utils/ipfs.test.js.map +1 -1
- package/dist/types/common.d.ts +4 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/utils/arguments.d.ts +3 -1
- package/dist/utils/arguments.js +39 -0
- package/dist/utils/arguments.js.map +1 -1
- package/dist/utils/calculate-overview-v2.d.ts +4 -2
- package/dist/utils/calculate-overview-v2.js +5 -8
- package/dist/utils/calculate-overview-v2.js.map +1 -1
- package/dist/utils/calculate-overview.d.ts +1 -1
- package/dist/utils/calculate-overview.js +2 -2
- package/dist/utils/calculate-overview.js.map +1 -1
- package/dist/utils/charts/blessed/charts-apr.js +2 -1
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
- package/dist/utils/charts/blessed/charts-rewards.js +2 -1
- package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +4 -0
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +15 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
- package/dist/utils/charts/overview.d.ts +1 -1
- package/dist/utils/charts/overview.js +1 -1
- package/dist/utils/charts/overview.js.map +1 -1
- package/dist/utils/charts/simple/simple-charts.js +2 -1
- package/dist/utils/charts/simple/simple-charts.js.map +1 -1
- package/dist/utils/commands/confirmations.d.ts +9 -5
- package/dist/utils/commands/confirmations.js +42 -33
- package/dist/utils/commands/confirmations.js.map +1 -1
- package/dist/utils/commands/report.js +2 -1
- package/dist/utils/commands/report.js.map +1 -1
- package/dist/utils/csv-file.d.ts +6 -0
- package/dist/utils/csv-file.js +48 -0
- package/dist/utils/csv-file.js.map +1 -0
- package/dist/utils/health/calculate-health.d.ts +1 -1
- package/dist/utils/health/calculate-health.js +2 -2
- package/dist/utils/health/calculate-health.js.map +1 -1
- package/dist/utils/health/health-utils.d.ts +77 -77
- package/dist/utils/health/health-utils.js +11 -10
- package/dist/utils/health/health-utils.js.map +1 -1
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ipfs.js +1 -1
- package/dist/utils/ipfs.js.map +1 -1
- package/dist/utils/logging/console.d.ts +1 -0
- package/dist/utils/logging/console.js +9 -1
- package/dist/utils/logging/console.js.map +1 -1
- package/dist/utils/report/report-proof.d.ts +3 -0
- package/dist/utils/report/report-proof.js +2 -2
- package/dist/utils/report/report-proof.js.map +1 -1
- package/dist/utils/report/report.d.ts +1 -1
- package/dist/utils/report/report.js +6 -4
- package/dist/utils/report/report.js.map +1 -1
- package/dist/utils/report/statistic-data.js +2 -2
- package/dist/utils/report/statistic-data.js.map +1 -1
- package/dist/utils/report/types.d.ts +11 -2
- package/dist/utils/statistic/report-statistic.js +13 -14
- package/dist/utils/statistic/report-statistic.js.map +1 -1
- package/dist/utils/timestamp.d.ts +1 -1
- package/dist/utils/timestamp.js +9 -2
- package/dist/utils/timestamp.js.map +1 -1
- package/dist/utils/transactions/index.d.ts +3 -0
- package/dist/utils/transactions/index.js +4 -0
- package/dist/utils/transactions/index.js.map +1 -0
- package/dist/utils/transactions/tx-private-key.d.ts +26 -0
- package/dist/utils/{contract.js → transactions/tx-private-key.js} +105 -9
- package/dist/utils/transactions/tx-private-key.js.map +1 -0
- package/dist/utils/transactions/tx-wc.d.ts +34 -0
- package/dist/utils/transactions/tx-wc.js +187 -0
- package/dist/utils/transactions/tx-wc.js.map +1 -0
- package/dist/utils/transactions/types.d.ts +40 -0
- package/dist/utils/transactions/types.js +2 -0
- package/dist/utils/transactions/types.js.map +1 -0
- package/dist/utils/wallet-connect.d.ts +7677 -0
- package/dist/utils/wallet-connect.js +179 -0
- package/dist/utils/wallet-connect.js.map +1 -0
- package/dist/version/index.js +1 -1
- package/package.json +19 -5
- package/dist/abi/TokenManager.d.ts +0 -577
- package/dist/abi/TokenManager.js +0 -756
- package/dist/abi/TokenManager.js.map +0 -1
- package/dist/abi/Voting.d.ts +0 -676
- package/dist/abi/Voting.js +0 -884
- package/dist/abi/Voting.js.map +0 -1
- package/dist/contracts/token-manager.d.ts +0 -3
- package/dist/contracts/token-manager.js +0 -13
- package/dist/contracts/token-manager.js.map +0 -1
- package/dist/utils/contract.d.ts +0 -59
- package/dist/utils/contract.js.map +0 -1
|
@@ -39,9 +39,10 @@ export const renderSimpleCharts = async ({ dashboard, cid, limit = 20, cacheUse
|
|
|
39
39
|
for (const r of history) {
|
|
40
40
|
let fee = await cache.getNodeOperatorFeeRate(vault, r.blockNumber);
|
|
41
41
|
if (fee === null) {
|
|
42
|
-
|
|
42
|
+
const feeRate = await callReadMethodSilent(dashboardContract, 'feeRate', {
|
|
43
43
|
blockNumber: BigInt(r.blockNumber),
|
|
44
44
|
});
|
|
45
|
+
fee = BigInt(feeRate);
|
|
45
46
|
await cache.setNodeOperatorFeeRate(vault, r.blockNumber, fee);
|
|
46
47
|
}
|
|
47
48
|
nodeOperatorFeeBPs.push(fee);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-charts.js","sourceRoot":"","sources":["../../../../utils/charts/simple/simple-charts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,QAAQ,EACR,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,eAAe,GAChB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,2BAA2B;AAE3B,uCAAuC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,SAAS,EACT,GAAG,EACH,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,IAAI,GAMhB,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAE5E,OAAO,CACL,0CAA0C,KAAK,UAAU,GAAG,SAAS,CACtE,CAAC;IACF,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,qBAAqB,CACnC;YACE,KAAK;YACL,GAAG;YACH,KAAK;YACL,SAAS,EAAE,KAAK;SACjB,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,0DAA0D,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sDAAsD;IACtD,MAAM,sBAAsB,GAAG,EAAE,CAAC;IAClC,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,kBAAkB;IAClB,wDAAwD;IACxD,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,2DAA2D;IAC3D,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,
|
|
1
|
+
{"version":3,"file":"simple-charts.js","sourceRoot":"","sources":["../../../../utils/charts/simple/simple-charts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Address, type Hex, type GetContractReturnType, WalletClient } from 'viem';
|
|
1
|
+
import { Address, type Hex, type GetContractReturnType, WalletClient, Abi } from 'viem';
|
|
2
2
|
import { AccessControlConfirmableAbi } from '../../abi/index.js';
|
|
3
3
|
type FunctionArgsMap = {
|
|
4
4
|
setConfirmExpiry: readonly [bigint];
|
|
5
|
-
|
|
5
|
+
setNodeOperatorFeeRate: readonly [bigint];
|
|
6
6
|
changeTier: readonly [Address, bigint, bigint];
|
|
7
7
|
transferVaultOwnership: readonly [Address];
|
|
8
8
|
};
|
|
9
9
|
export declare const CONFIRM_METHODS_MAP: {
|
|
10
10
|
readonly setConfirmExpiry: (args: FunctionArgsMap["setConfirmExpiry"]) => string;
|
|
11
|
-
readonly
|
|
11
|
+
readonly setNodeOperatorFeeRate: (args: FunctionArgsMap["setNodeOperatorFeeRate"]) => string;
|
|
12
12
|
readonly changeTier: (args: FunctionArgsMap["changeTier"]) => string;
|
|
13
13
|
readonly transferVaultOwnership: (args: FunctionArgsMap["transferVaultOwnership"]) => string;
|
|
14
14
|
};
|
|
@@ -30,6 +30,10 @@ type ConfirmationsInfo = {
|
|
|
30
30
|
export type LogsData = Record<Hex, ConfirmationsInfo>;
|
|
31
31
|
type ConfirmationContract = GetContractReturnType<typeof AccessControlConfirmableAbi, WalletClient>;
|
|
32
32
|
export declare const formatConfirmationArgs: (args: readonly [bigint] | readonly [Address, bigint, bigint] | readonly [Address], functionName: FunctionName) => string;
|
|
33
|
-
export declare const getConfirmationsInfo: <T extends ConfirmationContract>(contract: T) => Promise<LogsData | undefined>;
|
|
34
|
-
export declare const confirmProposal: <T extends ConfirmationContract>(contract
|
|
33
|
+
export declare const getConfirmationsInfo: <T extends ConfirmationContract>(contract: T, abi: Abi) => Promise<LogsData | undefined>;
|
|
34
|
+
export declare const confirmProposal: <T extends ConfirmationContract>({ contract, additionalContracts, vault, }: {
|
|
35
|
+
contract: T;
|
|
36
|
+
additionalContracts?: T[];
|
|
37
|
+
vault?: Address;
|
|
38
|
+
}) => Promise<ConfirmationsInfo | undefined>;
|
|
35
39
|
export {};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { decodeFunctionData, formatEther, } from 'viem';
|
|
2
2
|
import { getPublicClient } from '../../providers/index.js';
|
|
3
|
-
import { confirmOperation, formatBP,
|
|
4
|
-
import { DashboardAbi } from '../../abi/index.js';
|
|
3
|
+
import { confirmOperation, formatBP, selectProposalEvent } from '../index.js';
|
|
5
4
|
const AVG_BLOCK_TIME_SEC = 12n;
|
|
6
5
|
// Type-safe function map
|
|
7
6
|
export const CONFIRM_METHODS_MAP = {
|
|
8
7
|
setConfirmExpiry: (args) => `${Number(args[0]) / 3600} hours`,
|
|
9
|
-
|
|
8
|
+
setNodeOperatorFeeRate: (args) => formatBP(args[0]),
|
|
10
9
|
changeTier: (args) => `vault: ${args[0]}, tier: ${args[1]}, requested share limit: ${formatEther(args[2])} shares`,
|
|
11
10
|
transferVaultOwnership: (args) => `new owner: ${args[0]}`,
|
|
12
11
|
};
|
|
@@ -14,8 +13,8 @@ export const formatConfirmationArgs = (args, functionName) => {
|
|
|
14
13
|
switch (functionName) {
|
|
15
14
|
case 'setConfirmExpiry':
|
|
16
15
|
return CONFIRM_METHODS_MAP.setConfirmExpiry(args);
|
|
17
|
-
case '
|
|
18
|
-
return CONFIRM_METHODS_MAP.
|
|
16
|
+
case 'setNodeOperatorFeeRate':
|
|
17
|
+
return CONFIRM_METHODS_MAP.setNodeOperatorFeeRate(args);
|
|
19
18
|
case 'changeTier':
|
|
20
19
|
return CONFIRM_METHODS_MAP.changeTier(args);
|
|
21
20
|
case 'transferVaultOwnership':
|
|
@@ -24,7 +23,7 @@ export const formatConfirmationArgs = (args, functionName) => {
|
|
|
24
23
|
throw new Error(`Unknown function: ${functionName}`);
|
|
25
24
|
}
|
|
26
25
|
};
|
|
27
|
-
export const getConfirmationsInfo = async (contract) => {
|
|
26
|
+
export const getConfirmationsInfo = async (contract, abi) => {
|
|
28
27
|
const publicClient = getPublicClient();
|
|
29
28
|
const confirmExpire = await contract.read.getConfirmExpiry();
|
|
30
29
|
const currentBlock = await publicClient.getBlockNumber();
|
|
@@ -37,7 +36,6 @@ export const getConfirmationsInfo = async (contract) => {
|
|
|
37
36
|
strict: true,
|
|
38
37
|
});
|
|
39
38
|
if (logs.length === 0) {
|
|
40
|
-
console.error('No confirmations found');
|
|
41
39
|
return;
|
|
42
40
|
}
|
|
43
41
|
const logsData = logs
|
|
@@ -45,7 +43,7 @@ export const getConfirmationsInfo = async (contract) => {
|
|
|
45
43
|
.reduce((acc, log) => {
|
|
46
44
|
const { args } = log;
|
|
47
45
|
const decodedData = decodeFunctionData({
|
|
48
|
-
abi
|
|
46
|
+
abi,
|
|
49
47
|
data: args.data,
|
|
50
48
|
});
|
|
51
49
|
acc[args.data] = {
|
|
@@ -66,40 +64,51 @@ export const getConfirmationsInfo = async (contract) => {
|
|
|
66
64
|
if (confirmations === 0n)
|
|
67
65
|
delete logsData[data];
|
|
68
66
|
}));
|
|
69
|
-
logResult({});
|
|
70
|
-
Object.entries(logsData).forEach(([data, { member, role, expiryTimestamp, expiryDate, decodedData }], idx) => {
|
|
71
|
-
console.info(`\nEvent ${idx + 1}`);
|
|
72
|
-
logTable({
|
|
73
|
-
data: [
|
|
74
|
-
['Member', member],
|
|
75
|
-
['Role', role],
|
|
76
|
-
['Expiry Timestamp', `${expiryTimestamp.toString()} (${expiryDate})`],
|
|
77
|
-
['Data', data],
|
|
78
|
-
],
|
|
79
|
-
});
|
|
80
|
-
console.info('Decoded data:');
|
|
81
|
-
logTable({
|
|
82
|
-
data: [
|
|
83
|
-
['Function', decodedData.functionName],
|
|
84
|
-
['Argument', decodedData.args[0]],
|
|
85
|
-
],
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
67
|
return logsData;
|
|
89
68
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
69
|
+
const filterLogsByVault = (logsData, vault) => {
|
|
70
|
+
if (!vault)
|
|
71
|
+
return logsData;
|
|
72
|
+
const entries = Object.entries(logsData).filter(([, info]) => {
|
|
73
|
+
const { decodedData } = info;
|
|
74
|
+
switch (decodedData.functionName) {
|
|
75
|
+
case 'changeTier':
|
|
76
|
+
case 'transferVaultOwnership': {
|
|
77
|
+
const argVault = decodedData.args[0];
|
|
78
|
+
return argVault.toLowerCase() === vault.toLowerCase();
|
|
79
|
+
}
|
|
80
|
+
default:
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return entries.reduce((acc, [key, value]) => {
|
|
85
|
+
acc[key] = value;
|
|
86
|
+
return acc;
|
|
87
|
+
}, {});
|
|
88
|
+
};
|
|
89
|
+
export const confirmProposal = async ({ contract, additionalContracts, vault, }) => {
|
|
90
|
+
const logsData = await getConfirmationsInfo(contract, contract.abi);
|
|
91
|
+
const additionalLogsData = await Promise.all(additionalContracts?.map((additionalContract) => getConfirmationsInfo(additionalContract, additionalContract.abi)) ?? []);
|
|
92
|
+
if (!logsData && additionalLogsData.length === 0)
|
|
93
93
|
return;
|
|
94
|
-
|
|
94
|
+
const allLogsData = {
|
|
95
|
+
...(logsData ?? {}),
|
|
96
|
+
...additionalLogsData.reduce((acc, curr) => ({ ...acc, ...curr }), {}),
|
|
97
|
+
};
|
|
98
|
+
if (Object.keys(allLogsData).length === 0) {
|
|
95
99
|
console.error('No proposals found');
|
|
96
100
|
return;
|
|
97
101
|
}
|
|
98
|
-
const
|
|
102
|
+
const filteredLogsData = filterLogsByVault(allLogsData, vault);
|
|
103
|
+
if (Object.keys(filteredLogsData).length === 0) {
|
|
104
|
+
console.error('No proposals found for the specified vault');
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const answer = await selectProposalEvent(filteredLogsData);
|
|
99
108
|
if (!answer || !answer.event) {
|
|
100
109
|
return;
|
|
101
110
|
}
|
|
102
|
-
const log =
|
|
111
|
+
const log = filteredLogsData[answer.event];
|
|
103
112
|
if (!log) {
|
|
104
113
|
console.error('No proposal found');
|
|
105
114
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../../utils/commands/confirmations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAIlB,WAAW,
|
|
1
|
+
{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../../utils/commands/confirmations.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { callReadMethod, callReadMethodSilent, logCancel, callWriteMethodWithRec
|
|
|
4
4
|
export const submitReport = async ({ vault, gateway, }) => {
|
|
5
5
|
const lazyOracleContract = await getLazyOracleContract();
|
|
6
6
|
const vaultHubContract = await getVaultHubContract();
|
|
7
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
7
|
+
const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
8
8
|
const isReportFresh = await callReadMethodSilent(vaultHubContract, 'isReportFresh', [vault]);
|
|
9
9
|
if (isReportFresh) {
|
|
10
10
|
logCancel('Report is fresh. You dont need to submit it again');
|
|
@@ -34,6 +34,7 @@ export const submitReport = async ({ vault, gateway, }) => {
|
|
|
34
34
|
BigInt(proof.data.totalValueWei),
|
|
35
35
|
BigInt(proof.data.fee),
|
|
36
36
|
BigInt(proof.data.liabilityShares),
|
|
37
|
+
BigInt(proof.data.maxLiabilityShares),
|
|
37
38
|
BigInt(proof.data.slashingReserve),
|
|
38
39
|
proof.proof,
|
|
39
40
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/commands/report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,OAAO,CAAC;AAOf,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,KAAK,EACL,OAAO,GACU,EAAiB,EAAE;IACpC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAErD,MAAM,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/commands/report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,OAAO,CAAC;AAOf,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,KAAK,EACL,OAAO,GACU,EAAiB,EAAE;IACpC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAErD,MAAM,CACJ,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,GAAG,MAAM,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,gBAAgB,EAChB,eAAe,EACf,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,qBAAqB,CACvC;QACE,KAAK;QACL,GAAG,EAAE,mBAAmB;QACxB,OAAO;KACR,EACD,QAAQ,CACT,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,oDAAoD,KAAK;2BAClC,KAAK,CAAC,IAAI,CAAC,aAAa;eACpC,KAAK,CAAC,IAAI,CAAC,GAAG;4BACD,KAAK,CAAC,IAAI,CAAC,eAAe;4BAC1B,KAAK,CAAC,IAAI,CAAC,eAAe;SAC7C,CACN,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,0BAA0B,CAAC;QAC/B,QAAQ,EAAE,kBAAkB;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;YACP,KAAK;YACL,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAClC,KAAK,CAAC,KAAK;SACZ;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
const formatCell = (v) => {
|
|
3
|
+
if (typeof v === 'bigint')
|
|
4
|
+
return v.toString();
|
|
5
|
+
if (v === null || v === undefined)
|
|
6
|
+
return '';
|
|
7
|
+
return String(v);
|
|
8
|
+
};
|
|
9
|
+
const escapeCsv = (s, delimiter) => {
|
|
10
|
+
const needsQuote = s.includes(delimiter) ||
|
|
11
|
+
s.includes('"') ||
|
|
12
|
+
s.includes('\n') ||
|
|
13
|
+
s.includes('\r');
|
|
14
|
+
const escaped = s.replace(/"/g, '""');
|
|
15
|
+
return needsQuote ? `"${escaped}"` : escaped;
|
|
16
|
+
};
|
|
17
|
+
const rowsToCsv = (rows, delimiter) => rows
|
|
18
|
+
.map((r) => r.map((c) => escapeCsv(c, delimiter)).join(delimiter))
|
|
19
|
+
.join('\n') + '\n';
|
|
20
|
+
export const exportCsv = ({ head, data, delimiter = ',', csvPath, }) => {
|
|
21
|
+
try {
|
|
22
|
+
if (!csvPath)
|
|
23
|
+
throw new Error('CSV path is required');
|
|
24
|
+
const rows = [];
|
|
25
|
+
// header
|
|
26
|
+
if (Array.isArray(head))
|
|
27
|
+
rows.push(head.map(formatCell));
|
|
28
|
+
// body
|
|
29
|
+
for (const row of data) {
|
|
30
|
+
if (Array.isArray(row)) {
|
|
31
|
+
rows.push(row.map(formatCell));
|
|
32
|
+
}
|
|
33
|
+
else if (row && typeof row === 'object') {
|
|
34
|
+
rows.push(Object.values(row).map(formatCell));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
rows.push([formatCell(row)]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const csv = rowsToCsv(rows, delimiter);
|
|
41
|
+
fs.ensureFileSync(csvPath);
|
|
42
|
+
fs.writeFileSync(csvPath, csv);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
throw new Error('CSV export error', { cause: e });
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=csv-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv-file.js","sourceRoot":"","sources":["../../utils/csv-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,UAAU,GAAG,CAAC,CAAU,EAAU,EAAE;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,SAAiB,EAAU,EAAE;IACzD,MAAM,UAAU,GACd,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QACf,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,SAAiB,EAAU,EAAE,CAChE,IAAI;KACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACjE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,IAAI,EACJ,IAAI,EACJ,SAAS,GAAG,GAAG,EACf,OAAO,GAMR,EAAE,EAAE;IACH,IAAI,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEtD,MAAM,IAAI,GAAe,EAAE,CAAC;QAE5B,SAAS;QACT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEzD,OAAO;QACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE3B,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type CalculateHealthArgs = {
|
|
2
2
|
totalValue: bigint;
|
|
3
3
|
liabilitySharesInStethWei: bigint;
|
|
4
|
-
|
|
4
|
+
forcedRebalanceThresholdBP: number;
|
|
5
5
|
};
|
|
6
6
|
export declare const calculateHealth: (args: CalculateHealthArgs) => {
|
|
7
7
|
healthRatio: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export const calculateHealth = (args) => {
|
|
2
|
-
const { totalValue, liabilitySharesInStethWei,
|
|
2
|
+
const { totalValue, liabilitySharesInStethWei, forcedRebalanceThresholdBP } = args;
|
|
3
3
|
// Convert everything to BigInt and perform calculations with 1e18 precision
|
|
4
4
|
const BASIS_POINTS_DENOMINATOR = 10000n;
|
|
5
5
|
const PRECISION = 10n ** 18n;
|
|
6
|
-
const thresholdMultiplier = ((BASIS_POINTS_DENOMINATOR - BigInt(
|
|
6
|
+
const thresholdMultiplier = ((BASIS_POINTS_DENOMINATOR - BigInt(forcedRebalanceThresholdBP)) *
|
|
7
7
|
PRECISION) /
|
|
8
8
|
BASIS_POINTS_DENOMINATOR;
|
|
9
9
|
const adjustedValuation = (totalValue * thresholdMultiplier) / PRECISION;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-health.js","sourceRoot":"","sources":["../../../utils/health/calculate-health.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC3D,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"calculate-health.js","sourceRoot":"","sources":["../../../utils/health/calculate-health.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC3D,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,GACzE,IAAI,CAAC;IACP,4EAA4E;IAC5E,MAAM,wBAAwB,GAAG,MAAO,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC;IAE7B,MAAM,mBAAmB,GACvB,CAAC,CAAC,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC9D,SAAS,CAAC;QACZ,wBAAwB,CAAC;IAC3B,MAAM,iBAAiB,GAAG,CAAC,UAAU,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAEzE,MAAM,aAAa,GACjB,yBAAyB,GAAG,EAAE;QAC5B,CAAC,CAAC,CAAC,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,yBAAyB;QACpE,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEjD,6BAA6B;IAC7B,MAAM,SAAS,GAAG,WAAW,IAAI,GAAG,CAAC;IAErC,OAAO;QACL,WAAW;QACX,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC,CAAC"}
|