Make default programs static (bp #9717) (#9814)

automerge
This commit is contained in:
mergify[bot]
2020-04-30 02:50:34 -07:00
committed by GitHub
parent 8fef8eaed9
commit 892abd2a24
38 changed files with 178 additions and 177 deletions

View File

@@ -12,14 +12,11 @@ edition = "2018"
log = { version = "0.4.8" }
solana-bpf-loader-program = { path = "../programs/bpf_loader", version = "1.1.8" }
solana-budget-program = { path = "../programs/budget", version = "1.1.8" }
solana-config-program = { path = "../programs/config", version = "1.1.8" }
solana-exchange-program = { path = "../programs/exchange", version = "1.1.8" }
solana-runtime = { path = "../runtime", version = "1.1.8" }
solana-sdk = { path = "../sdk", version = "1.1.8" }
solana-stake-program = { path = "../programs/stake", version = "1.1.8" }
solana-storage-program = { path = "../programs/storage", version = "1.1.8" }
solana-vest-program = { path = "../programs/vest", version = "1.1.8" }
solana-vote-program = { path = "../programs/vote", version = "1.1.8" }
[lib]
crate-type = ["lib"]

View File

@@ -1,6 +1,6 @@
use solana_sdk::{
clock::Epoch, genesis_config::OperatingMode, inflation::Inflation,
move_loader::solana_move_loader_program, pubkey::Pubkey, system_program::solana_system_program,
move_loader::solana_move_loader_program, pubkey::Pubkey,
};
#[macro_use]
@@ -8,17 +8,11 @@ extern crate solana_bpf_loader_program;
#[macro_use]
extern crate solana_budget_program;
#[macro_use]
extern crate solana_config_program;
#[macro_use]
extern crate solana_exchange_program;
#[macro_use]
extern crate solana_stake_program;
#[macro_use]
extern crate solana_storage_program;
#[macro_use]
extern crate solana_vest_program;
#[macro_use]
extern crate solana_vote_program;
use log::*;
use solana_runtime::bank::{Bank, EnteredEpochCallback};
@@ -56,12 +50,8 @@ pub fn get_programs(operating_mode: OperatingMode, epoch: Epoch) -> Option<Vec<(
Some(vec![
// Enable all Stable programs
solana_bpf_loader_program!(),
solana_config_program!(),
solana_stake_program!(),
solana_storage_program!(),
solana_system_program(),
solana_vest_program!(),
solana_vote_program!(),
// Programs that are only available in Development mode
solana_budget_program!(),
solana_exchange_program!(),
@@ -72,14 +62,7 @@ pub fn get_programs(operating_mode: OperatingMode, epoch: Epoch) -> Option<Vec<(
}
}
OperatingMode::Stable => {
if epoch == 0 {
Some(vec![
solana_config_program!(),
solana_stake_program!(),
solana_system_program(),
solana_vote_program!(),
])
} else if epoch == std::u64::MAX - 1 {
if epoch == std::u64::MAX - 1 {
// The epoch of std::u64::MAX - 1 is a placeholder and is expected to be reduced in
// a future hard fork.
Some(vec![solana_bpf_loader_program!()])
@@ -93,13 +76,7 @@ pub fn get_programs(operating_mode: OperatingMode, epoch: Epoch) -> Option<Vec<(
}
OperatingMode::Preview => {
if epoch == 0 {
Some(vec![
solana_config_program!(),
solana_stake_program!(),
solana_system_program(),
solana_vote_program!(),
solana_bpf_loader_program!(),
])
Some(vec![solana_bpf_loader_program!()])
} else if epoch == std::u64::MAX {
// The epoch of std::u64::MAX is a placeholder and is expected to be reduced in a
// future hard fork.
@@ -124,7 +101,7 @@ pub fn get_entered_epoch_callback(operating_mode: OperatingMode) -> EnteredEpoch
if let Some(new_programs) = get_programs(operating_mode, bank.epoch()) {
for (name, program_id) in new_programs.iter() {
info!("Registering {} at {}", name, program_id);
bank.register_native_instruction_processor(name, program_id);
bank.add_native_program(name, program_id);
}
}
})
@@ -155,7 +132,7 @@ mod tests {
fn test_development_programs() {
assert_eq!(
get_programs(OperatingMode::Development, 0).unwrap().len(),
10
6
);
assert_eq!(get_programs(OperatingMode::Development, 1), None);
}
@@ -175,15 +152,6 @@ mod tests {
#[test]
fn test_softlaunch_programs() {
assert_eq!(
get_programs(OperatingMode::Stable, 0),
Some(vec![
solana_config_program!(),
solana_stake_program!(),
solana_system_program(),
solana_vote_program!(),
])
);
assert_eq!(get_programs(OperatingMode::Stable, 1), None);
assert!(get_programs(OperatingMode::Stable, std::u64::MAX - 1).is_some());
assert!(get_programs(OperatingMode::Stable, std::u64::MAX).is_some());