diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-05-15 23:41:47 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-05-15 23:41:47 +0530 |
commit | cf3aaee28acaa8d6aba8e0b1fe6dbcba5e4e67ae (patch) | |
tree | bb3a23cc8f91b28748d26117fcf52156f8cab304 /src/operations/transactions.ts | |
parent | 6efc7e5600d3444e44697bc9c022d15990a98c50 (diff) | |
download | wallet-core-cf3aaee28acaa8d6aba8e0b1fe6dbcba5e4e67ae.tar.xz |
show reserve amount for reserve withdrawal via bank
Diffstat (limited to 'src/operations/transactions.ts')
-rw-r--r-- | src/operations/transactions.ts | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/operations/transactions.ts b/src/operations/transactions.ts index c9d48fc01..f016fb8c3 100644 --- a/src/operations/transactions.ts +++ b/src/operations/transactions.ts @@ -18,7 +18,7 @@ * Imports. */ import { InternalWalletState } from "./state"; -import { Stores, ReserveRecordStatus, PurchaseRecord } from "../types/dbTypes"; +import { Stores, ReserveRecordStatus, PurchaseRecord, WithdrawalSourceType } from "../types/dbTypes"; import { Amounts, AmountJson } from "../util/amounts"; import { timestampCmp } from "../util/time"; import { @@ -152,7 +152,7 @@ export async function getTransactions( Stores.recoupGroups, ], async (tx) => { - tx.iter(Stores.withdrawalGroups).forEach((wsr) => { + tx.iter(Stores.withdrawalGroups).forEachAsync(async (wsr) => { if ( shouldSkipCurrency( transactionsRequest, @@ -166,10 +166,22 @@ export async function getTransactions( return; } + let amountRaw: AmountJson | undefined = undefined; + + if (wsr.source.type === WithdrawalSourceType.Reserve) { + const r = await tx.get(Stores.reserves, wsr.source.reservePub); + if (r?.bankInfo?.amount) { + amountRaw = r.bankInfo.amount; + } + } + if (!amountRaw) { + amountRaw = wsr.denomsSel.totalWithdrawCost; + } + transactions.push({ type: TransactionType.Withdrawal, amountEffective: Amounts.stringify(wsr.denomsSel.totalCoinValue), - amountRaw: Amounts.stringify(wsr.denomsSel.totalWithdrawCost), + amountRaw: Amounts.stringify(amountRaw), confirmed: true, exchangeBaseUrl: wsr.exchangeBaseUrl, pending: !wsr.timestampFinish, @@ -202,7 +214,7 @@ export async function getTransactions( transactions.push({ type: TransactionType.Withdrawal, confirmed: false, - amountRaw: Amounts.stringify(r.bankInfo.denomSel.totalWithdrawCost), + amountRaw: Amounts.stringify(r.bankInfo.amount), amountEffective: Amounts.stringify( r.bankInfo.denomSel.totalCoinValue, ), |