From 582418de5e9e724f4bf26c22bd47bf9c31660d3e Mon Sep 17 00:00:00 2001 From: Jack May Date: Tue, 15 Dec 2020 12:23:49 -0800 Subject: [PATCH] Cleanup ledger builtins (#14083) --- ledger/src/builtins.rs | 48 +++++++++++----------------- local-cluster/tests/local_cluster.rs | 8 ++++- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/ledger/src/builtins.rs b/ledger/src/builtins.rs index a35bbdd0d..e62e6b085 100644 --- a/ledger/src/builtins.rs +++ b/ledger/src/builtins.rs @@ -12,41 +12,31 @@ macro_rules! to_builtin { /// Builtin programs that are always available fn genesis_builtins(cluster_type: ClusterType, bpf_jit: bool) -> Vec { + let mut builtins = vec![ + to_builtin!(solana_bpf_loader_deprecated_program!()), + if bpf_jit { + to_builtin!(solana_bpf_loader_program_with_jit!()) + } else { + to_builtin!(solana_bpf_loader_program!()) + }, + ]; if cluster_type != ClusterType::MainnetBeta { - vec![ - to_builtin!(solana_bpf_loader_deprecated_program!()), - if bpf_jit { - to_builtin!(solana_bpf_loader_program_with_jit!()) - } else { - to_builtin!(solana_bpf_loader_program!()) - }, - if bpf_jit { - to_builtin!(solana_bpf_loader_upgradeable_program_with_jit!()) - } else { - to_builtin!(solana_bpf_loader_upgradeable_program!()) - }, - ] - } else { - // Remove this `else` block and the `cluster_type` argument to this function once - // `feature_set::bpf_loader2_program::id()` is active on Mainnet Beta - vec![to_builtin!(solana_bpf_loader_deprecated_program!())] + builtins.push(if bpf_jit { + to_builtin!(solana_bpf_loader_upgradeable_program_with_jit!()) + } else { + to_builtin!(solana_bpf_loader_upgradeable_program!()) + }); } + builtins } /// Builtin programs activated dynamically by feature fn feature_builtins() -> Vec<(Builtin, Pubkey, ActivationType)> { - vec![ - ( - to_builtin!(solana_bpf_loader_program!()), - feature_set::bpf_loader2_program::id(), - ActivationType::NewProgram, - ), - ( - to_builtin!(solana_bpf_loader_upgradeable_program!()), - feature_set::bpf_loader_upgradeable_program::id(), - ActivationType::NewProgram, - ), - ] + vec![( + to_builtin!(solana_bpf_loader_upgradeable_program!()), + feature_set::bpf_loader_upgradeable_program::id(), + ActivationType::NewProgram, + )] } pub(crate) fn get(cluster_type: ClusterType, bpf_jit: bool) -> Builtins { diff --git a/local-cluster/tests/local_cluster.rs b/local-cluster/tests/local_cluster.rs index 71d46ef96..aaecbbc61 100644 --- a/local-cluster/tests/local_cluster.rs +++ b/local-cluster/tests/local_cluster.rs @@ -783,6 +783,7 @@ fn test_mainnet_beta_cluster_type() { &solana_stake_program::id(), &solana_vote_program::id(), &solana_sdk::bpf_loader_deprecated::id(), + &solana_sdk::bpf_loader::id(), ] .iter() { @@ -798,7 +799,12 @@ fn test_mainnet_beta_cluster_type() { } // Programs that are not available at epoch 0 - for program_id in [&solana_sdk::bpf_loader::id(), &solana_vest_program::id()].iter() { + for program_id in [ + &solana_sdk::bpf_loader_upgradeable::id(), + &solana_vest_program::id(), + ] + .iter() + { assert_eq!( ( program_id,