forked from lightningnetwork/lnd
-
Notifications
You must be signed in to change notification settings - Fork 0
G7 #140
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
Open
ellemouton
wants to merge
60
commits into
master
Choose a base branch
from
g7
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
G7 #140
Conversation
This file contains hidden or 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
Pull reviewers statsStats of the last 30 days for lnd:
|
ad218b6
to
3cea90d
Compare
f216c0a
to
46d4776
Compare
To prepare for the addition of ChannelAuthProof2 along with a ChannelAuthProof interface, rename ChannelAuthProof to ChannelAuthProof1.
In preparation for the addition of ChannelEdgePolicy2 and a ChannelEdgePolicy interface, rename ChannelEdgePolicy to ChannelEdgePolicy1.
In preparaion for adding ChannelEdgeInfo2 and a ChannelEdgeInfo interface, rename ChannelEdgeInfo to ChannelEdgeInfo1.
Add new ChannelEdgeInfo and ChannelAuthProof interfaces and ensure that they are implemented by ChannelEdgeInfo1 and ChannelAuthProof respectively.
And ensure that ChannelEdgePolicy1 implements it.
And ensure that it implements the ChannelEdgeInfo interface.
And ensure that it implements the ChannelEdgePoicy interface.
This commit moves the serialisation, deserialisation and update functions for ChannelEdgePolicy1 and ChannelEdgeInfo1 into their own files.
In this commit, we update the `putChanEdgeInfo` function to take in the models.ChannelEdgeInfo interface. If the passed value is the legacy models.ChannelEdgeInfo1, then the encoding and decoding remains the same but if it is the new models.ChannelEdgeInfo2 then: - the encoding will be prefixed with a 0xff byte. This should not clash with the encoding of the legacy struct since that encoding will always start with a pub key (of node 1) which means it will always start with 0x02 or 0x03. - The 0xff is then followed by a type-byte which will be used to identify the encoding that follows (this is to make it future proof). For now, there is only one possible type-byte here. - This is then followed by the TLV encoding of ChannelEdgeInfo2.
Similarly to the previous commit, here we add the encoding for the new ChannelEdgePolicy2. This is done in the same was as for ChannelEdgeInfo2: - a 0xff prefix - followed by a type-byte - followed by the TLV encoding of the ChannelEdgePolicy2.
In preparation for CachedEdgePolicy being used to represent ChannelEdgePolicy1 or ChannelEdgePolicy2, we update it to have IsDisabled and HasMaxHTLC booleans (which can be extracted from both messages) instead of having the MessageFlags and ChannelFlags which only applies to ChannelEdgePolicy1.
Update the graph cache to use the new ChannelEdgePolicy and ChannelEdgeInfo interfaces where possible.
Add a new ChannelUpdate2 message which can be returned with a Failure. Also add a block_height member to the RoutingPolicy which will be populated when the last_update field is not.
...interface instead of ChannelUpdate1.
In the IsKeepAlive and IsStaleEdgePolicy functions
So that a start block and end block can also be passed in.
In preparation for the signing flow for the ChannelAnnouncement2 message, we add functionality here to store the bitcoin and node nonces sent to us by our peer.
Pull Request Test Coverage Report for Build 11273420909Details
💛 - Coveralls |
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.
Change Description
Description of change / link to associated issue.
Steps to Test
Steps for reviewers to follow to test the change.
Pull Request Checklist
Testing
Code Style and Documentation
[skip ci]
in the commit message for small changes.📝 Please see our Contribution Guidelines for further guidance.