Remove Instruction wrapper structs and name functions after enum fields

This commit is contained in:
Greg Fitzgerald
2019-04-03 09:45:57 -06:00
committed by Grimes
parent 867f6f107b
commit 35298e01a8
53 changed files with 835 additions and 922 deletions

View File

@ -6,7 +6,7 @@ use solana_runtime::bank::*;
use solana_sdk::genesis_block::GenesisBlock;
use solana_sdk::hash::hash;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_transaction::SystemTransaction;
use solana_sdk::system_transaction;
use solana_sdk::timing::{DEFAULT_TICKS_PER_SLOT, MAX_RECENT_BLOCKHASHES};
use test::Bencher;
@ -21,7 +21,7 @@ fn bench_process_transaction(bencher: &mut Bencher) {
.map(|_| {
// Seed the 'from' account.
let rando0 = Keypair::new();
let tx = SystemTransaction::new_transfer(
let tx = system_transaction::transfer(
&mint_keypair,
&rando0.pubkey(),
10_000,
@ -32,7 +32,7 @@ fn bench_process_transaction(bencher: &mut Bencher) {
// Seed the 'to' account and a cell for its signature.
let rando1 = Keypair::new();
let tx = SystemTransaction::new_transfer(
let tx = system_transaction::transfer(
&rando0,
&rando1.pubkey(),
1,

View File

@ -20,7 +20,7 @@ use solana_sdk::hash::{extend_and_hash, Hash};
use solana_sdk::native_loader;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, Signature};
use solana_sdk::system_transaction::SystemTransaction;
use solana_sdk::system_transaction;
use solana_sdk::timing::{duration_as_ms, duration_as_us, MAX_RECENT_BLOCKHASHES};
use solana_sdk::transaction::{Transaction, TransactionError};
use solana_vote_api::vote_instruction::Vote;
@ -777,7 +777,7 @@ impl Bank {
/// `n` lamports where `blockhash` is the last Entry ID observed by the client.
pub fn transfer(&self, n: u64, keypair: &Keypair, to: &Pubkey) -> Result<Signature> {
let blockhash = self.last_blockhash();
let tx = SystemTransaction::new_user_account(keypair, to, n, blockhash, 0);
let tx = system_transaction::create_user_account(keypair, to, n, blockhash, 0);
let signature = tx.signatures[0];
self.process_transaction(&tx).map(|_| signature)
}
@ -973,8 +973,8 @@ mod tests {
use solana_sdk::hash;
use solana_sdk::instruction::InstructionError;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_instruction::SystemInstruction;
use solana_sdk::system_transaction::SystemTransaction;
use solana_sdk::system_instruction;
use solana_sdk::system_transaction;
#[test]
fn test_bank_new() {
@ -1027,8 +1027,8 @@ mod tests {
let bank = Bank::new(&genesis_block);
assert_eq!(bank.last_blockhash(), genesis_block.hash());
let t1 = SystemTransaction::new_transfer(&mint_keypair, &key1, 1, genesis_block.hash(), 0);
let t2 = SystemTransaction::new_transfer(&mint_keypair, &key2, 1, genesis_block.hash(), 0);
let t1 = system_transaction::transfer(&mint_keypair, &key1, 1, genesis_block.hash(), 0);
let t2 = system_transaction::transfer(&mint_keypair, &key2, 1, genesis_block.hash(), 0);
let res = bank.process_transactions(&vec![t1.clone(), t2.clone()]);
assert_eq!(res.len(), 2);
assert_eq!(res[0], Ok(()));
@ -1051,7 +1051,7 @@ mod tests {
let key2 = Pubkey::new_rand();
let bank = Bank::new(&genesis_block);
let instructions =
SystemInstruction::new_transfer_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
system_instruction::transfer_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
let tx = Transaction::new_signed_instructions(
&[&mint_keypair],
instructions,
@ -1076,7 +1076,7 @@ mod tests {
let key2 = Pubkey::new_rand();
let bank = Bank::new(&genesis_block);
let instructions =
SystemInstruction::new_transfer_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
system_instruction::transfer_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
let tx = Transaction::new_signed_instructions(
&[&mint_keypair],
instructions,
@ -1098,7 +1098,7 @@ mod tests {
let dest = Keypair::new();
// source with 0 program context
let tx = SystemTransaction::new_user_account(
let tx = system_transaction::create_user_account(
&mint_keypair,
&dest.pubkey(),
2,
@ -1217,13 +1217,8 @@ mod tests {
let key1 = Keypair::new();
let key2 = Keypair::new();
let tx = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
2,
genesis_block.hash(),
0,
);
let tx =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 2, genesis_block.hash(), 0);
let initial_balance = bank.get_balance(&leader);
assert_eq!(bank.process_transaction(&tx), Ok(()));
assert_eq!(bank.get_balance(&leader), initial_balance + 3);
@ -1231,7 +1226,7 @@ mod tests {
assert_eq!(bank.get_balance(&mint_keypair.pubkey()), 100 - 5 - 3);
bank.fee_calculator.lamports_per_signature = 1;
let tx = SystemTransaction::new_transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
let tx = system_transaction::transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(bank.process_transaction(&tx), Ok(()));
assert_eq!(bank.get_balance(&leader), initial_balance + 4);
assert_eq!(bank.get_balance(&key1.pubkey()), 0);
@ -1246,20 +1241,10 @@ mod tests {
let mut bank = Bank::new(&genesis_block);
let key = Keypair::new();
let tx1 = SystemTransaction::new_transfer(
&mint_keypair,
&key.pubkey(),
2,
genesis_block.hash(),
0,
);
let tx2 = SystemTransaction::new_transfer(
&mint_keypair,
&key.pubkey(),
5,
genesis_block.hash(),
0,
);
let tx1 =
system_transaction::transfer(&mint_keypair, &key.pubkey(), 2, genesis_block.hash(), 0);
let tx2 =
system_transaction::transfer(&mint_keypair, &key.pubkey(), 5, genesis_block.hash(), 0);
let results = vec![
Ok(()),
@ -1282,14 +1267,14 @@ mod tests {
let (genesis_block, mint_keypair) = GenesisBlock::new(2);
let bank = Bank::new(&genesis_block);
let keypair = Keypair::new();
let tx0 = SystemTransaction::new_user_account(
let tx0 = system_transaction::create_user_account(
&mint_keypair,
&keypair.pubkey(),
2,
genesis_block.hash(),
0,
);
let tx1 = SystemTransaction::new_user_account(
let tx1 = system_transaction::create_user_account(
&keypair,
&mint_keypair.pubkey(),
1,
@ -1322,7 +1307,7 @@ mod tests {
let alice = Keypair::new();
let bob = Keypair::new();
let tx1 = SystemTransaction::new_user_account(
let tx1 = system_transaction::create_user_account(
&mint_keypair,
&alice.pubkey(),
1,
@ -1362,7 +1347,7 @@ mod tests {
let keypair = Keypair::new();
let bank = Bank::new(&genesis_block);
let tx = SystemTransaction::new_transfer(
let tx = system_transaction::transfer(
&mint_keypair,
&keypair.pubkey(),
1,
@ -1393,7 +1378,7 @@ mod tests {
bank.transfer(1, &mint_keypair, &key1.pubkey()).unwrap();
assert_eq!(bank.get_balance(&key1.pubkey()), 1);
let tx = SystemTransaction::new_transfer(&key1, &key1.pubkey(), 1, genesis_block.hash(), 0);
let tx = system_transaction::transfer(&key1, &key1.pubkey(), 1, genesis_block.hash(), 0);
let res = bank.process_transactions(&vec![tx.clone()]);
assert_eq!(res.len(), 1);
assert_eq!(bank.get_balance(&key1.pubkey()), 1);
@ -1427,13 +1412,8 @@ mod tests {
let key1 = Keypair::new();
let parent = Arc::new(Bank::new(&genesis_block));
let tx = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
1,
genesis_block.hash(),
0,
);
let tx =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(parent.process_transaction(&tx), Ok(()));
let bank = new_from_parent(&parent);
assert_eq!(
@ -1450,16 +1430,11 @@ mod tests {
let key2 = Keypair::new();
let parent = Arc::new(Bank::new(&genesis_block));
let tx = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
1,
genesis_block.hash(),
0,
);
let tx =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(parent.process_transaction(&tx), Ok(()));
let bank = new_from_parent(&parent);
let tx = SystemTransaction::new_transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
let tx = system_transaction::transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(bank.process_transaction(&tx), Ok(()));
assert_eq!(parent.get_signature_status(&tx.signatures[0]), None);
}
@ -1516,13 +1491,8 @@ mod tests {
let key2 = Keypair::new();
let parent = Arc::new(Bank::new(&genesis_block));
let tx_move_mint_to_1 = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
1,
genesis_block.hash(),
0,
);
let tx_move_mint_to_1 =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
trace!("parent process tx ");
assert_eq!(parent.process_transaction(&tx_move_mint_to_1), Ok(()));
trace!("done parent process tx ");
@ -1542,7 +1512,7 @@ mod tests {
assert_eq!(bank.transaction_count(), parent.transaction_count());
let tx_move_1_to_2 =
SystemTransaction::new_transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
system_transaction::transfer(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(bank.process_transaction(&tx_move_1_to_2), Ok(()));
assert_eq!(bank.transaction_count(), 2);
assert_eq!(parent.transaction_count(), 1);
@ -1660,7 +1630,7 @@ mod tests {
let key = Keypair::new();
let mut move_instruction =
SystemInstruction::new_transfer(&mint_keypair.pubkey(), &key.pubkey(), 0);
system_instruction::transfer(&mint_keypair.pubkey(), &key.pubkey(), 0);
move_instruction.accounts[0].is_signer = false;
let tx = Transaction::new_signed_instructions(
@ -1741,13 +1711,8 @@ mod tests {
let (genesis_block, mint_keypair) = GenesisBlock::new(500);
let bank = Arc::new(Bank::new(&genesis_block));
let key1 = Keypair::new();
let tx_move_mint_to_1 = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
1,
genesis_block.hash(),
0,
);
let tx_move_mint_to_1 =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(bank.process_transaction(&tx_move_mint_to_1), Ok(()));
assert_eq!(bank.is_delta.load(Ordering::Relaxed), true);
}
@ -1760,13 +1725,8 @@ mod tests {
assert_eq!(bank.is_votable(), false);
// Set is_delta to true
let tx_move_mint_to_1 = SystemTransaction::new_transfer(
&mint_keypair,
&key1.pubkey(),
1,
genesis_block.hash(),
0,
);
let tx_move_mint_to_1 =
system_transaction::transfer(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
assert_eq!(bank.process_transaction(&tx_move_mint_to_1), Ok(()));
assert_eq!(bank.is_votable(), false);

View File

@ -3,7 +3,7 @@ use solana_sdk::instruction::Instruction;
use solana_sdk::message::Message;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_instruction::SystemInstruction;
use solana_sdk::system_instruction;
use solana_sdk::transaction::{Transaction, TransactionError};
pub struct BankClient<'a> {
@ -42,7 +42,7 @@ impl<'a> BankClient<'a> {
keypair: &Keypair,
pubkey: &Pubkey,
) -> Result<(), TransactionError> {
let move_instruction = SystemInstruction::new_transfer(&keypair.pubkey(), pubkey, lamports);
let move_instruction = system_instruction::transfer(&keypair.pubkey(), pubkey, lamports);
self.process_instruction(keypair, move_instruction)
}
}
@ -65,7 +65,7 @@ mod tests {
// Create 2-2 Multisig Transfer instruction.
let bob_pubkey = Pubkey::new_rand();
let mut move_instruction = SystemInstruction::new_transfer(&john_pubkey, &bob_pubkey, 42);
let mut move_instruction = system_instruction::transfer(&john_pubkey, &bob_pubkey, 42);
move_instruction
.accounts
.push(AccountMeta::new(jane_pubkey, true));

View File

@ -1,10 +1,10 @@
use crate::bank_client::BankClient;
use serde::Serialize;
use solana_sdk::instruction::{AccountMeta, Instruction};
use solana_sdk::loader_instruction::LoaderInstruction;
use solana_sdk::loader_instruction;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_instruction::SystemInstruction;
use solana_sdk::system_instruction;
pub fn load_program(
bank_client: &BankClient,
@ -15,7 +15,7 @@ pub fn load_program(
let program_keypair = Keypair::new();
let program_pubkey = program_keypair.pubkey();
let instruction = SystemInstruction::new_account(
let instruction = system_instruction::create_account(
&from_keypair.pubkey(),
&program_pubkey,
1,
@ -30,14 +30,14 @@ pub fn load_program(
let mut offset = 0;
for chunk in program.chunks(chunk_size) {
let instruction =
LoaderInstruction::new_write(&program_pubkey, loader_id, offset, chunk.to_vec());
loader_instruction::write(&program_pubkey, loader_id, offset, chunk.to_vec());
bank_client
.process_instruction(&program_keypair, instruction)
.unwrap();
offset += chunk_size as u32;
}
let instruction = LoaderInstruction::new_finalize(&program_pubkey, loader_id);
let instruction = loader_instruction::finalize(&program_pubkey, loader_id);
bank_client
.process_instruction(&program_keypair, instruction)
.unwrap();

View File

@ -110,7 +110,6 @@ mod tests {
use solana_sdk::genesis_block::GenesisBlock;
use solana_sdk::instruction::{AccountMeta, Instruction, InstructionError};
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::system_instruction::SystemInstruction;
use solana_sdk::system_program;
use solana_sdk::transaction::TransactionError;