@1sat/wallet 0.0.54 → 0.0.56
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/factory.d.ts.map +1 -1
- package/dist/factory.js +11 -2
- package/dist/factory.js.map +1 -1
- package/dist/storagePaymentAutoRetry.d.ts +39 -0
- package/dist/storagePaymentAutoRetry.d.ts.map +1 -1
- package/dist/storagePaymentAutoRetry.js +60 -0
- package/dist/storagePaymentAutoRetry.js.map +1 -1
- package/package.json +1 -1
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;AAE5D,OAAO,
|
|
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;AAE5D,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,CA8O3B"}
|
package/dist/factory.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OneSatServices } from '@1sat/client';
|
|
2
2
|
import { KeyDeriver } from '@bsv/sdk';
|
|
3
3
|
import { parsePrivateKey } from './parsePrivateKey';
|
|
4
|
-
import { installStoragePaymentAutoRetry, } from './storagePaymentAutoRetry';
|
|
4
|
+
import { installStorageClientPaymentAutoRetry, installStoragePaymentAutoRetry, } from './storagePaymentAutoRetry';
|
|
5
5
|
export const DEFAULT_FEE_MODEL = { model: 'sat/kb', value: 100 };
|
|
6
6
|
export const DEFAULT_CONNECTION_TIMEOUT = 5000;
|
|
7
7
|
export async function createWalletCore(config, localStorage, toolbox) {
|
|
@@ -27,6 +27,10 @@ export async function createWalletCore(config, localStorage, toolbox) {
|
|
|
27
27
|
const remoteClients = [];
|
|
28
28
|
const connectRemote = async (url) => {
|
|
29
29
|
const client = new toolbox.StorageClient(wallet, url);
|
|
30
|
+
installStorageClientPaymentAutoRetry({
|
|
31
|
+
client,
|
|
32
|
+
wallet: wallet,
|
|
33
|
+
});
|
|
30
34
|
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Remote storage connection timeout: ${url}`)), timeout));
|
|
31
35
|
await Promise.race([
|
|
32
36
|
storage.addWalletStorageProvider(client),
|
|
@@ -108,8 +112,13 @@ export async function createWalletCore(config, localStorage, toolbox) {
|
|
|
108
112
|
// (server owns the monitor loop). When present, the task loop is still
|
|
109
113
|
// caller-driven via startTasks / runOnce — factory just constructs and
|
|
110
114
|
// wires defaults.
|
|
115
|
+
//
|
|
116
|
+
// Suppressed when a remote is active: the remote server owns the monitor
|
|
117
|
+
// for its own storage. Running a local monitor against a StorageClient
|
|
118
|
+
// would attempt StorageProvider operations on a non-StorageProvider and
|
|
119
|
+
// fail with WERR_INVALID_OPERATION on every tick.
|
|
111
120
|
let monitor;
|
|
112
|
-
if (toolbox.Monitor) {
|
|
121
|
+
if (toolbox.Monitor && !config.activeRemote) {
|
|
113
122
|
monitor = new toolbox.Monitor({
|
|
114
123
|
chain: config.chain,
|
|
115
124
|
services: oneSatServices,
|
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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"}
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
* `createAction` (so we don't re-enter our own retry logic).
|
|
12
12
|
* 4. Retry the original operation.
|
|
13
13
|
*
|
|
14
|
+
* `installStorageClientPaymentAutoRetry` applies the same pattern to
|
|
15
|
+
* `processSyncChunk` on a specific `StorageClient`, for sync writes to
|
|
16
|
+
* backups (or from a peer active to this client).
|
|
17
|
+
*
|
|
14
18
|
* The consent hook shape is deliberately minimal for now — the full
|
|
15
19
|
* consent/approval UX is designed in a later pass. Today the hook exists
|
|
16
20
|
* only as a seam: callers who don't supply one get the default auto-pay
|
|
@@ -91,4 +95,39 @@ export interface AutoRetryConfig {
|
|
|
91
95
|
* for convenience.
|
|
92
96
|
*/
|
|
93
97
|
export declare function installStoragePaymentAutoRetry(config: AutoRetryConfig): WalletInterface;
|
|
98
|
+
/**
|
|
99
|
+
* Minimal view of a StorageClient this installer needs. Kept structural so
|
|
100
|
+
* the installer doesn't force a wallet-toolbox import into `@1sat/wallet`.
|
|
101
|
+
*/
|
|
102
|
+
export interface StorageClientLike {
|
|
103
|
+
readonly endpointUrl: string;
|
|
104
|
+
processSyncChunk: (args: unknown, chunk: unknown) => Promise<unknown>;
|
|
105
|
+
}
|
|
106
|
+
export interface StorageClientAutoRetryConfig {
|
|
107
|
+
/** Storage client whose `processSyncChunk` should be wrapped. */
|
|
108
|
+
client: StorageClientLike;
|
|
109
|
+
/**
|
|
110
|
+
* Wallet used by `AuthFetch` to (a) mutually-authenticate against the
|
|
111
|
+
* storage client's server and (b) build the BRC-29 payment it attaches
|
|
112
|
+
* in response to the 402 issued by `/account/payment`.
|
|
113
|
+
*/
|
|
114
|
+
wallet: WalletInterface;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Wrap `processSyncChunk` on a single `StorageClient` so backup-sync writes
|
|
118
|
+
* get the same 507 auto-retry treatment as wallet-level billable methods.
|
|
119
|
+
* Install once per `StorageClient` (active and backup clients alike — for
|
|
120
|
+
* active, `processSyncChunk` is never the target anyway).
|
|
121
|
+
*
|
|
122
|
+
* Payment delivery for this path goes out-of-band to `POST
|
|
123
|
+
* {endpointUrl}/account/payment`, which issues a BRC-41 402 that
|
|
124
|
+
* `AuthFetch` automatically pays. No need to fetch `/account/status` or
|
|
125
|
+
* construct the payment ourselves — the server's 402 carries the price +
|
|
126
|
+
* derivation prefix, and `AuthFetch` handles the rest.
|
|
127
|
+
*
|
|
128
|
+
* The `createAction` config field is retained for signature compatibility
|
|
129
|
+
* but is unused here; `AuthFetch` sources the payment from
|
|
130
|
+
* `wallet.createAction` internally.
|
|
131
|
+
*/
|
|
132
|
+
export declare function installStorageClientPaymentAutoRetry(config: StorageClientAutoRetryConfig): StorageClientLike;
|
|
94
133
|
//# sourceMappingURL=storagePaymentAutoRetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storagePaymentAutoRetry.d.ts","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"storagePaymentAutoRetry.d.ts","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAGN,KAAK,eAAe,EAOpB,MAAM,UAAU,CAAA;AAiCjB;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE;QACR,iBAAiB,EAAE,MAAM,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,WAAW,EAAE;QACZ,gBAAgB,EAAE,MAAM,CAAA;QACxB,gBAAgB,EAAE,MAAM,CAAA;KACxB,CAAA;CACD;AAED,MAAM,MAAM,kBAAkB,GAAG,CAChC,IAAI,EAAE,0BAA0B,KAC5B,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,yBAAwB;IACrC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,4BAA2B;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,0BAA0B,CAAA;gBAGzC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,0BAA0B,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAKrE;AAED,MAAM,WAAW,eAAe;IAC/B,2DAA2D;IAC3D,MAAM,EAAE,eAAe,CAAA;IACvB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAAA;IACxC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,kBAAkB,CAAA;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,eAAe,GACrB,eAAe,CAgEjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,CACjB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,KACV,OAAO,CAAC,OAAO,CAAC,CAAA;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC5C,iEAAiE;IACjE,MAAM,EAAE,iBAAiB,CAAA;IACzB;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAA;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oCAAoC,CACnD,MAAM,EAAE,4BAA4B,GAClC,iBAAiB,CAkDnB"}
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
* `createAction` (so we don't re-enter our own retry logic).
|
|
12
12
|
* 4. Retry the original operation.
|
|
13
13
|
*
|
|
14
|
+
* `installStorageClientPaymentAutoRetry` applies the same pattern to
|
|
15
|
+
* `processSyncChunk` on a specific `StorageClient`, for sync writes to
|
|
16
|
+
* backups (or from a peer active to this client).
|
|
17
|
+
*
|
|
14
18
|
* The consent hook shape is deliberately minimal for now — the full
|
|
15
19
|
* consent/approval UX is designed in a later pass. Today the hook exists
|
|
16
20
|
* only as a seam: callers who don't supply one get the default auto-pay
|
|
@@ -104,6 +108,62 @@ export function installStoragePaymentAutoRetry(config) {
|
|
|
104
108
|
wallet.internalizeAction = (args) => runWithRetry(() => originalInternalizeAction(args));
|
|
105
109
|
return wallet;
|
|
106
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Wrap `processSyncChunk` on a single `StorageClient` so backup-sync writes
|
|
113
|
+
* get the same 507 auto-retry treatment as wallet-level billable methods.
|
|
114
|
+
* Install once per `StorageClient` (active and backup clients alike — for
|
|
115
|
+
* active, `processSyncChunk` is never the target anyway).
|
|
116
|
+
*
|
|
117
|
+
* Payment delivery for this path goes out-of-band to `POST
|
|
118
|
+
* {endpointUrl}/account/payment`, which issues a BRC-41 402 that
|
|
119
|
+
* `AuthFetch` automatically pays. No need to fetch `/account/status` or
|
|
120
|
+
* construct the payment ourselves — the server's 402 carries the price +
|
|
121
|
+
* derivation prefix, and `AuthFetch` handles the rest.
|
|
122
|
+
*
|
|
123
|
+
* The `createAction` config field is retained for signature compatibility
|
|
124
|
+
* but is unused here; `AuthFetch` sources the payment from
|
|
125
|
+
* `wallet.createAction` internally.
|
|
126
|
+
*/
|
|
127
|
+
export function installStorageClientPaymentAutoRetry(config) {
|
|
128
|
+
const { client, wallet } = config;
|
|
129
|
+
const originalProcessSyncChunk = client.processSyncChunk.bind(client);
|
|
130
|
+
const paymentUrl = joinUrl(client.endpointUrl, 'account/payment');
|
|
131
|
+
const runWithRetry = async (op) => {
|
|
132
|
+
try {
|
|
133
|
+
return await op();
|
|
134
|
+
}
|
|
135
|
+
catch (err) {
|
|
136
|
+
if (!isInsufficientStorageError(err))
|
|
137
|
+
throw err;
|
|
138
|
+
const authFetch = new AuthFetch(wallet);
|
|
139
|
+
let response;
|
|
140
|
+
try {
|
|
141
|
+
response = await authFetch.fetch(paymentUrl, {
|
|
142
|
+
method: 'POST',
|
|
143
|
+
headers: { 'content-type': 'application/json' },
|
|
144
|
+
body: JSON.stringify({}),
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
catch (paymentErr) {
|
|
148
|
+
throw new StoragePaymentError(`failed to deliver storage payment to ${client.endpointUrl}`, { cause: paymentErr });
|
|
149
|
+
}
|
|
150
|
+
if (!response.ok) {
|
|
151
|
+
throw new StoragePaymentError(`storage payment endpoint returned ${response.status}`, { cause: err });
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
return await op();
|
|
155
|
+
}
|
|
156
|
+
catch (retryErr) {
|
|
157
|
+
if (isInsufficientStorageError(retryErr)) {
|
|
158
|
+
throw new StoragePaymentError('storage payment recorded but the operation still failed with 507', { cause: retryErr });
|
|
159
|
+
}
|
|
160
|
+
throw retryErr;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
client.processSyncChunk = (args, chunk) => runWithRetry(() => originalProcessSyncChunk(args, chunk));
|
|
165
|
+
return client;
|
|
166
|
+
}
|
|
107
167
|
function isInsufficientStorageError(err) {
|
|
108
168
|
if (!err || typeof err !== 'object')
|
|
109
169
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storagePaymentAutoRetry.js","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"storagePaymentAutoRetry.js","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"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"}
|