shinjuku-shielded 0.3.71 → 0.3.72
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/manifest.json +4 -4
- package/package.json +3 -3
- package/shinjuku-wallet.mjs +24 -16
package/manifest.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "carbon-shielded-wallet/bundle-manifest/v1",
|
|
3
3
|
"file": "shinjuku-wallet.mjs",
|
|
4
|
-
"sha256": "
|
|
5
|
-
"bytes":
|
|
6
|
-
"sourceCommit": "
|
|
4
|
+
"sha256": "07990722e8c34815b7af576fe293f456c602895b74cbe6f75d5ea3d8b5a1d578",
|
|
5
|
+
"bytes": 12201104,
|
|
6
|
+
"sourceCommit": "1fbac7a5425ed727041cc29b69fd7b31e8fba117",
|
|
7
7
|
"sourceDirty": false,
|
|
8
8
|
"installRecordMatchesLockfile": true,
|
|
9
9
|
"releaseRule": "valid only when two fresh npm ci --ignore-scripts builds on different OSes give the same sha256; installRecordMatchesLockfile true means every entry npm installed equals its package-lock.json entry and every entry not marked optional, devOptional included, is installed: an optional entry (a package for another platform) may be absent",
|
|
@@ -1282,5 +1282,5 @@
|
|
|
1282
1282
|
"version": "1.8.0"
|
|
1283
1283
|
}
|
|
1284
1284
|
],
|
|
1285
|
-
"publishedAt": "2026-10-
|
|
1285
|
+
"publishedAt": "2026-10-22T17:29:13.245Z"
|
|
1286
1286
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shinjuku-shielded",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.72",
|
|
4
4
|
"mcpName": "io.github.ShinjukuStaition/shinjuku-mcp",
|
|
5
5
|
"description": "Shinjuku Shielded, the private x402 facilitator on Solana: the self-custody wallet CLI and its MCP server. Shield, pay, and unshield USDC from any MCP agent, under caps you set.",
|
|
6
|
-
"shinjukuRelease": "
|
|
7
|
-
"shinjukuSha256": "
|
|
6
|
+
"shinjukuRelease": "07990722",
|
|
7
|
+
"shinjukuSha256": "07990722e8c34815b7af576fe293f456c602895b74cbe6f75d5ea3d8b5a1d578",
|
|
8
8
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
9
9
|
"author": "Shinjuku Shielded",
|
|
10
10
|
"homepage": "https://github.com/ShinjukuStaition/shinjuku-mcp#readme",
|
package/shinjuku-wallet.mjs
CHANGED
|
@@ -57365,18 +57365,18 @@ function validateRecord(raw, ordinal, { programId, pool: pool2, poolDomain, snap
|
|
|
57365
57365
|
})
|
|
57366
57366
|
});
|
|
57367
57367
|
}
|
|
57368
|
-
function requestPage(history, pool2, from) {
|
|
57369
|
-
return from === 0 ? requestPageZero(history, pool2) : requestPageNow(history, pool2, from);
|
|
57368
|
+
function requestPage(history, pool2, from, signal) {
|
|
57369
|
+
return from === 0 ? requestPageZero(history, pool2, signal) : requestPageNow(history, pool2, from);
|
|
57370
57370
|
}
|
|
57371
|
-
function requestPageZero(history, pool2) {
|
|
57371
|
+
function requestPageZero(history, pool2, signal) {
|
|
57372
57372
|
const source = typeof history?.rpcEndpoint === "string" ? history.rpcEndpoint : history;
|
|
57373
57373
|
let byPool = pageZeroInFlight.get(source);
|
|
57374
57374
|
const joined = byPool?.get(pool2);
|
|
57375
57375
|
if (joined !== void 0) {
|
|
57376
57376
|
markPhase("compact-page0-joined");
|
|
57377
|
-
return joined.then((answer) => answer.error === void 0 ? answer : requestPageNow(history, pool2, 0));
|
|
57377
|
+
return joined.then((answer) => answer.error === void 0 ? answer : signal?.aborted ? answer : requestPageNow(history, pool2, 0, signal));
|
|
57378
57378
|
}
|
|
57379
|
-
const pending = requestPageNow(history, pool2, 0);
|
|
57379
|
+
const pending = requestPageNow(history, pool2, 0, signal);
|
|
57380
57380
|
if (byPool === void 0) pageZeroInFlight.set(source, byPool = /* @__PURE__ */ new Map());
|
|
57381
57381
|
byPool.set(pool2, pending);
|
|
57382
57382
|
pending.then(() => {
|
|
@@ -57385,16 +57385,14 @@ function requestPageZero(history, pool2) {
|
|
|
57385
57385
|
});
|
|
57386
57386
|
return pending;
|
|
57387
57387
|
}
|
|
57388
|
-
function requestPageNow(history, pool2, from) {
|
|
57388
|
+
function requestPageNow(history, pool2, from, signal) {
|
|
57389
|
+
const params = [pool2, { commitment: "finalized", fromOrdinal: from, toOrdinal: from + P03_COMPACT_PAGE }];
|
|
57390
|
+
const read = signal !== void 0 && typeof history.abortableRpcRequest === "function" ? () => history.abortableRpcRequest("getP03Transitions", params, signal, void 0, { rejectHttpError: true }) : () => history._rpcRequest("getP03Transitions", params);
|
|
57389
57391
|
const attempt = async (index) => {
|
|
57390
57392
|
try {
|
|
57391
|
-
return { response: await
|
|
57392
|
-
commitment: "finalized",
|
|
57393
|
-
fromOrdinal: from,
|
|
57394
|
-
toOrdinal: from + P03_COMPACT_PAGE
|
|
57395
|
-
}]) };
|
|
57393
|
+
return { response: await read() };
|
|
57396
57394
|
} catch (error) {
|
|
57397
|
-
if (index + 1 >= LIST_ATTEMPTS || proxyRefusedConnection(error)) return { error };
|
|
57395
|
+
if (index + 1 >= LIST_ATTEMPTS || proxyRefusedConnection(error) || signal?.aborted) return { error };
|
|
57398
57396
|
markPhase("compact-list-retry");
|
|
57399
57397
|
await new Promise((resolve38) => setTimeout(resolve38, Math.min(8e3, 1e3 * 2 ** index)));
|
|
57400
57398
|
return attempt(index + 1);
|
|
@@ -57502,11 +57500,11 @@ function startCompactPoolSnapshot({ connection, programId, pool: pool2 }) {
|
|
|
57502
57500
|
});
|
|
57503
57501
|
return { sliced, full };
|
|
57504
57502
|
}
|
|
57505
|
-
function requestCompactFirstPage({ history, pool: pool2 }) {
|
|
57503
|
+
function requestCompactFirstPage({ history, pool: pool2, signal }) {
|
|
57506
57504
|
try {
|
|
57507
57505
|
const source = typeof history === "string" ? connect2(history, "finalized", { timeoutMs: HISTORY_RPC_REQUEST_TIMEOUT_MS }) : history;
|
|
57508
57506
|
if (!source || typeof source._rpcRequest !== "function") return Promise.resolve({ error: refuse3("p03_compact_history_connection_invalid") });
|
|
57509
|
-
return requestPage(source, new import_web397.PublicKey(pool2).toBase58(), 0);
|
|
57507
|
+
return requestPage(source, new import_web397.PublicKey(pool2).toBase58(), 0, signal);
|
|
57510
57508
|
} catch (error) {
|
|
57511
57509
|
return Promise.resolve({ error });
|
|
57512
57510
|
}
|
|
@@ -59243,13 +59241,19 @@ async function walkWalletP03HistoryNow({ store, connection: given, programId, po
|
|
|
59243
59241
|
} else if (earlier !== void 0) {
|
|
59244
59242
|
markPhase("refresh-start");
|
|
59245
59243
|
let slicedPreRead;
|
|
59244
|
+
let page0Stop;
|
|
59245
|
+
let page0Answered = false;
|
|
59246
59246
|
if (compactNext) {
|
|
59247
59247
|
const started = startCompactPoolSnapshot({ connection, programId, pool: pool2 });
|
|
59248
59248
|
slicedPreRead = started.sliced;
|
|
59249
59249
|
poolPreRead = started.full;
|
|
59250
59250
|
markPhase("compact-pool-prestarted");
|
|
59251
|
-
if (
|
|
59252
|
-
|
|
59251
|
+
if (inTorRun() || Date.now() - remembered.at > PAGE0_PREREAD_AFTER_MS) {
|
|
59252
|
+
page0Stop = inTorRun() ? new AbortController() : void 0;
|
|
59253
|
+
firstPreRead = requestCompactFirstPage({ history: connection.historyRpcSource, pool: pool2, signal: page0Stop?.signal });
|
|
59254
|
+
firstPreRead.then(() => {
|
|
59255
|
+
page0Answered = true;
|
|
59256
|
+
});
|
|
59253
59257
|
markPhase("compact-page0-prestarted");
|
|
59254
59258
|
}
|
|
59255
59259
|
}
|
|
@@ -59275,6 +59279,10 @@ async function walkWalletP03HistoryNow({ store, connection: given, programId, po
|
|
|
59275
59279
|
try {
|
|
59276
59280
|
const refreshed = await refreshing;
|
|
59277
59281
|
markPhase("walk-refreshed");
|
|
59282
|
+
if (page0Stop !== void 0) {
|
|
59283
|
+
markPhase(page0Answered ? "compact-page0-answered-before-hit" : "compact-page0-stopped-on-hit");
|
|
59284
|
+
page0Stop.abort();
|
|
59285
|
+
}
|
|
59278
59286
|
rememberRunReport(runKey, refreshed);
|
|
59279
59287
|
writeStderr("history: the pool made no transition since this run's last walk; that history was moved to the current pool account " + (fromSliced ? "(your own RPC read the pool account and the program's deployment account in one request)\n" : "(your own RPC read the pool account and the program's deployment account; the history source answered one signature read)\n"));
|
|
59280
59288
|
return refreshed;
|