@1sat/wallet 0.0.62 → 0.0.66

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 (39) hide show
  1. package/dist/backupRegistration.d.ts +24 -10
  2. package/dist/backupRegistration.d.ts.map +1 -1
  3. package/dist/backupRegistration.js +32 -38
  4. package/dist/backupRegistration.js.map +1 -1
  5. package/dist/cwi/index.d.ts +1 -9
  6. package/dist/cwi/index.d.ts.map +1 -1
  7. package/dist/cwi/index.js +1 -10
  8. package/dist/cwi/index.js.map +1 -1
  9. package/dist/cwi/types.d.ts +3 -3
  10. package/dist/cwi/types.d.ts.map +1 -1
  11. package/dist/factory.d.ts +43 -0
  12. package/dist/factory.d.ts.map +1 -1
  13. package/dist/factory.js +129 -24
  14. package/dist/factory.js.map +1 -1
  15. package/dist/index.d.ts +2 -2
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/permissions/manager.d.ts +2 -0
  20. package/dist/permissions/manager.d.ts.map +1 -1
  21. package/dist/permissions/manager.js +43 -0
  22. package/dist/permissions/manager.js.map +1 -1
  23. package/package.json +2 -2
  24. package/dist/cwi/chrome-receiver.d.ts +0 -6
  25. package/dist/cwi/chrome-receiver.d.ts.map +0 -1
  26. package/dist/cwi/chrome-receiver.js +0 -31
  27. package/dist/cwi/chrome-receiver.js.map +0 -1
  28. package/dist/cwi/receiver.d.ts +0 -4
  29. package/dist/cwi/receiver.d.ts.map +0 -1
  30. package/dist/cwi/receiver.js +0 -34
  31. package/dist/cwi/receiver.js.map +0 -1
  32. package/dist/cwi/sigma-receiver.d.ts +0 -17
  33. package/dist/cwi/sigma-receiver.d.ts.map +0 -1
  34. package/dist/cwi/sigma-receiver.js +0 -65
  35. package/dist/cwi/sigma-receiver.js.map +0 -1
  36. package/dist/cwi/web-receiver.d.ts +0 -12
  37. package/dist/cwi/web-receiver.d.ts.map +0 -1
  38. package/dist/cwi/web-receiver.js +0 -51
  39. package/dist/cwi/web-receiver.js.map +0 -1
@@ -1,25 +1,39 @@
1
1
  export interface BackupRegistrationOptions {
2
2
  urls: string[];
3
3
  register: (url: string) => Promise<void>;
4
- retryMsecs: number;
5
- onError?: (url: string, err: unknown, attempts: number) => void;
4
+ onError?: (url: string, err: unknown) => void;
6
5
  }
7
6
  /**
8
- * Drives first-time registration of backup storage URLs out of band from
9
- * factory boot. Each URL is tried once on start; failures schedule a retry
10
- * at `retryMsecs`. Only one attempt per URL runs at a time — if a previous
11
- * attempt is still in flight when a retry fires, the retry is skipped.
7
+ * Fires one async registration attempt per backup URL out of band from
8
+ * factory boot. No retry: in long-lived processes the periodic
9
+ * `BackupSync` monitor task handles ongoing reconciliation; in transient
10
+ * processes (CLI invocations, service worker wakes) the next wake provides
11
+ * the retry cadence. Repeated retry inside a single process duplicates
12
+ * those existing mechanisms.
13
+ *
14
+ * `stop()` aborts the work if the wallet is destroyed before in-flight
15
+ * registrations complete (the in-flight promise is allowed to settle but
16
+ * its result is ignored).
12
17
  */
13
18
  export declare class BackupRegistration {
14
19
  private readonly opts;
15
- private readonly pending;
16
- private readonly attempting;
17
- private readonly attempts;
18
- private readonly timers;
19
20
  private stopped;
21
+ private inFlight;
20
22
  constructor(opts: BackupRegistrationOptions);
21
23
  start(): void;
22
24
  stop(): void;
25
+ /**
26
+ * Resolves once every configured backup URL has either successfully
27
+ * registered or errored (errors are surfaced via `onError`, not by
28
+ * rejecting this promise). Resolves immediately if `start()` was never
29
+ * called or no URLs were configured. Safe to call before or after
30
+ * `start()`.
31
+ *
32
+ * Use this to coordinate with concurrent storage consumers (e.g. the
33
+ * monitor's initial run) so they don't race against the
34
+ * `WalletStorageManager.addWalletStorageProvider` flip.
35
+ */
36
+ whenSettled(): Promise<void>;
23
37
  private attempt;
24
38
  }
25
39
  //# sourceMappingURL=backupRegistration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backupRegistration.d.ts","sourceRoot":"","sources":["../src/backupRegistration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACzC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/D;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAQlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CACb;IACV,OAAO,CAAC,OAAO,CAAQ;gBAEM,IAAI,EAAE,yBAAyB;IAI5D,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,OAAO;CA4Bf"}
