Skip to content

chore: remove unused precompiles#1986

Merged
thomas-nguy merged 5 commits intocrypto-org-chain:mainfrom
thomas-nguy:thomas/remove-unused-precompile
Mar 13, 2026
Merged

chore: remove unused precompiles#1986
thomas-nguy merged 5 commits intocrypto-org-chain:mainfrom
thomas-nguy:thomas/remove-unused-precompile

Conversation

@thomas-nguy
Copy link
Copy Markdown
Collaborator

@thomas-nguy thomas-nguy commented Mar 13, 2026

👮🏻👮🏻👮🏻 !!!! REFERENCE THE PROBLEM YOUR ARE SOLVING IN THE PR TITLE AND DESCRIBE YOUR SOLUTION HERE !!!! DO NOT FORGET !!!! 👮🏻👮🏻👮🏻

PR Checklist:

  • Have you read the CONTRIBUTING.md?
  • Does your PR follow the C4 patch requirements?
  • Have you rebased your work on top of the latest master?
  • Have you checked your code compiles? (make)
  • Have you included tests for any non-trivial functionality?
  • Have you checked your code passes the unit tests? (make test)
  • Have you checked your code formatting is correct? (go fmt)
  • Have you checked your basic code style is fine? (golangci-lint run)
  • If you added any dependencies, have you checked they do not contain any known vulnerabilities? (go list -json -m all | nancy sleuth)
  • If your changes affect the client infrastructure, have you run the integration test?
  • If your changes affect public APIs, does your PR follow the C4 evolution of public contracts?
  • If your code changes public APIs, have you incremented the crate version numbers and documented your changes in the CHANGELOG.md?
  • If you are contributing for the first time, please read the agreement in CONTRIBUTING.md now and add a comment to this pull request stating that your PR is in accordance with the Developer's Certificate of Origin.

Thank you for your code, it's appreciated! :)

Summary by CodeRabbit

  • Bug Fixes

    • Updated changelog entry to reference the correct fix.
  • Chores

    • Removed unused precompiled contract integration, simplifying initialization.
    • Simplified EVM initialization path to reduce unused configuration.
  • Tests

    • ICA precompile integration tests are skipped by default to prevent automatic execution unless explicitly enabled.

@thomas-nguy thomas-nguy requested a review from a team as a code owner March 13, 2026 00:28
@thomas-nguy thomas-nguy requested review from JayT106 and XinyuCRO and removed request for a team March 13, 2026 00:28
@thomas-nguy thomas-nguy changed the title chore: remove unused precompile feat: remove unused precompile Mar 13, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6cc91449-e64c-480e-9cf3-aba4806ef156

📥 Commits

Reviewing files that changed from the base of the PR and between e3e4d84 and 40e6004.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • app/app.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md

📝 Walkthrough

Walkthrough

Removed unused EVM precompile registrations and tracer integrations from application initialization, updated CHANGELOG with a "Chores" entry for PR #1986, and added a module-level pytest.skip to integration_tests/test_ica_precompile.py.

Changes

Cohort / File(s) Summary
App initialization
app/app.go
Removed import and registration of Cronos precompiles, removed tracer VM/Eth params loading and transient gas/custom precompile setup for the EVM keeper; EVM initialized without precompiled contracts.
Changelog
CHANGELOG.md
Added "Chores" entry under UNRELEASED Bug fixes referencing PR #1986 ("Remove unused precompiles").
Integration test skip
integration_tests/test_ica_precompile.py
Added module-level pytest.skip() to prevent execution of the ICA precompile integration tests at import time.

Sequence Diagram(s)

(omitted — changes are removals/skip and do not introduce new multi-component control flow)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰
I hopped through lines with careful tread,
Removed old traces from where they spread.
Tracers gone and tests on hold,
A tidier burrow, neat and bold. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore: remove unused precompiles' clearly and accurately summarizes the main change across all modified files.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ 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
📝 Coding Plan
  • Generate coding plan for human review comments

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 OpenGrep (1.16.4)
app/app.go

┌──────────────┐
│ Opengrep CLI │
└──────────────┘

