Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- **Easy Multisig-Wallet Setup**
- [Step-by-Step instructions](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) for a secure MultiSig setup with [PDF backup sheets](https://bitcoin-safe.org/en/features/pdf-export/)
- [Test transactions](https://bitcoin-safe.org/en/knowledge/setup-multisig-wallet/) ensure that all hardware signers are ready
- Full support for [Coldcard Q](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-q/), [Coldcard Mk4](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-mk4/), [BitBox02 / BitBox02 Nova](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/bitbox02/), [Foundation Passport](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/passport/), [Jade](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade/), [Jade Plus](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade-plus/), [Trezor Safe 3 & 5](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/trezor/), [Keystone](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/keystone/), [Ledger Nano S / S Plus / X / Flex](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/ledger/), [Specter DIY / Shield / Shield Lite](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/specter/), [SeedSigner](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/seedsigner/), [Krux](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/krux/), using *QR*, *USB*, and *SD-card*
- Full support for [Coldcard Q](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-q/), [Coldcard Mk4](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-mk4/), [Coldcard Mk5](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/coldcard-mk5/), [BitBox02 / BitBox02 Nova](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/bitbox02/), [Foundation Passport](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/passport/), [Jade](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade/), [Jade Plus](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/jade-plus/), [Trezor Safe 3 & 5](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/trezor/), [Keystone](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/keystone/), [Ledger Nano S / S Plus / X / Flex](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/ledger/), [Specter DIY / Shield / Shield Lite](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/specter/), [SeedSigner](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/seedsigner/), [Krux](https://bitcoin-safe.org/en/knowledge/supported-hardware-signers/krux/), using *QR*, *USB*, and *SD-card*
- **Secure**: [Hardware signers only](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/)
- [All wallets require hardware signers/wallets](https://bitcoin-safe.org/en/knowledge/hardware-signer-only/) for safe seed storage
- Powered by **[BDK](https://github.com/bitcoindevkit/bdk)**
Expand Down
4 changes: 2 additions & 2 deletions bitcoin_safe/gui/qt/step_progress_bar.py
Original file line number Diff line number Diff line change
Expand Up @@ -914,10 +914,10 @@ def init_ui(self) -> None:
self._layout = QVBoxLayout(self)

# Buttons to navigate through steps
next_button = QPushButton("Next Step")
next_button = QPushButton("Next Step", self)
next_button.clicked.connect(self.next_index)

prev_button = QPushButton("Previous Step")
prev_button = QPushButton("Previous Step", self)
prev_button.clicked.connect(self.prev_index)

self._layout.addWidget(
Expand Down
16 changes: 1 addition & 15 deletions bitcoin_safe/gui/qt/wizard.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ def __init__(self, refs: WizardTabInfo, loop_in_thread: LoopInThread) -> None:
cancel_text="",
parent=refs.container,
)
self.buttonbox.setVisible(False)
self.signal_tracker.connect(
cast(SignalProtocol[[]], self.refs.qtwalletbase.signals.language_switch), self.updateUi
)
Expand Down Expand Up @@ -457,21 +458,6 @@ def updateUi(self) -> None:
)
)

# self.button_buybitbox.setText(self.tr("Buy a {name}").format(name="Bitbox02\nBitcoin Only Edition"))
# self.button_buycoldcard.setText(self.tr("Buy a Coldcard Mk4"))
# self.button_buy_q.setText(self.tr("Buy a Coldcard Q"))
# self.button_buyjade.setText(self.tr("Buy a Blockstream Jade"))
# self.label_turn_on.setText(
# html_f(
# self.tr("Buy {n} hardware signers").format(n=self.num_keystores())
# if self.num_keystores() > 1
# else self.tr("Buy the hardware signer"),
# add_html_and_body=True,
# p=True,
# size=12,
# ),
# )


class StickerTheHardware(BaseTab):
@staticmethod
Expand Down
2 changes: 1 addition & 1 deletion bitcoin_safe/hardware_signers.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def icon_name(self):
class HardwareSigners:
coldcard = HardwareSigner(
"coldcard",
"Coldcard-Mk4",
"Coldcard-Mk4/5",
usb_preferred=False,
qr_types=[],
descriptor_export_types=[DescriptorExportTypes.coldcard],
Expand Down
6 changes: 4 additions & 2 deletions tests/gui/qt/test_wallet_features.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
from bitcoin_safe.gui.qt.register_multisig import RegisterMultisigInteractionWidget
from bitcoin_safe.gui.qt.settings import Settings
from bitcoin_safe.hardware_signers import DescriptorQrExportTypes
from bitcoin_safe.util import filename_clean

from ...faucet import Faucet
from ...helpers import TestConfig
Expand Down Expand Up @@ -367,8 +368,9 @@ def callback(dialog: RegisterMultisigInteractionWidget) -> None:
)
else:
# Export to a file (including incomplete extensions).
filename = (
Path(temp_dir) / f"file_{action.text()}.t"
filename = Path(temp_dir) / filename_clean(
f"file_{action.text()}",
file_extension=".t",
) # check that it also works with incomplete extensions
with patch(
"bitcoin_safe.descriptor_export_tools.save_file_dialog"
Expand Down
Loading