paralith-mcp 0.4.4 → 0.4.6
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/chains.json +23 -7
- package/dist/client.mjs +22 -5
- package/dist/graph.json +22 -22
- package/dist/http.mjs +239 -86
- package/dist/server.mjs +248 -105
- package/package.json +1 -1
package/dist/chains.json
CHANGED
|
@@ -63,11 +63,11 @@
|
|
|
63
63
|
"action": "FRESH"
|
|
64
64
|
},
|
|
65
65
|
"pusd": {
|
|
66
|
-
"id": "
|
|
66
|
+
"id": "6LKnSjayODDf6b5Ukncjlxvyh0DCaDz_WciE-6gLjz0",
|
|
67
67
|
"version": "sha256:625b574846134ad163ea54c8bc87b428379f86bf1a8b24ade2f88db9eeb17fd0",
|
|
68
68
|
"localHash": "sha256:625b574846134ad163ea54c8bc87b428379f86bf1a8b24ade2f88db9eeb17fd0",
|
|
69
|
-
"deployedAt": "2026-10-
|
|
70
|
-
"tx": "
|
|
69
|
+
"deployedAt": "2026-10-19T15:01:19.882Z",
|
|
70
|
+
"tx": "6LKnSjayODDf6b5Ukncjlxvyh0DCaDz_WciE-6gLjz0",
|
|
71
71
|
"action": "FRESH"
|
|
72
72
|
},
|
|
73
73
|
"base": {
|
|
@@ -87,14 +87,14 @@
|
|
|
87
87
|
"action": "FRESH"
|
|
88
88
|
},
|
|
89
89
|
"lastRun": {
|
|
90
|
-
"at": "2026-10-
|
|
91
|
-
"startedAt": "2026-10-
|
|
90
|
+
"at": "2026-10-19T15:01:31.763Z",
|
|
91
|
+
"startedAt": "2026-10-19T15:00:53.658Z",
|
|
92
92
|
"steps": [
|
|
93
93
|
{
|
|
94
94
|
"component": "pusd",
|
|
95
95
|
"action": "FRESH",
|
|
96
96
|
"status": "done",
|
|
97
|
-
"tx": "
|
|
97
|
+
"tx": "6LKnSjayODDf6b5Ukncjlxvyh0DCaDz_WciE-6gLjz0"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"component": "tokens",
|
|
@@ -111,7 +111,23 @@
|
|
|
111
111
|
"base": "0xcefcaae4d5077eda2b126e9b315b5d7c4dd2ff38",
|
|
112
112
|
"solana": "BBuQ11wQE6K5bj6Cx7X5VpVDB9CG83nbeDdDSinavUz",
|
|
113
113
|
"sui": "0x397c399eb2f7e24e8f5d1988f71284baac48149b9e8cdcd741b353c771118ebc",
|
|
114
|
-
"epoch":
|
|
114
|
+
"epoch": 2
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"ao": "aUraD3TXsVq6d5_mjo1YR-u8DS4eCoL_n9AFpBECoPE",
|
|
118
|
+
"operator": "aUraD3TXsVq6d5_mjo1YR-u8DS4eCoL_n9AFpBECoPE",
|
|
119
|
+
"base": "0x838d1aef2f8ba0819303a76475b1672725a8139a",
|
|
120
|
+
"solana": "D5KpiQdd86rSNT6kgWvdHyM8STK7AZeLJA8B6BiPm2rR",
|
|
121
|
+
"sui": "0x457e7f43b6812fbded3b60ae0df6e1a207add176805e986cc5fded9b03f8c586",
|
|
122
|
+
"epoch": 2
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"ao": "BALLSyZq_a6-7zdU_dU85E2VkoRnEVEDqkdZWlFx6uU",
|
|
126
|
+
"operator": "BALLSyZq_a6-7zdU_dU85E2VkoRnEVEDqkdZWlFx6uU",
|
|
127
|
+
"base": "0x6b70a326e5cfee009c64cef7baa769b4594d309a",
|
|
128
|
+
"solana": "BNBqG9X2mpA1ZNdoHca3a1mUNrAMeRmjZCiMUdu3DTE8",
|
|
129
|
+
"sui": "0x1fe4a4b47bf63edf9a134353369cef461dac1091969cf7031aaf138274516bec",
|
|
130
|
+
"epoch": 2
|
|
115
131
|
}
|
|
116
132
|
],
|
|
117
133
|
"retiredRelayers": {
|
package/dist/client.mjs
CHANGED
|
@@ -20,7 +20,6 @@ var init_define_import_meta_env = __esm({
|
|
|
20
20
|
var own, swarmWalletSlot;
|
|
21
21
|
var init_wallet_slot = __esm({
|
|
22
22
|
"dist/wallet-slot.mjs"() {
|
|
23
|
-
"use strict";
|
|
24
23
|
own = null;
|
|
25
24
|
swarmWalletSlot = {
|
|
26
25
|
get wallet() {
|
|
@@ -274,6 +273,10 @@ function extensionLabel(name) {
|
|
|
274
273
|
return /^arconnect(\s|$)/i.test(trimmed) ? "Wander" : trimmed;
|
|
275
274
|
}
|
|
276
275
|
async function restoreWallet() {
|
|
276
|
+
if (remote) {
|
|
277
|
+
selectedWallet = remote;
|
|
278
|
+
return { address: await remote.getActiveAddress(), provider: "injected", providerName: "Discord" };
|
|
279
|
+
}
|
|
277
280
|
const preferred = providerPreference();
|
|
278
281
|
if (preferred === "local") {
|
|
279
282
|
const stored = await readStoredWallet().catch(() => null);
|
|
@@ -311,7 +314,7 @@ async function restoreWallet() {
|
|
|
311
314
|
async function activeAddress() {
|
|
312
315
|
return (await restoreWallet())?.address ?? null;
|
|
313
316
|
}
|
|
314
|
-
var PERMISSIONS, DB_NAME, DB_VERSION, STORE, LOCAL_KEY, PROVIDER_KEY, selectedWallet, selectedProvider, inBrowser, importPrivateKey, actingFor;
|
|
317
|
+
var PERMISSIONS, DB_NAME, DB_VERSION, STORE, LOCAL_KEY, PROVIDER_KEY, selectedWallet, selectedProvider, inBrowser, importPrivateKey, actingFor, remote;
|
|
315
318
|
var init_wallet = __esm({
|
|
316
319
|
"../../products/runerealm-ui/src/lib/wallet.ts"() {
|
|
317
320
|
"use strict";
|
|
@@ -331,6 +334,7 @@ var init_wallet = __esm({
|
|
|
331
334
|
hash: "SHA-256"
|
|
332
335
|
}, false, ["sign"]);
|
|
333
336
|
actingFor = null;
|
|
337
|
+
remote = null;
|
|
334
338
|
}
|
|
335
339
|
});
|
|
336
340
|
|
|
@@ -403,7 +407,7 @@ var init_slot_settle = __esm({
|
|
|
403
407
|
var graph_default;
|
|
404
408
|
var init_graph = __esm({
|
|
405
409
|
"runerealm-graph:C:\\REPO\\paralith-mono\\products\\runerealm-ui\\src\\lib\\graph.json"() {
|
|
406
|
-
graph_default = { node: "https://hyperbeam.tylerw.ai", owner: "DA9qhP25ZPz6MHIhO-7aNHDN3LsTAL7yCKYIkqr13Z8", deployedAt: "", processes: { game: "
|
|
410
|
+
graph_default = { node: "https://hyperbeam.tylerw.ai", owner: "DA9qhP25ZPz6MHIhO-7aNHDN3LsTAL7yCKYIkqr13Z8", deployedAt: "", processes: { game: "M_Gu6EExq-9a7f60dse_z-wV7fYIe1Fj_uEKwlHZpZg", rune: "fGPg_5InU6qP3-fIGJuYWbq-9PrEAXfcKCViqk7fT_Y", pusd: "pu_Gsl2h6gVnW6V0b25Jk-FFxt2eGz1NxVXvQIClyRY", dao: "YApPkPUFOx_0nq0XiEXwEY1RW6vdgpbspITggEIclxQ", elements: { earth: "TvryzhtQCEQWS945ZG6NAFJPvuRBuWt-ivlS6LK5ArM", air: "YU4LRq4kF_uwGJp6XK_j4-QW3hpEeKEzD2yXxjgFtqw", fire: "qUN4M5oHToh6CUEG5Me01oU5XES5_qNpiwcPxtfFmt4", water: "F1tm4TSB5R8lBjG1WkLcmA1gvaKuXKhuBNQiMssyspw" }, internalVenue: "nSYYYkech3n7KyKVaVB96397OjDpSXw2f_qhk0rBikk", externalVenue: "u88L84CzUYq5VYJogKYtzVcBuxeBYmN2VYy-rPRo_BU", hunt: "6r7Ysg9OC3xLa9RtypgeZFYAphgrCRb3YQ7GLSFuKaY", huntWorkers: ["6r7Ysg9OC3xLa9RtypgeZFYAphgrCRb3YQ7GLSFuKaY", "D8XFAksmlj52usoF98kuXUPgSHky90H9w0Wk1CXgY3M", "MZqtDjq_Uo24QHC-67K6RbKiCUgB5hXPP99lj-CtnEQ", "tl97Vp0QdlahB1ytHhBflfs1MDoIlHItNOwtaDa_2wI", "E_DkBueQVShFy5N8cLWUs9U85AqrJfB0RYr_zcimct8"], battleWorkers: ["SGoUSl7qGC6TbJOl4d1ND7HfmhaB0YFUAW480Tqla6A", "kByh_aPMxogChaGOQDscMqBIoygwiCZyR94h1TXSnQw", "xTlcEYuuB1D1BLq_pLwaPKdXtM3CWdm6shlTrwh5U04", "UFIQbKQjSs9ivsh5ONGAEFNVbgtsk3wWv4BfAJGMdlA", "Dd7Il2Jvr0zi7fnsxRqAzqOb7DcR9mfSS6CDzdShRUM"] }, huntNode: "https://hyperbeam.tylerw.ai", marketNode: "https://hyperbeam.tylerw.ai", venueNode: "https://hyperbeam.tylerw.ai" };
|
|
407
411
|
}
|
|
408
412
|
});
|
|
409
413
|
|
|
@@ -9230,6 +9234,7 @@ __export(game_exports, {
|
|
|
9230
9234
|
enterArena: () => enterArena,
|
|
9231
9235
|
feed: () => feed,
|
|
9232
9236
|
findRatedMatch: () => findRatedMatch,
|
|
9237
|
+
fleetBattleSettled: () => fleetBattleSettled,
|
|
9233
9238
|
forfeitBattle: () => forfeitBattle,
|
|
9234
9239
|
grantDelegate: () => grantDelegate,
|
|
9235
9240
|
huntRouteReleased: () => huntRouteReleased,
|
|
@@ -9607,6 +9612,11 @@ async function readFleetBattle(route, signal) {
|
|
|
9607
9612
|
signal
|
|
9608
9613
|
});
|
|
9609
9614
|
}
|
|
9615
|
+
function finishedBattle(reply, battleId) {
|
|
9616
|
+
if (!reply || reply.status !== "ended" || reply.challenger) return reply;
|
|
9617
|
+
const seen = fleetPlayers.get(battleId)?.battle;
|
|
9618
|
+
return seen ? { ...seen, status: "ended", winner: reply.winner, final: reply.final } : null;
|
|
9619
|
+
}
|
|
9610
9620
|
async function waitForFleetBattle(route, playerAddress, attempts = 60) {
|
|
9611
9621
|
for (let attempt = 0; attempt < attempts; attempt++) {
|
|
9612
9622
|
const [battle, authority] = await Promise.all([
|
|
@@ -9679,7 +9689,7 @@ async function settleFleetBattle(battleId) {
|
|
|
9679
9689
|
const route = fleetRoutes.get(battleId);
|
|
9680
9690
|
const address = fleetPlayers.get(battleId)?.address ?? await activeAddress();
|
|
9681
9691
|
if (!route || !address) throw new GameError("This battle is not routed to a fleet worker.");
|
|
9682
|
-
const battle = await readFleetBattle(route).catch(() => null);
|
|
9692
|
+
const battle = await readFleetBattle(route).catch(() => null) ?? finishedBattle(await closeFleetBattle(route, address, "Battle.Retry").catch(() => null), battleId);
|
|
9683
9693
|
const settled = await awaitFleetSettlement(route, address);
|
|
9684
9694
|
if (!battle || battle.id !== battleId) return settled;
|
|
9685
9695
|
return {
|
|
@@ -9688,6 +9698,11 @@ async function settleFleetBattle(battleId) {
|
|
|
9688
9698
|
result: battle.winner === fleetSide(route) ? "win" : "loss"
|
|
9689
9699
|
};
|
|
9690
9700
|
}
|
|
9701
|
+
async function fleetBattleSettled(battleId) {
|
|
9702
|
+
const route = fleetRoutes.get(battleId);
|
|
9703
|
+
const address = fleetPlayers.get(battleId)?.address;
|
|
9704
|
+
return !!route && !!address && fleetRouteCleared(address, route)();
|
|
9705
|
+
}
|
|
9691
9706
|
async function forfeitBattle() {
|
|
9692
9707
|
const address = await activeAddress();
|
|
9693
9708
|
const account = address ? await readAuthorityPlayer(address).catch(() => null) : null;
|
|
@@ -9795,8 +9810,8 @@ async function attack(battleId, move, round, actionId4 = fleetActionId("attack")
|
|
|
9795
9810
|
}));
|
|
9796
9811
|
} catch (error) {
|
|
9797
9812
|
if (!(error instanceof AcceptedWriteError || error instanceof OutboxDeliveryError)) throw error;
|
|
9798
|
-
const published = await readFleetBattle(route).catch(() => null);
|
|
9799
9813
|
const cachedAddress = fleetPlayers.get(battleId)?.address ?? await activeAddress();
|
|
9814
|
+
const published = await readFleetBattle(route).catch(() => null) ?? (cachedAddress ? finishedBattle(await closeFleetBattle(route, cachedAddress, "Battle.Retry").catch(() => null), battleId) : null);
|
|
9800
9815
|
if (!cachedAddress || !validateFleetBattle(published, route, cachedAddress) || published.status !== "ended") throw error;
|
|
9801
9816
|
if (error instanceof AcceptedWriteError) {
|
|
9802
9817
|
await deliverSlot(error.slot, {
|
|
@@ -9807,6 +9822,7 @@ async function attack(battleId, move, round, actionId4 = fleetActionId("attack")
|
|
|
9807
9822
|
}
|
|
9808
9823
|
battle = published;
|
|
9809
9824
|
}
|
|
9825
|
+
battle = finishedBattle(battle, battleId);
|
|
9810
9826
|
if (!battle) throw new GameError("The battle worker returned no battle state.");
|
|
9811
9827
|
const cached = fleetPlayers.get(battleId);
|
|
9812
9828
|
if (battle.status !== "ended" && cached) {
|
|
@@ -12124,6 +12140,7 @@ export {
|
|
|
12124
12140
|
externalVenueConfigured,
|
|
12125
12141
|
feed,
|
|
12126
12142
|
findRatedMatch,
|
|
12143
|
+
fleetBattleSettled,
|
|
12127
12144
|
forfeitBattle,
|
|
12128
12145
|
formatUnits,
|
|
12129
12146
|
fundVenueVault,
|
package/dist/graph.json
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"node": "https://hyperbeam.tylerw.ai",
|
|
3
3
|
"owner": "DA9qhP25ZPz6MHIhO-7aNHDN3LsTAL7yCKYIkqr13Z8",
|
|
4
|
-
"deployedAt": "2026-10-
|
|
4
|
+
"deployedAt": "2026-10-19T15:06:59.257Z",
|
|
5
5
|
"processes": {
|
|
6
|
-
"game": "
|
|
7
|
-
"rune": "
|
|
8
|
-
"pusd": "
|
|
9
|
-
"dao": "
|
|
6
|
+
"game": "M_Gu6EExq-9a7f60dse_z-wV7fYIe1Fj_uEKwlHZpZg",
|
|
7
|
+
"rune": "fGPg_5InU6qP3-fIGJuYWbq-9PrEAXfcKCViqk7fT_Y",
|
|
8
|
+
"pusd": "pu_Gsl2h6gVnW6V0b25Jk-FFxt2eGz1NxVXvQIClyRY",
|
|
9
|
+
"dao": "YApPkPUFOx_0nq0XiEXwEY1RW6vdgpbspITggEIclxQ",
|
|
10
10
|
"elements": {
|
|
11
|
-
"earth": "
|
|
12
|
-
"air": "
|
|
13
|
-
"fire": "
|
|
14
|
-
"water": "
|
|
11
|
+
"earth": "TvryzhtQCEQWS945ZG6NAFJPvuRBuWt-ivlS6LK5ArM",
|
|
12
|
+
"air": "YU4LRq4kF_uwGJp6XK_j4-QW3hpEeKEzD2yXxjgFtqw",
|
|
13
|
+
"fire": "qUN4M5oHToh6CUEG5Me01oU5XES5_qNpiwcPxtfFmt4",
|
|
14
|
+
"water": "F1tm4TSB5R8lBjG1WkLcmA1gvaKuXKhuBNQiMssyspw"
|
|
15
15
|
},
|
|
16
|
-
"internalVenue": "
|
|
17
|
-
"externalVenue": "
|
|
18
|
-
"hunt": "
|
|
16
|
+
"internalVenue": "nSYYYkech3n7KyKVaVB96397OjDpSXw2f_qhk0rBikk",
|
|
17
|
+
"externalVenue": "u88L84CzUYq5VYJogKYtzVcBuxeBYmN2VYy-rPRo_BU",
|
|
18
|
+
"hunt": "6r7Ysg9OC3xLa9RtypgeZFYAphgrCRb3YQ7GLSFuKaY",
|
|
19
19
|
"huntWorkers": [
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
20
|
+
"6r7Ysg9OC3xLa9RtypgeZFYAphgrCRb3YQ7GLSFuKaY",
|
|
21
|
+
"D8XFAksmlj52usoF98kuXUPgSHky90H9w0Wk1CXgY3M",
|
|
22
|
+
"MZqtDjq_Uo24QHC-67K6RbKiCUgB5hXPP99lj-CtnEQ",
|
|
23
|
+
"tl97Vp0QdlahB1ytHhBflfs1MDoIlHItNOwtaDa_2wI",
|
|
24
|
+
"E_DkBueQVShFy5N8cLWUs9U85AqrJfB0RYr_zcimct8"
|
|
25
25
|
],
|
|
26
26
|
"battleWorkers": [
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
27
|
+
"SGoUSl7qGC6TbJOl4d1ND7HfmhaB0YFUAW480Tqla6A",
|
|
28
|
+
"kByh_aPMxogChaGOQDscMqBIoygwiCZyR94h1TXSnQw",
|
|
29
|
+
"xTlcEYuuB1D1BLq_pLwaPKdXtM3CWdm6shlTrwh5U04",
|
|
30
|
+
"UFIQbKQjSs9ivsh5ONGAEFNVbgtsk3wWv4BfAJGMdlA",
|
|
31
|
+
"Dd7Il2Jvr0zi7fnsxRqAzqOb7DcR9mfSS6CDzdShRUM"
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
"huntNode": "https://hyperbeam.tylerw.ai",
|