mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
Web Backend Recover Wallet (#8679)
* recover wallet rpc support - first attempt * removed redundant check * separate createwallet into imported and derived. Recover is derived * added unit test for recover. Recover is the createWallet for derived * so proto does CamelCase! * fixed issues related to unit testing * expose ValidateMnemonic from accounts to be used by the rpc module * added Mnemonic25Support and test to ensure it is not et is not empty * added skipMnemonic25thword support and unit test * Update proto/validator/accounts/v2/web_api.proto Proper naming convention Co-authored-by: terence tsao <terence@prysmaticlabs.com> * ran goimports,changed variable to SkipMnemonic_25ThWord * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * Update validator/rpc/wallet.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> * fixed variable and text msgs naming convention as per the review * added unit test for strong password on recover * Update proto/validator/accounts/v2/web_api.proto Co-authored-by: Nishant Das <nish1993@hotmail.com> * Update validator/rpc/wallet.go Co-authored-by: Nishant Das <nish1993@hotmail.com> * goimports -w on root proto * added comments after exposing ValidateMnemonic to by used by rpc.RecoverWallet * language should be case insensitive * need to goimports before update protobuf scripts * Update validator/rpc/wallet.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/rpc/wallet.go comments need to be consistant Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/rpc/wallet_test.go consistent comments Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * fix comments * remove the skipMnemonic from rpc, just check if passphrase is empyt * defer call to set the writePassword flag on web boarding * gofmt * fixed the password write test after recovering a wallet. Needed to have two defers. One to set to true then one back to false * restore powchain.pb.go and finalized_block_root_container.pb.go * revert beacon messages.pb.go * revert unrelated files * revert unrelated files * revert unrelated files * unlreated files * restored the imports * Update validator/rpc/wallet_test.go Co-authored-by: terence tsao <terence@prysmaticlabs.com> Co-authored-by: Nishant Das <nish1993@hotmail.com> Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
This commit is contained in:
@@ -153,7 +153,7 @@ func inputMnemonic(cliCtx *cli.Context) (mnemonicPhrase string, err error) {
|
||||
return "", err
|
||||
}
|
||||
enteredMnemonic := string(data)
|
||||
if err := validateMnemonic(enteredMnemonic); err != nil {
|
||||
if err := ValidateMnemonic(enteredMnemonic); err != nil {
|
||||
return "", errors.Wrap(err, "mnemonic phrase did not pass validation")
|
||||
}
|
||||
return enteredMnemonic, nil
|
||||
@@ -190,7 +190,7 @@ func inputMnemonic(cliCtx *cli.Context) (mnemonicPhrase string, err error) {
|
||||
mnemonicPhrase, err = promptutil.ValidatePrompt(
|
||||
os.Stdin,
|
||||
"Enter the seed phrase for the wallet you would like to recover",
|
||||
validateMnemonic)
|
||||
ValidateMnemonic)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("could not get mnemonic phrase: %w", err)
|
||||
}
|
||||
@@ -219,7 +219,9 @@ func inputNumAccounts(cliCtx *cli.Context) (int64, error) {
|
||||
return int64(numAccountsInt), nil
|
||||
}
|
||||
|
||||
func validateMnemonic(mnemonic string) error {
|
||||
// ValidateMnemonic ensures that it is not empty and that the count of the words are
|
||||
// as specified(currently 24).
|
||||
func ValidateMnemonic(mnemonic string) error {
|
||||
if strings.Trim(mnemonic, " ") == "" {
|
||||
return errors.New("phrase cannot be empty")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user