Skip to content

Add Cypherock X1 device support#828

Open
muzaffarbhat07 wants to merge 19 commits intobitcoin-core:masterfrom
Cypherock:device-support/cypherock-x1
Open

Add Cypherock X1 device support#828
muzaffarbhat07 wants to merge 19 commits intobitcoin-core:masterfrom
Cypherock:device-support/cypherock-x1

Conversation

@muzaffarbhat07
Copy link

Summary of Changes

1. SDK Integration

  • Added cypherock_sdk dependency to enable communication with the Cypherock X1 device.

  • Implemented device connection and communication flow using the SDK interface.

2. Hardware Wallet Client Implementation

  • Introduced CypherockClient(HardwareWalletClient) class.

  • Implemented core functionality required for:

    • Device initialization and communication

    • Address retrieval

    • Transaction signing (legacy transactions only, see limitations below)

Current Limitations

Transaction Signing

  • sign_tx(...) currently supports legacy transactions only.

  • Although Cypherock X1 supports all address types, signing non-legacy transactions is currently blocked due to incomplete PSBT data:

    • For non-legacy inputs, PSBTs contain only witness_utxo

    • Full previous transaction data is missing

    • This prevents proper signing for those address types

Multisig Support

  • Cypherock X1 does not yet support multisig transactions or multisig addresses.

  • Multisig support is currently in progress on the Cypherock side.

Missing / Follow-ups

  • Add unit tests for CypherockClient

  • Add simulator testing (if mandatory by CI standards)

  • Extend sign_tx(...) support once full previous transaction data is available in PSBT

  • Any other missing requirement

@muzaffarbhat07
Copy link
Author

@achow101 Could you review this PR?

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.

1 participant