Selaa lähdekoodia

accounts: return ErrNoKeys if key directory does not exist

Felix Lange 10 vuotta sitten
vanhempi
commit
4ba7871374
1 muutettua tiedostoa jossa 7 lisäystä ja 2 poistoa
  1. 7 2
      accounts/account_manager.go

+ 7 - 2
accounts/account_manager.go

@@ -36,6 +36,7 @@ import (
 	"bytes"
 	"crypto/ecdsa"
 	crand "crypto/rand"
+	"os"
 
 	"errors"
 	"sync"
@@ -89,7 +90,9 @@ func (am *Manager) Coinbase() (addr []byte, err error) {
 
 func (am *Manager) firstAddr() ([]byte, error) {
 	addrs, err := am.keyStore.GetKeyAddresses()
-	if err != nil {
+	if os.IsNotExist(err) {
+		return nil, ErrNoKeys
+	} else if err != nil {
 		return nil, err
 	}
 	if len(addrs) == 0 {
@@ -147,7 +150,9 @@ func (am *Manager) NewAccount(auth string) (Account, error) {
 
 func (am *Manager) Accounts() ([]Account, error) {
 	addresses, err := am.keyStore.GetKeyAddresses()
-	if err != nil {
+	if os.IsNotExist(err) {
+		return nil, ErrNoKeys
+	} else if err != nil {
 		return nil, err
 	}
 	accounts := make([]Account, len(addresses))