diff --git a/proto/prysm/v1alpha1/validator-client/web_api.proto b/proto/prysm/v1alpha1/validator-client/web_api.proto index d3db06c6f5..d3603cb8e3 100644 --- a/proto/prysm/v1alpha1/validator-client/web_api.proto +++ b/proto/prysm/v1alpha1/validator-client/web_api.proto @@ -168,7 +168,7 @@ service Auth { } } -// Type of key manager for the wallet, either direct, derived, or remote. +// Type of key manager for the wallet, either derived, imported, or remote. enum KeymanagerKind { DERIVED = 0; IMPORTED = 1; diff --git a/tools/interop/split-keys/BUILD.bazel b/tools/interop/split-keys/BUILD.bazel index 6bc7ca54de..742f4c8311 100644 --- a/tools/interop/split-keys/BUILD.bazel +++ b/tools/interop/split-keys/BUILD.bazel @@ -11,7 +11,7 @@ go_library( "//validator/accounts/wallet:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "@com_github_tyler_smith_go_bip39//:go_default_library", "@com_github_wealdtech_go_eth2_util//:go_default_library", ], @@ -31,6 +31,6 @@ go_test( "//testing/require:go_default_library", "//validator/accounts/wallet:go_default_library", "//validator/keymanager:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", ], ) diff --git a/tools/interop/split-keys/main.go b/tools/interop/split-keys/main.go index 9e03b8bbbc..53f562bb4d 100644 --- a/tools/interop/split-keys/main.go +++ b/tools/interop/split-keys/main.go @@ -24,7 +24,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/tyler-smith/go-bip39" util "github.com/wealdtech/go-eth2-util" ) @@ -62,7 +62,7 @@ func main() { } keysPerWallet := len(privKeys) / *numberOfWalletsFlag - if err := spreadKeysAcrossImportedWallets( + if err := spreadKeysAcrossLocalWallets( pubKeys, privKeys, *numberOfWalletsFlag, @@ -113,7 +113,7 @@ func generateKeysFromMnemonicList(mnemonicListFile *bufio.Scanner, keysPerMnemon return } -func spreadKeysAcrossImportedWallets( +func spreadKeysAcrossLocalWallets( pubKeys, privKeys [][]byte, numWallets, @@ -125,10 +125,10 @@ func spreadKeysAcrossImportedWallets( for i := 0; i < numWallets; i++ { w := wallet.New(&wallet.Config{ WalletDir: path.Join(walletOutputDir, fmt.Sprintf("wallet_%d", i)), - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: walletPassword, }) - km, err := imported.NewKeymanager(ctx, &imported.SetupConfig{ + km, err := local.NewKeymanager(ctx, &local.SetupConfig{ Wallet: w, }) if err != nil { diff --git a/tools/interop/split-keys/main_test.go b/tools/interop/split-keys/main_test.go index d1fada340c..f138178040 100644 --- a/tools/interop/split-keys/main_test.go +++ b/tools/interop/split-keys/main_test.go @@ -13,7 +13,7 @@ import ( "github.com/prysmaticlabs/prysm/testing/require" "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" ) const testMnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about" @@ -64,7 +64,7 @@ func Test_spreadKeysAcrossImportedWallets(t *testing.T) { // key per wallet stored on disk. numWallets := 5 keysPerWallet := 1 - err := spreadKeysAcrossImportedWallets( + err := spreadKeysAcrossLocalWallets( testPubKeys, testPrivKeys, numWallets, @@ -77,11 +77,11 @@ func Test_spreadKeysAcrossImportedWallets(t *testing.T) { for i := 0; i < numWallets; i++ { w, err := wallet.OpenWallet(ctx, &wallet.Config{ WalletDir: filepath.Join(tmpDir, fmt.Sprintf("wallet_%d", i)), - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: walletPassword, }) require.NoError(t, err) - km, err := imported.NewKeymanager(ctx, &imported.SetupConfig{ + km, err := local.NewKeymanager(ctx, &local.SetupConfig{ Wallet: w, }) require.NoError(t, err) diff --git a/validator/accounts/BUILD.bazel b/validator/accounts/BUILD.bazel index e35db12822..0ff9b85ee1 100644 --- a/validator/accounts/BUILD.bazel +++ b/validator/accounts/BUILD.bazel @@ -42,7 +42,7 @@ go_library( "//validator/client:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote:go_default_library", "//validator/keymanager/remote-web3signer:go_default_library", "@com_github_ethereum_go_ethereum//common/hexutil:go_default_library", @@ -92,7 +92,7 @@ go_test( "//validator/accounts/wallet:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote:go_default_library", "//validator/testing:go_default_library", "@com_github_golang_mock//gomock:go_default_library", diff --git a/validator/accounts/accounts_backup.go b/validator/accounts/accounts_backup.go index 0b47d9dd50..4badabb20a 100644 --- a/validator/accounts/accounts_backup.go +++ b/validator/accounts/accounts_backup.go @@ -24,7 +24,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/urfave/cli/v2" ) @@ -96,14 +96,14 @@ func BackupAccountsCli(cliCtx *cli.Context) error { var keystoresToBackup []*keymanager.Keystore switch w.KeymanagerKind() { - case keymanager.Imported: - km, ok := km.(*imported.Keymanager) + case keymanager.Local: + km, ok := km.(*local.Keymanager) if !ok { return errors.New("could not assert keymanager interface to concrete type") } keystoresToBackup, err = km.ExtractKeystores(cliCtx.Context, filteredPubKeys, backupsPassword) if err != nil { - return errors.Wrap(err, "could not backup accounts for imported keymanager") + return errors.Wrap(err, "could not backup accounts for local keymanager") } case keymanager.Derived: km, ok := km.(*derived.Keymanager) diff --git a/validator/accounts/accounts_backup_test.go b/validator/accounts/accounts_backup_test.go index df4692b42f..d5b84f6fda 100644 --- a/validator/accounts/accounts_backup_test.go +++ b/validator/accounts/accounts_backup_test.go @@ -159,7 +159,7 @@ func TestBackupAccounts_Noninteractive_Imported(t *testing.T) { cliCtx := setupWalletCtx(t, &testWalletConfig{ // Wallet configuration flags. walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, // Flags required for ImportAccounts to work. @@ -172,7 +172,7 @@ func TestBackupAccounts_Noninteractive_Imported(t *testing.T) { _, err = CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) diff --git a/validator/accounts/accounts_delete_test.go b/validator/accounts/accounts_delete_test.go index cc5600f5fa..498fa08d0d 100644 --- a/validator/accounts/accounts_delete_test.go +++ b/validator/accounts/accounts_delete_test.go @@ -13,7 +13,7 @@ import ( "github.com/prysmaticlabs/prysm/testing/require" "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" ) func TestDeleteAccounts_Noninteractive(t *testing.T) { @@ -33,11 +33,11 @@ func TestDeleteAccounts_Noninteractive(t *testing.T) { // Only delete keys 0 and 1. deletePublicKeys := strings.Join(generatedPubKeys[0:2], ",") - // We initialize a wallet with a imported keymanager. + // We initialize a wallet with a local keymanager. cliCtx := setupWalletCtx(t, &testWalletConfig{ // Wallet configuration flags. walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, // Flags required for ImportAccounts to work. @@ -48,7 +48,7 @@ func TestDeleteAccounts_Noninteractive(t *testing.T) { w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) @@ -60,9 +60,9 @@ func TestDeleteAccounts_Noninteractive(t *testing.T) { // We attempt to delete the accounts specified. require.NoError(t, DeleteAccountCli(cliCtx)) - keymanager, err := imported.NewKeymanager( + keymanager, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: w, ListenForChanges: false, }, diff --git a/validator/accounts/accounts_exit_test.go b/validator/accounts/accounts_exit_test.go index 217b933e12..b7d8462a67 100644 --- a/validator/accounts/accounts_exit_test.go +++ b/validator/accounts/accounts_exit_test.go @@ -17,7 +17,7 @@ import ( "github.com/prysmaticlabs/prysm/testing/require" "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/sirupsen/logrus/hooks/test" "google.golang.org/grpc/metadata" "google.golang.org/protobuf/types/known/timestamppb" @@ -59,11 +59,11 @@ func TestExitAccountsCli_OK(t *testing.T) { keystore, _ := createKeystore(t, keysDir) time.Sleep(time.Second) - // We initialize a wallet with a imported keymanager. + // We initialize a wallet with a local keymanager. cliCtx := setupWalletCtx(t, &testWalletConfig{ // Wallet configuration flags. walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, // Flag required for ImportAccounts to work. @@ -74,7 +74,7 @@ func TestExitAccountsCli_OK(t *testing.T) { _, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) @@ -154,11 +154,11 @@ func TestExitAccountsCli_OK_AllPublicKeys(t *testing.T) { keystore2, _ := createKeystore(t, keysDir) time.Sleep(time.Second) - // We initialize a wallet with a imported keymanager. + // We initialize a wallet with a local keymanager. cliCtx := setupWalletCtx(t, &testWalletConfig{ // Wallet configuration flags. walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, // Flag required for ImportAccounts to work. @@ -169,7 +169,7 @@ func TestExitAccountsCli_OK_AllPublicKeys(t *testing.T) { _, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) @@ -211,18 +211,18 @@ func TestExitAccountsCli_OK_AllPublicKeys(t *testing.T) { } func TestPrepareWallet_EmptyWalletReturnsError(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, _, passwordFilePath := setupWalletAndPasswordsDir(t) cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, }) _, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) @@ -232,11 +232,11 @@ func TestPrepareWallet_EmptyWalletReturnsError(t *testing.T) { } func TestPrepareClients_AddsGRPCHeaders(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, _, passwordFilePath := setupWalletAndPasswordsDir(t) cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, grpcHeaders: "Authorization=Basic some-token,Some-Other-Header=some-value", @@ -244,7 +244,7 @@ func TestPrepareClients_AddsGRPCHeaders(t *testing.T) { _, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) diff --git a/validator/accounts/accounts_import.go b/validator/accounts/accounts_import.go index c7f96cedb9..5cc1a78ccf 100644 --- a/validator/accounts/accounts_import.go +++ b/validator/accounts/accounts_import.go @@ -115,7 +115,7 @@ func ImportAccountsCli(cliCtx *cli.Context) error { }) } - cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Imported) + cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Local) if err != nil { return nil, err } @@ -124,7 +124,7 @@ func ImportAccountsCli(cliCtx *cli.Context) error { WalletDir: cfg.WalletCfg.WalletDir, WalletPassword: cfg.WalletCfg.WalletPassword, }) - if err = createImportedKeymanagerWallet(cliCtx.Context, w); err != nil { + if err = createLocalKeymanagerWallet(cliCtx.Context, w); err != nil { return nil, errors.Wrap(err, "could not create keymanager") } log.WithField("wallet-path", cfg.WalletCfg.WalletDir).Info( diff --git a/validator/accounts/accounts_import_test.go b/validator/accounts/accounts_import_test.go index 5027697897..aa78e1ff92 100644 --- a/validator/accounts/accounts_import_test.go +++ b/validator/accounts/accounts_import_test.go @@ -22,12 +22,12 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/iface" "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) func TestImport_Noninteractive(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, passwordsDir, passwordFilePath := setupWalletAndPasswordsDir(t) keysDir := filepath.Join(t.TempDir(), "keysDir") require.NoError(t, os.MkdirAll(keysDir, os.ModePerm)) @@ -36,21 +36,21 @@ func TestImport_Noninteractive(t *testing.T) { walletDir: walletDir, passwordsDir: passwordsDir, keysDir: keysDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, }) w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) require.NoError(t, err) - keymanager, err := imported.NewKeymanager( + keymanager, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: w, ListenForChanges: false, }, @@ -84,7 +84,7 @@ func TestImport_Noninteractive(t *testing.T) { // TestImport_DuplicateKeys is a regression test that ensures correction function if duplicate keys are being imported func TestImport_DuplicateKeys(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, passwordsDir, passwordFilePath := setupWalletAndPasswordsDir(t) keysDir := filepath.Join(t.TempDir(), "keysDir") require.NoError(t, os.MkdirAll(keysDir, os.ModePerm)) @@ -93,14 +93,14 @@ func TestImport_DuplicateKeys(t *testing.T) { walletDir: walletDir, passwordsDir: passwordsDir, keysDir: keysDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, }) w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) @@ -132,7 +132,7 @@ func TestImport_DuplicateKeys(t *testing.T) { } func TestImport_Noninteractive_RandomName(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, passwordsDir, passwordFilePath := setupWalletAndPasswordsDir(t) keysDir := filepath.Join(t.TempDir(), "keysDir") require.NoError(t, os.MkdirAll(keysDir, os.ModePerm)) @@ -141,21 +141,21 @@ func TestImport_Noninteractive_RandomName(t *testing.T) { walletDir: walletDir, passwordsDir: passwordsDir, keysDir: keysDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, }) w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) require.NoError(t, err) - keymanager, err := imported.NewKeymanager( + keymanager, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: w, ListenForChanges: false, }, @@ -188,7 +188,7 @@ func TestImport_Noninteractive_RandomName(t *testing.T) { } func TestImport_Noninteractive_Filepath(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() walletDir, passwordsDir, passwordFilePath := setupWalletAndPasswordsDir(t) keysDir := filepath.Join(t.TempDir(), "keysDir") require.NoError(t, os.MkdirAll(keysDir, os.ModePerm)) @@ -198,21 +198,21 @@ func TestImport_Noninteractive_Filepath(t *testing.T) { walletDir: walletDir, passwordsDir: passwordsDir, keysDir: keystorePath, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, accountPasswordFile: passwordFilePath, }) w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: password, }, }) require.NoError(t, err) - keymanager, err := imported.NewKeymanager( + keymanager, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: w, ListenForChanges: false, }, @@ -240,7 +240,7 @@ func TestImport_Noninteractive_Filepath(t *testing.T) { } func TestImport_SortByDerivationPath(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() type test struct { name string input []string @@ -319,7 +319,7 @@ func Test_importPrivateKeyAsAccount(t *testing.T) { // We instantiate a new wallet from a cli context. cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: passwordFilePath, privateKeyFile: privKeyFileName, }) @@ -327,14 +327,14 @@ func Test_importPrivateKeyAsAccount(t *testing.T) { wallet, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: walletPass, }, }) require.NoError(t, err) - keymanager, err := imported.NewKeymanager( + keymanager, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: wallet, ListenForChanges: false, }, @@ -343,9 +343,9 @@ func Test_importPrivateKeyAsAccount(t *testing.T) { assert.NoError(t, importPrivateKeyAsAccount(cliCtx, wallet, keymanager)) // We re-instantiate the keymanager and check we now have 1 public key. - keymanager, err = imported.NewKeymanager( + keymanager, err = local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: wallet, ListenForChanges: false, }, @@ -377,7 +377,7 @@ func createKeystore(t *testing.T, path string) (*keymanager.Keystore, string) { require.NoError(t, err) // Write the encoded keystore to disk with the timestamp appended createdAt := prysmTime.Now().Unix() - fullPath := filepath.Join(path, fmt.Sprintf(imported.KeystoreFileNameFormat, createdAt)) + fullPath := filepath.Join(path, fmt.Sprintf(local.KeystoreFileNameFormat, createdAt)) require.NoError(t, ioutil.WriteFile(fullPath, encoded, os.ModePerm)) return keystoreFile, fullPath } diff --git a/validator/accounts/accounts_list.go b/validator/accounts/accounts_list.go index 60b9f3d6cc..326af64855 100644 --- a/validator/accounts/accounts_list.go +++ b/validator/accounts/accounts_list.go @@ -16,7 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/urfave/cli/v2" @@ -52,13 +52,13 @@ func ListAccountsCli(cliCtx *cli.Context) error { } switch w.KeymanagerKind() { - case keymanager.Imported: - km, ok := km.(*imported.Keymanager) + case keymanager.Local: + km, ok := km.(*local.Keymanager) if !ok { return errors.New("could not assert keymanager interface to concrete type") } - if err := listImportedKeymanagerAccounts(cliCtx.Context, showDepositData, showPrivateKeys, km); err != nil { - return errors.Wrap(err, "could not list validator accounts with imported keymanager") + if err := listLocalKeymanagerAccounts(cliCtx.Context, showDepositData, showPrivateKeys, km); err != nil { + return errors.Wrap(err, "could not list validator accounts with local keymanager") } case keymanager.Derived: km, ok := km.(*derived.Keymanager) @@ -91,11 +91,11 @@ func ListAccountsCli(cliCtx *cli.Context) error { return nil } -func listImportedKeymanagerAccounts( +func listLocalKeymanagerAccounts( ctx context.Context, showDepositData, showPrivateKeys bool, - keymanager *imported.Keymanager, + keymanager *local.Keymanager, ) error { // We initialize the wallet's keymanager. accountNames, err := keymanager.ValidatingAccountNames() @@ -103,7 +103,7 @@ func listImportedKeymanagerAccounts( return errors.Wrap(err, "could not fetch account names") } numAccounts := au.BrightYellow(len(accountNames)) - fmt.Printf("(keymanager kind) %s\n", au.BrightGreen("imported wallet").Bold()) + fmt.Printf("(keymanager kind) %s\n", au.BrightGreen("local wallet").Bold()) fmt.Println("") if len(accountNames) == 1 { fmt.Printf("Showing %d validator account\n", numAccounts) diff --git a/validator/accounts/accounts_list_test.go b/validator/accounts/accounts_list_test.go index 80e4cea43a..3b88507138 100644 --- a/validator/accounts/accounts_list_test.go +++ b/validator/accounts/accounts_list_test.go @@ -26,7 +26,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" constant "github.com/prysmaticlabs/prysm/validator/testing" keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" @@ -67,25 +67,25 @@ func createRandomKeystore(t testing.TB, password string) *keymanager.Keystore { } } -func TestListAccounts_ImportedKeymanager(t *testing.T) { +func TestListAccounts_LocalKeymanager(t *testing.T) { walletDir, passwordsDir, walletPasswordFile := setupWalletAndPasswordsDir(t) cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, passwordsDir: passwordsDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: walletPasswordFile, }) w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: "Passwordz0320$", }, }) require.NoError(t, err) - km, err := imported.NewKeymanager( + km, err := local.NewKeymanager( cliCtx.Context, - &imported.SetupConfig{ + &local.SetupConfig{ Wallet: w, ListenForChanges: false, }, @@ -107,10 +107,10 @@ func TestListAccounts_ImportedKeymanager(t *testing.T) { require.NoError(t, err) os.Stdout = writer - // We call the list imported keymanager accounts function. + // We call the list local keymanager accounts function. require.NoError( t, - listImportedKeymanagerAccounts( + listLocalKeymanagerAccounts( context.Background(), true, /* show deposit data */ true, /*show private keys */ @@ -129,7 +129,7 @@ func TestListAccounts_ImportedKeymanager(t *testing.T) { // Expected output example: /* - (keymanager kind) imported wallet + (keymanager kind) local wallet Showing 5 validator accounts View the eth1 deposit transaction data for your accounts by running `validator accounts list --show-deposit-data @@ -180,7 +180,7 @@ func TestListAccounts_ImportedKeymanager(t *testing.T) { require.Equal(t, lineCount, len(lines)) // Assert the keymanager kind is printed on the first line. - kindString := "imported" + kindString := "local" kindFound := strings.Contains(lines[0], kindString) assert.Equal(t, true, kindFound, "Keymanager Kind %s not found on the first line", kindString) @@ -258,7 +258,7 @@ func TestListAccounts_DerivedKeymanager(t *testing.T) { require.NoError(t, err) os.Stdout = writer - // We call the list imported keymanager accounts function. + // We call the list local keymanager accounts function. require.NoError(t, listDerivedKeymanagerAccounts(cliCtx.Context, true, keymanager)) require.NoError(t, writer.Close()) diff --git a/validator/accounts/wallet/BUILD.bazel b/validator/accounts/wallet/BUILD.bazel index 6bc4b2c043..6de3a0b45e 100644 --- a/validator/accounts/wallet/BUILD.bazel +++ b/validator/accounts/wallet/BUILD.bazel @@ -20,7 +20,7 @@ go_library( "//validator/accounts/userprompt:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote:go_default_library", "//validator/keymanager/remote-web3signer:go_default_library", "@com_github_pkg_errors//:go_default_library", diff --git a/validator/accounts/wallet/wallet.go b/validator/accounts/wallet/wallet.go index 7b0ebb7bd4..233ba493a5 100644 --- a/validator/accounts/wallet/wallet.go +++ b/validator/accounts/wallet/wallet.go @@ -18,7 +18,7 @@ import ( accountsprompt "github.com/prysmaticlabs/prysm/validator/accounts/userprompt" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/sirupsen/logrus" @@ -54,7 +54,7 @@ var ( ) // KeymanagerKindSelections as friendly text. KeymanagerKindSelections = map[keymanager.Kind]string{ - keymanager.Imported: "Imported Wallet (Recommended)", + keymanager.Local: "Imported Wallet (Recommended)", keymanager.Derived: "HD Wallet", keymanager.Remote: "Remote Signing Wallet (Advanced)", keymanager.Web3Signer: "Consensys Web3Signer (Advanced)", @@ -272,8 +272,8 @@ func (w *Wallet) InitializeKeymanager(ctx context.Context, cfg iface.InitKeymana var km keymanager.IKeymanager var err error switch w.KeymanagerKind() { - case keymanager.Imported: - km, err = imported.NewKeymanager(ctx, &imported.SetupConfig{ + case keymanager.Local: + km, err = local.NewKeymanager(ctx, &local.SetupConfig{ Wallet: w, ListenForChanges: cfg.ListenForChanges, }) diff --git a/validator/accounts/wallet_create.go b/validator/accounts/wallet_create.go index 91f97ec383..2f5d52e5d2 100644 --- a/validator/accounts/wallet_create.go +++ b/validator/accounts/wallet_create.go @@ -16,7 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/urfave/cli/v2" @@ -71,8 +71,8 @@ func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (* }) var err error switch w.KeymanagerKind() { - case keymanager.Imported: - if err = createImportedKeymanagerWallet(ctx, w); err != nil { + case keymanager.Local: + if err = createLocalKeymanagerWallet(ctx, w); err != nil { return nil, errors.Wrap(err, "could not initialize wallet") } // TODO(#9883) - Remove this when we have a better way to handle this. should be safe to use for now. @@ -80,11 +80,11 @@ func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (* if err != nil { return nil, errors.Wrap(err, ErrCouldNotInitializeKeymanager) } - importedKm, ok := km.(*imported.Keymanager) + localKm, ok := km.(*local.Keymanager) if !ok { return nil, errors.Wrap(err, ErrCouldNotInitializeKeymanager) } - accountsKeystore, err := importedKm.CreateAccountsKeystore(ctx, make([][]byte, 0), make([][]byte, 0)) + accountsKeystore, err := localKm.CreateAccountsKeystore(ctx, make([][]byte, 0), make([][]byte, 0)) if err != nil { return nil, err } @@ -92,7 +92,7 @@ func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (* if err != nil { return nil, err } - if err = w.WriteFileAtPath(ctx, imported.AccountsPath, imported.AccountsKeystoreFileName, encodedAccounts); err != nil { + if err = w.WriteFileAtPath(ctx, local.AccountsPath, local.AccountsKeystoreFileName, encodedAccounts); err != nil { return nil, err } @@ -204,7 +204,7 @@ func extractWalletCreationConfigFromCli(cliCtx *cli.Context, keymanagerKind keym return createWalletConfig, nil } -func createImportedKeymanagerWallet(_ context.Context, wallet *wallet.Wallet) error { +func createLocalKeymanagerWallet(_ context.Context, wallet *wallet.Wallet) error { if wallet == nil { return errors.New("nil wallet") } @@ -265,7 +265,7 @@ func inputKeymanagerKind(cliCtx *cli.Context) (keymanager.Kind, error) { promptSelect := promptui.Select{ Label: "Select a type of wallet", Items: []string{ - wallet.KeymanagerKindSelections[keymanager.Imported], + wallet.KeymanagerKindSelections[keymanager.Local], wallet.KeymanagerKindSelections[keymanager.Derived], wallet.KeymanagerKindSelections[keymanager.Remote], wallet.KeymanagerKindSelections[keymanager.Web3Signer], @@ -273,7 +273,7 @@ func inputKeymanagerKind(cliCtx *cli.Context) (keymanager.Kind, error) { } selection, _, err := promptSelect.Run() if err != nil { - return keymanager.Imported, fmt.Errorf("could not select wallet type: %w", userprompt.FormatPromptError(err)) + return keymanager.Local, fmt.Errorf("could not select wallet type: %w", userprompt.FormatPromptError(err)) } return keymanager.Kind(selection), nil } diff --git a/validator/accounts/wallet_create_test.go b/validator/accounts/wallet_create_test.go index 2b42badff8..1345c5bb4e 100644 --- a/validator/accounts/wallet_create_test.go +++ b/validator/accounts/wallet_create_test.go @@ -16,7 +16,7 @@ import ( "github.com/prysmaticlabs/prysm/testing/require" "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" "github.com/sirupsen/logrus" logTest "github.com/sirupsen/logrus/hooks/test" @@ -115,11 +115,11 @@ func TestCreateOrOpenWallet(t *testing.T) { cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, passwordsDir: passwordsDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: walletPasswordFile, }) - createImportedWallet := func(cliCtx *cli.Context) (*wallet.Wallet, error) { - cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Imported) + createLocalWallet := func(cliCtx *cli.Context) (*wallet.Wallet, error) { + cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Local) if err != nil { return nil, err } @@ -128,7 +128,7 @@ func TestCreateOrOpenWallet(t *testing.T) { WalletDir: cfg.WalletCfg.WalletDir, WalletPassword: cfg.WalletCfg.WalletPassword, }) - if err = createImportedKeymanagerWallet(cliCtx.Context, w); err != nil { + if err = createLocalKeymanagerWallet(cliCtx.Context, w); err != nil { return nil, errors.Wrap(err, "could not create keymanager") } log.WithField("wallet-path", cfg.WalletCfg.WalletDir).Info( @@ -136,22 +136,22 @@ func TestCreateOrOpenWallet(t *testing.T) { ) return w, nil } - createdWallet, err := wallet.OpenWalletOrElseCli(cliCtx, createImportedWallet) + createdWallet, err := wallet.OpenWalletOrElseCli(cliCtx, createLocalWallet) require.NoError(t, err) require.LogsContain(t, hook, "Successfully created new wallet") - openedWallet, err := wallet.OpenWalletOrElseCli(cliCtx, createImportedWallet) + openedWallet, err := wallet.OpenWalletOrElseCli(cliCtx, createLocalWallet) require.NoError(t, err) assert.Equal(t, createdWallet.KeymanagerKind(), openedWallet.KeymanagerKind()) assert.Equal(t, createdWallet.AccountsDir(), openedWallet.AccountsDir()) } -func TestCreateWallet_Imported(t *testing.T) { +func TestCreateWallet_Local(t *testing.T) { walletDir, passwordsDir, walletPasswordFile := setupWalletAndPasswordsDir(t) cliCtx := setupWalletCtx(t, &testWalletConfig{ walletDir: walletDir, passwordsDir: passwordsDir, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, walletPasswordFile: walletPasswordFile, }) @@ -164,7 +164,7 @@ func TestCreateWallet_Imported(t *testing.T) { WalletDir: walletDir, }) assert.NoError(t, err) - _, err = w.ReadFileAtPath(cliCtx.Context, imported.AccountsPath, imported.AccountsKeystoreFileName) + _, err = w.ReadFileAtPath(cliCtx.Context, local.AccountsPath, local.AccountsKeystoreFileName) require.NoError(t, err) } @@ -212,7 +212,7 @@ func TestCreateWallet_WalletAlreadyExists(t *testing.T) { walletDir: walletDir, passwordsDir: passwordsDir, walletPasswordFile: passwordFile, - keymanagerKind: keymanager.Imported, + keymanagerKind: keymanager.Local, }) // We attempt to create another wallet of different type at the same location. We expect an error. diff --git a/validator/accounts/wallet_edit.go b/validator/accounts/wallet_edit.go index 04dedb99ef..a818cd4ead 100644 --- a/validator/accounts/wallet_edit.go +++ b/validator/accounts/wallet_edit.go @@ -22,8 +22,8 @@ func EditWalletConfigurationCli(cliCtx *cli.Context) error { return errors.Wrap(err, "could not open wallet") } switch w.KeymanagerKind() { - case keymanager.Imported: - return errors.New("not possible to edit imported keymanager configuration") + case keymanager.Local: + return errors.New("not possible to edit local keymanager configuration") case keymanager.Derived: return errors.New("derived keymanager is not yet supported") case keymanager.Remote: diff --git a/validator/client/BUILD.bazel b/validator/client/BUILD.bazel index 3a4dc6c5b4..7631a832a8 100644 --- a/validator/client/BUILD.bazel +++ b/validator/client/BUILD.bazel @@ -51,7 +51,7 @@ go_library( "//validator/db/kv:go_default_library", "//validator/graffiti:go_default_library", "//validator/keymanager:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote:go_default_library", "//validator/keymanager/remote-web3signer:go_default_library", "@com_github_dgraph_io_ristretto//:go_default_library", @@ -132,7 +132,7 @@ go_test( "//validator/graffiti:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote-web3signer:go_default_library", "//validator/keymanager/remote/mock:go_default_library", "//validator/slashing-protection-history:go_default_library", diff --git a/validator/client/service.go b/validator/client/service.go index 0bb251c56d..9c9bb922c2 100644 --- a/validator/client/service.go +++ b/validator/client/service.go @@ -24,7 +24,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/db" "github.com/prysmaticlabs/prysm/validator/graffiti" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "go.opencensus.io/plugin/ocgrpc" "google.golang.org/grpc" @@ -51,7 +51,7 @@ type ValidatorService struct { emitAccountMetrics bool logValidatorBalances bool logDutyCountDown bool - interopKeysConfig *imported.InteropKeymanagerConfig + interopKeysConfig *local.InteropKeymanagerConfig conn *grpc.ClientConn grpcRetryDelay time.Duration grpcRetries uint @@ -77,7 +77,7 @@ type Config struct { LogValidatorBalances bool EmitAccountMetrics bool LogDutyCountDown bool - InteropKeysConfig *imported.InteropKeymanagerConfig + InteropKeysConfig *local.InteropKeymanagerConfig Wallet *wallet.Wallet WalletInitializedFeed *event.Feed GrpcRetriesFlag uint @@ -235,7 +235,7 @@ func (v *ValidatorService) Status() error { } // UseInteropKeys returns the useInteropKeys flag. -func (v *ValidatorService) InteropKeysConfig() *imported.InteropKeymanagerConfig { +func (v *ValidatorService) InteropKeysConfig() *local.InteropKeymanagerConfig { return v.interopKeysConfig } diff --git a/validator/client/validator.go b/validator/client/validator.go index 03a691c4f8..2602c7ecde 100644 --- a/validator/client/validator.go +++ b/validator/client/validator.go @@ -36,7 +36,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/db/kv" "github.com/prysmaticlabs/prysm/validator/graffiti" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/sirupsen/logrus" "go.opencensus.io/trace" @@ -77,7 +77,7 @@ type validator struct { highestValidSlot types.Slot genesisTime uint64 blockFeed *event.Feed - interopKeysConfig *imported.InteropKeymanagerConfig + interopKeysConfig *local.InteropKeymanagerConfig wallet *wallet.Wallet graffitiStruct *graffiti.Graffiti node ethpb.NodeClient @@ -120,7 +120,7 @@ func (v *validator) WaitForKeymanagerInitialization(ctx context.Context) error { v.keyManager = km } else { if v.interopKeysConfig != nil { - keyManager, err := imported.NewInteropKeymanager(ctx, v.interopKeysConfig.Offset, v.interopKeysConfig.NumValidatorKeys) + keyManager, err := local.NewInteropKeymanager(ctx, v.interopKeysConfig.Offset, v.interopKeysConfig.NumValidatorKeys) if err != nil { return errors.Wrap(err, "could not generate interop keys for key manager") } @@ -190,7 +190,7 @@ func recheckKeys(ctx context.Context, valDB vdb.Database, keyManager keymanager. // to accounts changes in the keymanager, then updates those keys' // buckets in bolt DB if a bucket for a key does not exist. func recheckValidatingKeysBucket(ctx context.Context, valDB vdb.Database, km keymanager.IKeymanager) { - importedKeymanager, ok := km.(*imported.Keymanager) + importedKeymanager, ok := km.(*local.Keymanager) if !ok { return } diff --git a/validator/client/validator_test.go b/validator/client/validator_test.go index dbefc2faa9..dd4835f8d0 100644 --- a/validator/client/validator_test.go +++ b/validator/client/validator_test.go @@ -29,7 +29,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/client/iface" dbTest "github.com/prysmaticlabs/prysm/validator/db/testing" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/sirupsen/logrus" logTest "github.com/sirupsen/logrus/hooks/test" @@ -1385,7 +1385,7 @@ func TestValidator_WaitForKeymanagerInitialization_Web(t *testing.T) { }() walletChan <- wallet.New(&wallet.Config{ - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, }) } @@ -1399,7 +1399,7 @@ func TestValidator_WaitForKeymanagerInitialization_Interop(t *testing.T) { v := validator{ db: db, useWeb: false, - interopKeysConfig: &imported.InteropKeymanagerConfig{ + interopKeysConfig: &local.InteropKeymanagerConfig{ NumValidatorKeys: 2, Offset: 1, }, diff --git a/validator/keymanager/BUILD.bazel b/validator/keymanager/BUILD.bazel index 7f967c1b15..f54fdf8904 100644 --- a/validator/keymanager/BUILD.bazel +++ b/validator/keymanager/BUILD.bazel @@ -27,7 +27,7 @@ go_test( deps = [ ":go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote:go_default_library", ], ) diff --git a/validator/keymanager/derived/BUILD.bazel b/validator/keymanager/derived/BUILD.bazel index 1390c8db0d..c69ff4d596 100644 --- a/validator/keymanager/derived/BUILD.bazel +++ b/validator/keymanager/derived/BUILD.bazel @@ -22,7 +22,7 @@ go_library( "//proto/prysm/v1alpha1/validator-client:go_default_library", "//validator/accounts/iface:go_default_library", "//validator/keymanager:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "@com_github_pkg_errors//:go_default_library", "@com_github_sirupsen_logrus//:go_default_library", "@com_github_tyler_smith_go_bip39//:go_default_library", diff --git a/validator/keymanager/derived/keymanager.go b/validator/keymanager/derived/keymanager.go index 082956b2a2..9ba070a22f 100644 --- a/validator/keymanager/derived/keymanager.go +++ b/validator/keymanager/derived/keymanager.go @@ -12,7 +12,7 @@ import ( validatorpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1/validator-client" "github.com/prysmaticlabs/prysm/validator/accounts/iface" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" util "github.com/wealdtech/go-eth2-util" ) @@ -34,7 +34,7 @@ type SetupConfig struct { // Keymanager implementation for derived, HD keymanager using EIP-2333 and EIP-2334. type Keymanager struct { - importedKM *imported.Keymanager + localKM *local.Keymanager } // NewKeymanager instantiates a new derived keymanager from configuration options. @@ -42,7 +42,7 @@ func NewKeymanager( ctx context.Context, cfg *SetupConfig, ) (*Keymanager, error) { - importedKM, err := imported.NewKeymanager(ctx, &imported.SetupConfig{ + localKM, err := local.NewKeymanager(ctx, &local.SetupConfig{ Wallet: cfg.Wallet, ListenForChanges: cfg.ListenForChanges, }) @@ -50,7 +50,7 @@ func NewKeymanager( return nil, err } return &Keymanager{ - importedKM: importedKM, + localKM: localKM, }, nil } @@ -76,7 +76,7 @@ func (km *Keymanager) RecoverAccountsFromMnemonic( privKeys[i] = privKey.Marshal() pubKeys[i] = privKey.PublicKey().Marshal() } - return km.importedKM.ImportKeypairs(ctx, privKeys, pubKeys) + return km.localKM.ImportKeypairs(ctx, privKeys, pubKeys) } // ExtractKeystores retrieves the secret keys for specified public keys @@ -85,46 +85,46 @@ func (km *Keymanager) RecoverAccountsFromMnemonic( func (km *Keymanager) ExtractKeystores( ctx context.Context, publicKeys []bls.PublicKey, password string, ) ([]*keymanager.Keystore, error) { - return km.importedKM.ExtractKeystores(ctx, publicKeys, password) + return km.localKM.ExtractKeystores(ctx, publicKeys, password) } // ValidatingAccountNames for the derived keymanager. func (km *Keymanager) ValidatingAccountNames(_ context.Context) ([]string, error) { - return km.importedKM.ValidatingAccountNames() + return km.localKM.ValidatingAccountNames() } // Sign signs a message using a validator key. func (km *Keymanager) Sign(ctx context.Context, req *validatorpb.SignRequest) (bls.Signature, error) { - return km.importedKM.Sign(ctx, req) + return km.localKM.Sign(ctx, req) } // FetchValidatingPublicKeys fetches the list of validating public keys from the keymanager. func (km *Keymanager) FetchValidatingPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { - return km.importedKM.FetchValidatingPublicKeys(ctx) + return km.localKM.FetchValidatingPublicKeys(ctx) } // FetchValidatingPrivateKeys fetches the list of validating private keys from the keymanager. func (km *Keymanager) FetchValidatingPrivateKeys(ctx context.Context) ([][32]byte, error) { - return km.importedKM.FetchValidatingPrivateKeys(ctx) + return km.localKM.FetchValidatingPrivateKeys(ctx) } // ImportKeystores for a derived keymanager. func (km *Keymanager) ImportKeystores( ctx context.Context, keystores []*keymanager.Keystore, passwords []string, ) ([]*ethpbservice.ImportedKeystoreStatus, error) { - return km.importedKM.ImportKeystores(ctx, keystores, passwords) + return km.localKM.ImportKeystores(ctx, keystores, passwords) } // DeleteKeystores for a derived keymanager. func (km *Keymanager) DeleteKeystores( ctx context.Context, publicKeys [][]byte, ) ([]*ethpbservice.DeletedKeystoreStatus, error) { - return km.importedKM.DeleteKeystores(ctx, publicKeys) + return km.localKM.DeleteKeystores(ctx, publicKeys) } // SubscribeAccountChanges creates an event subscription for a channel // to listen for public key changes at runtime, such as when new validator accounts // are imported into the keymanager while the validator process is running. func (km *Keymanager) SubscribeAccountChanges(pubKeysChan chan [][fieldparams.BLSPubkeyLength]byte) event.Subscription { - return km.importedKM.SubscribeAccountChanges(pubKeysChan) + return km.localKM.SubscribeAccountChanges(pubKeysChan) } diff --git a/validator/keymanager/imported/log.go b/validator/keymanager/imported/log.go deleted file mode 100644 index 98aebef6cb..0000000000 --- a/validator/keymanager/imported/log.go +++ /dev/null @@ -1,5 +0,0 @@ -package imported - -import "github.com/sirupsen/logrus" - -var log = logrus.WithField("prefix", "imported-keymanager") diff --git a/validator/keymanager/imported/BUILD.bazel b/validator/keymanager/local/BUILD.bazel similarity index 99% rename from validator/keymanager/imported/BUILD.bazel rename to validator/keymanager/local/BUILD.bazel index 674a811a8d..432811dbe2 100644 --- a/validator/keymanager/imported/BUILD.bazel +++ b/validator/keymanager/local/BUILD.bazel @@ -11,7 +11,7 @@ go_library( "log.go", "refresh.go", ], - importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/imported", + importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/local", visibility = [ "//tools:__subpackages__", "//validator:__pkg__", diff --git a/validator/keymanager/imported/backup.go b/validator/keymanager/local/backup.go similarity index 98% rename from validator/keymanager/imported/backup.go rename to validator/keymanager/local/backup.go index b27d3bc08c..64497dcb29 100644 --- a/validator/keymanager/imported/backup.go +++ b/validator/keymanager/local/backup.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" diff --git a/validator/keymanager/imported/backup_test.go b/validator/keymanager/local/backup_test.go similarity index 95% rename from validator/keymanager/imported/backup_test.go rename to validator/keymanager/local/backup_test.go index 1e0e6031ba..89bc341d7b 100644 --- a/validator/keymanager/imported/backup_test.go +++ b/validator/keymanager/local/backup_test.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -12,7 +12,7 @@ import ( "github.com/prysmaticlabs/prysm/testing/require" ) -func TestImportedKeymanager_ExtractKeystores(t *testing.T) { +func TestLocalKeymanager_ExtractKeystores(t *testing.T) { secretKeysCache = make(map[[fieldparams.BLSPubkeyLength]byte]bls.SecretKey) dr := &Keymanager{} validatingKeys := make([]bls.SecretKey, 10) diff --git a/validator/keymanager/imported/delete.go b/validator/keymanager/local/delete.go similarity index 99% rename from validator/keymanager/imported/delete.go rename to validator/keymanager/local/delete.go index 7be9170b63..99d237c6e9 100644 --- a/validator/keymanager/imported/delete.go +++ b/validator/keymanager/local/delete.go @@ -1,4 +1,4 @@ -package imported +package local import ( "bytes" diff --git a/validator/keymanager/imported/delete_test.go b/validator/keymanager/local/delete_test.go similarity index 98% rename from validator/keymanager/imported/delete_test.go rename to validator/keymanager/local/delete_test.go index 83b5615e39..86403d8018 100644 --- a/validator/keymanager/imported/delete_test.go +++ b/validator/keymanager/local/delete_test.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -17,7 +17,7 @@ import ( keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) -func TestImportedKeymanager_DeleteKeystores(t *testing.T) { +func TestLocalKeymanager_DeleteKeystores(t *testing.T) { hook := logTest.NewGlobal() wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), diff --git a/validator/keymanager/imported/doc.go b/validator/keymanager/local/doc.go similarity index 86% rename from validator/keymanager/imported/doc.go rename to validator/keymanager/local/doc.go index 019385cae9..8930203c7e 100644 --- a/validator/keymanager/imported/doc.go +++ b/validator/keymanager/local/doc.go @@ -1,8 +1,8 @@ /* -Package imported defines an implementation of an on-disk, EIP-2335 keystore.json +Package local defines an implementation of an on-disk, EIP-2335 keystore.json approach towards defining validator accounts in Prysm. A validating private key is encrypted using a passphrase and its resulting encrypted file is stored as a -keystore.json file under a unique, human-readable, account namespace. This imported keymanager approach +keystore.json file under a unique, human-readable, account namespace. This local keymanager approach relies on storing account information on-disk, making it trivial to import, backup and list all associated accounts for a user. @@ -13,4 +13,4 @@ support for KECCAK-256. Passwords utilized for key encryptions are strings of ar The password is first converted to its NFKD representation, stripped of control codes specified in the EIP link above, and finally the password is UTF-8 encoded. */ -package imported +package local diff --git a/validator/keymanager/imported/import.go b/validator/keymanager/local/import.go similarity index 98% rename from validator/keymanager/imported/import.go rename to validator/keymanager/local/import.go index 6715fe9303..5bbe96730f 100644 --- a/validator/keymanager/imported/import.go +++ b/validator/keymanager/local/import.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -16,7 +16,7 @@ import ( keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) -// ImportKeystores into the imported keymanager from an external source. +// ImportKeystores into the local keymanager from an external source. func (km *Keymanager) ImportKeystores( ctx context.Context, keystores []*keymanager.Keystore, diff --git a/validator/keymanager/imported/import_test.go b/validator/keymanager/local/import_test.go similarity index 97% rename from validator/keymanager/imported/import_test.go rename to validator/keymanager/local/import_test.go index 8267f4b86f..431ec956f3 100644 --- a/validator/keymanager/imported/import_test.go +++ b/validator/keymanager/local/import_test.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -36,7 +36,7 @@ func createRandomKeystore(t testing.TB, password string) *keymanager.Keystore { } } -func TestImportedKeymanager_NoDuplicates(t *testing.T) { +func TestLocalKeymanager_NoDuplicates(t *testing.T) { numKeys := 50 pubKeys := make([][]byte, numKeys) privKeys := make([][]byte, numKeys) @@ -93,7 +93,7 @@ func TestImportedKeymanager_NoDuplicates(t *testing.T) { require.Equal(t, numKeys+1, len(dr.accountsStore.PrivateKeys)) } -func TestImportedKeymanager_ImportKeystores(t *testing.T) { +func TestLocalKeymanager_ImportKeystores(t *testing.T) { ctx := context.Background() // Setup the keymanager. wallet := &mock.Wallet{ diff --git a/validator/keymanager/imported/keymanager.go b/validator/keymanager/local/keymanager.go similarity index 96% rename from validator/keymanager/imported/keymanager.go rename to validator/keymanager/local/keymanager.go index cbc1df3549..17926688e2 100644 --- a/validator/keymanager/imported/keymanager.go +++ b/validator/keymanager/local/keymanager.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -31,13 +31,13 @@ var ( const ( // KeystoreFileNameFormat exposes the filename the keystore should be formatted in. KeystoreFileNameFormat = "keystore-%d.json" - // AccountsPath where all imported keymanager keystores are kept. + // AccountsPath where all local keymanager keystores are kept. AccountsPath = "accounts" // AccountsKeystoreFileName exposes the name of the keystore file. AccountsKeystoreFileName = "all-accounts.keystore.json" ) -// Keymanager implementation for imported keystores utilizing EIP-2335. +// Keymanager implementation for local keystores utilizing EIP-2335. type Keymanager struct { wallet iface.Wallet accountsStore *accountStore @@ -75,7 +75,7 @@ func ResetCaches() { lock.Unlock() } -// NewKeymanager instantiates a new imported keymanager from configuration options. +// NewKeymanager instantiates a new local keymanager from configuration options. func NewKeymanager(ctx context.Context, cfg *SetupConfig) (*Keymanager, error) { k := &Keymanager{ wallet: cfg.Wallet, @@ -134,7 +134,7 @@ func (km *Keymanager) SubscribeAccountChanges(pubKeysChan chan [][fieldparams.BL return km.accountsChangedFeed.Subscribe(pubKeysChan) } -// ValidatingAccountNames for a imported keymanager. +// ValidatingAccountNames for a local keymanager. func (_ *Keymanager) ValidatingAccountNames() ([]string, error) { lock.RLock() names := make([]string, len(orderedPublicKeys)) @@ -165,7 +165,7 @@ func (km *Keymanager) initializeKeysCachesFromKeystore() error { return nil } -// FetchValidatingPublicKeys fetches the list of active public keys from the imported account keystores. +// FetchValidatingPublicKeys fetches the list of active public keys from the local account keystores. func (_ *Keymanager) FetchValidatingPublicKeys(ctx context.Context) ([][fieldparams.BLSPubkeyLength]byte, error) { _, span := trace.StartSpan(ctx, "keymanager.FetchValidatingPublicKeys") defer span.End() diff --git a/validator/keymanager/imported/keymanager_test.go b/validator/keymanager/local/keymanager_test.go similarity index 94% rename from validator/keymanager/imported/keymanager_test.go rename to validator/keymanager/local/keymanager_test.go index f4b3f8bb7c..7ae4744452 100644 --- a/validator/keymanager/imported/keymanager_test.go +++ b/validator/keymanager/local/keymanager_test.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -17,7 +17,7 @@ import ( keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) -func TestImportedKeymanager_FetchValidatingPublicKeys(t *testing.T) { +func TestLocalKeymanager_FetchValidatingPublicKeys(t *testing.T) { wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), WalletPassword: password, @@ -49,7 +49,7 @@ func TestImportedKeymanager_FetchValidatingPublicKeys(t *testing.T) { } } -func TestImportedKeymanager_FetchValidatingPrivateKeys(t *testing.T) { +func TestLocalKeymanager_FetchValidatingPrivateKeys(t *testing.T) { wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), WalletPassword: password, @@ -82,7 +82,7 @@ func TestImportedKeymanager_FetchValidatingPrivateKeys(t *testing.T) { } } -func TestImportedKeymanager_Sign(t *testing.T) { +func TestLocalKeymanager_Sign(t *testing.T) { wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), AccountPasswords: make(map[string]string), @@ -150,7 +150,7 @@ func TestImportedKeymanager_Sign(t *testing.T) { } } -func TestImportedKeymanager_Sign_NoPublicKeySpecified(t *testing.T) { +func TestLocalKeymanager_Sign_NoPublicKeySpecified(t *testing.T) { req := &validatorpb.SignRequest{ PublicKey: nil, } @@ -159,7 +159,7 @@ func TestImportedKeymanager_Sign_NoPublicKeySpecified(t *testing.T) { assert.ErrorContains(t, "nil public key", err) } -func TestImportedKeymanager_Sign_NoPublicKeyInCache(t *testing.T) { +func TestLocalKeymanager_Sign_NoPublicKeyInCache(t *testing.T) { req := &validatorpb.SignRequest{ PublicKey: []byte("hello world"), } diff --git a/validator/keymanager/local/log.go b/validator/keymanager/local/log.go new file mode 100644 index 0000000000..2a39bc2bf5 --- /dev/null +++ b/validator/keymanager/local/log.go @@ -0,0 +1,5 @@ +package local + +import "github.com/sirupsen/logrus" + +var log = logrus.WithField("prefix", "local-keymanager") diff --git a/validator/keymanager/imported/refresh.go b/validator/keymanager/local/refresh.go similarity index 98% rename from validator/keymanager/imported/refresh.go rename to validator/keymanager/local/refresh.go index ceca2ae69f..7111cd8e34 100644 --- a/validator/keymanager/imported/refresh.go +++ b/validator/keymanager/local/refresh.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -92,7 +92,7 @@ func (km *Keymanager) listenForAccountChanges(ctx context.Context) { } } -// Replaces the accounts store struct in the imported keymanager with +// Replaces the accounts store struct in the local keymanager with // the contents of a keystore file by decrypting it with the accounts password. func (km *Keymanager) reloadAccountsFromKeystore(keystore *AccountsKeystoreRepresentation) error { decryptor := keystorev4.New() diff --git a/validator/keymanager/imported/refresh_test.go b/validator/keymanager/local/refresh_test.go similarity index 94% rename from validator/keymanager/imported/refresh_test.go rename to validator/keymanager/local/refresh_test.go index 700f0a05d1..2f7a7d0f02 100644 --- a/validator/keymanager/imported/refresh_test.go +++ b/validator/keymanager/local/refresh_test.go @@ -1,4 +1,4 @@ -package imported +package local import ( "context" @@ -15,7 +15,7 @@ import ( keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) -func TestImportedKeymanager_reloadAccountsFromKeystore_MismatchedNumKeys(t *testing.T) { +func TestLocalKeymanager_reloadAccountsFromKeystore_MismatchedNumKeys(t *testing.T) { password := "Passw03rdz293**%#2" wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), @@ -46,7 +46,7 @@ func TestImportedKeymanager_reloadAccountsFromKeystore_MismatchedNumKeys(t *test assert.ErrorContains(t, "do not match", err) } -func TestImportedKeymanager_reloadAccountsFromKeystore(t *testing.T) { +func TestLocalKeymanager_reloadAccountsFromKeystore(t *testing.T) { password := "Passw03rdz293**%#2" wallet := &mock.Wallet{ Files: make(map[string]map[string][]byte), diff --git a/validator/keymanager/types.go b/validator/keymanager/types.go index bc1f0e4eae..90b1dc4651 100644 --- a/validator/keymanager/types.go +++ b/validator/keymanager/types.go @@ -60,13 +60,13 @@ type Keystore struct { Name string `json:"name"` } -// Kind defines an enum for either imported, derived, or remote-signing +// Kind defines an enum for either local, derived, or remote-signing // keystores for Prysm wallets. type Kind int const ( - // Imported keymanager defines an on-disk, encrypted keystore-capable store. - Imported Kind = iota + // Local keymanager defines an on-disk, encrypted keystore-capable store. + Local Kind = iota // Derived keymanager using a hierarchical-deterministic algorithm. Derived // Remote keymanager capable of remote-signing data. @@ -84,7 +84,7 @@ func (k Kind) String() string { switch k { case Derived: return "derived" - case Imported: + case Local: return "direct" case Remote: return "remote" @@ -101,7 +101,7 @@ func ParseKind(k string) (Kind, error) { case "derived": return Derived, nil case "direct": - return Imported, nil + return Local, nil case "remote": return Remote, nil case "web3signer": diff --git a/validator/keymanager/types_test.go b/validator/keymanager/types_test.go index 82bfbe4703..62da454bbb 100644 --- a/validator/keymanager/types_test.go +++ b/validator/keymanager/types_test.go @@ -3,20 +3,20 @@ package keymanager_test import ( "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/prysmaticlabs/prysm/validator/keymanager/remote" ) var ( - _ = keymanager.IKeymanager(&imported.Keymanager{}) + _ = keymanager.IKeymanager(&local.Keymanager{}) _ = keymanager.IKeymanager(&derived.Keymanager{}) _ = keymanager.IKeymanager(&remote.Keymanager{}) // More granular assertions. - _ = keymanager.KeysFetcher(&imported.Keymanager{}) + _ = keymanager.KeysFetcher(&local.Keymanager{}) _ = keymanager.KeysFetcher(&derived.Keymanager{}) - _ = keymanager.Importer(&imported.Keymanager{}) + _ = keymanager.Importer(&local.Keymanager{}) _ = keymanager.Importer(&derived.Keymanager{}) - _ = keymanager.Deleter(&imported.Keymanager{}) + _ = keymanager.Deleter(&local.Keymanager{}) _ = keymanager.Deleter(&derived.Keymanager{}) ) diff --git a/validator/node/BUILD.bazel b/validator/node/BUILD.bazel index 895352abd0..f780c9d1b4 100644 --- a/validator/node/BUILD.bazel +++ b/validator/node/BUILD.bazel @@ -51,7 +51,7 @@ go_library( "//validator/client:go_default_library", "//validator/db/kv:go_default_library", "//validator/graffiti:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/keymanager/remote-web3signer:go_default_library", "//validator/rpc:go_default_library", "//validator/rpc/apimiddleware:go_default_library", diff --git a/validator/node/node.go b/validator/node/node.go index 1be6a25762..a40e60c065 100644 --- a/validator/node/node.go +++ b/validator/node/node.go @@ -41,7 +41,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/client" "github.com/prysmaticlabs/prysm/validator/db/kv" g "github.com/prysmaticlabs/prysm/validator/graffiti" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" remote_web3signer "github.com/prysmaticlabs/prysm/validator/keymanager/remote-web3signer" "github.com/prysmaticlabs/prysm/validator/rpc" validatorMiddleware "github.com/prysmaticlabs/prysm/validator/rpc/apimiddleware" @@ -374,9 +374,9 @@ func (c *ValidatorClient) registerValidatorService(cliCtx *cli.Context) error { maxCallRecvMsgSize := c.cliCtx.Int(cmd.GrpcMaxCallRecvMsgSizeFlag.Name) grpcRetries := c.cliCtx.Uint(flags.GrpcRetriesFlag.Name) grpcRetryDelay := c.cliCtx.Duration(flags.GrpcRetryDelayFlag.Name) - var interopKeysConfig *imported.InteropKeymanagerConfig + var interopKeysConfig *local.InteropKeymanagerConfig if c.cliCtx.IsSet(flags.InteropNumValidators.Name) { - interopKeysConfig = &imported.InteropKeymanagerConfig{ + interopKeysConfig = &local.InteropKeymanagerConfig{ Offset: cliCtx.Uint64(flags.InteropStartIndex.Name), NumValidatorKeys: cliCtx.Uint64(flags.InteropNumValidators.Name), } diff --git a/validator/node/node_test.go b/validator/node/node_test.go index 96873fea73..6e79b1df01 100644 --- a/validator/node/node_test.go +++ b/validator/node/node_test.go @@ -41,7 +41,7 @@ func TestNode_Builds(t *testing.T) { _, err := accounts.CreateWalletWithKeymanager(context.Context, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: dir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: walletPassword, }, }) diff --git a/validator/rpc/BUILD.bazel b/validator/rpc/BUILD.bazel index 05e040fc4c..a3f5641a44 100644 --- a/validator/rpc/BUILD.bazel +++ b/validator/rpc/BUILD.bazel @@ -44,7 +44,7 @@ go_library( "//validator/db:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/slashing-protection-history:go_default_library", "//validator/slashing-protection-history/format:go_default_library", "@com_github_fsnotify_fsnotify//:go_default_library", @@ -108,7 +108,7 @@ go_test( "//validator/db/kv:go_default_library", "//validator/keymanager:go_default_library", "//validator/keymanager/derived:go_default_library", - "//validator/keymanager/imported:go_default_library", + "//validator/keymanager/local:go_default_library", "//validator/slashing-protection-history/format:go_default_library", "//validator/testing:go_default_library", "@com_github_golang_jwt_jwt//:go_default_library", diff --git a/validator/rpc/accounts.go b/validator/rpc/accounts.go index 9eb8f9db57..44c2313391 100644 --- a/validator/rpc/accounts.go +++ b/validator/rpc/accounts.go @@ -15,7 +15,7 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/petnames" "github.com/prysmaticlabs/prysm/validator/keymanager" "github.com/prysmaticlabs/prysm/validator/keymanager/derived" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -107,10 +107,10 @@ func (s *Server) BackupAccounts( var keystoresToBackup []*keymanager.Keystore switch km := km.(type) { - case *imported.Keymanager: + case *local.Keymanager: keystoresToBackup, err = km.ExtractKeystores(ctx, pubKeys, req.BackupPassword) if err != nil { - return nil, status.Errorf(codes.Internal, "Could not backup accounts for imported keymanager: %v", err) + return nil, status.Errorf(codes.Internal, "Could not backup accounts for local keymanager: %v", err) } case *derived.Keymanager: keystoresToBackup, err = km.ExtractKeystores(ctx, pubKeys, req.BackupPassword) @@ -173,6 +173,9 @@ func (s *Server) DeleteAccounts( if err != nil { return nil, err } + if s.wallet.KeymanagerKind() != keymanager.Local && s.wallet.KeymanagerKind() != keymanager.Derived { + return nil, status.Error(codes.FailedPrecondition, "Only Imported or Derived wallets can delete accounts") + } if err := accounts.DeleteAccount(ctx, &accounts.Config{ Wallet: s.wallet, Keymanager: km, diff --git a/validator/rpc/slashing_test.go b/validator/rpc/slashing_test.go index 38bb428edd..3a980ac4ca 100644 --- a/validator/rpc/slashing_test.go +++ b/validator/rpc/slashing_test.go @@ -37,7 +37,7 @@ func TestImportSlashingProtection_Preconditions(t *testing.T) { w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: defaultWalletPath, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: strongPass, }, SkipMnemonicConfirm: true, diff --git a/validator/rpc/wallet.go b/validator/rpc/wallet.go index 1b7f3aa214..12b93feea7 100644 --- a/validator/rpc/wallet.go +++ b/validator/rpc/wallet.go @@ -69,7 +69,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest) _, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: req.WalletPassword, }, SkipMnemonicConfirm: true, @@ -79,7 +79,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest) } if err := s.initializeWallet(ctx, &wallet.Config{ WalletDir: walletDir, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: req.WalletPassword, }); err != nil { return nil, err @@ -126,7 +126,7 @@ func (s *Server) WalletConfig(_ context.Context, _ *empty.Empty) (*pb.WalletResp switch s.wallet.KeymanagerKind() { case keymanager.Derived: keymanagerKind = pb.KeymanagerKind_DERIVED - case keymanager.Imported: + case keymanager.Local: keymanagerKind = pb.KeymanagerKind_IMPORTED case keymanager.Remote: keymanagerKind = pb.KeymanagerKind_REMOTE diff --git a/validator/rpc/wallet_test.go b/validator/rpc/wallet_test.go index ece7dbd4f8..71d2e718ab 100644 --- a/validator/rpc/wallet_test.go +++ b/validator/rpc/wallet_test.go @@ -24,14 +24,14 @@ import ( "github.com/prysmaticlabs/prysm/validator/accounts/wallet" "github.com/prysmaticlabs/prysm/validator/client" "github.com/prysmaticlabs/prysm/validator/keymanager" - "github.com/prysmaticlabs/prysm/validator/keymanager/imported" + "github.com/prysmaticlabs/prysm/validator/keymanager/local" "github.com/tyler-smith/go-bip39" keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4" ) const strongPass = "29384283xasjasd32%%&*@*#*" -func TestServer_CreateWallet_Imported(t *testing.T) { +func TestServer_CreateWallet_Local(t *testing.T) { ctx := context.Background() localWalletDir := setupWalletDir(t) defaultWalletPath = localWalletDir @@ -101,7 +101,7 @@ func TestServer_CreateWallet_Imported(t *testing.T) { require.NoError(t, err) } -func TestServer_CreateWallet_Imported_PasswordTooWeak(t *testing.T) { +func TestServer_CreateWallet_Local_PasswordTooWeak(t *testing.T) { localWalletDir := setupWalletDir(t) defaultWalletPath = localWalletDir ctx := context.Background() @@ -313,7 +313,7 @@ func TestServer_WalletConfig(t *testing.T) { w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: defaultWalletPath, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: strongPass, }, SkipMnemonicConfirm: true, @@ -346,7 +346,7 @@ func TestServer_ImportAccounts_FailedPreconditions(t *testing.T) { w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: defaultWalletPath, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: strongPass, }, SkipMnemonicConfirm: true, @@ -381,14 +381,14 @@ func TestServer_ImportAccounts_FailedPreconditions(t *testing.T) { } func TestServer_ImportAccounts_OK(t *testing.T) { - imported.ResetCaches() + local.ResetCaches() localWalletDir := setupWalletDir(t) defaultWalletPath = localWalletDir ctx := context.Background() w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: defaultWalletPath, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: strongPass, }, SkipMnemonicConfirm: true, @@ -490,7 +490,7 @@ func createImportedWalletWithAccounts(t testing.TB, numAccounts int) (*Server, [ w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{ WalletCfg: &wallet.Config{ WalletDir: defaultWalletPath, - KeymanagerKind: keymanager.Imported, + KeymanagerKind: keymanager.Local, WalletPassword: strongPass, }, SkipMnemonicConfirm: true,