From bb28ccb29e3fd7414dd39329d8ec083b043323fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Mei=C3=9Fner?= Date: Tue, 25 Apr 2023 11:57:04 +0200 Subject: [PATCH] Moves the bpf_loader registration from the ledger into the runtime. --- ledger/src/bank_forks_utils.rs | 2 +- ledger/src/blockstore_processor.rs | 2 +- ledger/src/builtins.rs | 35 ------------------------------ ledger/src/lib.rs | 1 - runtime/src/builtins.rs | 13 +++++++++++ runtime/src/lib.rs | 2 ++ 6 files changed, 17 insertions(+), 38 deletions(-) delete mode 100644 ledger/src/builtins.rs diff --git a/ledger/src/bank_forks_utils.rs b/ledger/src/bank_forks_utils.rs index ec3c5a7647eebe..896a8baad9cac7 100644 --- a/ledger/src/bank_forks_utils.rs +++ b/ledger/src/bank_forks_utils.rs @@ -213,7 +213,7 @@ fn bank_forks_from_snapshot( genesis_config, &process_options.runtime_config, process_options.debug_keys.clone(), - Some(&crate::builtins::get()), + None, process_options.account_indexes.clone(), process_options.limit_load_slot_count_from_snapshot, process_options.shrink_ratio, diff --git a/ledger/src/blockstore_processor.rs b/ledger/src/blockstore_processor.rs index f254640024bf8b..363e48c238bc87 100644 --- a/ledger/src/blockstore_processor.rs +++ b/ledger/src/blockstore_processor.rs @@ -712,7 +712,7 @@ pub(crate) fn process_blockstore_for_bank_0( Arc::new(opts.runtime_config.clone()), account_paths, opts.debug_keys.clone(), - Some(&crate::builtins::get()), + None, opts.account_indexes.clone(), opts.shrink_ratio, false, diff --git a/ledger/src/builtins.rs b/ledger/src/builtins.rs deleted file mode 100644 index 8b104cc1552048..00000000000000 --- a/ledger/src/builtins.rs +++ /dev/null @@ -1,35 +0,0 @@ -use { - solana_program_runtime::builtin_program::BuiltinProgram, - solana_runtime::builtins::{BuiltinFeatureTransition, Builtins}, -}; - -macro_rules! to_builtin { - ($b:expr) => { - BuiltinProgram { - name: $b.0.to_string(), - program_id: $b.1, - process_instruction: $b.2, - } - }; -} - -/// Builtin programs that are always available -fn genesis_builtins() -> Vec { - vec![ - to_builtin!(solana_bpf_loader_deprecated_program!()), - to_builtin!(solana_bpf_loader_program!()), - to_builtin!(solana_bpf_loader_upgradeable_program!()), - ] -} - -/// Dynamic feature transitions for builtin programs -fn builtin_feature_transitions() -> Vec { - vec![] -} - -pub(crate) fn get() -> Builtins { - Builtins { - genesis_builtins: genesis_builtins(), - feature_transitions: builtin_feature_transitions(), - } -} diff --git a/ledger/src/lib.rs b/ledger/src/lib.rs index f0aa3598dec7b1..878ce26f5dc888 100644 --- a/ledger/src/lib.rs +++ b/ledger/src/lib.rs @@ -16,7 +16,6 @@ pub mod blockstore_meta; pub mod blockstore_metrics; pub mod blockstore_options; pub mod blockstore_processor; -pub mod builtins; pub mod genesis_utils; pub mod leader_schedule; pub mod leader_schedule_cache; diff --git a/runtime/src/builtins.rs b/runtime/src/builtins.rs index 04ddf2c89522a3..386515e315082f 100644 --- a/runtime/src/builtins.rs +++ b/runtime/src/builtins.rs @@ -71,6 +71,16 @@ impl BuiltinFeatureTransition { } } +macro_rules! to_builtin { + ($b:expr) => { + BuiltinProgram { + name: $b.0.to_string(), + program_id: $b.1, + process_instruction: $b.2, + } + }; +} + /// Built-in programs that are always available fn genesis_builtins() -> Vec { vec![ @@ -94,6 +104,9 @@ fn genesis_builtins() -> Vec { program_id: solana_config_program::id(), process_instruction: solana_config_program::config_processor::process_instruction, }, + to_builtin!(solana_bpf_loader_deprecated_program!()), + to_builtin!(solana_bpf_loader_program!()), + to_builtin!(solana_bpf_loader_upgradeable_program!()), ] } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 9c6b1b13c5b2c3..6920c21195a29d 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -3,6 +3,8 @@ #[macro_use] extern crate lazy_static; +#[macro_use] +extern crate solana_bpf_loader_program; pub mod account_info; pub mod account_overrides;