@nomicfoundation/hardhat-keystore
Version:
A module for managing keystore files that store a map from IDs to encrypted string values.
31 lines • 1.36 kB
JavaScript
import chalk from "chalk";
import { PLUGIN_ID } from "../constants.js";
import { UserDisplayMessages } from "../ui/user-display-messages.js";
export async function setUpPassword(requestSecretInput, consoleLog = console.log) {
const PASSWORD_REGEX = /^.{8,}$/;
consoleLog(UserDisplayMessages.keystoreBannerMessage());
consoleLog(UserDisplayMessages.passwordSetUpMessage());
consoleLog(UserDisplayMessages.passwordRequirementsMessage());
consoleLog("");
let password;
while (password === undefined) {
password = await requestSecretInput(PLUGIN_ID, UserDisplayMessages.enterPasswordMsg());
if (!PASSWORD_REGEX.test(password)) {
password = undefined;
consoleLog(chalk.red(UserDisplayMessages.passwordRequirementsError()));
}
}
let confirmPassword;
while (confirmPassword === undefined) {
confirmPassword = await requestSecretInput(PLUGIN_ID, UserDisplayMessages.confirmPasswordMessage());
if (password !== confirmPassword) {
consoleLog(chalk.red(UserDisplayMessages.passwordsDoNotMatchError()));
confirmPassword = undefined;
}
}
return password;
}
export async function askPassword(requestSecretInput) {
return requestSecretInput(PLUGIN_ID, UserDisplayMessages.enterPasswordMsg());
}
//# sourceMappingURL=password.js.map