@1sat/wallet 0.0.63 → 0.0.67
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/dist/backupRegistration.d.ts +24 -10
- package/dist/backupRegistration.d.ts.map +1 -1
- package/dist/backupRegistration.js +32 -38
- package/dist/backupRegistration.js.map +1 -1
- package/dist/factory.d.ts +43 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +129 -24
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
export interface BackupRegistrationOptions {
|
|
2
2
|
urls: string[];
|
|
3
3
|
register: (url: string) => Promise<void>;
|
|
4
|
-
|
|
5
|
-
onError?: (url: string, err: unknown, attempts: number) => void;
|
|
4
|
+
onError?: (url: string, err: unknown) => void;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
9
|
-
* factory boot.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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,
|
|
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
|
-
*
|
|
3
|
-
* factory boot.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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.
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
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":"
|
|
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"}
|
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;
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
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
|
-
|
|
100
|
-
|
|
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
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
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
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
-
|
|
272
|
-
|
|
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
|
}
|
package/dist/factory.js.map
CHANGED
|
@@ -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
|
@@ -7,7 +7,7 @@ export { AddressManager, BRC29_PROTOCOL_ID, YOURS_PREFIX, type AddressDerivation
|
|
|
7
7
|
export { FileBackupProvider, FileRestoreReader, Zip, ZipDeflate, unzip, type BackupManifest, type BackupProgressCallback, type BackupProgressEvent, type Unzipped, } from './backup';
|
|
8
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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,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.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,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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/wallet",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.67",
|
|
4
4
|
"description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
],
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@1sat/client": "0.0.
|
|
33
|
-
"@1sat/types": "0.0.
|
|
34
|
-
"@1sat/templates": "0.0.
|
|
32
|
+
"@1sat/client": "0.0.27",
|
|
33
|
+
"@1sat/types": "0.0.19",
|
|
34
|
+
"@1sat/templates": "0.0.11",
|
|
35
35
|
"@bopen-io/templates": "^1.2.3",
|
|
36
36
|
"@msgpack/msgpack": "^3.1.3",
|
|
37
37
|
"fflate": "^0.8.2"
|