-
Notifications
You must be signed in to change notification settings - Fork 224
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
Run gateway as Core-Lightning plugin #174
Conversation
dc51809
to
591353a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding the integration tests, does this change any behavior that would need testing?
If not, perhaps you can just modify the integrationtests/README.md
so that users can run the LN plugin locally when testing with the real fixtures.
Additionally scripts/latencytest.sh
probably needs a small update.
This doesn't change any behavior W.R.T. existing integration tests like
One tricky thing here is that we'd need to pass the Another tricky thing is that the plugin would really need to be reloadable per-test, because the federation details might change every test. I think the best option here would be to add a This could happen in a follow-on PR.
I didn't even know about latencytest.sh! Will do. |
Perhaps it's sufficient that is handled via the shell scripts, although I guess we need to expose a new CLI command for that.
Ah, yes the current tests only use an in-memory DB, although I was meaning to enable a real DB for when running with the real fixtures.
Agreed, tearing down the LN fixtures and funding a channel would make the tests take forever, much faster just to reload the configs. |
4761790
to
2aaf4c5
Compare
aff61c9
to
65d37ef
Compare
- mint-clint-cli gets command to generate invoices - Gateway plugin automatically generates gateway.json if it isn't there. Removed gw_configgen bin script. - Add route hint to invoices we generate so HTLCs reach gateway - Gateway uses channels to manage concurrency between webserver, plugin and background fetching - Had to add more features to tracing dependency for the gateway crate because Core Lightning communicates to plugins via stdin/ stdout. Logging is routed via JSON-RPC. These feature flags helped make that work. - Move cln-rpc to git dependency
Just went throgh everyting with Justin, will fix some minor annoyances in follow up PRs
With this PR user can generate a lightning invoice and get paid in via lightning gateway.
Still need to:
cln-plugin
to allow plugin CLI arguments (minimint-cfg
in our case) that don't have default values Plugin config options with no defaults ElementsProject/lightning#5369.client.json
and it was never used so that didn't matter. So I just made it required for this PR because all the data structures assume the gateway is always there. Make lightning gateway optional #200 makes it actually optional but that's a deeper change so I separated it.