Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 4 additions & 9 deletions cli/src/program.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1386,15 +1386,10 @@ fn process_program_deploy(
fetch_feature_set(&rpc_client)?
};

if !skip_feature_verification {
if feature_set.is_active(&agave_feature_set::enable_loader_v4::id()) {
warn!("Loader-v4 is available now. Please migrate your program.");
}
if do_initial_deploy
&& feature_set.is_active(&agave_feature_set::disable_new_loader_v3_deployments::id())
{
return Err("No new programs can be deployed on loader-v3. Please use the program-v4 subcommand instead.".into());
}
if !skip_feature_verification
&& feature_set.is_active(&agave_feature_set::enable_loader_v4::id())
{
warn!("Loader-v4 is available now. Please migrate your program.");
}

let (program_data, program_len, buffer_program_data) =
Expand Down
6 changes: 2 additions & 4 deletions cli/tests/program.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#![allow(clippy::items_after_test_module)]

use {
agave_feature_set::{disable_new_loader_v3_deployments, enable_alt_bn128_syscall},
agave_feature_set::enable_alt_bn128_syscall,
assert_matches::assert_matches,
serde_json::Value,
solana_cli::{
Expand Down Expand Up @@ -57,8 +57,7 @@ fn test_validator_genesis(mint_keypair: Keypair) -> TestValidatorGenesis {
exemption_threshold: 1.0,
..Rent::default()
})
.faucet_addr(Some(run_local_faucet(mint_keypair, None)))
.deactivate_features(&[disable_new_loader_v3_deployments::id()]);
.faucet_addr(Some(run_local_faucet(mint_keypair, None)));
genesis
}

Expand Down Expand Up @@ -2929,7 +2928,6 @@ fn test_cli_program_deploy_with_args(compute_unit_price: Option<u64>, use_rpc: b
exemption_threshold: 1.0,
..Rent::default()
})
.deactivate_features(&[disable_new_loader_v3_deployments::id()])
.rpc_config(JsonRpcConfig {
enable_rpc_transaction_history: true,
faucet_addr: Some(faucet_addr),
Expand Down
5 changes: 0 additions & 5 deletions feature-set/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -772,10 +772,6 @@ pub mod enable_loader_v4 {
solana_pubkey::declare_id!("8Cb77yHjPWe9wuWUfXeh6iszFGCDGNCoFk3tprViYHNm");
}

pub mod disable_new_loader_v3_deployments {
solana_pubkey::declare_id!("EmhbpdVtZ2hWRGFWBDjn2i3SJD8Z36z4mpMcZJEnebnP");
}

pub mod require_rent_exempt_split_destination {
solana_pubkey::declare_id!("D2aip4BBr8NPWtU9vLrwrBvbuaQ8w1zV38zFLxx4pfBV");
}
Expand Down Expand Up @@ -1176,7 +1172,6 @@ pub static FEATURE_NAMES: LazyLock<AHashMap<Pubkey, &'static str>> = LazyLock::n
(timely_vote_credits::id(), "use timeliness of votes in determining credits to award"),
(remaining_compute_units_syscall_enabled::id(), "enable the remaining_compute_units syscall"),
(enable_loader_v4::id(), "Enable Loader-v4 SIMD-0167"),
(disable_new_loader_v3_deployments::id(), "Disable new loader-v3 deployments SIMD-0167"),
(require_rent_exempt_split_destination::id(), "Require stake split destination account to be rent exempt"),
(better_error_codes_for_tx_lamport_check::id(), "better error codes for tx lamport check #33353"),
(enable_alt_bn128_compression_syscall::id(), "add alt_bn128 compression syscalls"),
Expand Down
16 changes: 2 additions & 14 deletions programs/bpf_loader/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ pub mod syscalls;
use qualifier_attr::qualifiers;
use {
agave_feature_set::{
bpf_account_data_direct_mapping, disable_new_loader_v3_deployments,
enable_bpf_loader_set_authority_checked_ix, enable_loader_v4,
remove_accounts_executable_flag_checks,
bpf_account_data_direct_mapping, enable_bpf_loader_set_authority_checked_ix,
enable_loader_v4, remove_accounts_executable_flag_checks,
},
solana_account::WritableAccount,
solana_bincode::limited_deserialize,
Expand Down Expand Up @@ -569,14 +568,6 @@ fn process_loader_upgradeable_instruction(
)?;
}
UpgradeableLoaderInstruction::DeployWithMaxDataLen { max_data_len } => {
if invoke_context
.get_feature_set()
.is_active(&disable_new_loader_v3_deployments::id())
{
ic_logger_msg!(log_collector, "Unsupported instruction");
return Err(InstructionError::InvalidInstructionData);
}

instruction_context.check_number_of_instruction_accounts(4)?;
let payer_key = *transaction_context.get_key_of_account_at_index(
instruction_context.get_index_of_instruction_account_in_transaction(0)?,
Expand Down Expand Up @@ -1868,9 +1859,6 @@ mod tests {
expected_result,
Entrypoint::vm,
|invoke_context| {
let mut feature_set = invoke_context.get_feature_set().clone();
feature_set.deactivate(&disable_new_loader_v3_deployments::id());
invoke_context.mock_set_feature_set(Arc::new(feature_set));
test_utils::load_all_invoked_programs(invoke_context);
},
|_invoke_context| {},
Expand Down
5 changes: 1 addition & 4 deletions programs/sbf/tests/programs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1458,13 +1458,10 @@ fn test_program_sbf_invoke_stable_genesis_and_bank() {
solana_logger::setup();

let GenesisConfigInfo {
mut genesis_config,
genesis_config,
mint_keypair,
..
} = get_stable_genesis_config();
genesis_config
.accounts
.remove(&feature_set::disable_new_loader_v3_deployments::id());
let bank = Bank::new_for_tests(&genesis_config);
let bank = Arc::new(bank);
let bank_client = BankClient::new_shared(bank.clone());
Expand Down
1 change: 0 additions & 1 deletion runtime/src/bank/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7253,7 +7253,6 @@ fn test_bpf_loader_upgradeable_deploy_with_max_len() {
let (genesis_config, mint_keypair) = create_genesis_config_no_tx_fee(1_000_000_000);
let mut bank = Bank::new_for_tests(&genesis_config);
bank.feature_set = Arc::new(FeatureSet::all_enabled());
bank.deactivate_feature(&agave_feature_set::disable_new_loader_v3_deployments::id());
let (bank, bank_forks) = bank.wrap_with_bank_forks_for_tests();
let mut bank_client = BankClient::new_shared(bank.clone());

Expand Down