feat(swap): persist active swap deals to db #1080
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit persists the state of swap deals to the database upon each phase change once a deal has been accepted to. This is done to be able to prevent loss of funds and recover gracefully from any active swaps should
xud
crash unexpectedly.This is the first step towards closing #1079.
I wound up leaving the existing phases as is, and just updated the comments instead and renamed
SwapAgreed
toSwapAccepted
to align with our terminology elsewhere. I started adding separate phases for maker/taker but it would've required changing quite a few lines of code, and ultimately for recovery purposes we can determine the precise state by looking at bothphase
androle
.