@nomicfoundation/hardhat-keystore
Version:
A module for managing keystore files that store a map from IDs to encrypted string values.
30 lines • 1.38 kB
JavaScript
import { deriveMasterKeyFromKeystore } from "../keystores/encryption.js";
import { askPassword } from "../keystores/password.js";
import { UserDisplayMessages } from "../ui/user-display-messages.js";
import { setupKeystoreLoaderFrom } from "../utils/setup-keystore-loader-from.js";
const taskGet = async ({ key }, hre) => {
const keystoreLoader = setupKeystoreLoaderFrom(hre);
await get({ key }, keystoreLoader, hre.interruptions.requestSecretInput.bind(hre.interruptions));
};
export const get = async ({ key }, keystoreLoader, requestSecretInput, consoleLog = console.log) => {
if (!(await keystoreLoader.isKeystoreInitialized())) {
consoleLog(UserDisplayMessages.displayNoKeystoreSetErrorMessage());
process.exitCode = 1;
return;
}
const keystore = await keystoreLoader.loadKeystore();
const password = await askPassword(requestSecretInput);
const masterKey = deriveMasterKeyFromKeystore({
encryptedKeystore: keystore.toJSON(),
password,
});
if (!(await keystore.hasKey(key, masterKey))) {
consoleLog(UserDisplayMessages.displayKeyNotFoundErrorMessage(key));
process.exitCode = 1;
return;
}
const value = await keystore.readValue(key, masterKey);
consoleLog(UserDisplayMessages.displayValueInfoMessage(value));
};
export default taskGet;
//# sourceMappingURL=get.js.map