-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upgrade(swap): Upgrade bdk library #180
base: master
Are you sure you want to change the base?
Conversation
The new dependencies are part of the bdk upgrade and include the improved wallet code. They, too, depend on sqlite3. However, they use a newer version than we currently use via sqlx. This necessitated the sqlx upgrade. This entailed trivial changes (use Pool directly instead of pool.acquire()). We might have to fix the CI as well, I kept getting compile errors from the macro until I ran swap/sqlx_dev_setup.sh.
Oh boy. It looks like we'll have to upgrade |
That's a bummer but I'd assume it's mostly a few API changes that propogate through the codebase. The Bitcoin protocol hasn't changed. |
Probably. The changelog isn't very clear on that, sadly. |
We also have to consider that this upgrade could be a breaking network upgrade if the serde serialization structures have changed. |
6e6eb9d
to
52e52f1
Compare
…nd for readibility
I haven't looked too much what you are doing here but fyi you do not really need to do any backwards compatability stuff. Our descriptor is derived from our |
The docs recommended that we get the revelation indices of the wallet to speed up the migration, so that's why I kept some of the old wallet code around |
I fixed almost all compile errors now. Only left are |
This is getting close to completion. The GUI successfully starts and migrates from the old wallet. There are some runtime errors regarding amount precision that we still need to fix. |
According to a BDK dev we don't even need to do a full scan when migrating from the old wallet. Since we know the derivation indices a normal sync is sufficient. |
We still need to do a full scan if we are restoring the wallet from our seed but NOT migrating from the older bdk wallet. For example, if one deleted the wallet while keeping the |
We have a dependency conflict again, I submitted a PR to bdk to hopefully bump their dependency on |
I linked to my fork of |
This closes #98.