@molteee/arena-tools 0.2.8 → 0.2.10

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.
@@ -0,0 +1 @@
1
+ export declare function pokerRoundCommand(gameId: string, handValue: string, opts: any): Promise<void>;
@@ -0,0 +1,358 @@
1
+ // arena-tools poker-round — play one full round of Budget Poker in a single invocation.
2
+ // Handles all 4 phases internally: Commit → Betting1 → Betting2 → Showdown.
3
+ // The agent decides hand value + betting strategy upfront; this command executes mechanically.
4
+ //
5
+ // Usage:
6
+ // npx arena-tools poker-round <game_id> <hand_value> [--bet check|bet|fold] [--if-bet call|fold|raise] [--amount <MON>]
7
+ //
8
+ // Defaults: --bet check, --if-bet call (passive play — checks through, calls opponent bets)
9
+ import { encodeFunctionData, parseEther } from "viem";
10
+ import { CONTRACTS } from "../config.js";
11
+ import { pokerGameV2Abi } from "../contracts.js";
12
+ import { getPublicClient, getAddress } from "../client.js";
13
+ import { sendTx } from "../utils/tx.js";
14
+ import { generateSalt, saveSalt, loadSalt, deleteSalt, commitHash } from "../utils/commit-reveal.js";
15
+ import { ok, fail, event } from "../utils/output.js";
16
+ // ─── Constants ──────────────────────────────────────────────────────────────
17
+ const POLL_INTERVAL_MS = 2_000;
18
+ const MAX_WAIT_MS = 300_000; // 5 minutes max wait per phase
19
+ const MAX_RETRIES = 8;
20
+ const RETRY_BASE_MS = 1_500;
21
+ // Poker V2 phases (match Solidity)
22
+ const PHASE_COMMIT = 0;
23
+ const POKER_BETTING1 = 1;
24
+ const POKER_BETTING2 = 2;
25
+ const POKER_SHOWDOWN = 3;
26
+ const PHASE_NAMES = {
27
+ 0: "commit", 1: "betting1", 2: "betting2", 3: "showdown", 4: "complete",
28
+ };
29
+ // Poker actions (match Solidity enum)
30
+ const ACTION_MAP = {
31
+ check: 1, bet: 2, raise: 3, call: 4, fold: 5,
32
+ };
33
+ // ─── Retry wrapper ──────────────────────────────────────────────────────────
34
+ function isTransient(err) {
35
+ const msg = err instanceof Error ? err.message : String(err);
36
+ return msg.includes("429") || msg.includes("Too Many Requests") || msg.includes("ETIMEDOUT") ||
37
+ msg.includes("ECONNRESET") || msg.includes("fetch failed") || msg.includes("socket hang up");
38
+ }
39
+ async function retry(fn, label) {
40
+ for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
41
+ try {
42
+ return await fn();
43
+ }
44
+ catch (err) {
45
+ if (isTransient(err) && attempt < MAX_RETRIES - 1) {
46
+ const backoff = RETRY_BASE_MS * Math.pow(2, attempt) + Math.floor(Math.random() * 2000);
47
+ await new Promise(r => setTimeout(r, backoff));
48
+ continue;
49
+ }
50
+ throw err;
51
+ }
52
+ }
53
+ throw new Error(`Exhausted ${MAX_RETRIES} retries for: ${label}`);
54
+ }
55
+ function sleep(ms) {
56
+ return new Promise(r => setTimeout(r, ms));
57
+ }
58
+ // ─── Betting action helper ──────────────────────────────────────────────────
59
+ // Executes a single betting action (check/bet/raise/call/fold) and returns true.
60
+ // If it's not our turn, returns false (caller should poll).
61
+ async function executeBettingAction(game, gid, addr, myAddress, betAction, ifBetAction, amount, currentRound, bettingPhase) {
62
+ const isMyTurn = game.currentTurn.toLowerCase() === myAddress.toLowerCase();
63
+ if (!isMyTurn)
64
+ return false;
65
+ // Decide which action to take based on whether there's an active bet
66
+ const hasActiveBet = game.currentBet > 0n;
67
+ const chosenAction = hasActiveBet ? ifBetAction : betAction;
68
+ const actionNum = ACTION_MAP[chosenAction];
69
+ if (actionNum === undefined) {
70
+ fail(`Invalid betting action: ${chosenAction}`, "INVALID_ACTION");
71
+ return true; // Signal we handled it (even though it's an error)
72
+ }
73
+ // Calculate value to send with the transaction
74
+ let value = 0n;
75
+ if (chosenAction === "bet" || chosenAction === "raise") {
76
+ if (!amount) {
77
+ fail(`${chosenAction} requires --amount <MON>.`, "MISSING_AMOUNT");
78
+ return true;
79
+ }
80
+ value = parseEther(amount);
81
+ }
82
+ else if (chosenAction === "call") {
83
+ value = game.currentBet;
84
+ }
85
+ const { hash: txHash } = await retry(() => sendTx({
86
+ to: addr,
87
+ data: encodeFunctionData({ abi: pokerGameV2Abi, functionName: "takeAction", args: [gid, actionNum] }),
88
+ value,
89
+ }), `poker-${chosenAction}`);
90
+ event({ event: "action", action: chosenAction, round: currentRound, bettingRound: bettingPhase, txHash });
91
+ return true;
92
+ }
93
+ // ─── Main command ─────────────────────────────────────────────────────────
94
+ export async function pokerRoundCommand(gameId, handValue, opts) {
95
+ const client = getPublicClient();
96
+ const myAddress = getAddress();
97
+ const gid = BigInt(gameId);
98
+ const addr = CONTRACTS.PokerGame;
99
+ // Parse options with defaults
100
+ const betAction = (opts.bet || "check").toLowerCase();
101
+ const ifBetAction = (opts.ifBet || "call").toLowerCase();
102
+ const amount = opts.amount;
103
+ // Validate betting actions upfront
104
+ if (!ACTION_MAP[betAction]) {
105
+ fail(`Invalid --bet action: ${betAction}. Must be check, bet, or fold.`, "INVALID_BET");
106
+ return;
107
+ }
108
+ if (!ACTION_MAP[ifBetAction]) {
109
+ fail(`Invalid --if-bet action: ${ifBetAction}. Must be call, fold, or raise.`, "INVALID_IF_BET");
110
+ return;
111
+ }
112
+ // Parse hand value
113
+ const handVal = parseInt(handValue, 10);
114
+ if (isNaN(handVal) || handVal < 1 || handVal > 100) {
115
+ fail(`Hand value must be 1-100. Got: ${handValue}`, "INVALID_HAND");
116
+ return;
117
+ }
118
+ // Read initial game state
119
+ let game = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "getGame");
120
+ if (game.settled) {
121
+ ok({
122
+ gameId: Number(gid),
123
+ gameComplete: true,
124
+ p1Score: Number(game.p1Score),
125
+ p2Score: Number(game.p2Score),
126
+ message: "Game is already settled.",
127
+ });
128
+ return;
129
+ }
130
+ const isPlayer1 = game.player1.toLowerCase() === myAddress.toLowerCase();
131
+ const currentRound = Number(game.currentRound);
132
+ const totalRounds = Number(game.totalRounds);
133
+ const myBudget = isPlayer1 ? Number(game.p1Budget) : Number(game.p2Budget);
134
+ // ── PHASE 1: COMMIT ─────────────────────────────────────────────────────
135
+ if (Number(game.phase) === PHASE_COMMIT) {
136
+ const myCommitted = isPlayer1 ? game.p1Committed : game.p2Committed;
137
+ const saltKey = `pokerround-${gameId}-${currentRound}-${myAddress}`;
138
+ if (!myCommitted) {
139
+ // Client-side budget check (contract enforces on reveal, but warn early)
140
+ const roundsAfter = totalRounds - currentRound - 1;
141
+ const maxHand = myBudget - roundsAfter;
142
+ if (handVal > maxHand) {
143
+ fail(`Hand value ${handVal} exceeds budget. Budget: ${myBudget}, must reserve ${roundsAfter} for future rounds (max: ${maxHand}).`, "EXCEEDS_BUDGET");
144
+ return;
145
+ }
146
+ const salt = generateSalt();
147
+ const hash = commitHash(handVal, salt);
148
+ // Save salt with round-specific key + generic fallback key
149
+ saveSalt(saltKey, salt, JSON.stringify({ handValue: handVal }), "poker-round");
150
+ saveSalt(`pokerstep-${gameId}-${currentRound}-${myAddress}`, salt, JSON.stringify({ handValue: handVal }), "poker-round");
151
+ const { hash: txHash } = await retry(() => sendTx({ to: addr, data: encodeFunctionData({ abi: pokerGameV2Abi, functionName: "commitHand", args: [gid, hash] }) }), "commit");
152
+ event({ event: "committed", round: currentRound, handValue: handVal, budget: myBudget, txHash });
153
+ }
154
+ else {
155
+ event({ event: "already_committed", round: currentRound });
156
+ }
157
+ // Wait for opponent to commit (phase transitions past COMMIT)
158
+ const commitStart = Date.now();
159
+ while (true) {
160
+ if (Date.now() - commitStart > MAX_WAIT_MS) {
161
+ fail("Timeout waiting for opponent to commit.", "OPPONENT_TIMEOUT");
162
+ return;
163
+ }
164
+ game = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "poll-commit");
165
+ if (game.settled) {
166
+ ok({ gameId: Number(gid), gameComplete: true, p1Score: Number(game.p1Score), p2Score: Number(game.p2Score), message: "Game settled." });
167
+ return;
168
+ }
169
+ if (Number(game.phase) !== PHASE_COMMIT)
170
+ break;
171
+ event({ event: "waiting", phase: "commit", round: currentRound, message: "Waiting for opponent to commit..." });
172
+ await sleep(POLL_INTERVAL_MS);
173
+ }
174
+ }
175
+ // ── PHASE 2: BETTING1 ───────────────────────────────────────────────────
176
+ if (Number(game.phase) === POKER_BETTING1) {
177
+ // Try to act, then poll until phase changes
178
+ const acted = await executeBettingAction(game, gid, addr, myAddress, betAction, ifBetAction, amount, currentRound, POKER_BETTING1);
179
+ if (!acted) {
180
+ event({ event: "not_your_turn", phase: "betting1", round: currentRound, message: "Opponent's turn in Betting1..." });
181
+ }
182
+ // Poll until phase advances past Betting1 (or game settles/round changes)
183
+ const bet1Start = Date.now();
184
+ while (true) {
185
+ if (Date.now() - bet1Start > MAX_WAIT_MS) {
186
+ fail("Timeout waiting for Betting1 to complete.", "OPPONENT_TIMEOUT");
187
+ return;
188
+ }
189
+ game = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "poll-betting1");
190
+ if (game.settled) {
191
+ ok({ gameId: Number(gid), gameComplete: true, p1Score: Number(game.p1Score), p2Score: Number(game.p2Score), message: "Game settled (fold or timeout)." });
192
+ return;
193
+ }
194
+ // Round changed (fold advanced the round)
195
+ if (Number(game.currentRound) !== currentRound) {
196
+ return returnRoundResult(game, gid, currentRound, totalRounds, isPlayer1);
197
+ }
198
+ const newPhase = Number(game.phase);
199
+ // Phase advanced past Betting1
200
+ if (newPhase > POKER_BETTING1)
201
+ break;
202
+ // Still in Betting1 — check if it's our turn again (opponent acted, back to us)
203
+ const isMyTurn = game.currentTurn.toLowerCase() === myAddress.toLowerCase();
204
+ if (isMyTurn) {
205
+ await executeBettingAction(game, gid, addr, myAddress, betAction, ifBetAction, amount, currentRound, POKER_BETTING1);
206
+ }
207
+ else {
208
+ event({ event: "waiting", phase: "betting1", round: currentRound, message: "Waiting for opponent..." });
209
+ }
210
+ await sleep(POLL_INTERVAL_MS);
211
+ }
212
+ }
213
+ // ── PHASE 3: BETTING2 ───────────────────────────────────────────────────
214
+ if (Number(game.phase) === POKER_BETTING2) {
215
+ const acted = await executeBettingAction(game, gid, addr, myAddress, betAction, ifBetAction, amount, currentRound, POKER_BETTING2);
216
+ if (!acted) {
217
+ event({ event: "not_your_turn", phase: "betting2", round: currentRound, message: "Opponent's turn in Betting2..." });
218
+ }
219
+ // Poll until phase advances past Betting2
220
+ const bet2Start = Date.now();
221
+ while (true) {
222
+ if (Date.now() - bet2Start > MAX_WAIT_MS) {
223
+ fail("Timeout waiting for Betting2 to complete.", "OPPONENT_TIMEOUT");
224
+ return;
225
+ }
226
+ game = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "poll-betting2");
227
+ if (game.settled) {
228
+ ok({ gameId: Number(gid), gameComplete: true, p1Score: Number(game.p1Score), p2Score: Number(game.p2Score), message: "Game settled (fold or timeout)." });
229
+ return;
230
+ }
231
+ if (Number(game.currentRound) !== currentRound) {
232
+ return returnRoundResult(game, gid, currentRound, totalRounds, isPlayer1);
233
+ }
234
+ const newPhase = Number(game.phase);
235
+ if (newPhase > POKER_BETTING2)
236
+ break;
237
+ // Still in Betting2 — act if it's our turn
238
+ const isMyTurn = game.currentTurn.toLowerCase() === myAddress.toLowerCase();
239
+ if (isMyTurn) {
240
+ await executeBettingAction(game, gid, addr, myAddress, betAction, ifBetAction, amount, currentRound, POKER_BETTING2);
241
+ }
242
+ else {
243
+ event({ event: "waiting", phase: "betting2", round: currentRound, message: "Waiting for opponent..." });
244
+ }
245
+ await sleep(POLL_INTERVAL_MS);
246
+ }
247
+ }
248
+ // ── PHASE 4: SHOWDOWN ───────────────────────────────────────────────────
249
+ if (Number(game.phase) === POKER_SHOWDOWN) {
250
+ const myRevealed = isPlayer1 ? game.p1Revealed : game.p2Revealed;
251
+ const saltKey = `pokerround-${gameId}-${currentRound}-${myAddress}`;
252
+ const fallbackKey = `pokerstep-${gameId}-${currentRound}-${myAddress}`;
253
+ if (!myRevealed) {
254
+ // Try our salt key first, then fallback to poker-step key
255
+ const entry = loadSalt(saltKey) || loadSalt(fallbackKey);
256
+ if (!entry) {
257
+ fail(`Salt not found for round ${currentRound}. Cannot reveal.`, "SALT_LOST");
258
+ return;
259
+ }
260
+ const { handValue: storedHandValue } = JSON.parse(entry.value);
261
+ // Reveal with graceful retry (same pattern as rps-round)
262
+ let revealed = false;
263
+ for (let revealAttempt = 0; revealAttempt < 3; revealAttempt++) {
264
+ try {
265
+ const { hash: txHash } = await retry(() => sendTx({
266
+ to: addr,
267
+ data: encodeFunctionData({ abi: pokerGameV2Abi, functionName: "revealHand", args: [gid, storedHandValue, entry.salt] }),
268
+ }), "reveal");
269
+ // Only delete salt after successful reveal
270
+ deleteSalt(saltKey);
271
+ deleteSalt(fallbackKey);
272
+ event({ event: "revealed", round: currentRound, handValue: storedHandValue, txHash });
273
+ revealed = true;
274
+ break;
275
+ }
276
+ catch (err) {
277
+ // Re-read game state to decide if we should retry or bail
278
+ const gCheck = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "getGame-after-revert");
279
+ if (gCheck.settled || Number(gCheck.currentRound) > currentRound) {
280
+ event({ event: "reveal_skipped", round: currentRound, reason: "state_advanced" });
281
+ revealed = true;
282
+ break;
283
+ }
284
+ if (Number(gCheck.phase) === POKER_SHOWDOWN && revealAttempt < 2) {
285
+ event({ event: "reveal_retry", round: currentRound, attempt: revealAttempt + 1, error: err instanceof Error ? err.message : String(err) });
286
+ await sleep(3_000);
287
+ continue;
288
+ }
289
+ fail(`Reveal failed after ${revealAttempt + 1} attempts: ${err instanceof Error ? err.message : String(err)}`, "REVEAL_FAILED");
290
+ return;
291
+ }
292
+ }
293
+ }
294
+ else {
295
+ event({ event: "already_revealed", round: currentRound });
296
+ }
297
+ // Wait for opponent to reveal (round advances or game settles)
298
+ const revealStart = Date.now();
299
+ while (true) {
300
+ if (Date.now() - revealStart > MAX_WAIT_MS) {
301
+ fail("Timeout waiting for opponent to reveal.", "OPPONENT_TIMEOUT");
302
+ return;
303
+ }
304
+ game = await retry(() => client.readContract({ address: addr, abi: pokerGameV2Abi, functionName: "getGame", args: [gid] }), "poll-showdown");
305
+ // Game settled — final result
306
+ if (game.settled) {
307
+ const myScore = isPlayer1 ? Number(game.p1Score) : Number(game.p2Score);
308
+ const oppScore = isPlayer1 ? Number(game.p2Score) : Number(game.p1Score);
309
+ const result = myScore > oppScore ? "win" : myScore < oppScore ? "loss" : "draw";
310
+ ok({
311
+ gameId: Number(gid),
312
+ round: currentRound,
313
+ totalRounds,
314
+ p1Score: Number(game.p1Score),
315
+ p2Score: Number(game.p2Score),
316
+ p1Budget: Number(game.p1Budget),
317
+ p2Budget: Number(game.p2Budget),
318
+ gameComplete: true,
319
+ gameResult: result,
320
+ message: `Game over! Score: ${myScore}-${oppScore}. Result: ${result}!`,
321
+ });
322
+ return;
323
+ }
324
+ // Round advanced — this round is done, game continues
325
+ if (Number(game.currentRound) > currentRound) {
326
+ return returnRoundResult(game, gid, currentRound, totalRounds, isPlayer1);
327
+ }
328
+ event({ event: "waiting", phase: "showdown", round: currentRound, message: "Waiting for opponent to reveal..." });
329
+ await sleep(POLL_INTERVAL_MS);
330
+ }
331
+ }
332
+ // If we get here, we're in an unexpected phase — just report state
333
+ fail(`Unexpected phase: ${Number(game.phase)} (${PHASE_NAMES[Number(game.phase)] || "unknown"})`, "UNKNOWN_PHASE");
334
+ }
335
+ // ─── Helper: return result when round advances ─────────────────────────────
336
+ function returnRoundResult(game, gid, playedRound, totalRounds, isPlayer1) {
337
+ const myScore = isPlayer1 ? Number(game.p1Score) : Number(game.p2Score);
338
+ const oppScore = isPlayer1 ? Number(game.p2Score) : Number(game.p1Score);
339
+ const myBudget = isPlayer1 ? Number(game.p1Budget) : Number(game.p2Budget);
340
+ const oppBudget = isPlayer1 ? Number(game.p2Budget) : Number(game.p1Budget);
341
+ ok({
342
+ gameId: Number(gid),
343
+ round: playedRound,
344
+ totalRounds,
345
+ yourScore: myScore,
346
+ opponentScore: oppScore,
347
+ yourBudget: myBudget,
348
+ opponentBudget: oppBudget,
349
+ p1Score: Number(game.p1Score),
350
+ p2Score: Number(game.p2Score),
351
+ p1Budget: Number(game.p1Budget),
352
+ p2Budget: Number(game.p2Budget),
353
+ gameComplete: false,
354
+ nextRound: Number(game.currentRound),
355
+ message: `Round ${playedRound} done. Score: ${myScore}-${oppScore}. Budgets: ${myBudget} vs ${oppBudget}. Next: round ${Number(game.currentRound)}.`,
356
+ });
357
+ }
358
+ //# sourceMappingURL=poker-round.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poker-round.js","sourceRoot":"","sources":["../../src/commands/poker-round.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ import { auctionCreateCommand, auctionCommitCommand, auctionRevealCommand, } fro
24
24
  import { claimTimeoutCommand } from "./commands/claim-timeout.js";
25
25
  import { rpsRoundCommand } from "./commands/rps-round.js";
26
26
  import { pokerStepCommand } from "./commands/poker-step.js";
27
+ import { pokerRoundCommand } from "./commands/poker-round.js";
27
28
  import { auctionRoundCommand } from "./commands/auction-round.js";
28
29
  import { listMarketsCommand, createMarketCommand, betCommand, resolveMarketCommand, redeemCommand, } from "./commands/market.js";
29
30
  import { joinTournamentCommand } from "./commands/join-tournament.js";
@@ -261,6 +262,17 @@ program
261
262
  .action(wrapCommand(async (gameId, decision, opts) => {
262
263
  await pokerStepCommand(gameId, decision, opts);
263
264
  }));
265
+ program
266
+ .command("poker-round")
267
+ .description("Play one full Poker round (commit + betting + showdown). Agent picks hand value + strategy.")
268
+ .argument("<game_id>", "Poker game ID")
269
+ .argument("<hand_value>", "Hand value 1-100 (costs budget on reveal)")
270
+ .option("--bet <action>", "Action when no active bet: check, bet, or fold (default: check)")
271
+ .option("--if-bet <action>", "Action when opponent bets: call, fold, or raise (default: call)")
272
+ .option("--amount <amount>", "Amount in MON (for bet/raise)")
273
+ .action(wrapCommand(async (gameId, handValue, opts) => {
274
+ await pokerRoundCommand(gameId, handValue, opts);
275
+ }));
264
276
  program
265
277
  .command("auction-round")
266
278
  .description("Play a full Auction round (commit bid + wait + reveal + wait).")
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":";AACA,4EAA4E;AAC5E,wEAAwE;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,+EAA+E;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACH,kBAAkB,EAClB,uBAAuB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,aAAa,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACF,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,wEAAwE,CAAC;KACrF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAC9E,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClF,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC3C,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;KAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClF,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,2CAA2C,CAAC;KACxD,QAAQ,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IAC3D,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC7C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClF,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC3C,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;IAC3B,MAAM,kBAAkB,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;IAC3B,MAAM,kBAAkB,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,yCAAyC,CAAC;KACtD,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE;IAC/C,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC;AAER,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAC9E,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,cAAc,EAAE,oCAAoC,CAAC;KAC9D,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,OAAO,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,KAAK,CAAC;KACzD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAS,EAAE,EAAE;IACvD,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,4CAA4C,CAAC;KACzD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACzC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;KAC1C,QAAQ,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,KAAa,EAAE,QAAgB,EAAE,EAAE;IAC3E,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,mCAAmC,CAAC;KAChD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACzC,QAAQ,CAAC,UAAU,EAAE,gCAAgC,EAAE,GAAG,CAAC;KAC3D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,MAAc,EAAE,EAAE;IAC1D,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4CAA4C,CAAC;KACzD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;KACpD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE;IACvD,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4BAA4B,CAAC;KACzC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;IACzC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACzC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC7C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,SAAiB,EAAE,EAAE;IAC5D,MAAM,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CAAC,UAAU,EAAE,0CAA0C,CAAC;KAChE,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;KACrD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,MAAc,EAAE,MAAe,EAAE,EAAE;IAC1E,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,4BAA4B,CAAC;KACzC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;IACzC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,uCAAuC,CAAC;KACpD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACzC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAC1C,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,GAAW,EAAE,EAAE;IACtD,MAAM,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACxC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;IACzC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,4DAA4D,CAAC;KACzE,QAAQ,CAAC,aAAa,EAAE,mCAAmC,CAAC;KAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;KAChC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IAC3D,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC;AAER,8EAA8E;AAC9E,OAAO;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,0EAA0E,CAAC;KACvF,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;KACpD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE;IACvD,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,sGAAsG,CAAC;KACnH,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CAAC,YAAY,EAAE,yFAAyF,CAAC;KACjH,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,QAAgB,EAAE,IAAS,EAAE,EAAE;IACtE,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,6FAA6F,CAAC;KAC1G,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CAAC,cAAc,EAAE,2CAA2C,CAAC;KACrE,MAAM,CAAC,gBAAgB,EAAE,iEAAiE,CAAC;KAC3F,MAAM,CAAC,mBAAmB,EAAE,iEAAiE,CAAC;KAC9F,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;KAC5D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,SAAiB,EAAE,IAAS,EAAE,EAAE;IACvE,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;KACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,GAAW,EAAE,EAAE;IACtD,MAAM,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wCAAwC,CAAC;KACrD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;KAC3C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,EAAE;IACxD,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6CAA6C,CAAC;KAC1D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;KACrC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;KACrC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;IACzE,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC3C,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;KACpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC3C,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC;AAER,gFAAgF;AAChF,OAAO;KACF,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,iDAAiD,CAAC;KAC9D,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE;IAC/C,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC;AAER,OAAO;KACF,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,sDAAsD,CAAC;KACnE,QAAQ,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACrE,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KAC1D,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,OAAO,CAAC;KAC7D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,UAAkB,EAAE,IAAS,EAAE,EAAE;IACxE,MAAM,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC;AAER,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Send a write transaction with automatic retry on 429 rate limits.
3
- * By default uses a fixed gas limit (300k) to skip estimateGas and save an RPC call.
4
- * Set ARENA_ESTIMATE_GAS=1 to use dynamic gas estimation instead.
3
+ * Always estimates gas to avoid overpaying (Monad charges full gas limit).
4
+ * Falls back to 1M gas limit only if estimation fails or ARENA_SKIP_ESTIMATE=1.
5
5
  * Returns the transaction hash, gas used, and receipt logs.
