-
Notifications
You must be signed in to change notification settings - Fork 44
Description
The current migration from a 0.X to a 2.0 wallet requires 1 important piece of data: the last revealed index of the wallet. See our docs on migrating.
This is problematic for applications because it means they need to ship (1) the old version of BDK as part of their update (so they can create the old wallet and call Wallet::get_address to see what is the last revealed index), and (2) the new version of bdk_wallet to create the new wallet and use it.
Because applications often don't know which version of their app will perform the upgrade (people skip versions, etc.), they will have to basically forever ship with both versions of BDK to handle that migration.
There is a potential solution to this, and it involves looking at the old SQLite database directly and fetching the last revealed index from it directly, but this approach would need to be certain that all previous versions of the bdk sqlite database are in fact using the same schema (since at heart the db file was never devised to be used by users directly, but rather always by the wallet).
Moving forward, methods on constructors like Wallet::from_previous_bdk_version_db (needs better naming of course) would simplify this migration greatly and would ensure applications can be confident in their upgrade to the newer versions of bdk_wallet.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status