sdk: put AccountSharedData::set_data() behind feature="dev-context-only-utils" (#33086)

set_data() is deprecated in favor of set_data_from_slice().
This commit is contained in:
Alessandro Decina 2023-09-01 21:02:14 +07:00 committed by GitHub
parent b4efbf07f7
commit 16ea141402
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 17 additions and 8 deletions

2
Cargo.lock generated
View File

@ -6924,6 +6924,7 @@ dependencies = [
"num_enum 0.6.1",
"pbkdf2 0.11.0",
"qstring",
"qualifier_attr",
"rand 0.7.3",
"rand 0.8.5",
"rustc_version 0.4.0",
@ -6939,6 +6940,7 @@ dependencies = [
"solana-frozen-abi-macro",
"solana-logger",
"solana-program",
"solana-sdk",
"solana-sdk-macro",
"static_assertions",
"thiserror",

View File

@ -38,7 +38,7 @@ pub fn get_append_vec_path(path: &str) -> TempFile {
pub fn create_test_account(sample: usize) -> (StoredMeta, AccountSharedData) {
let data_len = sample % 256;
let mut account = AccountSharedData::new(sample as u64, 0, &Pubkey::default());
account.set_data((0..data_len).map(|_| data_len as u8).collect());
account.set_data_from_slice(&vec![data_len as u8; data_len]);
let stored_meta = StoredMeta {
write_version_obsolete: 0,
pubkey: Pubkey::default(),

View File

@ -85,6 +85,7 @@ serial_test = { workspace = true }
solana-core = { path = ".", features = ["dev-context-only-utils"] }
solana-logger = { workspace = true }
solana-program-runtime = { workspace = true }
solana-sdk = { workspace = true, features = ["dev-context-only-utils"] }
solana-stake-program = { workspace = true }
static_assertions = { workspace = true }
systemstat = { workspace = true }

View File

@ -87,8 +87,8 @@ pub fn load_genesis_accounts(file: &str, genesis_config: &mut GenesisConfig) ->
let mut account = AccountSharedData::new(account_details.balance, 0, &owner_program_id);
if account_details.data != "~" {
account.set_data(
BASE64_STANDARD
account.set_data_from_slice(
&BASE64_STANDARD
.decode(account_details.data.as_str())
.map_err(|err| {
io::Error::new(

View File

@ -493,7 +493,7 @@ pub fn program(ledger_path: &Path, matches: &ArgMatches<'_>) {
if space > 0 {
let lamports = account_info.lamports.unwrap_or(account.lamports());
let mut account = AccountSharedData::new(lamports, space, &owner);
account.set_data(data);
account.set_data_from_slice(&data);
account
} else {
account
@ -508,7 +508,7 @@ pub fn program(ledger_path: &Path, matches: &ArgMatches<'_>) {
});
let lamports = account_info.lamports.unwrap_or(0);
let mut account = AccountSharedData::new(lamports, space, &owner);
account.set_data(data);
account.set_data_from_slice(&data);
account
};
transaction_accounts.push((pubkey, account));

View File

@ -85,7 +85,7 @@ pub async fn add_lookup_table_account(
data.len(),
&solana_address_lookup_table_program::id(),
);
account.set_data(data);
account.set_data_from_slice(&data);
context.set_account(&account_address, &account);
account

View File

@ -6026,6 +6026,7 @@ dependencies = [
"num_enum 0.6.1",
"pbkdf2 0.11.0",
"qstring",
"qualifier_attr",
"rand 0.7.3",
"rand 0.8.5",
"rustc_version",

View File

@ -1181,7 +1181,7 @@ mod tests {
let lamports = rent.minimum_balance(version1_14_11_serialized_len);
let mut vote_account =
AccountSharedData::new(lamports, version1_14_11_serialized_len, &id());
vote_account.set_data(version1_14_11_serialized);
vote_account.set_data_from_slice(&version1_14_11_serialized);
// Create a fake TransactionContext with a fake InstructionContext with a single account which is the
// vote account that was just created

View File

@ -64,6 +64,7 @@ num-traits = { workspace = true }
num_enum = { workspace = true }
pbkdf2 = { workspace = true }
qstring = { workspace = true }
qualifier_attr = { workspace = true }
rand = { workspace = true, optional = true }
rand0-7 = { package = "rand", version = "0.7", optional = true }
rustversion = { workspace = true }
@ -90,6 +91,7 @@ js-sys = { workspace = true }
anyhow = { workspace = true }
curve25519-dalek = { workspace = true }
hex = { workspace = true }
solana-sdk = { path = ".", features = ["dev-context-only-utils"] }
static_assertions = { workspace = true }
tiny-bip39 = { workspace = true }

View File

@ -1,5 +1,7 @@
//! The Solana [`Account`] type.
#[cfg(feature = "dev-context-only-utils")]
use qualifier_attr::qualifiers;
use {
crate::{
clock::{Epoch, INITIAL_RENT_EPOCH},
@ -598,7 +600,8 @@ impl AccountSharedData {
};
}
pub fn set_data(&mut self, data: Vec<u8>) {
#[cfg_attr(feature = "dev-context-only-utils", qualifiers(pub))]
fn set_data(&mut self, data: Vec<u8>) {
self.data = Arc::new(data);
}