Describe the enhancement
The bdk_wallet::ChangeSet is what the persistence interfaces with. As suggested by @tnull, this structure should be backwards compatible (in case we make changes to this structure).
An easy solution is to make bdk_wallet::ChangeSet a enum:
#[non_exhaustive]
pub enum ChangeSet {
V0(ChangeSet0),
V1(ChangeSet1), // in the future this may exist
}
// We always convert to the latest version
impl From<ChangeSet0> for ChangeSet1 { /* TODO */ }
Describe the enhancement
The
bdk_wallet::ChangeSetis what the persistence interfaces with. As suggested by @tnull, this structure should be backwards compatible (in case we make changes to this structure).An easy solution is to make
bdk_wallet::ChangeSeta enum: