-
Notifications
You must be signed in to change notification settings - Fork 14
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
Support for new on-the-fly funding #113
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Note that we are using a polymorphic serialiser to store the liquidity purchase data in the database (data type is stored in the blob). A new received-with db mapping has been added to handle the optional funding fee type for HTLC payments. Also fixed the database file name when creating the db drivers, due to the testnet3/4 changes.
Payment details are now stored inside the purchase blob. The payment details type in the db table is just for information purpose and is not typed. It is a free text column. The column storing the purchase/lease type is now also a free text column. If it happens to contains legacy lease data, then we apply a special logic to the blob. The classes used for storing/versioning liquidity ads data are moved in a liquidity ads package. The serialiser for LiquidityAds.FundingFee has been removed (instead we use the same pattern as the other liquidity data). The methods from moving to the canonical data to the versioned db data have been rename: asDb(), asCanonical().
Leverages improvements in ACINQ/lightning-kmp#706.
vincenzopalazzo
pushed a commit
to vincenzopalazzo/phoenixd
that referenced
this pull request
Nov 7, 2024
Adds support for liquidity-ads based protocol for on-the-fly liquidity as specified in lightning/blips#36 and lightning/blips#41, implemented respectively in ACINQ/lightning-kmp#649 and ACINQ/lightning-kmp#660. ### Lightning-kmp update Phoenixd now uses the main branch of `lightning-kmp` (v1.8.0). ### Database update - `LiquidityAds.Lease` is replaced by `LiquidityAds.Purchase`, so we need to update the liquidity table. - the `receivedWith` data have been updated in lightning-kmp, and we need a new `Part.Htlc.V1` object that may contain a `LiquidityAds.FundingFee`. With the `Lease->Purchase` change, we've updated our pattern for versioning database objects. We now have `asDb()` & `asCanonical()` mapping methods and store the type of the db object inside the json (which means we don't need the `type` column anymore, except for convenience). --------- Co-authored-by: pm47 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds support for liquidity-ads based protocol for on-the-fly liquidity as specified in lightning/blips#36 and lightning/blips#41, implemented respectively in ACINQ/lightning-kmp#649 and ACINQ/lightning-kmp#660.
Lightning-kmp update
Phoenixd now uses the main branch of
lightning-kmp
(v1.8.0).Database update
LiquidityAds.Lease
is replaced byLiquidityAds.Purchase
, so we need to update the liquidity table.receivedWith
data have been updated in lightning-kmp, and we need a newPart.Htlc.V1
object that may contain aLiquidityAds.FundingFee
.With the
Lease->Purchase
change, we've updated our pattern for versioning database objects. We now haveasDb()
&asCanonical()
mapping methods and store the type of the db object inside the json (which means we don't need thetype
column anymore, except for convenience).