Rename Accounts-V2 to Accounts (#7545)

* rename accounts v2

* rename keymanager and fix imports

* rename accounts-v2 instances

* imports

* build

* build fix

* deepsource

* fix up broken aliases

* imports

* gaz

* Update validator/accounts/accounts_import_test.go

Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>

* fmt

Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
This commit is contained in:
Raul Jordan
2020-10-15 17:31:52 -05:00
committed by GitHub
parent 7aaefd123e
commit a81c863ddb
86 changed files with 532 additions and 546 deletions

View File

@@ -11,7 +11,7 @@ go_library(
"//shared/fileutil:go_default_library",
"//shared/params:go_default_library",
"//shared/promptutil:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_logrusorgru_aurora//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
@@ -36,7 +36,7 @@ go_test(
"//shared/testutil:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
"@com_github_wealdtech_go_eth2_wallet_encryptor_keystorev4//:go_default_library",

View File

@@ -21,7 +21,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/promptutil"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/urfave/cli/v2"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -198,7 +198,7 @@ func encrypt(cliCtx *cli.Context) error {
if err != nil {
return errors.Wrap(err, "could not encrypt into new keystore")
}
item := &v2keymanager.Keystore{
item := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),
@@ -230,7 +230,7 @@ func readAndDecryptKeystore(fullPath, password string) error {
return errors.Wrapf(err, "could not read file at path: %s", fullPath)
}
decryptor := keystorev4.New()
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
if err := json.Unmarshal(file, keystoreFile); err != nil {
return errors.Wrap(err, "could not JSON unmarshal keystore file")

View File

@@ -18,7 +18,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/urfave/cli/v2"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -47,7 +47,7 @@ func setupCliContext(
return cli.NewContext(&app, set, nil)
}
func createRandomKeystore(t testing.TB, password string) (*v2keymanager.Keystore, bls.SecretKey) {
func createRandomKeystore(t testing.TB, password string) (*keymanager.Keystore, bls.SecretKey) {
encryptor := keystorev4.New()
id, err := uuid.NewRandom()
require.NoError(t, err)
@@ -55,7 +55,7 @@ func createRandomKeystore(t testing.TB, password string) (*v2keymanager.Keystore
pubKey := validatingKey.PublicKey().Marshal()
cryptoFields, err := encryptor.Encrypt(validatingKey.Marshal(), password)
require.NoError(t, err)
return &v2keymanager.Keystore{
return &keymanager.Keystore{
Crypto: cryptoFields,
Pubkey: fmt.Sprintf("%x", pubKey),
ID: id.String(),

View File

@@ -22,7 +22,7 @@ go_library(
"//shared/maxprocs:go_default_library",
"//shared/tos:go_default_library",
"//shared/version:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts:go_default_library",
"//validator/flags:go_default_library",
"//validator/node:go_default_library",
"@com_github_joonix_log//:go_default_library",
@@ -60,7 +60,7 @@ go_image(
"//shared/logutil:go_default_library",
"//shared/params:go_default_library",
"//shared/version:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts:go_default_library",
"//validator/client:go_default_library",
"//validator/flags:go_default_library",
"//validator/node:go_default_library",

View File

@@ -18,7 +18,7 @@ go_library(
"wallet_edit.go",
"wallet_recover.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/v2",
importpath = "github.com/prysmaticlabs/prysm/validator/accounts",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
@@ -33,14 +33,14 @@ go_library(
"//shared/params:go_default_library",
"//shared/petnames:go_default_library",
"//shared/promptutil:go_default_library",
"//validator/accounts/v2/prompt:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts/prompt:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/client:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager/v2/remote:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/keymanager/remote:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_logrusorgru_aurora//:go_default_library",
"@com_github_manifoldco_promptui//:go_default_library",
@@ -82,12 +82,12 @@ go_test(
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//shared/timeutils:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager/v2/remote:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/keymanager/remote:go_default_library",
"@com_github_gogo_protobuf//types:go_default_library",
"@com_github_golang_mock//gomock:go_default_library",
"@com_github_google_uuid//:go_default_library",

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"archive/zip"
@@ -17,12 +17,12 @@ import (
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/urfave/cli/v2"
)
@@ -42,22 +42,22 @@ const (
func BackupAccountsCli(cliCtx *cli.Context) error {
w, err := wallet.OpenWalletOrElseCli(cliCtx, func(cliCtx *cli.Context) (*wallet.Wallet, error) {
return nil, errors.New(
"no wallet found, nothing to backup. Create a new wallet by running wallet-v2 create",
"no wallet found, nothing to backup. Create a new wallet by running wallet create",
)
})
if err != nil {
return errors.Wrap(err, "could not initialize wallet")
}
if w.KeymanagerKind() == v2keymanager.Remote {
if w.KeymanagerKind() == keymanager.Remote {
return errors.New(
"remote wallets cannot backup accounts",
)
}
keymanager, err := w.InitializeKeymanager(cliCtx.Context, true /* skip mnemonic confirm */)
km, err := w.InitializeKeymanager(cliCtx.Context, true /* skip mnemonic confirm */)
if err != nil {
return errors.Wrap(err, "could not initialize keymanager")
}
pubKeys, err := keymanager.FetchValidatingPublicKeys(cliCtx.Context)
pubKeys, err := km.FetchValidatingPublicKeys(cliCtx.Context)
if err != nil {
return errors.Wrap(err, "could not fetch validating public keys")
}
@@ -93,10 +93,10 @@ func BackupAccountsCli(cliCtx *cli.Context) error {
return errors.Wrap(err, "could not determine password for backed up accounts")
}
var keystoresToBackup []*v2keymanager.Keystore
var keystoresToBackup []*keymanager.Keystore
switch w.KeymanagerKind() {
case v2keymanager.Direct:
km, ok := keymanager.(*direct.Keymanager)
case keymanager.Direct:
km, ok := km.(*direct.Keymanager)
if !ok {
return errors.New("could not assert keymanager interface to concrete type")
}
@@ -104,8 +104,8 @@ func BackupAccountsCli(cliCtx *cli.Context) error {
if err != nil {
return errors.Wrap(err, "could not backup accounts for direct keymanager")
}
case v2keymanager.Derived:
km, ok := keymanager.(*derived.Keymanager)
case keymanager.Derived:
km, ok := km.(*derived.Keymanager)
if !ok {
return errors.New("could not assert keymanager interface to concrete type")
}
@@ -113,7 +113,7 @@ func BackupAccountsCli(cliCtx *cli.Context) error {
if err != nil {
return errors.Wrap(err, "could not backup accounts for derived keymanager")
}
case v2keymanager.Remote:
case keymanager.Remote:
return errors.New("backing up keys is not supported for a remote keymanager")
default:
return errors.New("keymanager kind not supported")
@@ -199,7 +199,7 @@ func selectAccounts(selectionPrompt string, pubKeys [][48]byte) ([]bls.PublicKey
// Zips a list of keystore into respective EIP-2335 keystore.json files and
// writes their zipped format into the specified output directory.
func zipKeystoresToOutputDir(keystoresToBackup []*v2keymanager.Keystore, outputDir string) error {
func zipKeystoresToOutputDir(keystoresToBackup []*keymanager.Keystore, outputDir string) error {
if len(keystoresToBackup) == 0 {
return errors.New("nothing to backup")
}

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"archive/zip"
@@ -20,8 +20,8 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
)
func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
@@ -52,7 +52,7 @@ func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
// Wallet configuration flags.
walletDir: walletDir,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
walletPasswordFile: passwordFilePath,
// Flags required for BackupAccounts to work.
backupPasswordFile: backupPasswordFile,
@@ -61,7 +61,7 @@ func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: password,
},
})
@@ -74,14 +74,14 @@ func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
})
require.NoError(t, err)
keymanager, err := w.InitializeKeymanager(
km, err := w.InitializeKeymanager(
cliCtx.Context,
true, /* skip mnemonic confirm */
)
require.NoError(t, err)
// Obtain the public keys of the accounts we created
pubkeys, err := keymanager.FetchValidatingPublicKeys(cliCtx.Context)
pubkeys, err := km.FetchValidatingPublicKeys(cliCtx.Context)
require.NoError(t, err)
var generatedPubKeys []string
for _, pubkey := range pubkeys {
@@ -95,7 +95,7 @@ func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
cliCtx = setupWalletCtx(t, &testWalletConfig{
// Wallet configuration flags.
walletDir: walletDir,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
walletPasswordFile: passwordFilePath,
// Flags required for BackupAccounts to work.
backupPublicKeys: backupPublicKeys,
@@ -129,7 +129,7 @@ func TestBackupAccounts_Noninteractive_Derived(t *testing.T) {
require.NoError(t, err)
encodedBytes, err := ioutil.ReadAll(ff)
require.NoError(t, err)
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedBytes, keystoreFile))
require.NoError(t, ff.Close())
unzippedPublicKeys[i] = keystoreFile.Pubkey
@@ -176,7 +176,7 @@ func TestBackupAccounts_Noninteractive_Direct(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
// Wallet configuration flags.
walletDir: walletDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
// Flags required for ImportAccounts to work.
@@ -189,7 +189,7 @@ func TestBackupAccounts_Noninteractive_Direct(t *testing.T) {
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})
@@ -226,7 +226,7 @@ func TestBackupAccounts_Noninteractive_Direct(t *testing.T) {
require.NoError(t, err)
encodedBytes, err := ioutil.ReadAll(ff)
require.NoError(t, err)
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedBytes, keystoreFile))
require.NoError(t, ff.Close())
unzippedPublicKeys[i] = keystoreFile.Pubkey

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -9,16 +9,16 @@ import (
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
pb "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
)
var log = logrus.WithField("prefix", "accounts-v2")
var log = logrus.WithField("prefix", "accounts")
// CreateAccountConfig to run the create account function.
type CreateAccountConfig struct {
@@ -45,7 +45,7 @@ func CreateAccountCli(cliCtx *cli.Context) error {
// CreateAccount creates a new validator account from user input by opening
// a wallet from the user's specified path.
func CreateAccount(ctx context.Context, cfg *CreateAccountConfig) error {
keymanager, err := cfg.Wallet.InitializeKeymanager(ctx, false /* skip mnemonic confirm */)
km, err := cfg.Wallet.InitializeKeymanager(ctx, false /* skip mnemonic confirm */)
if err != nil && strings.Contains(err.Error(), "invalid checksum") {
return errors.New("wrong wallet password entered")
}
@@ -53,10 +53,10 @@ func CreateAccount(ctx context.Context, cfg *CreateAccountConfig) error {
return errors.Wrap(err, "could not initialize keymanager")
}
switch cfg.Wallet.KeymanagerKind() {
case v2keymanager.Remote:
case keymanager.Remote:
return errors.New("cannot create a new account for a remote keymanager")
case v2keymanager.Direct:
km, ok := keymanager.(*direct.Keymanager)
case keymanager.Direct:
km, ok := km.(*direct.Keymanager)
if !ok {
return errors.New("not a direct keymanager")
}
@@ -64,8 +64,8 @@ func CreateAccount(ctx context.Context, cfg *CreateAccountConfig) error {
if _, _, err := km.CreateAccount(ctx); err != nil {
return errors.Wrap(err, "could not create account in wallet")
}
case v2keymanager.Derived:
km, ok := keymanager.(*derived.Keymanager)
case keymanager.Derived:
km, ok := km.(*derived.Keymanager)
if !ok {
return errors.New("not a derived keymanager")
}
@@ -81,7 +81,7 @@ func CreateAccount(ctx context.Context, cfg *CreateAccountConfig) error {
}
}
log.Infof(
"Successfully created %d accounts. Please use accounts-v2 list to view details for accounts %d through %d",
"Successfully created %d accounts. Please use accounts list to view details for accounts %d through %d",
cfg.NumAccounts,
startNum,
startNum+uint64(cfg.NumAccounts)-1,

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -13,9 +13,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
logTest "github.com/sirupsen/logrus/hooks/test"
)
@@ -27,7 +27,7 @@ func TestCreateAccount_Derived(t *testing.T) {
passwordsDir: passwordsDir,
walletPasswordFile: passwordFile,
accountPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
numAccounts: numAccounts,
})
@@ -90,7 +90,7 @@ func Test_KeysConsistency_Direct(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
passwordsDir: passwordsDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: walletPasswordFile,
})

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -9,18 +9,18 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/urfave/cli/v2"
)
// DeleteAccountConfig specifies parameters to run the delete account function.
type DeleteAccountConfig struct {
Wallet *wallet.Wallet
Keymanager v2keymanager.IKeymanager
Keymanager keymanager.IKeymanager
PublicKeys [][]byte
}
@@ -107,9 +107,9 @@ func DeleteAccountCli(cliCtx *cli.Context) error {
// DeleteAccount deletes the accounts that the user requests to be deleted from the wallet.
func DeleteAccount(ctx context.Context, cfg *DeleteAccountConfig) error {
switch cfg.Wallet.KeymanagerKind() {
case v2keymanager.Remote:
case keymanager.Remote:
return errors.New("cannot delete accounts for a remote keymanager")
case v2keymanager.Direct:
case keymanager.Direct:
km, ok := cfg.Keymanager.(*direct.Keymanager)
if !ok {
return errors.New("not a direct keymanager")
@@ -122,7 +122,7 @@ func DeleteAccount(ctx context.Context, cfg *DeleteAccountConfig) error {
if err := km.DeleteAccounts(ctx, cfg.PublicKeys); err != nil {
return errors.Wrap(err, "could not delete accounts")
}
case v2keymanager.Derived:
case keymanager.Derived:
return errors.New("cannot delete accounts for a derived keymanager")
default:
return fmt.Errorf("keymanager kind %s not supported", cfg.Wallet.KeymanagerKind())

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"crypto/rand"
@@ -15,9 +15,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
keymanager "github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
)
func TestDeleteAccounts_Noninteractive(t *testing.T) {
@@ -43,7 +43,7 @@ func TestDeleteAccounts_Noninteractive(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
// Wallet configuration flags.
walletDir: walletDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
// Flags required for ImportAccounts to work.
@@ -54,7 +54,7 @@ func TestDeleteAccounts_Noninteractive(t *testing.T) {
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"bytes"
@@ -11,11 +11,11 @@ import (
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/client"
"github.com/prysmaticlabs/prysm/validator/flags"
v2 "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/urfave/cli/v2"
"google.golang.org/grpc"
)
@@ -23,7 +23,7 @@ import (
type performExitCfg struct {
validatorClient ethpb.BeaconNodeValidatorClient
nodeClient ethpb.NodeClient
keymanager v2.IKeymanager
keymanager keymanager.IKeymanager
rawPubKeys [][]byte
formattedPubKeys []string
}
@@ -73,7 +73,7 @@ func ExitAccountsCli(cliCtx *cli.Context, r io.Reader) error {
return nil
}
func prepareWallet(cliCtx *cli.Context) ([][48]byte, v2.IKeymanager, error) {
func prepareWallet(cliCtx *cli.Context) ([][48]byte, keymanager.IKeymanager, error) {
w, err := wallet.OpenWalletOrElseCli(cliCtx, func(cliCtx *cli.Context) (*wallet.Wallet, error) {
return nil, errors.New(
"no wallet found, no accounts to exit",

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"bytes"
@@ -17,9 +17,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
)
func TestExitAccountsCli_Ok(t *testing.T) {
@@ -64,7 +64,7 @@ func TestExitAccountsCli_Ok(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
// Wallet configuration flags.
walletDir: walletDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
// Flag required for ImportAccounts to work.
@@ -75,7 +75,7 @@ func TestExitAccountsCli_Ok(t *testing.T) {
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})
@@ -115,14 +115,14 @@ func TestPrepareWallet_EmptyWalletReturnsError(t *testing.T) {
walletDir, _, passwordFilePath := setupWalletAndPasswordsDir(t)
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
})
_, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: "Passwordz0320$",
},
})

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"encoding/hex"

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -18,11 +18,11 @@ import (
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/urfave/cli/v2"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -68,7 +68,7 @@ func (fileNames byDerivationPath) Swap(i, j int) {
// ImportAccountsConfig defines values to run the import accounts function.
type ImportAccountsConfig struct {
Keystores []*v2keymanager.Keystore
Keystores []*keymanager.Keystore
Keymanager *direct.Keymanager
AccountPassword string
}
@@ -78,7 +78,7 @@ type ImportAccountsConfig struct {
// values necessary to run the function.
func ImportAccountsCli(cliCtx *cli.Context) error {
w, err := wallet.OpenWalletOrElseCli(cliCtx, func(cliCtx *cli.Context) (*wallet.Wallet, error) {
cfg, err := extractWalletCreationConfigFromCli(cliCtx, v2keymanager.Direct)
cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Direct)
if err != nil {
return nil, err
}
@@ -107,7 +107,7 @@ func ImportAccountsCli(cliCtx *cli.Context) error {
if err != nil {
return err
}
keymanager, ok := km.(*direct.Keymanager)
k, ok := km.(*direct.Keymanager)
if !ok {
return errors.Wrap(err, "Only non-HD wallets can import keystores")
}
@@ -115,7 +115,7 @@ func ImportAccountsCli(cliCtx *cli.Context) error {
// Check if the user wishes to import a one-off, private key directly
// as an account into the Prysm validator.
if cliCtx.IsSet(flags.ImportPrivateKeyFileFlag.Name) {
return importPrivateKeyAsAccount(cliCtx, w, keymanager)
return importPrivateKeyAsAccount(cliCtx, w, k)
}
keysDir, err := prompt.InputDirectory(cliCtx, prompt.ImportKeysDirPromptText, flags.KeysDirFlag)
@@ -127,7 +127,7 @@ func ImportAccountsCli(cliCtx *cli.Context) error {
if err != nil {
return errors.Wrap(err, "could not determine if path is a directory")
}
keystoresImported := make([]*v2keymanager.Keystore, 0)
keystoresImported := make([]*keymanager.Keystore, 0)
if isDir {
files, err := ioutil.ReadDir(keysDir)
if err != nil {
@@ -181,14 +181,14 @@ func ImportAccountsCli(cliCtx *cli.Context) error {
}
fmt.Println("Importing accounts, this may take a while...")
if err := ImportAccounts(cliCtx.Context, &ImportAccountsConfig{
Keymanager: keymanager,
Keymanager: k,
Keystores: keystoresImported,
AccountPassword: accountsPassword,
}); err != nil {
return err
}
fmt.Printf(
"Successfully imported %s accounts, view all of them by running accounts-v2 list\n",
"Successfully imported %s accounts, view all of them by running accounts list\n",
au.BrightMagenta(strconv.Itoa(len(keystoresImported))),
)
return nil
@@ -206,7 +206,7 @@ func ImportAccounts(ctx context.Context, cfg *ImportAccountsConfig) error {
// Imports a one-off file containing a private key as a hex string into
// the Prysm validator's accounts.
func importPrivateKeyAsAccount(cliCtx *cli.Context, wallet *wallet.Wallet, keymanager *direct.Keymanager) error {
func importPrivateKeyAsAccount(cliCtx *cli.Context, wallet *wallet.Wallet, km *direct.Keymanager) error {
privKeyFile := cliCtx.String(flags.ImportPrivateKeyFileFlag.Name)
fullPath, err := fileutil.ExpandPath(privKeyFile)
if err != nil {
@@ -240,26 +240,26 @@ func importPrivateKeyAsAccount(cliCtx *cli.Context, wallet *wallet.Wallet, keyma
if err := ImportAccounts(
cliCtx.Context,
&ImportAccountsConfig{
Keymanager: keymanager,
Keymanager: km,
AccountPassword: wallet.Password(),
Keystores: []*v2keymanager.Keystore{keystore},
Keystores: []*keymanager.Keystore{keystore},
},
); err != nil {
return errors.Wrap(err, "could not import keystore into wallet")
}
fmt.Printf(
"Imported account with public key %#x, view all accounts by running accounts-v2 list\n",
"Imported account with public key %#x, view all accounts by running accounts list\n",
au.BrightMagenta(bytesutil.Trunc(privKey.PublicKey().Marshal())),
)
return nil
}
func readKeystoreFile(_ context.Context, keystoreFilePath string) (*v2keymanager.Keystore, error) {
func readKeystoreFile(_ context.Context, keystoreFilePath string) (*keymanager.Keystore, error) {
keystoreBytes, err := ioutil.ReadFile(keystoreFilePath)
if err != nil {
return nil, errors.Wrap(err, "could not read keystore file")
}
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
if err := json.Unmarshal(keystoreBytes, keystoreFile); err != nil {
return nil, errors.Wrap(err, "could not decode keystore json")
}
@@ -269,7 +269,7 @@ func readKeystoreFile(_ context.Context, keystoreFilePath string) (*v2keymanager
return keystoreFile, nil
}
func createKeystoreFromPrivateKey(privKey bls.SecretKey, walletPassword string) (*v2keymanager.Keystore, error) {
func createKeystoreFromPrivateKey(privKey bls.SecretKey, walletPassword string) (*keymanager.Keystore, error) {
encryptor := keystorev4.New()
id, err := uuid.NewRandom()
if err != nil {
@@ -283,7 +283,7 @@ func createKeystoreFromPrivateKey(privKey bls.SecretKey, walletPassword string)
privKey.PublicKey().Marshal(),
)
}
return &v2keymanager.Keystore{
return &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -21,9 +21,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/shared/timeutils"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -42,14 +42,14 @@ func TestImport_Noninteractive(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
keysDir: keysDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})
@@ -104,14 +104,14 @@ func TestImport_Noninteractive_RandomName(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
keysDir: keysDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})
@@ -167,14 +167,14 @@ func TestImport_Noninteractive_Filepath(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
keysDir: keystorePath,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
accountPasswordFile: passwordFilePath,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: password,
},
})
@@ -293,7 +293,7 @@ func Test_importPrivateKeyAsAccount(t *testing.T) {
// We instantiate a new wallet from a cli context.
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: passwordFilePath,
privateKeyFile: privKeyFileName,
})
@@ -301,7 +301,7 @@ func Test_importPrivateKeyAsAccount(t *testing.T) {
wallet, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: walletPass,
},
})
@@ -333,14 +333,14 @@ func Test_importPrivateKeyAsAccount(t *testing.T) {
}
// Returns the fullPath to the newly created keystore file.
func createKeystore(t *testing.T, path string) (*v2keymanager.Keystore, string) {
func createKeystore(t *testing.T, path string) (*keymanager.Keystore, string) {
validatingKey := bls.RandKey()
encryptor := keystorev4.New()
cryptoFields, err := encryptor.Encrypt(validatingKey.Marshal(), password)
require.NoError(t, err)
id, err := uuid.NewRandom()
require.NoError(t, err)
keystoreFile := &v2keymanager.Keystore{
keystoreFile := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Pubkey: fmt.Sprintf("%x", validatingKey.PublicKey().Marshal()),
@@ -357,14 +357,14 @@ func createKeystore(t *testing.T, path string) (*v2keymanager.Keystore, string)
}
// Returns the fullPath to the newly created keystore file.
func createRandomNameKeystore(t *testing.T, path string) (*v2keymanager.Keystore, string) {
func createRandomNameKeystore(t *testing.T, path string) (*keymanager.Keystore, string) {
validatingKey := bls.RandKey()
encryptor := keystorev4.New()
cryptoFields, err := encryptor.Encrypt(validatingKey.Marshal(), password)
require.NoError(t, err)
id, err := uuid.NewRandom()
require.NoError(t, err)
keystoreFile := &v2keymanager.Keystore{
keystoreFile := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Pubkey: fmt.Sprintf("%x", validatingKey.PublicKey().Marshal()),

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -9,12 +9,12 @@ import (
"github.com/logrusorgru/aurora"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/urfave/cli/v2"
)
@@ -28,7 +28,7 @@ func ListAccountsCli(cliCtx *cli.Context) error {
if err != nil {
return errors.Wrap(err, "could not open wallet")
}
keymanager, err := w.InitializeKeymanager(cliCtx.Context, true /* skip mnemonic confirm */)
km, err := w.InitializeKeymanager(cliCtx.Context, true /* skip mnemonic confirm */)
if err != nil && strings.Contains(err.Error(), "invalid checksum") {
return errors.New("wrong wallet password entered")
}
@@ -38,24 +38,24 @@ func ListAccountsCli(cliCtx *cli.Context) error {
showDepositData := cliCtx.Bool(flags.ShowDepositDataFlag.Name)
showPrivateKeys := cliCtx.Bool(flags.ShowPrivateKeysFlag.Name)
switch w.KeymanagerKind() {
case v2keymanager.Direct:
km, ok := keymanager.(*direct.Keymanager)
case keymanager.Direct:
km, ok := km.(*direct.Keymanager)
if !ok {
return errors.New("could not assert keymanager interface to concrete type")
}
if err := listDirectKeymanagerAccounts(cliCtx.Context, showDepositData, showPrivateKeys, km); err != nil {
return errors.Wrap(err, "could not list validator accounts with direct keymanager")
}
case v2keymanager.Derived:
km, ok := keymanager.(*derived.Keymanager)
case keymanager.Derived:
km, ok := km.(*derived.Keymanager)
if !ok {
return errors.New("could not assert keymanager interface to concrete type")
}
if err := listDerivedKeymanagerAccounts(cliCtx.Context, showDepositData, showPrivateKeys, km); err != nil {
return errors.Wrap(err, "could not list validator accounts with derived keymanager")
}
case v2keymanager.Remote:
km, ok := keymanager.(*remote.Keymanager)
case keymanager.Remote:
km, ok := km.(*remote.Keymanager)
if !ok {
return errors.New("could not assert keymanager interface to concrete type")
}
@@ -70,7 +70,7 @@ func ListAccountsCli(cliCtx *cli.Context) error {
func listDirectKeymanagerAccounts(
ctx context.Context,
showDepositData bool,
showDepositData,
showPrivateKeys bool,
keymanager *direct.Keymanager,
) error {
@@ -89,7 +89,7 @@ func listDirectKeymanagerAccounts(
}
fmt.Println(
au.BrightRed("View the eth1 deposit transaction data for your accounts " +
"by running `validator accounts-v2 list --show-deposit-data"),
"by running `validator accounts list --show-deposit-data"),
)
pubKeys, err := keymanager.FetchValidatingPublicKeys(ctx)
@@ -126,7 +126,7 @@ func listDirectKeymanagerAccounts(
func listDerivedKeymanagerAccounts(
ctx context.Context,
showDepositData bool,
showDepositData,
showPrivateKeys bool,
keymanager *derived.Keymanager,
) error {
@@ -213,7 +213,7 @@ func listDerivedKeymanagerAccounts(
func listRemoteKeymanagerAccounts(
ctx context.Context,
w *wallet.Wallet,
keymanager v2keymanager.IKeymanager,
keymanager keymanager.IKeymanager,
opts *remote.KeymanagerOpts,
) error {
au := aurora.NewAurora(true)

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -15,11 +15,11 @@ import (
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"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/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
)
type mockRemoteKeymanager struct {
@@ -40,13 +40,13 @@ func TestListAccounts_DirectKeymanager(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
passwordsDir: passwordsDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: walletPasswordFile,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: "Passwordz0320$",
},
})
@@ -87,7 +87,7 @@ func TestListAccounts_DirectKeymanager(t *testing.T) {
(keymanager kind) non-HD wallet
Showing 5 validator accounts
View the eth1 deposit transaction data for your accounts by running `validator accounts-v2 list --show-deposit-data
View the eth1 deposit transaction data for your accounts by running `validator accounts list --show-deposit-data
Account 0 | fully-evolving-fawn
[validating public key] 0xa6669aa0381c06470b9a6faf8abf4194ad5148a62e461cbef5a6bc4d292026f58b992c4cf40e50552d301cef19da75b9
@@ -183,13 +183,13 @@ func TestListAccounts_DerivedKeymanager(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
passwordsDir: passwordsDir,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
walletPasswordFile: passwordFilePath,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: "Passwordz0320$",
},
})
@@ -352,12 +352,12 @@ func TestListAccounts_RemoteKeymanager(t *testing.T) {
walletDir, _, _ := setupWalletAndPasswordsDir(t)
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
keymanagerKind: v2keymanager.Remote,
keymanagerKind: keymanager.Remote,
})
w, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Remote,
KeymanagerKind: keymanager.Remote,
WalletPassword: password,
},
})

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"os"
@@ -9,13 +9,12 @@ import (
"github.com/urfave/cli/v2"
)
// AccountCommands for accounts-v2 for Prysm validators.
// AccountCommands for Prysm validators.
var AccountCommands = &cli.Command{
Name: "accounts-v2",
Name: "accounts",
Category: "accounts",
Usage: "defines commands for interacting with eth2 validator accounts (work in progress)",
Subcommands: []*cli.Command{
// AccountCommands for accounts-v2 for Prysm validators.
{
Name: "create",
Description: `creates a new validator account for eth2. If no wallet exists at the given wallet path, creates a new wallet for a user based on

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"github.com/prysmaticlabs/prysm/shared/featureconfig"
@@ -6,10 +6,10 @@ import (
"github.com/urfave/cli/v2"
)
// WalletCommands for accounts-v2 for Prysm validators.
// WalletCommands for accounts for Prysm validators.
var WalletCommands = &cli.Command{
Name: "wallet-v2",
Category: "wallet-v2",
Name: "wallet",
Category: "wallet",
Usage: "defines commands for interacting with eth2 validator wallets (work in progress)",
Subcommands: []*cli.Command{
{

View File

@@ -2,4 +2,4 @@
// practices for user security, UX, and extensibility via different wallet types
// including HD wallets, non-HD wallets, and remote-signing capable configurations. This model
// is compliant with the EIP-2333, EIP-2334, and EIP-2335 standards for key management in eth2.
package v2
package accounts

View File

@@ -3,10 +3,10 @@ load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["wallet.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/v2/iface",
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/iface",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
],
deps = ["//validator/keymanager/v2:go_default_library"],
deps = ["//validator/keymanager:go_default_library"],
)

View File

@@ -4,7 +4,7 @@ import (
"context"
"io"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
)
// Wallet defines a struct which has capabilities and knowledge of how
@@ -22,5 +22,5 @@ type Wallet interface {
WriteFileAtPath(ctx context.Context, pathName string, fileName string, data []byte) error
WriteEncryptedSeedToDisk(ctx context.Context, encoded []byte) error
// Method for initializing a new keymanager.
InitializeKeymanager(ctx context.Context, skipMnemonicConfirm bool) (v2keymanager.IKeymanager, error)
InitializeKeymanager(ctx context.Context, skipMnemonicConfirm bool) (keymanager.IKeymanager, error)
}

View File

@@ -3,13 +3,13 @@ load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["prompt.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt",
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/prompt",
visibility = ["//validator:__subpackages__"],
deps = [
"//shared/fileutil:go_default_library",
"//shared/promptutil:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2/remote:go_default_library",
"//validator/keymanager/remote:go_default_library",
"@com_github_logrusorgru_aurora//:go_default_library",
"@com_github_manifoldco_promptui//:go_default_library",
"@com_github_pkg_errors//:go_default_library",

View File

@@ -11,7 +11,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/flags"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
)

View File

@@ -4,10 +4,10 @@ go_library(
name = "go_default_library",
testonly = 1,
srcs = ["mock.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/v2/testing",
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/testing",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
],
deps = ["//validator/keymanager/v2:go_default_library"],
deps = ["//validator/keymanager:go_default_library"],
)

View File

@@ -9,7 +9,7 @@ import (
"strings"
"sync"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
)
// Wallet contains an in-memory, simulated wallet implementation.
@@ -94,6 +94,6 @@ func (m *Wallet) WriteEncryptedSeedToDisk(_ context.Context, encoded []byte) err
}
// InitializeKeymanager --
func (m *Wallet) InitializeKeymanager(_ context.Context, _ bool) (v2keymanager.IKeymanager, error) {
func (m *Wallet) InitializeKeymanager(_ context.Context, _ bool) (keymanager.IKeymanager, error) {
return nil, nil
}

View File

@@ -4,19 +4,18 @@ load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["wallet.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet",
importpath = "github.com/prysmaticlabs/prysm/validator/accounts/wallet",
visibility = ["//validator:__subpackages__"],
deps = [
"//shared/event:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/params:go_default_library",
"//shared/promptutil:go_default_library",
"//validator/accounts/v2/prompt:go_default_library",
"//validator/accounts/prompt:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager/v2/remote:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/keymanager/remote:go_default_library",
"@com_github_gofrs_flock//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
@@ -35,9 +34,9 @@ go_test(
"//shared/testutil/assert:go_default_library",
"//shared/testutil/assertions:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],

View File

@@ -11,16 +11,15 @@ import (
"github.com/gofrs/flock"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
"golang.org/x/crypto/bcrypt"
@@ -53,13 +52,13 @@ const (
var (
// ErrNoWalletFound signifies there was no wallet directory found on-disk.
ErrNoWalletFound = errors.New(
"no wallet found at path, please create a new wallet using `./prysm.sh validator wallet-v2 create`",
"no wallet found at path, please create a new wallet using `./prysm.sh validator wallet create`",
)
// KeymanagerKindSelections as friendly text.
KeymanagerKindSelections = map[v2keymanager.Kind]string{
v2keymanager.Direct: "Non-HD Wallet (Recommended)",
v2keymanager.Derived: "HD Wallet (Least secure)",
v2keymanager.Remote: "Remote Signing Wallet (Advanced)",
KeymanagerKindSelections = map[keymanager.Kind]string{
keymanager.Direct: "Non-HD Wallet (Recommended)",
keymanager.Derived: "HD Wallet (Least secure)",
keymanager.Remote: "Remote Signing Wallet (Advanced)",
}
// ValidateExistingPass checks that an input cannot be empty.
ValidateExistingPass = func(input string) error {
@@ -73,22 +72,21 @@ var (
// Config to open a wallet programmatically.
type Config struct {
WalletDir string
KeymanagerKind v2keymanager.Kind
KeymanagerKind keymanager.Kind
WalletPassword string
}
// Wallet is a primitive in Prysm's v2 account management which
// Wallet is a primitive in Prysm's account management which
// has the capability of creating new accounts, reading existing accounts,
// and providing secure access to eth2 secrets depending on an
// associated keymanager (either direct, derived, or remote signing enabled).
type Wallet struct {
walletDir string
accountsPath string
configFilePath string
walletPassword string
walletFileLock *flock.Flock
keymanagerKind v2keymanager.Kind
accountsChangedFeed *event.Feed
walletDir string
accountsPath string
configFilePath string
walletPassword string
walletFileLock *flock.Flock
keymanagerKind keymanager.Kind
}
// New creates a struct from config values.
@@ -150,7 +148,7 @@ func IsValid(walletDir string) (bool, error) {
numWalletTypes := 0
for _, name := range names {
// Nil error means input name is `derived`, `remote` or `direct`
_, err = v2keymanager.ParseKind(name)
_, err = keymanager.ParseKind(name)
if err == nil {
numWalletTypes++
}
@@ -254,7 +252,7 @@ func (w *Wallet) SaveWallet() error {
}
// KeymanagerKind used by the wallet.
func (w *Wallet) KeymanagerKind() v2keymanager.Kind {
func (w *Wallet) KeymanagerKind() keymanager.Kind {
return w.keymanagerKind
}
@@ -278,19 +276,19 @@ func (w *Wallet) SetPassword(newPass string) {
func (w *Wallet) InitializeKeymanager(
ctx context.Context,
skipMnemonicConfirm bool,
) (v2keymanager.IKeymanager, error) {
) (keymanager.IKeymanager, error) {
configFile, err := w.ReadKeymanagerConfigFromDisk(ctx)
if err != nil {
return nil, errors.Wrap(err, "could not read keymanager config")
}
var keymanager v2keymanager.IKeymanager
var km keymanager.IKeymanager
switch w.KeymanagerKind() {
case v2keymanager.Direct:
case keymanager.Direct:
opts, err := direct.UnmarshalOptionsFile(configFile)
if err != nil {
return nil, errors.Wrap(err, "could not unmarshal keymanageropts file")
}
keymanager, err = direct.NewKeymanager(ctx, &direct.SetupConfig{
km, err = direct.NewKeymanager(ctx, &direct.SetupConfig{
Wallet: w,
Opts: opts,
})
@@ -298,23 +296,23 @@ func (w *Wallet) InitializeKeymanager(
return nil, errors.Wrap(err, "could not initialize direct keymanager")
}
if !fileutil.FileExists(filepath.Join(w.walletDir, HashedPasswordFileName)) {
keys, err := keymanager.FetchValidatingPublicKeys(ctx)
keys, err := km.FetchValidatingPublicKeys(ctx)
if err != nil {
return nil, err
}
if len(keys) == 0 {
return nil, errors.New("please recreate your wallet with wallet-v2 create")
return nil, errors.New("please recreate your wallet with wallet create")
}
if err := w.SaveHashedPassword(ctx); err != nil {
return nil, errors.Wrap(err, "could not save hashed password to disk")
}
}
case v2keymanager.Derived:
case keymanager.Derived:
opts, err := derived.UnmarshalOptionsFile(configFile)
if err != nil {
return nil, errors.Wrap(err, "could not unmarshal keymanager config file")
}
keymanager, err = derived.NewKeymanager(ctx, &derived.SetupConfig{
km, err = derived.NewKeymanager(ctx, &derived.SetupConfig{
Opts: opts,
Wallet: w,
SkipMnemonicConfirm: skipMnemonicConfirm,
@@ -327,12 +325,12 @@ func (w *Wallet) InitializeKeymanager(
return nil, errors.Wrap(err, "could not save hashed password to disk")
}
}
case v2keymanager.Remote:
case keymanager.Remote:
opts, err := remote.UnmarshalOptionsFile(configFile)
if err != nil {
return nil, errors.Wrap(err, "could not unmarshal keymanager config file")
}
keymanager, err = remote.NewKeymanager(ctx, &remote.SetupConfig{
km, err = remote.NewKeymanager(ctx, &remote.SetupConfig{
Opts: opts,
MaxMessageSize: 100000000,
})
@@ -342,7 +340,7 @@ func (w *Wallet) InitializeKeymanager(
default:
return nil, fmt.Errorf("keymanager kind not supported: %s", w.keymanagerKind)
}
return keymanager, nil
return km, nil
}
// WriteFileAtPath within the wallet directory given the desired path, filename, and raw data.
@@ -486,7 +484,7 @@ func (w *Wallet) SaveHashedPassword(_ context.Context) error {
return nil
}
func readKeymanagerKindFromWalletPath(walletPath string) (v2keymanager.Kind, error) {
func readKeymanagerKindFromWalletPath(walletPath string) (keymanager.Kind, error) {
walletItem, err := os.Open(walletPath)
if err != nil {
return 0, err
@@ -503,7 +501,7 @@ func readKeymanagerKindFromWalletPath(walletPath string) (v2keymanager.Kind, err
return 0, fmt.Errorf("could not read files in directory: %s", walletPath)
}
for _, n := range list {
keymanagerKind, err := v2keymanager.ParseKind(n)
keymanagerKind, err := keymanager.ParseKind(n)
if err == nil {
return keymanagerKind, nil
}

View File

@@ -16,10 +16,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/assertions"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/sirupsen/logrus"
"github.com/urfave/cli/v2"
)
@@ -48,7 +48,7 @@ type testWalletConfig struct {
privateKeyFile string
skipDepositConfirm bool
numAccounts int64
keymanagerKind v2keymanager.Kind
keymanagerKind keymanager.Kind
}
func setupWalletCtx(
@@ -159,12 +159,12 @@ func Test_LockUnlockFile(t *testing.T) {
passwordsDir: passwordsDir,
walletPasswordFile: passwordFile,
accountPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
numAccounts: numAccounts,
})
// We attempt to create the wallet.
_, err := v2.CreateAndSaveWalletCli(cliCtx)
_, err := accounts.CreateAndSaveWalletCli(cliCtx)
require.NoError(t, err)
// We attempt to open the newly created wallet.

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -7,13 +7,13 @@ import (
"github.com/manifoldco/promptui"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/urfave/cli/v2"
)
@@ -67,23 +67,23 @@ func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (*
})
var err error
switch w.KeymanagerKind() {
case v2keymanager.Direct:
case keymanager.Direct:
if err = createDirectKeymanagerWallet(ctx, w); err != nil {
return nil, errors.Wrap(err, "could not initialize wallet with direct keymanager")
}
log.WithField("--wallet-dir", cfg.WalletCfg.WalletDir).Info(
"Successfully created wallet with on-disk keymanager configuration. " +
"Make a new validator account with ./prysm.sh validator accounts-v2 create",
"Make a new validator account with ./prysm.sh validator accounts create",
)
case v2keymanager.Derived:
case keymanager.Derived:
if err = createDerivedKeymanagerWallet(ctx, w, cfg.SkipMnemonicConfirm); err != nil {
return nil, errors.Wrap(err, "could not initialize wallet with derived keymanager")
}
log.WithField("--wallet-dir", cfg.WalletCfg.WalletDir).Info(
"Successfully created HD wallet and saved configuration to disk. " +
"Make a new validator account with ./prysm.sh validator accounts-2 create",
"Make a new validator account with ./prysm.sh validator accounts create",
)
case v2keymanager.Remote:
case keymanager.Remote:
if err = createRemoteKeymanagerWallet(ctx, w, cfg.RemoteKeymanagerOpts); err != nil {
return nil, errors.Wrap(err, "could not initialize wallet with remote keymanager")
}
@@ -96,11 +96,11 @@ func CreateWalletWithKeymanager(ctx context.Context, cfg *CreateWalletConfig) (*
return w, nil
}
func extractKeymanagerKindFromCli(cliCtx *cli.Context) (v2keymanager.Kind, error) {
func extractKeymanagerKindFromCli(cliCtx *cli.Context) (keymanager.Kind, error) {
return inputKeymanagerKind(cliCtx)
}
func extractWalletCreationConfigFromCli(cliCtx *cli.Context, keymanagerKind v2keymanager.Kind) (*CreateWalletConfig, error) {
func extractWalletCreationConfigFromCli(cliCtx *cli.Context, keymanagerKind keymanager.Kind) (*CreateWalletConfig, error) {
walletDir, err := prompt.InputDirectory(cliCtx, prompt.WalletDirPromptText, flags.WalletDirFlag)
if err != nil {
return nil, err
@@ -125,7 +125,7 @@ func extractWalletCreationConfigFromCli(cliCtx *cli.Context, keymanagerKind v2ke
SkipMnemonicConfirm: cliCtx.Bool(flags.SkipDepositConfirmationFlag.Name),
}
if keymanagerKind == v2keymanager.Remote {
if keymanagerKind == keymanager.Remote {
opts, err := prompt.InputRemoteKeymanagerConfig(cliCtx)
if err != nil {
return nil, errors.Wrap(err, "could not input remote keymanager config")
@@ -185,21 +185,21 @@ func createRemoteKeymanagerWallet(ctx context.Context, wallet *wallet.Wallet, op
return nil
}
func inputKeymanagerKind(cliCtx *cli.Context) (v2keymanager.Kind, error) {
func inputKeymanagerKind(cliCtx *cli.Context) (keymanager.Kind, error) {
if cliCtx.IsSet(flags.KeymanagerKindFlag.Name) {
return v2keymanager.ParseKind(cliCtx.String(flags.KeymanagerKindFlag.Name))
return keymanager.ParseKind(cliCtx.String(flags.KeymanagerKindFlag.Name))
}
promptSelect := promptui.Select{
Label: "Select a type of wallet",
Items: []string{
wallet.KeymanagerKindSelections[v2keymanager.Direct],
wallet.KeymanagerKindSelections[v2keymanager.Derived],
wallet.KeymanagerKindSelections[v2keymanager.Remote],
wallet.KeymanagerKindSelections[keymanager.Direct],
wallet.KeymanagerKindSelections[keymanager.Derived],
wallet.KeymanagerKindSelections[keymanager.Remote],
},
}
selection, _, err := promptSelect.Run()
if err != nil {
return v2keymanager.Direct, fmt.Errorf("could not select wallet type: %v", prompt.FormatPromptError(err))
return keymanager.Direct, fmt.Errorf("could not select wallet type: %v", prompt.FormatPromptError(err))
}
return v2keymanager.Kind(selection), nil
return keymanager.Kind(selection), nil
}

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -17,12 +17,12 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/sirupsen/logrus"
logTest "github.com/sirupsen/logrus/hooks/test"
"github.com/urfave/cli/v2"
@@ -56,7 +56,7 @@ type testWalletConfig struct {
privateKeyFile string
skipDepositConfirm bool
numAccounts int64
keymanagerKind v2keymanager.Kind
keymanagerKind keymanager.Kind
}
func setupWalletCtx(
@@ -122,11 +122,11 @@ func TestCreateOrOpenWallet(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
passwordsDir: passwordsDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: walletPasswordFile,
})
createDirectWallet := func(cliCtx *cli.Context) (*wallet.Wallet, error) {
cfg, err := extractWalletCreationConfigFromCli(cliCtx, v2keymanager.Direct)
cfg, err := extractWalletCreationConfigFromCli(cliCtx, keymanager.Direct)
if err != nil {
return nil, err
}
@@ -158,7 +158,7 @@ func TestCreateWallet_Direct(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
passwordsDir: passwordsDir,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
walletPasswordFile: walletPasswordFile,
})
@@ -189,7 +189,7 @@ func TestCreateWallet_Derived(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
walletPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
})
// We attempt to create the wallet.
@@ -220,7 +220,7 @@ func TestCreateWallet_WalletAlreadyExists(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
walletPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
})
// We attempt to create the wallet.
@@ -235,7 +235,7 @@ func TestCreateWallet_WalletAlreadyExists(t *testing.T) {
walletDir: walletDir,
passwordsDir: passwordsDir,
walletPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Direct,
keymanagerKind: keymanager.Direct,
})
// We attempt to create another wallet of different type at the same location. We expect an error.
@@ -254,7 +254,7 @@ func TestCorrectPassphrase_Derived(t *testing.T) {
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
walletPasswordFile: passwordFile,
keymanagerKind: v2keymanager.Derived,
keymanagerKind: keymanager.Derived,
skipDepositConfirm: true,
})
@@ -264,7 +264,7 @@ func TestCorrectPassphrase_Derived(t *testing.T) {
w := wallet.New(&wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
})
seedConfigFile, err := w.ReadEncryptedSeedFromDisk(cliCtx.Context)

View File

@@ -1,13 +1,13 @@
package v2
package accounts
import (
"fmt"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/urfave/cli/v2"
)
@@ -24,11 +24,11 @@ func EditWalletConfigurationCli(cliCtx *cli.Context) error {
return errors.Wrap(err, "could not open wallet")
}
switch w.KeymanagerKind() {
case v2keymanager.Direct:
case keymanager.Direct:
return errors.New("not possible to edit direct keymanager configuration")
case v2keymanager.Derived:
case keymanager.Derived:
return errors.New("derived keymanager is not yet supported")
case v2keymanager.Remote:
case keymanager.Remote:
enc, err := w.ReadKeymanagerConfigFromDisk(cliCtx.Context)
if err != nil {
return errors.Wrap(err, "could not read config")

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"flag"
@@ -6,10 +6,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
"github.com/urfave/cli/v2"
)
@@ -17,12 +17,12 @@ func TestEditWalletConfiguration(t *testing.T) {
walletDir, _, _ := setupWalletAndPasswordsDir(t)
cliCtx := setupWalletCtx(t, &testWalletConfig{
walletDir: walletDir,
keymanagerKind: v2keymanager.Remote,
keymanagerKind: keymanager.Remote,
})
wallet, err := CreateWalletWithKeymanager(cliCtx.Context, &CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Remote,
KeymanagerKind: keymanager.Remote,
WalletPassword: "Passwordz0320$",
},
})

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -12,11 +12,11 @@ import (
"github.com/pkg/errors"
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/prompt"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/tyler-smith/go-bip39"
"github.com/tyler-smith/go-bip39/wordlists"
"github.com/urfave/cli/v2"
@@ -73,7 +73,7 @@ func RecoverWalletCli(cliCtx *cli.Context) error {
}
log.Infof(
"Successfully recovered HD wallet and saved configuration to disk. " +
"Make a new validator account with ./prysm.sh validator accounts-v2 create",
"Make a new validator account with ./prysm.sh validator accounts create",
)
return nil
}
@@ -91,7 +91,7 @@ func RecoverWallet(ctx context.Context, cfg *RecoverWalletConfig) (*wallet.Walle
}
w := wallet.New(&wallet.Config{
WalletDir: cfg.WalletDir,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: cfg.WalletPassword,
})
keymanagerConfig, err := derived.MarshalOptionsFile(ctx, derived.DefaultKeymanagerOpts())
@@ -132,7 +132,7 @@ func RecoverWallet(ctx context.Context, cfg *RecoverWalletConfig) (*wallet.Walle
depositDataList[i] = depositData
}
log.WithField("wallet-path", w.AccountsDir()).Infof(
"Successfully recovered HD wallet with %d accounts. Please use accounts-v2 list to view details for your accounts",
"Successfully recovered HD wallet with %d accounts. Please use accounts list to view details for your accounts",
cfg.NumAccounts,
)
return w, depositDataList, nil

View File

@@ -1,4 +1,4 @@
package v2
package accounts
import (
"context"
@@ -12,10 +12,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/urfave/cli/v2"
)
@@ -52,12 +52,12 @@ func createRecoverCliCtx(t *testing.T, cfg *recoverCfgStruct) *cli.Context {
set := flag.NewFlagSet("test", 0)
set.String(flags.WalletDirFlag.Name, cfg.walletDir, "")
set.String(flags.WalletPasswordFileFlag.Name, cfg.passwordFilePath, "")
set.String(flags.KeymanagerKindFlag.Name, v2keymanager.Derived.String(), "")
set.String(flags.KeymanagerKindFlag.Name, keymanager.Derived.String(), "")
set.String(flags.MnemonicFileFlag.Name, cfg.mnemonicFilePath, "")
set.Int64(flags.NumAccountsFlag.Name, cfg.numAccounts, "")
assert.NoError(t, set.Set(flags.WalletDirFlag.Name, cfg.walletDir))
assert.NoError(t, set.Set(flags.WalletPasswordFileFlag.Name, cfg.passwordFilePath))
assert.NoError(t, set.Set(flags.KeymanagerKindFlag.Name, v2keymanager.Derived.String()))
assert.NoError(t, set.Set(flags.KeymanagerKindFlag.Name, keymanager.Derived.String()))
assert.NoError(t, set.Set(flags.MnemonicFileFlag.Name, cfg.mnemonicFilePath))
assert.NoError(t, set.Set(flags.NumAccountsFlag.Name, strconv.Itoa(int(cfg.numAccounts))))
return cli.NewContext(&app, set, nil)

View File

@@ -33,10 +33,10 @@ go_library(
"//shared/params:go_default_library",
"//shared/slotutil:go_default_library",
"//shared/timeutils:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/db:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/slashing-protection:go_default_library",
"@com_github_dgraph_io_ristretto//:go_default_library",
"@com_github_gogo_protobuf//proto:go_default_library",

View File

@@ -118,7 +118,7 @@ func (v *validator) signSlot(ctx context.Context, pubKey [48]byte, slot uint64)
if err != nil {
return nil, err
}
sig, err = v.keyManagerV2.Sign(ctx, &validatorpb.SignRequest{
sig, err = v.keyManager.Sign(ctx, &validatorpb.SignRequest{
PublicKey: pubKey[:],
SigningRoot: root[:],
SignatureDomain: domain.SignatureDomain,
@@ -159,7 +159,7 @@ func (v *validator) aggregateAndProofSig(ctx context.Context, pubKey [48]byte, a
if err != nil {
return nil, err
}
sig, err = v.keyManagerV2.Sign(ctx, &validatorpb.SignRequest{
sig, err = v.keyManager.Sign(ctx, &validatorpb.SignRequest{
PublicKey: pubKey[:],
SigningRoot: root[:],
SignatureDomain: d.SignatureDomain,

View File

@@ -173,7 +173,7 @@ func (v *validator) signAtt(ctx context.Context, pubKey [48]byte, data *ethpb.At
return nil, err
}
sig, err := v.keyManagerV2.Sign(ctx, &validatorpb.SignRequest{
sig, err := v.keyManager.Sign(ctx, &validatorpb.SignRequest{
PublicKey: pubKey[:],
SigningRoot: root[:],
SignatureDomain: domain.SignatureDomain,

View File

@@ -145,7 +145,7 @@ func TestAttestToBlockHead_AttestsCorrectly(t *testing.T) {
root, err := helpers.ComputeSigningRoot(expectedAttestation.Data, make([]byte, 32))
require.NoError(t, err)
sig, err := validator.keyManagerV2.Sign(context.Background(), &validatorpb.SignRequest{
sig, err := validator.keyManager.Sign(context.Background(), &validatorpb.SignRequest{
PublicKey: validatorKey.PublicKey().Marshal(),
SigningRoot: root[:],
})

View File

@@ -132,7 +132,7 @@ func (v *validator) LogValidatorGainsAndLosses(ctx context.Context, slot uint64)
var pks [][48]byte
var err error
pks, err = v.keyManagerV2.FetchValidatingPublicKeys(ctx)
pks, err = v.keyManager.FetchValidatingPublicKeys(ctx)
if err != nil {
return err
}

View File

@@ -177,7 +177,7 @@ func (v *validator) signRandaoReveal(ctx context.Context, pubKey [48]byte, epoch
if err != nil {
return nil, err
}
randaoReveal, err = v.keyManagerV2.Sign(ctx, &validatorpb.SignRequest{
randaoReveal, err = v.keyManager.Sign(ctx, &validatorpb.SignRequest{
PublicKey: pubKey[:],
SigningRoot: root[:],
SignatureDomain: domain.SignatureDomain,
@@ -204,7 +204,7 @@ func (v *validator) signBlock(ctx context.Context, pubKey [48]byte, epoch uint64
if err != nil {
return nil, nil, errors.Wrap(err, signingRootErr)
}
sig, err = v.keyManagerV2.Sign(ctx, &validatorpb.SignRequest{
sig, err = v.keyManager.Sign(ctx, &validatorpb.SignRequest{
PublicKey: pubKey[:],
SigningRoot: blockRoot[:],
SignatureDomain: domain.SignatureDomain,

View File

@@ -79,7 +79,7 @@ func setup(t *testing.T) (*validator, *mocks, bls.SecretKey, func()) {
}
validator := &validator{
db: valDB,
keyManagerV2: km,
keyManager: km,
validatorClient: m.validatorClient,
graffiti: []byte{},
attLogs: make(map[[32]byte]*attSubmitted),
@@ -616,7 +616,7 @@ func TestSignBlock(t *testing.T) {
pubKey: secretKey,
},
}
validator.keyManagerV2 = km
validator.keyManager = km
sig, domain, err := validator.signBlock(ctx, pubKey, 0, blk.Block)
require.NoError(t, err, "%x,%x,%v", sig, domain.SignatureDomain, err)
require.Equal(t, "a049e1dc723e5a8b5bd14f292973572dffd53785ddb337"+

View File

@@ -19,10 +19,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/grpcutils"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/db"
v2 "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
slashingprotection "github.com/prysmaticlabs/prysm/validator/slashing-protection"
"github.com/sirupsen/logrus"
"go.opencensus.io/plugin/ocgrpc"
@@ -64,7 +64,7 @@ type ValidatorService struct {
validator Validator
protector slashingprotection.Protector
ctx context.Context
keyManagerV2 v2.IKeymanager
keyManager keymanager.IKeymanager
grpcHeaders []string
graffiti []byte
}
@@ -82,7 +82,7 @@ type Config struct {
Endpoint string
Validator Validator
ValDB db.Database
KeyManagerV2 v2.IKeymanager
KeyManager keymanager.IKeymanager
GraffitiFlag string
CertFlag string
DataDir string
@@ -100,7 +100,7 @@ func NewValidatorService(ctx context.Context, cfg *Config) (*ValidatorService, e
withCert: cfg.CertFlag,
dataDir: cfg.DataDir,
graffiti: []byte(cfg.GraffitiFlag),
keyManagerV2: cfg.KeyManagerV2,
keyManager: cfg.KeyManager,
logValidatorBalances: cfg.LogValidatorBalances,
emitAccountMetrics: cfg.EmitAccountMetrics,
maxCallRecvMsgSize: cfg.GrpcMaxCallRecvMsgSizeFlag,
@@ -164,7 +164,7 @@ func (v *ValidatorService) Start() {
validatorClient: ethpb.NewBeaconNodeValidatorClient(v.conn),
beaconClient: ethpb.NewBeaconChainClient(v.conn),
node: ethpb.NewNodeClient(v.conn),
keyManagerV2: v.keyManagerV2,
keyManager: v.keyManager,
graffiti: v.graffiti,
logValidatorBalances: v.logValidatorBalances,
emitAccountMetrics: v.emitAccountMetrics,
@@ -209,7 +209,7 @@ func (v *ValidatorService) recheckKeys(ctx context.Context) {
cleanup := sub.Unsubscribe
defer cleanup()
w := <-initializedChan
keyManagerV2, err := w.InitializeKeymanager(
keyManager, err := w.InitializeKeymanager(
ctx, true, /* skipMnemonicConfirm */
)
if err != nil {
@@ -217,16 +217,16 @@ func (v *ValidatorService) recheckKeys(ctx context.Context) {
cleanup()
log.Fatalf("Could not read keymanager for wallet: %v", err)
}
v.keyManagerV2 = keyManagerV2
v.keyManager = keyManager
}
validatingKeys, err = v.keyManagerV2.FetchValidatingPublicKeys(ctx)
validatingKeys, err = v.keyManager.FetchValidatingPublicKeys(ctx)
if err != nil {
log.WithError(err).Debug("Could not fetch validating keys")
}
if err := v.db.UpdatePublicKeysBuckets(validatingKeys); err != nil {
log.WithError(err).Debug("Could not update public keys buckets")
}
go recheckValidatingKeysBucket(ctx, v.db, v.keyManagerV2)
go recheckValidatingKeysBucket(ctx, v.db, v.keyManager)
for _, key := range validatingKeys {
log.WithField(
"publicKey", fmt.Sprintf("%#x", bytesutil.Trunc(key[:])),
@@ -321,7 +321,7 @@ func (v *ValidatorService) GenesisInfo(ctx context.Context) (*ethpb.Genesis, err
// 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 db.Database, km v2.IKeymanager) {
func recheckValidatingKeysBucket(ctx context.Context, valDB db.Database, km keymanager.IKeymanager) {
directKeymanager, ok := km.(*direct.Keymanager)
if !ok {
return

View File

@@ -27,9 +27,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/hashutil"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/slotutil"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
vdb "github.com/prysmaticlabs/prysm/validator/db"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
slashingprotection "github.com/prysmaticlabs/prysm/validator/slashing-protection"
"github.com/sirupsen/logrus"
"go.opencensus.io/trace"
@@ -69,7 +69,7 @@ type validator struct {
startBalances map[[48]byte]uint64
attLogs map[[32]byte]*attSubmitted
node ethpb.NodeClient
keyManagerV2 v2keymanager.IKeymanager
keyManager keymanager.IKeymanager
beaconClient ethpb.BeaconChainClient
validatorClient ethpb.BeaconNodeValidatorClient
protector slashingprotection.Protector
@@ -96,13 +96,13 @@ func (v *validator) WaitForWalletInitialization(ctx context.Context) error {
for {
select {
case w := <-walletChan:
keyManagerV2, err := w.InitializeKeymanager(
keyManager, err := w.InitializeKeymanager(
ctx, true, /* skipMnemonicConfirm */
)
if err != nil {
return errors.Wrap(err, "could not read keymanager for wallet")
}
v.keyManagerV2 = keyManagerV2
v.keyManager = keyManager
return nil
case <-ctx.Done():
return errors.New("context canceled")
@@ -241,7 +241,7 @@ func (v *validator) WaitForActivation(ctx context.Context) error {
ctx, span := trace.StartSpan(ctx, "validator.WaitForActivation")
defer span.End()
validatingKeys, err := v.keyManagerV2.FetchValidatingPublicKeys(ctx)
validatingKeys, err := v.keyManager.FetchValidatingPublicKeys(ctx)
if err != nil {
return errors.Wrap(err, "could not fetch validating keys")
}
@@ -381,7 +381,7 @@ func (v *validator) UpdateDuties(ctx context.Context, slot uint64) error {
ctx, span := trace.StartSpan(ctx, "validator.UpdateAssignments")
defer span.End()
validatingKeys, err := v.keyManagerV2.FetchValidatingPublicKeys(ctx)
validatingKeys, err := v.keyManager.FetchValidatingPublicKeys(ctx)
if err != nil {
return err
}

View File

@@ -139,7 +139,7 @@ func TestWaitForChainStart_StreamSetupFails(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
}
clientStream := mock.NewMockBeaconNodeValidator_WaitForChainStartClient(ctrl)
client.EXPECT().WaitForChainStart(
@@ -281,7 +281,7 @@ func TestWaitActivation_ContextCanceled(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
}
clientStream := mock.NewMockBeaconNodeValidator_WaitForActivationClient(ctrl)
@@ -314,7 +314,7 @@ func TestWaitActivation_StreamSetupFails(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
}
clientStream := mock.NewMockBeaconNodeValidator_WaitForActivationClient(ctrl)
client.EXPECT().WaitForActivation(
@@ -343,7 +343,7 @@ func TestWaitActivation_ReceiveErrorFromStream(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
}
clientStream := mock.NewMockBeaconNodeValidator_WaitForActivationClient(ctrl)
client.EXPECT().WaitForActivation(
@@ -376,7 +376,7 @@ func TestWaitActivation_LogsActivationEpochOK(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
genesisTime: 1,
}
resp := generateMockStatusResponse([][]byte{pubKey[:]})
@@ -443,7 +443,7 @@ func TestWaitMultipleActivation_LogsActivationEpochOK(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
genesisTime: 1,
}
@@ -479,7 +479,7 @@ func TestWaitActivation_NotAllValidatorsActivatedOK(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
genesisTime: 1,
}
resp := generateMockStatusResponse([][]byte{pubKey[:]})
@@ -600,7 +600,7 @@ func TestUpdateDuties_ReturnsError(t *testing.T) {
}
v := validator{
validatorClient: client,
keyManagerV2: km,
keyManager: km,
duties: &ethpb.DutiesResponse{
Duties: []*ethpb.DutiesResponse_Duty{
{
@@ -648,7 +648,7 @@ func TestUpdateDuties_OK(t *testing.T) {
},
}
v := validator{
keyManagerV2: km,
keyManager: km,
validatorClient: client,
}
client.EXPECT().GetDuties(

View File

@@ -12,7 +12,7 @@ import (
)
const (
// WalletDefaultDirName for accounts-v2.
// WalletDefaultDirName for accounts.
WalletDefaultDirName = "prysm-wallet-v2"
)
@@ -123,7 +123,7 @@ var (
Usage: "Port used to listening and respond metrics for prometheus.",
Value: 8081,
}
// WalletDirFlag defines the path to a wallet directory for Prysm accounts-v2.
// WalletDirFlag defines the path to a wallet directory for Prysm accounts.
WalletDirFlag = &cli.StringFlag{
Name: "wallet-dir",
Usage: "Path to a wallet directory on-disk for Prysm validator accounts",
@@ -149,16 +149,16 @@ var (
Name: "mnemonic-file",
Usage: "File to retrieve mnemonic for non-interactively passing a mnemonic phrase into wallet recover.",
}
// ShowDepositDataFlag for accounts-v2.
// ShowDepositDataFlag for accounts.
ShowDepositDataFlag = &cli.BoolFlag{
Name: "show-deposit-data",
Usage: "Display raw eth1 tx deposit data for validator accounts-v2",
Usage: "Display raw eth1 tx deposit data for validator accounts",
Value: false,
}
// ShowPrivateKeysFlag for accounts-v2.
// ShowPrivateKeysFlag for accounts.
ShowPrivateKeysFlag = &cli.BoolFlag{
Name: "show-private-keys",
Usage: "Display the private keys for validator accounts-v2",
Usage: "Display the private keys for validator accounts",
Value: false,
}
// NumAccountsFlag defines the amount of accounts to generate for derived wallets.

View File

@@ -4,7 +4,7 @@ load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["types.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/v2",
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
@@ -21,8 +21,8 @@ go_test(
srcs = ["types_test.go"],
embed = [":go_default_library"],
deps = [
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager/v2/remote:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/keymanager/remote:go_default_library",
],
)

View File

@@ -8,7 +8,7 @@ go_library(
"derived.go",
"mnemonic.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived",
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/derived",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
@@ -24,9 +24,9 @@ go_library(
"//shared/petnames:go_default_library",
"//shared/promptutil:go_default_library",
"//shared/rand:go_default_library",
"//validator/accounts/v2/iface:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived/v1derivation:go_default_library",
"//validator/accounts/iface:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived/v1derivation:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
@@ -53,7 +53,7 @@ go_test(
"//shared/rand:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/accounts/v2/testing:go_default_library",
"//validator/accounts/testing:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
"@com_github_tyler_smith_go_bip39//:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -17,9 +17,9 @@ import (
// and returns their respective EIP-2335 keystores.
func (dr *Keymanager) ExtractKeystores(
_ context.Context, publicKeys []bls.PublicKey, password string,
) ([]*v2keymanager.Keystore, error) {
) ([]*keymanager.Keystore, error) {
encryptor := keystorev4.New()
keystores := make([]*v2keymanager.Keystore, len(publicKeys))
keystores := make([]*keymanager.Keystore, len(publicKeys))
lock.RLock()
defer lock.RUnlock()
for i, pk := range publicKeys {
@@ -43,7 +43,7 @@ func (dr *Keymanager) ExtractKeystores(
if err != nil {
return nil, err
}
keystores[i] = &v2keymanager.Keystore{
keystores[i] = &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Pubkey: fmt.Sprintf("%x", pubKeyBytes),

View File

@@ -22,8 +22,8 @@ import (
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/shared/rand"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/iface"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived/v1derivation"
"github.com/prysmaticlabs/prysm/validator/accounts/iface"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived/v1derivation"
"github.com/sirupsen/logrus"
"github.com/tyler-smith/go-bip39"
types "github.com/wealdtech/go-eth2-types/v2"
@@ -32,7 +32,7 @@ import (
)
var (
log = logrus.WithField("prefix", "derived-keymanager-v2")
log = logrus.WithField("prefix", "derived-keymanager")
lock sync.RWMutex
orderedPublicKeys = make([][48]byte, 0)
secretKeysCache = make(map[[48]byte]bls.SecretKey)
@@ -462,16 +462,6 @@ func (dr *Keymanager) rewriteSeedConfig(ctx context.Context) error {
return nil
}
// Append the public and the secret key for the provided secret key to their respective caches
func (dr *Keymanager) appendKeysToCaches(secretKey bls.SecretKey) error {
publicKey := bytesutil.ToBytes48(secretKey.PublicKey().Marshal())
lock.Lock()
orderedPublicKeys = append(orderedPublicKeys, publicKey)
secretKeysCache[publicKey] = secretKey
lock.Unlock()
return nil
}
// Initialize public and secret key caches used to speed up the functions
// FetchValidatingPublicKeys and Sign as part of the Keymanager instance initialization
func (dr *Keymanager) initializeKeysCachesFromSeed() error {

View File

@@ -14,7 +14,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/rand"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
mock "github.com/prysmaticlabs/prysm/validator/accounts/v2/testing"
mock "github.com/prysmaticlabs/prysm/validator/accounts/testing"
logTest "github.com/sirupsen/logrus/hooks/test"
"github.com/tyler-smith/go-bip39"
util "github.com/wealdtech/go-eth2-util"

View File

@@ -3,7 +3,7 @@ load("@prysm//tools/go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = ["util.go"],
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived/v1derivation",
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/derived/v1derivation",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",

View File

@@ -104,7 +104,7 @@ func DeriveChildSK(parentSK *big.Int, index uint32) (*big.Int, error) {
}
// ikmToLamportSK creates a Lamport secret key.
func ikmToLamportSK(ikm []byte, salt []byte) ([255][32]byte, error) {
func ikmToLamportSK(ikm, salt []byte) ([255][32]byte, error) {
prk := hkdf.Extract(sha256.New, ikm, salt)
okm := hkdf.Expand(sha256.New, prk, nil)
var lamportSK [255][32]byte

View File

@@ -10,7 +10,7 @@ go_library(
"import.go",
"refresh.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct",
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/direct",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",
@@ -27,8 +27,8 @@ go_library(
"//shared/interop:go_default_library",
"//shared/params:go_default_library",
"//shared/petnames:go_default_library",
"//validator/accounts/v2/iface:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/accounts/iface:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_fsnotify_fsnotify//:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_k0kubun_go_ansi//:go_default_library",
@@ -59,8 +59,8 @@ go_test(
"//shared/petnames:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/accounts/v2/testing:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/accounts/testing:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
"@com_github_wealdtech_go_eth2_wallet_encryptor_keystorev4//:go_default_library",

View File

@@ -8,7 +8,7 @@ import (
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -17,11 +17,11 @@ import (
// and returns their respective EIP-2335 keystores.
func (dr *Keymanager) ExtractKeystores(
_ context.Context, publicKeys []bls.PublicKey, password string,
) ([]*v2keymanager.Keystore, error) {
) ([]*keymanager.Keystore, error) {
lock.Lock()
defer lock.Unlock()
encryptor := keystorev4.New()
keystores := make([]*v2keymanager.Keystore, len(publicKeys))
keystores := make([]*keymanager.Keystore, len(publicKeys))
for i, pk := range publicKeys {
pubKeyBytes := pk.Marshal()
secretKey, ok := secretKeysCache[bytesutil.ToBytes48(pubKeyBytes)]
@@ -43,7 +43,7 @@ func (dr *Keymanager) ExtractKeystores(
if err != nil {
return nil, err
}
keystores[i] = &v2keymanager.Keystore{
keystores[i] = &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Pubkey: fmt.Sprintf("%x", pubKeyBytes),

View File

@@ -23,15 +23,15 @@ import (
"github.com/prysmaticlabs/prysm/shared/interop"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/iface"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/iface"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/sirupsen/logrus"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
"go.opencensus.io/trace"
)
var (
log = logrus.WithField("prefix", "direct-keymanager-v2")
log = logrus.WithField("prefix", "direct-keymanager")
lock sync.RWMutex
orderedPublicKeys = make([][48]byte, 0)
secretKeysCache = make(map[[48]byte]bls.SecretKey)
@@ -422,7 +422,7 @@ func (dr *Keymanager) initializeAccountKeystore(ctx context.Context) error {
} else if err != nil {
return errors.Wrapf(err, "could not read keystore file for accounts %s", accountsKeystoreFileName)
}
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
if err := json.Unmarshal(encoded, keystoreFile); err != nil {
return errors.Wrapf(err, "could not decode keystore file for accounts %s", accountsKeystoreFileName)
}
@@ -459,7 +459,7 @@ func (dr *Keymanager) initializeAccountKeystore(ctx context.Context) error {
func (dr *Keymanager) createAccountsKeystore(
_ context.Context,
privateKeys, publicKeys [][]byte,
) (*v2keymanager.Keystore, error) {
) (*keymanager.Keystore, error) {
encryptor := keystorev4.New()
id, err := uuid.NewRandom()
if err != nil {
@@ -508,7 +508,7 @@ func (dr *Keymanager) createAccountsKeystore(
if err != nil {
return nil, errors.Wrap(err, "could not encrypt accounts")
}
return &v2keymanager.Keystore{
return &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),

View File

@@ -13,8 +13,8 @@ import (
"github.com/prysmaticlabs/prysm/shared/petnames"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
mock "github.com/prysmaticlabs/prysm/validator/accounts/v2/testing"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
mock "github.com/prysmaticlabs/prysm/validator/accounts/testing"
"github.com/prysmaticlabs/prysm/validator/keymanager"
logTest "github.com/sirupsen/logrus/hooks/test"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -43,7 +43,7 @@ func TestDirectKeymanager_CreateAccount(t *testing.T) {
}
}
require.NotNil(t, encodedKeystore, "could not find keystore file")
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
// We extract the accounts from the keystore.
@@ -97,7 +97,7 @@ func TestDirectKeymanager_RemoveAccounts(t *testing.T) {
}
}
require.NotNil(t, encodedKeystore, "could not find keystore file")
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
// We extract the accounts from the keystore.
@@ -204,7 +204,7 @@ func TestDirectKeymanager_Sign(t *testing.T) {
encodedKeystore = v
}
}
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
// We extract the validator signing private key from the keystore
@@ -287,7 +287,7 @@ func TestDirectKeymanager_RefreshWalletPassword(t *testing.T) {
encodedKeystore = v
}
}
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
// We attempt to decrypt with the wallet password and expect no error.
@@ -308,7 +308,7 @@ func TestDirectKeymanager_RefreshWalletPassword(t *testing.T) {
encodedKeystore = v
}
}
keystoreFile = &v2keymanager.Keystore{}
keystoreFile = &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
_, err = decryptor.Decrypt(keystoreFile.Crypto, dr.wallet.Password())
require.NoError(t, err)

View File

@@ -10,7 +10,7 @@ import (
"github.com/k0kubun/go-ansi"
"github.com/pkg/errors"
"github.com/prysmaticlabs/prysm/shared/bls"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/schollz/progressbar/v3"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -18,7 +18,7 @@ import (
// ImportKeystores into the direct keymanager from an external source.
func (dr *Keymanager) ImportKeystores(
ctx context.Context,
keystores []*v2keymanager.Keystore,
keystores []*keymanager.Keystore,
importsPassword string,
) error {
decryptor := keystorev4.New()
@@ -63,7 +63,7 @@ func (dr *Keymanager) ImportKeystores(
// by decrypting using a specified password. If the password fails,
// it prompts the user for the correct password until it confirms.
func (dr *Keymanager) attemptDecryptKeystore(
enc *keystorev4.Encryptor, keystore *v2keymanager.Keystore, password string,
enc *keystorev4.Encryptor, keystore *keymanager.Keystore, password string,
) ([]byte, []byte, string, error) {
// Attempt to decrypt the keystore with the specifies password.
var privKeyBytes []byte

View File

@@ -11,12 +11,12 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
mock "github.com/prysmaticlabs/prysm/validator/accounts/v2/testing"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
mock "github.com/prysmaticlabs/prysm/validator/accounts/testing"
"github.com/prysmaticlabs/prysm/validator/keymanager"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
func createRandomKeystore(t testing.TB, password string) *v2keymanager.Keystore {
func createRandomKeystore(t testing.TB, password string) *keymanager.Keystore {
encryptor := keystorev4.New()
id, err := uuid.NewRandom()
require.NoError(t, err)
@@ -24,7 +24,7 @@ func createRandomKeystore(t testing.TB, password string) *v2keymanager.Keystore
pubKey := validatingKey.PublicKey().Marshal()
cryptoFields, err := encryptor.Encrypt(validatingKey.Marshal(), password)
require.NoError(t, err)
return &v2keymanager.Keystore{
return &keymanager.Keystore{
Crypto: cryptoFields,
Pubkey: fmt.Sprintf("%x", pubKey),
ID: id.String(),
@@ -102,7 +102,7 @@ func TestDirectKeymanager_ImportKeystores(t *testing.T) {
// Create a duplicate keystore and attempt to import it.
numAccounts := 5
keystores := make([]*v2keymanager.Keystore, numAccounts+1)
keystores := make([]*keymanager.Keystore, numAccounts+1)
for i := 1; i < numAccounts+1; i++ {
keystores[i] = createRandomKeystore(t, password)
}
@@ -129,7 +129,7 @@ func TestDirectKeymanager_ImportKeystores(t *testing.T) {
}
}
require.NotNil(t, encodedKeystore, "could not find keystore file")
keystoreFile := &v2keymanager.Keystore{}
keystoreFile := &keymanager.Keystore{}
require.NoError(t, json.Unmarshal(encodedKeystore, keystoreFile))
// We decrypt the crypto fields of the accounts keystore.

View File

@@ -13,7 +13,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/fileutil"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -63,7 +63,7 @@ func (dr *Keymanager) listenForAccountChanges(ctx context.Context) {
log.WithError(err).Errorf("Could not read file at path: %s", ev.Name)
return
}
accountsKeystore := &v2keymanager.Keystore{}
accountsKeystore := &keymanager.Keystore{}
if err := json.Unmarshal(fileBytes, accountsKeystore); err != nil {
log.WithError(
err,
@@ -94,7 +94,7 @@ func (dr *Keymanager) listenForAccountChanges(ctx context.Context) {
// Replaces the accounts store struct in the direct keymanager with
// the contents of a keystore file by decrypting it with the accounts password.
func (dr *Keymanager) reloadAccountsFromKeystore(keystore *v2keymanager.Keystore) error {
func (dr *Keymanager) reloadAccountsFromKeystore(keystore *keymanager.Keystore) error {
decryptor := keystorev4.New()
encodedAccounts, err := decryptor.Decrypt(keystore.Crypto, dr.wallet.Password())
if err != nil {

View File

@@ -9,7 +9,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
mock "github.com/prysmaticlabs/prysm/validator/accounts/v2/testing"
mock "github.com/prysmaticlabs/prysm/validator/accounts/testing"
)
func TestDirectKeymanager_reloadAccountsFromKeystore(t *testing.T) {

View File

@@ -7,7 +7,7 @@ go_library(
"doc.go",
"remote.go",
],
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote",
importpath = "github.com/prysmaticlabs/prysm/validator/keymanager/remote",
visibility = [
"//validator:__pkg__",
"//validator:__subpackages__",

View File

@@ -22,7 +22,7 @@ import (
)
var (
log = logrus.WithField("prefix", "remote-keymanager-v2")
log = logrus.WithField("prefix", "remote-keymanager")
// ErrSigningFailed defines a failure from the remote server
// when performing a signing operation.
ErrSigningFailed = errors.New("signing failed in the remote server")

View File

@@ -1,4 +1,4 @@
package v2
package keymanager
import (
"context"
@@ -8,7 +8,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/bls"
)
// IKeymanager defines a general keymanager-v2 interface for Prysm wallets.
// IKeymanager defines a general keymanager interface for Prysm wallets.
type IKeymanager interface {
// FetchValidatingKeys fetches the list of public keys that should be used to validate with.
FetchValidatingPublicKeys(ctx context.Context) ([][48]byte, error)

View File

@@ -0,0 +1,14 @@
package keymanager_test
import (
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/remote"
)
var (
_ = keymanager.IKeymanager(&direct.Keymanager{})
_ = keymanager.IKeymanager(&derived.Keymanager{})
_ = keymanager.IKeymanager(&remote.Keymanager{})
)

View File

@@ -1,14 +0,0 @@
package v2_test
import (
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/remote"
)
var (
_ = v2keymanager.IKeymanager(&direct.Keymanager{})
_ = v2keymanager.IKeymanager(&derived.Keymanager{})
_ = v2keymanager.IKeymanager(&remote.Keymanager{})
)

View File

@@ -19,7 +19,7 @@ import (
_ "github.com/prysmaticlabs/prysm/shared/maxprocs"
"github.com/prysmaticlabs/prysm/shared/tos"
"github.com/prysmaticlabs/prysm/shared/version"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/flags"
"github.com/prysmaticlabs/prysm/validator/node"
"github.com/sirupsen/logrus"
@@ -105,8 +105,8 @@ func main() {
app.Version = version.GetVersion()
app.Action = startNode
app.Commands = []*cli.Command{
v2.WalletCommands,
v2.AccountCommands,
accounts.WalletCommands,
accounts.AccountCommands,
}
app.Flags = appFlags

View File

@@ -10,10 +10,10 @@ go_test(
"//shared/testutil:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager:go_default_library",
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
],
@@ -36,12 +36,12 @@ go_library(
"//shared/prometheus:go_default_library",
"//shared/tracing:go_default_library",
"//shared/version:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/client:go_default_library",
"//validator/db/kv:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/direct:go_default_library",
"//validator/rpc:go_default_library",
"//validator/rpc/gateway:go_default_library",
"//validator/slashing-protection:go_default_library",

View File

@@ -24,12 +24,12 @@ import (
"github.com/prysmaticlabs/prysm/shared/prometheus"
"github.com/prysmaticlabs/prysm/shared/tracing"
"github.com/prysmaticlabs/prysm/shared/version"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/client"
"github.com/prysmaticlabs/prysm/validator/db/kv"
"github.com/prysmaticlabs/prysm/validator/flags"
v2 "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/prysmaticlabs/prysm/validator/rpc"
"github.com/prysmaticlabs/prysm/validator/rpc/gateway"
slashing_protection "github.com/prysmaticlabs/prysm/validator/slashing-protection"
@@ -158,20 +158,20 @@ func (s *ValidatorClient) Close() {
}
func (s *ValidatorClient) initializeFromCLI(cliCtx *cli.Context) error {
var keyManagerV2 v2.IKeymanager
var keyManager keymanager.IKeymanager
var err error
var accountsDir string
if cliCtx.IsSet(flags.InteropNumValidators.Name) {
numValidatorKeys := cliCtx.Uint64(flags.InteropNumValidators.Name)
offset := cliCtx.Uint64(flags.InteropStartIndex.Name)
keyManagerV2, err = direct.NewInteropKeymanager(cliCtx.Context, offset, numValidatorKeys)
keyManager, err = direct.NewInteropKeymanager(cliCtx.Context, offset, numValidatorKeys)
if err != nil {
return errors.Wrap(err, "could not generate interop keys")
}
} else {
// Read the wallet from the specified path.
w, err := wallet.OpenWalletOrElseCli(cliCtx, func(cliCtx *cli.Context) (*wallet.Wallet, error) {
return nil, errors.New("no wallet found, create a new one with validator wallet-v2 create")
return nil, errors.New("no wallet found, create a new one with validator wallet create")
})
if err != nil {
return errors.Wrap(err, "could not open wallet")
@@ -181,7 +181,7 @@ func (s *ValidatorClient) initializeFromCLI(cliCtx *cli.Context) error {
"wallet": w.AccountsDir(),
"keymanager-kind": w.KeymanagerKind().String(),
}).Info("Opened validator wallet")
keyManagerV2, err = w.InitializeKeymanager(
keyManager, err = w.InitializeKeymanager(
cliCtx.Context, false, /* skipMnemonicConfirm */
)
if err != nil {
@@ -228,7 +228,7 @@ func (s *ValidatorClient) initializeFromCLI(cliCtx *cli.Context) error {
return err
}
}
if err := s.registerClientService(keyManagerV2); err != nil {
if err := s.registerClientService(keyManager); err != nil {
return err
}
if cliCtx.Bool(flags.EnableRPCFlag.Name) {
@@ -319,7 +319,7 @@ func (s *ValidatorClient) registerPrometheusService() error {
}
func (s *ValidatorClient) registerClientService(
keyManagerV2 v2.IKeymanager,
keyManager keymanager.IKeymanager,
) error {
endpoint := s.cliCtx.String(flags.BeaconRPCProviderFlag.Name)
dataDir := s.cliCtx.String(cmd.DataDirFlag.Name)
@@ -338,7 +338,7 @@ func (s *ValidatorClient) registerClientService(
v, err := client.NewValidatorService(s.cliCtx.Context, &client.Config{
Endpoint: endpoint,
DataDir: dataDir,
KeyManagerV2: keyManagerV2,
KeyManager: keyManager,
LogValidatorBalances: logValidatorBalances,
EmitAccountMetrics: emitAccountMetrics,
CertFlag: cert,

View File

@@ -13,10 +13,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
logTest "github.com/sirupsen/logrus/hooks/test"
"github.com/urfave/cli/v2"
)
@@ -47,10 +47,10 @@ func TestNode_Builds(t *testing.T) {
set.String("verbosity", "debug", "log verbosity")
require.NoError(t, set.Set(flags.WalletPasswordFileFlag.Name, passwordFile))
context := cli.NewContext(&app, set, nil)
w, err := v2.CreateWalletWithKeymanager(context.Context, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(context.Context, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: dir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: walletPassword,
},
})

View File

@@ -26,14 +26,14 @@ go_library(
"//shared/rand:go_default_library",
"//shared/timeutils:go_default_library",
"//shared/traceutil:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/client:go_default_library",
"//validator/db:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"@com_github_dgrijalva_jwt_go//:go_default_library",
"@com_github_gogo_protobuf//types:go_default_library",
"@com_github_grpc_ecosystem_go_grpc_middleware//:go_default_library",
@@ -75,14 +75,14 @@ go_test(
"//shared/testutil:go_default_library",
"//shared/testutil/assert:go_default_library",
"//shared/testutil/require:go_default_library",
"//validator/accounts/v2:go_default_library",
"//validator/accounts/v2/wallet:go_default_library",
"//validator/accounts:go_default_library",
"//validator/accounts/wallet:go_default_library",
"//validator/client:go_default_library",
"//validator/db/testing:go_default_library",
"//validator/flags:go_default_library",
"//validator/keymanager/v2:go_default_library",
"//validator/keymanager/v2/derived:go_default_library",
"//validator/keymanager/v2/direct:go_default_library",
"//validator/keymanager:go_default_library",
"//validator/keymanager/derived:go_default_library",
"//validator/keymanager/direct:go_default_library",
"@com_github_gogo_protobuf//types:go_default_library",
"@com_github_google_uuid//:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",

View File

@@ -14,10 +14,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/cmd"
"github.com/prysmaticlabs/prysm/shared/pagination"
"github.com/prysmaticlabs/prysm/shared/petnames"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
@@ -33,15 +33,15 @@ func (s *Server) CreateAccount(ctx context.Context, req *pb.CreateAccountRequest
}
var creator accountCreator
switch s.wallet.KeymanagerKind() {
case v2keymanager.Remote:
case keymanager.Remote:
return nil, status.Error(codes.InvalidArgument, "Cannot create account for remote keymanager")
case v2keymanager.Direct:
case keymanager.Direct:
km, ok := s.keymanager.(*direct.Keymanager)
if !ok {
return nil, status.Error(codes.InvalidArgument, "Not a direct keymanager")
}
creator = km
case v2keymanager.Derived:
case keymanager.Derived:
km, ok := s.keymanager.(*derived.Keymanager)
if !ok {
return nil, status.Error(codes.InvalidArgument, "Not a derived keymanager")
@@ -81,7 +81,7 @@ func (s *Server) ListAccounts(ctx context.Context, req *pb.ListAccountsRequest)
ValidatingPublicKey: keys[i][:],
AccountName: petnames.DeterministicName(keys[i][:], "-"),
}
if s.wallet.KeymanagerKind() == v2keymanager.Derived {
if s.wallet.KeymanagerKind() == keymanager.Derived {
accounts[i].DerivationPath = fmt.Sprintf(derived.ValidatingKeyDerivationPathTemplate, i)
}
}
@@ -121,7 +121,7 @@ func (s *Server) BackupAccounts(
if s.wallet == nil || s.keymanager == nil {
return nil, status.Error(codes.FailedPrecondition, "No wallet nor keymanager found")
}
if s.wallet.KeymanagerKind() != v2keymanager.Direct && s.wallet.KeymanagerKind() != v2keymanager.Derived {
if s.wallet.KeymanagerKind() != keymanager.Direct && s.wallet.KeymanagerKind() != keymanager.Derived {
return nil, status.Error(codes.FailedPrecondition, "Only HD or direct wallets can backup accounts")
}
pubKeys := make([]bls.PublicKey, len(req.PublicKeys))
@@ -132,10 +132,10 @@ func (s *Server) BackupAccounts(
}
pubKeys[i] = pubKey
}
var keystoresToBackup []*v2keymanager.Keystore
var keystoresToBackup []*keymanager.Keystore
var err error
switch s.wallet.KeymanagerKind() {
case v2keymanager.Direct:
case keymanager.Direct:
km, ok := s.keymanager.(*direct.Keymanager)
if !ok {
return nil, status.Error(codes.FailedPrecondition, "Could not assert keymanager interface to concrete type")
@@ -144,7 +144,7 @@ func (s *Server) BackupAccounts(
if err != nil {
return nil, status.Errorf(codes.Internal, "Could not backup accounts for direct keymanager: %v", err)
}
case v2keymanager.Derived:
case keymanager.Derived:
km, ok := s.keymanager.(*derived.Keymanager)
if !ok {
return nil, status.Error(codes.FailedPrecondition, "Could not assert keymanager interface to concrete type")
@@ -200,10 +200,10 @@ func (s *Server) DeleteAccounts(
if s.wallet == nil || s.keymanager == nil {
return nil, status.Error(codes.FailedPrecondition, "No wallet nor keymanager found")
}
if s.wallet.KeymanagerKind() != v2keymanager.Direct {
if s.wallet.KeymanagerKind() != keymanager.Direct {
return nil, status.Error(codes.FailedPrecondition, "Only Non-HD wallets can delete accounts")
}
if err := v2.DeleteAccount(ctx, &v2.DeleteAccountConfig{
if err := accounts.DeleteAccount(ctx, &accounts.DeleteAccountConfig{
Wallet: s.wallet,
Keymanager: s.keymanager,
PublicKeys: req.PublicKeys,
@@ -221,7 +221,7 @@ func createAccountWithDepositData(ctx context.Context, km accountCreator) (*pb.D
if err != nil {
return nil, errors.Wrap(err, "could not create account in wallet")
}
data, err := v2.DepositDataJSON(depositData)
data, err := accounts.DepositDataJSON(depositData)
if err != nil {
return nil, errors.Wrap(err, "could not create deposit data JSON")
}

View File

@@ -16,11 +16,11 @@ import (
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
)
var defaultWalletPath = filepath.Join(flags.DefaultValidatorDir(), flags.WalletDefaultDirName)
@@ -41,10 +41,10 @@ func TestServer_CreateAccount(t *testing.T) {
defaultWalletPath = localWalletDir
strongPass := "29384283xasjasd32%%&*@*#*"
// We attempt to create the wallet.
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -67,10 +67,10 @@ func TestServer_ListAccounts(t *testing.T) {
defaultWalletPath = localWalletDir
strongPass := "29384283xasjasd32%%&*@*#*"
// We attempt to create the wallet.
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -190,7 +190,7 @@ func TestServer_BackupAccounts(t *testing.T) {
require.NoError(t, keystoreFile.Close())
t.Fatal(err)
}
keystore := &v2keymanager.Keystore{}
keystore := &keymanager.Keystore{}
if err := json.Unmarshal(encoded, &keystore); err != nil {
require.NoError(t, keystoreFile.Close())
t.Fatal(err)
@@ -205,10 +205,10 @@ func TestServer_DeleteAccounts_FailedPreconditions_WrongKeymanagerKind(t *testin
defaultWalletPath = localWalletDir
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,

View File

@@ -15,7 +15,7 @@ import (
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/shared/timeutils"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"golang.org/x/crypto/bcrypt"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"

View File

@@ -15,10 +15,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
dbtest "github.com/prysmaticlabs/prysm/validator/db/testing"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
)
func setupWalletDir(t testing.TB) string {
@@ -62,10 +62,10 @@ func TestServer_SignupAndLogin_RoundTrip(t *testing.T) {
assert.Equal(t, true, passwordHashExists)
// We attempt to create the wallet.
_, err = v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
_, err = accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,

View File

@@ -13,10 +13,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/rand"
"github.com/prysmaticlabs/prysm/shared/traceutil"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/client"
"github.com/prysmaticlabs/prysm/validator/db"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/sirupsen/logrus"
"go.opencensus.io/plugin/ocgrpc"
"google.golang.org/grpc"
@@ -53,7 +53,7 @@ type Server struct {
host string
port string
listener net.Listener
keymanager v2keymanager.IKeymanager
keymanager keymanager.IKeymanager
withCert string
withKey string
credentialError error
@@ -63,7 +63,7 @@ type Server struct {
syncChecker client.SyncChecker
genesisFetcher client.GenesisFetcher
walletDir string
wallet *v2.Wallet
wallet *wallet.Wallet
walletInitializedFeed *event.Feed
walletInitialized bool
nodeGatewayEndpoint string

View File

@@ -14,12 +14,12 @@ import (
"github.com/prysmaticlabs/prysm/shared/fileutil"
"github.com/prysmaticlabs/prysm/shared/promptutil"
"github.com/prysmaticlabs/prysm/shared/rand"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/flags"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
keymanager "github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/derived"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
"github.com/tyler-smith/go-bip39"
"golang.org/x/crypto/bcrypt"
"google.golang.org/grpc/codes"
@@ -77,9 +77,9 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
}
keymanagerKind := pb.KeymanagerKind_DIRECT
switch s.wallet.KeymanagerKind() {
case v2keymanager.Derived:
case keymanager.Derived:
keymanagerKind = pb.KeymanagerKind_DERIVED
case v2keymanager.Remote:
case keymanager.Remote:
keymanagerKind = pb.KeymanagerKind_REMOTE
}
return &pb.CreateWalletResponse{
@@ -91,10 +91,10 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
}
switch req.Keymanager {
case pb.KeymanagerKind_DIRECT:
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: req.WalletPassword,
},
SkipMnemonicConfirm: true,
@@ -107,7 +107,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
}
if err := s.initializeWallet(ctx, &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: req.WalletPassword,
}); err != nil {
return nil, err
@@ -125,7 +125,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
if req.Mnemonic == "" {
return nil, status.Error(codes.InvalidArgument, "Must include mnemonic in request")
}
_, depositData, err := v2.RecoverWallet(ctx, &v2.RecoverWalletConfig{
_, depositData, err := accounts.RecoverWallet(ctx, &accounts.RecoverWalletConfig{
WalletDir: walletDir,
WalletPassword: req.WalletPassword,
Mnemonic: req.Mnemonic,
@@ -136,7 +136,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
}
if err := s.initializeWallet(ctx, &wallet.Config{
WalletDir: walletDir,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: req.WalletPassword,
}); err != nil {
return nil, err
@@ -144,7 +144,7 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
depositDataList := make([]*pb.DepositDataResponse_DepositData, len(depositData))
for i, item := range depositData {
data, err := v2.DepositDataJSON(item)
data, err := accounts.DepositDataJSON(item)
if err != nil {
return nil, err
}
@@ -200,11 +200,11 @@ func (s *Server) WalletConfig(ctx context.Context, _ *ptypes.Empty) (*pb.WalletR
}
var keymanagerKind pb.KeymanagerKind
switch s.wallet.KeymanagerKind() {
case v2keymanager.Derived:
case keymanager.Derived:
keymanagerKind = pb.KeymanagerKind_DERIVED
case v2keymanager.Direct:
case keymanager.Direct:
keymanagerKind = pb.KeymanagerKind_DIRECT
case v2keymanager.Remote:
case keymanager.Remote:
keymanagerKind = pb.KeymanagerKind_REMOTE
}
f, err := s.wallet.ReadKeymanagerConfigFromDisk(ctx)
@@ -286,7 +286,7 @@ func (s *Server) ChangePassword(ctx context.Context, req *pb.ChangePasswordReque
return nil, status.Error(codes.InvalidArgument, "Could not validate wallet password input")
}
switch s.wallet.KeymanagerKind() {
case v2keymanager.Direct:
case keymanager.Direct:
km, ok := s.keymanager.(*direct.Keymanager)
if !ok {
return nil, status.Error(codes.FailedPrecondition, "Not a valid direct keymanager")
@@ -298,7 +298,7 @@ func (s *Server) ChangePassword(ctx context.Context, req *pb.ChangePasswordReque
if err := km.RefreshWalletPassword(ctx); err != nil {
return nil, status.Errorf(codes.Internal, "Could not refresh wallet password: %v", err)
}
case v2keymanager.Derived:
case keymanager.Derived:
km, ok := s.keymanager.(*derived.Keymanager)
if !ok {
return nil, status.Error(codes.FailedPrecondition, "Not a valid derived keymanager")
@@ -310,7 +310,7 @@ func (s *Server) ChangePassword(ctx context.Context, req *pb.ChangePasswordReque
if err := km.RefreshWalletPassword(ctx); err != nil {
return nil, status.Errorf(codes.Internal, "Could not refresh wallet password: %v", err)
}
case v2keymanager.Remote:
case keymanager.Remote:
return nil, status.Error(codes.Internal, "Cannot change password for remote keymanager")
}
return &ptypes.Empty{}, nil
@@ -324,7 +324,7 @@ func (s *Server) ImportKeystores(
if s.wallet == nil {
return nil, status.Error(codes.FailedPrecondition, "No wallet initialized")
}
keymanager, ok := s.keymanager.(*direct.Keymanager)
km, ok := s.keymanager.(*direct.Keymanager)
if !ok {
return nil, status.Error(codes.FailedPrecondition, "Only Non-HD wallets can import keystores")
}
@@ -335,11 +335,11 @@ func (s *Server) ImportKeystores(
if req.KeystoresImported == nil || len(req.KeystoresImported) < 1 {
return nil, status.Error(codes.InvalidArgument, "No keystores included for import")
}
keystores := make([]*v2keymanager.Keystore, len(req.KeystoresImported))
keystores := make([]*keymanager.Keystore, len(req.KeystoresImported))
importedPubKeys := make([][]byte, len(req.KeystoresImported))
for i := 0; i < len(req.KeystoresImported); i++ {
encoded := req.KeystoresImported[i]
keystore := &v2keymanager.Keystore{}
keystore := &keymanager.Keystore{}
if err := json.Unmarshal([]byte(encoded), &keystore); err != nil {
return nil, status.Errorf(codes.InvalidArgument, "Not a valid EIP-2335 keystore JSON file: %v", err)
}
@@ -351,8 +351,8 @@ func (s *Server) ImportKeystores(
importedPubKeys[i] = pubKey
}
// Import the uploaded accounts.
if err := v2.ImportAccounts(ctx, &v2.ImportAccountsConfig{
Keymanager: keymanager,
if err := accounts.ImportAccounts(ctx, &accounts.ImportAccountsConfig{
Keymanager: km,
Keystores: keystores,
AccountPassword: req.KeystoresPassword,
}); err != nil {

View File

@@ -14,10 +14,10 @@ import (
"github.com/prysmaticlabs/prysm/shared/event"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
v2 "github.com/prysmaticlabs/prysm/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/validator/accounts/v2/wallet"
v2keymanager "github.com/prysmaticlabs/prysm/validator/keymanager/v2"
"github.com/prysmaticlabs/prysm/validator/keymanager/v2/direct"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
"github.com/prysmaticlabs/prysm/validator/keymanager"
"github.com/prysmaticlabs/prysm/validator/keymanager/direct"
keystorev4 "github.com/wealdtech/go-eth2-wallet-encryptor-keystorev4"
)
@@ -26,10 +26,10 @@ func createDirectWalletWithAccounts(t testing.TB, numAccounts int) (*Server, [][
defaultWalletPath = localWalletDir
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -55,7 +55,7 @@ func createDirectWalletWithAccounts(t testing.TB, numAccounts int) (*Server, [][
require.NoError(t, err)
cryptoFields, err := encryptor.Encrypt(privKey.Marshal(), strongPass)
require.NoError(t, err)
item := &v2keymanager.Keystore{
item := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),
@@ -118,7 +118,7 @@ func TestServer_CreateWallet_Direct(t *testing.T) {
require.NoError(t, err)
cryptoFields, err := encryptor.Encrypt(privKey.Marshal(), strongPass)
require.NoError(t, err)
item := &v2keymanager.Keystore{
item := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),
@@ -183,10 +183,10 @@ func TestServer_WalletConfig(t *testing.T) {
walletDir: defaultWalletPath,
}
// We attempt to create the wallet.
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -226,10 +226,10 @@ func TestServer_ChangePassword_Preconditions(t *testing.T) {
})
assert.ErrorContains(t, noWalletMsg, err)
// We attempt to create the wallet.
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -271,10 +271,10 @@ func TestServer_ChangePassword_DerivedKeymanager(t *testing.T) {
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
// We attempt to create the wallet.
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -324,10 +324,10 @@ func TestServer_HasWallet(t *testing.T) {
}, resp)
// We attempt to create the wallet.
_, err = v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
_, err = accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -345,10 +345,10 @@ func TestServer_ImportKeystores_FailedPreconditions_WrongKeymanagerKind(t *testi
defaultWalletPath = localWalletDir
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Derived,
KeymanagerKind: keymanager.Derived,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -369,10 +369,10 @@ func TestServer_ImportKeystores_FailedPreconditions(t *testing.T) {
defaultWalletPath = localWalletDir
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -406,10 +406,10 @@ func TestServer_ImportKeystores_OK(t *testing.T) {
defaultWalletPath = localWalletDir
ctx := context.Background()
strongPass := "29384283xasjasd32%%&*@*#*"
w, err := v2.CreateWalletWithKeymanager(ctx, &v2.CreateWalletConfig{
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
KeymanagerKind: v2keymanager.Direct,
KeymanagerKind: keymanager.Direct,
WalletPassword: strongPass,
},
SkipMnemonicConfirm: true,
@@ -435,7 +435,7 @@ func TestServer_ImportKeystores_OK(t *testing.T) {
require.NoError(t, err)
cryptoFields, err := encryptor.Encrypt(privKey.Marshal(), strongPass)
require.NoError(t, err)
item := &v2keymanager.Keystore{
item := &keymanager.Keystore{
Crypto: cryptoFields,
ID: id.String(),
Version: encryptor.Version(),