iron-fish / ironfish

A novel cryptocurrency focused on privacy and accessibility.
https://ironfish.network
Mozilla Public License 2.0
967 stars 574 forks source link

handles Ledger 'invalid dkg status' errors #5667

Closed hughy closed 15 hours ago

hughy commented 4 days ago

Summary

if a user attempts to sign a transaction, but their ledger app doesn't have any multisig keys persisted, then the signing operation will fail with an 'invalid dkg status' error. this can happen if the user reinstalls the app or if the user starts creating a new account on the device using bkg, but doesn't finish

the only ways to recover from this error are to restore an encrypted backup to the device, or to create a new multisig account using the device. since the error shows up during signing, we can infer that the user expects to have an account on the device and should be instructed to restore the backup

Closes IFL-3151

Testing Plan

manual testing:

  1. create multisig ledger account
  2. create a transaction to sign using the multisig account(s)
  3. reinstall the ironfish dkg app to clear the account keys from the device's storage
  4. attempt to sign the transaction to produce the error

Documentation

Does this change require any updates to the Iron Fish Docs (ex. the RPC API Reference)? If yes, link a related documentation pull request for the website.

[ ] Yes

Breaking Change

Is this a breaking change? If yes, add notes below on why this is breaking and label it with breaking-change-rpc or breaking-change-sdk.

[ ] Yes