From 283f914b9569463fff7ac970ff4294f93021112b Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Mon, 22 Feb 2021 16:16:41 -0800 Subject: [PATCH] waddrmgr: return err when priv key is requested for watch-only addr --- waddrmgr/address.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/waddrmgr/address.go b/waddrmgr/address.go index 49c6a26..3763a1c 100644 --- a/waddrmgr/address.go +++ b/waddrmgr/address.go @@ -151,6 +151,12 @@ func (a *managedAddress) unlock(key EncryptorDecryptor) ([]byte, error) { a.privKeyMutex.Lock() defer a.privKeyMutex.Unlock() + // If the address belongs to a watch-only account, the encrypted private + // key won't be present, so we'll return an error. + if len(a.privKeyEncrypted) == 0 { + return nil, managerError(ErrWatchingOnly, errWatchingOnly, nil) + } + if len(a.privKeyCT) == 0 { privKey, err := key.Decrypt(a.privKeyEncrypted) if err != nil {