Use single feature (#20289)

This commit is contained in:
Tyera Eulberg
2021-09-28 05:30:11 -05:00
committed by GitHub
parent 9b6ec0b6d5
commit c5d174c170
10 changed files with 94 additions and 116 deletions

View File

@@ -19,7 +19,7 @@ use {
clock::{Clock, Slot},
entrypoint::{ProgramResult, SUCCESS},
epoch_schedule::EpochSchedule,
feature_set::restore_write_lock_when_upgradeable,
feature_set::demote_program_write_locks,
fee_calculator::{FeeCalculator, FeeRateGovernor},
genesis_config::{ClusterType, GenesisConfig},
hash::Hash,
@@ -256,14 +256,14 @@ impl solana_sdk::program_stubs::SyscallStubs for SyscallStubs {
}
panic!("Program id {} wasn't found in account_infos", program_id);
};
let restore_write_lock_when_upgradeable =
invoke_context.is_feature_active(&restore_write_lock_when_upgradeable::id());
let demote_program_write_locks =
invoke_context.is_feature_active(&demote_program_write_locks::id());
// TODO don't have the caller's keyed_accounts so can't validate writer or signer escalation or deescalation yet
let caller_privileges = message
.account_keys
.iter()
.enumerate()
.map(|(i, _)| message.is_writable(i, restore_write_lock_when_upgradeable))
.map(|(i, _)| message.is_writable(i, demote_program_write_locks))
.collect::<Vec<bool>>();
stable_log::program_invoke(&logger, &program_id, invoke_context.invoke_depth());
@@ -334,7 +334,7 @@ impl solana_sdk::program_stubs::SyscallStubs for SyscallStubs {
// Copy writeable account modifications back into the caller's AccountInfos
for (i, account_pubkey) in message.account_keys.iter().enumerate() {
if !message.is_writable(i, restore_write_lock_when_upgradeable) {
if !message.is_writable(i, demote_program_write_locks) {
continue;
}