remove msas (always allowed) remove unsort_ms (always allowed) rework fake_txn # Conflicts: # cli/signit.py # releases/ChangeLog.md # releases/History-Mk4.md # releases/Next-ChangeLog.md # releases/signatures.txt # shared/actions.py # shared/address_explorer.py # shared/auth.py # shared/backups.py # shared/chains.py # shared/decoders.py # shared/descriptor.py # shared/display.py # shared/export.py # shared/flow.py # shared/lcd_display.py # shared/multisig.py # shared/nfc.py # shared/notes.py # shared/nvstore.py # shared/ownership.py # shared/paper.py # shared/psbt.py # shared/qrs.py # shared/seed.py # shared/serializations.py # shared/utils.py # shared/ux.py # shared/ux_mk4.py # shared/ux_q1.py # shared/version.py # shared/wallet.py # shared/xor_seed.py # stm32/COLDCARD_MK4/file_time.c # stm32/COLDCARD_Q1/file_time.c # stm32/MK4-Makefile # stm32/Q1-Makefile # testing/conftest.py # testing/helpers.py # testing/test_address_explorer.py # testing/test_backup.py # testing/test_bbqr.py # testing/test_export.py # testing/test_msg.py # testing/test_multisig.py # testing/test_notes.py # testing/test_ownership.py # testing/test_sign.py # testing/test_unit.py # testing/txn.py
59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
# (c) Copyright 2020 by Coinkite Inc. This file is covered by license found in COPYING-CC.
|
|
#
|
|
# exceptions.py - Exceptions defined by us.
|
|
#
|
|
|
|
# Caution: limited ability in Micropython to override system exceptions.
|
|
|
|
# USB framing error
|
|
class FramingError(RuntimeError):
|
|
pass
|
|
|
|
# never used
|
|
#class CCUserRefused(RuntimeError): pass
|
|
|
|
# Coldcard UX is busy with some other request
|
|
class CCBusyError(RuntimeError):
|
|
pass
|
|
|
|
# HSM is blocking your action
|
|
class HSMDenied(RuntimeError):
|
|
pass
|
|
|
|
class HSMCMDDisabled(RuntimeError):
|
|
pass
|
|
|
|
# PSBT / transaction related
|
|
class FatalPSBTIssue(RuntimeError):
|
|
pass
|
|
|
|
class FraudulentChangeOutput(FatalPSBTIssue):
|
|
def __init__(self, out_idx, msg):
|
|
super().__init__('Output#%d: %s' % (out_idx, msg))
|
|
|
|
class IncorrectUTXOAmount(FatalPSBTIssue):
|
|
def __init__(self, in_idx, msg):
|
|
super().__init__('Input#%d: %s' % (in_idx, msg))
|
|
|
|
# This signals the need to switch from current
|
|
# menu (or whatever) to show something new. The
|
|
# stack has already been updated, but the old
|
|
# top-of-stack code was waiting for a key event.
|
|
#
|
|
class AbortInteraction(BaseException):
|
|
pass
|
|
|
|
# Useful text to show user when we can't handle a QR
|
|
class QRDecodeExplained(ValueError):
|
|
pass
|
|
|
|
# Text about the problem w/ a address during search
|
|
class UnknownAddressExplained(ValueError):
|
|
pass
|
|
|
|
# We're not going to co-sign using CCC feature
|
|
class CCCPolicyViolationError(RuntimeError):
|
|
pass
|
|
|
|
# EOF
|