Commit graph

4 commits

Author SHA1 Message Date
openhands
4a24217030 fix: inject.sh uses ts-node which is broken on Node >= 22 ESM (#1008)
Replace ts-node with tsx across all push3-transpiler scripts:
- inject.sh: npx ts-node → npx tsx
- test_inject_extraction.sh: node --loader ts-node/esm → npx tsx
- test_transpiler_clamping.sh: node --loader ts-node/esm → npx tsx
- package.json: ts-node devDep → tsx, transpile script updated
- tsconfig.json: removed ts-node config block
- src/index.ts: updated usage comments

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 21:44:29 +00:00
openhands
7c68177f9d fix: add via_ir to temp forge project in transpiler tests
The 30-way threshold lookup in optimizer_seed.push3 generates enough
local variables to trigger "Stack too deep" without IR compilation.
Add via_ir = true to the minimal foundry.toml created in both test
scripts, matching the setting in onchain/foundry.toml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:17:18 +00:00
openhands
1fe5673ce5 fix: No forge compile verification in transpiler CI (#904)
- test_transpiler_clamping.sh: add Test 11 that runs forge build on the
  valid Solidity output from Test 6; fails if the transpiled contract
  does not compile (regression guard for #900)
- test_inject_extraction.sh: add SCRIPT_DIR, then Test 5 that transpiles
  optimizer_seed.push3 and runs forge build on the generated contract;
  ensures the full push3→Solidity→compile pipeline stays green
- .woodpecker/ci.yml: add transpiler-tests step that installs npm deps
  and runs both test scripts with forge on PATH

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:11:33 +00:00
openhands
34b016a190 fix: Body extraction stops at first shallow closing brace (#809)
Replace the }` heuristic in inject.sh with a brace-depth counter:
start at depth=1 after the opening {, increment on {, decrement on },
stop when depth reaches 0. This correctly handles nested if/else blocks,
loops, and structs that close at 4-space indent inside calculateParams.

Also emit a non-zero exit with a descriptive message if EOF is reached
without finding the matching closing brace.

Add test_inject_extraction.sh covering simple bodies, nested if/else,
multi-level nesting, and the EOF-without-match error case.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 00:21:06 +00:00