Skip to content

Conversation

@yilmazbahadir
Copy link

@yilmazbahadir yilmazbahadir commented Jan 14, 2026

Summary

This PR adds comprehensive support for Lattice1 hardware wallet integration, enabling users to connect and sign transactions for Cosmos, Ethereum (EVM), and Bitcoin chains.

Key Changes

Backend Services

  • New Lattice1 Keyring Service (packages/background/src/keyring-lattice1/)
    • Implements keyring creation and management for Lattice1 devices
    • Handles device credentials and account derivation
    • Supports Wi-Fi pairing via GridPlus SDK

Signing Support

  • Cosmos Transactions: Direct (Protobuf) signing mode only
  • Ethereum Transactions: Message signing, EIP-712, and transaction signing
  • Bitcoin Transactions: Message and transaction signing with support for different payment types (P2PKH, P2WPKH, P2TR) -- WIP!!!

UI Components

  • Connection Flow: New registration scene for Lattice1 device pairing
  • Signing UI: Guide boxes and error handling for Lattice1 interactions
  • Wallet Selection: Lattice1 accounts displayed in wallet selection page
  • Icons: Light and dark mode icons for Lattice1 branding

Integration Points

  • Integrated with existing keyring infrastructure (similar to Ledger/Keystone)
  • Added to chain enablement filters (excludes Starknet, filters Bitcoin by BIP44 purpose)
  • Token scan support for Lattice1 accounts
  • Account icon display in main UI

Dependencies

  • Added gridplus-sdk@^4.0.0 for Lattice1 device communication

Localization

  • Added translations for English, Korean, and Chinese (Simplified)
  • Includes connection instructions, error messages, and signing prompts

Technical Details

  • Uses Wi-Fi pairing (no USB/HID required)
  • Supports custom endpoint configuration
  • BIP44 path derivation and validation
  • Error handling with user-friendly messages
  • Follows existing patterns from Ledger/Keystone implementations

Testing Considerations

  • Verify Lattice1 device pairing over Wi-Fi
  • Test signing flows for Cosmos (Direct mode only), Ethereum, and Bitcoin
  • Validate error handling for connection failures
  • Confirm UI displays correctly in light/dark modes
  • Test with multiple accounts and chains

Screenshots

@vercel
Copy link

vercel bot commented Jan 14, 2026

@yilmazbahadir is attempting to deploy a commit to the Keplr Team on Vercel.

A member of the Team first needs to authorize it.

- Add Bitcoin message signing support for Lattice1 devices
- Add Bitcoin transaction (PSBT) signing support for Lattice1
- Implement Lattice1 Bitcoin signing utilities (ECDSA messages and PSBT transactions)
- Add Bitcoin public key derivation support in KeyRingLattice1Service
- Filter and enable Bitcoin chains for Lattice1 during registration
- Support Bitcoin purposes 44, 49, and 84 (Legacy, SegWit, Native SegWit)
- Add Lattice1GuideBox components to Bitcoin signing views
- Handle Lattice1-specific signing constraints (SIGHASH_ALL only, single recipient)
- Remove IOV (coin type 234) from default paths
- Add coin type 505 to default paths
- Add THORChain (coin type 931) to default paths
- Update DEFAULT_COIN_TYPES array to reflect changes
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