* Update feature switch for reduced required deploy balance (#19999)
(cherry picked from commit ea34eb8a4b
)
# Conflicts:
# programs/bpf_loader/src/lib.rs
* fix conflict
Co-authored-by: Justin Starry <justin@solana.com>
This commit is contained in:
@ -34,7 +34,7 @@ use solana_sdk::{
|
||||
entrypoint::{HEAP_LENGTH, SUCCESS},
|
||||
feature_set::{
|
||||
add_missing_program_error_mappings, close_upgradeable_program_accounts, fix_write_privs,
|
||||
upgradeable_close_instruction,
|
||||
reduce_required_deploy_balance, upgradeable_close_instruction,
|
||||
},
|
||||
ic_logger_msg, ic_msg,
|
||||
instruction::{AccountMeta, InstructionError},
|
||||
@ -391,7 +391,10 @@ fn process_loader_upgradeable_instruction(
|
||||
return Err(InstructionError::InvalidArgument);
|
||||
}
|
||||
|
||||
if invoke_context.is_feature_active(&fix_write_privs::id()) {
|
||||
let predrain_buffer = invoke_context
|
||||
.is_feature_active(&reduce_required_deploy_balance::id())
|
||||
&& invoke_context.is_feature_active(&fix_write_privs::id());
|
||||
if predrain_buffer {
|
||||
// Drain the Buffer account to payer before paying for programdata account
|
||||
payer
|
||||
.try_account_ref_mut()?
|
||||
@ -449,7 +452,7 @@ fn process_loader_upgradeable_instruction(
|
||||
})?;
|
||||
program.try_account_ref_mut()?.set_executable(true);
|
||||
|
||||
if !invoke_context.is_feature_active(&fix_write_privs::id()) {
|
||||
if !predrain_buffer {
|
||||
// Drain the Buffer account back to the payer
|
||||
payer
|
||||
.try_account_ref_mut()?
|
||||
|
@ -203,6 +203,10 @@ pub mod fix_write_privs {
|
||||
solana_sdk::declare_id!("7Tr5C1tdcCeBVD8jxtHYnvjL1DGdFboYBHCJkEFdenBb");
|
||||
}
|
||||
|
||||
pub mod reduce_required_deploy_balance {
|
||||
solana_sdk::declare_id!("EBeznQDjcPG8491sFsKZYBi5S5jTVXMpAKNDJMQPS2kq");
|
||||
}
|
||||
|
||||
lazy_static! {
|
||||
/// Map of feature identifiers to user-visible description
|
||||
pub static ref FEATURE_NAMES: HashMap<Pubkey, &'static str> = [
|
||||
@ -254,6 +258,7 @@ lazy_static! {
|
||||
(allow_native_ids::id(), "allow native program ids in program derived addresses"),
|
||||
(check_seed_length::id(), "Check program address seed lengths"),
|
||||
(fix_write_privs::id(), "fix native invoke write privileges"),
|
||||
(reduce_required_deploy_balance::id(), "reduce required payer balance for program deploys"),
|
||||
/*************** ADD NEW FEATURES HERE ***************/
|
||||
]
|
||||
.iter()
|
||||
|
Reference in New Issue
Block a user