Description
Problem
Transaction drafts can be persisted, but there is no robust version history or mechanism for determining what changed between saved states.
Users working on complex transactions may accidentally overwrite a valid draft and have no way to inspect or restore a previous version.
Solution
Extend transaction draft persistence with immutable version snapshots.
Every meaningful draft update should create a version containing the transaction builder state and metadata. Provide comparison utilities capable of identifying added, removed, and modified operations.
Add rollback functionality that restores a previous version as a new current version rather than destroying history.
Acceptance Criteria
Note for Contributors
Preserve backward compatibility with the existing draft persistence API. Draft history should not silently mutate older versions.
Description
Problem
Transaction drafts can be persisted, but there is no robust version history or mechanism for determining what changed between saved states.
Users working on complex transactions may accidentally overwrite a valid draft and have no way to inspect or restore a previous version.
Solution
Extend transaction draft persistence with immutable version snapshots.
Every meaningful draft update should create a version containing the transaction builder state and metadata. Provide comparison utilities capable of identifying added, removed, and modified operations.
Add rollback functionality that restores a previous version as a new current version rather than destroying history.
Acceptance Criteria
revertDraft(name, version)restores a previous version.compareDraftVersions(name, from, to)returns structured differences.src/transaction/index.tsandsrc/index.ts.Note for Contributors
Preserve backward compatibility with the existing draft persistence API. Draft history should not silently mutate older versions.