[wallet] Add tests for Wallet::sign()
				
					
				
			This commit is contained in:
		
							parent
							
								
									ff50087de5
								
							
						
					
					
						commit
						7a127d0275
					
				| @ -2194,4 +2194,53 @@ mod test { | |||||||
| 
 | 
 | ||||||
|         assert_fee_rate!(psbt.extract_tx(), details.fees, FeeRate::from_sat_per_vb(5.0), @add_signature); |         assert_fee_rate!(psbt.extract_tx(), details.fees, FeeRate::from_sat_per_vb(5.0), @add_signature); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     #[test] | ||||||
|  |     fn test_sign_single_xprv() { | ||||||
|  |         let (wallet, _, _) = get_funded_wallet("wpkh(tprv8ZgxMBicQKsPd3EupYiPRhaMooHKUHJxNsTfYuScep13go8QFfHdtkG9nRkFGb7busX4isf6X9dURGCoKgitaApQ6MupRhZMcELAxTBRJgS/*)"); | ||||||
|  |         let addr = wallet.get_new_address().unwrap(); | ||||||
|  |         let (psbt, _) = wallet | ||||||
|  |             .create_tx(TxBuilder::from_addressees(vec![(addr.clone(), 0)]).send_all()) | ||||||
|  |             .unwrap(); | ||||||
|  | 
 | ||||||
|  |         let (signed_psbt, finalized) = wallet.sign(psbt, None).unwrap(); | ||||||
|  |         assert_eq!(finalized, true); | ||||||
|  | 
 | ||||||
|  |         let extracted = signed_psbt.extract_tx(); | ||||||
|  |         assert_eq!(extracted.input[0].witness.len(), 2); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     #[test] | ||||||
|  |     fn test_sign_single_wif() { | ||||||
|  |         let (wallet, _, _) = | ||||||
|  |             get_funded_wallet("wpkh(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW)"); | ||||||
|  |         let addr = wallet.get_new_address().unwrap(); | ||||||
|  |         let (psbt, _) = wallet | ||||||
|  |             .create_tx(TxBuilder::from_addressees(vec![(addr.clone(), 0)]).send_all()) | ||||||
|  |             .unwrap(); | ||||||
|  | 
 | ||||||
|  |         let (signed_psbt, finalized) = wallet.sign(psbt, None).unwrap(); | ||||||
|  |         assert_eq!(finalized, true); | ||||||
|  | 
 | ||||||
|  |         let extracted = signed_psbt.extract_tx(); | ||||||
|  |         assert_eq!(extracted.input[0].witness.len(), 2); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     #[test] | ||||||
|  |     fn test_sign_single_xprv_no_hd_keypaths() { | ||||||
|  |         let (wallet, _, _) = get_funded_wallet("wpkh(tprv8ZgxMBicQKsPd3EupYiPRhaMooHKUHJxNsTfYuScep13go8QFfHdtkG9nRkFGb7busX4isf6X9dURGCoKgitaApQ6MupRhZMcELAxTBRJgS/*)"); | ||||||
|  |         let addr = wallet.get_new_address().unwrap(); | ||||||
|  |         let (mut psbt, _) = wallet | ||||||
|  |             .create_tx(TxBuilder::from_addressees(vec![(addr.clone(), 0)]).send_all()) | ||||||
|  |             .unwrap(); | ||||||
|  | 
 | ||||||
|  |         psbt.inputs[0].hd_keypaths.clear(); | ||||||
|  |         assert_eq!(psbt.inputs[0].hd_keypaths.len(), 0); | ||||||
|  | 
 | ||||||
|  |         let (signed_psbt, finalized) = wallet.sign(psbt, None).unwrap(); | ||||||
|  |         assert_eq!(finalized, true); | ||||||
|  | 
 | ||||||
|  |         let extracted = signed_psbt.extract_tx(); | ||||||
|  |         assert_eq!(extracted.input[0].witness.len(), 2); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user