@unicitylabs/sphere-sdk 0.14.11-dev.3 → 0.14.11-dev.4
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/connect/index.cjs +1 -1
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +1 -1
- package/dist/connect/index.js.map +1 -1
- package/dist/core/index.cjs +22 -7
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +22 -7
- package/dist/core/index.js.map +1 -1
- package/dist/impl/browser/connect/index.cjs +1 -1
- package/dist/impl/browser/connect/index.cjs.map +1 -1
- package/dist/impl/browser/connect/index.js +1 -1
- package/dist/impl/browser/connect/index.js.map +1 -1
- package/dist/index.cjs +22 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +22 -7
- package/dist/index.js.map +1 -1
- package/dist/modules/payments-v2/index.cjs +22 -7
- package/dist/modules/payments-v2/index.cjs.map +1 -1
- package/dist/modules/payments-v2/index.js +22 -7
- package/dist/modules/payments-v2/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2889,6 +2889,12 @@ var InventoryView = class {
|
|
|
2889
2889
|
release(tokenId) {
|
|
2890
2890
|
if (this.inFlight.delete(tokenId)) this.deps.emit("inventory:updated");
|
|
2891
2891
|
}
|
|
2892
|
+
/** Release a whole set as ONE change (per-token emitted 54 events per send). */
|
|
2893
|
+
releaseMany(tokenIds) {
|
|
2894
|
+
let changed = false;
|
|
2895
|
+
for (const tokenId of tokenIds) if (this.inFlight.delete(tokenId)) changed = true;
|
|
2896
|
+
if (changed) this.deps.emit("inventory:updated");
|
|
2897
|
+
}
|
|
2892
2898
|
pinned(tokenId) {
|
|
2893
2899
|
return this.deps.isPinned?.(tokenId) ?? false;
|
|
2894
2900
|
}
|
|
@@ -4127,6 +4133,16 @@ function parseAmount(raw) {
|
|
|
4127
4133
|
function supportsDeterministicMint(engine) {
|
|
4128
4134
|
return engine.deterministicMint === true;
|
|
4129
4135
|
}
|
|
4136
|
+
function makeSingleFlightRefresh(refresh) {
|
|
4137
|
+
let inFlight = false;
|
|
4138
|
+
return () => {
|
|
4139
|
+
if (inFlight) return;
|
|
4140
|
+
inFlight = true;
|
|
4141
|
+
void refresh().catch(() => void 0).finally(() => {
|
|
4142
|
+
inFlight = false;
|
|
4143
|
+
});
|
|
4144
|
+
};
|
|
4145
|
+
}
|
|
4130
4146
|
function composeFacadeParts(deps, hooks) {
|
|
4131
4147
|
const ownPubkeyBytes = hexToBytes(deps.ownPubkey);
|
|
4132
4148
|
const ledger = new ReservationLedger();
|
|
@@ -4248,11 +4264,10 @@ function buildReceive(deps, hooks, historyStore, heldStates, view) {
|
|
|
4248
4264
|
registry: deps.registry,
|
|
4249
4265
|
recordReceived: (record) => recordReceived(historyStore, record),
|
|
4250
4266
|
emit: (event, transfer) => deps.emit(event, transfer),
|
|
4251
|
-
//
|
|
4252
|
-
//
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
},
|
|
4267
|
+
// Single-flight: view.delta() enqueues on a strict-FIFO SerialChain, so
|
|
4268
|
+
// firing per throttle tick regardless of the last one builds a queue that
|
|
4269
|
+
// drains in a burst at the END — a slower version of the bug being fixed.
|
|
4270
|
+
refreshView: makeSingleFlightRefresh(() => view.delta()),
|
|
4256
4271
|
attention: (transferId, code, detail) => {
|
|
4257
4272
|
deps.emit(
|
|
4258
4273
|
"transfer:attention",
|
|
@@ -4697,7 +4712,7 @@ var PaymentsFacade = class {
|
|
|
4697
4712
|
settleFailure(transferId, coinId, releaseIds) {
|
|
4698
4713
|
this.ledger.cancel(transferId);
|
|
4699
4714
|
this.queue.clearExpectedChange(transferId);
|
|
4700
|
-
|
|
4715
|
+
this.view.releaseMany(releaseIds);
|
|
4701
4716
|
this.queue.notifyChange(coinId);
|
|
4702
4717
|
}
|
|
4703
4718
|
/** Open intent: sources stay reserved + in-flight (§5.2) until resume adopts them. */
|
|
@@ -4722,7 +4737,7 @@ var PaymentsFacade = class {
|
|
|
4722
4737
|
async refreshThenRelease(coinId, spentIds) {
|
|
4723
4738
|
try {
|
|
4724
4739
|
await this.view.delta();
|
|
4725
|
-
|
|
4740
|
+
this.view.releaseMany(spentIds);
|
|
4726
4741
|
} finally {
|
|
4727
4742
|
this.queue.notifyChange(coinId);
|
|
4728
4743
|
}
|