diff --git a/accounts/account_manager.go b/accounts/account_manager.go index fdd7d83e9..646dc8376 100644 --- a/accounts/account_manager.go +++ b/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))