error for missing channel private key

This commit is contained in:
Victor Shyba 2021-09-17 01:12:58 -03:00
parent dc2ccc4fe8
commit 25aa2f95a5
3 changed files with 11 additions and 2 deletions

View file

@ -52,6 +52,7 @@ Code | Name | Message
405 | ChannelKeyNotFound | Channel signing key not found. 405 | ChannelKeyNotFound | Channel signing key not found.
406 | ChannelKeyInvalid | Channel signing key is out of date. -- For example, channel was updated but you don't have the updated key. 406 | ChannelKeyInvalid | Channel signing key is out of date. -- For example, channel was updated but you don't have the updated key.
407 | DataDownload | Failed to download blob. *generic* 407 | DataDownload | Failed to download blob. *generic*
408 | PrivateKeyNotFound | Couldn't find private key for {key} '{value}'.
410 | Resolve | Failed to resolve '{url}'. 410 | Resolve | Failed to resolve '{url}'.
411 | ResolveTimeout | Failed to resolve '{url}' within the timeout. 411 | ResolveTimeout | Failed to resolve '{url}' within the timeout.
411 | ResolveCensored | Resolve of '{url}' was censored by channel with claim id '{censor_id}'. 411 | ResolveCensored | Resolve of '{url}' was censored by channel with claim id '{censor_id}'.

View file

@ -207,6 +207,14 @@ class DataDownloadError(WalletError):
super().__init__("Failed to download blob. *generic*") super().__init__("Failed to download blob. *generic*")
class PrivateKeyNotFoundError(WalletError):
def __init__(self, key, value):
self.key = key
self.value = value
super().__init__(f"Couldn't find private key for {key} '{value}'.")
class ResolveError(WalletError): class ResolveError(WalletError):
def __init__(self, url): def __init__(self, url):

View file

@ -38,7 +38,7 @@ from lbry.dht.peer import make_kademlia_peer
from lbry.error import ( from lbry.error import (
DownloadSDTimeoutError, ComponentsNotStartedError, ComponentStartConditionNotMetError, DownloadSDTimeoutError, ComponentsNotStartedError, ComponentStartConditionNotMetError,
CommandDoesNotExistError, BaseError, WalletNotFoundError, WalletAlreadyLoadedError, WalletAlreadyExistsError, CommandDoesNotExistError, BaseError, WalletNotFoundError, WalletAlreadyLoadedError, WalletAlreadyExistsError,
ConflictingInputValueError, AlreadyPurchasedError ConflictingInputValueError, AlreadyPurchasedError, PrivateKeyNotFoundError
) )
from lbry.extras import system_info from lbry.extras import system_info
from lbry.extras.daemon import analytics from lbry.extras.daemon import analytics
@ -5333,7 +5333,7 @@ class Daemon(metaclass=JSONRPCServerType):
if len(channels) == 1: if len(channels) == 1:
if for_signing and not channels[0].has_private_key: if for_signing and not channels[0].has_private_key:
# TODO: use error from lbry.error # TODO: use error from lbry.error
raise Exception(f"Couldn't find private key for {key} '{value}'. ") raise PrivateKeyNotFoundError(key, value)
return channels[0] return channels[0]
elif len(channels) > 1: elif len(channels) > 1:
# TODO: use error from lbry.error # TODO: use error from lbry.error