Skip to content

fix(solidity): fix tron-sdk build failures from soldeer panic and partial typechain cache#8205

Merged
ameten merged 3 commits intomainfrom
fix/tron-sdk-build
Feb 25, 2026
Merged

fix(solidity): fix tron-sdk build failures from soldeer panic and partial typechain cache#8205
ameten merged 3 commits intomainfrom
fix/tron-sdk-build

Conversation

@ameten
Copy link
Collaborator

@ameten ameten commented Feb 25, 2026

Summary

  • Clean tron build output dirs (cache-tron, abi, typechain) before compilation to prevent hardhat/typechain from emitting partial type trees when incremental cache is reused against cleaned output dirs
  • Make forge soldeer install --quiet non-fatal in build-tron.sh and deps:soldeer — works around a forge v1.1.0 SetLoggerError panic where the logger is initialized twice
  • Fix lint-staged oxfmt rule for *.json files — add --no-error-on-unmatched-pattern (same fix as fix: add --no-error-on-unmatched-pattern to oxfmt md rule in lint-staged #8085 for *.md)
  • Disable Claude Code Co-Authored-By commit attribution in project settings

Context

pnpm build fails on a clean checkout because:

  1. forge soldeer install --quiet panics in forge v1.1.0, failing both deps:soldeer and build-tron.sh
  2. Even when turbo restores a cached build:tron, the cached output can contain partial typechain trees (238 index files but only 4 actual type files), causing tsc in tron-sdk to fail with missing module errors

The soldeer call in build-tron.sh is redundant when running through turbo since task ordering guarantees deps are installed (build:tronbuilddeps:soldeer). Making it non-fatal keeps standalone invocations working while unblocking the turbo pipeline.

Subsumes #8204.

Test plan

  • pnpm install && pnpm build succeeds (25/25 tasks pass) with forge v1.1.0
  • Pre-commit hooks pass

Summary by CodeRabbit

  • Documentation

    • Added contributor guidance forbidding Co-Authored-By trailers in commit messages.
  • Chores

    • Extended configuration with a top-level attribution/commit field.
    • Made dependency install steps tolerant to failures and added cache-cleanup to stabilize builds.
    • Updated linting tooling invocation for JSON files.
  • Tests / CI

    • Increased CI test job timeout to reduce spurious timeouts.

…ttribution

`forge soldeer install --quiet` panics in forge v1.1.0 due to a logger
double-init bug, breaking both `deps:soldeer` and `build-tron.sh`. Since
turbo guarantees dependencies are already installed via task ordering
(build:tron → build → deps:soldeer), the call can safely fall through.

Also fix lint-staged oxfmt rule for JSON files (same issue as #8085)
and disable Co-Authored-By commit attribution for Claude Code.
Hardhat/typechain can emit partial type trees when incremental cache is
reused against cleaned output dirs. Wipe cache-tron, abi, and typechain
dirs at the start of build-tron.sh to ensure deterministic outputs.
@ameten ameten changed the title fix(solidity): make soldeer install non-fatal in build scripts fix(solidity): fix tron-sdk build failures from soldeer panic and partial typechain cache Feb 25, 2026
@ameten ameten enabled auto-merge February 25, 2026 12:25
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 25, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c37162f and 96087ae.

📒 Files selected for processing (1)
  • .github/workflows/test.yml

📝 Walkthrough

Walkthrough

This PR adds a top-level attribution object to .claude/settings.json, tweaks JSON linting to pass an extra oxfmt flag, inserts guidance lines into CLAUDE.md about commit trailers, makes soldeer installation non-fatal and adds Tron cache cleanup in the Solidity build, and increases a CI job timeout.

Changes

Cohort / File(s) Summary
Settings
\.claude/settings.json
Added top-level attribution object with commit (string).
Linting config
\.lintstagedrc
Changed JSON pattern command to oxfmt --no-error-on-unmatched-pattern --write (was oxfmt --write).
Documentation
CLAUDE.md
Inserted two lines advising: "Do NOT add Co-Authored-By trailers to commit messages."
Solidity build
solidity/build-tron.sh, solidity/package.json
Made forge soldeer install tolerant to failure (prints warning instead of failing); added cache cleanup steps and explanatory comments; package.json script updated to echo warning on failure.
CI workflow
.github/workflows/test.yml
Increased pnpm-test-run job timeout-minutes from 10 to 20.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A wee change in settings, a lint tweak hums along,
Docs whisper “no trailers” — straight and strong.
Build cleans its cache, lets soldeer grumble and stay,
CI buys some time, and the repo keeps its sway. 🐸✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is well-structured, covering what's included, context, and test results; however, it doesn't follow the template structure with proper sections like Description, Drive-by changes, Related issues, Backward compatibility, and Testing. Restructure the description to follow the template sections: add explicit Description section, mark drive-by changes, list related issues (#8204, #8085), confirm backward compatibility, and clearly state testing approach.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main changes: fixing tron-sdk build failures caused by soldeer panic and partial typechain cache issues.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/tron-sdk-build

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ameten ameten added this pull request to the merge queue Feb 25, 2026
Merged via the queue into main with commit dd2b994 Feb 25, 2026
135 checks passed
@ameten ameten deleted the fix/tron-sdk-build branch February 25, 2026 13:52
@github-project-automation github-project-automation bot moved this from In Review to Done in Hyperlane Tasks Feb 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants