Skip to content

External signer wallet create and send#547

Open
johnny9 wants to merge 11 commits intobitcoin-core:qt6from
johnny9:external-signer
Open

External signer wallet create and send#547
johnny9 wants to merge 11 commits intobitcoin-core:qt6from
johnny9:external-signer

Conversation

@johnny9
Copy link
Copy Markdown
Collaborator

@johnny9 johnny9 commented Apr 9, 2026

06-mock-signer-detected 07-add-wallet-flow-opened 09-external-wallet-form-opened 11-external-wallet-created 19-no-signer-review-displayed 23-signer-approval-completed 20-no-signer-review-error-surfaced

@johnny9 johnny9 changed the title Create external signer wallet External signer wallet create and send Apr 13, 2026
@johnny9
Copy link
Copy Markdown
Collaborator Author

johnny9 commented Apr 13, 2026

Related to #525

Copy link
Copy Markdown
Contributor

@epicleafies epicleafies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All tests pass expect the qml_test_external_signer.py. There's also some other non-blocking issues.
22f0b7d

}
}

ContinueButton {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be centered on the page.

}
}

Separator {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separator at the bottom is inconsistent with rest of app design.

}

ContinueButton {
id: confimationButton
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: confirmation misspelled, pre-existing but can fix here

return QString::number(m_amount + m_fee);
}

BitcoinAmount* WalletQmlModelTransaction::totalAmount() const
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: only used in tests, probably should be removed if not used by qml.

#include <qml/models/sendrecipientslistmodel.h>
#include <qml/models/walletqmlmodeltransaction.h>

#include <common/args.h>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: unused imports: common/args.h, common/settings.h, univalue.h (may be needed by cpp, if so should only appear there).

}
}

ContinueButton {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UX: The button can be enabled or disabled but even when enabled the verification can still fail. Seems like it should not ever be disabled and all logic for checking the path should be in the button or the button should only be enabled when the device is valid and the button is just for proceeding. Not sure why logic is split.

onTextChanged: walletController.clearWalletLoadStatus()
}

CoreText {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UX: Error message for using name of wallet that already exists is too technical, should probably be something like "Wallet with this name already exists." Detailed error should be viewable in debug log or similar if user wants details. (May not be in scope)

}
Component {
id: external_confirm
CreateConfirm {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Back button probably shouldn't be on the confirm screen as the action taken to get here isn't reversible.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The multiple send review page style should match the style of the send page. Maybe a single send review component?

font.pixelSize: 15
color: Theme.color.neutral9
}
LabeledValueField {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UI: The note text is left shifted when everything else is right shifted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants