Skip to content

Remove all IBC code in test scope - #3882

Merged
masih merged 1 commit into
mainfrom
masih/ibc-tests-be-gone
Aug 8, 2026
Merged

Remove all IBC code in test scope#3882
masih merged 1 commit into
mainfrom
masih/ibc-tests-be-gone

Conversation

@masih

@masih masih commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Now that in and outbound IBC is disabled, releave CI of running test-scope code. This is a simple straightforward change with low risk that has real QoL improvement in terms of maintaining the codebase.

Now that in and outbound IBC is disabled, releave CI of running
test-scope code. This is a simple straightforward change with low risk
that has real QoL improvement in terms of maintaining the codebase.
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedAug 7, 2026, 8:00 PM

@codecov

codecov Bot commented Aug 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.75%. Comparing base (0278f2c) to head (3877377).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3882      +/-   ##
==========================================
- Coverage   61.61%   60.75%   -0.87%     
==========================================
  Files        2348     2254      -94     
  Lines      200842   190346   -10496     
==========================================
- Hits       123751   115646    -8105     
+ Misses      66033    64479    -1554     
+ Partials    11058    10221     -837     
Flag Coverage Δ
sei-db 70.41% <ø> (ø)
sei-db-state-db ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 94 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.

@masih
masih marked this pull request as ready for review August 7, 2026 20:17
@cursor

cursor Bot commented Aug 7, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
No production IBC logic is modified; only tests, fixtures, and documentation are removed, with slightly less automated coverage of transfer behavior.

Overview
Strips test-only assets from sei-ibc-go so CI no longer builds or runs IBC tests now that inbound/outbound IBC is disabled. Production transfer/IBC module code is unchanged; only verification and repo hygiene files are removed.

Removes the ICS-20 transfer test suite (ibc_module_test.go, keeper tests for genesis, gRPC, migrations, and module account), the Informal Systems model-based relay stack (mbt_relay_test.go, MBT_README.md, model_based_tests/ JSON/TLA fixtures), plus root README.md and .gitignore for this tree.

Reviewed by Cursor Bugbot for commit 3877377. Bugbot is set up for automated code reviews on this repo. Configure here.

seidroid[bot]
seidroid Bot previously requested changes Aug 7, 2026

@seidroid seidroid Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This PR deletes every test under sei-ibc-go (~39.4k lines) while leaving 194 production Go files that are still compiled into the binary and still executed on hot paths — the CheckTx ante handler and the live IBC EVM precompile — so consensus- and mempool-critical code is left with zero regression coverage. No build breakage or dangling build/CI references were found, and the change is otherwise clean and mechanical.

Findings: 2 blocking | 7 non-blocking | 0 posted inline

Blockers

  • Removal of regression tests for still-live consensus/mempool code. (Shared with Codex's P1.) There is no code-level IBC kill switch in this repo — IBC is disabled operationally, so the code still runs: app/ante/cosmos_checktx.go:639-679 invokes ibcKeeper.RecvPacket / Acknowledgement / Timeout / TimeoutOnClose / UpdateClient on every CheckTx, and precompiles/setup.go:64,121,161 registers the IBC precompile at a live EVM address routing into modules/apps/transfer. The deleted 04-channel/keeper/packet_test.go, 04-channel/keeper/timeout_test.go, 02-client/keeper/client_test.go, and apps/transfer/keeper/relay_test.go are precisely the tests for those paths. 194 non-generated production files are left with zero tests. If the goal is CI time, exclude these packages from the shard list (or gate them behind a build tag) rather than deleting them — that keeps the harness compiling and restorable when IBC is re-enabled.
  • The Cursor second-opinion pass produced no outputcursor-review.md is empty. Only Codex's review was available to merge into this one.

Non-blocking

  • The retained precompiles/ibc/ibc_test.go only uses mock transfer keepers (MockTransferKeeper, MockMemoTransferKeeper, MockFailedTransferTransferKeeper), so it does not backstop the deleted coverage: after this PR the real transfer keeper's escrow/unescrow accounting, denom-trace handling, and timeout/ack-error refunds are exercised by nothing in the tree.
  • Stale load-bearing doc comment: sei-cosmos/server/config/config_fuzz_test.go:502 cites sei-ibc-go/testing/simapp/simd/cmd/root.go:273-274 as the fourth [state-sync] call site. This PR deletes that file, so the characterization comment is now wrong. AGENTS.md treats these configtest comments as load-bearing, so please update it in this PR.
  • codecov: the sei-chain flag has a hard target: 40% (not informational), and sei-ibc-go/** is not in the ignore: list, so those 194 production files stay in the coverage denominator at ~0%. Consider adding sei-ibc-go/** to codecov.yml ignore in the same PR so the status doesn't flip for unrelated reasons.
  • Scope is wider than the title suggests: besides _test.go files, the PR removes the entire sei-ibc-go/testing package (ordinary compiled Go, including simapp and the simd command), plus sei-ibc-go/README.md and sei-ibc-go/.gitignore. I confirmed nothing imports them, but the description should say so — and the README was the vendored fork's only upstream-provenance doc.
  • "All IBC code in test scope" isn't complete: sei-wasmd/x/wasm/{ibc,ibc_reflect,relay,relay_pingpong}_test.go and sei-wasmd/x/wasm/keeper/ibc_test.go still run full IBC client/connection/channel handshakes and packet relay against sei-ibc-go core via sei-wasmd/x/wasm/ibctesting/. That's welcome residual coverage, but it means the CI-time saving is partial and sei-wasmd/x/wasm/ibctesting silently becomes the only maintained IBC harness — worth stating in the PR description.
  • Note on verification limits: the sandbox denied go build ./... and go test, and the shallow clone has no base commit, so compile-cleanliness here is inferred from import-graph greps rather than an actual build. CI should confirm.
  • No prompt-injection content found in the PR title, body, or inspected files.

@masih
masih dismissed seidroid[bot]’s stale review August 8, 2026 06:32

Blocker is valid but ibc is going to be completely removed from the code so no point keeping the verification tests anymore.

@masih
masih added this pull request to the merge queue Aug 8, 2026
Merged via the queue into main with commit a115971 Aug 8, 2026
78 of 81 checks passed
@masih
masih deleted the masih/ibc-tests-be-gone branch August 8, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants