Fix crash on unknown account sign
This commit is contained in:
2
crypto_dev_signer/error.py
Normal file
2
crypto_dev_signer/error.py
Normal file
@@ -0,0 +1,2 @@
|
||||
class UnknownAccountError(Exception):
|
||||
pass
|
||||
@@ -15,6 +15,7 @@ import sha3
|
||||
from .interface import Keystore
|
||||
from crypto_dev_signer.common import strip_hex_prefix
|
||||
from . import keyapi
|
||||
from crypto_dev_signer.error import UnknownAccountError
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logg = logging.getLogger(__file__)
|
||||
@@ -59,7 +60,10 @@ class ReferenceKeystore(Keystore):
|
||||
'a': safe_address,
|
||||
},
|
||||
)
|
||||
k = r.first()[0]
|
||||
try:
|
||||
k = r.first()[0]
|
||||
except TypeError:
|
||||
raise UnknownAccountError(address)
|
||||
return self._decrypt(k, password)
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ from jsonrpc.exceptions import *
|
||||
from crypto_dev_signer.eth.signer import ReferenceSigner
|
||||
from crypto_dev_signer.eth.transaction import EIP155Transaction
|
||||
from crypto_dev_signer.keystore import ReferenceKeystore
|
||||
from crypto_dev_signer.error import UnknownAccountError
|
||||
|
||||
#logging.basicConfig(level=logging.DEBUG)
|
||||
logg = logging.getLogger()
|
||||
@@ -198,6 +199,9 @@ def start_server():
|
||||
# TODO: handle cases to give better error context to caller
|
||||
logg.error('process error {}'.format(e))
|
||||
csock.send(json.dumps(jsonrpc_error(j['id'], JSONRPCServerError)).encode('utf-8'))
|
||||
except UnknownAccountError as e:
|
||||
logg.error('process unknown account error {}'.format(e))
|
||||
csock.send(json.dumps(jsonrpc_error(j['id'], JSONRPCServerError)).encode('utf-8'))
|
||||
|
||||
csock.close()
|
||||
s.close()
|
||||
|
||||
Reference in New Issue
Block a user