Remove support for dynamically loaded native programs (#20444)
This commit is contained in:
@ -6293,7 +6293,6 @@ pub(crate) mod tests {
|
||||
status_cache::MAX_CACHE_ENTRIES,
|
||||
};
|
||||
use crossbeam_channel::{bounded, unbounded};
|
||||
use solana_program_runtime::NativeLoaderError;
|
||||
#[allow(deprecated)]
|
||||
use solana_sdk::sysvar::fees::Fees;
|
||||
use solana_sdk::{
|
||||
@ -13420,67 +13419,6 @@ pub(crate) mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_bad_native_loader() {
|
||||
let (genesis_config, mint_keypair) = create_genesis_config(50000);
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
let to_keypair = Keypair::new();
|
||||
|
||||
let tx = Transaction::new_signed_with_payer(
|
||||
&[
|
||||
system_instruction::create_account(
|
||||
&mint_keypair.pubkey(),
|
||||
&to_keypair.pubkey(),
|
||||
10000,
|
||||
0,
|
||||
&native_loader::id(),
|
||||
),
|
||||
Instruction::new_with_bincode(
|
||||
native_loader::id(),
|
||||
&(),
|
||||
vec![AccountMeta::new(to_keypair.pubkey(), false)],
|
||||
),
|
||||
],
|
||||
Some(&mint_keypair.pubkey()),
|
||||
&[&mint_keypair, &to_keypair],
|
||||
bank.last_blockhash(),
|
||||
);
|
||||
assert_eq!(
|
||||
bank.process_transaction(&tx),
|
||||
Err(TransactionError::InstructionError(
|
||||
1,
|
||||
InstructionError::Custom(NativeLoaderError::InvalidAccountData as u32)
|
||||
))
|
||||
);
|
||||
|
||||
let tx = Transaction::new_signed_with_payer(
|
||||
&[
|
||||
system_instruction::create_account(
|
||||
&mint_keypair.pubkey(),
|
||||
&to_keypair.pubkey(),
|
||||
10000,
|
||||
100,
|
||||
&native_loader::id(),
|
||||
),
|
||||
Instruction::new_with_bincode(
|
||||
native_loader::id(),
|
||||
&(),
|
||||
vec![AccountMeta::new(to_keypair.pubkey(), false)],
|
||||
),
|
||||
],
|
||||
Some(&mint_keypair.pubkey()),
|
||||
&[&mint_keypair, &to_keypair],
|
||||
bank.last_blockhash(),
|
||||
);
|
||||
assert_eq!(
|
||||
bank.process_transaction(&tx),
|
||||
Err(TransactionError::InstructionError(
|
||||
1,
|
||||
InstructionError::Custom(NativeLoaderError::InvalidAccountData as u32)
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_debug_bank() {
|
||||
let (genesis_config, _mint_keypair) = create_genesis_config(50000);
|
||||
|
@ -1,21 +0,0 @@
|
||||
use solana_runtime::{
|
||||
bank::Bank, bank_client::BankClient, loader_utils::create_invoke_instruction,
|
||||
};
|
||||
use solana_sdk::{client::SyncClient, genesis_config::create_genesis_config, signature::Signer};
|
||||
|
||||
#[test]
|
||||
fn test_program_native_noop() {
|
||||
solana_logger::setup();
|
||||
|
||||
let (genesis_config, alice_keypair) = create_genesis_config(50);
|
||||
let program_id = solana_sdk::pubkey::new_rand();
|
||||
let bank = Bank::new_for_tests(&genesis_config);
|
||||
bank.add_builtin_account("solana_noop_program", &program_id, false);
|
||||
|
||||
// Call user program
|
||||
let instruction = create_invoke_instruction(alice_keypair.pubkey(), program_id, &1u8);
|
||||
let bank_client = BankClient::new(bank);
|
||||
bank_client
|
||||
.send_and_confirm_instruction(&alice_keypair, instruction)
|
||||
.unwrap();
|
||||
}
|
Reference in New Issue
Block a user