diff options
author | Florian Dold <florian@dold.me> | 2023-01-04 15:18:58 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-01-04 15:18:58 +0100 |
commit | 7d02e4212346b7b7b88197259a7e74554e1b10a3 (patch) | |
tree | e77f2ea4484247d6eadebabb9d0b3601dacba2d8 /packages/taler-wallet-core/src/operations/balance.ts | |
parent | aa165477d0ba682f5464d3b27ddb07001eab8366 (diff) | |
download | wallet-core-7d02e4212346b7b7b88197259a7e74554e1b10a3.tar.xz |
wallet-core: define insufficient balance details
Diffstat (limited to 'packages/taler-wallet-core/src/operations/balance.ts')
-rw-r--r-- | packages/taler-wallet-core/src/operations/balance.ts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/operations/balance.ts b/packages/taler-wallet-core/src/operations/balance.ts index cd78b0360..d2a029d53 100644 --- a/packages/taler-wallet-core/src/operations/balance.ts +++ b/packages/taler-wallet-core/src/operations/balance.ts @@ -15,6 +15,36 @@ */ /** + * Functions to compute the wallet's balance. + * + * There are multiple definition of the wallet's balance. + * We use the following terminology: + * + * - "available": Balance that the wallet believes will certainly be available + * for spending, modulo any failures of the exchange or double spending issues. + * This includes available coins *not* allocated to any + * spending/refresh/... operation. Pending withdrawals are *not* counted + * towards this balance, because they are not certain to succeed. + * Pending refreshes *are* counted towards this balance. + * This balance type is nice to show to the user, because it does not + * temporarily decrease after payment when we are waiting for refreshes + * + * - "material": Balance that the wallet believes it could spend *right now*, + * without waiting for any operations to complete. + * This balance type is important when showing "insufficient balance" error messages. + * + * - "age-acceptable": Subset of the material balance that can be spent + * with age restrictions applied. + * + * - "merchant-acceptable": Subset of the material balance that can be spent with a particular + * merchant (restricted via min age, exchange, auditor, wire_method). + * + * - "merchant-wireable": Subset of the merchant-acceptable balance that the merchant + * can accept via their supported wire methods. + */ + + +/** * Imports. */ import { @@ -27,6 +57,9 @@ import { WalletStoresV1 } from "../db.js"; import { GetReadOnlyAccess } from "../util/query.js"; import { InternalWalletState } from "../internal-wallet-state.js"; +/** + * Logger. + */ const logger = new Logger("operations/balance.ts"); interface WalletBalance { |