Skip to content

Feature Parity 20: Sign and Verify Message Flow #524

@johnny9

Description

@johnny9

Summary

Provide message signing and verification screens with parity behavior and warnings.

Complexity

  • M

Dependencies

  • 10
  • 15
  • 02

Global Constraints

  • All implementation lives under gui-qml/.
  • No GUI runtime dependency on bitcoin/src/qt components. Reused logic must be moved/ported into gui-qml/.
  • Do not change interfaces::Wallet or interfaces::Node in this version.
  • Issue completion must satisfy DefinitionOfDone.md.

Scope

  • Add sign message flow using wallet sign API for eligible addresses.
  • Add verify message flow using local verification utilities.
  • Include phishing/safety warning copy and reset/copy helpers.
  • Integrate address selection from contacts/address book when available.

Acceptance Criteria (DoD-Aligned)

  1. User can sign message for valid wallet-owned signing address and copy signature.
  2. User can verify signature/address/message combinations with correct success/failure states.
  3. Unsupported address types are clearly explained.

Required Tests

  • C++ unit tests: Unit tests for sign/verify adapter and validation logic.
  • QML QTest: QTests for input validation, success/error states, and reset actions.
  • Python E2E (qml/test/testbridge.h): E2E flow for valid sign/verify and invalid signature failure case.

Implementation Notes

  • No reliance on qt/signverifymessagedialog.*.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions