atlas_svm_feature_set/
lib.rs

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