Make walletdump not crash on non-deterministic wallets

pull/38/head
Michał Sałaban 6 years ago
parent d0dd554e38
commit f5c16b58ef

@ -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:

Loading…
Cancel
Save