Simplify
This commit is contained in:
		
							parent
							
								
									a48f9b4387
								
							
						
					
					
						commit
						5512b31969
					
				
							
								
								
									
										18
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| use bdk::bitcoin::hashes::hex::ToHex; | ||||
| use bdk::bitcoin::secp256k1::Secp256k1; | ||||
| use bdk::bitcoin::util::psbt::PartiallySignedTransaction; | ||||
| use bdk::bitcoin::{Address, Network}; | ||||
| use bdk::bitcoin::{Address, Network, Script}; | ||||
| use bdk::blockchain::any::{AnyBlockchain, AnyBlockchainConfig}; | ||||
| use bdk::blockchain::Progress; | ||||
| use bdk::blockchain::{ | ||||
| @ -277,6 +277,12 @@ fn restore_extended_key( | ||||
|     }) | ||||
| } | ||||
| 
 | ||||
| fn to_script_pubkey(address: &str) -> Result<Script, BdkError> { | ||||
|     Address::from_str(address) | ||||
|         .map(|x| x.script_pubkey()) | ||||
|         .map_err(|e| BdkError::Generic(e.to_string())) | ||||
| } | ||||
| 
 | ||||
| struct TxBuilder { | ||||
|     recipients: Vec<(String, u64)>, | ||||
|     fee_rate: Option<f32>, | ||||
| @ -336,10 +342,7 @@ impl TxBuilder { | ||||
|         let wallet = wallet.get_wallet(); | ||||
|         let mut tx_builder = wallet.build_tx(); | ||||
|         for (address, amount) in &self.recipients { | ||||
|             let script_pubkey = Address::from_str(address) | ||||
|                 .map(|x| x.script_pubkey()) | ||||
|                 .map_err(|e| BdkError::Generic(e.to_string()))?; | ||||
|             tx_builder.add_recipient(script_pubkey, *amount); | ||||
|             tx_builder.add_recipient(to_script_pubkey(address)?, *amount); | ||||
|         } | ||||
|         if let Some(sat_per_vb) = self.fee_rate { | ||||
|             tx_builder.fee_rate(FeeRate::from_sat_per_vb(sat_per_vb)); | ||||
| @ -348,10 +351,7 @@ impl TxBuilder { | ||||
|             tx_builder.drain_wallet(); | ||||
|         } | ||||
|         if let Some(address) = &self.drain_to { | ||||
|             let script_pubkey = Address::from_str(address) | ||||
|                 .map(|a| a.script_pubkey()) | ||||
|                 .map_err(|e| BdkError::Generic(e.to_string()))?; | ||||
|             tx_builder.drain_to(script_pubkey); | ||||
|             tx_builder.drain_to(to_script_pubkey(address)?); | ||||
|         } | ||||
|         tx_builder | ||||
|             .finish() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user