Simplify get_programs(), specify a real Preview activation epoch for new BPFLoader

This commit is contained in:
Michael Vines
2020-08-30 20:07:10 -07:00
committed by mergify[bot]
parent 6234909373
commit f385af25e5
2 changed files with 31 additions and 51 deletions

View File

@ -72,13 +72,9 @@ impl std::fmt::Debug for Program {
// given operating_mode and epoch, return the entire set of enabled programs // given operating_mode and epoch, return the entire set of enabled programs
fn get_programs(operating_mode: OperatingMode) -> Vec<(Program, Epoch)> { fn get_programs(operating_mode: OperatingMode) -> Vec<(Program, Epoch)> {
let mut programs = vec![];
match operating_mode { match operating_mode {
OperatingMode::Development => { OperatingMode::Development => vec![
// Programs used for testing // Programs used for testing
programs.extend(
vec![
Program::BuiltinLoader(solana_bpf_loader_program!()), Program::BuiltinLoader(solana_bpf_loader_program!()),
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()), Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
Program::Native(solana_vest_program!()), Program::Native(solana_vest_program!()),
@ -88,44 +84,28 @@ fn get_programs(operating_mode: OperatingMode) -> Vec<(Program, Epoch)> {
.into_iter() .into_iter()
.map(|program| (program, 0)) .map(|program| (program, 0))
.collect::<Vec<_>>(), .collect::<Vec<_>>(),
);
} OperatingMode::Preview => vec![
OperatingMode::Preview => { (
programs.extend(
vec![
Program::BuiltinLoader(solana_bpf_loader_program!()),
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()), Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
] 0,
.into_iter() ),
.map(|program| (program, 0)) (Program::BuiltinLoader(solana_bpf_loader_program!()), 89),
.collect::<Vec<_>>(), ],
);
// The epoch of Epoch::max_value() is a placeholder and is expected OperatingMode::Stable => vec![
// to be reduced in a future network update. (
programs.extend(
vec![]
.into_iter()
.map(|program| (program, Epoch::MAX))
.collect::<Vec<_>>(),
);
}
OperatingMode::Stable => {
programs.extend(vec![(
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()), Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
34, 34,
)]); ),
(
Program::BuiltinLoader(solana_bpf_loader_program!()),
// The epoch of std::u64::MAX is a placeholder and is expected // The epoch of std::u64::MAX is a placeholder and is expected
// to be reduced in a future network update. // to be reduced in a future cluster update.
programs.extend( Epoch::MAX,
vec![Program::BuiltinLoader(solana_bpf_loader_program!())] ),
.into_iter() ],
.map(|program| (program, Epoch::MAX))
.collect::<Vec<_>>(),
);
} }
};
programs
} }
pub fn get_native_programs_for_genesis(operating_mode: OperatingMode) -> Vec<(String, Pubkey)> { pub fn get_native_programs_for_genesis(operating_mode: OperatingMode) -> Vec<(String, Pubkey)> {

View File

@ -2648,7 +2648,7 @@ impl Bank {
assert!(callback_w.is_none(), "Already callback has been initiated"); assert!(callback_w.is_none(), "Already callback has been initiated");
*callback_w = Some(entered_epoch_callback); *callback_w = Some(entered_epoch_callback);
} }
// immedaitely fire the callback as initial invocation // immediately fire the callback as initial invocation
self.reinvoke_entered_epoch_callback(true); self.reinvoke_entered_epoch_callback(true);
} }