diff options
author | Sebastian <sebasjm@gmail.com> | 2023-04-19 12:42:47 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-04-19 12:42:47 -0300 |
commit | d483a3f5574355ed9c43eb6ddea59e5734323cf0 (patch) | |
tree | 2f4e3830512b50808b396991791c3c8877e5676e /packages/taler-wallet-core/src/wallet-api-types.ts | |
parent | 7330f0daf907133876baf8831c44ec34cec326e5 (diff) | |
download | wallet-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.ts | 90 |
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; + }; +} |