Skip to content
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

Interactive Transaction Construction #2419

Merged
merged 1 commit into from
Mar 20, 2024

Commits on Mar 14, 2024

  1. Implement interactive tx construction protocol via `InteractiveTxCons…

    …tructor`
    
    This implements the interactive construction protocol described at
    https://github.com/lightning/bolts/blob/78e5a6b066d3a8e235931dfc06aa325337874749/02-peer-protocol.md?plain=1#L92.
    
    Our implementation includes a state machine with typed states and transitions
    to ensure consumers have compile-time assurances that the protocol is upheld.
    
    States are tracked as in the `StateMachine` enum and can take on all
    possible states during the negotiation.
    
    The states are further divided into two categories, namely by the two traits
    they implement, either `ReceivedMsgState` or `SentMsgState`.
    
    The defined `StateTransitions` enforce the transitions that `ReceivedMsgState`,
    `SentMsgState`, and the `_TxComplete`s can go through.
    
    Co-authored-by: Wilmer Paulino <[email protected]>
    Co-authored-by: Duncan Dean <[email protected]>
    Co-authored-by: Jurvis Tan <[email protected]>
    4 people committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    c56198a View commit details
    Browse the repository at this point in the history