Expose set_recipients API from TxBuiler (#186)
This commit is contained in:
		
							parent
							
								
									aa004201b2
								
							
						
					
					
						commit
						3b028ecab1
					
				| @ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||||
| 
 | ||||
| ## [Unreleased] | ||||
| 
 | ||||
| - Breaking Changes | ||||
|   - Rename `get_network()` method on `Wallet` interface to `network()` [#185] | ||||
|   - Rename `get_transactions()` method on `Wallet` interface to `list_transactions()` [#185] | ||||
| @ -24,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | ||||
|     - `extend(DerivationPath)` extends and returns DescriptorPublicKey | ||||
|     - `as_string()` returns DescriptorPublicKey as String | ||||
|   - Add to `interface Blockchain` the `get_height()` and `get_block_hash()` methods [#184] | ||||
|   - Add to `interface TxBuilder`  the `set_recipients(recipient: Vec<AddressAmount>)` method [#186]  | ||||
| - Interfaces Added [#154] | ||||
|   - `DescriptorSecretKey` | ||||
|   - `DescriptorPublicKey` | ||||
|  | ||||
| @ -168,6 +168,11 @@ dictionary LocalUtxo { | ||||
|   boolean is_spent; | ||||
| }; | ||||
| 
 | ||||
| dictionary AddressAmount { | ||||
|   string address; | ||||
|   u64 amount; | ||||
| }; | ||||
| 
 | ||||
| interface Wallet { | ||||
|   [Throws=BdkError] | ||||
|   constructor(string descriptor, string? change_descriptor, Network network, DatabaseConfig database_config); | ||||
| @ -235,6 +240,8 @@ interface TxBuilder { | ||||
| 
 | ||||
|   TxBuilder add_data(sequence<u8> data); | ||||
|    | ||||
|   TxBuilder set_recipients(sequence<AddressAmount> recipients); | ||||
|    | ||||
|   [Throws=BdkError] | ||||
|   PartiallySignedBitcoinTransaction finish([ByRef] Wallet wallet); | ||||
| }; | ||||
|  | ||||
							
								
								
									
										16
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -37,6 +37,11 @@ uniffi_macros::include_scaffolding!("bdk"); | ||||
| 
 | ||||
| type BdkError = Error; | ||||
| 
 | ||||
| pub struct AddressAmount { | ||||
|     pub address: String, | ||||
|     pub amount: u64, | ||||
| } | ||||
| 
 | ||||
| pub struct AddressInfo { | ||||
|     pub index: u32, | ||||
|     pub address: String, | ||||
| @ -421,6 +426,17 @@ impl TxBuilder { | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     fn set_recipients(&self, recipients: Vec<AddressAmount>) -> Arc<Self> { | ||||
|         let recipients = recipients | ||||
|             .iter() | ||||
|             .map(|address_amount| (address_amount.address.clone(), address_amount.amount)) | ||||
|             .collect(); | ||||
|         Arc::new(TxBuilder { | ||||
|             recipients, | ||||
|             ..self.clone() | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     fn add_unspendable(&self, unspendable: OutPoint) -> Arc<Self> { | ||||
|         let mut unspendable_hash_set = self.unspendable.clone(); | ||||
|         unspendable_hash_set.insert(unspendable); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user