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,60 +72,40 @@ 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( Program::BuiltinLoader(solana_bpf_loader_program!()),
vec![ Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
Program::BuiltinLoader(solana_bpf_loader_program!()), Program::Native(solana_vest_program!()),
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()), Program::Native(solana_budget_program!()),
Program::Native(solana_vest_program!()), Program::Native(solana_exchange_program!()),
Program::Native(solana_budget_program!()), ]
Program::Native(solana_exchange_program!()), .into_iter()
] .map(|program| (program, 0))
.into_iter() .collect::<Vec<_>>(),
.map(|program| (program, 0))
.collect::<Vec<_>>(), OperatingMode::Preview => vec![
); (
} Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
OperatingMode::Preview => { 0,
programs.extend( ),
vec![ (Program::BuiltinLoader(solana_bpf_loader_program!()), 89),
Program::BuiltinLoader(solana_bpf_loader_program!()), ],
Program::BuiltinLoader(solana_bpf_loader_deprecated_program!()),
] OperatingMode::Stable => vec![
.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![]
.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,
)]); ),
// The epoch of std::u64::MAX is a placeholder and is expected (
// to be reduced in a future network update. Program::BuiltinLoader(solana_bpf_loader_program!()),
programs.extend( // The epoch of std::u64::MAX is a placeholder and is expected
vec![Program::BuiltinLoader(solana_bpf_loader_program!())] // to be reduced in a future cluster update.
.into_iter() Epoch::MAX,
.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);
} }