Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Zircuit fraud transactions and zk overflow detection #14629

Merged

Conversation

huangzhen1997
Copy link
Contributor

@huangzhen1997 huangzhen1997 commented Oct 1, 2024

Description

Zircuit has a unique validation that can cause transactions to get stuck in the mempool due to their Sequencer Layer Security (SLS). The chain has provided a custom endpoint zirc_isQuarantined to detect if any transactions have been quarantined for fraud.

Separately, ZK overflows will also be eventually possible so we should use the already built heuristic to detect overflows for when they are introduced.

Acceptance Criteria

  • The TXM can identify transactions stuck due to fraud detection and purge them with empty transactions

  • The TXM can identify overflow transactions using the heuristic and purge them with empty transactions

Tickets:

BCFR-974

@huangzhen1997 huangzhen1997 marked this pull request as ready for review October 2, 2024 15:46
@huangzhen1997 huangzhen1997 requested review from a team as code owners October 2, 2024 15:46
@@ -1,5 +1,5 @@
ChainID = '48900'
ChainType = 'optimismBedrock'
ChainType = 'zircuit'
Copy link
Member

Choose a reason for hiding this comment

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

Can you also add that for the Sepolia defaults?

@amit-momin
Copy link
Contributor

There are a few more places I think we need to add the new Zircuit chain type

amit-momin
amit-momin previously approved these changes Oct 2, 2024
dimriou
dimriou previously approved these changes Oct 3, 2024
for i, req := range txReqs {
txHash := req.Args[0].(common.Hash)
if req.Error != nil {
d.lggr.Debugf("failed to check fraud transaction by hash (%s): %v", txHash.String(), req.Error)
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't have any context on the use case for this feature, but... if the node is unable to verify whether transactions are fraudulent, shouldn't it flag an error, or at least warn about it? (Rather than just logging at level="debug"?)

@huangzhen1997 huangzhen1997 dismissed stale reviews from dimriou and amit-momin via 22603ca October 4, 2024 02:55
@reductionista reductionista added this pull request to the merge queue Oct 4, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 4, 2024
@dimriou dimriou added this pull request to the merge queue Oct 4, 2024
Merged via the queue into develop with commit 4928e60 Oct 4, 2024
130 checks passed
@dimriou dimriou deleted the BCFR-974/support-Zircuit-fraud-tx-and-zk-overflow-detection branch October 4, 2024 14:15
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.

5 participants