diff --git a/shared/ccc.py b/shared/ccc.py index 397b7ce0..90eb801f 100644 --- a/shared/ccc.py +++ b/shared/ccc.py @@ -81,7 +81,6 @@ class SpendingPolicy(dict): # not safe to sign any txn w/ warnings: might be complaining about # massive miner fees, or weird OP_RETURN stuff if psbt.warnings: - print("WARN: %r" % psbt.warnings) raise SpendPolicyViolation("has warnings") # Magnitude: size limits for output side (non change) diff --git a/shared/decoders.py b/shared/decoders.py index a259dd81..2e1505c3 100644 --- a/shared/decoders.py +++ b/shared/decoders.py @@ -139,6 +139,11 @@ def decode_qr_result(got, expect_secret=False, expect_text=False, expect_bbqr=Fa elif ty in 'RSE': # key-teleport related + + from pincodes import pa + if pa.hobbled_mode and ty != 'E': + raise QRDecodeExplained("KT Blocked") + if ty == 'R' and len(got) != 33: raise QRDecodeExplained("Truncated KT RX") diff --git a/shared/flow.py b/shared/flow.py index 372a920c..3ddf6c43 100644 --- a/shared/flow.py +++ b/shared/flow.py @@ -491,7 +491,7 @@ HobbledFileMgmtMenu = [ MenuItem('Sign Text File', f=sign_message_on_sd), MenuItem('Batch Sign PSBT', f=batch_sign), MenuItem('List Files', f=list_files), - MenuItem('Export Wallet', predicate=has_secrets, menu=WalletExportMenu), #dup elsewhere + MenuItem('Export Wallet', menu=WalletExportMenu), # dup under Adv/Tools MenuItem('Verify Sig File', f=verify_sig_file), MenuItem('NFC File Share', predicate=nfc_enabled, f=nfc_share_file, shortcut=KEY_NFC), MenuItem('BBQr File Share', predicate=version.has_qr, f=qr_share_file, arg=True), @@ -516,7 +516,7 @@ HobbledNFCToolsMenu = [ HobbledAdvancedMenu = [ # xxxxxxxxxxxxxxxx MenuItem("File Management", menu=HobbledFileMgmtMenu), - MenuItem('Export Wallet', predicate=has_secrets, menu=WalletExportMenu, shortcut='x'), # also inside FileMgmt + MenuItem('Export Wallet', menu=WalletExportMenu, shortcut='x'), # also inside FileMgmt MenuItem('Teleport Multisig PSBT', predicate=qr_and_ms, f=kt_send_file_psbt), MenuItem("View Identity", f=view_ident), MenuItem('Paper Wallets', f=make_paper_wallet), diff --git a/shared/notes.py b/shared/notes.py index ddb2dd4e..6a5d2a6d 100644 --- a/shared/notes.py +++ b/shared/notes.py @@ -21,6 +21,8 @@ from utils import problem_file_line, url_unquote, wipe_if_deltamode ONE_LINE = CHARS_W-2 async def make_notes_menu(*a): + from pincodes import pa + if pa.hobbled_mode: # Read only version of menu system # - used when spending policy in effect diff --git a/shared/teleport.py b/shared/teleport.py index f4e2eada..37f8db3b 100644 --- a/shared/teleport.py +++ b/shared/teleport.py @@ -484,7 +484,7 @@ async def kt_incoming(type_code, payload): from pincodes import pa if pa.hobbled_mode and type_code != 'E': # only PSBT rx is supported in hobbled mode - # TODO: fail silently? good enough? + # fail silently, this is second check, see decoders.py return if type_code == 'R':