summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-01-18 23:35:41 +0100
committerFlorian Dold <florian@dold.me>2021-01-18 23:35:41 +0100
commit5f3c02d31a223add55a32b20f4a289210cbb4f15 (patch)
treed91ded55692aea1294c0565328515f120559ab6a /packages/taler-wallet-core/src/wallet.ts
parentf884193b1adf0861f710c6ab1bb94ea2073ade65 (diff)
downloadwallet-core-5f3c02d31a223add55a32b20f4a289210cbb4f15.tar.gz
wallet-core-5f3c02d31a223add55a32b20f4a289210cbb4f15.tar.bz2
wallet-core-5f3c02d31a223add55a32b20f4a289210cbb4f15.zip
implement deposits
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts
index 65b816cc3..51987c349 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -53,6 +53,7 @@ import {
CoinSourceType,
RefundState,
MetaStores,
+ DepositGroupRecord,
} from "./types/dbTypes";
import { CoinDumpJson, WithdrawUriInfoResponse } from "./types/talerTypes";
import {
@@ -96,6 +97,12 @@ import {
codecForAbortPayWithRefundRequest,
ApplyRefundResponse,
RecoveryLoadRequest,
+ codecForCreateDepositGroupRequest,
+ CreateDepositGroupRequest,
+ CreateDepositGroupResponse,
+ codecForTrackDepositGroupRequest,
+ TrackDepositGroupRequest,
+ TrackDepositGroupResponse,
} from "./types/walletTypes";
import { Logger } from "./util/logging";
@@ -173,6 +180,11 @@ import {
BackupInfo,
loadBackupRecovery,
} from "./operations/backup";
+import {
+ createDepositGroup,
+ processDepositGroup,
+ trackDepositGroup,
+} from "./operations/deposits";
const builtinCurrencies: CurrencyRecord[] = [
{
@@ -299,6 +311,9 @@ export class Wallet {
case PendingOperationType.ExchangeCheckRefresh:
await autoRefresh(this.ws, pending.exchangeBaseUrl);
break;
+ case PendingOperationType.Deposit:
+ await processDepositGroup(this.ws, pending.depositGroupId);
+ break;
default:
assertUnreachable(pending);
}
@@ -972,6 +987,12 @@ export class Wallet {
return addBackupProvider(this.ws, req);
}
+ async createDepositGroup(
+ req: CreateDepositGroupRequest,
+ ): Promise<CreateDepositGroupResponse> {
+ return createDepositGroup(this.ws, req);
+ }
+
async runBackupCycle(): Promise<void> {
return runBackupCycle(this.ws);
}
@@ -980,6 +1001,12 @@ export class Wallet {
return getBackupInfo(this.ws);
}
+ async trackDepositGroup(
+ req: TrackDepositGroupRequest,
+ ): Promise<TrackDepositGroupResponse> {
+ return trackDepositGroup(this.ws, req);
+ }
+
/**
* Implementation of the "wallet-core" API.
*/
@@ -1141,6 +1168,13 @@ export class Wallet {
await runBackupCycle(this.ws);
return {};
}
+ case "createDepositGroup": {
+ const req = codecForCreateDepositGroupRequest().decode(payload);
+ return await createDepositGroup(this.ws, req);
+ }
+ case "trackDepositGroup":
+ const req = codecForTrackDepositGroupRequest().decode(payload);
+ return trackDepositGroup(this.ws, req);
}
throw OperationFailedError.fromCode(
TalerErrorCode.WALLET_CORE_API_OPERATION_UNKNOWN,