Skip to content

Migrate CLN hold invoices to Boltz hold#2492

Open
vegita wants to merge 1 commit into
RoboSats:mainfrom
vegita:codex/robosats-hold-migration
Open

Migrate CLN hold invoices to Boltz hold#2492
vegita wants to merge 1 commit into
RoboSats:mainfrom
vegita:codex/robosats-hold-migration

Conversation

@vegita
Copy link
Copy Markdown

@vegita vegita commented May 10, 2026

Summary

  • switch CLN hold invoice calls from the archived holdinvoice RPCs to Boltz hold (Invoice, List, Settle, Cancel)
  • load the hold plugin's TLS certs lazily so startup order does not freeze the wrong gRPC credentials
  • update gRPC generation and CLN test/development wiring to use Boltz hold v0.3.3
  • replace the vendored test plugin binary with the current hold Linux amd64 release binary

Fixes #2317

Verification

  • python -m py_compile api\\lightning\\cln.py
  • docker compose -f docker-tests.yml --env-file tests/compose.env config --quiet
  • generated hold_pb2.py and hold_pb2_grpc.py from the Boltz v0.3.3 proto in a temp venv and validated the expected request fields, RPC methods, and state enum values

I could not run the full Docker integration suite locally because Docker Desktop's Linux engine is not running on this machine (dockerDesktopLinuxEngine pipe is missing).

@vegita
Copy link
Copy Markdown
Author

vegita commented May 10, 2026

CI note: the Python lint job passed. Both coordinator test jobs failed before compose/tests at the shared frontend artifact download step (dawidd6/action-download-artifact reports
o downloadable artifacts found (expired) for django-main-static from the Jan 29 run), so those failures do not appear to be from this CLN hold migration.

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

Successfully merging this pull request may close these issues.

CLN: holdinvoice archived in favor of hold

1 participant