From e1923242edcbda9d983b97d19a3395539db31a77 Mon Sep 17 00:00:00 2001 From: kevinheavey Date: Thu, 2 Jan 2025 23:03:43 +0400 Subject: [PATCH 1/2] replace solana_sdk::pubkey with solana_pubkey in ledger --- Cargo.lock | 1 + ledger/Cargo.toml | 1 + ledger/benches/protobuf.rs | 2 +- ledger/src/blockstore.rs | 30 ++++++++++++++--------------- ledger/src/blockstore_processor.rs | 28 +++++++++++++-------------- ledger/src/leader_schedule.rs | 18 ++++++++--------- ledger/src/leader_schedule_cache.rs | 10 +++++----- ledger/src/leader_schedule_utils.rs | 14 +++++++------- ledger/src/staking_utils.rs | 4 ++-- programs/sbf/Cargo.lock | 1 + svm/examples/Cargo.lock | 1 + 11 files changed, 57 insertions(+), 53 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 76aac4717b9b76..1c391154256cd1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7611,6 +7611,7 @@ dependencies = [ "solana-metrics", "solana-perf", "solana-program-runtime", + "solana-pubkey", "solana-rayon-threadlimit", "solana-runtime", "solana-runtime-transaction", diff --git a/ledger/Cargo.toml b/ledger/Cargo.toml index 268e31e0be6512..a4d00aefa4e848 100644 --- a/ledger/Cargo.toml +++ b/ledger/Cargo.toml @@ -57,6 +57,7 @@ solana-measure = { workspace = true } solana-metrics = { workspace = true } solana-perf = { workspace = true } solana-program-runtime = { workspace = true, features = ["metrics"] } +solana-pubkey = { workspace = true } solana-rayon-threadlimit = { workspace = true } solana-runtime = { workspace = true } solana-runtime-transaction = { workspace = true } diff --git a/ledger/benches/protobuf.rs b/ledger/benches/protobuf.rs index 1d132480f3b957..79e28c33d7511c 100644 --- a/ledger/benches/protobuf.rs +++ b/ledger/benches/protobuf.rs @@ -5,8 +5,8 @@ extern crate test; use { bincode::{deserialize, serialize}, prost::Message, + solana_pubkey, solana_runtime::bank::RewardType, - solana_sdk::pubkey, solana_transaction_status::{Reward, Rewards}, test::Bencher, }; diff --git a/ledger/src/blockstore.rs b/ledger/src/blockstore.rs index bf30910f9b39bc..3632d9378e2b31 100644 --- a/ledger/src/blockstore.rs +++ b/ledger/src/blockstore.rs @@ -5488,9 +5488,9 @@ pub mod tests { for x in 0..num_entries { let transaction = Transaction::new_with_compiled_instructions( &[&Keypair::new()], - &[solana_sdk::pubkey::new_rand()], + &[solana_pubkey::new_rand()], Hash::default(), - vec![solana_sdk::pubkey::new_rand()], + vec![solana_pubkey::new_rand()], vec![CompiledInstruction::new(1, &(), vec![0])], ); entries.push(next_entry_mut(&mut Hash::default(), 0, vec![transaction])); @@ -9112,8 +9112,8 @@ pub mod tests { .put_protobuf((signature2, lowest_available_slot), &status) .unwrap(); - let address0 = solana_sdk::pubkey::new_rand(); - let address1 = solana_sdk::pubkey::new_rand(); + let address0 = solana_pubkey::new_rand(); + let address1 = solana_pubkey::new_rand(); blockstore .write_transaction_status( lowest_cleanup_slot, @@ -9485,8 +9485,8 @@ pub mod tests { let ledger_path = get_tmp_ledger_path_auto_delete!(); let blockstore = Blockstore::open(ledger_path.path()).unwrap(); - let address0 = solana_sdk::pubkey::new_rand(); - let address1 = solana_sdk::pubkey::new_rand(); + let address0 = solana_pubkey::new_rand(); + let address1 = solana_pubkey::new_rand(); let slot1 = 1; for x in 1..5 { @@ -9581,7 +9581,7 @@ pub mod tests { &[&Keypair::new()], &[*address], Hash::default(), - vec![solana_sdk::pubkey::new_rand()], + vec![solana_pubkey::new_rand()], vec![CompiledInstruction::new(1, &(), vec![0])], ); entries.push(next_entry_mut(&mut Hash::default(), 0, vec![transaction])); @@ -9591,8 +9591,8 @@ pub mod tests { entries } - let address0 = solana_sdk::pubkey::new_rand(); - let address1 = solana_sdk::pubkey::new_rand(); + let address0 = solana_pubkey::new_rand(); + let address1 = solana_pubkey::new_rand(); for slot in 2..=8 { let entries = make_slot_entries_with_transaction_addresses(&[ @@ -10051,9 +10051,9 @@ pub mod tests { for x in 0..4 { let transaction = Transaction::new_with_compiled_instructions( &[&Keypair::new()], - &[solana_sdk::pubkey::new_rand()], + &[solana_pubkey::new_rand()], Hash::default(), - vec![solana_sdk::pubkey::new_rand()], + vec![solana_pubkey::new_rand()], vec![CompiledInstruction::new(1, &(), vec![0])], ); let status = TransactionStatusMeta { @@ -10092,9 +10092,9 @@ pub mod tests { transactions.push( Transaction::new_with_compiled_instructions( &[&Keypair::new()], - &[solana_sdk::pubkey::new_rand()], + &[solana_pubkey::new_rand()], Hash::default(), - vec![solana_sdk::pubkey::new_rand()], + vec![solana_pubkey::new_rand()], vec![CompiledInstruction::new(1, &(), vec![0])], ) .into(), @@ -10779,7 +10779,7 @@ pub mod tests { let rewards: Rewards = (0..100) .map(|i| Reward { - pubkey: solana_sdk::pubkey::new_rand().to_string(), + pubkey: solana_pubkey::new_rand().to_string(), lamports: 42 + i, post_balance: u64::MAX, reward_type: Some(RewardType::Fee), @@ -10900,7 +10900,7 @@ pub mod tests { let txs: Vec<_> = (0..num_txs) .map(|_| { let keypair0 = Keypair::new(); - let to = solana_sdk::pubkey::new_rand(); + let to = solana_pubkey::new_rand(); solana_sdk::system_transaction::transfer(&keypair0, &to, 1, Hash::default()) }) .collect(); diff --git a/ledger/src/blockstore_processor.rs b/ledger/src/blockstore_processor.rs index d919d03d33654e..ac6b578c193e6e 100644 --- a/ledger/src/blockstore_processor.rs +++ b/ledger/src/blockstore_processor.rs @@ -3106,7 +3106,7 @@ pub mod tests { #[test] fn test_process_ledger_simple() { solana_logger::setup(); - let leader_pubkey = solana_sdk::pubkey::new_rand(); + let leader_pubkey = solana_pubkey::new_rand(); let mint = 100; let hashes_per_tick = 10; let GenesisConfigInfo { @@ -3783,7 +3783,7 @@ pub mod tests { bank.last_blockhash(), 1, 0, - &solana_sdk::pubkey::new_rand(), + &solana_pubkey::new_rand(), )); next_entry_mut(&mut hash, 0, transactions) @@ -3942,7 +3942,7 @@ pub mod tests { let (bank, _bank_forks) = Bank::new_with_bank_forks_for_tests(&genesis_config); // Make sure instruction errors still update the signature cache - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); bank.transfer(1_000, &mint_keypair, &pubkey).unwrap(); assert_eq!(bank.transaction_count(), 1); assert_eq!(bank.get_balance(&pubkey), 1_000); @@ -4244,7 +4244,7 @@ pub mod tests { bank.last_blockhash(), 100, 100, - &solana_sdk::pubkey::new_rand(), + &solana_pubkey::new_rand(), )); transactions }) @@ -4371,14 +4371,14 @@ pub mod tests { // Create array of two transactions which throw different errors let account_not_found_tx = system_transaction::transfer( &keypair, - &solana_sdk::pubkey::new_rand(), + &solana_pubkey::new_rand(), 42, bank.last_blockhash(), ); let account_not_found_sig = account_not_found_tx.signatures[0]; let invalid_blockhash_tx = system_transaction::transfer( &mint_keypair, - &solana_sdk::pubkey::new_rand(), + &solana_pubkey::new_rand(), 42, Hash::default(), ); @@ -4418,7 +4418,7 @@ pub mod tests { .unwrap() .insert(Bank::new_from_parent( bank0.clone(), - &solana_sdk::pubkey::new_rand(), + &solana_pubkey::new_rand(), 1, )) .clone_without_scheduler(); @@ -4719,7 +4719,7 @@ pub mod tests { let versioned = VoteStateVersions::new_current(vote_state); VoteState::serialize(&versioned, vote_account.data_as_mut_slice()).unwrap(); ( - solana_sdk::pubkey::new_rand(), + solana_pubkey::new_rand(), (stake, VoteAccount::try_from(vote_account).unwrap()), ) }) @@ -4780,11 +4780,11 @@ pub mod tests { mint_keypair: &Keypair, genesis_hash: &Hash, ) -> Vec> { - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); let keypair2 = Keypair::new(); - let pubkey2 = solana_sdk::pubkey::new_rand(); + let pubkey2 = solana_pubkey::new_rand(); let keypair3 = Keypair::new(); - let pubkey3 = solana_sdk::pubkey::new_rand(); + let pubkey3 = solana_pubkey::new_rand(); vec![ RuntimeTransaction::from_transaction_for_tests(system_transaction::transfer( @@ -4926,7 +4926,7 @@ pub mod tests { #[test] fn test_rebatch_transactions() { - let dummy_leader_pubkey = solana_sdk::pubkey::new_rand(); + let dummy_leader_pubkey = solana_pubkey::new_rand(); let GenesisConfigInfo { genesis_config, mint_keypair, @@ -4950,7 +4950,7 @@ pub mod tests { fn do_test_schedule_batches_for_execution(should_succeed: bool) { solana_logger::setup(); - let dummy_leader_pubkey = solana_sdk::pubkey::new_rand(); + let dummy_leader_pubkey = solana_pubkey::new_rand(); let GenesisConfigInfo { genesis_config, mint_keypair, @@ -5165,7 +5165,7 @@ pub mod tests { #[test] fn test_check_block_cost_limit() { - let dummy_leader_pubkey = solana_sdk::pubkey::new_rand(); + let dummy_leader_pubkey = solana_pubkey::new_rand(); let GenesisConfigInfo { genesis_config, mint_keypair, diff --git a/ledger/src/leader_schedule.rs b/ledger/src/leader_schedule.rs index f13f37031a79f2..d18ef30d5579c8 100644 --- a/ledger/src/leader_schedule.rs +++ b/ledger/src/leader_schedule.rs @@ -2,7 +2,7 @@ use { itertools::Itertools, rand::distributions::{Distribution, WeightedIndex}, rand_chacha::{rand_core::SeedableRng, ChaChaRng}, - solana_sdk::pubkey::Pubkey, + solana_pubkey::Pubkey, std::{collections::HashMap, convert::identity, ops::Index, sync::Arc}, }; @@ -103,8 +103,8 @@ mod tests { #[test] fn test_leader_schedule_index() { - let pubkey0 = solana_sdk::pubkey::new_rand(); - let pubkey1 = solana_sdk::pubkey::new_rand(); + let pubkey0 = solana_pubkey::new_rand(); + let pubkey1 = solana_pubkey::new_rand(); let leader_schedule = LeaderSchedule::new_from_schedule(vec![pubkey0, pubkey1]); assert_eq!(leader_schedule[0], pubkey0); assert_eq!(leader_schedule[1], pubkey1); @@ -115,10 +115,10 @@ mod tests { fn test_leader_schedule_basic() { let num_keys = 10; let stakes: Vec<_> = (0..num_keys) - .map(|i| (solana_sdk::pubkey::new_rand(), i)) + .map(|i| (solana_pubkey::new_rand(), i)) .collect(); - let seed = solana_sdk::pubkey::new_rand(); + let seed = solana_pubkey::new_rand(); let mut seed_bytes = [0u8; 32]; seed_bytes.copy_from_slice(seed.as_ref()); let len = num_keys * 10; @@ -133,10 +133,10 @@ mod tests { fn test_repeated_leader_schedule() { let num_keys = 10; let stakes: Vec<_> = (0..num_keys) - .map(|i| (solana_sdk::pubkey::new_rand(), i)) + .map(|i| (solana_pubkey::new_rand(), i)) .collect(); - let seed = solana_sdk::pubkey::new_rand(); + let seed = solana_pubkey::new_rand(); let mut seed_bytes = [0u8; 32]; seed_bytes.copy_from_slice(seed.as_ref()); let len = num_keys * 10; @@ -155,8 +155,8 @@ mod tests { #[test] fn test_repeated_leader_schedule_specific() { - let alice_pubkey = solana_sdk::pubkey::new_rand(); - let bob_pubkey = solana_sdk::pubkey::new_rand(); + let alice_pubkey = solana_pubkey::new_rand(); + let bob_pubkey = solana_pubkey::new_rand(); let stakes = vec![(alice_pubkey, 2), (bob_pubkey, 1)]; let seed = Pubkey::default(); diff --git a/ledger/src/leader_schedule_cache.rs b/ledger/src/leader_schedule_cache.rs index 9354b0c13c373f..2fa7867a047ea9 100644 --- a/ledger/src/leader_schedule_cache.rs +++ b/ledger/src/leader_schedule_cache.rs @@ -371,7 +371,7 @@ mod tests { #[test] fn test_next_leader_slot() { - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); let mut genesis_config = create_genesis_config_with_leader(42, &pubkey, bootstrap_validator_stake_lamports()) .genesis_config; @@ -409,7 +409,7 @@ mod tests { assert_eq!( cache.next_leader_slot( - &solana_sdk::pubkey::new_rand(), // not in leader_schedule + &solana_pubkey::new_rand(), // not in leader_schedule 0, &bank, None, @@ -421,7 +421,7 @@ mod tests { #[test] fn test_next_leader_slot_blockstore() { - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); let mut genesis_config = create_genesis_config_with_leader(42, &pubkey, bootstrap_validator_stake_lamports()) .genesis_config; @@ -486,7 +486,7 @@ mod tests { assert_eq!( cache.next_leader_slot( - &solana_sdk::pubkey::new_rand(), // not in leader_schedule + &solana_pubkey::new_rand(), // not in leader_schedule 0, &bank, Some(&blockstore), @@ -593,7 +593,7 @@ mod tests { assert_eq!(bank.get_epoch_and_slot_index(96).0, 2); assert!(cache.slot_leader_at(96, Some(&bank)).is_none()); - let bank2 = Bank::new_from_parent(bank, &solana_sdk::pubkey::new_rand(), 95); + let bank2 = Bank::new_from_parent(bank, &solana_pubkey::new_rand(), 95); assert!(bank2.epoch_vote_accounts(2).is_some()); // Set root for a slot in epoch 1, so that epoch 2 is now confirmed diff --git a/ledger/src/leader_schedule_utils.rs b/ledger/src/leader_schedule_utils.rs index 661e337a0c3d44..467ed02cbcf141 100644 --- a/ledger/src/leader_schedule_utils.rs +++ b/ledger/src/leader_schedule_utils.rs @@ -92,7 +92,7 @@ mod tests { #[test] fn test_leader_schedule_via_bank() { - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); let genesis_config = create_genesis_config_with_leader(0, &pubkey, bootstrap_validator_stake_lamports()) .genesis_config; @@ -118,7 +118,7 @@ mod tests { #[test] fn test_leader_scheduler1_basic() { - let pubkey = solana_sdk::pubkey::new_rand(); + let pubkey = solana_pubkey::new_rand(); let genesis_config = create_genesis_config_with_leader(42, &pubkey, bootstrap_validator_stake_lamports()) .genesis_config; @@ -128,8 +128,8 @@ mod tests { #[test] fn test_sort_stakes_basic() { - let pubkey0 = solana_sdk::pubkey::new_rand(); - let pubkey1 = solana_sdk::pubkey::new_rand(); + let pubkey0 = solana_pubkey::new_rand(); + let pubkey1 = solana_pubkey::new_rand(); let mut stakes = vec![(pubkey0, 1), (pubkey1, 2)]; sort_stakes(&mut stakes); assert_eq!(stakes, vec![(pubkey1, 2), (pubkey0, 1)]); @@ -137,8 +137,8 @@ mod tests { #[test] fn test_sort_stakes_with_dup() { - let pubkey0 = solana_sdk::pubkey::new_rand(); - let pubkey1 = solana_sdk::pubkey::new_rand(); + let pubkey0 = solana_pubkey::new_rand(); + let pubkey1 = solana_pubkey::new_rand(); let mut stakes = vec![(pubkey0, 1), (pubkey1, 2), (pubkey0, 1)]; sort_stakes(&mut stakes); assert_eq!(stakes, vec![(pubkey1, 2), (pubkey0, 1)]); @@ -147,7 +147,7 @@ mod tests { #[test] fn test_sort_stakes_with_equal_stakes() { let pubkey0 = Pubkey::default(); - let pubkey1 = solana_sdk::pubkey::new_rand(); + let pubkey1 = solana_pubkey::new_rand(); let mut stakes = vec![(pubkey0, 1), (pubkey1, 1)]; sort_stakes(&mut stakes); assert_eq!(stakes, vec![(pubkey1, 1), (pubkey0, 1)]); diff --git a/ledger/src/staking_utils.rs b/ledger/src/staking_utils.rs index 75d1352792662b..a73a663afb5642 100644 --- a/ledger/src/staking_utils.rs +++ b/ledger/src/staking_utils.rs @@ -81,7 +81,7 @@ pub(crate) mod tests { #[test] fn test_to_staked_nodes() { let mut stakes = Vec::new(); - let node1 = solana_sdk::pubkey::new_rand(); + let node1 = solana_pubkey::new_rand(); // Node 1 has stake of 3 for i in 0..3 { @@ -98,7 +98,7 @@ pub(crate) mod tests { } // Node 1 has stake of 5 - let node2 = solana_sdk::pubkey::new_rand(); + let node2 = solana_pubkey::new_rand(); stakes.push(( 5, diff --git a/programs/sbf/Cargo.lock b/programs/sbf/Cargo.lock index 366ef8c62e729a..f1635b0104e217 100644 --- a/programs/sbf/Cargo.lock +++ b/programs/sbf/Cargo.lock @@ -6044,6 +6044,7 @@ dependencies = [ "solana-metrics", "solana-perf", "solana-program-runtime", + "solana-pubkey", "solana-rayon-threadlimit", "solana-runtime", "solana-runtime-transaction", diff --git a/svm/examples/Cargo.lock b/svm/examples/Cargo.lock index 75e7b3ca6de766..ee29297d47c208 100644 --- a/svm/examples/Cargo.lock +++ b/svm/examples/Cargo.lock @@ -5864,6 +5864,7 @@ dependencies = [ "solana-metrics", "solana-perf", "solana-program-runtime", + "solana-pubkey", "solana-rayon-threadlimit", "solana-runtime", "solana-runtime-transaction", From 94e9da1b0a668fc9d0c1e7458a671ebfa8818190 Mon Sep 17 00:00:00 2001 From: kevinheavey Date: Thu, 2 Jan 2025 23:08:58 +0400 Subject: [PATCH 2/2] fix import --- ledger/benches/protobuf.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ledger/benches/protobuf.rs b/ledger/benches/protobuf.rs index 79e28c33d7511c..e5cf19ef4bbcbd 100644 --- a/ledger/benches/protobuf.rs +++ b/ledger/benches/protobuf.rs @@ -5,7 +5,6 @@ extern crate test; use { bincode::{deserialize, serialize}, prost::Message, - solana_pubkey, solana_runtime::bank::RewardType, solana_transaction_status::{Reward, Rewards}, test::Bencher, @@ -14,7 +13,7 @@ use { fn create_rewards() -> Rewards { (0..100) .map(|i| Reward { - pubkey: pubkey::new_rand().to_string(), + pubkey: solana_pubkey::new_rand().to_string(), lamports: 42 + i, post_balance: u64::MAX, reward_type: Some(RewardType::Fee),