beignet 0.36.1 → 0.37.0
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/README.md +13 -6
- package/dist/cli/beignet-node.js +1073 -33
- package/dist/cli/beignet-node.js.map +1 -1
- package/dist/cli/cli.js +149 -42
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/daemon.js +93 -14
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/errors.js +10 -0
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/offline-receive.js +146 -30
- package/dist/cli/offline-receive.js.map +1 -1
- package/dist/cli/openapi.js +424 -21
- package/dist/cli/openapi.js.map +1 -1
- package/dist/cli/receive-steering.js +210 -0
- package/dist/cli/receive-steering.js.map +1 -0
- package/dist/cli/routes.js +22 -0
- package/dist/cli/routes.js.map +1 -1
- package/dist/direct-funding/bitcoin-core.js +548 -0
- package/dist/direct-funding/bitcoin-core.js.map +1 -0
- package/dist/direct-funding/client.js +257 -0
- package/dist/direct-funding/client.js.map +1 -0
- package/dist/direct-funding/index.js +47 -0
- package/dist/direct-funding/index.js.map +1 -0
- package/dist/direct-funding/node.js +119 -0
- package/dist/direct-funding/node.js.map +1 -0
- package/dist/direct-funding/peer-messaging.js +359 -0
- package/dist/direct-funding/peer-messaging.js.map +1 -0
- package/dist/direct-funding/psbt.js +282 -0
- package/dist/direct-funding/psbt.js.map +1 -0
- package/dist/direct-funding/transports.js +77 -0
- package/dist/direct-funding/transports.js.map +1 -0
- package/dist/lightning/chain/hashes.js +13 -0
- package/dist/lightning/chain/hashes.js.map +1 -0
- package/dist/lightning/channel/channel-actions.js +1 -0
- package/dist/lightning/channel/channel-actions.js.map +1 -1
- package/dist/lightning/channel/channel-manager.js +132 -12
- package/dist/lightning/channel/channel-manager.js.map +1 -1
- package/dist/lightning/channel/channel-state.js.map +1 -1
- package/dist/lightning/channel/channel.js +471 -29
- package/dist/lightning/channel/channel.js.map +1 -1
- package/dist/lightning/channel/composite-splice-record.js +140 -0
- package/dist/lightning/channel/composite-splice-record.js.map +1 -0
- package/dist/lightning/channel/index.js +1 -0
- package/dist/lightning/channel/index.js.map +1 -1
- package/dist/lightning/channel/splice-weight.js +2 -0
- package/dist/lightning/channel/splice-weight.js.map +1 -1
- package/dist/lightning/channel/types.js +5 -8
- package/dist/lightning/channel/types.js.map +1 -1
- package/dist/lightning/direct-funding/receiver/engine.js +5 -2
- package/dist/lightning/direct-funding/receiver/engine.js.map +1 -1
- package/dist/lightning/direct-funding/receiver/types.js.map +1 -1
- package/dist/lightning/direct-funding/requests.js +20 -1
- package/dist/lightning/direct-funding/requests.js.map +1 -1
- package/dist/lightning/direct-funding/sender/engine.js +25 -2
- package/dist/lightning/direct-funding/sender/engine.js.map +1 -1
- package/dist/lightning/direct-funding/types.js +5 -5
- package/dist/lightning/direct-funding/types.js.map +1 -1
- package/dist/lightning/features/flags.js +16 -2
- package/dist/lightning/features/flags.js.map +1 -1
- package/dist/lightning/gossip/network-graph.js +30 -9
- package/dist/lightning/gossip/network-graph.js.map +1 -1
- package/dist/lightning/gossip/pathfinding.js +117 -2
- package/dist/lightning/gossip/pathfinding.js.map +1 -1
- package/dist/lightning/gossip/types.js +3 -1
- package/dist/lightning/gossip/types.js.map +1 -1
- package/dist/lightning/liquidity/index.js +10 -1
- package/dist/lightning/liquidity/index.js.map +1 -1
- package/dist/lightning/liquidity/primaries.js +274 -0
- package/dist/lightning/liquidity/primaries.js.map +1 -0
- package/dist/lightning/node/composite-splice-engine.js +1278 -0
- package/dist/lightning/node/composite-splice-engine.js.map +1 -0
- package/dist/lightning/node/index.js +1 -0
- package/dist/lightning/node/index.js.map +1 -1
- package/dist/lightning/node/lightning-node.js +381 -43
- package/dist/lightning/node/lightning-node.js.map +1 -1
- package/dist/lightning/node/types.js.map +1 -1
- package/dist/lightning/recovery/capsule.js +30 -0
- package/dist/lightning/recovery/capsule.js.map +1 -1
- package/dist/lightning/recovery/frame-codec.js +78 -16
- package/dist/lightning/recovery/frame-codec.js.map +1 -1
- package/dist/lightning/recovery/guardian-replication.js +92 -21
- package/dist/lightning/recovery/guardian-replication.js.map +1 -1
- package/dist/lightning/recovery/journal.js +85 -7
- package/dist/lightning/recovery/journal.js.map +1 -1
- package/dist/lightning/recovery/recovery-manager.js +5 -0
- package/dist/lightning/recovery/recovery-manager.js.map +1 -1
- package/dist/lightning/recovery/types.js.map +1 -1
- package/dist/lightning/storage/add-onion.js +63 -0
- package/dist/lightning/storage/add-onion.js.map +1 -0
- package/dist/lightning/storage/capabilities.js +6 -0
- package/dist/lightning/storage/capabilities.js.map +1 -1
- package/dist/lightning/storage/conformance.js +64 -0
- package/dist/lightning/storage/conformance.js.map +1 -1
- package/dist/lightning/storage/memory-storage.js +26 -0
- package/dist/lightning/storage/memory-storage.js.map +1 -1
- package/dist/lightning/storage/serialization.js +22 -5
- package/dist/lightning/storage/serialization.js.map +1 -1
- package/dist/lightning/storage/sqlite-storage.js +37 -1
- package/dist/lightning/storage/sqlite-storage.js.map +1 -1
- package/dist/lightning/storage/types.js.map +1 -1
- package/dist/types/cli/beignet-node.d.ts +272 -15
- package/dist/types/cli/errors.d.ts +7 -0
- package/dist/types/cli/offline-receive.d.ts +55 -9
- package/dist/types/cli/receive-steering.d.ts +135 -0
- package/dist/types/cli/routes.d.ts +41 -0
- package/dist/types/cli/types.d.ts +164 -3
- package/dist/types/direct-funding/bitcoin-core.d.ts +78 -0
- package/dist/types/direct-funding/client.d.ts +64 -0
- package/dist/types/direct-funding/index.d.ts +18 -0
- package/dist/types/direct-funding/node.d.ts +22 -0
- package/dist/types/direct-funding/peer-messaging.d.ts +74 -0
- package/dist/types/direct-funding/psbt.d.ts +27 -0
- package/dist/types/direct-funding/transports.d.ts +14 -0
- package/dist/types/lightning/chain/hashes.d.ts +11 -0
- package/dist/types/lightning/channel/channel-actions.d.ts +19 -2
- package/dist/types/lightning/channel/channel-manager.d.ts +37 -1
- package/dist/types/lightning/channel/channel-state.d.ts +21 -0
- package/dist/types/lightning/channel/channel.d.ts +106 -1
- package/dist/types/lightning/channel/composite-splice-record.d.ts +91 -0
- package/dist/types/lightning/channel/events.d.ts +9 -0
- package/dist/types/lightning/channel/index.d.ts +1 -0
- package/dist/types/lightning/channel/splice-weight.d.ts +13 -0
- package/dist/types/lightning/channel/types.d.ts +1 -8
- package/dist/types/lightning/direct-funding/receiver/types.d.ts +4 -1
- package/dist/types/lightning/direct-funding/requests.d.ts +1 -0
- package/dist/types/lightning/direct-funding/sender/engine.d.ts +11 -0
- package/dist/types/lightning/direct-funding/types.d.ts +9 -0
- package/dist/types/lightning/features/flags.d.ts +13 -1
- package/dist/types/lightning/gossip/network-graph.d.ts +8 -6
- package/dist/types/lightning/gossip/pathfinding.d.ts +8 -0
- package/dist/types/lightning/gossip/types.d.ts +2 -0
- package/dist/types/lightning/liquidity/index.d.ts +2 -0
- package/dist/types/lightning/liquidity/primaries.d.ts +127 -0
- package/dist/types/lightning/node/composite-splice-engine.d.ts +258 -0
- package/dist/types/lightning/node/events.d.ts +19 -1
- package/dist/types/lightning/node/index.d.ts +1 -0
- package/dist/types/lightning/node/lightning-node.d.ts +136 -3
- package/dist/types/lightning/node/types.d.ts +4 -1
- package/dist/types/lightning/recovery/capsule.d.ts +0 -10
- package/dist/types/lightning/recovery/guardian-replication.d.ts +32 -5
- package/dist/types/lightning/recovery/journal.d.ts +19 -0
- package/dist/types/lightning/recovery/types.d.ts +11 -1
- package/dist/types/lightning/storage/add-onion.d.ts +18 -0
- package/dist/types/lightning/storage/memory-storage.d.ts +7 -0
- package/dist/types/lightning/storage/serialization.d.ts +14 -0
- package/dist/types/lightning/storage/sqlite-storage.d.ts +6 -1
- package/dist/types/lightning/storage/types.d.ts +17 -1
- package/docs/AUTOMATIC-OFFLINE-RECEIVE.md +33 -9
- package/docs/MPP-SENDING.md +30 -0
- package/docs/MULTI-CHANNEL-SPLICE-OUT.md +622 -0
- package/docs/README.md +3 -0
- package/docs/RECOVERY-PROTOCOL.md +4 -1
- package/package.json +20 -4
package/README.md
CHANGED
|
@@ -37,6 +37,8 @@ console.log(wallet.getBalance());
|
|
|
37
37
|
|
|
38
38
|
From here: [the on-chain wallet](#on-chain-wallet) for sending, PSBTs, multisig and watch-only, or [Lightning](#lightning) for channels and payments.
|
|
39
39
|
|
|
40
|
+
For adding `bgnq` direct-funding payments to another wallet, see the [standalone TypeScript payer SDK](packages/direct-funding/README.md). It includes a PSBT signing adapter, Bitcoin Core integration, and a channel-free peer client.
|
|
41
|
+
|
|
40
42
|
## Try the examples
|
|
41
43
|
|
|
42
44
|
The fastest way to understand the whole system is to run the two REPL examples against a live wallet and a live node. Both are checked-in TypeScript you can read and edit.
|
|
@@ -686,23 +688,29 @@ semicolon rule retained for JavaScript. Typed promise checks remain enabled for
|
|
|
686
688
|
every TypeScript file.
|
|
687
689
|
|
|
688
690
|
```bash
|
|
689
|
-
npm
|
|
691
|
+
npm test # same as test:local
|
|
692
|
+
npm run test:local # build, then test:lightning + test:cli at once; no infrastructure needed
|
|
690
693
|
npm run coverage # test:local under c8, with a coverage summary of src
|
|
691
694
|
npm run test:lightning # 9500+ Lightning unit tests (parallel), no infrastructure needed
|
|
692
|
-
npm run test:cli #
|
|
695
|
+
npm run test:cli # 2400+ CLI + daemon unit tests (parallel), no infrastructure needed; run npm run build first
|
|
693
696
|
npm run test:conformance # 300+ official BOLT vector cases (subset of test:lightning)
|
|
694
697
|
npm run test:chaos # recovery kill matrices (parallel), split out of test:lightning
|
|
695
698
|
npm run test:sigkill # process-level SIGKILL chaos matrix (builds dist first)
|
|
696
699
|
npm run test:api # exported API vs tests/api-snapshot (npm run api:snapshot regenerates it)
|
|
700
|
+
npm run test:direct-funding # standalone payer SDK, wallet adapters and packaging
|
|
701
|
+
npm run test:direct-funding:regtest # real Core wallets and funding transactions (needs Docker)
|
|
697
702
|
npm run test:integration # daemon/Electrum integration (needs an Electrum server)
|
|
698
703
|
npm run test:interop # 300+ cases vs LND/CLN/Eclair (needs Docker)
|
|
699
704
|
npm run test:interop:ffor # FFOR Variant D chain gates on regtest (needs only the bitcoind container)
|
|
700
705
|
npm run test:interop:ffor-concurrent # Concurrent receive process, durable boundary and current-chain qualification (bitcoind regtest)
|
|
701
|
-
npm run test:all # Lightning + CLI + interop (needs Docker + Electrum)
|
|
702
706
|
```
|
|
703
707
|
|
|
704
708
|
Counts are floors, not snapshots, and this is the only place they are kept. Run the suites for exact numbers (`npx mocha --dry-run` with a suite's arguments counts without running).
|
|
705
709
|
|
|
710
|
+
`test:cli` spawns the built `dist/cli/cli.js`, so its spawn tests fail with a
|
|
711
|
+
message to run `npm run build` when `dist/` is missing or older than `src/`.
|
|
712
|
+
`test:local` builds first.
|
|
713
|
+
|
|
706
714
|
`test:local` is the fast inner loop. `test:lightning` and `test:cli` are
|
|
707
715
|
independent processes and neither saturates the machine alone, so running them at
|
|
708
716
|
once beats running them in sequence. Measured on 8 cores: 195.6s in sequence
|
|
@@ -719,8 +727,8 @@ the same suite passes 30/30 on its own. Run it separately. See
|
|
|
719
727
|
|
|
720
728
|
`npm run coverage` prints a line, branch and function summary for `src`, and
|
|
721
729
|
writes per-file numbers to `coverage/coverage-summary.json` and per-line hits to
|
|
722
|
-
`coverage/lcov.info`. CI prints a summary
|
|
723
|
-
|
|
730
|
+
`coverage/lcov.info`. On master pushes, CI prints a summary at the end of each
|
|
731
|
+
lightning shard and of its `test:cli` step; pull request runs skip c8. The numbers are information, not a gate:
|
|
724
732
|
no threshold is set, and nothing fails on a percentage. A file the run never
|
|
725
733
|
loads counts as wholly uncovered. Two runs of the same tree can differ by a few
|
|
726
734
|
covered lines, because tests with random keys reach different branches. c8 also
|
|
@@ -733,7 +741,6 @@ rather than on your change. Each script runs `npm run build` first:
|
|
|
733
741
|
```bash
|
|
734
742
|
npm run test:wallet # also test:transaction, test:electrum, test:storage,
|
|
735
743
|
# test:derivation, test:receive, test:boost
|
|
736
|
-
npm test # everything: build, on-chain, Lightning, CLI, interop
|
|
737
744
|
```
|
|
738
745
|
|
|
739
746
|
The on-chain files without a dedicated script (multisig, PSBT, watch-only,
|