Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Test lane: fee-charging signet mint on CLN (inr2) + rune-authorized driver

Aperta
#415 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
go

Direzione di ricerca

Start by reading the cloud-lab/QEMU suite and its existing mint-fees profile from #413, then inspect SECURITY.md and the cdk-mintd 0.17.6 CLN configuration referenced here (src/env_vars/cln.rs). First resolve whether inr2 exposes a co-locatable lightning-rpc socket or only clnrest; that decision determines the mint integration. Done means a signet profile tests fee refusal, net-of-fee credit, settled melts, reseller fees, rune-restricted access, and a keyset fee change across rotation.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Test-lane request: fee-charging signet mint backed by our CLN (inr2.cashu.exchange), rune-authorized test driver — the "real world" tier of the fee-mirroring test programme.

Why: real-world mints charge input fees; our signet mint does not. Verified today: testnut.cashu.exchange is a nutshell FakeWallet mint whose keysets all report input_fee_ppk: 0 — every fee behavior #409/#413 hardened (below-fee refusal, net-of-fee credit, keyset resolution) is currently invisible on the fleet that most resembles production. The lab's mint-fees (#413) covers the hermetic tier; what's missing is the signet tier where settlement is real (melt → Lightning invoice → payout lands) and keyset IDs/rotation shapes come from a real operator setup.

Proposed architecture (two components):

  1. mint-signet-fees — cdk-mintd 0.17.6 with the CLN backend (env vars verified against the 0.17.6 source, src/env_vars/cln.rs): CDK_MINTD_LN_BACKEND=cln, CDK_MINTD_CLN_RPC_PATH=<lightning-rpc socket>, CDK_MINTD_CLN_FEE_PERCENT, CDK_MINTD_CLN_RESERVE_FEE_MIN, plus CDK_MINTD_INPUT_FEE_PPK=100 to mirror coinos. cdk's CLN backend speaks the raw UNIX socket, not clnrest — so the wiring depends on what inr2 exposes (see decision below).
  2. Rune-authorized test driver — the test runner gets a CLN rune (restricted: invoice, listpays, listfunds) and drives/asserts the settlement loop directly: melt with fees → invoice created via rune → signet payment → payout observed. Runes also gate the driver's access without handing it the node.

Decision needed (infra, @Amperstrand): does inr2 expose lightning-rpc co-locatable (mount/socket-forward) or only clnrest (HTTPS+rune)?

  • (a) socket available → run mint-signet-fees co-located with (or SSH-forwarded to) the socket; no rune needed for the mint itself; driver uses clnrest+rune.
  • (b) clnrest only → a small socket↔clnrest bridge is required for cdk-mintd, or we contribute/reuse an existing one; alternatively evaluate cdk's grpc-processor/LND backends if the node multiplexes those.

Acceptance criteria:

  • A signet mint at a stable host with input_fee_ppk=100, settling through inr2's CLN.
  • Cloud-lab/QEMU suite extended with a signet profile: below-fee refusal + net-of-fee credit + melt-with-fee settlement (invoice paid on signet, payout received) + reseller chain with asymmetric fees (free upstream / fee downstream).
  • Test driver authenticated by a restricted rune; rune stored per the SECURITY.md secret rules (never committed).
  • Keyset rotation on the signet mint exercised at least once (fee change across rotation) to cover mintKeysetFees' inactive-keyset branch in production shape.

Hermetic predecessor landed meanwhile: #413 (mint-fees in cloud-lab, 4 e2e tests green). A keyset-rotation variant using cdk-mintd's CDK_MINTD_FAKE_WALLET_KEYSET_ROTATIONS (env verified in 0.17.6 source) is being added on top of it.

Refs: #409 (swap-fee handling), #413 (hermetic fee mint), #339 (v0.6.0), #403 (the fund-safety family that started this).

Lingua principale
Go
Stelle
12
Fork
14
Merge medio
1g 7h
PR unite (30g)
205

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenTollGate/tollgate-module-basic-go

Tutte le issue di OpenTollGate/tollgate-module-basic-go

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.