-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
The max transaction size of 1232 is too limiting for Meta-Transaction #16906
Comments
TX size is limited by MTU packet size on the internet. We can do either
We need a better cost model to account for bigger txs so leaders can build blocks that can execute in time. |
@scottphc we are in the process of drafting a proposal to solve this. I think in your case you could store the instructions you want to call on-chain in a temporary account and then call those stored instructions later. You shouldn't need to wait for transaction size improvements from us unless you're trying to create transactions that are using ~30 accounts. Tracking the issue of how to allow transactions with more accounts here: #17102 |
@jstarry How do I create a temporary account to store instructions? Can you provide a link to an example or documentation? |
How can I use the compressed public keys and allow txs to reference them by an ID? Can you provide a link to an example or documentation? |
@XX these features are not yet available. The proposal for v2 transaction format is available at https://docs.solana.com/proposals/transactions-v2 |
This issue has been automatically locked since there has not been any activity in past 7 days after it was closed. Please open a new issue for related bugs. |
Problem
The current maximum transaction size is 1280 - 40 - 8 = 1232, but it's too limiting for Meta-Transaction. It's going to wrap original instructions into invoke instructions and also add more public keys (device key, cosigner key and fee payer key). You can check more details if you're interested in it.
For example, Raydium Swap transaction has 5-7 instructions which are around 900 bytes. And after wrapping program wallet invoke instruction, it becomes around 2600 bytes.
Transaction fee is troublesome and confusing for blockchain beginners and Meta-Transaction is a good solution for it. I'd like to seek the possibility of increasing the max transaction size.
Proposed Solution
Increase the max transaction size to at least 3000 bytes.
The text was updated successfully, but these errors were encountered: