@lidofinance/lsv-cli 1.0.0-alpha.57 → 1.0.0-alpha.59
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/index.d.ts +1 -0
- package/dist/features/utils/index.js +1 -0
- package/dist/features/utils/index.js.map +1 -1
- package/dist/features/utils/quarantine.d.ts +23 -0
- package/dist/features/utils/quarantine.js +47 -0
- package/dist/features/utils/quarantine.js.map +1 -0
- 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 +19 -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 +66 -6
- package/dist/programs/use-cases/metrics/read.js.map +1 -1
- package/dist/programs/use-cases/report/read.js +30 -10
- package/dist/programs/use-cases/report/read.js.map +1 -1
- package/dist/programs/use-cases/report/write.js +4 -4
- package/dist/programs/use-cases/report/write.js.map +1 -1
- package/dist/programs/use-cases/vault-operations/read.js +17 -5
- package/dist/programs/use-cases/vault-operations/read.js.map +1 -1
- package/dist/programs/use-cases/vault-operations/write.js +52 -2
- package/dist/programs/use-cases/vault-operations/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 +12 -12
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
- package/dist/utils/charts/blessed/charts-rewards.js +3 -3
- package/dist/utils/charts/blessed/charts-rewards.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/bottom-line.js +3 -2
- package/dist/utils/charts/blessed/datasets/bottom-line.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} +9 -8
- package/dist/utils/charts/blessed/datasets/carry-spread.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-apr.js +4 -3
- package/dist/utils/charts/blessed/datasets/gross-staking-apr.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js +4 -3
- package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js.map +1 -1
- 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/lido-apr.js +3 -2
- package/dist/utils/charts/blessed/datasets/lido-apr.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/net-staking-apr.js +4 -3
- package/dist/utils/charts/blessed/datasets/net-staking-apr.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/net-staking-rewards.js +4 -3
- package/dist/utils/charts/blessed/datasets/net-staking-rewards.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/node-operator-rewards.js +4 -3
- package/dist/utils/charts/blessed/datasets/node-operator-rewards.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +15 -15
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +15 -15
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/types.d.ts +1 -1
- package/dist/utils/charts/blessed/utils.d.ts +0 -1
- package/dist/utils/charts/blessed/utils.js +0 -5
- package/dist/utils/charts/blessed/utils.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 +6 -10
- 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 +11 -5
- 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 +19 -46
- 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 +1 -23
- 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/utils/timestamp.d.ts +1 -0
- package/dist/utils/timestamp.js +10 -0
- package/dist/utils/timestamp.js.map +1 -0
- package/dist/version/index.js +1 -1
- package/package.json +1 -1
- package/dist/utils/charts/blessed/datasets/efficiency.js.map +0 -1
|
@@ -14,8 +14,9 @@ export declare const checkNOBalancePDGforDeposits: (pdgContract: PredepositGuara
|
|
|
14
14
|
isNeedTopUp: boolean;
|
|
15
15
|
}>;
|
|
16
16
|
export declare const checkNodeOperatorForDeposit: (vault: StakingVaultContract) => Promise<`0x${string}`>;
|
|
17
|
-
export declare const
|
|
17
|
+
export declare const checkAndSpecifyNodeOperatorForTopUpOrWithdraw: (vault: StakingVaultContract, pdg: PredepositGuaranteeContract, isTopUp: boolean) => Promise<`0x${string}`>;
|
|
18
18
|
export declare const getGuarantor: (pdgContract: PredepositGuaranteeContract) => Promise<{
|
|
19
19
|
newGuarantor: any;
|
|
20
20
|
currentAccount: `0x${string}`;
|
|
21
21
|
}>;
|
|
22
|
+
export declare const specifyNodeOperatorAddress: () => Promise<any>;
|
|
@@ -46,7 +46,7 @@ export const checkNodeOperatorForDeposit = async (vault) => {
|
|
|
46
46
|
}
|
|
47
47
|
return vaultNodeOperator;
|
|
48
48
|
};
|
|
49
|
-
export const
|
|
49
|
+
export const checkAndSpecifyNodeOperatorForTopUpOrWithdraw = async (vault, pdg, isTopUp) => {
|
|
50
50
|
const currentAccount = getAccount();
|
|
51
51
|
const vaultNodeOperator = await callReadMethodSilent(vault, 'nodeOperator');
|
|
52
52
|
const noGuarantor = await callReadMethodSilent(pdg, 'nodeOperatorGuarantor', [
|
|
@@ -61,7 +61,7 @@ export const checkAndSpecifyNodeOperatorForTopUp = async (vault, pdg) => {
|
|
|
61
61
|
}
|
|
62
62
|
if (!isNodeOperator && isNoGuarantor) {
|
|
63
63
|
logInfo(`You are not the node operator of the vault ${vault.address}. You are the guarantor of the node operator ${vaultNodeOperator}.`);
|
|
64
|
-
const confirm = await confirmOperation(`Do you want to top up
|
|
64
|
+
const confirm = await confirmOperation(`Do you want to ${isTopUp ? 'top up' : 'withdraw'} the node operator ${vaultNodeOperator} balance?`);
|
|
65
65
|
if (!confirm)
|
|
66
66
|
throw new Error('Top up or withdraw is not confirmed');
|
|
67
67
|
return vaultNodeOperator;
|
|
@@ -89,4 +89,15 @@ export const getGuarantor = async (pdgContract) => {
|
|
|
89
89
|
currentAccount: currentAccount.address,
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
|
+
export const specifyNodeOperatorAddress = async () => {
|
|
93
|
+
const currentAccount = getAccount();
|
|
94
|
+
const confirm = await confirmOperation(`Do you want to use your address to check the balance ${currentAccount.address}?`);
|
|
95
|
+
if (!confirm) {
|
|
96
|
+
const otherAddress = await addressPrompt('Enter the address', 'value');
|
|
97
|
+
if (!otherAddress.value)
|
|
98
|
+
throw new Error('Invalid address');
|
|
99
|
+
return otherAddress.value;
|
|
100
|
+
}
|
|
101
|
+
return currentAccount.address;
|
|
102
|
+
};
|
|
92
103
|
//# sourceMappingURL=no-pdg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-pdg.js","sourceRoot":"","sources":["../../../features/deposits/no-pdg.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"no-pdg.js","sourceRoot":"","sources":["../../../features/deposits/no-pdg.ts"],"names":[],"mappings":"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"}
|
package/dist/features/pdg.js
CHANGED
|
@@ -12,8 +12,10 @@ export const getPdgBaseInfo = async () => {
|
|
|
12
12
|
const hideSpinner = showSpinner();
|
|
13
13
|
try {
|
|
14
14
|
const contract = await getPredepositGuaranteeContract();
|
|
15
|
-
const [DEFAULT_ADMIN_ROLE, BEACON_ROOTS, GI_FIRST_VALIDATOR_CURR, GI_FIRST_VALIDATOR_PREV, GI_PUBKEY_WC_PARENT, GI_STATE_ROOT, MAX_SUPPORTED_WC_VERSION, MIN_SUPPORTED_WC_VERSION, PREDEPOSIT_AMOUNT, PIVOT_SLOT, isPaused, resumeSinceTimestamp,] = await Promise.all([
|
|
15
|
+
const [DEFAULT_ADMIN_ROLE, RESUME_ROLE, PAUSE_ROLE, BEACON_ROOTS, GI_FIRST_VALIDATOR_CURR, GI_FIRST_VALIDATOR_PREV, GI_PUBKEY_WC_PARENT, GI_STATE_ROOT, MAX_SUPPORTED_WC_VERSION, MIN_SUPPORTED_WC_VERSION, PREDEPOSIT_AMOUNT, PIVOT_SLOT, isPaused, resumeSinceTimestamp,] = await Promise.all([
|
|
16
16
|
contract.read.DEFAULT_ADMIN_ROLE(),
|
|
17
|
+
contract.read.RESUME_ROLE(),
|
|
18
|
+
contract.read.PAUSE_ROLE(),
|
|
17
19
|
contract.read.BEACON_ROOTS(),
|
|
18
20
|
contract.read.GI_FIRST_VALIDATOR_CURR(),
|
|
19
21
|
contract.read.GI_FIRST_VALIDATOR_PREV(),
|
|
@@ -30,8 +32,10 @@ export const getPdgBaseInfo = async () => {
|
|
|
30
32
|
hideSpinner();
|
|
31
33
|
const payload = {
|
|
32
34
|
CONTRACT_ADDRESS,
|
|
33
|
-
BEACON_ROOTS,
|
|
34
35
|
DEFAULT_ADMIN_ROLE,
|
|
36
|
+
RESUME_ROLE,
|
|
37
|
+
PAUSE_ROLE,
|
|
38
|
+
BEACON_ROOTS,
|
|
35
39
|
GI_FIRST_VALIDATOR_CURR,
|
|
36
40
|
GI_FIRST_VALIDATOR_PREV,
|
|
37
41
|
GI_PUBKEY_WC_PARENT,
|
package/dist/features/pdg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdg.js","sourceRoot":"","sources":["../../features/pdg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,KAAK,GACN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAG3D,MAAM,iBAAiB,GAAG;IACxB,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,aAAa;CACjB,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;IACvC,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,8BAA8B,EAAE,CAAC;QACxD,MAAM,CACJ,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,oBAAoB,EACrB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACnC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;YAC1B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC;QAE1C,WAAW,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG;YACd,gBAAgB;YAChB,YAAY;YACZ,
|
|
1
|
+
{"version":3,"file":"pdg.js","sourceRoot":"","sources":["../../features/pdg.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../features/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../features/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
export declare const checkQuarantine: (vault: Address) => Promise<{
|
|
3
|
+
quarantine: {
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
pendingTotalValueIncrease: bigint;
|
|
6
|
+
startTimestamp: bigint;
|
|
7
|
+
endTimestamp: bigint;
|
|
8
|
+
};
|
|
9
|
+
until: null;
|
|
10
|
+
start: null;
|
|
11
|
+
leftHours: null;
|
|
12
|
+
} | {
|
|
13
|
+
quarantine: {
|
|
14
|
+
isActive: boolean;
|
|
15
|
+
pendingTotalValueIncrease: bigint;
|
|
16
|
+
startTimestamp: bigint;
|
|
17
|
+
endTimestamp: bigint;
|
|
18
|
+
};
|
|
19
|
+
until: string;
|
|
20
|
+
start: string;
|
|
21
|
+
leftHours: number;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const confirmQuarantine: (vault: Address) => Promise<boolean>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { getLazyOracleContract } from '../../contracts/index.js';
|
|
3
|
+
import { callReadMethodSilent, logTable, logInfo, confirmOperation, } from '../../utils/index.js';
|
|
4
|
+
export const checkQuarantine = async (vault) => {
|
|
5
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
6
|
+
const quarantine = await callReadMethodSilent(lazyOracleContract, 'vaultQuarantine', [vault]);
|
|
7
|
+
if (!quarantine.isActive)
|
|
8
|
+
return {
|
|
9
|
+
quarantine,
|
|
10
|
+
until: null,
|
|
11
|
+
start: null,
|
|
12
|
+
leftHours: null,
|
|
13
|
+
};
|
|
14
|
+
const startTimestamp = new Date(Number(quarantine.startTimestamp) * 1000).toLocaleString();
|
|
15
|
+
const endTimestamp = new Date(Number(quarantine.endTimestamp) * 1000).toLocaleString();
|
|
16
|
+
const quarantineLeftSeconds = quarantine.endTimestamp - quarantine.startTimestamp;
|
|
17
|
+
const quarantineLeftHours = Math.floor((Number(quarantineLeftSeconds) * 1000) / (1000 * 60 * 60));
|
|
18
|
+
const pendingTotalValueIncrease = formatEther(quarantine.pendingTotalValueIncrease);
|
|
19
|
+
logInfo('⚠️ Warning: Part of the vault capital on CL is in quarantine');
|
|
20
|
+
logInfo(`${pendingTotalValueIncrease} ETH will be added to the vault at ${endTimestamp} (after ${quarantineLeftHours} hours)`);
|
|
21
|
+
logTable({
|
|
22
|
+
data: [
|
|
23
|
+
['Vault', vault],
|
|
24
|
+
['Quarantine status', quarantine.isActive ? 'Active' : 'Inactive'],
|
|
25
|
+
['Pending total value increase, ETH', pendingTotalValueIncrease],
|
|
26
|
+
['Start timestamp', `${quarantine.startTimestamp} (${startTimestamp})`],
|
|
27
|
+
['End timestamp', `${quarantine.endTimestamp} (${endTimestamp})`],
|
|
28
|
+
],
|
|
29
|
+
});
|
|
30
|
+
console.info('\n');
|
|
31
|
+
return {
|
|
32
|
+
quarantine,
|
|
33
|
+
until: endTimestamp,
|
|
34
|
+
start: startTimestamp,
|
|
35
|
+
leftHours: quarantineLeftHours,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export const confirmQuarantine = async (vault) => {
|
|
39
|
+
const quarantineInfo = await checkQuarantine(vault);
|
|
40
|
+
if (quarantineInfo.quarantine.isActive) {
|
|
41
|
+
const quarantineConfirm = await confirmOperation(`Part of the vault ${vault} capital on CL is quarantined until ${quarantineInfo.until} (from ${quarantineInfo.start}). Vault metrics will be updated after ~${quarantineInfo.leftHours} hours. Do you want to continue?`);
|
|
42
|
+
if (!quarantineConfirm)
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=quarantine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantine.js","sourceRoot":"","sources":["../../../features/utils/quarantine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,OAAO,EACP,gBAAgB,GACjB,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACtD,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEzD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAC3C,kBAAkB,EAClB,iBAAiB,EACjB,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,QAAQ;QACtB,OAAO;YACL,UAAU;YACV,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SAChB,CAAC;IAEJ,MAAM,cAAc,GAAG,IAAI,IAAI,CAC7B,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CACzC,CAAC,cAAc,EAAE,CAAC;IACnB,MAAM,YAAY,GAAG,IAAI,IAAI,CAC3B,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CACvC,CAAC,cAAc,EAAE,CAAC;IACnB,MAAM,qBAAqB,GACzB,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC;IACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CACpC,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAC1D,CAAC;IACF,MAAM,yBAAyB,GAAG,WAAW,CAC3C,UAAU,CAAC,yBAAyB,CACrC,CAAC;IAEF,OAAO,CAAC,8DAA8D,CAAC,CAAC;IACxE,OAAO,CACL,GAAG,yBAAyB,sCAAsC,YAAY,WAAW,mBAAmB,SAAS,CACtH,CAAC;IACF,QAAQ,CAAC;QACP,IAAI,EAAE;YACJ,CAAC,OAAO,EAAE,KAAK,CAAC;YAChB,CAAC,mBAAmB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YAClE,CAAC,mCAAmC,EAAE,yBAAyB,CAAC;YAChE,CAAC,iBAAiB,EAAE,GAAG,UAAU,CAAC,cAAc,KAAK,cAAc,GAAG,CAAC;YACvE,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC,YAAY,KAAK,YAAY,GAAG,CAAC;SAClE;KACF,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnB,OAAO;QACL,UAAU;QACV,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,cAAc;QACrB,SAAS,EAAE,mBAAmB;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACxD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAEpD,IAAI,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAC9C,qBAAqB,KAAK,uCAAuC,cAAc,CAAC,KAAK,UAAU,cAAc,CAAC,KAAK,2CAA2C,cAAc,CAAC,SAAS,kCAAkC,CACzN,CAAC;QACF,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -15,4 +15,22 @@ export const checkIsReportFresh = async (vault) => {
|
|
|
15
15
|
return isReportFresh;
|
|
16
16
|
};
|
|
17
17
|
``;
|
|
18
|
+
export const reportFreshWarning = async (vault) => {
|
|
19
|
+
const vaultHubContract = await getVaultHubContract();
|
|
20
|
+
const isReportFresh = await callReadMethodSilent(vaultHubContract, 'isReportFresh', [vault]);
|
|
21
|
+
if (!isReportFresh) {
|
|
22
|
+
console.info('____________________________________________________');
|
|
23
|
+
logInfo('⚠️ WARNING: Report needs to be submitted');
|
|
24
|
+
console.info('📊 Vault data is not current because the latest report has not been submitted yet.');
|
|
25
|
+
console.info('🔄 To update the vault data, you need to submit the existing report.');
|
|
26
|
+
console.info('💡 Use the report command to submit the report and refresh vault data.');
|
|
27
|
+
console.info('____________________________________________________');
|
|
28
|
+
const confirm = await confirmOperation('Do you want to submit a fresh report immediately?');
|
|
29
|
+
if (!confirm)
|
|
30
|
+
return false;
|
|
31
|
+
await submitReport({ vault });
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
};
|
|
18
36
|
//# sourceMappingURL=report-fresh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-fresh.js","sourceRoot":"","sources":["../../../features/utils/report-fresh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,OAAO,GACR,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,gBAAgB,EAChB,eAAe,EACf,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/B,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"report-fresh.js","sourceRoot":"","sources":["../../../features/utils/report-fresh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,OAAO,GACR,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,gBAAgB,EAChB,eAAe,EACf,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,uCAAuC,CACxC,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/B,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF,EAAE,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAc,EAAoB,EAAE;IAC3E,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,gBAAgB,EAChB,eAAe,EACf,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACrE,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CACV,oFAAoF,CACrF,CAAC;QACF,OAAO,CAAC,IAAI,CACV,sEAAsE,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CACV,wEAAwE,CACzE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,mDAAmD,CACpD,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { reportFreshWarning } from '../index.js';
|
|
2
|
+
import { logTable, logInfo, logResult, formatBP, fetchAndCalculateVaultHealth, callReadMethodSilent, } from '../../utils/index.js';
|
|
2
3
|
export const getVaultHealthByDashboard = async (contract) => {
|
|
3
4
|
try {
|
|
5
|
+
const vault = await callReadMethodSilent(contract, 'stakingVault');
|
|
6
|
+
await reportFreshWarning(vault);
|
|
4
7
|
const { healthRatio, isHealthy, totalValueInEth, liabilitySharesInSteth, forceRebalanceThresholdBP, liabilityShares, } = await fetchAndCalculateVaultHealth(contract);
|
|
5
8
|
logResult({});
|
|
6
9
|
logInfo('Vault Health');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-health.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-health.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,4BAA4B,
|
|
1
|
+
{"version":3,"file":"vault-health.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-health.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,EACR,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,QAA2B,EAC3B,EAAE;IACF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEhC,MAAM,EACJ,WAAW,EACX,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,GAChB,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAEjD,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,OAAO,CAAC,cAAc,CAAC,CAAC;QACxB,QAAQ,CAAC;YACP,IAAI,EAAE;gBACJ,CAAC,eAAe,EAAE,SAAS,CAAC;gBAC5B,CAAC,aAAa,EAAE,GAAG,WAAW,GAAG,CAAC;gBAClC,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACrC,CAAC,kBAAkB,EAAE,eAAe,CAAC;gBACrC,CAAC,2BAA2B,EAAE,sBAAsB,CAAC;gBACrD,CAAC,wBAAwB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;aAChE;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { formatEther } from 'viem';
|
|
2
|
-
import { formatBP, logInfo, logTable, logResult, showSpinner, printError, } from '../../utils/index.js';
|
|
2
|
+
import { formatBP, logInfo, logTable, logResult, showSpinner, printError, callReadMethodSilent, } from '../../utils/index.js';
|
|
3
3
|
import { getPublicClient } from '../../providers/index.js';
|
|
4
|
+
import { reportFreshWarning } from '../index.js';
|
|
4
5
|
export const getVaultInfoByDashboard = async (contract) => {
|
|
6
|
+
const vault = await callReadMethodSilent(contract, 'stakingVault');
|
|
7
|
+
await reportFreshWarning(vault);
|
|
5
8
|
const hideSpinner = showSpinner();
|
|
6
9
|
const publicClient = getPublicClient();
|
|
7
10
|
try {
|
|
8
|
-
const [steth, wsteth, eth, lidoLocator, vaultHub,
|
|
11
|
+
const [steth, wsteth, eth, lidoLocator, vaultHub, reserveRatioBP, forcedRebalanceThresholdBP, infraFeeBP, liquidityFeeBP, reservationFeeBP, shareLimit, liabilityShares, unsettledObligations, totalValue, locked, maxLockableValue, totalMintingCapacityShares, remainingMintingCapacityShares, withdrawableValue, nodeOperatorFeeRecipient, rewardsAdjustment, nodeOperatorDisbursableFee, nodeOperatorFeeRate, confirmExpiry, maxConfirmExpiry, minConfirmExpiry,] = await Promise.all([
|
|
9
12
|
contract.read.STETH(),
|
|
10
13
|
contract.read.WSTETH(),
|
|
11
14
|
contract.read.ETH(),
|
|
12
15
|
contract.read.LIDO_LOCATOR(),
|
|
13
16
|
contract.read.VAULT_HUB(),
|
|
14
|
-
contract.read.stakingVault(),
|
|
15
17
|
contract.read.reserveRatioBP(),
|
|
16
18
|
contract.read.forcedRebalanceThresholdBP(),
|
|
17
19
|
contract.read.infraFeeBP(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-info.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"vault-info.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,16 @@ import { formatEther } from 'viem';
|
|
|
2
2
|
import { getOperatorGridContract, getStethContract, getVaultHubContract, } from '../../contracts/index.js';
|
|
3
3
|
import { getPublicClient } from '../../providers/index.js';
|
|
4
4
|
import { fetchAndCalculateVaultHealth, formatBP, formatRatio, showSpinner, logInfo, logTable, logResult, logLiabilityBar, logVaultHealthBar, printError, calculateOverviewV2, callReadMethodSilent, } from '../../utils/index.js';
|
|
5
|
+
import { reportFreshWarning } from '../index.js';
|
|
5
6
|
export const getVaultOverviewByDashboard = async (contract) => {
|
|
7
|
+
const vault = await callReadMethodSilent(contract, 'stakingVault');
|
|
8
|
+
await reportFreshWarning(vault);
|
|
6
9
|
const hideSpinner = showSpinner();
|
|
7
10
|
const publicClient = getPublicClient();
|
|
8
11
|
try {
|
|
9
12
|
const health = await fetchAndCalculateVaultHealth(contract);
|
|
10
13
|
const operatorGridContract = await getOperatorGridContract();
|
|
11
|
-
const [
|
|
12
|
-
contract.read.stakingVault(),
|
|
14
|
+
const [nodeOperatorFeeRate, reserveRatioBP, totalMintingCapacityShares, withdrawableValue, nodeOperatorDisbursableFee, totalValue, locked, shareLimit, remainingMintingCapacityShares,] = await Promise.all([
|
|
13
15
|
contract.read.nodeOperatorFeeRate(),
|
|
14
16
|
contract.read.reserveRatioBP(),
|
|
15
17
|
contract.read.totalMintingCapacityShares(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-overview.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAEL,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"vault-overview.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
2
|
import { DashboardContract } from '../../contracts/index.js';
|
|
3
|
-
type RoleName = 'DEFAULT_ADMIN_ROLE' | 'CHANGE_TIER_ROLE' | 'BURN_ROLE' | 'FUND_ROLE' | 'MINT_ROLE' | 'WITHDRAW_ROLE' | 'NODE_OPERATOR_MANAGER_ROLE' | 'NODE_OPERATOR_REWARDS_ADJUST_ROLE' | 'PAUSE_BEACON_CHAIN_DEPOSITS_ROLE' | 'RESUME_BEACON_CHAIN_DEPOSITS_ROLE' | 'PDG_COMPENSATE_PREDEPOSIT_ROLE' | 'PDG_PROVE_VALIDATOR_ROLE' | 'REBALANCE_ROLE' | 'RECOVER_ASSETS_ROLE' | 'REQUEST_VALIDATOR_EXIT_ROLE' | 'TRIGGER_VALIDATOR_WITHDRAWAL_ROLE' | 'UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE' | 'VOLUNTARY_DISCONNECT_ROLE';
|
|
3
|
+
export type RoleName = 'DEFAULT_ADMIN_ROLE' | 'CHANGE_TIER_ROLE' | 'BURN_ROLE' | 'FUND_ROLE' | 'MINT_ROLE' | 'WITHDRAW_ROLE' | 'NODE_OPERATOR_MANAGER_ROLE' | 'NODE_OPERATOR_REWARDS_ADJUST_ROLE' | 'PAUSE_BEACON_CHAIN_DEPOSITS_ROLE' | 'RESUME_BEACON_CHAIN_DEPOSITS_ROLE' | 'PDG_COMPENSATE_PREDEPOSIT_ROLE' | 'PDG_PROVE_VALIDATOR_ROLE' | 'REBALANCE_ROLE' | 'RECOVER_ASSETS_ROLE' | 'REQUEST_VALIDATOR_EXIT_ROLE' | 'TRIGGER_VALIDATOR_WITHDRAWAL_ROLE' | 'UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE' | 'VOLUNTARY_DISCONNECT_ROLE';
|
|
4
4
|
export declare const getVaultRolesByDashboard: (contract: DashboardContract) => Promise<void>;
|
|
5
5
|
export declare const checkVaultRole: (contract: DashboardContract, roleName: RoleName, address: Address) => Promise<true>;
|
|
6
|
-
export {};
|
|
@@ -26,16 +26,17 @@ export const chooseVault = async () => {
|
|
|
26
26
|
getVaultsByOwner(),
|
|
27
27
|
getVaultsByNO(),
|
|
28
28
|
]);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
const uniqueVaults = [...new Set([...vaultsByOwner, ...vaultsByNO])];
|
|
30
|
+
const vaultsWithRole = uniqueVaults.map((vault) => {
|
|
31
|
+
let title = '';
|
|
32
32
|
if (vaultsByNO.includes(vault)) {
|
|
33
|
-
title =
|
|
33
|
+
title = `Node Operator`;
|
|
34
34
|
}
|
|
35
35
|
if (vaultsByOwner.includes(vault)) {
|
|
36
|
-
|
|
36
|
+
const separator = title.length > 0 ? ', ' : '';
|
|
37
|
+
title = `${title}${separator}Owner`;
|
|
37
38
|
}
|
|
38
|
-
return { title
|
|
39
|
+
return { title: `${vault} (${title})`, value: vault };
|
|
39
40
|
});
|
|
40
41
|
const vault = await selectPrompt('Choose a vault', 'address', vaultsWithRole);
|
|
41
42
|
if (!vault.address)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults-by-role.js","sourceRoot":"","sources":["../../../features/vault-operations/vaults-by-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE;QACnE,OAAO,CAAC,OAAO;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,aAAa,EACb,cAAc,CACf,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CACvD,CAAC;IAEF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,gBAAgB,EAAE;QAClB,aAAa,EAAE;KAChB,CAAC,CAAC;IAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"vaults-by-role.js","sourceRoot":"","sources":["../../../features/vault-operations/vaults-by-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;IACzC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,eAAe,EAAE;QACnE,OAAO,CAAC,OAAO;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,aAAa,EACb,cAAc,CACf,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CACvD,CAAC;IAEF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,gBAAgB,EAAE;QAClB,aAAa,EAAE;KAChB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,eAAe,CAAC;QAC1B,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,KAAK,GAAG,GAAG,KAAK,GAAG,SAAS,OAAO,CAAC;QACtC,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,gBAAgB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
|
-
import {
|
|
2
|
+
import { formatEther } from 'viem';
|
|
3
3
|
import { getStethContract, getWstethContract } from '../../contracts/index.js';
|
|
4
4
|
import { getWalletWithAccount, getPublicClient, getAccount } from '../../providers/index.js';
|
|
5
5
|
import { printError, showSpinner, logResult, getCommandsJson, logInfo, stringToAddress, callReadMethod, } from '../../utils/index.js';
|
|
@@ -55,25 +55,6 @@ accountRead
|
|
|
55
55
|
printError(err, 'Error when getting account info');
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
-
accountRead
|
|
59
|
-
.command('steth-allowance-populate-tx')
|
|
60
|
-
.alias('steth-allowance-tx')
|
|
61
|
-
.description('populate tx for steth allowance')
|
|
62
|
-
.argument('<address>', 'address to set allowance for', stringToAddress)
|
|
63
|
-
.argument('<amount>', 'amount of steth to allow')
|
|
64
|
-
.action(async (address, amount) => {
|
|
65
|
-
const stethContract = await getStethContract();
|
|
66
|
-
const tx = encodeFunctionData({
|
|
67
|
-
abi: stethContract.abi,
|
|
68
|
-
functionName: 'approve',
|
|
69
|
-
args: [address, parseEther(amount)],
|
|
70
|
-
});
|
|
71
|
-
logInfo({
|
|
72
|
-
to: address,
|
|
73
|
-
value: parseEther(amount),
|
|
74
|
-
data: tx,
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
58
|
accountRead
|
|
78
59
|
.command('get-steth-allowance')
|
|
79
60
|
.description('get steth allowance for an address')
|
|
@@ -83,21 +64,6 @@ accountRead
|
|
|
83
64
|
const stethContract = await getStethContract();
|
|
84
65
|
await callReadMethod(stethContract, 'allowance', [accountAddress, address]);
|
|
85
66
|
});
|
|
86
|
-
accountRead
|
|
87
|
-
.command('wsteth-allowance-populate-tx')
|
|
88
|
-
.alias('wsteth-allowance-tx')
|
|
89
|
-
.description('populate tx for wsteth allowance')
|
|
90
|
-
.argument('<address>', 'address to set allowance for', stringToAddress)
|
|
91
|
-
.argument('<amount>', 'amount of wsteth to allow (in wstETH)')
|
|
92
|
-
.action(async (address, amount) => {
|
|
93
|
-
const wstethContract = await getWstethContract();
|
|
94
|
-
const tx = encodeFunctionData({
|
|
95
|
-
abi: wstethContract.abi,
|
|
96
|
-
functionName: 'approve',
|
|
97
|
-
args: [address, parseEther(amount)],
|
|
98
|
-
});
|
|
99
|
-
logInfo(tx);
|
|
100
|
-
});
|
|
101
67
|
accountRead
|
|
102
68
|
.command('get-wsteth-allowance')
|
|
103
69
|
.description('get wsteth allowance for an address')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/account/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAW,
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/account/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { formatEther
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
2
|
import { generatePrivateKey } from 'viem/accounts';
|
|
3
3
|
import { Option } from 'commander';
|
|
4
4
|
import { Wallet } from 'ethers';
|
|
5
5
|
import { getStethContract, getWstethContract } from '../../contracts/index.js';
|
|
6
|
-
import { getCommandsJson, logInfo, callWriteMethodWithReceipt, stringToAddress, confirmOperation, } from '../../utils/index.js';
|
|
6
|
+
import { getCommandsJson, logInfo, callWriteMethodWithReceipt, stringToAddress, confirmOperation, etherToWei, } from '../../utils/index.js';
|
|
7
7
|
import { account } from './main.js';
|
|
8
8
|
const accountWrite = account
|
|
9
9
|
.command('write')
|
|
@@ -34,32 +34,32 @@ accountWrite
|
|
|
34
34
|
.command('steth-allowance')
|
|
35
35
|
.description('set allowance for steth contract')
|
|
36
36
|
.argument('<address>', 'address to set allowance for', stringToAddress)
|
|
37
|
-
.argument('<amount>', 'amount of steth to allow (in stETH)')
|
|
37
|
+
.argument('<amount>', 'amount of steth to allow (in stETH)', etherToWei)
|
|
38
38
|
.action(async (address, amount) => {
|
|
39
39
|
const stethContract = await getStethContract();
|
|
40
|
-
const confirm = await confirmOperation(`Are you sure you want to set allowance ${formatEther(
|
|
40
|
+
const confirm = await confirmOperation(`Are you sure you want to set allowance ${formatEther(amount)} stETH for ${address}?`);
|
|
41
41
|
if (!confirm)
|
|
42
42
|
return;
|
|
43
43
|
await callWriteMethodWithReceipt({
|
|
44
44
|
contract: stethContract,
|
|
45
45
|
methodName: 'approve',
|
|
46
|
-
payload: [address,
|
|
46
|
+
payload: [address, amount],
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
accountWrite
|
|
50
50
|
.command('wsteth-allowance')
|
|
51
51
|
.description('set allowance for wsteth contract')
|
|
52
52
|
.argument('<address>', 'address to set allowance for', stringToAddress)
|
|
53
|
-
.argument('<amount>', 'amount of wsteth to allow')
|
|
53
|
+
.argument('<amount>', 'amount of wsteth to allow (in wstETH)', etherToWei)
|
|
54
54
|
.action(async (address, amount) => {
|
|
55
55
|
const wstethContract = await getWstethContract();
|
|
56
|
-
const confirm = await confirmOperation(`Are you sure you want to set allowance ${formatEther(
|
|
56
|
+
const confirm = await confirmOperation(`Are you sure you want to set allowance ${formatEther(amount)} wstETH for ${address}?`);
|
|
57
57
|
if (!confirm)
|
|
58
58
|
return;
|
|
59
59
|
await callWriteMethodWithReceipt({
|
|
60
60
|
contract: wstethContract,
|
|
61
61
|
methodName: 'approve',
|
|
62
|
-
payload: [address,
|
|
62
|
+
payload: [address, amount],
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
//# sourceMappingURL=write.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/account/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/account/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,10 +91,6 @@ export const readCommandConfig = {
|
|
|
91
91
|
name: 'confirmation',
|
|
92
92
|
description: 'get the confirmation expiry for a given call data and confirmer',
|
|
93
93
|
},
|
|
94
|
-
confirmingRoles: {
|
|
95
|
-
name: 'confirming-roles',
|
|
96
|
-
description: 'get confirming roles',
|
|
97
|
-
},
|
|
98
94
|
getConfirmExpiry: {
|
|
99
95
|
name: 'get-confirm-expiry',
|
|
100
96
|
description: 'get the confirmation expiry',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../programs/contracts/dashboard/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAC5B;IACE,iBAAiB,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kEAAkE;KACrE;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sBAAsB;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sBAAsB;KACpC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;KACzD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6BAA6B;KAC3C;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gCAAgC;KAC9C;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kCAAkC;KAChD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,2EAA2E;KAC9E;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;KACzC;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sCAAsC;KACpD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wCAAwC;KACtD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;KACjD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,0DAA0D;KACxE;IACD,8BAA8B,EAAE;QAC9B,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,2GAA2G;QAC7G,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,+CAA+C;gBAC5D,QAAQ,EAAE,UAAU;aACrB;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8CAA8C;KAC5D;IACD,OAAO,EAAE;QACP,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kCAAkC;KAChD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yCAAyC;KACvD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yFAAyF;KAC5F;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4CAA4C;KAC1D;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,mEAAmE;KACtE;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,iEAAiE;KACpE;IACD,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../programs/contracts/dashboard/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAC5B;IACE,iBAAiB,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kEAAkE;KACrE;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sBAAsB;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sBAAsB;KACpC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;KACzD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,6BAA6B;KAC3C;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gCAAgC;KAC9C;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kCAAkC;KAChD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,2EAA2E;KAC9E;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;KACzC;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sCAAsC;KACpD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wCAAwC;KACtD;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;KACjD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,0DAA0D;KACxE;IACD,8BAA8B,EAAE;QAC9B,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,2GAA2G;QAC7G,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,+CAA+C;gBAC5D,QAAQ,EAAE,UAAU;aACrB;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8CAA8C;KAC5D;IACD,OAAO,EAAE;QACP,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kCAAkC;KAChD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yCAAyC;KACvD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yFAAyF;KAC5F;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4CAA4C;KAC1D;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,mEAAmE;KACtE;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,iEAAiE;KACpE;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6BAA6B;KAC3C;IACD,+BAA+B,EAAE;QAC/B,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,6DAA6D;KAChE;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,4BAA4B;KAC1C;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,4BAA4B;KAC1C;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8BAA8B;KAC5C;CACF,CAAC"}
|