create_transaction_for_addresses freezes spent utxos to prevent accidental double spends
This commit is contained in:
parent
cd48128255
commit
4232f9aa62
@ -1144,12 +1144,12 @@ fn create_transaction_for_addresses(addresses: Vec<String>, fee_rate: u32) -> an
|
||||
let local_device = lock_local_device()?;
|
||||
|
||||
let sp_wallet = local_device.get_wallet();
|
||||
let freezed_utxos = lock_freezed_utxos()?;
|
||||
let mut freezed_utxos = lock_freezed_utxos()?;
|
||||
|
||||
let mut recipients = Vec::with_capacity(addresses.len());
|
||||
for address in addresses {
|
||||
let recipient = Recipient {
|
||||
address: address,
|
||||
address,
|
||||
amount: DEFAULT_AMOUNT,
|
||||
nb_outputs: 1,
|
||||
};
|
||||
@ -1166,6 +1166,11 @@ fn create_transaction_for_addresses(addresses: Vec<String>, fee_rate: u32) -> an
|
||||
None,
|
||||
)?;
|
||||
|
||||
// We add the used inputs in freezed utxos to prevent accidental double spends
|
||||
for input in &signed_psbt.unsigned_tx.input {
|
||||
freezed_utxos.insert(input.previous_output);
|
||||
}
|
||||
|
||||
Ok(signed_psbt)
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user