Make walletdump not crash on non-deterministic wallets

This commit is contained in:
Michał Sałaban 2018-10-18 23:26:47 +02:00
parent d0dd554e38
commit f5c16b58ef
1 changed files with 7 additions and 2 deletions

View File

@ -4,7 +4,8 @@ import logging
import operator import operator
import re import re
from monero.backends.jsonrpc import JSONRPCWallet from monero import exceptions
from monero.backends.jsonrpc import JSONRPCWallet, RPCError
from monero.wallet import Wallet from monero.wallet import Wallet
def url_data(url): def url_data(url):
@ -54,6 +55,10 @@ print(
addr=a2str(masteraddr), addr=a2str(masteraddr),
total=w.balance(), total=w.balance(),
unlocked=w.balance(unlocked=True))) unlocked=w.balance(unlocked=True)))
try:
seed = w.seed()
except (exceptions.WalletIsNotDeterministic, RPCError): # FIXME: Remove RPCError once PR#4563 is merged in monero
seed = '[--- wallet is not deterministic and has no seed ---]'
print( print(
"Keys:\n" \ "Keys:\n" \
" private spend: {ssk}\n" \ " private spend: {ssk}\n" \
@ -65,7 +70,7 @@ print(
svk=w.view_key(), svk=w.view_key(),
psk=masteraddr.spend_key(), psk=masteraddr.spend_key(),
pvk=masteraddr.view_key(), pvk=masteraddr.view_key(),
seed=w.seed() seed=seed
)) ))
if len(w.accounts) > 1: if len(w.accounts) > 1: