mirror of
https://github.com/aljazceru/cdk.git
synced 2026-02-05 13:16:00 +01:00
Remove received proofs from db after swap
This commit is contained in:
committed by
thesimplekid
parent
2d23fbb171
commit
8fa770ca0d
@@ -117,7 +117,9 @@ impl Wallet {
|
||||
.into_iter()
|
||||
.map(|p| ProofInfo::new(p, self.mint_url.clone(), State::Pending, self.unit))
|
||||
.collect::<Result<Vec<ProofInfo>, _>>()?;
|
||||
self.localstore.update_proofs(proofs_info, vec![]).await?;
|
||||
self.localstore
|
||||
.update_proofs(proofs_info.clone(), vec![])
|
||||
.await?;
|
||||
|
||||
let mut pre_swap = self
|
||||
.create_swap(None, amount_split_target, proofs, None, false)
|
||||
@@ -152,13 +154,21 @@ impl Wallet {
|
||||
mint_proofs.extend(p);
|
||||
|
||||
let mut total_amount = Amount::ZERO;
|
||||
for (mint, proofs) in received_proofs {
|
||||
total_amount += Amount::try_sum(proofs.iter().map(|p| p.amount))?;
|
||||
let proofs = proofs
|
||||
for (mint, recv_proofs) in received_proofs {
|
||||
total_amount += Amount::try_sum(recv_proofs.iter().map(|p| p.amount))?;
|
||||
let recv_proof_infos = recv_proofs
|
||||
.into_iter()
|
||||
.map(|proof| ProofInfo::new(proof, mint.clone(), State::Unspent, self.unit))
|
||||
.collect::<Result<Vec<ProofInfo>, _>>()?;
|
||||
self.localstore.update_proofs(proofs, vec![]).await?;
|
||||
self.localstore
|
||||
.update_proofs(
|
||||
recv_proof_infos,
|
||||
proofs_info
|
||||
.iter()
|
||||
.filter_map(|p| if p.mint_url == mint { Some(p.y) } else { None })
|
||||
.collect(),
|
||||
)
|
||||
.await?;
|
||||
}
|
||||
|
||||
Ok(total_amount)
|
||||
|
||||
Reference in New Issue
Block a user