diff options
author | Florian Dold <florian@dold.me> | 2021-01-18 23:35:41 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-01-18 23:35:41 +0100 |
commit | 5f3c02d31a223add55a32b20f4a289210cbb4f15 (patch) | |
tree | d91ded55692aea1294c0565328515f120559ab6a /packages/taler-wallet-core/src/wallet.ts | |
parent | f884193b1adf0861f710c6ab1bb94ea2073ade65 (diff) | |
download | wallet-core-5f3c02d31a223add55a32b20f4a289210cbb4f15.tar.xz |
implement deposits
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r-- | packages/taler-wallet-core/src/wallet.ts | 34 |
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, |