taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit fdd6bb20ce88b2c519e80c14eae869f3619b4761
parent 6889d9d72b4fca610ee41873e7729d1ffcd735eb
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun,  1 Sep 2024 11:08:15 +0200

expose more generic hard limits information in /keys

Diffstat:
Mcore/api-exchange.rst | 34++++++++++++++++++----------------
Mdesign-documents/023-taler-kyc.rst | 6++++--
Mmanpages/taler.conf.5.rst | 14++------------
3 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/core/api-exchange.rst b/core/api-exchange.rst @@ -211,19 +211,12 @@ possibly by using HTTPS. // Currency must match ``currency``. wallet_balance_limit_without_kyc?: Amount[]; - // Maximum amount for individual transactions. - // Optional, unlimited if not given. - // Must be enforced by both compliant wallets and merchants. - // Currency must match ``currency``. - // Since protocol **v20**. - transaction_amount_limit?: Amount; - - // Maximum amount for individual refunds. - // Optional, unlimited if not given. - // Must be enforced by both compliant wallets and merchants. - // Currency must match ``currency``. - // Since protocol **v20**. - refund_amount_limit?: Amount; + // Array of limits that apply to all accounts. + // All of the given limits will be hard limits. + // Wallets and merchants are expected to obey them + // and not even allow the user to cross them. + // Since protocol **v21**. + hard_limits: AccountLimit[]; // Denominations offered by this exchange denominations: DenomGroup[]; @@ -4820,11 +4813,15 @@ regulatory compliance. interface AccountLimit { // Operation that is limited. - // Must be one of "WITHDRAW", "DEPOSIT", "P2P-RECEIVE" - // or "WALLET-BALANCE". + // Must be one of "WITHDRAW", "DEPOSIT", + // (p2p) "MERGE", (wallet) "BALANCE", + // (reserve) "CLOSE", "AGGREGATE", + // "TRANSACTION" or "REFUND". operation_type: string; // Timeframe during which the limit applies. + // Not applicable for all operation_types + // (but always present in this object anyway). timeframe: RelativeTime; // Maximum amount allowed during the given timeframe. @@ -4838,7 +4835,8 @@ regulatory compliance. // Clients that are aware of hard limits *should* // inform users about the hard limit and prevent flows // in the UI that would cause violations of hard limits. - soft_limit: boolean; + // Made optional in **v21** with a default of 'false' if missing. + soft_limit?: boolean; } .. http:get:: /kyc-spa/$ACCESS_TOKEN @@ -5433,6 +5431,10 @@ and freeze or unfreeze accounts suspected of money laundering. interface KycRule { // Type of operation to which the rule applies. + // Must be one of "WITHDRAW", "DEPOSIT", + // (p2p) "MERGE", (wallet) "BALANCE", + // (reserve) "CLOSE", "AGGREGATE", + // "TRANSACTION" or "REFUND". operation_type: string; // The measures will be taken if the given diff --git a/design-documents/023-taler-kyc.rst b/design-documents/023-taler-kyc.rst @@ -1056,8 +1056,10 @@ configuration section: [kyc-rule-$RULE_NAME] # Operation that triggers this rule. - # Must be one of WITHDRAW, DEPOSIT, MERGE, - # AGGREGATE or BALANCE. + # Must be one of "WITHDRAW", "DEPOSIT", + # (p2p) "MERGE", (wallet) "BALANCE", + # (reserve) "CLOSE", "AGGREGATE", + # "TRANSACTION" or "REFUND". OPERATION_TYPE = WITHDRAW # Space-separated list of next measures to be performed. diff --git a/manpages/taler.conf.5.rst b/manpages/taler.conf.5.rst @@ -165,16 +165,6 @@ STEFAN_LOG in the STEFAN fee approximation curve (see DD47). Defaults to CURRENCY:0 if not specified. -TRANSACTION_LIMIT - Maximum amount allowed per transaction. - Must be respected by both merchants and wallets. - Defaults to unlimited if not specified. - -REFUND_LIMIT - Maximum refund allowed per transaction. - Must be respected by both merchants and wallets. - Defaults to unlimited if not specified. - STEFAN_LIN Linear floating point factor to be multiplied by the total amount to use in the STEFAN fee approximation curve (see DD47). @@ -451,8 +441,8 @@ The following options must be in "[kyc-rule-$RULE_NAME]" sections. OPERATION_TYPE = WITHDRAW Operation that triggers this rule. - Must be one of WITHDRAW, DEPOSIT, MERGE - or BALANCE. + Must be one of WITHDRAW, DEPOSIT, MERGE, BALANCE, + CLOSE, AGGREGATE, TRANSACTION or REFUND. NEXT_MEASURES Space-separated list of next measures to be performed.