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

Parallelize verify_funding: Tracking libifiication via #10 #16

Open
7 of 10 tasks
DanGould opened this issue Oct 4, 2022 · 1 comment
Open
7 of 10 tasks

Parallelize verify_funding: Tracking libifiication via #10 #16

DanGould opened this issue Oct 4, 2022 · 1 comment

Comments

@DanGould
Copy link
Contributor

DanGould commented Oct 4, 2022

#10 is a big rewrite. Let's integrate it piecemeal so it gets the thorough review it deserves. The following list are the changes from that list that have made it into master.

  • lnd: Contains the lnd-client codebase.
  • scheduler: Contains the business logic of scheduling and "payjoin-channel-funding" requests.
  • api: Contains all the endpoint logic (currently only for HTTP).

lnd:

scheduler:

  • ScheduledPayJoin includes additional member functions for checkout output amounts and generating open_channel messages (from it's scheduled channels). Split Modules from main function #17
  • ScheduledPayJoin::test_connections now tests connections in parallel.
  • Introduce scheduler::ProposalPsbt (which needs a better name), that handles state for satisfying a scheduled payjoin-channel-funding.
  • Introduce SchedulerError for handling error cases instead of panicing.
  • Scheduler contains the business logic.

api:

  • Handles HTTP requests with a given Scheduler and options.
  • Introduce ApiError which can turn into a non-SUCCESS HTTP response instead of panicing.
  • We embed static files into the binary with include_bytes! macro instead of requiring specification of static file location.
@evanlinjin
Copy link
Collaborator

evanlinjin commented Oct 6, 2022

ScheduledPayJoin is what is scheduled by the "admin/controller/owner_of_lnd_noder". Basically saying, "if we get an original psbt (bip 78), which has an output spending to this address, we should schedule these channel opens (which so happens to be formed as a payjoin tx)".

ProposalPsbt is the "state" of handling a receive of an original psbt. Badly named. I am sorry (I think I proposed a better name in the comments).

@DanGould DanGould changed the title Tracking libifiication via #10 Parallelize verify_funding: Tracking libifiication via #10 Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants