commit 849212b1a53d36fdb2161e53d6483d919c62966b parent 5cea34145ae9512eb7d8e2586e7294ad7f471aa6 Author: Florian Dold <dold@taler.net> Date: Mon, 31 Aug 2026 14:55:16 +0200 auditor API: document version 2 monitoring interface Diffstat:
58 files changed, 815 insertions(+), 263 deletions(-)
diff --git a/core/api-auditor.rst b/core/api-auditor.rst @@ -31,11 +31,12 @@ Version History The current protocol version is **v2**. -* The auditor SPA is currently targeting protocol version **v1**. +* The auditor SPA is currently targeting protocol version **v2**. **Version history:** -* ``v2``: Adds a few additional GET endpoints to expose more auditor data +* ``v2``: Uses extensible ``records`` response envelopes, plural collection + paths, and uniform suppression and deletion operations for diagnostics. **Upcoming versions:** @@ -59,8 +60,9 @@ Currently, the API supports two main authentication methods: * ``external``: With this method, no checks are done by the auditor backend. Instead, a reverse proxy / API gateway must do all authentication/authorization checks. -* ``token``: With this method, the client must provide a ``Authorization: Bearer $TOKEN`` - header, where ``$TOKEN`` is a secret authentication token configured for the instance which must begin with the RFC 8959 prefix. +* ``token``: With this method, the client must provide an + ``Authorization: Bearer secret-token:$TOKEN`` header, where ``$TOKEN`` is + the configured secret authentication token. .. _auditor-version: @@ -68,9 +70,8 @@ Currently, the API supports two main authentication methods: Obtaining Auditor Version ------------------------- -This endpoint is used by merchants to obtain a list of all exchanges audited by -this auditor. This may be required for the merchant to perform the required -know-your-customer (KYC) registration before issuing contracts. +This endpoint exposes protocol and implementation metadata for the auditor, +including the single exchange master public key configured for this auditor. .. include:: auditor/get-config.rst @@ -259,6 +260,8 @@ justifications. This can be harmless, if the justifications appear shortly after .. include:: auditor/get-monitoring-early-aggregation.rst +.. include:: auditor/patch-monitoring-early-aggregations-SERIAL_ID.rst + Pending Deposits @@ -273,6 +276,8 @@ This can be harmless, if the wire transfers appear shortly afterwards. .. include:: auditor/get-monitoring-pending-deposits.rst +.. include:: auditor/patch-monitoring-pending-deposits-SERIAL_ID.rst + @@ -705,3 +710,13 @@ Progress This section contains information about the auditing progress an auditor has made. .. include:: auditor/get-monitoring-progress.rst + + +Deleting Monitoring Records +--------------------------- + +Deleting a monitoring record is intended for administrative cleanup after the +underlying issue has been resolved. Suppression should be preferred when the +audit history should remain available. + +.. include:: auditor/delete-monitoring-records.rst diff --git a/core/auditor/delete-monitoring-records.rst b/core/auditor/delete-monitoring-records.rst @@ -0,0 +1,54 @@ +The following authenticated endpoints permanently delete one monitoring +record. ``$SERIAL_ID`` is the record's :ts:type:`SafeUint64` row ID. Every +endpoint returns ``204 No Content`` on success, ``400 Bad Request`` for a +malformed row ID, ``401 Unauthorized`` without valid credentials, ``404 Not +Found`` if the record does not exist, and ``500 Internal Server Error`` for a +database failure. + +.. http:delete:: /monitoring/aml-holds/$SERIAL_ID + +.. http:delete:: /monitoring/amount-arithmetic-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/bad-sig-losses/$SERIAL_ID + +.. http:delete:: /monitoring/closure-lags/$SERIAL_ID + +.. http:delete:: /monitoring/coin-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/denomination-key-validity-withdraw-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/denominations-without-sigs/$SERIAL_ID + +.. http:delete:: /monitoring/deposit-confirmations/$SERIAL_ID + +.. http:delete:: /monitoring/early-aggregations/$SERIAL_ID + +.. http:delete:: /monitoring/emergencies/$SERIAL_ID + +.. http:delete:: /monitoring/emergencies-by-count/$SERIAL_ID + +.. http:delete:: /monitoring/fee-time-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/kycauth-in-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/misattribution-in-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/pending-deposits/$SERIAL_ID + +.. http:delete:: /monitoring/purse-not-closed-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/reserve-balance-insufficient-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/reserve-balance-summary-wrong-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/reserve-in-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/reserve-not-closed-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/row-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/row-minor-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/wire-format-inconsistencies/$SERIAL_ID + +.. http:delete:: /monitoring/wire-out-inconsistencies/$SERIAL_ID diff --git a/core/auditor/get-config.rst b/core/auditor/get-config.rst @@ -14,15 +14,20 @@ .. code-block:: tsref interface AuditorVersion { + // Name of the service implementing this protocol. + name: "taler-auditor"; + // libtool-style representation of the Taler protocol version, see // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning // The format is "current:revision:age". Note that the auditor // protocol is versioned independently of the exchange's protocol. version: string; + // Version of the auditor software build. + build_version: string; + // URN of the implementation (needed to interpret 'revision' in version). - // @since v0, may become mandatory in the future. - implementation?: string; + implementation: string; // Return which currency this auditor is auditing for. currency: string; @@ -37,5 +42,4 @@ .. note:: - This endpoint is still experimental (and is not yet implemented at the - time of this writing). + This endpoint is still experimental. diff --git a/core/auditor/get-monitoring-aml-holds.rst b/core/auditor/get-monitoring-aml-holds.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`AmlHold` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`AmlHoldResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,19 +28,28 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: AmlHoldResponse + + interface AmlHoldResponse { + + records: AmlHold[]; + + } + .. ts:def:: AmlHold interface AmlHold { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // The wire transfer identifier the deposits were aggregated into. wtid : HashCode; @@ -66,7 +78,7 @@ // measure is in fact open and raises a row inconsistency if it // is not, but still reports the hold as the exchange classified // it. - legitimization_measure_serial_id : Integer; + legitimization_measure_serial_id : SafeUint64; // When the auditor first saw this transfer being withheld. first_seen : Timestamp; diff --git a/core/auditor/get-monitoring-amount-arithmetic-inconsistency.rst b/core/auditor/get-monitoring-amount-arithmetic-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/amount-arithmetic-inconsistency +.. http:get:: /monitoring/amount-arithmetic-inconsistencies Get a list of amount arithmetic inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`AmountArithmeticInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`AmountArithmeticInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,19 +28,31 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: AmountArithmeticInconsistencyResponse + + interface AmountArithmeticInconsistencyResponse { + + records: AmountArithmeticInconsistency[]; + + } + .. ts:def:: AmountArithmeticInconsistency interface AmountArithmeticInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; + + // Row identifier of the record involved in the calculation. + problem_row_id : SafeUint64; // Name of the arithmetic operation performed operation : string; diff --git a/core/auditor/get-monitoring-bad-sig-losses.rst b/core/auditor/get-monitoring-bad-sig-losses.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. :query operation: A string. If specified, only returns eligible rows with this :ts:type:`BadSigLosses`.operation value. The default value is NULL which means to not filter by operation. :query op_spec_pub: An EddsaPublicKey (in base32 encoding). If given, use its value to only return rows with this :ts:type:`BadSigLosses`.operation_specific_pub value. The default value is NULL. @@ -17,7 +20,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`BadSigLosses` objects. + The auditor responds with a :ts:type:`BadSigLossesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -26,17 +29,29 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: BadSigLossesResponse + + interface BadSigLossesResponse { + + records: BadSigLosses[]; + + } + .. ts:def:: BadSigLosses interface BadSigLosses { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; + + // Row identifier of the record with the invalid signature. + problem_row_id : SafeUint64; // Operation performed, even though a signature was invalid operation : string; diff --git a/core/auditor/get-monitoring-balances.rst b/core/auditor/get-monitoring-balances.rst @@ -11,7 +11,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`Balances` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`BalancesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -20,11 +20,20 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: BalancesResponse + + interface BalancesResponse { + + records: Balances[]; + + } + .. ts:def:: Balances interface Balances { diff --git a/core/auditor/get-monitoring-closure-lags.rst b/core/auditor/get-monitoring-closure-lags.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`ClosureLags` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`ClosureLagsResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,19 +28,31 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ClosureLagsResponse + + interface ClosureLagsResponse { + + records: ClosureLags[]; + + } + .. ts:def:: ClosureLags interface ClosureLags { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; + + // Row identifier of the reserve closure involved. + problem_row_id : SafeUint64; // Amount of money left in the reserve amount : Amount; diff --git a/core/auditor/get-monitoring-coin-inconsistency.rst b/core/auditor/get-monitoring-coin-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/coin-inconsistency +.. http:get:: /monitoring/coin-inconsistencies Get a list of coin inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`CoinInconsistency` objects. + The auditor responds with a :ts:type:`CoinInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,17 +28,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: CoinInconsistencyResponse + + interface CoinInconsistencyResponse { + + records: CoinInconsistency[]; + + } + .. ts:def:: CoinInconsistency interface CoinInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // The operation performed by the exchange operation : string; diff --git a/core/auditor/get-monitoring-denomination-key-validity-withdraw-inconsistency.rst b/core/auditor/get-monitoring-denomination-key-validity-withdraw-inconsistency.rst @@ -1,12 +1,15 @@ -.. http:get:: /monitoring/denomination-key-validity-withdraw-inconsistency +.. http:get:: /monitoring/denomination-key-validity-withdraw-inconsistencies Get a list of denomination key validity withdraw inconsistencies stored by the auditor. The following query parameters are optional, and can be used to customise the response: **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -14,7 +17,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`DenominationKeyValidityWithdrawInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`DenominationKeyValidityWithdrawInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -23,18 +26,30 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: DenominationKeyValidityWithdrawInconsistencyResponse + + interface DenominationKeyValidityWithdrawInconsistencyResponse { + + records: DenominationKeyValidityWithdrawInconsistency[]; + + } + .. ts:def:: DenominationKeyValidityWithdrawInconsistency interface DenominationKeyValidityWithdrawInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; + + // Row identifier of the withdrawal involved. + problem_row_id : SafeUint64; // When the withdrawal took place execution_date : Timestamp; @@ -43,7 +58,7 @@ reserve_pub : EddsaPublicKey; // Hash of the denomination public key involved in the withdrawal - denompub_h : HashCode; + h_denom_pub : HashCode; // True if this diagnostic was suppressed. suppressed : boolean; diff --git a/core/auditor/get-monitoring-denominations-without-sigs.rst b/core/auditor/get-monitoring-denominations-without-sigs.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`DenominationsWithoutSigs` objects. + The auditor responds with a :ts:type:`DenominationsWithoutSigsResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,22 +28,31 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: DenominationsWithoutSigsResponse + + interface DenominationsWithoutSigsResponse { + + records: DenominationsWithoutSigs[]; + + } + .. ts:def:: DenominationsWithoutSigs interface DenominationsWithoutSigs { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Hash of the denomination public key - denompub_h : HashCode; + h_denom_pub : HashCode; // Value of each coin of the denomination that lacks // the auditor's signature. diff --git a/core/auditor/get-monitoring-deposit-confirmations.rst b/core/auditor/get-monitoring-deposit-confirmations.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`DepositConfirmations` objects. + The auditor responds with a :ts:type:`DepositConfirmationsResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,17 +27,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: DepositConfirmationsResponse + + interface DepositConfirmationsResponse { + + records: DepositConfirmations[]; + + } + .. ts:def:: DepositConfirmations interface DepositConfirmations { // Row id in the exchange database - deposit_confirmation_serial_id : Integer; + deposit_confirmation_serial_id : SafeUint64; // Hash over the contract for which this deposit is made. h_contract_terms : HashCode; diff --git a/core/auditor/get-monitoring-early-aggregation.rst b/core/auditor/get-monitoring-early-aggregation.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/early-aggregation +.. http:get:: /monitoring/early-aggregations Get a list of early aggregations. @since protocol **v2**. @@ -7,8 +7,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -16,7 +19,8 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`GetEarlyAggregationResponse` objects. + The auditor responds with a :ts:type:`GetEarlyAggregationResponse` object. + Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,8 +29,9 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** @@ -34,8 +39,8 @@ interface GetEarlyAggregationResponse { - // Array of aggregations lacking a justification. - early_aggregations: EarlyAggregationEntry[]; + // Aggregations lacking a justification. + records: EarlyAggregationEntry[]; } @@ -44,13 +49,13 @@ interface EarlyAggregationEntry { // Unique row identifier in the auditor table - row_id : Integer; + row_id : SafeUint64; // Row identifier in the exchange's batch deposit table - batch_deposit_serial_id : Integer; + batch_deposit_serial_id : SafeUint64; // Row identifier in the exchange's tracking table - tracking_serial_id : Integer; + tracking_serial_id : SafeUint64; // Amount that was aggregated early. balance : Amount; diff --git a/core/auditor/get-monitoring-emergency-by-count.rst b/core/auditor/get-monitoring-emergency-by-count.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/emergency-by-count +.. http:get:: /monitoring/emergencies-by-count Get a list of emergencies by count stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`EmergencyByCount` objects. + The auditor responds with a :ts:type:`EmergencyByCountResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,28 +28,37 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: EmergencyByCountResponse + + interface EmergencyByCountResponse { + + records: EmergencyByCount[]; + + } + .. ts:def:: EmergencyByCount interface EmergencyByCount { // Row ID of the fee in the exchange database. - row_id : Integer; + row_id : SafeUint64; // Hash of the public denomination key to which the // emergency applies. - denompub_h : HashCode; + h_denom_pub : HashCode; // Number of coins the exchange officially issued of this // denomination. - num_issued : Integer; + num_issued : SafeUint64; // Number of coins that were redeemed. - num_known : Integer; + num_known : SafeUint64; // What is the total value of all coins of this denomination that // were put into circulation (and thus the maximum loss the diff --git a/core/auditor/get-monitoring-emergency.rst b/core/auditor/get-monitoring-emergency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/emergency +.. http:get:: /monitoring/emergencies Get a list of emergencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`Emergency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`EmergencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,20 +28,29 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: EmergencyResponse + + interface EmergencyResponse { + + records: Emergency[]; + + } + .. ts:def:: Emergency interface Emergency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Hash of denomination public key - denompub_h : HashCode; + h_denom_pub : HashCode; // What is the total value of all coins of this denomination that // were put into circulation (and thus the maximum loss the diff --git a/core/auditor/get-monitoring-fee-time-inconsistency.rst b/core/auditor/get-monitoring-fee-time-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/fee-time-inconsistency +.. http:get:: /monitoring/fee-time-inconsistencies Get a list of fee time inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`FeeTimeInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`FeeTimeInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,17 +27,29 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: FeeTimeInconsistencyResponse + + interface FeeTimeInconsistencyResponse { + + records: FeeTimeInconsistency[]; + + } + .. ts:def:: FeeTimeInconsistency interface FeeTimeInconsistency { // Row ID of the fee in the exchange database. - row_id : Integer; + row_id : SafeUint64; + + // Row identifier of the wire fee involved. + problem_row_id : SafeUint64; // Specifies the wire method for which the fee is inconsistent. type : string; diff --git a/core/auditor/get-monitoring-historic-denomination-revenue.rst b/core/auditor/get-monitoring-historic-denomination-revenue.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/historic-denomination-revenue +.. http:get:: /monitoring/historic-denomination-revenues Get a list of historic denomination revenue stored by the auditor. @@ -6,15 +6,18 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. With the default settings, the endpoint returns at most the 20 latest elements. **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`HistoricDenominationRevenue` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`HistoricDenominationRevenueResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -23,20 +26,29 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: HistoricDenominationRevenueResponse + + interface HistoricDenominationRevenueResponse { + + records: HistoricDenominationRevenue[]; + + } + .. ts:def:: HistoricDenominationRevenue interface HistoricDenominationRevenue { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Hash code of the denomination public key involved - denom_pub_hash : HashCode; + h_denom_pub : HashCode; // Time when the denomination expired and thus the revenue // was computed. diff --git a/core/auditor/get-monitoring-historic-reserve-summary.rst b/core/auditor/get-monitoring-historic-reserve-summary.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/historic-reserve-summary +.. http:get:: /monitoring/historic-reserve-summaries Get a list of historic reserve summary stored by the auditor. @@ -6,15 +6,18 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. With the default settings, the endpoint returns at most the 20 latest elements. **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`HistoricReserveSummary` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`HistoricReserveSummaryResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -23,17 +26,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: HistoricReserveSummaryResponse + + interface HistoricReserveSummaryResponse { + + records: HistoricReserveSummary[]; + + } + .. ts:def:: HistoricReserveSummary interface HistoricReserveSummary { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // From when the summary starts start_date : Timestamp; diff --git a/core/auditor/get-monitoring-kycauth-in-inconsistency.rst b/core/auditor/get-monitoring-kycauth-in-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/kycauth-in-inconsistency +.. http:get:: /monitoring/kycauth-in-inconsistencies Get a list of KYCAUTH in inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`KycauthInInconsistency` objects. + The auditor responds with a :ts:type:`KycauthInInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,21 +28,30 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: KycauthInInconsistencyResponse + + interface KycauthInInconsistencyResponse { + + records: KycauthInInconsistency[]; + + } + .. ts:def:: KycauthInInconsistency interface KycauthInInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Row of the wire transfer in the bank's credit history. This is // what the two sides are matched on. - bank_row_id : Integer; + bank_row_id : SafeUint64; // Amount the exchange booked for this transfer, zero if the // exchange has no record of it at all. diff --git a/core/auditor/get-monitoring-misattribution-in-inconsistency.rst b/core/auditor/get-monitoring-misattribution-in-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/misattribution-in-inconsistency +.. http:get:: /monitoring/misattribution-in-inconsistencies Get a list of misattribution in inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`MisattributionInInconsistency` objects. + The auditor responds with a :ts:type:`MisattributionInInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,26 +28,35 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: MisattributionInInconsistencyResponse + + interface MisattributionInInconsistencyResponse { + + records: MisattributionInInconsistency[]; + + } + .. ts:def:: MisattributionInInconsistency interface MisattributionInInconsistency { // Unique row identifier in the exchange database. - row_id : Integer; + row_id : SafeUint64; // Amount of money sent to the wrong account amount : Amount; // Row of the transaction in the bank database as // returned by the bank revenue API. - bank_row : Integer; + bank_row : SafeUint64; // Public key of the affected reserve reserve_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-pending-deposits.rst b/core/auditor/get-monitoring-pending-deposits.rst @@ -7,8 +7,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -16,7 +19,8 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`GetPendingDepositsResponse` objects. + The auditor responds with a :ts:type:`GetPendingDepositsResponse` object. + Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,8 +29,9 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** @@ -34,8 +39,8 @@ interface GetPendingDepositsResponse { - // Array of pending deposits. - pending_deposits: PendingDepositEntry[]; + // Pending deposits. + records: PendingDepositEntry[]; } @@ -44,10 +49,10 @@ interface PendingDepositEntry { // Unique row identifier in the auditor table - row_id : Integer; + row_id : SafeUint64; // Row identifier in the exchange's batch deposit table - batch_deposit_serial_id : Integer; + batch_deposit_serial_id : SafeUint64; // Amount that was aggregated early. total_amount : Amount; diff --git a/core/auditor/get-monitoring-progress.rst b/core/auditor/get-monitoring-progress.rst @@ -10,7 +10,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`Progress` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`ProgressResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -19,11 +19,20 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ProgressResponse + + interface ProgressResponse { + + records: Progress[]; + + } + .. ts:def:: Progress interface Progress { @@ -32,6 +41,6 @@ progress_key: string; // How much of the exchanges data has been processed so far - progress_offset: Integer; + progress_offset: SafeUint64; } diff --git a/core/auditor/get-monitoring-purse-not-closed-inconsistencies.rst b/core/auditor/get-monitoring-purse-not-closed-inconsistencies.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`PurseNotClosedInconsistencies` objects. + The auditor responds with a :ts:type:`PurseNotClosedInconsistenciesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,19 +27,28 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: PurseNotClosedInconsistenciesResponse + + interface PurseNotClosedInconsistenciesResponse { + + records: PurseNotClosedInconsistencies[]; + + } + .. ts:def:: PurseNotClosedInconsistencies interface PurseNotClosedInconsistencies { // Unique row identifier. - row_id : Integer; + row_id : SafeUint64; // Public key of the affected purse purse_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-purses.rst b/core/auditor/get-monitoring-purses.rst @@ -6,15 +6,18 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. With the default settings, the endpoint returns at most the 20 latest elements. **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`Purses` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`PursesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -23,17 +26,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: PursesResponse + + interface PursesResponse { + + records: Purses[]; + + } + .. ts:def:: Purses interface Purses { // Unique row identifier - auditor_purses_rowid : Integer; + auditor_purses_rowid : SafeUint64; // Public key of the purse purse_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-reserve-balance-insufficient-inconsistency.rst b/core/auditor/get-monitoring-reserve-balance-insufficient-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/reserve-balance-insufficient-inconsistency +.. http:get:: /monitoring/reserve-balance-insufficient-inconsistencies Get a list of reserve balance insufficient inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`ReserveBalanceInsufficientInconsistency` objects. + The auditor responds with a :ts:type:`ReserveBalanceInsufficientInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,19 +28,28 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ReserveBalanceInsufficientInconsistencyResponse + + interface ReserveBalanceInsufficientInconsistencyResponse { + + records: ReserveBalanceInsufficientInconsistency[]; + + } + .. ts:def:: ReserveBalanceInsufficientInconsistency interface ReserveBalanceInsufficientInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Public key of the affected reserve reserve_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-reserve-balance-summary-wrong-inconsistency.rst b/core/auditor/get-monitoring-reserve-balance-summary-wrong-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/reserve-balance-summary-wrong-inconsistency +.. http:get:: /monitoring/reserve-balance-summary-wrong-inconsistencies Get a list of reserve balance summary wrong inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`ReserveBalanceSummaryWrongInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`ReserveBalanceSummaryWrongInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,17 +27,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ReserveBalanceSummaryWrongInconsistencyResponse + + interface ReserveBalanceSummaryWrongInconsistencyResponse { + + records: ReserveBalanceSummaryWrongInconsistency[]; + + } + .. ts:def:: ReserveBalanceSummaryWrongInconsistency interface ReserveBalanceSummaryWrongInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Public key of the reserve affected reserve_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-reserve-in-inconsistency.rst b/core/auditor/get-monitoring-reserve-in-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/reserve-in-inconsistency +.. http:get:: /monitoring/reserve-in-inconsistencies Get a list of reserve in inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`ReserveInInconsistency` objects. + The auditor responds with a :ts:type:`ReserveInInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,17 +28,29 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ReserveInInconsistencyResponse + + interface ReserveInInconsistencyResponse { + + records: ReserveInInconsistency[]; + + } + .. ts:def:: ReserveInInconsistency interface ReserveInInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; + + // Row of the transfer in the bank's credit history. + bank_row_id : SafeUint64; // Amount the exchange expects to be in the reserve amount_exchange_expected : Amount; diff --git a/core/auditor/get-monitoring-reserve-not-closed-inconsistency.rst b/core/auditor/get-monitoring-reserve-not-closed-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/reserve-not-closed-inconsistency +.. http:get:: /monitoring/reserve-not-closed-inconsistencies Get a list of reserve not closed inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`ReserveNotClosedInconsistency` objects. + The auditor responds with a :ts:type:`ReserveNotClosedInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,19 +27,28 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ReserveNotClosedInconsistencyResponse + + interface ReserveNotClosedInconsistencyResponse { + + records: ReserveNotClosedInconsistency[]; + + } + .. ts:def:: ReserveNotClosedInconsistency interface ReserveNotClosedInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Public key of the reserve reserve_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-reserves.rst b/core/auditor/get-monitoring-reserves.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. With the default settings, the endpoint returns at most the 20 latest elements. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`Reserves` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`ReservesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,18 +27,27 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: ReservesResponse + + interface ReservesResponse { + + records: Reserves[]; + + } + .. ts:def:: Reserves interface Reserves { // Unique row identifier - auditor_reserves_rowid : Integer; + auditor_reserves_rowid : SafeUint64; // Public key of the reserve reserve_pub : EddsaPublicKey; diff --git a/core/auditor/get-monitoring-row-inconsistency.rst b/core/auditor/get-monitoring-row-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/row-inconsistency +.. http:get:: /monitoring/row-inconsistencies Get a list of row inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`RowInconsistency` objects. + The auditor responds with a :ts:type:`RowInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,17 +27,26 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: RowInconsistencyResponse + + interface RowInconsistencyResponse { + + records: RowInconsistency[]; + + } + .. ts:def:: RowInconsistency interface RowInconsistency { // Number of the affected row. - row_id : Integer; + row_id : SafeUint64; // Name of the affected exchange table. row_table : string; diff --git a/core/auditor/get-monitoring-row-minor-inconsistencies.rst b/core/auditor/get-monitoring-row-minor-inconsistencies.rst @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`RowMinorInconsistencies` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`RowMinorInconsistenciesResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,20 +27,32 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: RowMinorInconsistenciesResponse + + interface RowMinorInconsistenciesResponse { + + records: RowMinorInconsistencies[]; + + } + .. ts:def:: RowMinorInconsistencies interface RowMinorInconsistencies { // Number of the row in the affected table - row_id : Integer; + row_id : SafeUint64; + + // Name of the affected exchange table. + row_table : string; - // The row number in the affected table - row_table : Integer; + // Number of the affected row in that table. + problem_row : SafeUint64; // Human readable string describing the problem diagnostic : string; diff --git a/core/auditor/get-monitoring-wire-format-inconsistency.rst b/core/auditor/get-monitoring-wire-format-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/wire-format-inconsistency +.. http:get:: /monitoring/wire-format-inconsistencies Get a list of wire format inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. With the default settings, the endpoint returns at most the 20 latest elements that are not suppressed. @@ -15,7 +18,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`WireFormatInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`WireFormatInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -24,25 +27,34 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: WireFormatInconsistencyResponse + + interface WireFormatInconsistencyResponse { + + records: WireFormatInconsistency[]; + + } + .. ts:def:: WireFormatInconsistency interface WireFormatInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Amount that was part of the wire amount : Amount; // Offset of the duplicate wire transfer subject // in the bank database according to the revenue API. - wire_offset : Integer; + wire_offset : SafeUint64; // True if this diagnostic was suppressed. diagnostic : string; diff --git a/core/auditor/get-monitoring-wire-out-inconsistency.rst b/core/auditor/get-monitoring-wire-out-inconsistency.rst @@ -1,4 +1,4 @@ -.. http:get:: /monitoring/wire-out-inconsistency +.. http:get:: /monitoring/wire-out-inconsistencies Get a list of wire out inconsistencies stored by the auditor. @@ -6,8 +6,11 @@ **Request:** - :query limit: A signed integer, indicating how many elements relative to the offset query parameter should be returned. The default value is -20. - :query offset: An unsigned integer, indicating from which row onward to return elements. The default value is INT_MAX. + Pagination follows the :ref:`row-id-pagination` convention. The non-zero signed + ``limit`` defaults to ``-20``. + + :query limit: Optional non-zero signed number of records; negative values request descending row IDs. + :query offset: Optional :ts:type:`SafeUint64` row ID from which to begin. :query return_suppressed: A boolean. If true, returns all eligible rows, otherwise only returns eligible rows that are not suppressed. The default value is false. @@ -16,7 +19,7 @@ **Response:** :http:statuscode:`200 OK`: - The auditor responds with a top level array of :ts:type:`WireOutInconsistency` objects. If no elements could be found, an empty array is returned + The auditor responds with a :ts:type:`WireOutInconsistencyResponse` object. Its ``records`` field is empty if no matching elements were found. :http:statuscode:`400 Bad request`: The request is malformed. Returned with an ``TALER_EC_GENERIC_PARAMETER_MALFORMED`` error code. @@ -25,23 +28,38 @@ The response comes with a ``TALER_EC_AUDITOR_GENERIC_UNAUTHORIZED``. :http:statuscode:`500 Internal Server Error`: The server experienced an internal error. - The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED`` or - ``TALER_EC_GENERIC_DB_FETCH_FAILED`` error code. + The response comes with a ``TALER_EC_GENERIC_DB_SETUP_FAILED``, + ``TALER_EC_GENERIC_DB_FETCH_FAILED``, or + ``TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE`` error code. **Details:** + .. ts:def:: WireOutInconsistencyResponse + + interface WireOutInconsistencyResponse { + + records: WireOutInconsistency[]; + + } + .. ts:def:: WireOutInconsistency interface WireOutInconsistency { // Unique row identifier - row_id : Integer; + row_id : SafeUint64; // Account money was wired to destination_account : string; + // Row identifier in the exchange's wire-out table. + wire_out_row_id : SafeUint64; + + // Human-readable description of the inconsistency. + diagnostic : string; + // How much was suppossed to be wired according to the auditor. expected : Amount; diff --git a/core/auditor/patch-monitoring-aml-holds-SERIAL_ID.rst b/core/auditor/patch-monitoring-aml-holds-SERIAL_ID.rst @@ -7,6 +7,10 @@ withheld either way, so the amount continues to count towards the ``total_aml_hold`` and ``total_transfer_lag`` balances. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-amount-arithmetic-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-amount-arithmetic-inconsistency-SERIAL_ID.rst @@ -1,7 +1,11 @@ -.. http:patch:: /monitoring/amount-arithmetic-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/amount-arithmetic-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of amount arithmetic inconsistencies. Update the 'suppressed' field of an amount arithmetic inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-bad-sig-losses-SERIAL_ID.rst b/core/auditor/patch-monitoring-bad-sig-losses-SERIAL_ID.rst @@ -5,6 +5,10 @@ according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-closure-lags-SERIAL_ID.rst b/core/auditor/patch-monitoring-closure-lags-SERIAL_ID.rst @@ -3,6 +3,10 @@ This endpoint is used to suppress select elements of closure lags. Update the 'suppressed' field of a closure lags element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-coin-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-coin-inconsistency-SERIAL_ID.rst @@ -1,10 +1,14 @@ -.. http:patch:: /monitoring/coin-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/coin-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of coin inconsistencies. Update the 'suppressed' field of a coin inconsistency element with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-denomination-key-validity-withdraw-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-denomination-key-validity-withdraw-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/denomination-key-validity-withdraw-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/denomination-key-validity-withdraw-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of denomination key validity withdraw inconsistencies. Update the 'suppressed' field of a denomination key validity withdraw inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-denominations-without-sigs-SERIAL_ID.rst b/core/auditor/patch-monitoring-denominations-without-sigs-SERIAL_ID.rst @@ -5,6 +5,10 @@ with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-deposit-confirmations-SERIAL_ID.rst b/core/auditor/patch-monitoring-deposit-confirmations-SERIAL_ID.rst @@ -5,6 +5,10 @@ row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-early-aggregations-SERIAL_ID.rst b/core/auditor/patch-monitoring-early-aggregations-SERIAL_ID.rst @@ -0,0 +1,21 @@ +.. http:patch:: /monitoring/early-aggregations/$SERIAL_ID + + Set the ``suppressed`` state of the early aggregation identified by + ``$SERIAL_ID``. + + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + + **Response:** + + :http:statuscode:`204 No Content`: + The record was updated. + :http:statuscode:`400 Bad Request`: + The request body or ``$SERIAL_ID`` is malformed. + :http:statuscode:`401 Unauthorized`: + The request lacks valid authentication credentials. + :http:statuscode:`404 Not Found`: + No record has the given row ID. + :http:statuscode:`500 Internal Server Error`: + The server experienced an internal error. diff --git a/core/auditor/patch-monitoring-emergency-SERIAL_ID.rst b/core/auditor/patch-monitoring-emergency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/emergency/$SERIAL_ID +.. http:patch:: /monitoring/emergencies/$SERIAL_ID This endpoint is used to suppress select elements of emergencies. Update the 'suppressed' field of an emergency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-emergency-by-count-SERIAL_ID.rst b/core/auditor/patch-monitoring-emergency-by-count-SERIAL_ID.rst @@ -1,4 +1,4 @@ -.. http:patch:: /monitoring/emergency-by-count/$SERIAL_ID +.. http:patch:: /monitoring/emergencies-by-count/$SERIAL_ID This endpoint is used to suppress select elements of emergencies by count. Update the 'suppressed' field of an emergency by count element with row ID @@ -7,7 +7,7 @@ **Request:** - The body must be a `GenericAuditorMonitorPatchRequest`. + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. **Response:** diff --git a/core/auditor/patch-monitoring-fee-time-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-fee-time-inconsistency-SERIAL_ID.rst @@ -1,4 +1,4 @@ -.. http:patch:: /monitoring/fee-time-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/fee-time-inconsistencies/$SERIAL_ID This endpoint is used to suppress selected elements of fee time inconsistencies. Updates the 'suppressed' field of a fee time inconsistency @@ -6,7 +6,7 @@ **Request:** - The body must be a `GenericAuditorMonitorPatchRequest`. + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. **Response:** diff --git a/core/auditor/patch-monitoring-kycauth-in-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-kycauth-in-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/kycauth-in-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/kycauth-in-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of KYCAUTH in inconsistencies. Update the 'suppressed' field of a KYCAUTH in inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-misattribution-in-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-misattribution-in-inconsistency-SERIAL_ID.rst @@ -1,10 +1,14 @@ -.. http:patch:: /monitoring/misattribution-in-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/misattribution-in-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of misattribution in inconsistencies. Update the 'suppressed' field of an misattribution in inconsistency element with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-pending-deposits-SERIAL_ID.rst b/core/auditor/patch-monitoring-pending-deposits-SERIAL_ID.rst @@ -0,0 +1,21 @@ +.. http:patch:: /monitoring/pending-deposits/$SERIAL_ID + + Set the ``suppressed`` state of the pending deposit identified by + ``$SERIAL_ID``. + + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + + **Response:** + + :http:statuscode:`204 No Content`: + The record was updated. + :http:statuscode:`400 Bad Request`: + The request body or ``$SERIAL_ID`` is malformed. + :http:statuscode:`401 Unauthorized`: + The request lacks valid authentication credentials. + :http:statuscode:`404 Not Found`: + No record has the given row ID. + :http:statuscode:`500 Internal Server Error`: + The server experienced an internal error. diff --git a/core/auditor/patch-monitoring-purse-not-closed-inconsistencies-SERIAL_ID.rst b/core/auditor/patch-monitoring-purse-not-closed-inconsistencies-SERIAL_ID.rst @@ -5,6 +5,10 @@ inconsistencies element with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-reserve-balance-insufficient-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-reserve-balance-insufficient-inconsistency-SERIAL_ID.rst @@ -1,10 +1,14 @@ -.. http:patch:: /monitoring/reserve-balance-insufficient-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/reserve-balance-insufficient-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of reserve balance insufficient inconsistencies. Update the 'suppressed' field of a reserve balance insufficient inconsistency element with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-reserve-balance-summary-wrong-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-reserve-balance-summary-wrong-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/reserve-balance-summary-wrong-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/reserve-balance-summary-wrong-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of reserve balance summary wrong inconsistencies. Update the 'suppressed' field of a reserve balance summary wrong inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-reserve-in-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-reserve-in-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/reserve-in-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/reserve-in-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of reserve in inconsistencies. Update the 'suppressed' field of a reserve in inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-reserve-not-closed-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-reserve-not-closed-inconsistency-SERIAL_ID.rst @@ -1,10 +1,14 @@ -.. http:patch:: /monitoring/reserve-not-closed-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/reserve-not-closed-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of reserve not closed inconsistencies. Update the 'suppressed' field of a reserve not closed inconsistency element with row ID ``$SERIAL_ID``, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-row-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-row-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/row-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/row-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of row inconsistencies. Update the 'suppressed' field of a row inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-row-minor-inconsistencies-SERIAL_ID.rst b/core/auditor/patch-monitoring-row-minor-inconsistencies-SERIAL_ID.rst @@ -3,6 +3,10 @@ This endpoint is used to suppress select elements of row minor inconsistencies. Update the 'suppressed' field of a row minor inconsistencies element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-wire-format-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-wire-format-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/wire-format-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/wire-format-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of wire format inconsistencies. Update the 'suppressed' field of a wire format inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/patch-monitoring-wire-out-inconsistency-SERIAL_ID.rst b/core/auditor/patch-monitoring-wire-out-inconsistency-SERIAL_ID.rst @@ -1,8 +1,12 @@ -.. http:patch:: /monitoring/wire-out-inconsistency/$SERIAL_ID +.. http:patch:: /monitoring/wire-out-inconsistencies/$SERIAL_ID This endpoint is used to suppress select elements of wire out inconsistencies. Update the 'suppressed' field of a wire out inconsistency element with row_id $SERIAL_ID, according to :ts:type:`GenericAuditorMonitorPatchRequest`, stored by the auditor. + **Request:** + + The request body must be a :ts:type:`GenericAuditorMonitorPatchRequest`. + **Response:** :http:statuscode:`204 No Content`: diff --git a/core/auditor/put-deposit-confirmation.rst b/core/auditor/put-deposit-confirmation.rst @@ -1,14 +1,17 @@ .. http:put:: /deposit-confirmation - Submits a `DepositConfirmation` to the exchange. Should succeed + Submits a :ts:type:`DepositConfirmation` to the auditor. Should succeed unless the signature provided is invalid or the exchange is not audited by this auditor. + **Request:** + + The request body must be a :ts:type:`DepositConfirmation`. + **Response:** - :http:statuscode:`200 Ok`: - The auditor responds with a `DepositAudited` object. - This request should virtually always be successful. + :http:statuscode:`204 No Content`: + The deposit confirmation was accepted and stored. :http:statuscode:`400 Bad Request`: The request body is malformed or invalid. The response comes with a ``TALER_EC_GENERIC_JSON_INVALID`` or @@ -30,12 +33,6 @@ **Details:** - .. ts:def:: DepositAudited - - interface DepositAudited { - // TODO: maybe change to ``204 No content`` instead? - } - .. ts:def:: DepositConfirmation interface DepositConfirmation { @@ -43,14 +40,14 @@ // Hash over the contract for which this deposit is made. h_contract_terms: HashCode; - // Hash over the extensions. - h_extensions: HashCode; + // Hash over the policy concerning this deposit. + h_policy: HashCode; // Hash over the wiring information of the merchant. h_wire: HashCode; // Time when the deposit confirmation confirmation was generated. - timestamp: Timestamp; + exchange_timestamp: Timestamp; // How much time does the merchant have to issue a refund // request? Zero if refunds are not allowed. @@ -61,7 +58,7 @@ // Amount to be deposited, excluding fee. Calculated from the // amount with fee and the fee from the deposit request. - amount_without_fee: Amount; + total_without_fee: Amount; // Array of public keys of the deposited coins. coin_pubs: EddsaPublicKey[]; @@ -81,11 +78,6 @@ // Public signing key from the exchange matching ``exchange_sig``. exchange_pub: EddsaPublicKey; - // Master public key of the exchange corresponding to ``master_sig``. - // Identifies the exchange this is about. - // @deprecated since v1 (now ignored, global per auditor) - master_pub: EddsaPublicKey; - // When does the validity of the exchange_pub end? ep_start: Timestamp; @@ -101,6 +93,4 @@ .. note:: - This endpoint is still experimental (and is not yet implemented at the - time of this writing). A key open question is whether the auditor - should sign the response information. + This endpoint is still experimental.