solana_svm_feature_set/
lib.rs1#[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}