1
+ {"version":3,"file":"backupRegistration.d.ts","sourceRoot":"","sources":["../src/backupRegistration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACzC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAIlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAsB;gBAET,IAAI,EAAE,yBAAyB;IAE5D,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,OAAO,CAAC,OAAO;CASf"}
@@ -1,59 +1,53 @@
1
1
  /**
2
- * Drives first-time registration of backup storage URLs out of band from
3
- * factory boot. Each URL is tried once on start; failures schedule a retry
4
- * at `retryMsecs`. Only one attempt per URL runs at a time — if a previous
5
- * attempt is still in flight when a retry fires, the retry is skipped.
2
+ * Fires one async registration attempt per backup URL out of band from
3
+ * factory boot. No retry: in long-lived processes the periodic
4
+ * `BackupSync` monitor task handles ongoing reconciliation; in transient
5
+ * processes (CLI invocations, service worker wakes) the next wake provides
6
+ * the retry cadence. Repeated retry inside a single process duplicates
7
+ * those existing mechanisms.
8
+ *
9
+ * `stop()` aborts the work if the wallet is destroyed before in-flight
10
+ * registrations complete (the in-flight promise is allowed to settle but
11
+ * its result is ignored).
6
12
  */
7
13
  export class BackupRegistration {
8
14
  opts;
9
- pending;
10
- attempting = new Set();
11
- attempts = new Map();
12
- timers = new Map();
13
15
  stopped = false;
16
+ inFlight = [];
14
17
  constructor(opts) {
15
18
  this.opts = opts;
16
- this.pending = new Set(opts.urls);
17
19
  }
18
20
  start() {
19
- for (const url of this.pending)
20
- this.attempt(url);
21
+ for (const url of this.opts.urls)
22
+ this.inFlight.push(this.attempt(url));
21
23
  }
22
24
  stop() {
23
25
  this.stopped = true;
24
- for (const t of this.timers.values())
25
- clearTimeout(t);
26
- this.timers.clear();
27
26
  }
28
- attempt(url) {
29
- if (this.stopped)
30
- return;
31
- if (!this.pending.has(url))
32
- return;
33
- if (this.attempting.has(url))
27
+ /**
28
+ * Resolves once every configured backup URL has either successfully
29
+ * registered or errored (errors are surfaced via `onError`, not by
30
+ * rejecting this promise). Resolves immediately if `start()` was never
31
+ * called or no URLs were configured. Safe to call before or after
32
+ * `start()`.
33
+ *
34
+ * Use this to coordinate with concurrent storage consumers (e.g. the
35
+ * monitor's initial run) so they don't race against the
36
+ * `WalletStorageManager.addWalletStorageProvider` flip.
37
+ */
38
+ async whenSettled() {
39
+ if (this.inFlight.length === 0)
34
40
  return;
35
- this.attempting.add(url);
36
- const count = (this.attempts.get(url) ?? 0) + 1;
37
- this.attempts.set(url, count);
38
- void (async () => {
41
+ await Promise.allSettled(this.inFlight);
42
+ }
43
+ attempt(url) {
44
+ return (async () => {
39
45
  try {
40
46
  await this.opts.register(url);
41
- this.pending.delete(url);
42
- this.attempts.delete(url);
43
47
  }
44
48
  catch (err) {
45
- if (this.opts.onError)
46
- this.opts.onError(url, err, count);
47
- if (!this.stopped && this.pending.has(url)) {
48
- const t = setTimeout(() => {
49
- this.timers.delete(url);
50
- this.attempt(url);
51
- }, this.opts.retryMsecs);
52
- this.timers.set(url, t);
53
- }
54
- }
55
- finally {
56
- this.attempting.delete(url);
49
+ if (!this.stopped && this.opts.onError)
50
+ this.opts.onError(url, err);
57
51
  }
58
52
  })();
59
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backupRegistration.js","sourceRoot":"","sources":["../src/backupRegistration.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAQD;IAPZ,OAAO,CAAa;IACpB,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAA;IACnC,QAAQ,GAAwB,IAAI,GAAG,EAAE,CAAA;IACzC,MAAM,GACtB,IAAI,GAAG,EAAE,CAAA;IACF,OAAO,GAAG,KAAK,CAAA;IAEvB,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,KAAK;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClD,CAAC;IAED,IAAI;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEO,OAAO,CAAC,GAAW;QAC1B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QAEpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAE7B,KAAK,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;wBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAClB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBACxB,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5B,CAAC;QACF,CAAC,CAAC,EAAE,CAAA;IACL,CAAC;CACD"}
1
+ {"version":3,"file":"backupRegistration.js","sourceRoot":"","sources":["../src/backupRegistration.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAkB;IAID;IAHrB,OAAO,GAAG,KAAK,CAAA;IACf,QAAQ,GAAoB,EAAE,CAAA;IAEtC,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;IAAG,CAAC;IAEhE,KAAK;QACJ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,IAAI;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACpB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW;QAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACtC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAEO,OAAO,CAAC,GAAW;QAC1B,OAAO,CAAC,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACpE,CAAC;QACF,CAAC,CAAC,EAAE,CAAA;IACL,CAAC;CACD"}
@@ -1,9 +1,5 @@
1
1
  /**
2
- * CWI (Compute With Integrity) — BRC-100 WalletInterface implementations
3
- *
4
- * Sender-side helpers produce a WalletInterface bound to a transport channel.
5
- * Receiver-side helpers bind a WalletInterface to a channel so other processes
6
- * can invoke it.
2
+ * CWI (Compute With Integrity) — BRC-100 WalletInterface senders + shared types
7
3
  */
8
4
  export { CWIEventName, type CWIResponseDetail, type CWIRequest, type CWIResponse, type CWIRequestMessage, type CWIResponseMessage, CWI_EVENT_NAMES, isCWIEventName, } from './types';
9
5
  export { createCWI, type CWITransport } from './factory';
@@ -11,8 +7,4 @@ export { createEventCWI, CWI as EventCWI } from './event';
11
7
  export { createChromeCWI, ChromeCWI } from './chrome';
12
8
  export { createWebCWI, type WebCWIConfig, type WebCWIResult } from './web';
13
9
  export { createSigmaCWI, type SigmaCWIConfig, type SigmaCWIResult, } from './sigma';
14
- export { handleCWIRequest } from './receiver';
15
- export { createChromeCWIReceiver, type ChromeCWIReceiver, } from './chrome-receiver';
16
- export { createWebCWIReceiver, type WebCWIReceiver, type WebCWIReceiverConfig, } from './web-receiver';
17
- export { createSigmaCWIReceiver, type SigmaCWIReceiver, type SigmaCWIReceiverConfig, type SigmaCustomMessage, } from './sigma-receiver';
18
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cwi/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EACN,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,GACnB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EACN,uBAAuB,EACvB,KAAK,iBAAiB,GACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACN,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GACvB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cwi/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EACN,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,cAAc,GACnB,MAAM,SAAS,CAAA"}
package/dist/cwi/index.js CHANGED
@@ -1,9 +1,5 @@
1
1
  /**
2
- * CWI (Compute With Integrity) — BRC-100 WalletInterface implementations
3
- *
4
- * Sender-side helpers produce a WalletInterface bound to a transport channel.
5
- * Receiver-side helpers bind a WalletInterface to a channel so other processes
6
- * can invoke it.
2
+ * CWI (Compute With Integrity) — BRC-100 WalletInterface senders + shared types
7
3
  */
8
4
  export { CWIEventName, CWI_EVENT_NAMES, isCWIEventName, } from './types';
9
5
  export { createCWI } from './factory';
@@ -12,9 +8,4 @@ export { createEventCWI, CWI as EventCWI } from './event';
12
8
  export { createChromeCWI, ChromeCWI } from './chrome';
13
9
  export { createWebCWI } from './web';
14
10
  export { createSigmaCWI, } from './sigma';
15
- // Receivers
16
- export { handleCWIRequest } from './receiver';
17
- export { createChromeCWIReceiver, } from './chrome-receiver';
18
- export { createWebCWIReceiver, } from './web-receiver';
19
- export { createSigmaCWIReceiver, } from './sigma-receiver';
20
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cwi/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,YAAY,EAMZ,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,SAAS,EAAqB,MAAM,WAAW,CAAA;AAExD,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAwC,MAAM,OAAO,CAAA;AAC1E,OAAO,EACN,cAAc,GAGd,MAAM,SAAS,CAAA;AAEhB,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EACN,uBAAuB,GAEvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,oBAAoB,GAGpB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACN,sBAAsB,GAItB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cwi/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EAMZ,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,SAAS,EAAqB,MAAM,WAAW,CAAA;AAExD,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAwC,MAAM,OAAO,CAAA;AAC1E,OAAO,EACN,cAAc,GAGd,MAAM,SAAS,CAAA"}
@@ -42,8 +42,8 @@ export declare const CWI_EVENT_NAMES: ReadonlySet<string>;
42
42
  /** Type guard: true iff `s` is a valid CWIEventName. */
43
43
  export declare const isCWIEventName: (s: unknown) => s is CWIEventName;
44
44
  /**
45
- * Channel-agnostic CWI request passed into handleCWIRequest.
46
- * Each channel adapter converts its on-wire envelope to this shape.
45
+ * Channel-agnostic CWI request shape. Receivers translate their on-wire
46
+ * envelope into this shape when dispatching to a WalletInterface.
47
47
  */
48
48
  export interface CWIRequest {
49
49
  action: CWIEventName;
@@ -57,7 +57,7 @@ export interface CWIRequest {
57
57
  /** Correlation id for logging / tracing. Optional. */
58
58
  id?: string;
59
59
  }
60
- /** Channel-agnostic CWI response produced by handleCWIRequest. */
60
+ /** Channel-agnostic CWI response shape. */
61
61
  export type CWIResponse<T = unknown> = {
62
62
  ok: true;
63
63
  data: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cwi/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,oBAAY,YAAY;IAEvB,YAAY,gBAAgB;IAC5B,YAAY,gBAAgB;IAC5B,cAAc,iBAAiB;IAC/B,UAAU,cAAc;IACxB,qBAAqB,uBAAuB;IAC5C,WAAW,eAAe;IAC1B,WAAW,eAAe;IAC1B,gBAAgB,oBAAoB;IACpC,uBAAuB,0BAA0B;IAGjD,aAAa,iBAAiB;IAC9B,WAAW,eAAe;IAC1B,YAAY,gBAAgB;IAC5B,kBAAkB,sBAAsB;IACxC,gBAAgB,oBAAoB;IACpC,gBAAgB,oBAAoB;IACpC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,eAAe;IAC1B,WAAW,eAAe;IAC1B,iBAAiB,qBAAqB;IAGtC,mBAAmB,uBAAuB;IAC1C,iBAAiB,qBAAqB;IACtC,iBAAiB,qBAAqB;IACtC,sBAAsB,0BAA0B;IAChD,wBAAwB,0BAA0B;IAClD,sBAAsB,yBAAyB;IAG/C,+BAA+B,iCAAiC;IAChE,2BAA2B,6BAA6B;CACxD;AAGD,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE/C,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YACD,CAAA;AAEhD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAA;CACX;AAED,kEAAkE;AAClE,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,KAAK,CAAA;IACX,YAAY,EAAE,IAAI,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,KAAK,CAAA;IACX,YAAY,EAAE,KAAK,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cwi/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,oBAAY,YAAY;IAEvB,YAAY,gBAAgB;IAC5B,YAAY,gBAAgB;IAC5B,cAAc,iBAAiB;IAC/B,UAAU,cAAc;IACxB,qBAAqB,uBAAuB;IAC5C,WAAW,eAAe;IAC1B,WAAW,eAAe;IAC1B,gBAAgB,oBAAoB;IACpC,uBAAuB,0BAA0B;IAGjD,aAAa,iBAAiB;IAC9B,WAAW,eAAe;IAC1B,YAAY,gBAAgB;IAC5B,kBAAkB,sBAAsB;IACxC,gBAAgB,oBAAoB;IACpC,gBAAgB,oBAAoB;IACpC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,eAAe;IAC1B,WAAW,eAAe;IAC1B,iBAAiB,qBAAqB;IAGtC,mBAAmB,uBAAuB;IAC1C,iBAAiB,qBAAqB;IACtC,iBAAiB,qBAAqB;IACtC,sBAAsB,0BAA0B;IAChD,wBAAwB,0BAA0B;IAClD,sBAAsB,yBAAyB;IAG/C,+BAA+B,iCAAiC;IAChE,2BAA2B,6BAA6B;CACxD;AAGD,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAE/C,CAAA;AAED,wDAAwD;AACxD,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YACD,CAAA;AAEhD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,EAAE,CAAC,EAAE,MAAM,CAAA;CACX;AAED,2CAA2C;AAC3C,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,KAAK,CAAA;IACX,YAAY,EAAE,IAAI,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,KAAK,CAAA;IACX,YAAY,EAAE,KAAK,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb"}
package/dist/factory.d.ts CHANGED
@@ -9,6 +9,29 @@ export declare const DEFAULT_FEE_MODEL: {
9
9
  value: number;
10
10
  };
11
11
  export declare const DEFAULT_CONNECTION_TIMEOUT = 5000;
12
+ /**
13
+ * Persists Monitor task state across processes so that transient consumers
14
+ * (CLI invocations, service worker wakes) can inherit triggers and queued
15
+ * chain-tip state that would otherwise be lost on every fresh Monitor.
16
+ *
17
+ * Bulk semantics: load returns the entire taskName -> state map; save
18
+ * replaces it. Per-task value shape is interpreted in this factory:
19
+ * - Most tasks store a `number` (`lastRunMsecsSinceEpoch`).
20
+ * - `TaskNewHeader` stores `{ header, queuedHeader, queuedHeaderWhen }` so
21
+ * the "wait one cycle before fetching proofs" handshake survives a process
22
+ * restart — without this, CLI invocations always look like first-run and
23
+ * `TaskCheckForProofs` never gets armed.
24
+ *
25
+ * Backward compat: if the persisted value for a task is a raw `number`, it
26
+ * is treated as legacy `lastRunMsecsSinceEpoch` (matches the old shape).
27
+ *
28
+ * Implementations live in runtime-specific packages (`@1sat/wallet-node` for
29
+ * filesystem, `@1sat/wallet-browser` for IndexedDB).
30
+ */
31
+ export interface TaskStateStore {
32
+ load(): Promise<Record<string, unknown>>;
33
+ save(state: Record<string, unknown>): Promise<void>;
34
+ }
12
35
  export interface WalletCoreConfig {
13
36
  privateKey: PrivateKey | string;
14
37
  chain: Chain;
@@ -40,6 +63,14 @@ export interface WalletCoreConfig {
40
63
  * can't hit a 507.
41
64
  */
42
65
  onStoragePaymentRequired?: StoragePaymentHook;
66
+ /**
67
+ * Optional persistent store for Monitor task `lastRunMsecsSinceEpoch`.
68
+ * When provided, the factory hydrates each task's last-run timestamp on
69
+ * Monitor construction and snapshots back after every `runOnce` cycle.
70
+ * Without it, every fresh Monitor starts at lastRun=0 and re-fires every
71
+ * task on first invocation.
72
+ */
73
+ taskStateStore?: TaskStateStore;
43
74
  }
44
75
  export interface WalletCoreResult {
45
76
  wallet: InstanceType<any>;
@@ -78,6 +109,18 @@ export interface WalletCoreResult {
78
109
  model: 'sat/kb';
79
110
  value: number;
80
111
  };
112
+ /**
113
+ * Resolves once initial backup-remote registration has settled (each
114
+ * configured backup URL has either succeeded or errored). Resolves
115
+ * immediately when no backups are configured.
116
+ *
117
+ * Callers that initiate concurrent storage operations (notably an
118
+ * automatic `monitor.runOnce()` on boot) should await this to avoid
119
+ * racing against `WalletStorageManager.addWalletStorageProvider`, which
120
+ * briefly flips `_isAvailable=false` on each registration and causes
121
+ * concurrent `getActive()` calls to throw `WERR_INVALID_OPERATION`.
122
+ */
123
+ backupsSettled: Promise<void>;
81
124
  }
82
125
  export declare function createWalletCore(config: WalletCoreConfig, localStorage: WalletStorageProvider | undefined, toolbox: {
83
126
  Services: any;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAc,KAAK,UAAU,EAAwB,MAAM,UAAU,CAAA;AAC5E,OAAO,KAAK,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAG5D,OAAO,EAGN,KAAK,kBAAkB,EACvB,MAAM,2BAA2B,CAAA;AAGlC,KAAK,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAA;AAE7D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;CAA2C,CAAA;AACzE,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;;;;;OASG;IACH,wBAAwB,CAAC,EAAE,kBAAkB,CAAA;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC1B;;;;;OAKG;IACH,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;IAClC;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D;;;OAGG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;IAC7C,QAAQ,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,OAAO,EAAE;IACR,QAAQ,EAAE,GAAG,CAAA;IACb,aAAa,EAAE,GAAG,CAAA;IAClB,eAAe,EAAE,GAAG,CAAA;IACpB,MAAM,EAAE,GAAG,CAAA;IACX,oBAAoB,EAAE,GAAG,CAAA;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,GAAG,CAAA;CACb,GACC,OAAO,CAAC,gBAAgB,CAAC,CAmQ3B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/factory.js CHANGED
@@ -84,11 +84,10 @@ export async function createWalletCore(config, localStorage, toolbox) {
84
84
  await storage.setActive(intendedActiveKey);
85
85
  };
86
86
  // Backup remotes register asynchronously so boot doesn't block on a
87
- // down or slow backup. Each URL gets one attempt on start; failures
88
- // retry at `backupSyncIntervalMs`. Caller-visible sync lives on the
89
- // existing BackupSync monitor task once a backup registers here,
90
- // that task picks it up on its next tick.
91
- const backupRetryMsecs = config.backupSyncIntervalMs ?? 5 * 60 * 1000;
87
+ // down or slow backup. Each URL gets one attempt; no in-process retry.
88
+ // Long-lived processes recover via the periodic BackupSync monitor
89
+ // task; transient processes (CLI invocations, service worker wakes)
90
+ // retry on the next process boot.
92
91
  const backupRegistration = config.backups && config.backups.length > 0
93
92
  ? new BackupRegistration({
94
93
  urls: config.backups,
@@ -96,9 +95,8 @@ export async function createWalletCore(config, localStorage, toolbox) {
96
95
  await connectRemote(url);
97
96
  await reconcileActive();
98
97
  },
99
- retryMsecs: backupRetryMsecs,
100
- onError: (url, err, attempts) => {
101
- console.warn(`[wallet-core] backup registration failed for ${url} (attempt ${attempts}):`, err);
98
+ onError: (url, err) => {
99
+ console.warn(`[wallet-core] backup registration failed for ${url}:`, err);
102
100
  },
103
101
  })
104
102
  : undefined;
@@ -153,7 +151,19 @@ export async function createWalletCore(config, localStorage, toolbox) {
153
151
  // backup task. Interval defaults to 5 min.
154
152
  const backupSyncIntervalMs = config.backupSyncIntervalMs ?? 5 * 60 * 1000;
155
153
  if (backupSyncIntervalMs > 0) {
156
- monitor.addTask(buildBackupSyncTask(monitor, backupSyncIntervalMs, storage));
154
+ monitor.addTask(buildBackupSyncTask(monitor, backupSyncIntervalMs, storage, {
155
+ unregisteredBackupUrls: () => {
156
+ const configured = config.backups ?? [];
157
+ if (configured.length === 0)
158
+ return [];
159
+ const registered = new Set(remoteClients.map((c) => c.endpointUrl));
160
+ return configured.filter((url) => !registered.has(url));
161
+ },
162
+ registerBackup: async (url) => {
163
+ await connectRemote(url);
164
+ await reconcileActive();
165
+ },
166
+ }));
157
167
  }
158
168
  if (config.onTransactionBroadcasted) {
159
169
  monitor.onTransactionBroadcasted = async (result) => {
@@ -166,6 +176,76 @@ export async function createWalletCore(config, localStorage, toolbox) {
166
176
  config.onTransactionProven(status.txid, status.blockHeight);
167
177
  };
168
178
  }
179
+ // Persist task state across processes. Hydrate on construction;
180
+ // snapshot after each runOnce cycle. Most tasks just persist
181
+ // `lastRunMsecsSinceEpoch` so their per-task interval throttle
182
+ // survives a fresh Monitor. `TaskNewHeader` additionally persists its
183
+ // queued chain-tip so the "wait one cycle before fetching proofs"
184
+ // handshake can complete across CLI invocations / service-worker
185
+ // wakes — without this, transient consumers always look like a
186
+ // first-run and `TaskCheckForProofs` never fires.
187
+ if (config.taskStateStore) {
188
+ const store = config.taskStateStore;
189
+ const persisted = await store.load();
190
+ for (const t of monitor._tasks) {
191
+ const value = persisted[t.name];
192
+ // Legacy shape: raw number = lastRunMsecsSinceEpoch.
193
+ if (typeof value === 'number') {
194
+ t.lastRunMsecsSinceEpoch = value;
195
+ continue;
196
+ }
197
+ if (value && typeof value === 'object') {
198
+ const v = value;
199
+ if (typeof v.lastRun === 'number') {
200
+ t.lastRunMsecsSinceEpoch = v.lastRun;
201
+ }
202
+ if (t.name === 'NewHeader') {
203
+ const nh = value;
204
+ const target = t;
205
+ if (nh.header)
206
+ target.header = nh.header;
207
+ if (nh.queuedHeader)
208
+ target.queuedHeader = nh.queuedHeader;
209
+ if (typeof nh.queuedHeaderWhen === 'string') {
210
+ target.queuedHeaderWhen = new Date(nh.queuedHeaderWhen);
211
+ }
212
+ }
213
+ }
214
+ }
215
+ const originalRunOnce = monitor.runOnce.bind(monitor);
216
+ const newHeaderTask = monitor._tasks.find((t) => t.name === 'NewHeader');
217
+ monitor.runOnce = async () => {
218
+ // If we restored a queuedHeader from disk, the first pass of
219
+ // originalRunOnce will trigger TaskNewHeader.runTask which calls
220
+ // processNewBlockHeader, setting TaskCheckForProofs.checkNow=true.
221
+ // But that flip happens AFTER Monitor.runOnce's trigger-eval phase,
222
+ // so TaskCheckForProofs is already excluded from this pass's task
223
+ // list. Daemons get a follow-up cycle to consume the flag; CLI /
224
+ // service-worker consumers don't. Do a second pass inline when we
225
+ // know the flag was just set.
226
+ const hadQueuedHeader = !!newHeaderTask?.queuedHeader;
227
+ await originalRunOnce();
228
+ if (hadQueuedHeader && !newHeaderTask?.queuedHeader) {
229
+ await originalRunOnce();
230
+ }
231
+ const next = {};
232
+ for (const t of monitor._tasks) {
233
+ if (t.name === 'NewHeader') {
234
+ const src = t;
235
+ next[t.name] = {
236
+ lastRun: t.lastRunMsecsSinceEpoch,
237
+ header: src.header ?? null,
238
+ queuedHeader: src.queuedHeader ?? null,
239
+ queuedHeaderWhen: src.queuedHeaderWhen?.toISOString() ?? null,
240
+ };
241
+ }
242
+ else {
243
+ next[t.name] = t.lastRunMsecsSinceEpoch;
244
+ }
245
+ }
246
+ await store.save(next);
247
+ };
248
+ }
169
249
  }
170
250
  // 6. Remote management operations
171
251
  const setActiveStorage = async (target) => {
@@ -227,20 +307,26 @@ export async function createWalletCore(config, localStorage, toolbox) {
227
307
  addRemote,
228
308
  getActiveStorage: () => storage.getActive(),
229
309
  feeModel,
310
+ backupsSettled: backupRegistration
311
+ ? backupRegistration.whenSettled()
312
+ : Promise.resolve(),
230
313
  };
231
314
  }
232
315
  /**
233
- * Builds a plain-object Monitor task that calls `storage.updateBackups()`
234
- * periodically. Shape-compatible with `WalletMonitorTask` no class
235
- * extension needed, so the factory doesn't need to import the abstract
236
- * class from whichever wallet-toolbox variant the caller uses.
316
+ * Builds a plain-object Monitor task that drives ongoing backup
317
+ * reconciliation. On each tick (when local is the active store):
318
+ * 1. Re-attempt registration for any configured URLs not yet registered
319
+ * (recovers from initial handshake failures).
320
+ * 2. Call `storage.updateBackups()` to push pending state to all
321
+ * successfully-registered backups.
237
322
  *
238
- * Only fires when local is the active store — with a remote active,
239
- * pushing local-to-remote on a schedule is unnecessary (remote is
240
- * canonical) and in a metered-remote setup it can trigger the auto-retry
241
- * payment path to deadlock against the manager's locks.
323
+ * Shape-compatible with `WalletMonitorTask` so the factory doesn't import
324
+ * the abstract class from whichever wallet-toolbox variant the caller
325
+ * uses. Only fires when local is the active store with a remote active,
326
+ * pushing local-to-remote on a schedule is unnecessary and the auto-retry
327
+ * payment path can deadlock against the manager's locks.
242
328
  */
243
- function buildBackupSyncTask(monitor, triggerMsecs, storage) {
329
+ function buildBackupSyncTask(monitor, triggerMsecs, storage, options) {
244
330
  return {
245
331
  monitor,
246
332
  storage: monitor.storage,
@@ -251,7 +337,9 @@ function buildBackupSyncTask(monitor, triggerMsecs, storage) {
251
337
  if (nowMsecsSinceEpoch - this.lastRunMsecsSinceEpoch < triggerMsecs) {
252
338
  return { run: false };
253
339
  }
254
- if (storage.getBackupStores().length === 0)
340
+ const hasRegistered = storage.getBackupStores().length > 0;
341
+ const hasUnregistered = options.unregisteredBackupUrls().length > 0;
342
+ if (!hasRegistered && !hasUnregistered)
255
343
  return { run: false };
256
344
  try {
257
345
  const active = storage.getActive();
@@ -264,13 +352,30 @@ function buildBackupSyncTask(monitor, triggerMsecs, storage) {
264
352
  return { run: true };
265
353
  },
266
354
  async runTask() {
267
- try {
268
- await storage.updateBackups();
269
- return 'backup sync complete';
355
+ const unregistered = options.unregisteredBackupUrls();
356
+ const messages = [];
357
+ if (unregistered.length > 0) {
358
+ const results = await Promise.allSettled(unregistered.map((url) => options.registerBackup(url)));
359
+ for (let i = 0; i < results.length; i++) {
360
+ const r = results[i];
361
+ if (r.status === 'rejected') {
362
+ console.warn(`[BackupSync] registration retry failed for ${unregistered[i]}:`, r.reason);
363
+ }
364
+ }
365
+ const recovered = results.filter((r) => r.status === 'fulfilled').length;
366
+ if (recovered > 0)
367
+ messages.push(`registered ${recovered}`);
270
368
  }
271
- catch (err) {
272
- return `backup sync failed: ${err.message}`;
369
+ if (storage.getBackupStores().length > 0) {
370
+ try {
371
+ await storage.updateBackups();
372
+ messages.push('sync complete');
373
+ }
374
+ catch (err) {
375
+ messages.push(`sync failed: ${err.message}`);
376
+ }
273
377
  }
378
+ return messages.join('; ') || 'no work';
274
379
  },
275
380
  };
276
381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,9 +5,9 @@ export { ArcadeClient, BaseClient, BeefClient, Bsv21Client, ChaintracksClient, O
5
5
  export { Bsv21Indexer, CosignIndexer, deriveFundAddress, FundIndexer, Indexer, InscriptionIndexer, LockIndexer, Listing, MapIndexer, OpNSIndexer, OrdLockIndexer, OriginIndexer, Outpoint, parseAddress, SigmaIndexer, type Bsv21, type CosignData, type File, type IndexData, type IndexSummary, type Inscription, type Origin, type ParseContext, type ParseResult, type Sigma, type Txo, } from './indexers';
6
6
  export { AddressManager, BRC29_PROTOCOL_ID, YOURS_PREFIX, type AddressDerivation, } from './address-sync';
7
7
  export { FileBackupProvider, FileRestoreReader, Zip, ZipDeflate, unzip, type BackupManifest, type BackupProgressCallback, type BackupProgressEvent, type Unzipped, } from './backup';
8
- export { ChromeCWI, CWI_EVENT_NAMES, CWIEventName, EventCWI, createChromeCWI, createChromeCWIReceiver, createCWI, createEventCWI, createSigmaCWI, createSigmaCWIReceiver, createWebCWI, createWebCWIReceiver, handleCWIRequest, isCWIEventName, type ChromeCWIReceiver, type CWIRequest, type CWIRequestMessage, type CWIResponse, type CWIResponseDetail, type CWIResponseMessage, type CWITransport, type SigmaCWIConfig, type SigmaCWIReceiver, type SigmaCWIReceiverConfig, type SigmaCustomMessage, type SigmaCWIResult, type WebCWIConfig, type WebCWIReceiver, type WebCWIReceiverConfig, type WebCWIResult, } from './cwi';
8
+ export { ChromeCWI, CWI_EVENT_NAMES, CWIEventName, EventCWI, createChromeCWI, createCWI, createEventCWI, createSigmaCWI, createWebCWI, isCWIEventName, type CWIRequest, type CWIRequestMessage, type CWIResponse, type CWIResponseDetail, type CWIResponseMessage, type CWITransport, type SigmaCWIConfig, type SigmaCWIResult, type WebCWIConfig, type WebCWIResult, } from './cwi';
9
9
  export { parsePrivateKey } from './parsePrivateKey';
10
- export { createWalletCore, DEFAULT_FEE_MODEL, DEFAULT_CONNECTION_TIMEOUT, type Chain, type WalletCoreConfig, type WalletCoreResult, } from './factory';
10
+ export { createWalletCore, DEFAULT_FEE_MODEL, DEFAULT_CONNECTION_TIMEOUT, type Chain, type TaskStateStore, type WalletCoreConfig, type WalletCoreResult, } from './factory';
11
11
  export { installStoragePaymentAutoRetry, StoragePaymentError, type AutoRetryConfig, type StoragePaymentHook, type StoragePaymentRequiredInfo, } from './storagePaymentAutoRetry';
12
12
  export { filterGroupedByMissing, InMemoryPermissionStore, isExpired, LocalWalletPermissionsManager, normalizeOriginator, permissionKeyFromRequest, permissionKeysFromGroup, permissionKeyToString, } from './permissions';
13
13
  export type { IPermissionStore, ListGrantsFilter, LocalWalletPermissionsManagerOptions, PermissionKey, PermissionType, StoredGrant, } from './permissions';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,UAAU,GACV,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,GAAG,GACR,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACb,MAAM,UAAU,CAAA;AAGjB,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACN,8BAA8B,EAC9B,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAC/B,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,eAAe,CAAA;AACtB,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oCAAoC,EACpC,aAAa,EACb,cAAc,EACd,WAAW,GACX,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,UAAU,GACV,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,GAAG,GACR,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACb,MAAM,UAAU,CAAA;AAGjB,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAA;AAGlB,OAAO,EACN,8BAA8B,EAC9B,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAC/B,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,eAAe,CAAA;AACtB,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oCAAoC,EACpC,aAAa,EACb,cAAc,EACd,WAAW,GACX,MAAM,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export { AddressManager, BRC29_PROTOCOL_ID, YOURS_PREFIX, } from './address-sync
11
11
  // Backup
12
12
  export { FileBackupProvider, FileRestoreReader, Zip, ZipDeflate, unzip, } from './backup';
13
13
  // CWI (Compute With Integrity)
14
- export { ChromeCWI, CWI_EVENT_NAMES, CWIEventName, EventCWI, createChromeCWI, createChromeCWIReceiver, createCWI, createEventCWI, createSigmaCWI, createSigmaCWIReceiver, createWebCWI, createWebCWIReceiver, handleCWIRequest, isCWIEventName, } from './cwi';
14
+ export { ChromeCWI, CWI_EVENT_NAMES, CWIEventName, EventCWI, createChromeCWI, createCWI, createEventCWI, createSigmaCWI, createWebCWI, isCWIEventName, } from './cwi';
15
15
  // Note: Storage utilities (StorageIdb, WalletStorageManager, Chain) should be
16
16
  // imported directly from '@bsv/wallet-toolbox/mobile'
17
17
  // Factory utilities
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAU7C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,cAAc;AACd,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAErB,WAAW;AACX,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,GAYZ,MAAM,YAAY,CAAA;AAEnB,eAAe;AACf,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEZ,MAAM,gBAAgB,CAAA;AAEvB,SAAS;AACT,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,GAKL,MAAM,UAAU,CAAA;AAEjB,+BAA+B;AAC/B,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GAiBd,MAAM,OAAO,CAAA;AAEd,8EAA8E;AAC9E,sDAAsD;AAEtD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,eAAe;AACf,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,GAI1B,MAAM,WAAW,CAAA;AAElB,iBAAiB;AACjB,OAAO,EACN,8BAA8B,EAC9B,mBAAmB,GAInB,MAAM,2BAA2B,CAAA;AAElC,8DAA8D;AAC9D,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAU7C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,cAAc;AACd,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAErB,WAAW;AACX,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,GAYZ,MAAM,YAAY,CAAA;AAEnB,eAAe;AACf,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEZ,MAAM,gBAAgB,CAAA;AAEvB,SAAS;AACT,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,GAKL,MAAM,UAAU,CAAA;AAEjB,+BAA+B;AAC/B,OAAO,EACN,SAAS,EACT,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,GAWd,MAAM,OAAO,CAAA;AAEd,8EAA8E;AAC9E,sDAAsD;AAEtD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,eAAe;AACf,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,GAK1B,MAAM,WAAW,CAAA;AAElB,iBAAiB;AACjB,OAAO,EACN,8BAA8B,EAC9B,mBAAmB,GAInB,MAAM,2BAA2B,CAAA;AAElC,8DAA8D;AAC9D,OAAO,EACN,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,eAAe,CAAA"}
@@ -78,6 +78,8 @@ export declare class LocalWalletPermissionsManager extends WalletPermissionsMana
78
78
  seekPermission?: boolean;
79
79
  }): Promise<boolean>;
80
80
  private storeHit;
81
+ private isAdminBasketUpstream;
82
+ private isAdminProtocolUpstream;
81
83
  grantPermission(params: {
82
84
  requestID: string;
83
85
  expiry?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,18 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
64
64
  }
65
65
  // -----------------------------------------------------------------
66
66
  // Read overrides — store-first, then delegate to super.
67
+ //
68
+ // Admin-restricted resources (admin originator, admin basket, admin
69
+ // protocol) MUST go through super. Short-circuiting on a stored
70
+ // grant would bypass super's admin-basket / admin-protocol throw
71
+ // and let any dApp with a stored grant reach the default basket or
72
+ // admin-prefixed protocols. See `isAdminBasketUpstream` /
73
+ // `isAdminProtocolUpstream` below.
67
74
  // -----------------------------------------------------------------
68
75
  async ensureProtocolPermission(args) {
76
+ if (this.isAdminProtocolUpstream(args.protocolID)) {
77
+ return super.ensureProtocolPermission(args);
78
+ }
69
79
  const counterparty = args.protocolID[0] === 1 ? '' : (args.counterparty ?? 'self');
70
80
  const key = {
71
81
  type: 'protocol',
@@ -80,6 +90,9 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
80
90
  return super.ensureProtocolPermission(args);
81
91
  }
82
92
  async ensureBasketAccess(args) {
93
+ if (this.isAdminBasketUpstream(args.basket)) {
94
+ return super.ensureBasketAccess(args);
95
+ }
83
96
  const key = {
84
97
  type: 'basket',
85
98
  originator: normalizeOriginator(args.originator),
@@ -119,6 +132,25 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
119
132
  const grant = await this.permissionStore.findGrant(key);
120
133
  return !!grant && !isExpired(grant.expiry);
121
134
  }
135
+ // Reach into super for the BRC-100 admin-reservation rules. They're
136
+ // declared `private` upstream (TypeScript-private, not `#`-private),
137
+ // so they exist on the prototype. Duplicating the rules here would
138
+ // silently drift if upstream ever extends them; the loud-throw guard
139
+ // below trips fast on rename so we don't quietly regress to bypass.
140
+ isAdminBasketUpstream(basket) {
141
+ const fn = this.isAdminBasket;
142
+ if (typeof fn !== 'function') {
143
+ throw new Error('LocalWalletPermissionsManager: super.isAdminBasket is unavailable; admin-basket checks would silently bypass');
144
+ }
145
+ return fn.call(this, basket);
146
+ }
147
+ isAdminProtocolUpstream(proto) {
148
+ const fn = this.isAdminProtocol;
149
+ if (typeof fn !== 'function') {
150
+ throw new Error('LocalWalletPermissionsManager: super.isAdminProtocol is unavailable; admin-protocol checks would silently bypass');
151
+ }
152
+ return fn.call(this, proto);
153
+ }
122
154
  // -----------------------------------------------------------------
123
155
  // Grant / deny overrides — write store, resolve super's pending
124
156
  // without minting on chain.
@@ -167,6 +199,11 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
167
199
  for (const p of params.granted.protocolPermissions ?? []) {
168
200
  if (p.counterparty === '')
169
201
  continue;
202
+ // Never persist grants for admin-reserved protocols. A dApp
203
+ // manifest could otherwise smuggle in admin-prefixed protocols
204
+ // and survive the read-side admin guard via stored grants.
205
+ if (this.isAdminProtocolUpstream(p.protocolID))
206
+ continue;
170
207
  const level = p.protocolID[0];
171
208
  const counterparty = level === 1 ? '' : (p.counterparty ?? 'self');
172
209
  await this.permissionStore.putGrant({
@@ -184,6 +221,12 @@ export class LocalWalletPermissionsManager extends WalletPermissionsManager {
184
221
  });
185
222
  }
186
223
  for (const b of params.granted.basketAccess ?? []) {
224
+ // Never persist grants for admin-reserved baskets (default,
225
+ // admin-prefixed). A dApp manifest including basket "default"
226
+ // would otherwise leave a stored grant that future bugs could
227
+ // honor.
228
+ if (this.isAdminBasketUpstream(b.basket))
229
+ continue;
187
230
  await this.permissionStore.putGrant({
188
231
  key: { type: 'basket', originator, basket: b.basket },
189
232
  expiry,
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/permissions/manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/wallet",
3
- "version": "0.0.62",
3
+ "version": "0.0.66",
4
4
  "description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "dependencies": {
32
32
  "@1sat/client": "0.0.26",
33
33
  "@1sat/types": "0.0.18",
34
- "@1sat/templates": "0.0.9",
34
+ "@1sat/templates": "0.0.10",
35
35
  "@bopen-io/templates": "^1.2.3",
36
36
  "@msgpack/msgpack": "^3.1.3",
37
37
  "fflate": "^0.8.2"
@@ -1,6 +0,0 @@
1
- import type { WalletInterface } from '@bsv/sdk';
2
- export interface ChromeCWIReceiver {
3
- dispose: () => void;
4
- }
5
- export declare const createChromeCWIReceiver: (wallet: WalletInterface) => ChromeCWIReceiver;
6
- //# sourceMappingURL=chrome-receiver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chrome-receiver.d.ts","sourceRoot":"","sources":["../../src/cwi/chrome-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAiB/C,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB;AAKD,eAAO,MAAM,uBAAuB,GACnC,QAAQ,eAAe,KACrB,iBA4CF,CAAA"}
@@ -1,31 +0,0 @@
1
- import { handleCWIRequest } from './receiver';
2
- import { isCWIEventName } from './types';
3
- const isMessage = (v) => typeof v === 'object' && v !== null && 'action' in v;
4
- export const createChromeCWIReceiver = (wallet) => {
5
- const api = globalThis.chrome;
6
- const onMessage = api?.runtime?.onMessage;
7
- if (!onMessage) {
8
- throw new Error('createChromeCWIReceiver: chrome.runtime.onMessage unavailable');
9
- }
10
- const listener = (msg, _sender, sendResponse) => {
11
- if (!isMessage(msg))
12
- return false;
13
- if (!isCWIEventName(msg.action))
14
- return false;
15
- void handleCWIRequest(wallet, {
16
- action: msg.action,
17
- params: msg.params,
18
- originator: typeof msg.originator === 'string' ? msg.originator : undefined,
19
- }).then((response) => {
20
- sendResponse(response.ok
21
- ? { success: true, data: response.data }
22
- : { success: false, error: response.error.message });
23
- });
24
- return true;
25
- };
26
- onMessage.addListener(listener);
27
- return {
28
- dispose: () => onMessage.removeListener(listener),
29
- };
30
- };
31
- //# sourceMappingURL=chrome-receiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chrome-receiver.js","sourceRoot":"","sources":["../../src/cwi/chrome-receiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAmBxC,MAAM,SAAS,GAAG,CAAC,CAAU,EAA6B,EAAE,CAC3D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,MAAuB,EACH,EAAE;IACtB,MAAM,GAAG,GACR,UAUA,CAAC,MAAM,CAAA;IACR,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,CAAA;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAA;IACF,CAAC;IAED,MAAM,QAAQ,GAAa,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACzD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAE7C,KAAK,gBAAgB,CAAC,MAAM,EAAE;YAC7B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EACT,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpB,YAAY,CACX,QAAQ,CAAC,EAAE;gBACV,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;gBACxC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CACpD,CAAA;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IAED,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC/B,OAAO;QACN,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;KACjD,CAAA;AACF,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { WalletInterface } from '@bsv/sdk';
2
- import { type CWIRequest, type CWIResponse } from './types';
3
- export declare const handleCWIRequest: <T = unknown>(wallet: WalletInterface, request: CWIRequest) => Promise<CWIResponse<T>>;
4
- //# sourceMappingURL=receiver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"receiver.d.ts","sourceRoot":"","sources":["../../src/cwi/receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAkB,MAAM,SAAS,CAAA;AAE3E,eAAO,MAAM,gBAAgB,GAAU,CAAC,GAAG,OAAO,EACjD,QAAQ,eAAe,EACvB,SAAS,UAAU,KACjB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAmCxB,CAAA"}
@@ -1,34 +0,0 @@
1
- import { isCWIEventName } from './types';
2
- export const handleCWIRequest = async (wallet, request) => {
3
- const { action, params, originator, id } = request;
4
- if (!isCWIEventName(action)) {
5
- return {
6
- ok: false,
7
- id,
8
- error: {
9
- code: 'UNKNOWN_ACTION',
10
- message: `Unknown CWI action: ${String(action)}`,
11
- },
12
- };
13
- }
14
- const method = wallet[action];
15
- if (typeof method !== 'function') {
16
- return {
17
- ok: false,
18
- id,
19
- error: {
20
- code: 'METHOD_NOT_IMPLEMENTED',
21
- message: `Wallet does not implement ${action}`,
22
- },
23
- };
24
- }
25
- try {
26
- const data = await method.call(wallet, params, originator);
27
- return { ok: true, id, data: data };
28
- }
29
- catch (err) {
30
- const message = err instanceof Error ? err.message : String(err);
31
- return { ok: false, id, error: { message } };
32
- }
33
- };
34
- //# sourceMappingURL=receiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"receiver.js","sourceRoot":"","sources":["../../src/cwi/receiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,cAAc,EAAE,MAAM,SAAS,CAAA;AAE3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,MAAuB,EACvB,OAAmB,EACO,EAAE;IAC5B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,CAAA;IAElD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACN,EAAE,EAAE,KAAK;YACT,EAAE;YACF,KAAK,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,uBAAuB,MAAM,CAAC,MAAM,CAAC,EAAE;aAChD;SACD,CAAA;IACF,CAAC;IAED,MAAM,MAAM,GAAI,MAA6C,CAAC,MAAM,CAAC,CAAA;IACrE,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO;YACN,EAAE,EAAE,KAAK;YACT,EAAE;YACF,KAAK,EAAE;gBACN,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,6BAA6B,MAAM,EAAE;aAC9C;SACD,CAAA;IACF,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MACZ,MACA,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAS,EAAE,CAAA;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAA;IAC7C,CAAC;AACF,CAAC,CAAA"}
@@ -1,17 +0,0 @@
1
- import type { WalletInterface } from '@bsv/sdk';
2
- export interface SigmaCustomMessage {
3
- type: string;
4
- payload: unknown;
5
- origin: string;
6
- }
7
- export interface SigmaCWIReceiverConfig {
8
- allowedOrigins: string[];
9
- target?: EventTarget;
10
- /** Optional handler for non-CWI messages (e.g. SET_IDENTITY). */
11
- onCustomMessage?: (message: SigmaCustomMessage) => void;
12
- }
13
- export interface SigmaCWIReceiver {
14
- dispose: () => void;
15
- }
16
- export declare const createSigmaCWIReceiver: (wallet: WalletInterface, config: SigmaCWIReceiverConfig) => SigmaCWIReceiver;
17
- //# sourceMappingURL=sigma-receiver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sigma-receiver.d.ts","sourceRoot":"","sources":["../../src/cwi/sigma-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,iEAAiE;IACjE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACvD;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB;AAmBD,eAAO,MAAM,sBAAsB,GAClC,QAAQ,eAAe,EACvB,QAAQ,sBAAsB,KAC5B,gBAmDF,CAAA"}
@@ -1,65 +0,0 @@
1
- import { handleCWIRequest } from './receiver';
2
- import { isCWIEventName, } from './types';
3
- const isCWIRequest = (v) => {
4
- if (typeof v !== 'object' || v === null)
5
- return false;
6
- const r = v;
7
- return (r.type === 'CWI' &&
8
- r.isInvocation === true &&
9
- typeof r.id === 'string' &&
10
- typeof r.call === 'string');
11
- };
12
- const isCustom = (v) => {
13
- if (typeof v !== 'object' || v === null)
14
- return false;
15
- const r = v;
16
- return typeof r.type === 'string' && r.type !== 'CWI';
17
- };
18
- export const createSigmaCWIReceiver = (wallet, config) => {
19
- const allowed = new Set(config.allowedOrigins);
20
- const target = config.target ?? globalThis;
21
- const onMessage = async (event) => {
22
- const msg = event;
23
- if (!allowed.has(msg.origin))
24
- return;
25
- if (isCWIRequest(msg.data)) {
26
- if (!isCWIEventName(msg.data.call))
27
- return;
28
- const response = await handleCWIRequest(wallet, {
29
- action: msg.data.call,
30
- params: msg.data.args,
31
- originator: msg.origin,
32
- id: msg.data.id,
33
- });
34
- const envelope = response.ok
35
- ? {
36
- type: 'CWI',
37
- isInvocation: false,
38
- id: msg.data.id,
39
- result: response.data,
40
- }
41
- : {
42
- type: 'CWI',
43
- isInvocation: false,
44
- id: msg.data.id,
45
- status: 'error',
46
- description: response.error.message,
47
- };
48
- const source = msg.source;
49
- source?.postMessage?.(envelope, msg.origin);
50
- return;
51
- }
52
- if (isCustom(msg.data) && config.onCustomMessage) {
53
- config.onCustomMessage({
54
- type: msg.data.type,
55
- payload: msg.data.payload,
56
- origin: msg.origin,
57
- });
58
- }
59
- };
60
- target.addEventListener('message', onMessage);
61
- return {
62
- dispose: () => target.removeEventListener('message', onMessage),
63
- };
64
- };
65
- //# sourceMappingURL=sigma-receiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sigma-receiver.js","sourceRoot":"","sources":["../../src/cwi/sigma-receiver.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { WalletInterface } from '@bsv/sdk';
2
- export interface WebCWIReceiverConfig {
3
- /** Host origins permitted to send requests. Required for safety. */
4
- allowedOrigins: string[];
5
- /** EventTarget to listen on. Defaults to globalThis. */
6
- target?: EventTarget;
7
- }
8
- export interface WebCWIReceiver {
9
- dispose: () => void;
10
- }
11
- export declare const createWebCWIReceiver: (wallet: WalletInterface, config: WebCWIReceiverConfig) => WebCWIReceiver;
12
- //# sourceMappingURL=web-receiver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-receiver.d.ts","sourceRoot":"","sources":["../../src/cwi/web-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,MAAM,WAAW,oBAAoB;IACpC,oEAAoE;IACpE,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB;AAaD,eAAO,MAAM,oBAAoB,GAChC,QAAQ,eAAe,EACvB,QAAQ,oBAAoB,KAC1B,cA2CF,CAAA"}
@@ -1,51 +0,0 @@
1
- import { handleCWIRequest } from './receiver';
2
- import { isCWIEventName, } from './types';
3
- const isRequest = (v) => {
4
- if (typeof v !== 'object' || v === null)
5
- return false;
6
- const r = v;
7
- return (r.type === 'CWI' &&
8
- r.isInvocation === true &&
9
- typeof r.id === 'string' &&
10
- typeof r.call === 'string');
11
- };
12
- export const createWebCWIReceiver = (wallet, config) => {
13
- const allowed = new Set(config.allowedOrigins);
14
- const target = config.target ?? globalThis;
15
- const onMessage = async (event) => {
16
- const msg = event;
17
- if (!allowed.has(msg.origin))
18
- return;
19
- if (!isRequest(msg.data))
20
- return;
21
- if (!isCWIEventName(msg.data.call))
22
- return;
23
- const response = await handleCWIRequest(wallet, {
24
- action: msg.data.call,
25
- params: msg.data.args,
26
- originator: msg.origin,
27
- id: msg.data.id,
28
- });
29
- const envelope = response.ok
30
- ? {
31
- type: 'CWI',
32
- isInvocation: false,
33
- id: msg.data.id,
34
- result: response.data,
35
- }
36
- : {
37
- type: 'CWI',
38
- isInvocation: false,
39
- id: msg.data.id,
40
- status: 'error',
41
- description: response.error.message,
42
- };
43
- const source = msg.source;
44
- source?.postMessage?.(envelope, msg.origin);
45
- };
46
- target.addEventListener('message', onMessage);
47
- return {
48
- dispose: () => target.removeEventListener('message', onMessage),
49
- };
50
- };
51
- //# sourceMappingURL=web-receiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"web-receiver.js","sourceRoot":"","sources":["../../src/cwi/web-receiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAGN,cAAc,GACd,MAAM,SAAS,CAAA;AAahB,MAAM,SAAS,GAAG,CAAC,CAAU,EAA0B,EAAE;IACxD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,CAAC,GAAG,CAA4B,CAAA;IACtC,OAAO,CACN,CAAC,CAAC,IAAI,KAAK,KAAK;QAChB,CAAC,CAAC,YAAY,KAAK,IAAI;QACvB,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC1B,CAAA;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,MAAuB,EACvB,MAA4B,EACX,EAAE;IACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAK,UAAqC,CAAA;IAEtE,MAAM,SAAS,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,KAAqB,CAAA;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAM;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAM;QAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAM;QAE1C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;YAC/C,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;YACrB,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;SACf,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAuB,QAAQ,CAAC,EAAE;YAC/C,CAAC,CAAC;gBACA,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,KAAK;gBACnB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,QAAQ,CAAC,IAAI;aACrB;YACF,CAAC,CAAC;gBACA,IAAI,EAAE,KAAK;gBACX,YAAY,EAAE,KAAK;gBACnB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO;aACnC,CAAA;QAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAEX,CAAA;QACR,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC,CAAA;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAA0B,CAAC,CAAA;IAC9D,OAAO;QACN,OAAO,EAAE,GAAG,EAAE,CACb,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAA0B,CAAC;KAClE,CAAA;AACF,CAAC,CAAA"}