�[32m✔�[39m �[1mOpengrep OSS�[0m
�[32m✔�[39m Basic security coverage for first-party code vulnerabilities.

�[1m Loading rules from local config...�[0m


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.

@github-actions
Copy link
Copy Markdown

@thomas-nguy your pull request is missing a changelog!

@thomas-nguy thomas-nguy changed the title feat: remove unused precompile chore: remove unused precompile Mar 13, 2026
@thomas-nguy thomas-nguy changed the title chore: remove unused precompile chore: remove unused precompiles Mar 13, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 25.64%. Comparing base (a3c2f70) to head (40e6004).
⚠️ Report is 148 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1986      +/-   ##
==========================================
+ Coverage   16.87%   25.64%   +8.76%     
==========================================
  Files          72       78       +6     
  Lines        6163     5117    -1046     
==========================================
+ Hits         1040     1312     +272     
+ Misses       5000     3643    -1357     
- Partials      123      162      +39     

see 72 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CHANGELOG.md`:
- Around line 15-18: The UNRELEASED entries reference incorrect PR links: locate
the two changelog lines that show "[`#1986`](.../pull/1986) fix(testground): fix
send_batch_size&send_interval..." and "[`#1977`](.../pull/1977) Remove unused
precompiles" in CHANGELOG.md and replace each PR number and URL with the actual
PR that matches the described change; verify the correct PR IDs on GitHub and
update both the link text (e.g. `#1986`) and the URL
(https://github.com/.../pull/<id>) so the description and PR reference match.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0f76a315-6f29-4de2-bbbb-7159c6e671ed

📥 Commits

Reviewing files that changed from the base of the PR and between ad76eae and 9eece9b.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • app/app.go

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
integration_tests/test_ica_precompile.py (1)

34-36: Consider removing the test file instead of skipping if the feature is permanently removed.

Given the PR title indicates "remove unused precompiles" and the AI summary confirms precompile registrations were removed from app.go, keeping ~485 lines of skipped test code may add unnecessary maintenance burden. If the ICA precompile feature is being permanently removed, consider deleting this test file entirely.

If the feature might be re-enabled in the future, the current approach is acceptable. However, for consistency with the existing pytestmark pattern on line 32, consider using the declarative marker instead:

♻️ Alternative: use declarative marker for consistency
 pytestmark = pytest.mark.ica

-# skip ica precompile integration tests since it's not enabled by default.
-pytest.skip("skipping ica precompile tests", allow_module_level=True)
+pytestmark = [
+    pytest.mark.ica,
+    pytest.mark.skip(reason="skipping ica precompile tests since it's not enabled by default"),
+]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@integration_tests/test_ica_precompile.py` around lines 34 - 36, This file
currently unconditionally calls pytest.skip at module import to disable ICA
precompile tests; if the ICA precompile feature is permanently removed, delete
this test file entirely to avoid keeping ~485 lines of dead/skipped tests
(remove integration_tests/test_ica_precompile.py). If the feature may be
re-enabled later, change the module-level skip to the consistent declarative
pytest marker pattern used elsewhere (replace the direct pytest.skip call with a
pytestmark = pytest.mark.skip(...)) so the skip is expressed as a marker rather
than an immediate skip at import.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@integration_tests/test_ica_precompile.py`:
- Around line 34-36: This file currently unconditionally calls pytest.skip at
module import to disable ICA precompile tests; if the ICA precompile feature is
permanently removed, delete this test file entirely to avoid keeping ~485 lines
of dead/skipped tests (remove integration_tests/test_ica_precompile.py). If the
feature may be re-enabled later, change the module-level skip to the consistent
declarative pytest marker pattern used elsewhere (replace the direct pytest.skip
call with a pytestmark = pytest.mark.skip(...)) so the skip is expressed as a
marker rather than an immediate skip at import.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0ea2d0de-e964-4237-98ac-08cc1b16fc21

📥 Commits

Reviewing files that changed from the base of the PR and between 9eece9b and e3e4d84.

📒 Files selected for processing (1)
  • integration_tests/test_ica_precompile.py

@thomas-nguy thomas-nguy added this pull request to the merge queue Mar 13, 2026
Merged via the queue into crypto-org-chain:main with commit 6d9579f Mar 13, 2026
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants