@forgesworn/moneyer 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.16.1 - 2026-09-24
4
+
5
+ Documentation only; no code changes.
6
+
7
+ - `llms.txt` gives the real signatures of `buildStats`,
8
+ `statsSnapshotContent`, `verifyStatsSnapshot`, `signStats`, `runMelt` and
9
+ `reconcilePendingMelts`, with the melt job and deps shapes, and notes that
10
+ the `url` `createMoneyer` returns is the full origin, port included.
11
+ - The README carries the npm install command.
12
+ - package.json gains search keywords.
13
+
3
14
  ## 0.16.0 - 2026-09-16
4
15
 
5
16
  - Bump `@lnurlcash/kit` from 0.14.2 to 0.18.1: the previous pin predated the
package/README.md CHANGED
@@ -43,7 +43,11 @@ lesson, that behaviour is kept deliberately and tested.
43
43
 
44
44
  ## Run
45
45
 
46
- Install the published package and build it:
46
+ ```bash
47
+ npm install @forgesworn/moneyer
48
+ ```
49
+
50
+ Or build from source:
47
51
 
48
52
  ```bash
49
53
  git clone https://github.com/forgesworn/moneyer
package/llms.txt CHANGED
@@ -1,5 +1,9 @@
1
1
  # moneyer
2
2
 
3
+ > Custody-free Lightning bearer notes: paying an invoice mints a note whose
4
+ > spend secret is chosen by the buyer, never the mint. moneyer is an
5
+ > independent LNURLcash (LUD-25) mint for Node 24+.
6
+
3
7
  LNURLcash (LUD-25) mint for Node 24+. Strikes Lightning bearer notes:
4
8
  paying an invoice it issues mints a note whose spend secret is the
5
9
  invoice's payment preimage, or a secret the buyer named with `h` on the
@@ -67,6 +71,7 @@ Client library to build against a mint: @lnurlcash/kit
67
71
  ## Library API
68
72
 
69
73
  createMoneyer(config, deps?) -> {url, port, store, backend, signer, reconcile, close}
74
+ url is the full origin (http://host:port), port already included
70
75
  verifyAnnouncement(content, mintPubkey) -> {valid, document}
71
76
  kind 30078 / d=lnurlcash-mint: a mint announcing itself, content = its
72
77
  discovery document + sig by the note signing key. MONEYER_ANNOUNCE=true,
@@ -80,8 +85,22 @@ configFromEnv(env?) -> MoneyerConfig MONEYER_* environment variables
80
85
  createFakeBackend() -> LightningBackend with .control test hooks
81
86
  createClnBackend({url, rune}) / createLndBackend({url, macaroon})
82
87
  createNoteSigner(privHex) -> {pubkey, sign(noteId, amountMsat)}
88
+ privHex is a secp256k1 private key, as MONEYER_SIGNING_KEY; zero is rejected
83
89
  fakeBolt11({amountMsat, paymentHashHex, memo?}) -> decodable, unpayable invoice
84
90
  NoteStore - SQLite store; notes by sha256(k1), never secrets
91
+ runMelt(job, deps) -> Promise<void> / reconcilePendingMelts(store, backend, inFlight, log?)
92
+ the melt discipline: burn only on confirmed payment, restore only on confirmed
93
+ non-payment. The /w/cb handler drives both; outcomes land in the store, not in a
94
+ return value. job = {paymentHash, noteId, pr, amountMsat, payAmountMsat?},
95
+ deps = {store, backend, feeLimitMsat(amountMsat), confirmDelaysMs?, log?}
96
+ buildStats({liabilities, localBalanceMsat?, reconciledAt?, at?, ratioOnly?}) -> MintStats
97
+ liabilities = store.liabilities() -> {outstandingMsat, outstandingNotes,
98
+ pendingMsat, pendingMelts, oldestPendingMeltAgeSecs}
99
+ statsSnapshotContent(stats, privHex) -> string the published content: stats JSON plus sig
100
+ verifyStatsSnapshot(content, pubkey) -> {valid, stats}
101
+ signStats(stats, privHex) -> string the signature alone, hex r || s || recovery id
102
+ kind 30078, d = lnurlcash-liabilities: a signed liabilities snapshot for
103
+ third-party solvency checks
85
104
 
86
105
  ## Endpoints
87
106
 
package/package.json CHANGED
@@ -1,9 +1,26 @@
1
1
  {
2
2
  "name": "@forgesworn/moneyer",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "An LNURLcash (LUD-25) mint - strikes Lightning bearer notes. Independent implementation, cln/lnd funding sources, SQLite, zero HTTP framework.",
5
5
  "author": "TheCryptoDonkey",
6
6
  "license": "MIT",
7
+ "keywords": [
8
+ "lnurlcash",
9
+ "lud-25",
10
+ "lud-12",
11
+ "lud-03",
12
+ "lud-06",
13
+ "lnurl",
14
+ "lightning-network",
15
+ "bitcoin",
16
+ "mint",
17
+ "bearer-notes",
18
+ "cln",
19
+ "lnd",
20
+ "sqlite",
21
+ "nostr",
22
+ "typescript"
23
+ ],
7
24
  "repository": {
8
25
  "type": "git",
9
26
  "url": "git+https://github.com/forgesworn/moneyer.git"
@@ -70,7 +87,7 @@
70
87
  "@types/node": "^24.0.0",
71
88
  "animejs": "^4.0.0",
72
89
  "happy-dom": "^20.0.0",
73
- "lnurlcash-conformance": "0.11.1",
90
+ "lnurlcash-conformance": "0.13.1",
74
91
  "playwright": "^1.62.1",
75
92
  "typescript": "^5.7.0",
76
93
  "uqr": "^0.1.2",