aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet-api-types.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-04-19 12:42:47 -0300
committerSebastian <sebasjm@gmail.com>2023-04-19 12:42:47 -0300
commitd483a3f5574355ed9c43eb6ddea59e5734323cf0 (patch)
tree2f4e3830512b50808b396991791c3c8877e5676e /packages/taler-wallet-core/src/wallet-api-types.ts
parent7330f0daf907133876baf8831c44ec34cec326e5 (diff)
downloadwallet-core-d483a3f5574355ed9c43eb6ddea59e5734323cf0.tar.xz
fix #7704
Diffstat (limited to 'packages/taler-wallet-core/src/wallet-api-types.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet-api-types.ts90
1 files changed, 63 insertions, 27 deletions
diff --git a/packages/taler-wallet-core/src/wallet-api-types.ts b/packages/taler-wallet-core/src/wallet-api-types.ts
index 2ac649f59..94348f095 100644
--- a/packages/taler-wallet-core/src/wallet-api-types.ts
+++ b/packages/taler-wallet-core/src/wallet-api-types.ts
@@ -29,8 +29,6 @@ import {
AcceptExchangeTosRequest,
AcceptManualWithdrawalRequest,
AcceptManualWithdrawalResult,
- ConfirmPeerPullDebitRequest,
- ConfirmPeerPushCreditRequest,
AcceptTipRequest,
AcceptTipResponse,
AcceptWithdrawalResponse,
@@ -42,17 +40,18 @@ import {
ApplyRefundResponse,
BackupRecovery,
BalancesResponse,
- PreparePeerPullDebitRequest,
- PreparePeerPullDebitResponse,
- PreparePeerPushCredit,
- PreparePeerPushCreditResponse,
+ CheckPeerPullCreditRequest,
+ CheckPeerPullCreditResponse,
+ CheckPeerPushDebitRequest,
+ CheckPeerPushDebitResponse,
CoinDumpJson,
ConfirmPayRequest,
ConfirmPayResult,
+ ConfirmPeerPullDebitRequest,
+ ConfirmPeerPushCreditRequest,
CreateDepositGroupRequest,
CreateDepositGroupResponse,
DeleteTransactionRequest,
- DepositGroupFees,
ExchangeDetailedResponse,
ExchangesListResponse,
ForceRefreshRequest,
@@ -63,12 +62,12 @@ import {
GetExchangeTosResult,
GetWithdrawalDetailsForAmountRequest,
GetWithdrawalDetailsForUriRequest,
+ InitRequest,
+ InitResponse,
InitiatePeerPullCreditRequest,
InitiatePeerPullCreditResponse,
InitiatePeerPushPaymentRequest,
InitiatePeerPushPaymentResponse,
- InitRequest,
- InitResponse,
IntegrationTestArgs,
KnownBankAccounts,
ListKnownBankAccountsRequest,
@@ -78,10 +77,10 @@ import {
PreparePayRequest,
PreparePayResult,
PreparePayTemplateRequest,
- CheckPeerPullCreditRequest,
- CheckPeerPullCreditResponse,
- CheckPeerPushDebitRequest,
- CheckPeerPushDebitResponse,
+ PreparePeerPullDebitRequest,
+ PreparePeerPullDebitResponse,
+ PreparePeerPushCredit,
+ PreparePeerPushCreditResponse,
PrepareRefundRequest,
PrepareRefundResult,
PrepareTipRequest,
@@ -89,7 +88,6 @@ import {
RecoveryLoadRequest,
RetryTransactionRequest,
SetCoinSuspendedRequest,
- SetDevModeRequest,
SetWalletDeviceIdRequest,
TestPayArgs,
TestPayResult,
@@ -97,21 +95,21 @@ import {
TransactionByIdRequest,
TransactionsRequest,
TransactionsResponse,
+ TxIdResponse,
UserAttentionByIdRequest,
UserAttentionsCountResponse,
UserAttentionsRequest,
UserAttentionsResponse,
+ ValidateIbanRequest,
+ ValidateIbanResponse,
WalletBackupContentV1,
WalletCoreVersion,
WalletCurrencyInfo,
WithdrawFakebankRequest,
WithdrawTestBalanceRequest,
WithdrawUriInfoResponse,
- ValidateIbanRequest,
- ValidateIbanResponse,
- TxIdResponse,
} from "@gnu-taler/taler-util";
-import { WalletContractData } from "./db.js";
+import { AuditorTrustRecord, WalletContractData } from "./db.js";
import {
AddBackupProviderRequest,
AddBackupProviderResponse,
@@ -195,13 +193,11 @@ export enum WalletApiOperation {
ConfirmPeerPullDebit = "confirmPeerPullDebit",
ClearDb = "clearDb",
Recycle = "recycle",
- SetDevMode = "setDevMode",
ApplyDevExperiment = "applyDevExperiment",
ValidateIban = "validateIban",
}
// group: Initialization
-
type EmptyObject = Record<string, never>;
/**
* Initialize wallet-core.
@@ -739,12 +735,6 @@ export type ApplyDevExperimentOp = {
response: EmptyObject;
};
-export type SetDevModeOp = {
- op: WalletApiOperation.SetDevMode;
- request: SetDevModeRequest;
- response: EmptyObject;
-};
-
/**
* Run a simple integration test on a test deployment
* of the exchange and merchant.
@@ -953,7 +943,6 @@ export type WalletOperations = {
[WalletApiOperation.ClearDb]: ClearDbOp;
[WalletApiOperation.Recycle]: RecycleOp;
[WalletApiOperation.ApplyDevExperiment]: ApplyDevExperimentOp;
- [WalletApiOperation.SetDevMode]: SetDevModeOp;
[WalletApiOperation.ValidateIban]: ValidateIbanOp;
};
@@ -973,3 +962,50 @@ export interface WalletCoreApiClient {
payload: WalletCoreRequestType<Op>,
): Promise<WalletCoreResponseType<Op>>;
}
+
+type Primitives = string | number | boolean;
+
+export type RecursivePartial<T extends object> = {
+ [P in keyof T]?: T[P] extends Array<infer U extends object>
+ ? Array<RecursivePartial<U>>
+ : T[P] extends Array<infer J extends Primitives>
+ ? Array<J>
+ : T[P] extends object
+ ? RecursivePartial<T[P]>
+ : T[P];
+} & object;
+
+export type WalletConfigParameter = RecursivePartial<WalletConfig>;
+
+export interface WalletConfig {
+ /**
+ * Initialization values useful for a complete startup.
+ *
+ * These are values may be overridden by different wallets
+ */
+ builtin: {
+ exchanges: string[];
+ auditors: AuditorTrustRecord[];
+ };
+
+ /**
+ * Unsafe options which it should only be used to create
+ * testing environment.
+ */
+ testing: {
+ /**
+ * Allow withdrawal of denominations even though they are about to expire.
+ */
+ denomselAllowLate: boolean;
+ devModeActive: boolean;
+ insecureTrustExchange: boolean;
+ };
+
+ /**
+ * Configurations values that may be safe to show to the user
+ */
+ features: {
+ batchWithdrawal: boolean;
+ allowHttp: boolean;
+ };
+}