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

(cherry picked from commit f385af25e5)

Co-authored-by: Michael Vines <mvines@gmail.com>
This commit is contained in:
mergify[bot]
2020-08-31 17:21:07 +00:00
committed by GitHub
parent 663dc9959f
commit eb65ff750e
2 changed files with 31 additions and 54 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
fn get_programs(operating_mode: OperatingMode) -> Vec<(Program, Epoch)> {
let mut programs = vec![];
match operating_mode {
OperatingMode::Development => {
OperatingMode::Development => vec![
// Programs used for testing
programs.extend(
vec![
Program::BuiltinLoader(solana_bpf_loader_program!()),
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
Program::Native(solana_vest_program!()),
@ -88,47 +84,28 @@ fn get_programs(operating_mode: OperatingMode) -> Vec<(Program, Epoch)> {
.into_iter()
.map(|program| (program, 0))
.collect::<Vec<_>>(),
);
}
OperatingMode::Preview => {
programs.extend(
vec![
Program::BuiltinLoader(solana_bpf_loader_program!()),
OperatingMode::Preview => vec![
(
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
]
.into_iter()
.map(|program| (program, 0))
.collect::<Vec<_>>(),
);
// The epoch of Epoch::max_value() is a placeholder and is expected
// to be reduced in a future network update.
programs.extend(
vec![Program::Native(solana_vest_program!())]
.into_iter()
.map(|program| (program, Epoch::MAX))
.collect::<Vec<_>>(),
);
}
OperatingMode::Stable => {
programs.extend(vec![(
0,
),
(Program::BuiltinLoader(solana_bpf_loader_program!()), 89),
],
OperatingMode::Stable => vec![
(
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
34,
)]);
// The epoch of std::u64::MAX is a placeholder and is expected
// to be reduced in a future network update.
programs.extend(
vec![
),
(
Program::BuiltinLoader(solana_bpf_loader_program!()),
Program::Native(solana_vest_program!()),
]
.into_iter()
.map(|program| (program, Epoch::MAX))
.collect::<Vec<_>>(),
);
// The epoch of std::u64::MAX is a placeholder and is expected
// to be reduced in a future cluster update.
Epoch::MAX,
),
],
}
};
programs
}
pub fn get_native_programs_for_genesis(operating_mode: OperatingMode) -> Vec<(String, Pubkey)> {

View File

@ -2647,7 +2647,7 @@ impl Bank {
assert!(callback_w.is_none(), "Already callback has been initiated");
*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);
}