summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/types/walletTypes.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-core/src/types/walletTypes.ts')
-rw-r--r--packages/taler-wallet-core/src/types/walletTypes.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/types/walletTypes.ts b/packages/taler-wallet-core/src/types/walletTypes.ts
index 04f50f29a..83275a0cc 100644
--- a/packages/taler-wallet-core/src/types/walletTypes.ts
+++ b/packages/taler-wallet-core/src/types/walletTypes.ts
@@ -40,8 +40,11 @@ import {
codecForString,
makeCodecOptional,
Codec,
+ makeCodecForList,
+ codecForBoolean,
} from "../util/codec";
import { AmountString } from "./talerTypes";
+import { codec } from "..";
/**
* Response for the create reserve request to the wallet.
@@ -164,6 +167,20 @@ export interface BalancesResponse {
balances: Balance[];
}
+export const codecForBalance = (): Codec<Balance> =>
+ makeCodecForObject<Balance>()
+ .property("available", codecForString)
+ .property("hasPendingTransactions", codecForBoolean)
+ .property("pendingIncoming", codecForString)
+ .property("pendingOutgoing", codecForString)
+ .property("requiresUserInput", codecForBoolean)
+ .build("Balance");
+
+export const codecForBalancesResponse = (): Codec<BalancesResponse> =>
+ makeCodecForObject<BalancesResponse>()
+ .property("balances", makeCodecForList(codecForBalance()))
+ .build("BalancesResponse");
+
/**
* For terseness.
*/