aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/taler-wallet-cli/src/index.ts16
-rw-r--r--packages/taler-wallet-core/src/deposits.ts40
2 files changed, 52 insertions, 4 deletions
diff --git a/packages/taler-wallet-cli/src/index.ts b/packages/taler-wallet-cli/src/index.ts
index be74e464b..dc11f83b3 100644
--- a/packages/taler-wallet-cli/src/index.ts
+++ b/packages/taler-wallet-cli/src/index.ts
@@ -335,12 +335,26 @@ async function withWallet<T>(
writeObservabilityLog(notif);
};
+ let walletSocketPath: string | undefined = undefined;
+
+ const connEnvName = "TALER_WALLET_CONNECTION";
+
if (walletCliArgs.wallet.walletConnection) {
+ walletSocketPath = walletCliArgs.wallet.walletConnection;
+ logger.info(`using wallet socket from command line (${walletSocketPath})`);
+ } else if (!!process.env[connEnvName]) {
+ walletSocketPath = process.env[connEnvName];
+ logger.info(
+ `using wallet socket from ${connEnvName} (${walletSocketPath})`,
+ );
+ }
+
+ if (walletSocketPath) {
logger.info("creating remote wallet");
const w = await createRemoteWallet({
name: "wallet",
notificationHandler: onNotif,
- socketFilename: walletCliArgs.wallet.walletConnection,
+ socketFilename: walletSocketPath,
});
const ctx: WalletContext = {
makeCoreApiRequest(operation, payload) {
diff --git a/packages/taler-wallet-core/src/deposits.ts b/packages/taler-wallet-core/src/deposits.ts
index 67262b821..35b4daf40 100644
--- a/packages/taler-wallet-core/src/deposits.ts
+++ b/packages/taler-wallet-core/src/deposits.ts
@@ -399,6 +399,19 @@ export class DepositTransactionContext implements TransactionContext {
newTxState: computeDepositTransactionStatus(dg),
};
}
+ case DepositOperationStatus.PendingTrack:
+ case DepositOperationStatus.SuspendedTrack:
+ case DepositOperationStatus.AbortedDeposit:
+ case DepositOperationStatus.Aborting:
+ case DepositOperationStatus.FailedDeposit:
+ case DepositOperationStatus.FailedTrack:
+ case DepositOperationStatus.Finished:
+ case DepositOperationStatus.SuspendedAborting:
+ case DepositOperationStatus.PendingAggregateKyc:
+ case DepositOperationStatus.SuspendedAggregateKyc:
+ break;
+ default:
+ assertUnreachable(dg.operationStatus);
}
return undefined;
},
@@ -491,8 +504,6 @@ export class DepositTransactionContext implements TransactionContext {
switch (dg.operationStatus) {
case DepositOperationStatus.PendingAggregateKyc:
case DepositOperationStatus.SuspendedAggregateKyc:
- case DepositOperationStatus.PendingTrack:
- case DepositOperationStatus.SuspendedTrack:
case DepositOperationStatus.SuspendedAborting:
case DepositOperationStatus.Aborting: {
dg.operationStatus = DepositOperationStatus.FailedDeposit;
@@ -503,6 +514,29 @@ export class DepositTransactionContext implements TransactionContext {
newTxState: computeDepositTransactionStatus(dg),
};
}
+ case DepositOperationStatus.PendingTrack:
+ case DepositOperationStatus.SuspendedTrack: {
+ dg.operationStatus = DepositOperationStatus.FailedTrack;
+ await tx.depositGroups.put(dg);
+ await this.updateTransactionMeta(tx);
+ return {
+ oldTxState: oldState,
+ newTxState: computeDepositTransactionStatus(dg),
+ };
+ }
+ case DepositOperationStatus.AbortedDeposit:
+ case DepositOperationStatus.FailedDeposit:
+ case DepositOperationStatus.FailedTrack:
+ case DepositOperationStatus.Finished:
+ case DepositOperationStatus.PendingDeposit:
+ case DepositOperationStatus.PendingDepositKyc:
+ case DepositOperationStatus.PendingDepositKycAuth:
+ case DepositOperationStatus.SuspendedDeposit:
+ case DepositOperationStatus.SuspendedDepositKyc:
+ case DepositOperationStatus.SuspendedDepositKycAuth:
+ break;
+ default:
+ assertUnreachable(dg.operationStatus);
}
return undefined;
},
@@ -649,7 +683,7 @@ export function computeDepositTransactionActions(
return [
TransactionAction.Retry,
TransactionAction.Suspend,
- TransactionAction.Abort,
+ TransactionAction.Fail,
];
case DepositOperationStatus.SuspendedAggregateKyc:
return [TransactionAction.Resume, TransactionAction.Fail];