6
6
  */
7
7
  export declare function sendTx(params: {
package/dist/utils/tx.js CHANGED
@@ -1,11 +1,10 @@
1
1
  import { getPublicClient, getWalletClient } from "../client.js";
2
- // Default gas limit skips estimateGas to save 1 RPC call per transaction.
3
- // 1M covers all arena contracts including claim-timeout which triggers
4
- // _resolveRound + _settleGame + escrow.settle() + ELO updates (~600k+ gas).
5
- // On Monad you only pay for gas USED, not the limit, so overshooting is free.
6
- // Set ARENA_ESTIMATE_GAS=1 to use dynamic estimation instead.
7
- const DEFAULT_GAS = 1000000n;
8
- const SHOULD_ESTIMATE = !!process.env.ARENA_ESTIMATE_GAS;
2
+ // IMPORTANT: Monad charges for the FULL gas limit, not just gas used.
3
+ // A hardcoded 1M limit costs ~0.102 MON per tx even for simple actions (~170k actual).
4
+ // Always estimate gas to avoid 5-6x overpay. Fallback to 1M only if estimation fails.
5
+ // Set ARENA_SKIP_ESTIMATE=1 to use fixed gas limit (NOT recommended).
6
+ const FALLBACK_GAS = 1000000n;
7
+ const SHOULD_SKIP_ESTIMATE = !!process.env.ARENA_SKIP_ESTIMATE;
9
8
  // Max retries for 429 rate limit errors at the sendTx level
10
9
  const MAX_RETRIES = 3;
11
10
  const BASE_DELAY_MS = 2000;
@@ -20,8 +19,8 @@ function sleep(ms) {
20
19
  }
21
20
  /**
22
21
  * Send a write transaction with automatic retry on 429 rate limits.
23
- * By default uses a fixed gas limit (300k) to skip estimateGas and save an RPC call.
24
- * Set ARENA_ESTIMATE_GAS=1 to use dynamic gas estimation instead.
22
+ * Always estimates gas to avoid overpaying (Monad charges full gas limit).
23
+ * Falls back to 1M gas limit only if estimation fails or ARENA_SKIP_ESTIMATE=1.
25
24
  * Returns the transaction hash, gas used, and receipt logs.
26
25
  */
27
26
  export async function sendTx(params) {
@@ -31,17 +30,23 @@ export async function sendTx(params) {
31
30
  let lastError;
32
31
  for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
33
32
  try {
34
- // Gas: use fixed default or estimate dynamically
35
- let gas = DEFAULT_GAS;
36
- if (SHOULD_ESTIMATE) {
37
- const gasEstimate = await publicClient.estimateGas({
38
- account: account.address,
39
- to: params.to,
40
- data: params.data,
41
- value: params.value ?? 0n,
42
- });
43
- // 1.5x buffer — Monad needs more headroom than Ethereum
44
- gas = (gasEstimate * 3n) / 2n;
33
+ // Gas: always estimate to avoid overpay. Fallback to 1M on failure.
34
+ let gas = FALLBACK_GAS;
35
+ if (!SHOULD_SKIP_ESTIMATE) {
36
+ try {
37
+ const gasEstimate = await publicClient.estimateGas({
38
+ account: account.address,
39
+ to: params.to,
40
+ data: params.data,
41
+ value: params.value ?? 0n,
42
+ });
43
+ // 1.5x buffer Monad needs more headroom than Ethereum
44
+ gas = (gasEstimate * 3n) / 2n;
45
+ }
46
+ catch {
47
+ // Estimation failed (e.g. rate limited) — use fallback
48
+ gas = FALLBACK_GAS;
49
+ }
45
50
  }
46
51
  // Send transaction
47
52
  const hash = await walletClient.sendTransaction({
@@ -1 +1 @@
1
- {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../src/utils/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../src/utils/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,sEAAsE;AACtE,uFAAuF;AACvF,sFAAsF;AACtF,sEAAsE;AACtE,MAAM,YAAY,GAAG,QAAU,CAAC;AAChC,MAAM,oBAAoB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAE/D,4DAA4D;AAC5D,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,kDAAkD;AAClD,SAAS,aAAa,CAAC,GAAY;IAC/B,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACrG,CAAC;AAED,gCAAgC;AAChC,SAAS,KAAK,CAAC,EAAU;IACrB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAkE;IAC3F,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IAErC,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACD,oEAAoE;YACpE,IAAI,GAAG,GAAG,YAAY,CAAC;YACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;wBAC/C,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;qBAC5B,CAAC,CAAC;oBACH,wDAAwD;oBACxD,GAAG,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACL,uDAAuD;oBACvD,GAAG,GAAG,YAAY,CAAC;gBACvB,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;gBAC5C,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;gBACzB,GAAG;aACN,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAAC;gBACzD,IAAI;gBACJ,OAAO,EAAE,MAAM;aAClB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS,GAAG,GAAG,CAAC;YAChB,iEAAiE;YACjE,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC9C,kCAAkC;gBAClC,MAAM,KAAK,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,KAAK,eAAe,OAAO,GAAG,CAAC,IAAI,WAAW,QAAQ,CAAC,CAAC;gBAC9H,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molteee/arena-tools",
3
- "version": "0.2.8",
3
+ "version": "0.2.10",
4
4
  "description": "CLI tool for interacting with the Molteee Gaming Arena on Monad testnet",
5
5
  "type": "module",
6
6
  "bin": {