solana-svm-feature-set 4.4.0

Solana SVM Feature Set
Documentation
#![cfg(feature = "agave-unstable-api")]
#[derive(Clone, Copy, Default)]
pub struct SVMFeatureSet {
    pub move_precompile_verification_to_svm: bool,
    pub virtual_address_space_adjustments: bool,
    pub account_data_direct_mapping: bool,
    pub enable_bpf_loader_set_authority_checked_ix: bool,
    pub deplete_cu_meter_on_vm_failure: bool,
    pub abort_on_invalid_curve: bool,
    pub blake3_syscall_enabled: bool,
    pub curve25519_syscall_enabled: bool,
    pub disable_fees_sysvar: bool,
    pub disable_sbpf_v0_execution: bool,
    pub disable_sbpf_v0_v1_v2_deployment: bool,
    pub enable_alt_bn128_compression_syscall: bool,
    pub enable_alt_bn128_syscall: bool,
    pub enable_big_mod_exp_syscall: bool,
    pub enable_get_epoch_stake_syscall: bool,
    pub enable_poseidon_syscall: bool,
    pub get_sysvar_syscall_enabled: bool,
    pub last_restart_slot_sysvar: bool,
    pub reenable_sbpf_v0_execution: bool,
    pub remaining_compute_units_syscall_enabled: bool,
    pub remove_bpf_loader_incorrect_program_id: bool,
    pub move_stake_and_move_lamports_ixs: bool,
    pub deprecate_legacy_vote_ixs: bool,
    pub simplify_alt_bn128_syscall_error_codes: bool,
    pub fix_alt_bn128_multiplication_input_length: bool,
    pub increase_tx_account_lock_limit: bool,
    pub formalize_loaded_transaction_data_size: bool,
    pub disable_zk_elgamal_proof_program: bool,
    pub reenable_zk_elgamal_proof_program: bool,
    pub delay_commission_updates: bool,
    pub raise_cpi_nesting_limit_to_8: bool,
    pub increase_cpi_account_info_limit: bool,
    pub poseidon_enforce_padding: bool,
    pub fix_alt_bn128_pairing_length_check: bool,
    pub alt_bn128_little_endian: bool,
    pub create_account_allow_prefund: bool,
    pub bls_pubkey_management_in_vote_account: bool,
    pub enable_alt_bn128_g2_syscalls: bool,
    pub commission_rate_in_basis_points: bool,
    pub custom_commission_collector: bool,
    pub enable_bls12_381_syscall: bool,
    pub block_revenue_sharing: bool,
    pub vote_account_initialize_v2: bool,
    pub direct_account_pointers_in_program_input: bool,
    pub loader_v3_minimum_extend_program_size: bool,
    pub enable_sha512_syscall: bool,
    pub relax_post_exec_min_balance_check: bool,
    pub define_ltds_fee_only_semantics: bool,
    pub relax_fee_payer_constraint: bool,
    pub loader_v3_set_program_data_to_elf_length: bool,
}

impl SVMFeatureSet {
    pub fn all_enabled() -> Self {
        Self {
            move_precompile_verification_to_svm: true,
            virtual_address_space_adjustments: true,
            account_data_direct_mapping: true,
            enable_bpf_loader_set_authority_checked_ix: true,
            deplete_cu_meter_on_vm_failure: true,
            abort_on_invalid_curve: true,
            blake3_syscall_enabled: true,
            curve25519_syscall_enabled: true,
            disable_fees_sysvar: true,
            disable_sbpf_v0_execution: true,
            disable_sbpf_v0_v1_v2_deployment: true,
            enable_alt_bn128_compression_syscall: true,
            enable_alt_bn128_syscall: true,
            enable_big_mod_exp_syscall: true,
            enable_get_epoch_stake_syscall: true,
            enable_poseidon_syscall: true,
            get_sysvar_syscall_enabled: true,
            last_restart_slot_sysvar: true,
            reenable_sbpf_v0_execution: true,
            remaining_compute_units_syscall_enabled: true,
            remove_bpf_loader_incorrect_program_id: true,
            move_stake_and_move_lamports_ixs: true,
            deprecate_legacy_vote_ixs: true,
            simplify_alt_bn128_syscall_error_codes: true,
            fix_alt_bn128_multiplication_input_length: true,
            increase_tx_account_lock_limit: true,
            formalize_loaded_transaction_data_size: true,
            disable_zk_elgamal_proof_program: true,
            reenable_zk_elgamal_proof_program: true,
            delay_commission_updates: true,
            raise_cpi_nesting_limit_to_8: true,
            increase_cpi_account_info_limit: true,
            poseidon_enforce_padding: true,
            fix_alt_bn128_pairing_length_check: true,
            alt_bn128_little_endian: true,
            create_account_allow_prefund: true,
            bls_pubkey_management_in_vote_account: true,
            enable_alt_bn128_g2_syscalls: true,
            commission_rate_in_basis_points: true,
            custom_commission_collector: true,
            enable_bls12_381_syscall: true,
            block_revenue_sharing: true,
            vote_account_initialize_v2: true,
            direct_account_pointers_in_program_input: true,
            loader_v3_minimum_extend_program_size: true,
            enable_sha512_syscall: true,
            relax_post_exec_min_balance_check: true,
            define_ltds_fee_only_semantics: true,
            relax_fee_payer_constraint: true,
            loader_v3_set_program_data_to_elf_length: true,
        }
    }
}