From b9ee3b475b1debbc88a78d486526bcd2c45c09f9 Mon Sep 17 00:00:00 2001 From: Dmitri Makarov Date: Wed, 7 Feb 2024 18:10:17 -0500 Subject: [PATCH] SVM: Move RentDebits from accounts-db to Solana SDK (#35135) --- accounts-db/src/accounts.rs | 2 +- accounts-db/src/lib.rs | 1 - accounts-db/src/nonce_info.rs | 18 ++++++++---------- accounts-db/src/transaction_results.rs | 6 ++---- ledger/src/blockstore_processor.rs | 2 +- rpc/src/transaction_status_service.rs | 6 ++---- runtime/src/bank.rs | 2 +- sdk/src/lib.rs | 1 + {accounts-db => sdk}/src/rent_debits.rs | 0 svm/src/account_loader.rs | 2 +- 10 files changed, 17 insertions(+), 23 deletions(-) rename {accounts-db => sdk}/src/rent_debits.rs (100%) diff --git a/accounts-db/src/accounts.rs b/accounts-db/src/accounts.rs index 446b1df9c..6dd5b6ba9 100644 --- a/accounts-db/src/accounts.rs +++ b/accounts-db/src/accounts.rs @@ -7,7 +7,6 @@ use { accounts_index::{IndexKey, ScanConfig, ScanError, ScanResult, ZeroLamport}, ancestors::Ancestors, nonce_info::{NonceFull, NonceInfo}, - rent_debits::RentDebits, storable_accounts::StorableAccounts, transaction_results::TransactionExecutionResult, }, @@ -24,6 +23,7 @@ use { State as NonceState, }, pubkey::Pubkey, + rent_debits::RentDebits, slot_hashes::SlotHashes, transaction::{Result, SanitizedTransaction, TransactionAccountLocks, TransactionError}, transaction_context::{IndexOfAccount, TransactionAccount}, diff --git a/accounts-db/src/lib.rs b/accounts-db/src/lib.rs index deec44048..1af013aab 100644 --- a/accounts-db/src/lib.rs +++ b/accounts-db/src/lib.rs @@ -35,7 +35,6 @@ pub mod partitioned_rewards; mod pubkey_bins; mod read_only_accounts_cache; pub mod rent_collector; -pub mod rent_debits; mod rolling_bit_field; pub mod secondary_index; pub mod shared_buffer_reader; diff --git a/accounts-db/src/nonce_info.rs b/accounts-db/src/nonce_info.rs index 8a6d3a40f..12079b6ce 100644 --- a/accounts-db/src/nonce_info.rs +++ b/accounts-db/src/nonce_info.rs @@ -1,13 +1,11 @@ -use { - crate::rent_debits::RentDebits, - solana_sdk::{ - account::{AccountSharedData, ReadableAccount, WritableAccount}, - message::SanitizedMessage, - nonce_account, - pubkey::Pubkey, - transaction::{self, TransactionError}, - transaction_context::TransactionAccount, - }, +use solana_sdk::{ + account::{AccountSharedData, ReadableAccount, WritableAccount}, + message::SanitizedMessage, + nonce_account, + pubkey::Pubkey, + rent_debits::RentDebits, + transaction::{self, TransactionError}, + transaction_context::TransactionAccount, }; pub trait NonceInfo { diff --git a/accounts-db/src/transaction_results.rs b/accounts-db/src/transaction_results.rs index 79efa6642..f2f51170a 100644 --- a/accounts-db/src/transaction_results.rs +++ b/accounts-db/src/transaction_results.rs @@ -5,12 +5,10 @@ )] pub use solana_sdk::inner_instruction::{InnerInstruction, InnerInstructionsList}; use { - crate::{ - nonce_info::{NonceFull, NonceInfo, NoncePartial}, - rent_debits::RentDebits, - }, + crate::nonce_info::{NonceFull, NonceInfo, NoncePartial}, solana_program_runtime::loaded_programs::LoadedProgramsForTxBatch, solana_sdk::{ + rent_debits::RentDebits, transaction::{self, TransactionError}, transaction_context::TransactionReturnData, }, diff --git a/ledger/src/blockstore_processor.rs b/ledger/src/blockstore_processor.rs index ee66f697e..b450caaa5 100644 --- a/ledger/src/blockstore_processor.rs +++ b/ledger/src/blockstore_processor.rs @@ -20,7 +20,6 @@ use { accounts_index::AccountSecondaryIndexes, accounts_update_notifier_interface::AccountsUpdateNotifier, epoch_accounts_hash::EpochAccountsHash, - rent_debits::RentDebits, transaction_results::{ TransactionExecutionDetails, TransactionExecutionResult, TransactionResults, }, @@ -49,6 +48,7 @@ use { genesis_config::GenesisConfig, hash::Hash, pubkey::Pubkey, + rent_debits::RentDebits, saturating_add_assign, signature::{Keypair, Signature}, timing, diff --git a/rpc/src/transaction_status_service.rs b/rpc/src/transaction_status_service.rs index 68640362b..028ebcfb2 100644 --- a/rpc/src/transaction_status_service.rs +++ b/rpc/src/transaction_status_service.rs @@ -212,10 +212,7 @@ pub(crate) mod tests { crossbeam_channel::unbounded, dashmap::DashMap, solana_account_decoder::parse_token::token_amount_to_ui_amount, - solana_accounts_db::{ - nonce_info::{NonceFull, NoncePartial}, - rent_debits::RentDebits, - }, + solana_accounts_db::nonce_info::{NonceFull, NoncePartial}, solana_ledger::{genesis_utils::create_genesis_config, get_tmp_ledger_path_auto_delete}, solana_runtime::bank::{Bank, TransactionBalancesSet}, solana_sdk::{ @@ -227,6 +224,7 @@ pub(crate) mod tests { nonce::{self, state::DurableNonce}, nonce_account, pubkey::Pubkey, + rent_debits::RentDebits, signature::{Keypair, Signature, Signer}, system_transaction, transaction::{ diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index eeb2c63b6..8a25cdd31 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -89,7 +89,6 @@ use { nonce_info::{NonceInfo, NoncePartial}, partitioned_rewards::PartitionedEpochRewardsConfig, rent_collector::{CollectedInfo, RentCollector, RENT_EXEMPT_RENT_EPOCH}, - rent_debits::RentDebits, sorted_storages::SortedStorages, stake_rewards::StakeReward, storable_accounts::StorableAccounts, @@ -143,6 +142,7 @@ use { precompiles::get_precompiles, pubkey::Pubkey, rent::RentDue, + rent_debits::RentDebits, reward_info::RewardInfo, saturating_add_assign, signature::{Keypair, Signature}, diff --git a/sdk/src/lib.rs b/sdk/src/lib.rs index 68fa20041..98576e4f3 100644 --- a/sdk/src/lib.rs +++ b/sdk/src/lib.rs @@ -92,6 +92,7 @@ pub mod program_utils; pub mod pubkey; pub mod quic; pub mod recent_blockhashes_account; +pub mod rent_debits; pub mod reward_info; pub mod reward_type; pub mod rpc_port; diff --git a/accounts-db/src/rent_debits.rs b/sdk/src/rent_debits.rs similarity index 100% rename from accounts-db/src/rent_debits.rs rename to sdk/src/rent_debits.rs diff --git a/svm/src/account_loader.rs b/svm/src/account_loader.rs index 689fb652e..fd0b975df 100644 --- a/svm/src/account_loader.rs +++ b/svm/src/account_loader.rs @@ -10,7 +10,6 @@ use { accounts::{LoadedTransaction, TransactionLoadResult, TransactionRent}, nonce_info::NonceFull, rent_collector::{RentCollector, RENT_EXEMPT_RENT_EPOCH}, - rent_debits::RentDebits, transaction_results::TransactionCheckResult, }, solana_program_runtime::{ @@ -29,6 +28,7 @@ use { nonce::State as NonceState, pubkey::Pubkey, rent::RentDue, + rent_debits::RentDebits, saturating_add_assign, sysvar::{self, instructions::construct_instructions_data}, transaction::{Result, SanitizedTransaction, TransactionError},