aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2015-02-25 04:58:42 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2015-02-25 04:58:42 +0800
commited90efb05b2cfedf36c263f6974b8748d757a543 (patch)
tree934ddd0c2d3ff22a004d727348aaa6fd2d93fec1
parent5a43173e5599b0f2eceb057b636bc45c4d51919b (diff)
parent923950ccaaa4f9c1c0cebfbdd99fb0f16c47fd37 (diff)
downloaddexon-ed90efb05b2cfedf36c263f6974b8748d757a543.tar.gz
dexon-ed90efb05b2cfedf36c263f6974b8748d757a543.tar.zst
dexon-ed90efb05b2cfedf36c263f6974b8748d757a543.zip
Merge pull request #378 from Gustav-Simonsson/fix_account_manager_tests
Fix key store address hex decoding and accounts test
-rw-r--r--accounts/account_manager.go4
-rw-r--r--accounts/accounts_test.go14
-rw-r--r--crypto/key_store_plain.go7
3 files changed, 22 insertions, 3 deletions
diff --git a/accounts/account_manager.go b/accounts/account_manager.go
index da0bd8900..f7a7506ba 100644
--- a/accounts/account_manager.go
+++ b/accounts/account_manager.go
@@ -56,6 +56,10 @@ func NewAccountManager(keyStore crypto.KeyStore2) AccountManager {
return *am
}
+func (am AccountManager) DeleteAccount(address []byte, auth string) error {
+ return am.keyStore.DeleteKey(address, auth)
+}
+
func (am *AccountManager) Sign(fromAccount *Account, keyAuth string, toSign []byte) (signature []byte, err error) {
key, err := am.keyStore.GetKey(fromAccount.Address, keyAuth)
if err != nil {
diff --git a/accounts/accounts_test.go b/accounts/accounts_test.go
index 127334404..4e97de545 100644
--- a/accounts/accounts_test.go
+++ b/accounts/accounts_test.go
@@ -9,7 +9,7 @@ import (
)
func TestAccountManager(t *testing.T) {
- ks := crypto.NewKeyStorePlain(ethutil.DefaultDataDir())
+ ks := crypto.NewKeyStorePlain(ethutil.DefaultDataDir() + "/testaccounts")
am := NewAccountManager(ks)
pass := "" // not used but required by API
a1, err := am.NewAccount(pass)
@@ -18,4 +18,16 @@ func TestAccountManager(t *testing.T) {
if err != nil {
t.Fatal(err)
}
+
+ // Cleanup
+ accounts, err := am.Accounts()
+ if err != nil {
+ t.Fatal(err)
+ }
+ for _, account := range accounts {
+ err := am.DeleteAccount(account.Address, pass)
+ if err != nil {
+ t.Fatal(err)
+ }
+ }
}
diff --git a/crypto/key_store_plain.go b/crypto/key_store_plain.go
index 255ae0ed7..338a4a2c3 100644
--- a/crypto/key_store_plain.go
+++ b/crypto/key_store_plain.go
@@ -119,8 +119,11 @@ func GetKeyAddresses(keysDirPath string) (addresses [][]byte, err error) {
}
addresses = make([][]byte, len(fileInfos))
for i, fileInfo := range fileInfos {
- addresses[i] = make([]byte, 40)
- addresses[i] = []byte(fileInfo.Name())
+ address, err := hex.DecodeString(fileInfo.Name())
+ if err != nil {
+ continue
+ }
+ addresses[i] = address
}
return addresses, err
}