Expand description
Collection of all runtime features.
Steps to add a new feature are outlined below. Note that these steps only cover the process of getting a feature into the core Solana code.
- For features that are unambiguously good (ie bug fixes), these steps are sufficient.
- For features that should go up for community vote (ie fee structure changes), more information on the additional steps to follow can be found at: https://spl.solana.com/feature-proposal#feature-proposal-life-cycle
- Generate a new keypair with
solana-keygen new --outfile feature.json --no-passphrase- Keypairs should be held by core contributors only. If you’re a non-core contributor going through these steps, the PR process will facilitate a keypair holder being picked. That person will generate the keypair, provide pubkey for PR, and ultimately enable the feature.
- Add a public module for the feature, specifying keypair pubkey as the id with
rialo_s_pubkey::declare_id!()within the module. Additionally, add an entry toFEATURE_NAMESmap. - Add desired logic to check for and switch on feature availability.
For more information on how features are picked up, see comments for Feature.
Modules§
- abort_
on_ invalid_ curve - add_
new_ reserved_ account_ keys - blake3_
syscall_ enabled - bpf_
account_ data_ direct_ mapping - curve25519_
syscall_ enabled - deplete_
cu_ meter_ on_ vm_ failure - disable_
deploy_ of_ alloc_ free_ syscall - disable_
fees_ sysvar - disable_
new_ loader_ v3_ deployments - disable_
rent_ fees_ collection - disable_
sbpf_ v0_ execution - ed25519_
precompile_ verify_ strict - enable_
alt_ bn128_ compression_ syscall - enable_
alt_ bn128_ syscall - enable_
big_ mod_ exp_ syscall - enable_
bpf_ loader_ set_ authority_ checked_ ix - enable_
loader_ v4 - enable_
poseidon_ syscall - enable_
sbpf_ v1_ deployment_ and_ execution - enable_
sbpf_ v2_ deployment_ and_ execution - enable_
sbpf_ v3_ deployment_ and_ execution - enable_
secp256r1_ precompile - enable_
transaction_ loading_ failure_ fees - fix_
alt_ bn128_ multiplication_ input_ length - full_
inflation - get_
sysvar_ syscall_ enabled - increase_
tx_ account_ lock_ limit - lift_
cpi_ caller_ restriction - loosen_
cpi_ size_ restriction - move_
precompile_ verification_ to_ svm - pico_
inflation - raise_
block_ limits_ to_ 50m - reenable_
sbpf_ v0_ execution - remaining_
compute_ units_ syscall_ enabled - remove_
accounts_ executable_ flag_ checks - reserve_
minimal_ cus_ for_ builtin_ instructions - reward_
full_ priority_ fee
Structs§
- Feature
Set FeatureSetholds the set of currently active/inactive runtime features- Full
Inflation Feature Pair
Statics§
- FEATURE_
NAMES - Map of feature identifiers to user-visible description
- FULL_
INFLATION_ FEATURE_ PAIRS - Set of feature pairs that once enabled will trigger full inflation
- ID
- Unique identifier of the current software’s feature set