solana_svm_feature_set/
lib.rs

1#[derive(Clone, Copy, Default)]
2pub struct SVMFeatureSet {
3    pub move_precompile_verification_to_svm: bool,
4    pub stricter_abi_and_runtime_constraints: bool,
5    pub enable_bpf_loader_set_authority_checked_ix: bool,
6    pub enable_loader_v4: bool,
7    pub deplete_cu_meter_on_vm_failure: bool,
8    pub abort_on_invalid_curve: bool,
9    pub blake3_syscall_enabled: bool,
10    pub curve25519_syscall_enabled: bool,
11    pub disable_deploy_of_alloc_free_syscall: bool,
12    pub disable_fees_sysvar: bool,
13    pub disable_sbpf_v0_execution: bool,
14    pub enable_alt_bn128_compression_syscall: bool,
15    pub enable_alt_bn128_syscall: bool,
16    pub enable_big_mod_exp_syscall: bool,
17    pub enable_get_epoch_stake_syscall: bool,
18    pub enable_poseidon_syscall: bool,
19    pub enable_sbpf_v1_deployment_and_execution: bool,
20    pub enable_sbpf_v2_deployment_and_execution: bool,
21    pub enable_sbpf_v3_deployment_and_execution: bool,
22    pub get_sysvar_syscall_enabled: bool,
23    pub last_restart_slot_sysvar: bool,
24    pub reenable_sbpf_v0_execution: bool,
25    pub remaining_compute_units_syscall_enabled: bool,
26    pub remove_bpf_loader_incorrect_program_id: bool,
27    pub move_stake_and_move_lamports_ixs: bool,
28    pub stake_raise_minimum_delegation_to_1_sol: bool,
29    pub deprecate_legacy_vote_ixs: bool,
30    pub mask_out_rent_epoch_in_vm_serialization: bool,
31    pub simplify_alt_bn128_syscall_error_codes: bool,
32    pub fix_alt_bn128_multiplication_input_length: bool,
33    pub increase_tx_account_lock_limit: bool,
34    pub enable_extend_program_checked: bool,
35    pub formalize_loaded_transaction_data_size: bool,
36    pub disable_zk_elgamal_proof_program: bool,
37    pub reenable_zk_elgamal_proof_program: bool,
38    pub raise_cpi_nesting_limit_to_8: bool,
39}
40
41impl SVMFeatureSet {
42    pub fn all_enabled() -> Self {
43        Self {
44            move_precompile_verification_to_svm: true,
45            stricter_abi_and_runtime_constraints: true,
46            enable_bpf_loader_set_authority_checked_ix: true,
47            enable_loader_v4: true,
48            deplete_cu_meter_on_vm_failure: true,
49            abort_on_invalid_curve: true,
50            blake3_syscall_enabled: true,
51            curve25519_syscall_enabled: true,
52            disable_deploy_of_alloc_free_syscall: true,
53            disable_fees_sysvar: true,
54            disable_sbpf_v0_execution: true,
55            enable_alt_bn128_compression_syscall: true,
56            enable_alt_bn128_syscall: true,
57            enable_big_mod_exp_syscall: true,
58            enable_get_epoch_stake_syscall: true,
59            enable_poseidon_syscall: true,
60            enable_sbpf_v1_deployment_and_execution: true,
61            enable_sbpf_v2_deployment_and_execution: true,
62            enable_sbpf_v3_deployment_and_execution: true,
63            get_sysvar_syscall_enabled: true,
64            last_restart_slot_sysvar: true,
65            reenable_sbpf_v0_execution: true,
66            remaining_compute_units_syscall_enabled: true,
67            remove_bpf_loader_incorrect_program_id: true,
68            move_stake_and_move_lamports_ixs: true,
69            stake_raise_minimum_delegation_to_1_sol: true,
70            deprecate_legacy_vote_ixs: true,
71            mask_out_rent_epoch_in_vm_serialization: true,
72            simplify_alt_bn128_syscall_error_codes: true,
73            fix_alt_bn128_multiplication_input_length: true,
74            increase_tx_account_lock_limit: true,
75            enable_extend_program_checked: true,
76            formalize_loaded_transaction_data_size: true,
77            disable_zk_elgamal_proof_program: true,
78            reenable_zk_elgamal_proof_program: true,
79            raise_cpi_nesting_limit_to_8: true,
80        }
81    }
82}