Skip to content

Conversation

@georgehao
Copy link
Member

@georgehao georgehao commented Nov 13, 2025

1. Purpose or design rationale of this PR

Use 1 wei base fee in shadowfork network, to avoid replayed transactions failing with OOG.

2. PR title

Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

  • fix: A bug fix

3. Deployment tag versioning

Has the version in params/version.go been updated?

  • This PR doesn't involve a new deployment, git tag, docker image tag, and it doesn't affect traces
  • Yes

4. Breaking change label

Does this PR have the breaking-change label?

  • This PR is not a breaking change
  • Yes

Summary by CodeRabbit

  • Chores
    • Upgraded multiple indirect dependencies across cryptography libraries, system utilities, and synchronization packages to their latest versions.
    • Adjusted base fee calculation for shadow fork devnet scenarios with updated minimum fee parameters.

@georgehao georgehao requested a review from Thegaram November 13, 2025 07:45
@coderabbitai
Copy link

coderabbitai bot commented Nov 13, 2025

Walkthrough

This PR adjusts the minimum base fee in CalcBaseFee from 10000000 wei to 1 wei for the Clique shadow fork devnet scenario, and updates eight Go module dependencies in the export-headers-toolkit to newer versions.

Changes

Cohort / File(s) Summary
Base Fee Configuration
consensus/misc/eip1559.go
Modified CalcBaseFee to return 1 wei instead of 10000000 wei for the shadow fork height scenario when config.Clique.ShadowForkHeight is set and parent block number meets the threshold
Dependency Updates
rollup/missing_header_fields/export-headers-toolkit/go.mod
Bumped 8 indirect dependencies: bitset (v1.13.0→v1.20.0), bavard (v0.1.13→v0.1.27), gnark-crypto (v0.12.1→v0.16.0), blst (v0.3.12→v0.3.15), golang.org/x/crypto (v0.25.0→v0.32.0), golang.org/x/sync (v0.7.0→v0.10.0), golang.org/x/sys (v0.22.0→v0.29.0), golang.org/x/text (v0.16.0→v0.21.0)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify the base fee change of 10000000 → 1 wei is intentional for the shadow fork scenario and doesn't affect other code paths
  • Confirm dependency version bumps are compatible with existing code and don't introduce breaking changes

Possibly related PRs

Suggested reviewers

  • Thegaram
  • jonastheis
  • colinlyguo

Poem

🐰 A tiny wei of change takes flight,
From million-strong to one so light,
Dependencies dance in version's waltz,
Shadow forks shimmer without faults,
The devnet smiles, all fees are right! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix devnet tx replay issue' follows Conventional Commits format with 'fix:' type prefix and clearly describes a bug fix for a devnet transaction replay issue.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Description check ✅ Passed PR description includes all required template sections: purpose is clearly stated, conventional commit type (fix) is selected, deployment versioning is addressed, and breaking change status is indicated.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/devnet_replay_tx_issue

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.

Copy link

@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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ff72fff and fec479e.

⛔ Files ignored due to path filters (1)
  • rollup/missing_header_fields/export-headers-toolkit/go.sum is excluded by !**/*.sum
📒 Files selected for processing (2)
  • consensus/misc/eip1559.go (1 hunks)
  • rollup/missing_header_fields/export-headers-toolkit/go.mod (2 hunks)
🧰 Additional context used
🪛 OSV Scanner (2.2.4)
rollup/missing_header_fields/export-headers-toolkit/go.mod

[HIGH] 18-18: github.com/consensys/gnark-crypto 0.16.0: Unchecked memory allocation during vector deserialization in github.com/consensys/gnark-crypto

(GO-2025-4087)


[HIGH] 18-18: github.com/consensys/gnark-crypto 0.16.0: gnark-crypto allows unchecked memory allocation during vector deserialization

(GHSA-fj2x-735w-74vq)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: test
  • GitHub Check: Analyze (go)
🔇 Additional comments (2)
consensus/misc/eip1559.go (1)

106-108: LGTM! Base fee reduction enables mainnet transaction replay on devnet.

The change from 10000000 wei (0.01 Gwei) to 1 wei correctly addresses the devnet transaction replay issue by setting the minimum possible base fee. This ensures mainnet transactions with various gas price settings can be accepted on the shadow fork devnet without rejection due to base fee constraints. The change is properly scoped to shadow fork scenarios only via the Clique configuration check.

rollup/missing_header_fields/export-headers-toolkit/go.mod (1)

18-18: Clarify the relationship between dependency updates and the devnet fix.

Eight indirect dependencies were updated in this PR, but these updates appear unrelated to the stated objective of fixing the devnet transaction replay issue. Dependency updates typically should be isolated in separate PRs for easier review and rollback if issues arise.

Can you confirm whether these dependency updates are:

  1. Required for the devnet replay fix
  2. Automatically updated by dependency management tools
  3. Intentionally bundled for other reasons

Also applies to: 21-22, 67-67, 75-78

@georgehao georgehao merged commit 6ff7e2d into develop Nov 13, 2025
15 checks passed
@georgehao georgehao deleted the fix/devnet_replay_tx_issue branch November 13, 2025 09:45
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.

4 participants