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();
|
.collect();
|
||||||
|
|
||||||
let mut fee_set = false;
|
let fee_set = candidates.iter().filter_map(|candidate_opt| {
|
||||||
for candidate in candidates {
|
candidate_opt.as_ref().and_then(|c| {
|
||||||
if let Some(c) = candidate {
|
if *c == change_address {
|
||||||
if c == change_address {
|
Some(SpClient::set_fees(&mut new_psbt, fee_rate, change_address.clone()))
|
||||||
SpClient::set_fees(&mut new_psbt, fee_rate, change_address.clone())?;
|
} else if *c == sender_address {
|
||||||
fee_set = true;
|
Some(SpClient::set_fees(&mut new_psbt, fee_rate, sender_address.clone()))
|
||||||
break;
|
} else {
|
||||||
} else if c == sender_address {
|
None
|
||||||
SpClient::set_fees(&mut new_psbt, fee_rate, sender_address.clone())?;
|
|
||||||
fee_set = true;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
}
|
}).find_map(|result| result.ok());
|
||||||
|
|
||||||
if !fee_set {
|
if fee_set.is_none() {
|
||||||
return Err(Error::msg("Must specify payer for fee"));
|
return Err(Error::msg("Must specify payer for fee"));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user