@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/index.js
CHANGED
|
@@ -12683,6 +12683,12 @@ var InventoryView = class {
|
|
|
12683
12683
|
release(tokenId) {
|
|
12684
12684
|
if (this.inFlight.delete(tokenId)) this.deps.emit("inventory:updated");
|
|
12685
12685
|
}
|
|
12686
|
+
/** Release a whole set as ONE change (per-token emitted 54 events per send). */
|
|
12687
|
+
releaseMany(tokenIds) {
|
|
12688
|
+
let changed = false;
|
|
12689
|
+
for (const tokenId of tokenIds) if (this.inFlight.delete(tokenId)) changed = true;
|
|
12690
|
+
if (changed) this.deps.emit("inventory:updated");
|
|
12691
|
+
}
|
|
12686
12692
|
pinned(tokenId) {
|
|
12687
12693
|
return this.deps.isPinned?.(tokenId) ?? false;
|
|
12688
12694
|
}
|
|
@@ -12900,7 +12906,7 @@ var InventoryView = class {
|
|
|
12900
12906
|
|
|
12901
12907
|
// modules/payments-v2/receive/Receive.ts
|
|
12902
12908
|
var ACK_BATCH_SIZE = 200;
|
|
12903
|
-
var REFRESH_INTERVAL_MS =
|
|
12909
|
+
var REFRESH_INTERVAL_MS = 2500;
|
|
12904
12910
|
var POLL_INTERVAL_MS = 3e4;
|
|
12905
12911
|
var ATTENTION_CLAIM_CONFLICT = "claim:conflict";
|
|
12906
12912
|
function receivedDedupKey(tokenId, stateHash) {
|
|
@@ -13829,6 +13835,16 @@ function parseAmount(raw) {
|
|
|
13829
13835
|
function supportsDeterministicMint(engine) {
|
|
13830
13836
|
return engine.deterministicMint === true;
|
|
13831
13837
|
}
|
|
13838
|
+
function makeSingleFlightRefresh(refresh) {
|
|
13839
|
+
let inFlight = false;
|
|
13840
|
+
return () => {
|
|
13841
|
+
if (inFlight) return;
|
|
13842
|
+
inFlight = true;
|
|
13843
|
+
void refresh().catch(() => void 0).finally(() => {
|
|
13844
|
+
inFlight = false;
|
|
13845
|
+
});
|
|
13846
|
+
};
|
|
13847
|
+
}
|
|
13832
13848
|
function composeFacadeParts(deps, hooks) {
|
|
13833
13849
|
const ownPubkeyBytes = hexToBytes4(deps.ownPubkey);
|
|
13834
13850
|
const ledger = new ReservationLedger();
|
|
@@ -13950,11 +13966,10 @@ function buildReceive(deps, hooks, historyStore, heldStates, view) {
|
|
|
13950
13966
|
registry: deps.registry,
|
|
13951
13967
|
recordReceived: (record) => recordReceived(historyStore, record),
|
|
13952
13968
|
emit: (event, transfer) => deps.emit(event, transfer),
|
|
13953
|
-
//
|
|
13954
|
-
//
|
|
13955
|
-
|
|
13956
|
-
|
|
13957
|
-
},
|
|
13969
|
+
// Single-flight: view.delta() enqueues on a strict-FIFO SerialChain, so
|
|
13970
|
+
// firing per throttle tick regardless of the last one builds a queue that
|
|
13971
|
+
// drains in a burst at the END — a slower version of the bug being fixed.
|
|
13972
|
+
refreshView: makeSingleFlightRefresh(() => view.delta()),
|
|
13958
13973
|
attention: (transferId, code, detail) => {
|
|
13959
13974
|
deps.emit(
|
|
13960
13975
|
"transfer:attention",
|
|
@@ -14399,7 +14414,7 @@ var PaymentsFacade = class {
|
|
|
14399
14414
|
settleFailure(transferId, coinId, releaseIds) {
|
|
14400
14415
|
this.ledger.cancel(transferId);
|
|
14401
14416
|
this.queue.clearExpectedChange(transferId);
|
|
14402
|
-
|
|
14417
|
+
this.view.releaseMany(releaseIds);
|
|
14403
14418
|
this.queue.notifyChange(coinId);
|
|
14404
14419
|
}
|
|
14405
14420
|
/** Open intent: sources stay reserved + in-flight (§5.2) until resume adopts them. */
|
|
@@ -14424,7 +14439,7 @@ var PaymentsFacade = class {
|
|
|
14424
14439
|
async refreshThenRelease(coinId, spentIds) {
|
|
14425
14440
|
try {
|
|
14426
14441
|
await this.view.delta();
|
|
14427
|
-
|
|
14442
|
+
this.view.releaseMany(spentIds);
|
|
14428
14443
|
} finally {
|
|
14429
14444
|
this.queue.notifyChange(coinId);
|
|
14430
14445
|
}
|