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

[Sequencer] txpool rejecting transactions with large call data #1632

Open
hexoscott opened this issue Jan 14, 2025 · 2 comments
Open

[Sequencer] txpool rejecting transactions with large call data #1632

hexoscott opened this issue Jan 14, 2025 · 2 comments
Labels
good first issue Good for newcomers

Comments

@hexoscott
Copy link
Collaborator

As part of the shanghai code in erigon there is a check for initcode being over a certain size if shanghai is enabled, this is true in normalcy networks, but the implementation in cdk-erigon checks just call data rather than checking call data AND if the transaction is a create or not.

erigon upstream has already altered the code to stop this from happening in version 2.60.8 which should be our basis for fixing this issue:
image

@hexoscott hexoscott added the good first issue Good for newcomers label Jan 14, 2025
@MKVEERENDRA
Copy link

Hey @hexoscott in cdk-erigon the function validateTx

if isShanghai && txn.Creation && txn.DataLen > fixedgas.MaxInitCodeSize {
return txpoolcfg.InitCodeTooLarge // EIP-3860
}
Checks if the transaction is a contract creation (txn.Creation), and only applies the limit on the init code size if that’s the case. This means that the code is correctly filtering out regular transactions and only focusing on contract creation ones when it comes to checking the size.

So, it’s already ensuring that the init code size limit is applied correctly – only to contract creation transactions, not regular ones.

@hexoscott
Copy link
Collaborator Author

Hi @MKVEERENDRA - thank you for the feedback. During development of cdk-erigon we ported the pool.go file over from erigon-lib to the zk folder in the codebase so that we could make pool changes there. During the merge of upstream erigon to version 2.60 the erigon-lib directory was pulled locally, but we continue to use the pool.go file in the zk folder which doesn't have these additional checks around the transaction being a create so we need to update that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants