@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 +11 -0
- package/README.md +5 -1
- package/llms.txt +19 -0
- package/package.json +19 -2
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
|
-
|
|
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.
|
|
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.
|
|
90
|
+
"lnurlcash-conformance": "0.13.1",
|
|
74
91
|
"playwright": "^1.62.1",
|
|
75
92
|
"typescript": "^5.7.0",
|
|
76
93
|
"uqr": "^0.1.2",
|