diff --git a/wallet/src/wallet.rs b/wallet/src/wallet.rs index ec2a33d430..c6f753ffc2 100644 --- a/wallet/src/wallet.rs +++ b/wallet/src/wallet.rs @@ -567,37 +567,11 @@ fn process_pay( None => config.id.pubkey(), }; - let contract_funds = Keypair::new(); let contract_state = Keypair::new(); - let budget_program_id = solana_budget_api::id(); - - // Create account for contract funds - let mut tx = SystemTransaction::new_program_account( - &config.id, - contract_funds.pubkey(), - blockhash, - lamports, - 0, - budget_program_id, - 0, - ); - send_and_confirm_transaction(&rpc_client, &mut tx, &config.id)?; - - // Create account for contract state - let mut tx = SystemTransaction::new_program_account( - &config.id, - contract_state.pubkey(), - blockhash, - 1, - 196, - budget_program_id, - 0, - ); - send_and_confirm_transaction(&rpc_client, &mut tx, &config.id)?; // Initializing contract let mut tx = BudgetTransaction::new_on_date( - &contract_funds, + &config.id, to, contract_state.pubkey(), dt, @@ -624,37 +598,11 @@ fn process_pay( ))? }; - let contract_funds = Keypair::new(); let contract_state = Keypair::new(); - let budget_program_id = solana_budget_api::id(); - - // Create account for contract funds - let mut tx = SystemTransaction::new_program_account( - &config.id, - contract_funds.pubkey(), - blockhash, - lamports, - 0, - budget_program_id, - 0, - ); - send_and_confirm_transaction(&rpc_client, &mut tx, &config.id)?; - - // Create account for contract state - let mut tx = SystemTransaction::new_program_account( - &config.id, - contract_state.pubkey(), - blockhash, - 1, - 196, - budget_program_id, - 0, - ); - send_and_confirm_transaction(&rpc_client, &mut tx, &config.id)?; // Initializing contract let mut tx = BudgetTransaction::new_when_signed( - &contract_funds, + &config.id, to, contract_state.pubkey(), witness, diff --git a/wallet/tests/pay.rs b/wallet/tests/pay.rs index 918c02df62..55402dd82e 100644 --- a/wallet/tests/pay.rs +++ b/wallet/tests/pay.rs @@ -62,16 +62,16 @@ fn test_wallet_timestamp_tx() { .expect("base58-encoded public key"); let process_id = Pubkey::new(&process_id_vec); - check_balance(39, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(11, &rpc_client, process_id); // contract balance + check_balance(40, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(10, &rpc_client, process_id); // contract balance check_balance(0, &rpc_client, bob_pubkey); // recipient balance // Sign transaction by config_witness config_witness.command = WalletCommand::TimeElapsed(bob_pubkey, process_id, dt); process_command(&config_witness).unwrap(); - check_balance(39, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(1, &rpc_client, process_id); // contract balance + check_balance(40, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(0, &rpc_client, process_id); // contract balance check_balance(10, &rpc_client, bob_pubkey); // recipient balance server.close().unwrap(); @@ -119,16 +119,16 @@ fn test_wallet_witness_tx() { .expect("base58-encoded public key"); let process_id = Pubkey::new(&process_id_vec); - check_balance(39, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(11, &rpc_client, process_id); // contract balance + check_balance(40, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(10, &rpc_client, process_id); // contract balance check_balance(0, &rpc_client, bob_pubkey); // recipient balance // Sign transaction by config_witness config_witness.command = WalletCommand::Witness(bob_pubkey, process_id); process_command(&config_witness).unwrap(); - check_balance(39, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(1, &rpc_client, process_id); // contract balance + check_balance(40, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(0, &rpc_client, process_id); // contract balance check_balance(10, &rpc_client, bob_pubkey); // recipient balance server.close().unwrap(); @@ -167,25 +167,25 @@ fn test_wallet_cancel_tx() { Some(vec![config_witness.id.pubkey()]), Some(config_payer.id.pubkey()), ); - let sig_response = process_command(&config_payer); + let sig_response = process_command(&config_payer).unwrap(); - let object: Value = serde_json::from_str(&sig_response.unwrap()).unwrap(); + let object: Value = serde_json::from_str(&sig_response).unwrap(); let process_id_str = object.get("processId").unwrap().as_str().unwrap(); let process_id_vec = bs58::decode(process_id_str) .into_vec() .expect("base58-encoded public key"); let process_id = Pubkey::new(&process_id_vec); - check_balance(39, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(11, &rpc_client, process_id); // contract balance + check_balance(40, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(10, &rpc_client, process_id); // contract balance check_balance(0, &rpc_client, bob_pubkey); // recipient balance // Sign transaction by config_witness config_payer.command = WalletCommand::Cancel(process_id); process_command(&config_payer).unwrap(); - check_balance(49, &rpc_client, config_payer.id.pubkey()); // config_payer balance - check_balance(1, &rpc_client, process_id); // contract balance + check_balance(50, &rpc_client, config_payer.id.pubkey()); // config_payer balance + check_balance(0, &rpc_client, process_id); // contract balance check_balance(0, &rpc_client, bob_pubkey); // recipient balance server.close().unwrap();