@unicitylabs/sphere-sdk 0.14.11-dev.3 → 0.14.11-dev.5
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 +23 -8
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +23 -8
- 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 +23 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +23 -8
- package/dist/index.js.map +1 -1
- package/dist/modules/payments-v2/index.cjs +23 -8
- package/dist/modules/payments-v2/index.cjs.map +1 -1
- package/dist/modules/payments-v2/index.js +23 -8
- package/dist/modules/payments-v2/index.js.map +1 -1
- package/package.json +1 -1
package/dist/core/index.cjs
CHANGED
|
@@ -12753,6 +12753,12 @@ var InventoryView = class {
|
|
|
12753
12753
|
release(tokenId) {
|
|
12754
12754
|
if (this.inFlight.delete(tokenId)) this.deps.emit("inventory:updated");
|
|
12755
12755
|
}
|
|
12756
|
+
/** Release a whole set as ONE change (per-token emitted 54 events per send). */
|
|
12757
|
+
releaseMany(tokenIds) {
|
|
12758
|
+
let changed = false;
|
|
12759
|
+
for (const tokenId of tokenIds) if (this.inFlight.delete(tokenId)) changed = true;
|
|
12760
|
+
if (changed) this.deps.emit("inventory:updated");
|
|
12761
|
+
}
|
|
12756
12762
|
pinned(tokenId) {
|
|
12757
12763
|
return this.deps.isPinned?.(tokenId) ?? false;
|
|
12758
12764
|
}
|
|
@@ -12970,7 +12976,7 @@ var InventoryView = class {
|
|
|
12970
12976
|
|
|
12971
12977
|
// modules/payments-v2/receive/Receive.ts
|
|
12972
12978
|
var ACK_BATCH_SIZE = 200;
|
|
12973
|
-
var REFRESH_INTERVAL_MS =
|
|
12979
|
+
var REFRESH_INTERVAL_MS = 2500;
|
|
12974
12980
|
var POLL_INTERVAL_MS = 3e4;
|
|
12975
12981
|
var ATTENTION_CLAIM_CONFLICT = "claim:conflict";
|
|
12976
12982
|
function receivedDedupKey(tokenId, stateHash) {
|
|
@@ -13899,6 +13905,16 @@ function parseAmount(raw) {
|
|
|
13899
13905
|
function supportsDeterministicMint(engine) {
|
|
13900
13906
|
return engine.deterministicMint === true;
|
|
13901
13907
|
}
|
|
13908
|
+
function makeSingleFlightRefresh(refresh) {
|
|
13909
|
+
let inFlight = false;
|
|
13910
|
+
return () => {
|
|
13911
|
+
if (inFlight) return;
|
|
13912
|
+
inFlight = true;
|
|
13913
|
+
void refresh().catch(() => void 0).finally(() => {
|
|
13914
|
+
inFlight = false;
|
|
13915
|
+
});
|
|
13916
|
+
};
|
|
13917
|
+
}
|
|
13902
13918
|
function composeFacadeParts(deps, hooks) {
|
|
13903
13919
|
const ownPubkeyBytes = hexToBytes4(deps.ownPubkey);
|
|
13904
13920
|
const ledger = new ReservationLedger();
|
|
@@ -14020,11 +14036,10 @@ function buildReceive(deps, hooks, historyStore, heldStates, view) {
|
|
|
14020
14036
|
registry: deps.registry,
|
|
14021
14037
|
recordReceived: (record) => recordReceived(historyStore, record),
|
|
14022
14038
|
emit: (event, transfer) => deps.emit(event, transfer),
|
|
14023
|
-
//
|
|
14024
|
-
//
|
|
14025
|
-
|
|
14026
|
-
|
|
14027
|
-
},
|
|
14039
|
+
// Single-flight: view.delta() enqueues on a strict-FIFO SerialChain, so
|
|
14040
|
+
// firing per throttle tick regardless of the last one builds a queue that
|
|
14041
|
+
// drains in a burst at the END — a slower version of the bug being fixed.
|
|
14042
|
+
refreshView: makeSingleFlightRefresh(() => view.delta()),
|
|
14028
14043
|
attention: (transferId, code, detail) => {
|
|
14029
14044
|
deps.emit(
|
|
14030
14045
|
"transfer:attention",
|
|
@@ -14469,7 +14484,7 @@ var PaymentsFacade = class {
|
|
|
14469
14484
|
settleFailure(transferId, coinId, releaseIds) {
|
|
14470
14485
|
this.ledger.cancel(transferId);
|
|
14471
14486
|
this.queue.clearExpectedChange(transferId);
|
|
14472
|
-
|
|
14487
|
+
this.view.releaseMany(releaseIds);
|
|
14473
14488
|
this.queue.notifyChange(coinId);
|
|
14474
14489
|
}
|
|
14475
14490
|
/** Open intent: sources stay reserved + in-flight (§5.2) until resume adopts them. */
|
|
@@ -14494,7 +14509,7 @@ var PaymentsFacade = class {
|
|
|
14494
14509
|
async refreshThenRelease(coinId, spentIds) {
|
|
14495
14510
|
try {
|
|
14496
14511
|
await this.view.delta();
|
|
14497
|
-
|
|
14512
|
+
this.view.releaseMany(spentIds);
|
|
14498
14513
|
} finally {
|
|
14499
14514
|
this.queue.notifyChange(coinId);
|
|
14500
14515
|
}
|