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 local_device = lock_local_device()?;
|
||||||
|
|
||||||
let sp_wallet = local_device.get_wallet();
|
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());
|
let mut recipients = Vec::with_capacity(addresses.len());
|
||||||
for address in addresses {
|
for address in addresses {
|
||||||
let recipient = Recipient {
|
let recipient = Recipient {
|
||||||
address: address,
|
address,
|
||||||
amount: DEFAULT_AMOUNT,
|
amount: DEFAULT_AMOUNT,
|
||||||
nb_outputs: 1,
|
nb_outputs: 1,
|
||||||
};
|
};
|
||||||
@ -1166,6 +1166,11 @@ fn create_transaction_for_addresses(addresses: Vec<String>, fee_rate: u32) -> an
|
|||||||
None,
|
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)
|
Ok(signed_psbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user