@1sat/wallet 0.0.56 → 0.0.57
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.
|
@@ -114,20 +114,16 @@ export interface StorageClientAutoRetryConfig {
|
|
|
114
114
|
wallet: WalletInterface;
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
* Wrap `processSyncChunk` on a single `StorageClient
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
117
|
+
* Wrap `processSyncChunk` on a single `StorageClient`. On a 507 from the
|
|
118
|
+
* backup, fire a payment to `POST {endpointUrl}/account/payment` out of
|
|
119
|
+
* band (fire-and-forget, deferred so it runs outside any sync lock the
|
|
120
|
+
* caller may hold) and re-throw the 507 so the current sync attempt
|
|
121
|
+
* aborts cleanly. The next sync cycle finds capacity credited and
|
|
122
|
+
* succeeds.
|
|
121
123
|
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
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.
|
|
124
|
+
* We do NOT retry the sync op inline. Doing so would require calling
|
|
125
|
+
* `wallet.createAction` (for the payment build) from inside the sync
|
|
126
|
+
* lock, which deadlocks against the lock held by `updateBackups`.
|
|
131
127
|
*/
|
|
132
128
|
export declare function installStorageClientPaymentAutoRetry(config: StorageClientAutoRetryConfig): StorageClientLike;
|
|
133
129
|
//# sourceMappingURL=storagePaymentAutoRetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;;;;GAWG;AACH,wBAAgB,oCAAoC,CACnD,MAAM,EAAE,4BAA4B,GAClC,iBAAiB,CAiCnB"}
|
|
@@ -109,59 +109,43 @@ export function installStoragePaymentAutoRetry(config) {
|
|
|
109
109
|
return wallet;
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
|
-
* Wrap `processSyncChunk` on a single `StorageClient
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
112
|
+
* Wrap `processSyncChunk` on a single `StorageClient`. On a 507 from the
|
|
113
|
+
* backup, fire a payment to `POST {endpointUrl}/account/payment` out of
|
|
114
|
+
* band (fire-and-forget, deferred so it runs outside any sync lock the
|
|
115
|
+
* caller may hold) and re-throw the 507 so the current sync attempt
|
|
116
|
+
* aborts cleanly. The next sync cycle finds capacity credited and
|
|
117
|
+
* succeeds.
|
|
116
118
|
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
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.
|
|
119
|
+
* We do NOT retry the sync op inline. Doing so would require calling
|
|
120
|
+
* `wallet.createAction` (for the payment build) from inside the sync
|
|
121
|
+
* lock, which deadlocks against the lock held by `updateBackups`.
|
|
126
122
|
*/
|
|
127
123
|
export function installStorageClientPaymentAutoRetry(config) {
|
|
128
124
|
const { client, wallet } = config;
|
|
129
125
|
const originalProcessSyncChunk = client.processSyncChunk.bind(client);
|
|
130
126
|
const paymentUrl = joinUrl(client.endpointUrl, 'account/payment');
|
|
131
|
-
const
|
|
127
|
+
const wrapped = async (op) => {
|
|
132
128
|
try {
|
|
133
129
|
return await op();
|
|
134
130
|
}
|
|
135
131
|
catch (err) {
|
|
136
|
-
if (
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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;
|
|
132
|
+
if (isInsufficientStorageError(err)) {
|
|
133
|
+
setTimeout(() => {
|
|
134
|
+
new AuthFetch(wallet)
|
|
135
|
+
.fetch(paymentUrl, {
|
|
136
|
+
method: 'POST',
|
|
137
|
+
headers: { 'content-type': 'application/json' },
|
|
138
|
+
body: JSON.stringify({}),
|
|
139
|
+
})
|
|
140
|
+
.catch((paymentErr) => {
|
|
141
|
+
console.error(`[storagePayment] payment to ${client.endpointUrl} failed:`, paymentErr);
|
|
142
|
+
});
|
|
143
|
+
}, 0);
|
|
161
144
|
}
|
|
145
|
+
throw err;
|
|
162
146
|
}
|
|
163
147
|
};
|
|
164
|
-
client.processSyncChunk = (args, chunk) =>
|
|
148
|
+
client.processSyncChunk = (args, chunk) => wrapped(() => originalProcessSyncChunk(args, chunk));
|
|
165
149
|
return client;
|
|
166
150
|
}
|
|
167
151
|
function isInsufficientStorageError(err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storagePaymentAutoRetry.js","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storagePaymentAutoRetry.js","sourceRoot":"","sources":["../src/storagePaymentAutoRetry.ts"],"names":[],"mappings":"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"}
|