@toon-protocol/rig 4.7.0 → 5.0.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.
Files changed (29) hide show
  1. package/README.md +30 -22
  2. package/dist/{chunk-J6Y3U645.js → chunk-2TG4YHEC.js} +59 -41
  3. package/dist/chunk-2TG4YHEC.js.map +1 -0
  4. package/dist/{chunk-3IVO2MSZ.js → chunk-4WVH2ITA.js} +3 -3
  5. package/dist/{chunk-U5A7MHBP.js → chunk-7VIVQHRG.js} +1 -1
  6. package/dist/chunk-7VIVQHRG.js.map +1 -0
  7. package/dist/{chunk-XQ2AWNHQ.js → chunk-CHVOXCDV.js} +0 -0
  8. package/dist/{chunk-XCLUB2CY.js → chunk-LMZSAFAB.js} +44 -15
  9. package/dist/chunk-LMZSAFAB.js.map +1 -0
  10. package/dist/{chunk-S3KKQ4IC.js → chunk-QKL53YZS.js} +2 -2
  11. package/dist/{chunk-UE5TAFEU.js → chunk-ZQGXFFBP.js} +4 -4
  12. package/dist/chunk-ZQGXFFBP.js.map +1 -0
  13. package/dist/{ci-serve-T33FCQVT.js → ci-serve-BU7NDT7O.js} +7 -7
  14. package/dist/cli/rig.js +6 -6
  15. package/dist/index.js +3 -3
  16. package/dist/standalone/index.d.ts +109 -74
  17. package/dist/standalone/index.js +13 -3
  18. package/dist/{standalone-mode-FY3XVQQK.js → standalone-mode-AT4S5EZG.js} +135 -49
  19. package/dist/standalone-mode-AT4S5EZG.js.map +1 -0
  20. package/package.json +2 -2
  21. package/dist/chunk-J6Y3U645.js.map +0 -1
  22. package/dist/chunk-U5A7MHBP.js.map +0 -1
  23. package/dist/chunk-UE5TAFEU.js.map +0 -1
  24. package/dist/chunk-XCLUB2CY.js.map +0 -1
  25. package/dist/standalone-mode-FY3XVQQK.js.map +0 -1
  26. /package/dist/{chunk-3IVO2MSZ.js.map → chunk-4WVH2ITA.js.map} +0 -0
  27. /package/dist/{chunk-XQ2AWNHQ.js.map → chunk-CHVOXCDV.js.map} +0 -0
  28. /package/dist/{chunk-S3KKQ4IC.js.map → chunk-QKL53YZS.js.map} +0 -0
  29. /package/dist/{ci-serve-T33FCQVT.js.map → ci-serve-BU7NDT7O.js.map} +0 -0
