Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 21 additions & 27 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ members = [
"programs/bpf_loader/gen-syscall-list",
"programs/compute-budget",
"programs/compute-budget-bench",
"programs/config",
"programs/ed25519-tests",
"programs/loader-v4",
"programs/stake",
Expand Down Expand Up @@ -406,7 +405,7 @@ solana-compute-budget = { path = "compute-budget", version = "=2.3.0" }
solana-compute-budget-instruction = { path = "compute-budget-instruction", version = "=2.3.0" }
solana-compute-budget-interface = "2.2.1"
solana-compute-budget-program = { path = "programs/compute-budget", version = "=2.3.0" }
solana-config-program = { path = "programs/config", version = "=2.3.0" }
solana-config-program-client = "0.0.2"
solana-connection-cache = { path = "connection-cache", version = "=2.3.0", default-features = false }
solana-core = { path = "core", version = "=2.3.0" }
solana-cost-model = { path = "cost-model", version = "=2.3.0" }
Expand Down
3 changes: 2 additions & 1 deletion account-decoder/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ serde_json = { workspace = true }
solana-account = { workspace = true }
solana-account-decoder-client-types = { workspace = true, features = ["zstd"] }
solana-clock = { workspace = true }
solana-config-program = { workspace = true }
solana-config-program-client = { workspace = true, features = ["serde"] }
solana-epoch-schedule = { workspace = true }
solana-fee-calculator = { workspace = true }
solana-instruction = { workspace = true }
Expand All @@ -44,6 +44,7 @@ zstd = { workspace = true }

[dev-dependencies]
assert_matches = { workspace = true }
solana-account = { workspace = true, features = ["bincode"] }
solana-hash = { workspace = true }
solana-program = { workspace = true, default-features = false }
solana-pubkey = { workspace = true, features = ["rand"] }
Expand Down
25 changes: 22 additions & 3 deletions account-decoder/src/parse_config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use {
},
bincode::deserialize,
serde_json::Value,
solana_config_program::{get_config_data, ConfigKeys},
solana_config_program_client::{get_config_data, ConfigKeys},
solana_program::stake::config::{
Config as StakeConfig, {self as stake_config},
},
Expand Down Expand Up @@ -96,10 +96,29 @@ pub struct UiConfig<T> {
#[cfg(test)]
mod test {
use {
super::*, crate::validator_info::ValidatorInfo, serde_json::json,
solana_account::ReadableAccount, solana_config_program::create_config_account,
super::*,
crate::validator_info::ValidatorInfo,
bincode::serialize,
serde_json::json,
solana_account::{Account, AccountSharedData, ReadableAccount},
solana_config_program_client::ConfigKeys,
};

fn create_config_account<T: serde::Serialize>(
keys: Vec<(Pubkey, bool)>,
config_data: &T,
lamports: u64,
) -> AccountSharedData {
let mut data = serialize(&ConfigKeys { keys }).unwrap();
data.extend_from_slice(&serialize(config_data).unwrap());
AccountSharedData::from(Account {
lamports,
data,
owner: solana_sdk_ids::config::id(),
..Account::default()
})
}

#[test]
fn test_parse_config() {
let stake_config = StakeConfig {
Expand Down
2 changes: 1 addition & 1 deletion account-decoder/src/validator_info.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use solana_config_program::ConfigState;
use solana_config_program_client::instructions_bincode::ConfigState;

pub const MAX_SHORT_FIELD_LENGTH: usize = 80;
pub const MAX_LONG_FIELD_LENGTH: usize = 300;
Expand Down
1 change: 0 additions & 1 deletion builtins-default-costs/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ log = { workspace = true }
solana-address-lookup-table-program = { workspace = true }
solana-bpf-loader-program = { workspace = true }
solana-compute-budget-program = { workspace = true }
solana-config-program = { workspace = true }
solana-frozen-abi = { workspace = true, optional = true, features = [
"frozen-abi",
] }
Expand Down
29 changes: 3 additions & 26 deletions builtins-default-costs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ use {
solana_pubkey::Pubkey,
solana_sdk_ids::{
address_lookup_table, bpf_loader, bpf_loader_deprecated, bpf_loader_upgradeable,
compute_budget, config, ed25519_program, loader_v4, secp256k1_program, stake,
system_program, vote,
compute_budget, ed25519_program, loader_v4, secp256k1_program, stake, system_program, vote,
},
};

Expand Down Expand Up @@ -102,7 +101,7 @@ lazy_static! {
/// correctly furnishing `core_bpf_migration_feature`.
///
#[allow(dead_code)]
const TOTAL_COUNT_BUILTINS: usize = 12;
const TOTAL_COUNT_BUILTINS: usize = 11;
#[cfg(test)]
static_assertions::const_assert_eq!(
MIGRATING_BUILTINS_COSTS.len() + NON_MIGRATING_BUILTINS_COSTS.len(),
Expand All @@ -118,21 +117,13 @@ pub const MIGRATING_BUILTINS_COSTS: &[(Pubkey, BuiltinCost)] = &[
position: 0,
}),
),
(
config::id(),
BuiltinCost::Migrating(MigratingBuiltinCost {
native_cost: solana_config_program::config_processor::DEFAULT_COMPUTE_UNITS,
core_bpf_migration_feature: feature_set::migrate_config_program_to_core_bpf::id(),
position: 1,
}),
),
(
address_lookup_table::id(),
BuiltinCost::Migrating(MigratingBuiltinCost {
native_cost: solana_address_lookup_table_program::processor::DEFAULT_COMPUTE_UNITS,
core_bpf_migration_feature:
feature_set::migrate_address_lookup_table_program_to_core_bpf::id(),
position: 2,
position: 1,
}),
),
];
Expand Down Expand Up @@ -340,20 +331,6 @@ mod test {
get_migration_feature_id(feature_index),
&feature_set::migrate_stake_program_to_core_bpf::id()
);
let feature_index = get_builtin_migration_feature_index(&config::id());
assert!(matches!(
feature_index,
BuiltinMigrationFeatureIndex::BuiltinWithMigrationFeature(_)
));
let BuiltinMigrationFeatureIndex::BuiltinWithMigrationFeature(feature_index) =
feature_index
else {
panic!("expect migrating builtin")
};
assert_eq!(
get_migration_feature_id(feature_index),
&feature_set::migrate_config_program_to_core_bpf::id()
);
let feature_index = get_builtin_migration_feature_index(&address_lookup_table::id());
assert!(matches!(
feature_index,
Expand Down
1 change: 0 additions & 1 deletion builtins/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ agave-feature-set = { workspace = true }
solana-address-lookup-table-program = { workspace = true }
solana-bpf-loader-program = { workspace = true }
solana-compute-budget-program = { workspace = true }
solana-config-program = { workspace = true }
solana-loader-v4-program = { workspace = true }
solana-program-runtime = { workspace = true }
solana-pubkey = { workspace = true }
Expand Down
32 changes: 7 additions & 25 deletions builtins/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -77,19 +77,6 @@ pub static BUILTINS: &[BuiltinPrototype] = &[
program_id: solana_stake_program::id(),
entrypoint: solana_stake_program::stake_instruction::Entrypoint::vm,
},
BuiltinPrototype {
core_bpf_migration_config: Some(CoreBpfMigrationConfig {
source_buffer_address: buffer_accounts::config_program::id(),
upgrade_authority_address: None,
feature_id: agave_feature_set::migrate_config_program_to_core_bpf::id(),
migration_target: CoreBpfMigrationTargetType::Builtin,
datapoint_name: "migrate_builtin_to_core_bpf_config_program",
}),
name: "config_program",
enable_feature_id: None,
program_id: solana_config_program::id(),
entrypoint: solana_config_program::config_processor::Entrypoint::vm,
},
testable_prototype!(BuiltinPrototype {
core_bpf_migration_config: None,
name: solana_bpf_loader_deprecated_program,
Expand Down Expand Up @@ -161,9 +148,6 @@ mod buffer_accounts {
pub mod address_lookup_table_program {
solana_pubkey::declare_id!("AhXWrD9BBUYcKjtpA3zuiiZG4ysbo6C6wjHo1QhERk6A");
}
pub mod config_program {
solana_pubkey::declare_id!("BuafH9fBv62u6XjzrzS4ZjAE8963ejqF5rt1f8Uga4Q3");
}
pub mod stake_program {
solana_pubkey::declare_id!("8t3vv6v99tQA6Gp7fVdsBH66hQMaswH5qsJVqJqo8xvG");
}
Expand Down Expand Up @@ -368,36 +352,34 @@ mod tests {
);
// Stake has a live migration config, so it has no test-only configs
// to test here.
// Config has a live migration config, so it has no test-only configs
// to test here.
assert_eq!(
&super::BUILTINS[4].core_bpf_migration_config,
&super::BUILTINS[3].core_bpf_migration_config,
&Some(super::test_only::solana_bpf_loader_deprecated_program::CONFIG)
);
assert_eq!(
&super::BUILTINS[5].core_bpf_migration_config,
&super::BUILTINS[4].core_bpf_migration_config,
&Some(super::test_only::solana_bpf_loader_program::CONFIG)
);
assert_eq!(
&super::BUILTINS[6].core_bpf_migration_config,
&super::BUILTINS[5].core_bpf_migration_config,
&Some(super::test_only::solana_bpf_loader_upgradeable_program::CONFIG)
);
assert_eq!(
&super::BUILTINS[7].core_bpf_migration_config,
&super::BUILTINS[6].core_bpf_migration_config,
&Some(super::test_only::compute_budget_program::CONFIG)
);
// Address Lookup Table has a live migration config, so it has no
// test-only configs to test here.
assert_eq!(
&super::BUILTINS[9].core_bpf_migration_config,
&super::BUILTINS[8].core_bpf_migration_config,
&Some(super::test_only::zk_token_proof_program::CONFIG)
);
assert_eq!(
&super::BUILTINS[10].core_bpf_migration_config,
&super::BUILTINS[9].core_bpf_migration_config,
&Some(super::test_only::loader_v4::CONFIG)
);
assert_eq!(
&super::BUILTINS[11].core_bpf_migration_config,
&super::BUILTINS[10].core_bpf_migration_config,
&Some(super::test_only::zk_elgamal_proof_program::CONFIG)
);
}
Expand Down
2 changes: 1 addition & 1 deletion cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ solana-cluster-type = "=2.2.1"
solana-commitment-config = "=2.2.1"
solana-compute-budget = { workspace = true }
solana-compute-budget-interface = { version = "=2.2.1", features = ["borsh"] }
solana-config-program = { workspace = true }
solana-config-program-client = { workspace = true, features = ["serde"] }
solana-connection-cache = { workspace = true }
solana-decode-error = "=2.2.1"
solana-epoch-schedule = "=2.2.1"
Expand Down
Loading
Loading