clean feature: dedupe_config_program_signers (#34077)
This commit is contained in:
parent
2573b7acc9
commit
0817cb048a
|
@ -5,8 +5,8 @@ use {
|
||||||
bincode::deserialize,
|
bincode::deserialize,
|
||||||
solana_program_runtime::{declare_process_instruction, ic_msg},
|
solana_program_runtime::{declare_process_instruction, ic_msg},
|
||||||
solana_sdk::{
|
solana_sdk::{
|
||||||
feature_set, instruction::InstructionError, program_utils::limited_deserialize,
|
instruction::InstructionError, program_utils::limited_deserialize, pubkey::Pubkey,
|
||||||
pubkey::Pubkey, transaction_context::IndexOfAccount,
|
transaction_context::IndexOfAccount,
|
||||||
},
|
},
|
||||||
std::collections::BTreeSet,
|
std::collections::BTreeSet,
|
||||||
};
|
};
|
||||||
|
@ -102,16 +102,12 @@ declare_process_instruction!(Entrypoint, DEFAULT_COMPUTE_UNITS, |invoke_context|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if invoke_context
|
// dedupe signers
|
||||||
.feature_set
|
let total_new_keys = key_list.keys.len();
|
||||||
.is_active(&feature_set::dedupe_config_program_signers::id())
|
let unique_new_keys = key_list.keys.into_iter().collect::<BTreeSet<_>>();
|
||||||
{
|
if unique_new_keys.len() != total_new_keys {
|
||||||
let total_new_keys = key_list.keys.len();
|
ic_msg!(invoke_context, "new config contains duplicate keys");
|
||||||
let unique_new_keys = key_list.keys.into_iter().collect::<BTreeSet<_>>();
|
return Err(InstructionError::InvalidArgument);
|
||||||
if unique_new_keys.len() != total_new_keys {
|
|
||||||
ic_msg!(invoke_context, "new config contains duplicate keys");
|
|
||||||
return Err(InstructionError::InvalidArgument);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for Config data signers not present in incoming account update
|
// Check for Config data signers not present in incoming account update
|
||||||
|
|
Loading…
Reference in New Issue