@@ -2,13 +2,14 @@ import { P as Publisher, F as FeeRates, G as GitObjectUpload, U as UploadReceipt
2
2
  import '@toon-protocol/core/nip34';
3
3
 
4
4
  /**
5
- * The paid write path on `@toon-protocol/client` 2.x — a {@link Publisher}
5
+ * The paid write path on `@toon-protocol/client` 4.x: a {@link Publisher}
6
6
  * that pays a TOON connector per request.
7
7
  *
8
8
  * Everything a paid command needs comes from one connector URL: the client
9
- * reads the node's own `GET /ilp` (addresses, prices, settlement chains,
10
- * sealing key — connector ADR 0050), opens or adopts a payment channel, and
11
- * pays each request with a signed claim. There is no relay to discover peers
9
+ * reads the node's own `GET /ilp` (addresses, prices, x402 batch-settlement
10
+ * terms, sealing key: connector ADR 0050), opens or resumes an x402 channel,
11
+ * and pays each request with a signed voucher for the running total
12
+ * (connector ADR 0075). There is no relay to discover peers
12
13
  * on (kind:10032 was removed by ADR 0046) and no topology to negotiate: a
13
14
  * destination is a route the node prices, and `send()` pays what the route
14
15
  * costs — including the per-kibibyte part of an ADR 0065 schedule, which the
@@ -65,7 +66,7 @@ interface RouteTerms {
65
66
  price: bigint;
66
67
  pricePerKib?: bigint;
67
68
  }
68
- /** The slice of `ToonClient` (2.x) this publisher needs. */
69
+ /** The slice of `ToonClient` (4.x) this publisher needs. */
69
70
  interface PaidClientLike {
70
71
  send(destination: string, request: PaidRequest, options?: PaidSendOptions): Promise<PaidSendResult>;
71
72
  /** The node's terms for a destination, or `null` when it prices no such route. */
@@ -127,7 +128,7 @@ declare class ConnectorPublisher implements Publisher {
127
128
  getFeeRates(): Promise<FeeRates>;
128
129
  private readFeeRates;
129
130
  private sign;
130
- /** One paid kind:5094 write; returns the tx id and what the claim spent. */
131
+ /** One paid kind:5094 write; returns the tx id and what the voucher spent. */
131
132
  private storeWrite;
132
133
  uploadGitObject(upload: GitObjectUpload): Promise<UploadReceipt>;
133
134
  uploadBlob(upload: BlobUpload): Promise<UploadReceipt>;
@@ -148,7 +149,7 @@ declare class ConnectorPublisher implements Publisher {
148
149
  /**
149
150
  * The Nostr signing key rig derives from a BIP-39 phrase.
150
151
  *
151
- * `@toon-protocol/client` 2.x is a pure payer and carries no Nostr identity
152
+ * `@toon-protocol/client` 2.x and later is a pure payer and carries no Nostr identity
152
153
  * (its own words), so the derivation that lived in the 0.x client moves here,
153
154
  * unchanged: `m/44'/1237'/0'/0/<accountIndex>`. Unchanged matters — this is
154
155
  * the key every existing rig repo is owned by (`toon.owner`, the kind:30617
@@ -176,40 +177,45 @@ declare function deriveNostrKeyFromMnemonic(mnemonic: string, accountIndex?: num
176
177
  /**
177
178
  * Peer→channel map for the STANDALONE embedded publisher (#262).
178
179
  *
179
- * Why this exists: `@toon-protocol/client`'s `ChannelManager` persists the
180
- * off-chain nonce/cumulative-claim watermark (its `ChannelStore`,
181
- * `channels.json`, keyed by channelId) but keeps the peer→channelId mapping
182
- * ONLY in memory. So every standalone CLI invocation used to open (and fund)
183
- * a FRESH on-chain channel — the #260 fresh-outsider e2e stranded five
184
- * deposits across five commands. This store remembers WHICH channel the
185
- * identity holds with each peer, keyed by
186
- * `identity pubkey | ILP anchor (peer/apex destination) | chain | tokenNetwork`,
187
- * so the next invocation resumes it via `ChannelManager.trackChannel` (which
188
- * rehydrates the nonce watermark from `channels.json`) with zero on-chain
189
- * writes.
180
+ * Why this exists: rig used to open (and fund) a FRESH on-chain channel per
181
+ * invocation, because the client of the day kept the peer→channelId mapping
182
+ * only in memory (the #260 fresh-outsider e2e stranded five deposits across
183
+ * five commands). Since client 4.x the client persists its own channel config
184
+ * beside the watermark (`JsonFileChannelStore`: `channels-x402.json` plus its
185
+ * `.peers.json` sibling) and resumes from it by itself. This map remains the
186
+ * record `rig channel list/close/settle`, `rig balance` and `rig ci serve`
187
+ * read: WHICH channel the identity holds with each peer, keyed by
188
+ * `identity pubkey | ILP anchor (peer/apex destination) | chain | tokenNetwork`.
189
+ *
190
+ * VOUCHERS (client 4.x, connector ADR 0075): every paid packet carries an x402
191
+ * `batch-settlement` voucher naming the running total. There is no nonce; the
192
+ * watermark is the cumulative amount alone. The toon-channel claims client
193
+ * 3.x signed are refused by a current connector, so a 3.x rig's files
194
+ * (`rig-channels.json`, `channels.json`) are never read by this module and
195
+ * never written: they are only named, so their deposits can still be taken
196
+ * back with the rig that opened them ({@link legacyChannelFiles}).
190
197
  *
191
198
  * It is the standalone twin of the daemon's
192
199
  * `packages/client-mcp/src/daemon/apex-channel-store.ts` — same record shape
193
- * (channelId + the chain context `trackChannel` needs), extended with the
194
- * identity pubkey (rig identities come from an env/`.env` precedence chain,
195
- * so one state dir can serve several identities) and the tokenNetwork.
200
+ * (channelId + the chain context), extended with the identity pubkey (rig
201
+ * identities come from an env/`.env` precedence chain, so one state dir can
202
+ * serve several identities) and the tokenNetwork.
196
203
  * `@toon-protocol/rig` must not import `@toon-protocol/client-mcp` (that
197
204
  * package depends on this one — circular), hence the twin; keep the
198
205
  * semantics in sync.
199
206
  *
200
207
  * CONCURRENCY: writes happen only from paid commands, which already hold the
201
208
  * per-identity advisory lockfile (./nonce-guard.ts `NonceLock`) for their
202
- * whole lifetime — the same guard that serializes the claim watermark also
209
+ * whole lifetime: the same guard that serializes the voucher watermark also
203
210
  * serializes this file for one identity. `rig channel list` reads only.
204
211
  *
205
212
  * COUNTERPARTY: the key names a ROUTE, not a node — an ILP name can change
206
213
  * hands (the devnet apex `g.toon` was retired and another node took over
207
214
  * `g.toon.relay`). A record therefore also carries the counterparty
208
- * settlement address it was opened against (`context.recipient`), which is
209
- * re-checked against the destination's announced address before every resume
210
- * ({@link counterpartyMatch}); a rotated counterparty
211
- * {@link ChannelMapStore.supersede}s the record instead of signing claims a
212
- * connector with no record of that channel refuses (`F01`).
215
+ * settlement address it was opened against (`context.recipient`), which can be
216
+ * re-checked against the destination's announced address ({@link
217
+ * counterpartyMatch}); a rotated counterparty {@link ChannelMapStore.supersede}s
218
+ * the record rather than paying a connector with no record of that channel.
213
219
  *
214
220
  * CORRUPTION: an unreadable/invalid map file is a hard
215
221
  * {@link ChannelMapCorruptError} — surfaced BEFORE any on-chain open — never
@@ -220,22 +226,46 @@ declare function deriveNostrKeyFromMnemonic(mnemonic: string, accountIndex?: num
220
226
  * `rig channel list` command reads it without the optional
221
227
  * `@toon-protocol/client` peer dependency installed.
222
228
  */
223
- /** Map filename under the shared client state dir. */
224
- declare const RIG_CHANNEL_MAP_FILENAME = "rig-channels.json";
229
+ /** Map filename under the shared client state dir (x402 voucher channels). */
230
+ declare const RIG_CHANNEL_MAP_FILENAME = "rig-channels-x402.json";
231
+ /**
232
+ * The client's x402 channel store under the shared client state dir: the
233
+ * voucher watermark, with every channel's config in the `.peers.json` sibling.
234
+ * A new name for client 4.x so a 3.x store is never read as one.
235
+ */
236
+ declare const CHANNEL_STORE_FILENAME = "channels-x402.json";
237
+ /** What a client 3.x rig kept its toon-channel map in. Never read or written. */
238
+ declare const LEGACY_RIG_CHANNEL_MAP_FILENAME = "rig-channels.json";
239
+ /** What a client 3.x rig kept its toon-channel watermark in. Never read or written. */
240
+ declare const LEGACY_CHANNEL_STORE_FILENAME = "channels.json";
225
241
  /**
226
242
  * Resolve the two channel-state files under `TOON_CLIENT_HOME` (default
227
- * `~/.toon-client`): the rig peer→channel map, and the client's nonce
228
- * watermark store (`config.json`'s `channelStorePath`, default
229
- * `<dir>/channels.json` — the same resolution `cli/standalone-mode.ts` feeds
230
- * the embedded ToonClient).
243
+ * `~/.toon-client`): the rig peer→channel map, and the client's x402 voucher
244
+ * store (`config.json`'s `channelStorePath`, default
245
+ * `<dir>/channels-x402.json`: the same resolution `cli/standalone-mode.ts`
246
+ * feeds the embedded ToonClient).
231
247
  */
232
248
  declare function resolveChannelPaths(env: NodeJS.ProcessEnv): {
233
249
  mapPath: string;
234
250
  watermarkPath: string;
235
251
  };
236
252
  /**
237
- * Chain context `ChannelManager.trackChannel` needs to resume a channel
238
- * (same shape the daemon's apex-channel-store persists).
253
+ * The client 3.x channel files present in a state dir: a toon-channel map and
254
+ * watermark a current connector no longer honours. Named so a caller can say
255
+ * they were skipped; the deposits they record are left for the 3.x rig that
256
+ * opened them (`npm i -g @toon-protocol/rig@4.7.0`, then `rig channel close`).
257
+ */
258
+ declare function legacyChannelFiles(dir: string): string[];
259
+ /**
260
+ * Does `path` hold a client 3.x toon-channel store? Its watermark entries
261
+ * carry a nonce that moved (a 4.x entry keeps `nonce: 0` for the file's
262
+ * sake), and its `.peers.json` bindings carry no `batchSettlement` config.
263
+ * An unreadable file answers false: the client reports it on its own read.
264
+ */
265
+ declare function isToonChannelStore(path: string): boolean;
266
+ /**
267
+ * A channel's chain context (same shape the daemon's apex-channel-store
268
+ * persists, and the client's own binding carries).
239
269
  */
240
270
  interface PersistedChannelContext {
241
271
  chainType: string;
@@ -249,17 +279,17 @@ interface PersistedChannelContext {
249
279
  interface ChannelMapRecord {
250
280
  /** On-chain payment channel id. */
251
281
  channelId: string;
252
- /** Registered peer id the negotiation was keyed by (`peerNegotiations`). */
282
+ /** The node's sealing key id (`GET /ilp` `edgeIdentity.keyId`), else its URL. */
253
283
  peerId: string;
254
284
  /** Hex Nostr pubkey of the identity that opened the channel. */
255
285
  identity: string;
256
286
  /** ILP anchor destination the channel was opened against (peer/apex). */
257
287
  destination: string;
258
- /** Negotiated settlement chain, e.g. `evm:31337`. */
288
+ /** The x402 network the channel lives on, e.g. `eip155:8453`, `solana:5eykt…`. */
259
289
  chain: string;
260
- /** TokenNetwork contract address ('' when the peer announced none). */
290
+ /** The batch-settlement contract (EVM) or program (Solana) holding it. */
261
291
  tokenNetwork: string;
262
- /** Context for `trackChannel` on resume. */
292
+ /** Chain context: chain type, token, counterparty. */
263
293
  context: PersistedChannelContext;
264
294
  /** On-chain deposit total (base units, string), when known. */
265
295
  depositTotal?: string;
@@ -284,15 +314,16 @@ interface ChannelMapKey {
284
314
  tokenNetwork: string;
285
315
  }
286
316
  /**
287
- * One entry of the client's nonce-watermark store (`channels.json`) —
317
+ * One entry of the client's voucher watermark store (`channels-x402.json`):
288
318
  * format DUPLICATED from `@toon-protocol/client`'s `JsonFileChannelStore`
289
319
  * (`packages/client/src/channel/ChannelStore.ts`); keep in sync.
290
320
  */
291
321
  interface WatermarkEntry {
292
- nonce: number;
293
- /** Cumulative claimed amount, base units (string-encoded bigint). */
322
+ /** Always 0 for an x402 channel: vouchers carry no nonce. Kept for the file's shape. */
323
+ nonce?: number;
324
+ /** Cumulative amount signed so far, base units (string-encoded bigint). */
294
325
  cumulativeAmount: string;
295
- /** Withdraw-flow timers, string-encoded unix SECONDS. */
326
+ /** Exit timers, string-encoded unix SECONDS. */
296
327
  closedAt?: string;
297
328
  settleableAt?: string;
298
329
  settledAt?: string;
@@ -336,11 +367,11 @@ declare function recordKey(record: ChannelMapRecord): ChannelMapKey;
336
367
  interface ChannelMapStoreOptions {
337
368
  /** The rig peer→channel map file (`rig-channels.json`). */
338
369
  mapPath: string;
339
- /** The client's nonce-watermark store (`channels.json`). */
370
+ /** The client's voucher watermark store (`channels-x402.json`). */
340
371
  watermarkPath: string;
341
372
  }
342
373
  /**
343
- * File-backed peer→channel map + read/seed access to the client's nonce
374
+ * File-backed peer→channel map + read/seed access to the client's voucher
344
375
  * watermark store. Synchronous I/O (matches the client's `ChannelStore`
345
376
  * surface); see the module doc for the locking and corruption contracts.
346
377
  */
@@ -359,9 +390,9 @@ declare class ChannelMapStore {
359
390
  listFor(identity: string, destination: string): ChannelMapRecord[];
360
391
  /**
361
392
  * Record a (freshly opened) channel. Overwrites any previous record under
362
- * the same (identity, destination, chain, tokenNetwork) key — the old
363
- * channel is closed/stale by then; its claim watermark stays in the
364
- * watermark store.
393
+ * the same (identity, destination, chain, tokenNetwork) key; a caller that
394
+ * replaces a channel still holding a deposit {@link supersede}s the old
395
+ * record first. Its watermark stays in the watermark store.
365
396
  */
366
397
  record(record: Omit<ChannelMapRecord, 'openedAt' | 'lastUsedAt'> & Partial<Pick<ChannelMapRecord, 'openedAt' | 'lastUsedAt'>>): void;
367
398
  /**
@@ -387,13 +418,13 @@ declare class ChannelMapStore {
387
418
  */
388
419
  supersede(record: ChannelMapRecord): void;
389
420
  /**
390
- * Read one channel's nonce-watermark entry from the client's
391
- * `channels.json` (undefined when the file or entry is missing).
421
+ * Read one channel's watermark entry from the client's voucher store
422
+ * (undefined when the file or entry is missing).
392
423
  * @throws {ChannelMapCorruptError} when the watermark file is unreadable.
393
424
  */
394
425
  readWatermark(channelId: string): WatermarkEntry | undefined;
395
426
  /**
396
- * Seed a fresh channel's watermark entry (`nonce 0, cumulative 0`) so a
427
+ * Seed a fresh channel's watermark entry (cumulative 0) so a
397
428
  * later resume can tell "never claimed against" apart from "watermark
398
429
  * lost". Never overwrites an existing entry.
399
430
  */
@@ -403,8 +434,8 @@ declare class ChannelMapStore {
403
434
  private readWatermarkFile;
404
435
  }
405
436
  /**
406
- * Where a channel sits in the withdraw journey, from its watermark timers —
407
- * mirrors `ChannelManager.getChannelCloseState`. A missing entry reads as
437
+ * Where a channel sits in the exit journey, from its watermark timers:
438
+ * mirrors what the client's `channel.channels()` reports. A missing entry reads as
408
439
  * `open` (recorded channels are seeded at open time; a lost watermark file
409
440
  * surfaces separately as unknown claim state).
410
441
  */
@@ -460,26 +491,26 @@ interface WalletChainBalanceInfo {
460
491
  /** Receipt of an explicit `rig channel open` (fresh open OR resume). */
461
492
  interface ChannelOpenOutcome {
462
493
  channelId: string;
463
- /** True when the recorded channel was resumed (no on-chain open). */
494
+ /** True when the recorded channel was resumed (no open). */
464
495
  resumed: boolean;
465
496
  /** ILP anchor destination the channel is keyed by in the map. */
466
497
  destination: string;
467
- /** Negotiated settlement chain, when recorded (e.g. `evm:31337`). */
498
+ /** The x402 network the channel lives on (e.g. `eip155:8453`). */
468
499
  chain?: string;
469
- /** Registered peer id, when recorded. */
500
+ /** The node's sealing key id, when it publishes one. */
470
501
  peerId?: string;
471
502
  /** On-chain deposit total (base units), when known. */
472
503
  depositTotal?: string;
473
- /** Extra collateral added by `--deposit` (base units), when any. */
504
+ /** Extra collateral added by `--deposit` (base units, Base only), when any. */
474
505
  depositAdded?: string;
475
506
  /** Tx hash of the `--deposit` top-up, when any. */
476
507
  depositTxHash?: string;
477
508
  }
478
- /** Receipt of a channel close (start of the settlement challenge window). */
509
+ /** Receipt of a channel close (start of the exit window). */
479
510
  interface ChannelCloseOutcome {
480
511
  channelId: string;
481
512
  txHash?: string;
482
- /** Unix SECONDS (string-encoded bigint) the close landed on-chain. */
513
+ /** Unix SECONDS (string-encoded bigint) the close was started. */
483
514
  closedAt: string;
484
515
  /** Unix SECONDS (string-encoded bigint) settle becomes possible. */
485
516
  settleableAt: string;
@@ -496,17 +527,20 @@ interface ChannelSettleOutcome {
496
527
  */
497
528
  interface StandaloneMoneyOps {
498
529
  /**
499
- * Explicitly open (or resume) the payment channel for the context's
500
- * channel anchor — the SAME resume-or-open path lazy paid writes use, so
501
- * the result lands in the #262 peer→channel map. `deposit` adds that much
502
- * extra collateral (base units) after the open/resume.
530
+ * Explicitly open (or resume) the x402 channel with the context's node:
531
+ * the channel lazy paid writes draw on, so the result lands in the #262
532
+ * peer→channel map. `deposit` adds that much extra collateral (base units)
533
+ * after the open/resume; only a Base channel can be topped up.
503
534
  */
504
535
  openChannel(opts?: {
505
536
  deposit?: bigint;
506
537
  }): Promise<ChannelOpenOutcome>;
507
- /** Close a recorded channel — starts the on-chain challenge window. */
538
+ /**
539
+ * Close a recorded channel: starts its exit window. The client leaves
540
+ * every channel still open with the node in the same call.
541
+ */
508
542
  closeChannel(record: ChannelMapRecord): Promise<ChannelCloseOutcome>;
509
- /** Settle a closed channel after its challenge window — releases funds. */
543
+ /** Settle a closed channel after its exit window: releases funds. */
510
544
  settleChannel(record: ChannelMapRecord): Promise<ChannelSettleOutcome>;
511
545
  /**
512
546
  * The full multi-chain wallet view (#299) for the identity's configured
@@ -520,14 +554,15 @@ interface StandaloneMoneyOps {
520
554
  /**
521
555
  * Nonce-ownership guard for the STANDALONE embedded Publisher (#228).
522
556
  *
523
- * Why this exists: a payment channel's balance proof is a CUMULATIVE
524
- * watermark — the ChannelManager auto-increments the nonce and cumulative
525
- * amount on every `signBalanceProof`. Two writers signing claims on the same
526
- * channel from separate processes (a running `toon-clientd` daemon plus a
527
- * standalone embedded client, or two standalone processes) each keep their
528
- * own cumulative counter, so their claims race: the connector sees
529
- * non-monotonic watermarks and a re-signed claim can double-charge (the
530
- * hazard documented in packages/rig-web/tests/e2e/seed/lib/publish.ts).
557
+ * Why this exists: every x402 voucher names the channel's CUMULATIVE total
558
+ * (client 4.x, connector ADR 0075; the nonce of the 3.x toon-channel claims
559
+ * is gone), and the connector accepts one only if it exceeds the last by at
560
+ * least the charge. Two writers signing vouchers on the same channel from
561
+ * separate processes (a running `toon-clientd` daemon plus a standalone
562
+ * embedded client, or two standalone processes) each keep their own running
563
+ * total, so their vouchers race: the connector refuses the one that does not
564
+ * advance, and a re-signed total can double-charge (the hazard documented in
565
+ * packages/rig-web/tests/e2e/seed/lib/publish.ts).
531
566
  *
532
567
  * Two independent defenses, both keyed by the Nostr pubkey (one identity =
533
568
  * one channel set):
@@ -628,4 +663,4 @@ declare class NonceLock {
628
663
  release(): void;
629
664
  }
630
665
 
631
- export { type AcquireLockOptions, type ChannelCloseOutcome, ChannelMapCorruptError, type ChannelMapKey, type ChannelMapRecord, ChannelMapStore, type ChannelMapStoreOptions, type ChannelOpenOutcome, type ChannelSettleOutcome, type CheckDaemonOptions, ConnectorPublishError, ConnectorPublisher, type ConnectorPublisherOptions, DEFAULT_DAEMON_PORT, DaemonIdentityConflictError, MAX_ACCOUNT_INDEX, NonceLock, type NostrKey, type PaidClientLike, type PaidFulfilled, type PaidLeg, type PaidRefused, type PaidRequest, type PaidSendOptions, type PaidSendResult, type PersistedChannelContext, RIG_CHANNEL_MAP_FILENAME, type RouteTerms, StandaloneLockError, type StandaloneMoneyOps, type WalletChainBalanceInfo, type WalletTokenAmountInfo, type WatermarkEntry, channelStatus, checkDaemonIdentity, counterpartyMatch, defaultDaemonPort, defaultLockDir, deriveNostrKeyFromMnemonic, extractArweaveTxId, nostrDerivationPath, recordKey, resolveChannelPaths, sameSettlementAddress };
666
+ export { type AcquireLockOptions, CHANNEL_STORE_FILENAME, type ChannelCloseOutcome, ChannelMapCorruptError, type ChannelMapKey, type ChannelMapRecord, ChannelMapStore, type ChannelMapStoreOptions, type ChannelOpenOutcome, type ChannelSettleOutcome, type CheckDaemonOptions, ConnectorPublishError, ConnectorPublisher, type ConnectorPublisherOptions, DEFAULT_DAEMON_PORT, DaemonIdentityConflictError, LEGACY_CHANNEL_STORE_FILENAME, LEGACY_RIG_CHANNEL_MAP_FILENAME, MAX_ACCOUNT_INDEX, NonceLock, type NostrKey, type PaidClientLike, type PaidFulfilled, type PaidLeg, type PaidRefused, type PaidRequest, type PaidSendOptions, type PaidSendResult, type PersistedChannelContext, RIG_CHANNEL_MAP_FILENAME, type RouteTerms, StandaloneLockError, type StandaloneMoneyOps, type WalletChainBalanceInfo, type WalletTokenAmountInfo, type WatermarkEntry, channelStatus, checkDaemonIdentity, counterpartyMatch, defaultDaemonPort, defaultLockDir, deriveNostrKeyFromMnemonic, extractArweaveTxId, isToonChannelStore, legacyChannelFiles, nostrDerivationPath, recordKey, resolveChannelPaths, sameSettlementAddress };
@@ -2,17 +2,22 @@ import {
2
2
  ConnectorPublishError,
3
3
  ConnectorPublisher,
4
4
  extractArweaveTxId
5
- } from "../chunk-UE5TAFEU.js";
5
+ } from "../chunk-ZQGXFFBP.js";
6
6
  import {
7
+ CHANNEL_STORE_FILENAME,
7
8
  ChannelMapCorruptError,
8
9
  ChannelMapStore,
10
+ LEGACY_CHANNEL_STORE_FILENAME,
11
+ LEGACY_RIG_CHANNEL_MAP_FILENAME,
9
12
  RIG_CHANNEL_MAP_FILENAME,
10
13
  channelStatus,
11
14
  counterpartyMatch,
15
+ isToonChannelStore,
16
+ legacyChannelFiles,
12
17
  recordKey,
13
18
  resolveChannelPaths,
14
19
  sameSettlementAddress
15
- } from "../chunk-XCLUB2CY.js";
20
+ } from "../chunk-LMZSAFAB.js";
16
21
  import {
17
22
  DEFAULT_DAEMON_PORT,
18
23
  DaemonIdentityConflictError,
@@ -24,14 +29,17 @@ import {
24
29
  defaultLockDir,
25
30
  deriveNostrKeyFromMnemonic,
26
31
  nostrDerivationPath
27
- } from "../chunk-U5A7MHBP.js";
32
+ } from "../chunk-7VIVQHRG.js";
28
33
  export {
34
+ CHANNEL_STORE_FILENAME,
29
35
  ChannelMapCorruptError,
30
36
  ChannelMapStore,
31
37
  ConnectorPublishError,
32
38
  ConnectorPublisher,
33
39
  DEFAULT_DAEMON_PORT,
34
40
  DaemonIdentityConflictError,
41
+ LEGACY_CHANNEL_STORE_FILENAME,
42
+ LEGACY_RIG_CHANNEL_MAP_FILENAME,
35
43
  MAX_ACCOUNT_INDEX,
36
44
  NonceLock,
37
45
  RIG_CHANNEL_MAP_FILENAME,
@@ -43,6 +51,8 @@ export {
43
51
  defaultLockDir,
44
52
  deriveNostrKeyFromMnemonic,
45
53
  extractArweaveTxId,
54
+ isToonChannelStore,
55
+ legacyChannelFiles,
46
56
  nostrDerivationPath,
47
57
  recordKey,
48
58
  resolveChannelPaths,