@molteee/arena-tools 0.1.1 → 0.1.2
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/CLAUDE.md +7 -0
- package/dist/commands/pending.d.ts +2 -0
- package/dist/commands/pending.d.ts.map +1 -0
- package/dist/commands/pending.js +52 -0
- package/dist/commands/pending.js.map +1 -0
- package/dist/commands/play.d.ts +5 -0
- package/dist/commands/play.d.ts.map +1 -0
- package/dist/commands/play.js +47 -0
- package/dist/commands/play.js.map +1 -0
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +3 -2
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/respond.d.ts +5 -0
- package/dist/commands/respond.d.ts.map +1 -0
- package/dist/commands/respond.js +464 -0
- package/dist/commands/respond.js.map +1 -0
- package/dist/contracts.d.ts +51 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +18 -0
- package/dist/contracts.js.map +1 -1
- package/dist/index.js +32 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/CLAUDE.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending.d.ts","sourceRoot":"","sources":["../../src/commands/pending.ts"],"names":[],"mappings":"AAiBA,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,iBAoDnD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// arena-tools pending — list incoming challenges (Created matches where address is player2)
|
|
2
|
+
// Scans all match IDs via getMatch(), filters to Created status with matching player2.
|
|
3
|
+
// Works with any RPC (no eth_getLogs block range limits).
|
|
4
|
+
import { formatEther, getAddress as checksumAddress } from "viem";
|
|
5
|
+
import { getPublicClient } from "../client.js";
|
|
6
|
+
import { CONTRACTS, GAME_CONTRACTS } from "../config.js";
|
|
7
|
+
import { escrowAbi } from "../contracts.js";
|
|
8
|
+
import { ok } from "../utils/output.js";
|
|
9
|
+
// Reverse map: game contract address → game type name
|
|
10
|
+
const GAME_TYPE_MAP = Object.fromEntries(Object.entries(GAME_CONTRACTS).map(([name, addr]) => [
|
|
11
|
+
addr.toLowerCase(),
|
|
12
|
+
name,
|
|
13
|
+
]));
|
|
14
|
+
export async function pendingCommand(address) {
|
|
15
|
+
const client = getPublicClient();
|
|
16
|
+
const addr = checksumAddress(address);
|
|
17
|
+
// Get total match count
|
|
18
|
+
const nextMatchId = await client.readContract({
|
|
19
|
+
address: CONTRACTS.Escrow,
|
|
20
|
+
abi: escrowAbi,
|
|
21
|
+
functionName: "nextMatchId",
|
|
22
|
+
});
|
|
23
|
+
const total = Number(nextMatchId);
|
|
24
|
+
if (total === 0) {
|
|
25
|
+
ok({ address: addr, challenges: [] });
|
|
26
|
+
}
|
|
27
|
+
// Scan all matches, find Created (status=0) where player2 = addr
|
|
28
|
+
const challenges = [];
|
|
29
|
+
for (let i = 0; i < total; i++) {
|
|
30
|
+
const match = await client.readContract({
|
|
31
|
+
address: CONTRACTS.Escrow,
|
|
32
|
+
abi: escrowAbi,
|
|
33
|
+
functionName: "getMatch",
|
|
34
|
+
args: [BigInt(i)],
|
|
35
|
+
});
|
|
36
|
+
// status 0 = Created, and player2 must match queried address
|
|
37
|
+
if (match.status === 0 &&
|
|
38
|
+
match.player2.toLowerCase() === addr.toLowerCase()) {
|
|
39
|
+
const gc = match.gameContract.toLowerCase();
|
|
40
|
+
challenges.push({
|
|
41
|
+
matchId: i,
|
|
42
|
+
challenger: match.player1,
|
|
43
|
+
wager: formatEther(match.wager),
|
|
44
|
+
gameContract: match.gameContract,
|
|
45
|
+
gameType: GAME_TYPE_MAP[gc] || "unknown",
|
|
46
|
+
createdAt: Number(match.createdAt),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ok({ address: addr, challenges });
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=pending.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../../src/commands/pending.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,uFAAuF;AACvF,0DAA0D;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,sDAAsD;AACtD,MAAM,aAAa,GAA2B,MAAM,CAAC,WAAW,CAC9D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE;IAClB,IAAI;CACL,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAwB,CAAC,CAAC;IAEvD,wBAAwB;IACxB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,SAAS,CAAC,MAAuB;QAC1C,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,iEAAiE;IACjE,MAAM,UAAU,GAOX,EAAE,CAAC;IAER,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACtC,OAAO,EAAE,SAAS,CAAC,MAAuB;YAC1C,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;YACjB,KAAK,CAAC,OAAkB,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAC9D,CAAC;YACD,MAAM,EAAE,GAAI,KAAK,CAAC,YAAuB,CAAC,WAAW,EAAE,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK,CAAC,OAAiB;gBACnC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAe,CAAC;gBACzC,YAAY,EAAE,KAAK,CAAC,YAAsB;gBAC1C,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,SAAS;gBACxC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../src/commands/play.ts"],"names":[],"mappings":"AAgBA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,iBAuC5C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// arena-tools play — challenge an opponent AND play the full game in one blocking call.
|
|
2
|
+
// This is the challenger-side equivalent of `respond` (which is for the acceptor).
|
|
3
|
+
//
|
|
4
|
+
// Usage: npx arena-tools play <opponent> <wager> <game_type> [--rounds 3] [--timeout 600]
|
|
5
|
+
//
|
|
6
|
+
// Flow: create challenge → delegate to respondCommand (which waits for acceptance,
|
|
7
|
+
// creates game, plays all rounds, and reports result).
|
|
8
|
+
import { encodeFunctionData, parseEther, getAddress as checksumAddress } from "viem";
|
|
9
|
+
import { CONTRACTS, GAME_CONTRACTS, GAME_TYPES } from "../config.js";
|
|
10
|
+
import { escrowAbi } from "../contracts.js";
|
|
11
|
+
import { getPublicClient, getAddress } from "../client.js";
|
|
12
|
+
import { sendTx } from "../utils/tx.js";
|
|
13
|
+
import { event, fail } from "../utils/output.js";
|
|
14
|
+
import { respondCommand } from "./respond.js";
|
|
15
|
+
export async function playCommand(opponent, wager, gameType, opts) {
|
|
16
|
+
const gt = gameType.toLowerCase();
|
|
17
|
+
if (!(gt in GAME_TYPES)) {
|
|
18
|
+
fail(`Invalid game type: ${gameType}. Must be rps, poker, or auction.`, "INVALID_GAME_TYPE");
|
|
19
|
+
}
|
|
20
|
+
const gameContract = GAME_CONTRACTS[gt];
|
|
21
|
+
const wagerWei = parseEther(wager);
|
|
22
|
+
const myAddress = getAddress();
|
|
23
|
+
// Step 1: Create the challenge
|
|
24
|
+
event({ event: "challenging", opponent, wager, gameType: gt });
|
|
25
|
+
const data = encodeFunctionData({
|
|
26
|
+
abi: escrowAbi,
|
|
27
|
+
functionName: "createMatch",
|
|
28
|
+
args: [checksumAddress(opponent), gameContract],
|
|
29
|
+
});
|
|
30
|
+
const { hash } = await sendTx({
|
|
31
|
+
to: CONTRACTS.Escrow,
|
|
32
|
+
data,
|
|
33
|
+
value: wagerWei,
|
|
34
|
+
});
|
|
35
|
+
// Get the match ID from nextMatchId
|
|
36
|
+
const client = getPublicClient();
|
|
37
|
+
const nextId = (await client.readContract({
|
|
38
|
+
address: CONTRACTS.Escrow,
|
|
39
|
+
abi: escrowAbi,
|
|
40
|
+
functionName: "nextMatchId",
|
|
41
|
+
}));
|
|
42
|
+
const matchId = Number(nextId) - 1;
|
|
43
|
+
event({ event: "challenge_created", matchId, opponent, wager, gameType: gt, txHash: hash });
|
|
44
|
+
// Step 2: Delegate to respond — it handles waiting for acceptance, game creation, and play
|
|
45
|
+
await respondCommand(String(matchId), opts);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=play.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"play.js","sourceRoot":"","sources":["../../src/commands/play.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,mFAAmF;AACnF,EAAE;AACF,0FAA0F;AAC1F,EAAE;AACF,mFAAmF;AACnF,uDAAuD;AAEvD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAqB,UAAU,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,KAAa,EACb,QAAgB,EAChB,IAA2C;IAE3C,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAkB,CAAC;IAClD,IAAI,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,QAAQ,mCAAmC,EAAE,mBAAmB,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAE/B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE,CAAC,eAAe,CAAC,QAAyB,CAAC,EAAE,YAA6B,CAAC;KAClF,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC;QAC5B,EAAE,EAAE,SAAS,CAAC,MAAuB;QACrC,IAAI;QACJ,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC;QACxC,OAAO,EAAE,SAAS,CAAC,MAAuB;QAC1C,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAW,CAAC;IAEd,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5F,2FAA2F;IAC3F,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAQA,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAQA,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,iBAoC/C"}
|
|
@@ -7,7 +7,8 @@ import { sendTx } from "../utils/tx.js";
|
|
|
7
7
|
import { ok, fail } from "../utils/output.js";
|
|
8
8
|
export async function registerCommand(gameTypes, opts) {
|
|
9
9
|
// Parse game types: "rps,poker,auction" → [0, 1, 2]
|
|
10
|
-
|
|
10
|
+
// Split on commas and/or whitespace (shell/npm may strip commas)
|
|
11
|
+
const types = gameTypes.split(/[,\s]+/).filter(Boolean).map((t) => {
|
|
11
12
|
const gt = t.trim().toLowerCase();
|
|
12
13
|
if (!(gt in GAME_TYPES)) {
|
|
13
14
|
fail(`Invalid game type: ${t}. Must be rps, poker, or auction.`, "INVALID_GAME_TYPE");
|
|
@@ -29,7 +30,7 @@ export async function registerCommand(gameTypes, opts) {
|
|
|
29
30
|
ok({
|
|
30
31
|
action: "register",
|
|
31
32
|
address,
|
|
32
|
-
gameTypes: gameTypes.split(
|
|
33
|
+
gameTypes: gameTypes.split(/[,\s]+/).filter(Boolean).map((t) => t.trim().toLowerCase()),
|
|
33
34
|
minWager: opts.minWager || "0.001",
|
|
34
35
|
maxWager: opts.maxWager || "1.0",
|
|
35
36
|
txHash: hash,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,IAA8C;IAE9C,oDAAoD;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,IAA8C;IAE9C,oDAAoD;IACpD,iEAAiE;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAkB,CAAC;QAClD,IAAI,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,sBAAsB,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,gBAAgB;QACrB,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC;QACrC,EAAE,EAAE,SAAS,CAAC,aAA8B;QAC5C,IAAI;KACL,CAAC,CAAC;IAEH,EAAE,CAAC;QACD,MAAM,EAAE,UAAU;QAClB,OAAO;QACP,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;QAChC,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../src/commands/respond.ts"],"names":[],"mappings":"AAmHA,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,iBAwH5C"}
|
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
// arena-tools respond — accept a match and play the entire game in one blocking call.
|
|
2
|
+
// Streams JSONL events for each step so LLM agents can follow progress.
|
|
3
|
+
//
|
|
4
|
+
// Architecture: State-machine loop. Every iteration reads on-chain state, decides
|
|
5
|
+
// the ONE action to take, executes it, then loops. Never assumes state transitions —
|
|
6
|
+
// always re-reads. All RPC calls retry on transient errors (429, timeout).
|
|
7
|
+
//
|
|
8
|
+
// Usage: npx arena-tools respond <match_id> [--rounds 3] [--timeout 600]
|
|
9
|
+
import { encodeFunctionData, formatEther } from "viem";
|
|
10
|
+
import { CONTRACTS, GAME_CONTRACTS } from "../config.js";
|
|
11
|
+
import { escrowAbi, rpsGameAbi, pokerGameAbi, auctionGameAbi, } from "../contracts.js";
|
|
12
|
+
import { getPublicClient, getAddress } from "../client.js";
|
|
13
|
+
import { sendTx } from "../utils/tx.js";
|
|
14
|
+
import { generateSalt, saveSalt, loadSalt, commitHash, commitBidHash } from "../utils/commit-reveal.js";
|
|
15
|
+
import { event, ok, fail } from "../utils/output.js";
|
|
16
|
+
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
17
|
+
const POLL_INTERVAL_MS = 8_000; // Time between state reads (higher to avoid 429s)
|
|
18
|
+
const GAME_CREATION_WAIT_MS = 20_000; // Wait for opponent to create game before we do
|
|
19
|
+
const MAX_RETRIES = 8; // Retry count for transient RPC errors
|
|
20
|
+
const RETRY_BASE_MS = 1_500; // Base backoff for retries (doubles each attempt + jitter)
|
|
21
|
+
// RPS move values (match Solidity enum: 0=None, 1=Rock, 2=Paper, 3=Scissors)
|
|
22
|
+
const RPS_MOVES = [1, 2, 3];
|
|
23
|
+
const RPS_MOVE_NAMES = { 1: "Rock", 2: "Paper", 3: "Scissors" };
|
|
24
|
+
// Poker action values
|
|
25
|
+
const POKER_CHECK = 1;
|
|
26
|
+
const POKER_CALL = 4;
|
|
27
|
+
// Phase enums (match Solidity)
|
|
28
|
+
const PHASE_COMMIT = 0;
|
|
29
|
+
const PHASE_REVEAL = 1;
|
|
30
|
+
// Poker-specific phases
|
|
31
|
+
const POKER_BETTING1 = 1;
|
|
32
|
+
const POKER_BETTING2 = 2;
|
|
33
|
+
const POKER_SHOWDOWN = 3;
|
|
34
|
+
// Match status
|
|
35
|
+
const MATCH_CREATED = 0;
|
|
36
|
+
const MATCH_ACTIVE = 1;
|
|
37
|
+
const ZERO_BYTES32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
38
|
+
// ─── Retry wrapper — the core resilience layer ──────────────────────────────
|
|
39
|
+
// Every RPC call goes through this. Retries on 429, timeout, and network errors.
|
|
40
|
+
function isTransient(err) {
|
|
41
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
42
|
+
return (msg.includes("429") ||
|
|
43
|
+
msg.includes("Too Many Requests") ||
|
|
44
|
+
msg.includes("ETIMEDOUT") ||
|
|
45
|
+
msg.includes("ECONNRESET") ||
|
|
46
|
+
msg.includes("fetch failed") ||
|
|
47
|
+
msg.includes("network") ||
|
|
48
|
+
msg.includes("socket hang up"));
|
|
49
|
+
}
|
|
50
|
+
async function retry(fn, label = "") {
|
|
51
|
+
for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
|
|
52
|
+
try {
|
|
53
|
+
return await fn();
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (isTransient(err) && attempt < MAX_RETRIES - 1) {
|
|
57
|
+
// Exponential backoff + random jitter to desync competing agents
|
|
58
|
+
const backoff = RETRY_BASE_MS * Math.pow(2, attempt) + Math.floor(Math.random() * 2000);
|
|
59
|
+
event({ event: "retry", attempt: attempt + 1, backoffMs: backoff, label });
|
|
60
|
+
await sleep(backoff);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw new Error(`Exhausted ${MAX_RETRIES} retries for: ${label}`);
|
|
67
|
+
}
|
|
68
|
+
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
69
|
+
function sleep(ms) {
|
|
70
|
+
return new Promise((r) => setTimeout(r, ms));
|
|
71
|
+
}
|
|
72
|
+
function randomChoice(arr) {
|
|
73
|
+
return arr[Math.floor(Math.random() * arr.length)];
|
|
74
|
+
}
|
|
75
|
+
function checkTimeout(startTime, timeoutMs) {
|
|
76
|
+
if (Date.now() - startTime > timeoutMs) {
|
|
77
|
+
fail("Overall timeout exceeded — aborting.", "TIMEOUT");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function gameTypeFromAddress(addr) {
|
|
81
|
+
const lower = addr.toLowerCase();
|
|
82
|
+
for (const [name, contractAddr] of Object.entries(GAME_CONTRACTS)) {
|
|
83
|
+
if (contractAddr.toLowerCase() === lower)
|
|
84
|
+
return name;
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
function gameContractAddr(gameType) {
|
|
89
|
+
return ({ rps: CONTRACTS.RPSGame, poker: CONTRACTS.PokerGame, auction: CONTRACTS.AuctionGame })[gameType];
|
|
90
|
+
}
|
|
91
|
+
// ─── Main respond command ───────────────────────────────────────────────────
|
|
92
|
+
export async function respondCommand(matchId, opts) {
|
|
93
|
+
const client = getPublicClient();
|
|
94
|
+
const myAddress = getAddress();
|
|
95
|
+
const id = BigInt(matchId);
|
|
96
|
+
const rounds = parseInt(opts.rounds || "3");
|
|
97
|
+
const timeoutMs = parseInt(opts.timeout || "600") * 1000;
|
|
98
|
+
const startTime = Date.now();
|
|
99
|
+
// ── Phase A: Ensure match is Active ─────────────────────────────────────
|
|
100
|
+
const match = await retry(() => client.readContract({ address: CONTRACTS.Escrow, abi: escrowAbi, functionName: "getMatch", args: [id] }), "getMatch");
|
|
101
|
+
const status = Number(match.status);
|
|
102
|
+
if (status !== MATCH_CREATED && status !== MATCH_ACTIVE) {
|
|
103
|
+
fail(`Match ${matchId} status is ${status} (need 0=Created or 1=Active).`, "INVALID_STATUS");
|
|
104
|
+
}
|
|
105
|
+
const gameType = gameTypeFromAddress(match.gameContract);
|
|
106
|
+
if (!gameType) {
|
|
107
|
+
fail(`Unknown game contract ${match.gameContract}.`, "UNKNOWN_GAME");
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const wagerWei = match.wager;
|
|
111
|
+
const isPlayer1 = match.player1.toLowerCase() === myAddress.toLowerCase();
|
|
112
|
+
// Accept if needed, or wait for acceptance if we're the challenger
|
|
113
|
+
if (status === MATCH_CREATED) {
|
|
114
|
+
if (match.player2.toLowerCase() === myAddress.toLowerCase()) {
|
|
115
|
+
// We're player2 — accept the match
|
|
116
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
117
|
+
to: CONTRACTS.Escrow,
|
|
118
|
+
data: encodeFunctionData({ abi: escrowAbi, functionName: "acceptMatch", args: [id] }),
|
|
119
|
+
value: wagerWei,
|
|
120
|
+
}), "acceptMatch");
|
|
121
|
+
event({ event: "accepted", matchId: Number(id), wager: formatEther(wagerWei), txHash });
|
|
122
|
+
}
|
|
123
|
+
else if (isPlayer1) {
|
|
124
|
+
// We're player1 (challenger) — wait for opponent to accept
|
|
125
|
+
event({ event: "waiting", message: "Waiting for opponent to accept match..." });
|
|
126
|
+
while (true) {
|
|
127
|
+
checkTimeout(startTime, timeoutMs);
|
|
128
|
+
await sleep(POLL_INTERVAL_MS);
|
|
129
|
+
const updated = await retry(() => client.readContract({ address: CONTRACTS.Escrow, abi: escrowAbi, functionName: "getMatch", args: [id] }), "poll-match-status");
|
|
130
|
+
if (Number(updated.status) === MATCH_ACTIVE) {
|
|
131
|
+
event({ event: "opponent_accepted", matchId: Number(id) });
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
fail(`Match ${matchId} is not for ${myAddress}.`, "WRONG_PLAYER");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
event({ event: "already_active", matchId: Number(id), wager: formatEther(wagerWei) });
|
|
142
|
+
}
|
|
143
|
+
// ── Phase B: Find or create game ────────────────────────────────────────
|
|
144
|
+
const contractAddr = gameContractAddr(gameType);
|
|
145
|
+
let gameId = await findGame(client, contractAddr, gameType, id);
|
|
146
|
+
if (gameId === null) {
|
|
147
|
+
event({ event: "waiting", message: "Waiting for opponent to create game..." });
|
|
148
|
+
const waitEnd = Date.now() + GAME_CREATION_WAIT_MS;
|
|
149
|
+
while (Date.now() < waitEnd && gameId === null) {
|
|
150
|
+
checkTimeout(startTime, timeoutMs);
|
|
151
|
+
await sleep(POLL_INTERVAL_MS);
|
|
152
|
+
gameId = await findGame(client, contractAddr, gameType, id);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (gameId === null) {
|
|
156
|
+
gameId = await createGame(client, gameType, id, rounds, contractAddr);
|
|
157
|
+
event({ event: "game_created", gameId: Number(gameId), gameType, rounds: gameType === "rps" ? rounds : 1 });
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
event({ event: "game_found", gameId: Number(gameId), gameType });
|
|
161
|
+
}
|
|
162
|
+
// ── Phase C: Play the game (state machine loop) ─────────────────────────
|
|
163
|
+
if (gameType === "rps") {
|
|
164
|
+
await rpsLoop(client, gameId, contractAddr, isPlayer1, startTime, timeoutMs);
|
|
165
|
+
}
|
|
166
|
+
else if (gameType === "poker") {
|
|
167
|
+
await pokerLoop(client, gameId, contractAddr, isPlayer1, wagerWei, startTime, timeoutMs);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
await auctionLoop(client, gameId, contractAddr, isPlayer1, wagerWei, startTime, timeoutMs);
|
|
171
|
+
}
|
|
172
|
+
// ── Phase D: Report result ──────────────────────────────────────────────
|
|
173
|
+
const finalMatch = await retry(() => client.readContract({ address: CONTRACTS.Escrow, abi: escrowAbi, functionName: "getMatch", args: [id] }), "getMatch-final");
|
|
174
|
+
let winner = "0x0000000000000000000000000000000000000000";
|
|
175
|
+
try {
|
|
176
|
+
winner = (await retry(() => client.readContract({ address: CONTRACTS.Escrow, abi: escrowAbi, functionName: "winners", args: [id] }), "getWinner"));
|
|
177
|
+
}
|
|
178
|
+
catch { /* not set yet */ }
|
|
179
|
+
const isWinner = winner.toLowerCase() === myAddress.toLowerCase();
|
|
180
|
+
event({ event: "match_complete", matchId: Number(id), winner, result: isWinner ? "win" : "loss" });
|
|
181
|
+
ok({
|
|
182
|
+
action: "respond",
|
|
183
|
+
matchId: Number(id),
|
|
184
|
+
gameType,
|
|
185
|
+
gameId: Number(gameId),
|
|
186
|
+
result: isWinner ? "win" : "loss",
|
|
187
|
+
winner,
|
|
188
|
+
wager: formatEther(wagerWei),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
192
|
+
// RPS STATE MACHINE
|
|
193
|
+
// Each iteration: read state → decide action → execute → sleep → repeat
|
|
194
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
196
|
+
async function rpsLoop(client, gameId, addr, isPlayer1, startTime, timeoutMs) {
|
|
197
|
+
while (true) {
|
|
198
|
+
checkTimeout(startTime, timeoutMs);
|
|
199
|
+
// 1. Read game state
|
|
200
|
+
const game = await retry(() => client.readContract({ address: addr, abi: rpsGameAbi, functionName: "getGame", args: [gameId] }), "rps-getGame");
|
|
201
|
+
// 2. Check if done
|
|
202
|
+
if (game.settled) {
|
|
203
|
+
event({ event: "game_settled", gameId: Number(gameId), p1Score: Number(game.p1Score), p2Score: Number(game.p2Score) });
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const round = Number(game.currentRound);
|
|
207
|
+
const phase = Number(game.phase);
|
|
208
|
+
// 3. Read round data
|
|
209
|
+
const roundData = await retry(() => client.readContract({ address: addr, abi: rpsGameAbi, functionName: "getRound", args: [gameId, BigInt(round)] }), "rps-getRound");
|
|
210
|
+
const myCommit = isPlayer1 ? roundData.p1Commit : roundData.p2Commit;
|
|
211
|
+
const myRevealed = isPlayer1 ? roundData.p1Revealed : roundData.p2Revealed;
|
|
212
|
+
// 4. Decide action based on state
|
|
213
|
+
if (phase === PHASE_COMMIT && myCommit === ZERO_BYTES32) {
|
|
214
|
+
// ACTION: We need to commit a move
|
|
215
|
+
const moveNum = randomChoice(RPS_MOVES);
|
|
216
|
+
const salt = generateSalt();
|
|
217
|
+
const hash = commitHash(moveNum, salt);
|
|
218
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
219
|
+
to: addr,
|
|
220
|
+
data: encodeFunctionData({ abi: rpsGameAbi, functionName: "commit", args: [gameId, hash] }),
|
|
221
|
+
}), "rps-commit");
|
|
222
|
+
// Save salt (memory + disk)
|
|
223
|
+
storeSalt(`rps-${gameId}-${round}`, { salt, moveNum });
|
|
224
|
+
event({ event: "committed", round, move: RPS_MOVE_NAMES[moveNum], txHash });
|
|
225
|
+
}
|
|
226
|
+
else if (phase === PHASE_COMMIT) {
|
|
227
|
+
// We committed, waiting for opponent
|
|
228
|
+
event({ event: "status", round, phase: "commit", message: "Waiting for opponent to commit..." });
|
|
229
|
+
}
|
|
230
|
+
else if (phase === PHASE_REVEAL && !myRevealed) {
|
|
231
|
+
// ACTION: We need to reveal
|
|
232
|
+
const stored = loadStoredSalt(`rps-${gameId}-${round}`);
|
|
233
|
+
if (!stored) {
|
|
234
|
+
fail(`Lost salt for round ${round}. Cannot reveal. Game is unrecoverable.`, "SALT_LOST");
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
238
|
+
to: addr,
|
|
239
|
+
data: encodeFunctionData({ abi: rpsGameAbi, functionName: "reveal", args: [gameId, stored.moveNum, stored.salt] }),
|
|
240
|
+
}), "rps-reveal");
|
|
241
|
+
event({ event: "revealed", round, move: RPS_MOVE_NAMES[stored.moveNum], txHash });
|
|
242
|
+
}
|
|
243
|
+
else if (phase === PHASE_REVEAL) {
|
|
244
|
+
// We revealed, waiting for opponent
|
|
245
|
+
event({ event: "status", round, phase: "reveal", message: "Waiting for opponent to reveal..." });
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
// Unknown state — log it
|
|
249
|
+
event({ event: "status", round, phase, message: "Waiting for state change..." });
|
|
250
|
+
}
|
|
251
|
+
// 5. Sleep before next read
|
|
252
|
+
await sleep(POLL_INTERVAL_MS);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
256
|
+
// POKER STATE MACHINE
|
|
257
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
258
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
259
|
+
async function pokerLoop(client, gameId, addr, isPlayer1, wagerWei, startTime, timeoutMs) {
|
|
260
|
+
while (true) {
|
|
261
|
+
checkTimeout(startTime, timeoutMs);
|
|
262
|
+
const game = await retry(() => client.readContract({ address: addr, abi: pokerGameAbi, functionName: "getGame", args: [gameId] }), "poker-getGame");
|
|
263
|
+
if (game.settled) {
|
|
264
|
+
event({ event: "game_settled", gameId: Number(gameId), gameType: "poker" });
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const phase = Number(game.phase);
|
|
268
|
+
const myCommitted = isPlayer1 ? game.p1Committed : game.p2Committed;
|
|
269
|
+
const myRevealed = isPlayer1 ? game.p1Revealed : game.p2Revealed;
|
|
270
|
+
const isMyTurn = game.currentTurn.toLowerCase() === getAddress().toLowerCase();
|
|
271
|
+
if (phase === PHASE_COMMIT && !myCommitted) {
|
|
272
|
+
// ACTION: Commit a hand value
|
|
273
|
+
const handValue = Math.floor(Math.random() * 100) + 1;
|
|
274
|
+
const salt = generateSalt();
|
|
275
|
+
const hash = commitHash(handValue, salt);
|
|
276
|
+
storeSalt(`poker-${gameId}`, { salt, handValue });
|
|
277
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
278
|
+
to: addr,
|
|
279
|
+
data: encodeFunctionData({ abi: pokerGameAbi, functionName: "commitHand", args: [gameId, hash] }),
|
|
280
|
+
}), "poker-commit");
|
|
281
|
+
event({ event: "committed", gameType: "poker", handValue, txHash });
|
|
282
|
+
}
|
|
283
|
+
else if (phase === PHASE_COMMIT) {
|
|
284
|
+
event({ event: "status", phase: "commit", message: "Waiting for opponent to commit hand..." });
|
|
285
|
+
}
|
|
286
|
+
else if ((phase === POKER_BETTING1 || phase === POKER_BETTING2) && isMyTurn) {
|
|
287
|
+
// ACTION: Take betting action — check or call
|
|
288
|
+
const currentBet = BigInt(game.currentBet);
|
|
289
|
+
const action = currentBet > 0n ? POKER_CALL : POKER_CHECK;
|
|
290
|
+
const actionName = currentBet > 0n ? "call" : "check";
|
|
291
|
+
const value = action === POKER_CALL ? currentBet : 0n;
|
|
292
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
293
|
+
to: addr,
|
|
294
|
+
data: encodeFunctionData({ abi: pokerGameAbi, functionName: "takeAction", args: [gameId, action] }),
|
|
295
|
+
value,
|
|
296
|
+
}), `poker-${actionName}`);
|
|
297
|
+
event({ event: "action", gameType: "poker", action: actionName, bettingRound: phase, txHash });
|
|
298
|
+
}
|
|
299
|
+
else if (phase === POKER_BETTING1 || phase === POKER_BETTING2) {
|
|
300
|
+
event({ event: "status", phase: `betting${phase}`, message: "Waiting for opponent's turn..." });
|
|
301
|
+
}
|
|
302
|
+
else if (phase === POKER_SHOWDOWN && !myRevealed) {
|
|
303
|
+
// ACTION: Reveal hand
|
|
304
|
+
const stored = loadStoredSalt(`poker-${gameId}`);
|
|
305
|
+
if (!stored) {
|
|
306
|
+
fail("Lost salt for poker reveal. Game is unrecoverable.", "SALT_LOST");
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
310
|
+
to: addr,
|
|
311
|
+
data: encodeFunctionData({ abi: pokerGameAbi, functionName: "revealHand", args: [gameId, stored.handValue, stored.salt] }),
|
|
312
|
+
}), "poker-reveal");
|
|
313
|
+
event({ event: "revealed", gameType: "poker", handValue: stored.handValue, txHash });
|
|
314
|
+
}
|
|
315
|
+
else if (phase === POKER_SHOWDOWN) {
|
|
316
|
+
event({ event: "status", phase: "showdown", message: "Waiting for opponent to reveal..." });
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
event({ event: "status", phase, message: "Waiting for state change..." });
|
|
320
|
+
}
|
|
321
|
+
await sleep(POLL_INTERVAL_MS);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
325
|
+
// AUCTION STATE MACHINE
|
|
326
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
327
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
328
|
+
async function auctionLoop(client, gameId, addr, isPlayer1, wagerWei, startTime, timeoutMs) {
|
|
329
|
+
while (true) {
|
|
330
|
+
checkTimeout(startTime, timeoutMs);
|
|
331
|
+
const game = await retry(() => client.readContract({ address: addr, abi: auctionGameAbi, functionName: "getGame", args: [gameId] }), "auction-getGame");
|
|
332
|
+
if (game.settled) {
|
|
333
|
+
event({ event: "game_settled", gameId: Number(gameId), gameType: "auction" });
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
const phase = Number(game.phase);
|
|
337
|
+
const myCommitted = isPlayer1 ? game.p1Committed : game.p2Committed;
|
|
338
|
+
const myRevealed = isPlayer1 ? game.p1Revealed : game.p2Revealed;
|
|
339
|
+
if (phase === PHASE_COMMIT && !myCommitted) {
|
|
340
|
+
// ACTION: Commit a bid (~55-65% of wager)
|
|
341
|
+
const bidPercent = 55 + Math.floor(Math.random() * 11);
|
|
342
|
+
const bidWei = (wagerWei * BigInt(bidPercent)) / 100n;
|
|
343
|
+
const salt = generateSalt();
|
|
344
|
+
const hash = commitBidHash(bidWei, salt);
|
|
345
|
+
storeSalt(`auction-${gameId}`, { salt, bidWei: bidWei.toString() });
|
|
346
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
347
|
+
to: addr,
|
|
348
|
+
data: encodeFunctionData({ abi: auctionGameAbi, functionName: "commitBid", args: [gameId, hash] }),
|
|
349
|
+
}), "auction-commit");
|
|
350
|
+
event({ event: "committed", gameType: "auction", bidMON: formatEther(bidWei), bidPercent, txHash });
|
|
351
|
+
}
|
|
352
|
+
else if (phase === PHASE_COMMIT) {
|
|
353
|
+
event({ event: "status", phase: "commit", message: "Waiting for opponent to commit bid..." });
|
|
354
|
+
}
|
|
355
|
+
else if (phase === PHASE_REVEAL && !myRevealed) {
|
|
356
|
+
// ACTION: Reveal bid
|
|
357
|
+
const stored = loadStoredSalt(`auction-${gameId}`);
|
|
358
|
+
if (!stored) {
|
|
359
|
+
fail("Lost salt for auction reveal. Game is unrecoverable.", "SALT_LOST");
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
// bidWei stored as string, convert back to bigint
|
|
363
|
+
const bidWei = BigInt(stored.bidWei);
|
|
364
|
+
const { hash: txHash } = await retry(() => sendTx({
|
|
365
|
+
to: addr,
|
|
366
|
+
data: encodeFunctionData({ abi: auctionGameAbi, functionName: "revealBid", args: [gameId, bidWei, stored.salt] }),
|
|
367
|
+
}), "auction-reveal");
|
|
368
|
+
event({ event: "revealed", gameType: "auction", bidMON: formatEther(bidWei), txHash });
|
|
369
|
+
}
|
|
370
|
+
else if (phase === PHASE_REVEAL) {
|
|
371
|
+
event({ event: "status", phase: "reveal", message: "Waiting for opponent to reveal bid..." });
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
event({ event: "status", phase, message: "Waiting for state change..." });
|
|
375
|
+
}
|
|
376
|
+
await sleep(POLL_INTERVAL_MS);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
380
|
+
// GAME DISCOVERY
|
|
381
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
382
|
+
const nextGameIdAbi = [
|
|
383
|
+
{ name: "nextGameId", type: "function", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
|
|
384
|
+
];
|
|
385
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
386
|
+
async function findGame(client, contractAddr, gameType, matchId) {
|
|
387
|
+
const abi = gameType === "rps" ? rpsGameAbi : gameType === "poker" ? pokerGameAbi : auctionGameAbi;
|
|
388
|
+
let nextId;
|
|
389
|
+
try {
|
|
390
|
+
nextId = (await retry(() => client.readContract({ address: contractAddr, abi: nextGameIdAbi, functionName: "nextGameId" }), "nextGameId"));
|
|
391
|
+
}
|
|
392
|
+
catch {
|
|
393
|
+
return null;
|
|
394
|
+
}
|
|
395
|
+
// Scan backwards (recent games first, max 50)
|
|
396
|
+
const start = Number(nextId) - 1;
|
|
397
|
+
const end = Math.max(0, start - 50);
|
|
398
|
+
for (let i = start; i >= end; i--) {
|
|
399
|
+
try {
|
|
400
|
+
const game = await client.readContract({
|
|
401
|
+
address: contractAddr, abi, functionName: "getGame", args: [BigInt(i)],
|
|
402
|
+
});
|
|
403
|
+
if (BigInt(game.escrowMatchId) === matchId)
|
|
404
|
+
return BigInt(i);
|
|
405
|
+
}
|
|
406
|
+
catch {
|
|
407
|
+
continue;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
return null;
|
|
411
|
+
}
|
|
412
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
413
|
+
async function createGame(client, gameType, matchId, rounds, contractAddr) {
|
|
414
|
+
// Read nextGameId before creating — that will be our game's ID
|
|
415
|
+
const beforeId = (await retry(() => client.readContract({ address: contractAddr, abi: nextGameIdAbi, functionName: "nextGameId" }), "nextGameId-pre"));
|
|
416
|
+
let data;
|
|
417
|
+
if (gameType === "rps") {
|
|
418
|
+
data = encodeFunctionData({ abi: rpsGameAbi, functionName: "createGame", args: [matchId, BigInt(rounds)] });
|
|
419
|
+
}
|
|
420
|
+
else if (gameType === "poker") {
|
|
421
|
+
data = encodeFunctionData({ abi: pokerGameAbi, functionName: "createGame", args: [matchId] });
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
data = encodeFunctionData({ abi: auctionGameAbi, functionName: "createGame", args: [matchId] });
|
|
425
|
+
}
|
|
426
|
+
await retry(() => sendTx({ to: contractAddr, data }), "createGame");
|
|
427
|
+
return beforeId;
|
|
428
|
+
}
|
|
429
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
430
|
+
// SALT STORAGE — in-memory primary, disk backup for process restarts
|
|
431
|
+
// Keys include wallet address to avoid collisions on shared machines.
|
|
432
|
+
// ═════════════════════════════════════════════════════════════════════════════
|
|
433
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
434
|
+
const memoryStore = {};
|
|
435
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
436
|
+
function storeSalt(key, value) {
|
|
437
|
+
memoryStore[key] = value;
|
|
438
|
+
// Persist to disk with wallet-scoped key
|
|
439
|
+
if (value.salt) {
|
|
440
|
+
const diskKey = `respond-${key}-${getAddress()}`;
|
|
441
|
+
saveSalt(diskKey, value.salt, JSON.stringify(value), "respond");
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
445
|
+
function loadStoredSalt(key) {
|
|
446
|
+
// Memory first
|
|
447
|
+
if (memoryStore[key])
|
|
448
|
+
return memoryStore[key];
|
|
449
|
+
// Disk fallback (process restart recovery)
|
|
450
|
+
const diskKey = `respond-${key}-${getAddress()}`;
|
|
451
|
+
const entry = loadSalt(diskKey);
|
|
452
|
+
if (entry) {
|
|
453
|
+
try {
|
|
454
|
+
const parsed = JSON.parse(entry.value);
|
|
455
|
+
memoryStore[key] = parsed;
|
|
456
|
+
return parsed;
|
|
457
|
+
}
|
|
458
|
+
catch {
|
|
459
|
+
return null;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
return null;
|
|
463
|
+
}
|
|
464
|
+
//# sourceMappingURL=respond.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/commands/respond.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts.d.ts
CHANGED
|
@@ -194,6 +194,30 @@ export declare const escrowAbi: readonly [{
|
|
|
194
194
|
readonly name: "";
|
|
195
195
|
readonly type: "uint256";
|
|
196
196
|
}];
|
|
197
|
+
}, {
|
|
198
|
+
readonly type: "event";
|
|
199
|
+
readonly name: "MatchCreated";
|
|
200
|
+
readonly inputs: readonly [{
|
|
201
|
+
readonly name: "matchId";
|
|
202
|
+
readonly type: "uint256";
|
|
203
|
+
readonly indexed: true;
|
|
204
|
+
}, {
|
|
205
|
+
readonly name: "player1";
|
|
206
|
+
readonly type: "address";
|
|
207
|
+
readonly indexed: true;
|
|
208
|
+
}, {
|
|
209
|
+
readonly name: "player2";
|
|
210
|
+
readonly type: "address";
|
|
211
|
+
readonly indexed: true;
|
|
212
|
+
}, {
|
|
213
|
+
readonly name: "wager";
|
|
214
|
+
readonly type: "uint256";
|
|
215
|
+
readonly indexed: false;
|
|
216
|
+
}, {
|
|
217
|
+
readonly name: "gameContract";
|
|
218
|
+
readonly type: "address";
|
|
219
|
+
readonly indexed: false;
|
|
220
|
+
}];
|
|
197
221
|
}];
|
|
198
222
|
export declare const rpsGameAbi: readonly [{
|
|
199
223
|
readonly name: "createGame";
|
|
@@ -323,6 +347,15 @@ export declare const rpsGameAbi: readonly [{
|
|
|
323
347
|
readonly type: "bool";
|
|
324
348
|
}];
|
|
325
349
|
}];
|
|
350
|
+
}, {
|
|
351
|
+
readonly name: "nextGameId";
|
|
352
|
+
readonly type: "function";
|
|
353
|
+
readonly stateMutability: "view";
|
|
354
|
+
readonly inputs: readonly [];
|
|
355
|
+
readonly outputs: readonly [{
|
|
356
|
+
readonly name: "";
|
|
357
|
+
readonly type: "uint256";
|
|
358
|
+
}];
|
|
326
359
|
}];
|
|
327
360
|
export declare const pokerGameAbi: readonly [{
|
|
328
361
|
readonly name: "createGame";
|
|
@@ -448,6 +481,15 @@ export declare const pokerGameAbi: readonly [{
|
|
|
448
481
|
readonly type: "uint256";
|
|
449
482
|
}];
|
|
450
483
|
}];
|
|
484
|
+
}, {
|
|
485
|
+
readonly name: "nextGameId";
|
|
486
|
+
readonly type: "function";
|
|
487
|
+
readonly stateMutability: "view";
|
|
488
|
+
readonly inputs: readonly [];
|
|
489
|
+
readonly outputs: readonly [{
|
|
490
|
+
readonly name: "";
|
|
491
|
+
readonly type: "uint256";
|
|
492
|
+
}];
|
|
451
493
|
}];
|
|
452
494
|
export declare const auctionGameAbi: readonly [{
|
|
453
495
|
readonly name: "createGame";
|
|
@@ -549,6 +591,15 @@ export declare const auctionGameAbi: readonly [{
|
|
|
549
591
|
readonly type: "bool";
|
|
550
592
|
}];
|
|
551
593
|
}];
|
|
594
|
+
}, {
|
|
595
|
+
readonly name: "nextGameId";
|
|
596
|
+
readonly type: "function";
|
|
597
|
+
readonly stateMutability: "view";
|
|
598
|
+
readonly inputs: readonly [];
|
|
599
|
+
readonly outputs: readonly [{
|
|
600
|
+
readonly name: "";
|
|
601
|
+
readonly type: "uint256";
|
|
602
|
+
}];
|
|
552
603
|
}];
|
|
553
604
|
export declare const predictionMarketAbi: readonly [{
|
|
554
605
|
readonly name: "createMarket";
|
package/dist/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EnB,CAAC;AAGX,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EnB,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEZ,CAAC;AAGX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFb,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Ef,CAAC;AAGX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEjB,CAAC;AAGX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFtB,CAAC;AAGX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDlB,CAAC"}
|
package/dist/contracts.js
CHANGED
|
@@ -135,6 +135,18 @@ export const escrowAbi = [
|
|
|
135
135
|
inputs: [],
|
|
136
136
|
outputs: [{ name: "", type: "uint256" }],
|
|
137
137
|
},
|
|
138
|
+
// ─── Events ────────────────────────────────────────────────────────────────
|
|
139
|
+
{
|
|
140
|
+
type: "event",
|
|
141
|
+
name: "MatchCreated",
|
|
142
|
+
inputs: [
|
|
143
|
+
{ name: "matchId", type: "uint256", indexed: true },
|
|
144
|
+
{ name: "player1", type: "address", indexed: true },
|
|
145
|
+
{ name: "player2", type: "address", indexed: true },
|
|
146
|
+
{ name: "wager", type: "uint256", indexed: false },
|
|
147
|
+
{ name: "gameContract", type: "address", indexed: false },
|
|
148
|
+
],
|
|
149
|
+
},
|
|
138
150
|
];
|
|
139
151
|
// ─── RPSGame ABI ─────────────────────────────────────────────────────────────
|
|
140
152
|
export const rpsGameAbi = [
|
|
@@ -223,6 +235,8 @@ export const rpsGameAbi = [
|
|
|
223
235
|
},
|
|
224
236
|
],
|
|
225
237
|
},
|
|
238
|
+
// nextGameId — used by the respond command to discover game IDs efficiently
|
|
239
|
+
{ name: "nextGameId", type: "function", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
|
|
226
240
|
];
|
|
227
241
|
// ─── PokerGame ABI ───────────────────────────────────────────────────────────
|
|
228
242
|
export const pokerGameAbi = [
|
|
@@ -302,6 +316,8 @@ export const pokerGameAbi = [
|
|
|
302
316
|
},
|
|
303
317
|
],
|
|
304
318
|
},
|
|
319
|
+
// nextGameId — used by the respond command to discover game IDs efficiently
|
|
320
|
+
{ name: "nextGameId", type: "function", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
|
|
305
321
|
];
|
|
306
322
|
// ─── AuctionGame ABI ─────────────────────────────────────────────────────────
|
|
307
323
|
export const auctionGameAbi = [
|
|
@@ -367,6 +383,8 @@ export const auctionGameAbi = [
|
|
|
367
383
|
},
|
|
368
384
|
],
|
|
369
385
|
},
|
|
386
|
+
// nextGameId — used by the respond command to discover game IDs efficiently
|
|
387
|
+
{ name: "nextGameId", type: "function", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
|
|
370
388
|
];
|
|
371
389
|
// ─── PredictionMarket ABI ────────────────────────────────────────────────────
|
|
372
390
|
export const predictionMarketAbi = [
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { findOpponentsCommand } from "./commands/find-opponents.js";
|
|
|
9
9
|
import { historyCommand } from "./commands/history.js";
|
|
10
10
|
import { getMatchCommand } from "./commands/get-match.js";
|
|
11
11
|
import { getGameCommand } from "./commands/get-game.js";
|
|
12
|
+
import { pendingCommand } from "./commands/pending.js";
|
|
12
13
|
import { marketStatusCommand } from "./commands/market-status.js";
|
|
13
14
|
import { tournamentsCommand, tournamentStatusCommand, } from "./commands/tournaments.js";
|
|
14
15
|
// ─── Write commands ─────────────────────────────────────────────────────────
|
|
@@ -18,6 +19,8 @@ import { acceptCommand } from "./commands/accept.js";
|
|
|
18
19
|
import { rpsCreateCommand, rpsCommitCommand, rpsRevealCommand, } from "./commands/rps.js";
|
|
19
20
|
import { pokerCreateCommand, pokerCommitCommand, pokerActionCommand, pokerRevealCommand, } from "./commands/poker.js";
|
|
20
21
|
import { auctionCreateCommand, auctionCommitCommand, auctionRevealCommand, } from "./commands/auction.js";
|
|
22
|
+
import { respondCommand } from "./commands/respond.js";
|
|
23
|
+
import { playCommand } from "./commands/play.js";
|
|
21
24
|
import { claimTimeoutCommand } from "./commands/claim-timeout.js";
|
|
22
25
|
import { createMarketCommand, betCommand, resolveMarketCommand, redeemCommand, } from "./commands/market.js";
|
|
23
26
|
import { joinTournamentCommand } from "./commands/join-tournament.js";
|
|
@@ -25,7 +28,7 @@ const program = new Command();
|
|
|
25
28
|
program
|
|
26
29
|
.name("arena-tools")
|
|
27
30
|
.description("CLI for the Molteee Gaming Arena on Monad testnet. All output is JSON.")
|
|
28
|
-
.version("0.1.
|
|
31
|
+
.version("0.1.2");
|
|
29
32
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
30
33
|
// READ-ONLY COMMANDS (no PRIVATE_KEY needed)
|
|
31
34
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -65,6 +68,13 @@ program
|
|
|
65
68
|
.action(wrapCommand(async (gameType, gameId) => {
|
|
66
69
|
await getGameCommand(gameType, gameId);
|
|
67
70
|
}));
|
|
71
|
+
program
|
|
72
|
+
.command("pending")
|
|
73
|
+
.description("List pending challenges (incoming matches not yet accepted)")
|
|
74
|
+
.requiredOption("--address <address>", "Wallet address to check")
|
|
75
|
+
.action(wrapCommand(async (opts) => {
|
|
76
|
+
await pendingCommand(opts.address);
|
|
77
|
+
}));
|
|
68
78
|
program
|
|
69
79
|
.command("market-status")
|
|
70
80
|
.description("Get prediction market prices and state")
|
|
@@ -192,6 +202,27 @@ program
|
|
|
192
202
|
.action(wrapCommand(async (gameId) => {
|
|
193
203
|
await auctionRevealCommand(gameId);
|
|
194
204
|
}));
|
|
205
|
+
// ─── Full-Game Automation ────────────────────────────────────────────────────
|
|
206
|
+
program
|
|
207
|
+
.command("respond")
|
|
208
|
+
.description("Accept a match and play the full game (blocking, JSONL output)")
|
|
209
|
+
.argument("<match_id>", "Escrow match ID")
|
|
210
|
+
.option("--rounds <rounds>", "RPS rounds (odd number)", "3")
|
|
211
|
+
.option("--timeout <seconds>", "Max seconds before abort", "600")
|
|
212
|
+
.action(wrapCommand(async (matchId, opts) => {
|
|
213
|
+
await respondCommand(matchId, opts);
|
|
214
|
+
}));
|
|
215
|
+
program
|
|
216
|
+
.command("play")
|
|
217
|
+
.description("Challenge an opponent and play the full game (blocking, JSONL output)")
|
|
218
|
+
.argument("<opponent>", "Opponent wallet address")
|
|
219
|
+
.argument("<wager>", "Wager amount in MON")
|
|
220
|
+
.argument("<game_type>", "Game type: rps, poker, or auction")
|
|
221
|
+
.option("--rounds <rounds>", "RPS rounds (odd number)", "3")
|
|
222
|
+
.option("--timeout <seconds>", "Max seconds before abort", "600")
|
|
223
|
+
.action(wrapCommand(async (opponent, wager, gameType, opts) => {
|
|
224
|
+
await playCommand(opponent, wager, gameType, opts);
|
|
225
|
+
}));
|
|
195
226
|
// ─── Shared Game Commands ────────────────────────────────────────────────────
|
|
196
227
|
program
|
|
197
228
|
.command("claim-timeout")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|