Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web Backend Revert delete rpc #8681

Merged
merged 29 commits into from
Apr 2, 2021
Merged
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8787fb2
added the removed RPC delete account to accounts.go and the rpc in p…
ahadda5 Mar 28, 2021
aae6598
reverted the 3 unit tests namely the failed derived delete, no pub ke…
ahadda5 Mar 28, 2021
1ee713e
strong password defined elsewhere- removed
ahadda5 Mar 28, 2021
d567635
Merge branch 'develop' of https://github.com/prysmaticlabs/prysm into…
ahadda5 Mar 29, 2021
d69b364
Merge branch 'develop' into webbackendrevertDeleteRPC
ahadda5 Mar 29, 2021
618ed6e
Update validator/rpc/accounts_test.go
ahadda5 Mar 29, 2021
521c6af
Merge branch 'webbackendrevertDeleteRPC' of https://github.com/ahadda…
ahadda5 Mar 29, 2021
d26b5e5
added PublicKeys Nil test case
ahadda5 Mar 29, 2021
b3dc745
changed ss to s. ss was a bad name inthe first place
ahadda5 Mar 29, 2021
7348624
goimports -w root
ahadda5 Mar 29, 2021
ce53b7e
fixed the goimports before running the proto scripts, also changed th…
ahadda5 Mar 29, 2021
6f29428
Merge branch 'develop' of https://github.com/prysmaticlabs/prysm into…
ahadda5 Mar 30, 2021
1c22d61
removed unneeded comment
ahadda5 Mar 30, 2021
87a7f75
Merge branch 'develop' into webbackendrevertDeleteRPC
rauljordan Mar 30, 2021
fe31a51
merge from origin
ahadda5 Mar 31, 2021
f20da1a
Merge branch 'webbackendrevertDeleteRPC' of https://github.com/ahadda…
ahadda5 Mar 31, 2021
0bc3918
Merge branch 'develop' into webbackendrevertDeleteRPC
rauljordan Mar 31, 2021
5af168a
added test case for derived, changed delete account to be for both im…
ahadda5 Mar 31, 2021
b836085
gofmt
ahadda5 Mar 31, 2021
4881713
Merge branch 'develop' of https://github.com/prysmaticlabs/prysm into…
ahadda5 Mar 31, 2021
6563ef6
Merge branch 'webbackendrevertDeleteRPC' of https://github.com/ahadda…
ahadda5 Mar 31, 2021
06c0229
unrelated files
ahadda5 Mar 31, 2021
440b57e
unrelated files
ahadda5 Mar 31, 2021
1b96cbe
unrelatedfiles restored
ahadda5 Mar 31, 2021
bb1a358
revert unrelated files
ahadda5 Mar 31, 2021
66ad0f9
changed the last ss
ahadda5 Mar 31, 2021
6d6c410
Merge branch 'develop' into webbackendrevertDeleteRPC
rauljordan Mar 31, 2021
3f7e724
restore imports
ahadda5 Apr 1, 2021
b9eb9e4
Merge branch 'develop' into webbackendrevertDeleteRPC
rauljordan Apr 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
added test case for derived, changed delete account to be for both im…
…ported and derived
ahadda5 committed Mar 31, 2021

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 5af168afdb2f2d5614f23c8d83de957dc23bbba8
1 change: 1 addition & 0 deletions validator/rpc/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -79,6 +79,7 @@ go_test(
"//cmd/validator/flags:go_default_library",
"//proto/validator/accounts/v2:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/event:go_default_library",
"//shared/featureconfig:go_default_library",
"//shared/fileutil:go_default_library",
4 changes: 2 additions & 2 deletions validator/rpc/accounts.go
Original file line number Diff line number Diff line change
@@ -160,8 +160,8 @@ func (s *Server) DeleteAccounts(
if s.wallet == nil || s.keymanager == nil {
return nil, status.Error(codes.FailedPrecondition, "No wallet found")
}
if s.wallet.KeymanagerKind() != keymanager.Imported {
return nil, status.Error(codes.FailedPrecondition, "Only imported wallets can delete accounts")
if s.wallet.KeymanagerKind() != keymanager.Imported && s.wallet.KeymanagerKind() != keymanager.Derived{
return nil, status.Error(codes.FailedPrecondition, "Only Imported or Derived wallets can delete accounts")
}
if err := accounts.DeleteAccount(ctx, &accounts.Config{
Wallet: s.wallet,
27 changes: 19 additions & 8 deletions validator/rpc/accounts_test.go
Original file line number Diff line number Diff line change
@@ -14,6 +14,7 @@ import (
pb "github.com/prysmaticlabs/prysm/proto/validator/accounts/v2"
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/validator/accounts"
"github.com/prysmaticlabs/prysm/validator/accounts/iface"
"github.com/prysmaticlabs/prysm/validator/accounts/wallet"
@@ -161,10 +162,11 @@ func TestServer_BackupAccounts(t *testing.T) {
}
}

func TestServer_DeleteAccounts_FailedPreconditions_WrongKeymanagerKind(t *testing.T) {
func TestServer_DeleteAccounts_FailedPreconditions_DerivedWallet(t *testing.T) {
ctx := context.Background()
localWalletDir := setupWalletDir(t)
defaultWalletPath = localWalletDir
ctx := context.Background()
// We attempt to create the wallet.
w, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
WalletCfg: &wallet.Config{
WalletDir: defaultWalletPath,
@@ -177,32 +179,41 @@ func TestServer_DeleteAccounts_FailedPreconditions_WrongKeymanagerKind(t *testin
km, err := w.InitializeKeymanager(ctx, iface.InitKeymanagerConfig{ListenForChanges: false})
require.NoError(t, err)
s := &Server{
wallet: w,
keymanager: km,
keymanager: km,
walletInitialized: true,
wallet: w,
}
numAccounts := 5
dr, ok := km.(*derived.Keymanager)
require.Equal(t, true, ok)
err = dr.RecoverAccountsFromMnemonic(ctx, constant.TestMnemonic, "", numAccounts)
require.NoError(t, err)

_, err = s.DeleteAccounts(ctx, &pb.DeleteAccountsRequest{
PublicKeysToDelete: nil,
})
assert.ErrorContains(t, "No public keys specified to delete", err)

keys, err := s.keymanager.FetchValidatingPublicKeys(ctx)
require.NoError(t, err)
_, err = s.DeleteAccounts(ctx, &pb.DeleteAccountsRequest{
PublicKeysToDelete: make([][]byte, 1),
PublicKeysToDelete: bytesutil.FromBytes48Array(keys),
})
assert.ErrorContains(t, "Only imported wallets can delete accounts", err)
require.NoError(t, err)
}

func TestServer_DeleteAccounts_FailedPreconditions_NoWallet(t *testing.T) {
s := &Server{}
ctx := context.Background()
_, err := s.DeleteAccounts(ctx, &pb.DeleteAccountsRequest{})
assert.ErrorContains(t, "No public keys specified", err)
assert.ErrorContains(t, "No public keys specified to delete", err)
_, err = s.DeleteAccounts(ctx, &pb.DeleteAccountsRequest{
PublicKeysToDelete: make([][]byte, 1),
})
assert.ErrorContains(t, "No wallet found", err)
}

func TestServer_DeleteAccounts_OK(t *testing.T) {
func TestServer_DeleteAccounts_OK_ImportedWallet(t *testing.T) {
s, pubKeys := createImportedWalletWithAccounts(t, 3)
ctx := context.Background()
keys, err := s.keymanager.FetchValidatingPublicKeys(ctx)