@molteee/arena-tools 0.2.7 → 0.2.8
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.
|
@@ -40,9 +40,23 @@ export async function findGameCommand(matchId) {
|
|
|
40
40
|
}
|
|
41
41
|
const contractAddr = GAME_CONTRACTS[gameType];
|
|
42
42
|
const abi = TYPE_TO_ABI[gameType];
|
|
43
|
-
// 3.
|
|
44
|
-
//
|
|
45
|
-
|
|
43
|
+
// 3. Get total game count, then scan BACKWARDS from latest.
|
|
44
|
+
// New matches create games with the highest IDs, so scanning backwards
|
|
45
|
+
// finds the target in 1-2 RPC calls instead of N (where N = total games).
|
|
46
|
+
let nextId;
|
|
47
|
+
try {
|
|
48
|
+
const raw = await client.readContract({
|
|
49
|
+
address: contractAddr,
|
|
50
|
+
abi,
|
|
51
|
+
functionName: "nextGameId",
|
|
52
|
+
});
|
|
53
|
+
nextId = Number(raw);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
fail("Failed to read nextGameId from game contract", "CONTRACT_ERROR");
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
for (let i = nextId - 1; i >= 0; i--) {
|
|
46
60
|
try {
|
|
47
61
|
const game = (await client.readContract({
|
|
48
62
|
address: contractAddr,
|
|
@@ -63,8 +77,8 @@ export async function findGameCommand(matchId) {
|
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
catch {
|
|
66
|
-
// Revert = no game at this ID,
|
|
67
|
-
|
|
80
|
+
// Revert = no game at this ID, skip
|
|
81
|
+
continue;
|
|
68
82
|
}
|
|
69
83
|
}
|
|
70
84
|
// No game found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-game.js","sourceRoot":"","sources":["../../src/commands/find-game.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,2EAA2E;AAC3E,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACH,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9C,sDAAsD;AACtD,MAAM,gBAAgB,GAA2B,MAAM,CAAC,WAAW,CAC/D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE;IAClB,IAAI;CACP,CAAC,CACL,CAAC;AAEF,uBAAuB;AACvB,MAAM,WAAW,GAAwB;IACrC,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,cAAc;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACjD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,qDAAqD;IACrD,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,GAAG,CAAC;KACd,CAAC,CAAQ,CAAC;IAEX,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,uEAAuE;QACvE,IAAI,CACA,iCAAiC,OAAO,kDAAkD,EAC1F,aAAa,CAChB,CAAC;QACF,OAAO;IACX,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAElC,
|
|
1
|
+
{"version":3,"file":"find-game.js","sourceRoot":"","sources":["../../src/commands/find-game.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,2EAA2E;AAC3E,uDAAuD;AACvD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACH,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9C,sDAAsD;AACtD,MAAM,gBAAgB,GAA2B,MAAM,CAAC,WAAW,CAC/D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE;IAClB,IAAI;CACP,CAAC,CACL,CAAC;AAEF,uBAAuB;AACvB,MAAM,WAAW,GAAwB;IACrC,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,cAAc;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACjD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5B,qDAAqD;IACrD,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,GAAG,CAAC;KACd,CAAC,CAAQ,CAAC;IAEX,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,uEAAuE;QACvE,IAAI,CACA,iCAAiC,OAAO,kDAAkD,EAC1F,aAAa,CAChB,CAAC;QACF,OAAO;IACX,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAElC,4DAA4D;IAC5D,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YAClC,OAAO,EAAE,YAAY;YACrB,GAAG;YACH,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC,8CAA8C,EAAE,gBAAgB,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;gBACpC,OAAO,EAAE,YAAY;gBACrB,GAAG;gBACH,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB,CAAC,CAAQ,CAAC;YAEX,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,EAAE,CAAC;oBACC,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;oBACxB,QAAQ;oBACR,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QACD,MAAM,CAAC;YACH,oCAAoC;YACpC,SAAS;QACb,CAAC;IACL,CAAC;IAED,gBAAgB;IAChB,IAAI,CACA,2BAA2B,OAAO,iFAAiF,EACnH,gBAAgB,CACnB,CAAC;AACN,CAAC"}
|