scroll-tech / go-ethereum

Scroll's fork of the official Go implementation of the Ethereum protocol
GNU Lesser General Public License v3.0
494 stars 276 forks source link

feat: notify miner to skip obviously large txns without executing them twice #984

Closed omerfirmak closed 2 months ago

omerfirmak commented 2 months ago

1. Purpose or design rationale of this PR

miner will skip a txn if it counter-based CCC says so, but there might be cases where counter-based CCC thinks a txn is OK but Rust CCC thinks otherwise.

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:

3. Deployment tag versioning

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

4. Breaking change label

Does this PR have the breaking-change label?

0xmountaintop commented 2 months ago

so basically the workflow in this scenario is

counter-based ccc -> rust ccc -> shouldSkip -> reorg and add logic to directly skip this tx

?

omerfirmak commented 2 months ago

so basically the workflow in this scenario is

counter-based ccc -> rust ccc -> shouldSkip -> reorg and add logic to directly skip this tx

?

Yes, that is pretty much it. Should be fairly reliable in terms of catching skipped txns without causing too many reorgs.