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

Feature Gate: include transaction loaded accounts data size in base fee calculation #30657

Open
tao-stones opened this issue Mar 9, 2023 · 6 comments
Labels
feature-gate Pull Request adds or modifies a runtime feature gate

Comments

@tao-stones
Copy link
Contributor

Description

Transaction can request limit of loaded accounts data size via compute_budget::set_loaded_account_data_size_limit instruction, or MAX 64MB is automatically applied as default. Transaction should pay fee for requesting memory usage.

This feature changes transaction's base fee, therefore needs to be gated.

Feature ID

EaQpmC6GtRssaZ3PCUM5YksGqUdMLeZ46BQXYtHYakDS

Activation Method

Single Core Contributor

Minimum Beta Version

1.16.0

Minimum Stable Version

No response

Testnet Activation Epoch

No response

Devnet Activation Epoch

No response

Mainnet-Beta Activation Epoch

No response

@tao-stones
Copy link
Contributor Author

tao-stones commented Jun 1, 2023

Dev Comm: should communicate and promote instruction compute_budget::set_loaded_account_data_size_limit, see large adaptation of it before enabling this feature. Once feature gate is enabled, the impacts are the CU of transaction's loaded_account_data_size (being user specified value, or default) will contribute to:

  1. base fee calculation at bank::calculate_fee(), and
  2. block's cost limit in cost model.

@tao-stones
Copy link
Contributor Author

To make it easier for apps to update to use ix set_loaded_account_data_size_limit, this feature gate should be activated after #27839 and #30366 are activated everywhere.

@brooksprumo
Copy link
Contributor

@tao-stones Is this feature gate still blocked, or can it be scheduled for activation?

@tao-stones
Copy link
Contributor Author

@tao-stones Is this feature gate still blocked, or can it be scheduled for activation?

Ah thanks for reminder. Looks like the two prerequisite feature gates have all been activated for awhile. I'd like to see wide adaptation of instruction compute_budget::set_loaded_account_data_size_limit before activating this feature gate, otherwise default 64MB per tx will be used, result high transaction fee and lower block utilization.

I'll ping Dev Comm if can promote adaptation of the instruction. Also, do you know if there is a way for user/wallet to easily find out the size of accounts their tx about to load?

@michaelh-laine
Copy link
Contributor

Changing base fees should go through a governance vote, especially in the context of SIMD-0096 debate that is ongoing.

@tao-stones Is this feature gate still blocked, or can it be scheduled for activation?

@tao-stones
Copy link
Contributor Author

Updated block reason to "requires community gov vote" on Scheduler page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-gate Pull Request adds or modifies a runtime feature gate
Projects
None yet
Development

No branches or pull requests

3 participants