Rename SystemInstruction::Move to SystemInstruction::Transfer
This commit is contained in:
parent
43bb813cbe
commit
867f6f107b
|
@ -551,10 +551,9 @@ fn fund_keys(client: &ThinClient, source: &Keypair, dests: &[Keypair], lamports:
|
|||
.map(|(k, m)| {
|
||||
(
|
||||
k.clone(),
|
||||
Transaction::new_unsigned_instructions(SystemInstruction::new_move_many(
|
||||
&k.pubkey(),
|
||||
&m,
|
||||
)),
|
||||
Transaction::new_unsigned_instructions(
|
||||
SystemInstruction::new_transfer_many(&k.pubkey(), &m),
|
||||
),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
|
|
@ -56,7 +56,7 @@ fn bench_banking_stage_multi_accounts(bencher: &mut Bencher) {
|
|||
|
||||
let (verified_sender, verified_receiver) = channel();
|
||||
let bank = Arc::new(Bank::new(&genesis_block));
|
||||
let dummy = SystemTransaction::new_move(
|
||||
let dummy = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&mint_keypair.pubkey(),
|
||||
1,
|
||||
|
@ -78,7 +78,7 @@ fn bench_banking_stage_multi_accounts(bencher: &mut Bencher) {
|
|||
.collect();
|
||||
// fund all the accounts
|
||||
transactions.iter().for_each(|tx| {
|
||||
let fund = SystemTransaction::new_move(
|
||||
let fund = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&tx.message.account_keys[0],
|
||||
mint_total / txes as u64,
|
||||
|
@ -156,7 +156,7 @@ fn bench_banking_stage_multi_programs(bencher: &mut Bencher) {
|
|||
|
||||
let (verified_sender, verified_receiver) = channel();
|
||||
let bank = Arc::new(Bank::new(&genesis_block));
|
||||
let dummy = SystemTransaction::new_move(
|
||||
let dummy = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&mint_keypair.pubkey(),
|
||||
1,
|
||||
|
@ -194,7 +194,7 @@ fn bench_banking_stage_multi_programs(bencher: &mut Bencher) {
|
|||
})
|
||||
.collect();
|
||||
transactions.iter().for_each(|tx| {
|
||||
let fund = SystemTransaction::new_move(
|
||||
let fund = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&tx.message.account_keys[0],
|
||||
mint_total / txes as u64,
|
||||
|
|
|
@ -13,7 +13,7 @@ fn bench_block_to_blobs_to_block(bencher: &mut Bencher) {
|
|||
let zero = Hash::default();
|
||||
let one = hash(&zero.as_ref());
|
||||
let keypair = Keypair::new();
|
||||
let tx0 = SystemTransaction::new_move(&keypair, &keypair.pubkey(), 1, one, 0);
|
||||
let tx0 = SystemTransaction::new_transfer(&keypair, &keypair.pubkey(), 1, one, 0);
|
||||
let transactions = vec![tx0; 10];
|
||||
let entries = next_entries(&zero, 1, transactions);
|
||||
|
||||
|
|
|
@ -783,8 +783,8 @@ mod tests {
|
|||
let pubkey = Pubkey::new_rand();
|
||||
|
||||
let transactions = vec![
|
||||
SystemTransaction::new_move(&mint_keypair, &pubkey, 1, genesis_block.hash(), 0),
|
||||
SystemTransaction::new_move(&mint_keypair, &pubkey, 1, genesis_block.hash(), 0),
|
||||
SystemTransaction::new_transfer(&mint_keypair, &pubkey, 1, genesis_block.hash(), 0),
|
||||
SystemTransaction::new_transfer(&mint_keypair, &pubkey, 1, genesis_block.hash(), 0),
|
||||
];
|
||||
|
||||
let mut results = vec![Ok(()), Ok(())];
|
||||
|
@ -820,7 +820,7 @@ mod tests {
|
|||
let bank = Arc::new(Bank::new(&genesis_block));
|
||||
let pubkey = Pubkey::new_rand();
|
||||
|
||||
let transactions = vec![SystemTransaction::new_move(
|
||||
let transactions = vec![SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&pubkey,
|
||||
1,
|
||||
|
@ -873,7 +873,7 @@ mod tests {
|
|||
|
||||
assert_eq!(done, true);
|
||||
|
||||
let transactions = vec![SystemTransaction::new_move(
|
||||
let transactions = vec![SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&pubkey,
|
||||
2,
|
||||
|
|
|
@ -183,8 +183,10 @@ mod test {
|
|||
|
||||
let keypair0 = Keypair::new();
|
||||
let keypair1 = Keypair::new();
|
||||
let tx0 = SystemTransaction::new_move(&keypair0, &keypair1.pubkey(), 1, Hash::default(), 0);
|
||||
let tx1 = SystemTransaction::new_move(&keypair1, &keypair0.pubkey(), 2, Hash::default(), 0);
|
||||
let tx0 =
|
||||
SystemTransaction::new_transfer(&keypair0, &keypair1.pubkey(), 1, Hash::default(), 0);
|
||||
let tx1 =
|
||||
SystemTransaction::new_transfer(&keypair1, &keypair0.pubkey(), 2, Hash::default(), 0);
|
||||
let serialized_tx0 = serialize(&tx0).unwrap();
|
||||
let serialized_tx1 = serialize(&tx1).unwrap();
|
||||
let entry = Entry::new(&Hash::default(), 1, vec![tx0, tx1]);
|
||||
|
|
|
@ -649,7 +649,7 @@ mod tests {
|
|||
bank.last_blockhash(),
|
||||
0,
|
||||
),
|
||||
SystemTransaction::new_move(
|
||||
SystemTransaction::new_transfer(
|
||||
&keypair4,
|
||||
&keypair4.pubkey(),
|
||||
1,
|
||||
|
|
|
@ -37,7 +37,7 @@ pub fn spend_and_verify_all_nodes(
|
|||
.poll_get_balance(&funding_keypair.pubkey())
|
||||
.expect("balance in source");
|
||||
assert!(bal > 0);
|
||||
let mut transaction = SystemTransaction::new_move(
|
||||
let mut transaction = SystemTransaction::new_transfer(
|
||||
&funding_keypair,
|
||||
&random_keypair.pubkey(),
|
||||
1,
|
||||
|
@ -63,7 +63,7 @@ pub fn send_many_transactions(node: &ContactInfo, funding_keypair: &Keypair, num
|
|||
.poll_get_balance(&funding_keypair.pubkey())
|
||||
.expect("balance in source");
|
||||
assert!(bal > 0);
|
||||
let mut transaction = SystemTransaction::new_move(
|
||||
let mut transaction = SystemTransaction::new_transfer(
|
||||
&funding_keypair,
|
||||
&random_keypair.pubkey(),
|
||||
1,
|
||||
|
@ -183,7 +183,7 @@ pub fn kill_entry_and_spend_and_verify_rest(
|
|||
}
|
||||
|
||||
let random_keypair = Keypair::new();
|
||||
let mut transaction = SystemTransaction::new_move(
|
||||
let mut transaction = SystemTransaction::new_transfer(
|
||||
&funding_keypair,
|
||||
&random_keypair.pubkey(),
|
||||
1,
|
||||
|
|
|
@ -463,7 +463,7 @@ mod tests {
|
|||
let exit = Arc::new(AtomicBool::new(false));
|
||||
|
||||
let blockhash = bank.last_blockhash();
|
||||
let tx = SystemTransaction::new_move(&alice, pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, pubkey, 20, blockhash, 0);
|
||||
bank.process_transaction(&tx).expect("process transaction");
|
||||
|
||||
let request_processor = Arc::new(RwLock::new(JsonRpcRequestProcessor::new(
|
||||
|
@ -503,7 +503,7 @@ mod tests {
|
|||
);
|
||||
thread::spawn(move || {
|
||||
let blockhash = bank.last_blockhash();
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
bank.process_transaction(&tx).expect("process transaction");
|
||||
})
|
||||
.join()
|
||||
|
@ -575,7 +575,7 @@ mod tests {
|
|||
fn test_rpc_confirm_tx() {
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let (io, meta, blockhash, alice) = start_rpc_handler_with_tx(&bob_pubkey);
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
|
||||
let req = format!(
|
||||
r#"{{"jsonrpc":"2.0","id":1,"method":"confirmTransaction","params":["{}"]}}"#,
|
||||
|
@ -594,7 +594,7 @@ mod tests {
|
|||
fn test_rpc_get_signature_status() {
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let (io, meta, blockhash, alice) = start_rpc_handler_with_tx(&bob_pubkey);
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
|
||||
let req = format!(
|
||||
r#"{{"jsonrpc":"2.0","id":1,"method":"getSignatureStatus","params":["{}"]}}"#,
|
||||
|
@ -609,7 +609,7 @@ mod tests {
|
|||
assert_eq!(expected, result);
|
||||
|
||||
// Test getSignatureStatus request on unprocessed tx
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 10, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 10, blockhash, 0);
|
||||
let req = format!(
|
||||
r#"{{"jsonrpc":"2.0","id":1,"method":"getSignatureStatus","params":["{}"]}}"#,
|
||||
tx.signatures[0]
|
||||
|
@ -716,8 +716,13 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn test_rpc_verify_signature() {
|
||||
let tx =
|
||||
SystemTransaction::new_move(&Keypair::new(), &Pubkey::new_rand(), 20, hash(&[0]), 0);
|
||||
let tx = SystemTransaction::new_transfer(
|
||||
&Keypair::new(),
|
||||
&Pubkey::new_rand(),
|
||||
20,
|
||||
hash(&[0]),
|
||||
0,
|
||||
);
|
||||
assert_eq!(
|
||||
verify_signature(&tx.signatures[0].to_string()).unwrap(),
|
||||
tx.signatures[0]
|
||||
|
|
|
@ -270,7 +270,7 @@ mod tests {
|
|||
let rpc = RpcSolPubSubImpl::default();
|
||||
|
||||
// Test signature subscriptions
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
|
||||
let session = create_session();
|
||||
let (subscriber, _id_receiver, mut receiver) =
|
||||
|
@ -302,7 +302,7 @@ mod tests {
|
|||
let rpc = RpcSolPubSubImpl::default();
|
||||
io.extend_with(rpc.to_delegate());
|
||||
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let req = format!(
|
||||
r#"{{"jsonrpc":"2.0","id":1,"method":"signatureSubscribe","params":["{}"]}}"#,
|
||||
tx.signatures[0].to_string()
|
||||
|
|
|
@ -302,7 +302,7 @@ mod tests {
|
|||
let bank = Bank::new(&genesis_block);
|
||||
let alice = Keypair::new();
|
||||
let blockhash = bank.last_blockhash();
|
||||
let tx = SystemTransaction::new_move(&mint_keypair, &alice.pubkey(), 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&mint_keypair, &alice.pubkey(), 20, blockhash, 0);
|
||||
let signature = tx.signatures[0];
|
||||
bank.process_transaction(&tx).unwrap();
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ pub fn test_multisig_tx() -> Transaction {
|
|||
let lamports = 5;
|
||||
let blockhash = Hash::default();
|
||||
|
||||
let system_instruction = SystemInstruction::Move { lamports };
|
||||
let system_instruction = SystemInstruction::Transfer { lamports };
|
||||
|
||||
let program_ids = vec![system_program::id(), solana_budget_api::id()];
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ fn test_rpc_send_tx() {
|
|||
let blockhash = Hash::new(&blockhash_vec);
|
||||
|
||||
info!("blockhash: {:?}", blockhash);
|
||||
let tx = SystemTransaction::new_move(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let tx = SystemTransaction::new_transfer(&alice, &bob_pubkey, 20, blockhash, 0);
|
||||
let serial_tx = serialize(&tx).unwrap();
|
||||
|
||||
let client = reqwest::Client::new();
|
||||
|
|
|
@ -155,7 +155,8 @@ mod tests {
|
|||
bank.transfer(42, &mint_keypair, &system_pubkey).unwrap();
|
||||
let (bank_client, from_keypair, config_keypair) = create_config_client(&bank, mint_keypair);
|
||||
|
||||
let move_instruction = SystemInstruction::new_move(&system_pubkey, &Pubkey::default(), 42);
|
||||
let move_instruction =
|
||||
SystemInstruction::new_transfer(&system_pubkey, &Pubkey::default(), 42);
|
||||
let my_config = MyConfig::new(42);
|
||||
let mut store_instruction = ConfigInstruction::new_store(
|
||||
&from_keypair.pubkey(),
|
||||
|
|
|
@ -148,7 +148,7 @@ mod tests {
|
|||
// Sneak in an instruction so that the transaction is signed but
|
||||
// the 0th account in the second instruction is not! The program
|
||||
// needs to check that it's signed.
|
||||
let move_ix = SystemInstruction::new_move(&mallory_id, &vote_id, 1);
|
||||
let move_ix = SystemInstruction::new_transfer(&mallory_id, &vote_id, 1);
|
||||
let message = Message::new(vec![move_ix, vote_ix]);
|
||||
let result = bank_client.process_message(&[&mallory_keypair], message);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ fn bench_process_transaction(bencher: &mut Bencher) {
|
|||
.map(|_| {
|
||||
// Seed the 'from' account.
|
||||
let rando0 = Keypair::new();
|
||||
let tx = SystemTransaction::new_move(
|
||||
let tx = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&rando0.pubkey(),
|
||||
10_000,
|
||||
|
@ -32,8 +32,13 @@ 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_move(&rando0, &rando1.pubkey(), 1, bank.last_blockhash(), 0);
|
||||
let tx = SystemTransaction::new_transfer(
|
||||
&rando0,
|
||||
&rando1.pubkey(),
|
||||
1,
|
||||
bank.last_blockhash(),
|
||||
0,
|
||||
);
|
||||
assert_eq!(bank.process_transaction(&tx), Ok(()));
|
||||
|
||||
// Finally, return the transaction to the benchmark.
|
||||
|
|
|
@ -1027,8 +1027,8 @@ mod tests {
|
|||
let bank = Bank::new(&genesis_block);
|
||||
assert_eq!(bank.last_blockhash(), genesis_block.hash());
|
||||
|
||||
let t1 = SystemTransaction::new_move(&mint_keypair, &key1, 1, genesis_block.hash(), 0);
|
||||
let t2 = SystemTransaction::new_move(&mint_keypair, &key2, 1, genesis_block.hash(), 0);
|
||||
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 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_move_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
|
||||
SystemInstruction::new_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_move_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
|
||||
SystemInstruction::new_transfer_many(&mint_keypair.pubkey(), &[(key1, 1), (key2, 1)]);
|
||||
let tx = Transaction::new_signed_instructions(
|
||||
&[&mint_keypair],
|
||||
instructions,
|
||||
|
@ -1217,8 +1217,13 @@ mod tests {
|
|||
let key1 = Keypair::new();
|
||||
let key2 = Keypair::new();
|
||||
|
||||
let tx =
|
||||
SystemTransaction::new_move(&mint_keypair, &key1.pubkey(), 2, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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);
|
||||
|
@ -1226,7 +1231,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_move(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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);
|
||||
|
@ -1241,10 +1246,20 @@ mod tests {
|
|||
let mut bank = Bank::new(&genesis_block);
|
||||
|
||||
let key = Keypair::new();
|
||||
let tx1 =
|
||||
SystemTransaction::new_move(&mint_keypair, &key.pubkey(), 2, genesis_block.hash(), 0);
|
||||
let tx2 =
|
||||
SystemTransaction::new_move(&mint_keypair, &key.pubkey(), 5, genesis_block.hash(), 0);
|
||||
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 results = vec![
|
||||
Ok(()),
|
||||
|
@ -1347,7 +1362,7 @@ mod tests {
|
|||
let keypair = Keypair::new();
|
||||
let bank = Bank::new(&genesis_block);
|
||||
|
||||
let tx = SystemTransaction::new_move(
|
||||
let tx = SystemTransaction::new_transfer(
|
||||
&mint_keypair,
|
||||
&keypair.pubkey(),
|
||||
1,
|
||||
|
@ -1378,7 +1393,7 @@ mod tests {
|
|||
|
||||
bank.transfer(1, &mint_keypair, &key1.pubkey()).unwrap();
|
||||
assert_eq!(bank.get_balance(&key1.pubkey()), 1);
|
||||
let tx = SystemTransaction::new_move(&key1, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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);
|
||||
|
@ -1412,8 +1427,13 @@ mod tests {
|
|||
let key1 = Keypair::new();
|
||||
let parent = Arc::new(Bank::new(&genesis_block));
|
||||
|
||||
let tx =
|
||||
SystemTransaction::new_move(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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!(
|
||||
|
@ -1430,11 +1450,16 @@ mod tests {
|
|||
let key2 = Keypair::new();
|
||||
let parent = Arc::new(Bank::new(&genesis_block));
|
||||
|
||||
let tx =
|
||||
SystemTransaction::new_move(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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_move(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx = SystemTransaction::new_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);
|
||||
}
|
||||
|
@ -1491,8 +1516,13 @@ mod tests {
|
|||
let key2 = Keypair::new();
|
||||
let parent = Arc::new(Bank::new(&genesis_block));
|
||||
|
||||
let tx_move_mint_to_1 =
|
||||
SystemTransaction::new_move(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx_move_mint_to_1 = SystemTransaction::new_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 ");
|
||||
|
@ -1512,7 +1542,7 @@ mod tests {
|
|||
|
||||
assert_eq!(bank.transaction_count(), parent.transaction_count());
|
||||
let tx_move_1_to_2 =
|
||||
SystemTransaction::new_move(&key1, &key2.pubkey(), 1, genesis_block.hash(), 0);
|
||||
SystemTransaction::new_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);
|
||||
|
@ -1630,7 +1660,7 @@ mod tests {
|
|||
let key = Keypair::new();
|
||||
|
||||
let mut move_instruction =
|
||||
SystemInstruction::new_move(&mint_keypair.pubkey(), &key.pubkey(), 0);
|
||||
SystemInstruction::new_transfer(&mint_keypair.pubkey(), &key.pubkey(), 0);
|
||||
move_instruction.accounts[0].is_signer = false;
|
||||
|
||||
let tx = Transaction::new_signed_instructions(
|
||||
|
@ -1711,8 +1741,13 @@ 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_move(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx_move_mint_to_1 = SystemTransaction::new_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);
|
||||
}
|
||||
|
@ -1725,8 +1760,13 @@ mod tests {
|
|||
assert_eq!(bank.is_votable(), false);
|
||||
|
||||
// Set is_delta to true
|
||||
let tx_move_mint_to_1 =
|
||||
SystemTransaction::new_move(&mint_keypair, &key1.pubkey(), 1, genesis_block.hash(), 0);
|
||||
let tx_move_mint_to_1 = SystemTransaction::new_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);
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ impl<'a> BankClient<'a> {
|
|||
keypair: &Keypair,
|
||||
pubkey: &Pubkey,
|
||||
) -> Result<(), TransactionError> {
|
||||
let move_instruction = SystemInstruction::new_move(&keypair.pubkey(), pubkey, lamports);
|
||||
let move_instruction = SystemInstruction::new_transfer(&keypair.pubkey(), pubkey, lamports);
|
||||
self.process_instruction(keypair, move_instruction)
|
||||
}
|
||||
}
|
||||
|
@ -63,9 +63,9 @@ mod tests {
|
|||
let bank = Bank::new(&genesis_block);
|
||||
let bank_client = BankClient::new(&bank);
|
||||
|
||||
// Create 2-2 Multisig Move instruction.
|
||||
// Create 2-2 Multisig Transfer instruction.
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let mut move_instruction = SystemInstruction::new_move(&john_pubkey, &bob_pubkey, 42);
|
||||
let mut move_instruction = SystemInstruction::new_transfer(&john_pubkey, &bob_pubkey, 42);
|
||||
move_instruction
|
||||
.accounts
|
||||
.push(AccountMeta::new(jane_pubkey, true));
|
||||
|
|
|
@ -54,7 +54,7 @@ fn assign_account_to_program(
|
|||
fn move_lamports(keyed_accounts: &mut [KeyedAccount], lamports: u64) -> Result<(), SystemError> {
|
||||
if lamports > keyed_accounts[FROM_ACCOUNT_INDEX].account.lamports {
|
||||
debug!(
|
||||
"Move: insufficient lamports ({}, need {})",
|
||||
"Transfer: insufficient lamports ({}, need {})",
|
||||
keyed_accounts[FROM_ACCOUNT_INDEX].account.lamports, lamports
|
||||
);
|
||||
Err(SystemError::ResultWithNegativeLamports)?;
|
||||
|
@ -92,7 +92,7 @@ pub fn process_instruction(
|
|||
}
|
||||
assign_account_to_program(keyed_accounts, &program_id)
|
||||
}
|
||||
SystemInstruction::Move { lamports } => move_lamports(keyed_accounts, lamports),
|
||||
SystemInstruction::Transfer { lamports } => move_lamports(keyed_accounts, lamports),
|
||||
}
|
||||
.map_err(|e| InstructionError::CustomError(serialize(&e).unwrap()))
|
||||
} else {
|
||||
|
@ -297,7 +297,7 @@ mod tests {
|
|||
];
|
||||
let malicious_instruction = Instruction::new(
|
||||
system_program::id(),
|
||||
&SystemInstruction::Move { lamports: 10 },
|
||||
&SystemInstruction::Transfer { lamports: 10 },
|
||||
account_metas,
|
||||
);
|
||||
assert_eq!(
|
||||
|
|
|
@ -35,13 +35,13 @@ mod tests {
|
|||
// One signature, a fee.
|
||||
let pubkey0 = Pubkey::new(&[0; 32]);
|
||||
let pubkey1 = Pubkey::new(&[1; 32]);
|
||||
let ix0 = SystemInstruction::new_move(&pubkey0, &pubkey1, 1);
|
||||
let ix0 = SystemInstruction::new_transfer(&pubkey0, &pubkey1, 1);
|
||||
let message = Message::new(vec![ix0]);
|
||||
assert_eq!(FeeCalculator::new(2).calculate_fee(&message), 2);
|
||||
|
||||
// Two signatures, double the fee.
|
||||
let ix0 = SystemInstruction::new_move(&pubkey0, &pubkey1, 1);
|
||||
let ix1 = SystemInstruction::new_move(&pubkey1, &pubkey0, 1);
|
||||
let ix0 = SystemInstruction::new_transfer(&pubkey0, &pubkey1, 1);
|
||||
let ix1 = SystemInstruction::new_transfer(&pubkey1, &pubkey0, 1);
|
||||
let message = Message::new(vec![ix0, ix1]);
|
||||
assert_eq!(FeeCalculator::new(2).calculate_fee(&message), 4);
|
||||
}
|
||||
|
|
|
@ -25,10 +25,10 @@ pub enum SystemInstruction {
|
|||
/// Assign account to a program
|
||||
/// * Transaction::keys[0] - account to assign
|
||||
Assign { program_id: Pubkey },
|
||||
/// Move lamports
|
||||
/// Transfer lamports
|
||||
/// * Transaction::keys[0] - source
|
||||
/// * Transaction::keys[1] - destination
|
||||
Move { lamports: u64 },
|
||||
Transfer { lamports: u64 },
|
||||
}
|
||||
|
||||
impl SystemInstruction {
|
||||
|
@ -71,23 +71,23 @@ impl SystemInstruction {
|
|||
)
|
||||
}
|
||||
|
||||
pub fn new_move(from_id: &Pubkey, to_id: &Pubkey, lamports: u64) -> Instruction {
|
||||
pub fn new_transfer(from_id: &Pubkey, to_id: &Pubkey, lamports: u64) -> Instruction {
|
||||
let account_metas = vec![
|
||||
AccountMeta::new(*from_id, true),
|
||||
AccountMeta::new(*to_id, false),
|
||||
];
|
||||
Instruction::new(
|
||||
system_program::id(),
|
||||
&SystemInstruction::Move { lamports },
|
||||
&SystemInstruction::Transfer { lamports },
|
||||
account_metas,
|
||||
)
|
||||
}
|
||||
|
||||
/// Create and sign new SystemInstruction::Move transaction to many destinations
|
||||
pub fn new_move_many(from_id: &Pubkey, to_lamports: &[(Pubkey, u64)]) -> Vec<Instruction> {
|
||||
/// Create and sign new SystemInstruction::Transfer transaction to many destinations
|
||||
pub fn new_transfer_many(from_id: &Pubkey, to_lamports: &[(Pubkey, u64)]) -> Vec<Instruction> {
|
||||
to_lamports
|
||||
.iter()
|
||||
.map(|(to_id, lamports)| SystemInstruction::new_move(from_id, to_id, *lamports))
|
||||
.map(|(to_id, lamports)| SystemInstruction::new_transfer(from_id, to_id, *lamports))
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ mod tests {
|
|||
let carol_pubkey = Pubkey::new_rand();
|
||||
let to_lamports = vec![(bob_pubkey, 1), (carol_pubkey, 2)];
|
||||
|
||||
let instructions = SystemInstruction::new_move_many(&alice_pubkey, &to_lamports);
|
||||
let instructions = SystemInstruction::new_transfer_many(&alice_pubkey, &to_lamports);
|
||||
assert_eq!(instructions.len(), 2);
|
||||
assert_eq!(get_keys(&instructions[0]), vec![alice_pubkey, bob_pubkey]);
|
||||
assert_eq!(get_keys(&instructions[1]), vec![alice_pubkey, carol_pubkey]);
|
||||
|
|
|
@ -60,8 +60,8 @@ impl SystemTransaction {
|
|||
Transaction::new_signed_instructions(&[from_keypair], instructions, recent_blockhash)
|
||||
}
|
||||
|
||||
/// Create and sign new SystemInstruction::Move transaction
|
||||
pub fn new_move(
|
||||
/// Create and sign new SystemInstruction::Transfer transaction
|
||||
pub fn new_transfer(
|
||||
from_keypair: &Keypair,
|
||||
to: &Pubkey,
|
||||
lamports: u64,
|
||||
|
@ -69,7 +69,7 @@ impl SystemTransaction {
|
|||
_fee: u64,
|
||||
) -> Transaction {
|
||||
let from_pubkey = from_keypair.pubkey();
|
||||
let move_instruction = SystemInstruction::new_move(&from_pubkey, to, lamports);
|
||||
let move_instruction = SystemInstruction::new_transfer(&from_pubkey, to, lamports);
|
||||
let instructions = vec![move_instruction];
|
||||
Transaction::new_signed_instructions(&[from_keypair], instructions, recent_blockhash)
|
||||
}
|
||||
|
|
|
@ -321,7 +321,7 @@ mod tests {
|
|||
let alice_keypair = Keypair::new();
|
||||
let alice_pubkey = alice_keypair.pubkey();
|
||||
let bob_pubkey = Pubkey::new_rand();
|
||||
let ix = SystemInstruction::new_move(&alice_pubkey, &bob_pubkey, 42);
|
||||
let ix = SystemInstruction::new_transfer(&alice_pubkey, &bob_pubkey, 42);
|
||||
|
||||
let expected_data_size = size_of::<u32>() + size_of::<u64>();
|
||||
assert_eq!(expected_data_size, 12);
|
||||
|
|
|
@ -84,7 +84,7 @@ fn test_bad_sig() {
|
|||
|
||||
let mut tr2 = SystemTransaction::new_user_account(&alice, &bob_pubkey, 501, blockhash, 0);
|
||||
let mut instruction2 = deserialize(tr2.data(0)).unwrap();
|
||||
if let SystemInstruction::Move { ref mut lamports } = instruction2 {
|
||||
if let SystemInstruction::Transfer { ref mut lamports } = instruction2 {
|
||||
*lamports = 502;
|
||||
}
|
||||
tr2.instructions[0].data = serialize(&instruction2).unwrap();
|
||||
|
|
|
@ -450,7 +450,7 @@ fn process_pay(
|
|||
let blockhash = rpc_client.get_recent_blockhash()?;
|
||||
|
||||
if timestamp == None && *witnesses == None {
|
||||
let mut tx = SystemTransaction::new_move(&config.keypair, to, lamports, blockhash, 0);
|
||||
let mut tx = SystemTransaction::new_transfer(&config.keypair, to, lamports, blockhash, 0);
|
||||
let signature_str = rpc_client.send_and_confirm_transaction(&mut tx, &config.keypair)?;
|
||||
Ok(signature_str.to_string())
|
||||
} else if *witnesses == None {
|
||||
|
|
Loading…
Reference in New Issue