Skip to content

Commit

Permalink
Revert "followup safety checks for solana-labs#23295"
Browse files Browse the repository at this point in the history
This reverts commit 5e0086c.
  • Loading branch information
brooksprumo committed Jun 21, 2022
1 parent 70b4461 commit 2874ef5
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 35 deletions.
44 changes: 17 additions & 27 deletions runtime/src/builtins.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
#[cfg(RUSTC_WITH_SPECIALIZATION)]
use solana_frozen_abi::abi_example::AbiExample;
#[cfg(debug_assertions)]
#[allow(deprecated)]
use solana_sdk::AutoTraitBreakSendSync;
use {
crate::system_instruction_processor,
solana_program_runtime::invoke_context::{InvokeContext, ProcessInstructionWithContext},
Expand Down Expand Up @@ -69,7 +66,7 @@ pub enum BuiltinAction {
/// State transition enum used for adding and removing builtin programs through
/// feature activations.
#[derive(Debug, Clone, AbiExample)]
enum InnerBuiltinFeatureTransition {
pub enum BuiltinFeatureTransition {
/// Add a builtin program if a feature is activated.
Add {
builtin: Builtin,
Expand All @@ -84,33 +81,26 @@ enum InnerBuiltinFeatureTransition {
},
}

#[allow(deprecated)]
#[cfg(debug_assertions)]
impl AutoTraitBreakSendSync for InnerBuiltinFeatureTransition {}

#[derive(AbiExample, Clone, Debug)]
pub struct BuiltinFeatureTransition(InnerBuiltinFeatureTransition);

impl BuiltinFeatureTransition {
pub fn to_action(
&self,
should_apply_action_for_feature: &impl Fn(&Pubkey) -> bool,
) -> Option<BuiltinAction> {
match &self.0 {
InnerBuiltinFeatureTransition::Add {
match self {
Self::Add {
builtin,
ref feature_id,
feature_id,
} => {
if should_apply_action_for_feature(feature_id) {
Some(BuiltinAction::Add(builtin.clone()))
} else {
None
}
}
InnerBuiltinFeatureTransition::RemoveOrRetain {
Self::RemoveOrRetain {
previously_added_builtin,
ref addition_feature_id,
ref removal_feature_id,
addition_feature_id,
removal_feature_id,
} => {
if should_apply_action_for_feature(removal_feature_id) {
Some(BuiltinAction::Remove(previously_added_builtin.id))
Expand Down Expand Up @@ -162,48 +152,48 @@ fn dummy_process_instruction(
/// Dynamic feature transitions for builtin programs
fn builtin_feature_transitions() -> Vec<BuiltinFeatureTransition> {
vec![
BuiltinFeatureTransition(InnerBuiltinFeatureTransition::Add {
BuiltinFeatureTransition::Add {
builtin: Builtin::new(
"compute_budget_program",
solana_sdk::compute_budget::id(),
solana_compute_budget_program::process_instruction,
),
feature_id: feature_set::add_compute_budget_program::id(),
}),
BuiltinFeatureTransition(InnerBuiltinFeatureTransition::RemoveOrRetain {
},
BuiltinFeatureTransition::RemoveOrRetain {
previously_added_builtin: Builtin::new(
"secp256k1_program",
solana_sdk::secp256k1_program::id(),
dummy_process_instruction,
),
addition_feature_id: feature_set::secp256k1_program_enabled::id(),
removal_feature_id: feature_set::prevent_calling_precompiles_as_programs::id(),
}),
BuiltinFeatureTransition(InnerBuiltinFeatureTransition::RemoveOrRetain {
},
BuiltinFeatureTransition::RemoveOrRetain {
previously_added_builtin: Builtin::new(
"ed25519_program",
solana_sdk::ed25519_program::id(),
dummy_process_instruction,
),
addition_feature_id: feature_set::ed25519_program_enabled::id(),
removal_feature_id: feature_set::prevent_calling_precompiles_as_programs::id(),
}),
BuiltinFeatureTransition(InnerBuiltinFeatureTransition::Add {
},
BuiltinFeatureTransition::Add {
builtin: Builtin::new(
"address_lookup_table_program",
solana_address_lookup_table_program::id(),
solana_address_lookup_table_program::processor::process_instruction,
),
feature_id: feature_set::versioned_tx_message_enabled::id(),
}),
BuiltinFeatureTransition(InnerBuiltinFeatureTransition::Add {
},
BuiltinFeatureTransition::Add {
builtin: Builtin::new(
"zk_token_proof_program",
solana_zk_token_sdk::zk_token_proof_program::id(),
solana_zk_token_proof_program::process_instruction,
),
feature_id: feature_set::zk_token_sdk_enabled::id(),
}),
},
]
}

Expand Down
8 changes: 0 additions & 8 deletions sdk/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,6 @@ pub use solana_sdk_macro::pubkeys;
#[rustversion::since(1.46.0)]
pub use solana_sdk_macro::respan;

#[deprecated(
since = "1.9.0",
note = "use only to break https://github.com/rust-lang/rust/issues/92987. remove when we move to Rust 1.60.0"
)]
#[doc(hidden)]
#[cfg(debug_assertions)]
pub trait AutoTraitBreakSendSync: Send + Sync {}

// Unused `solana_sdk::program_stubs!()` macro retained for source backwards compatibility with older programs
#[macro_export]
#[deprecated(
Expand Down

0 comments on commit 2874ef5

Please sign in to comment.