Fix bug with set_fees returning insufficient amount
This commit is contained in:
parent
61af1d0c10
commit
5e6c447942
@ -111,22 +111,19 @@ pub fn create_transaction(
|
||||
})
|
||||
.collect();
|
||||
|
||||
let mut fee_set = false;
|
||||
for candidate in candidates {
|
||||
if let Some(c) = candidate {
|
||||
if c == change_address {
|
||||
SpClient::set_fees(&mut new_psbt, fee_rate, change_address.clone())?;
|
||||
fee_set = true;
|
||||
break;
|
||||
} else if c == sender_address {
|
||||
SpClient::set_fees(&mut new_psbt, fee_rate, sender_address.clone())?;
|
||||
fee_set = true;
|
||||
break;
|
||||
let fee_set = candidates.iter().filter_map(|candidate_opt| {
|
||||
candidate_opt.as_ref().and_then(|c| {
|
||||
if *c == change_address {
|
||||
Some(SpClient::set_fees(&mut new_psbt, fee_rate, change_address.clone()))
|
||||
} else if *c == sender_address {
|
||||
Some(SpClient::set_fees(&mut new_psbt, fee_rate, sender_address.clone()))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}).find_map(|result| result.ok());
|
||||
|
||||
if !fee_set {
|
||||
if fee_set.is_none() {
|
||||
return Err(Error::msg("Must specify payer for fee"));
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user