Explore Release Notes

Release Version 4.11.0 (July 26, 2023)

26. 07. 2023

What’s new

The ability for an Administrator and Business User to add a description while the Top up/Withdrawal via bank operation performing was added. Also, the ability to see descriptions in the response for this operation.

Issuer and Currency entities were combined into one in order to facilitate the work of the business.

The currency entity is unique in the system and represents the volume of specific counting units. It also includes information about the Issuer who issued this currency into the system. So that Currency = Issuer. Each currency has a unique internal identifier (id) and a code (currencyCode and digitalCode), which can be set manually for non-fiat points or assigned using ISO for fiat money equivalent.

Each wallet in the system is linked to a particular Currency during wallet creation.

Currency pattern:

Pattern to set currency: [id currencyCode name]: 4a4917e4-7134-470f-9f89-9d1e26217acd USD dollar

UI pattern for other usage: [currencyCode name]: USD dollar

Currency in Accounting:

Accounting in the system is always performed within one Currency. If several USD are created in the system as different currencies they are considered different currencies because they have different ids. So, if it is required to move issued electronic money between different Currencies, top-up/withdrawal or exchange operations are used.

For this purpose, the currency exchange rate can be set up as 1.

Another example, if it is required to perform a transfer from wallet 1 in currency USD with ID 1 to wallet 2 in currency USD with id 2, the following operations should be done:

  • exchange operation if both wallets belong to the same user
  • exchange – transfer – exchange if wallets belong to different users
  • or withdraw – top-up if wallets belong to different users

The changes affected API (see API changes section of Release Notes) and UI.

On the UI Issuer settings were replaced by Currency:

  1. The issuer creation option was removed
  2. Fields SN prefix and Fraction were added to the Create new currency site bar

The list of Currencies was extended with fields: ID, SN prefix, Fraction, Status, and Modify option to open the sidebar to Modify currency.

Supporting of multiple versions of APIs was added.

Improvements

  • Fields status and message for errors were removed on the Front-end. Also field message was replaced by code for failed API responses.
  • Front-end for setting Provider Commissions (for gate operation) was switched to use updated API endpoints (Gate Commission Provider Rule Controller)
  • Script to create a list of indexes to be created in the Database was created and included in migration file (DB optimization was done)
  • The MDC (Mapped Diagnostic Context) request ID was added to logs

Fixes

  • The issue with GET working-days/current endpoint was fixed. Information about working days in closed and requested_to_close statuses was included to the response
  • The issue with POST /users/view/actions endpoint was fixed. Successful response instead of 500 error
  • Using spaces instead of valid characters when creating entities was prevented
  • The issue with POST /operations/host/{statisticHost} endpoint was fixed. Change incorrect sorting by type, status, created
  • The issue with POST /organizations endpoint was fixed. Successful response instead of 500 error
  • The issue with POST /users/view/actions endpoint was fixed. A successful responce insted of a 500 error occurs when trying to view user actions using the userIds filter
  • The issue with POST /profiles/my/reset-identification endpoint was fixed. 500 error was replaced by 400 when trying to create a request to reset an identification using too many characters in the description
  • The issue with provider commission deactivation was fixed (API POST
    /contracts/{contractId}/gate-commission-profiles/{profileId}/commission-settings-records/set-up-commission-settings active=false and UI).
  • The issue with POST /inputs endpoint was fixed. 500 error was replaced by 400 when trying to use deleted coins (isDeleted=true)
  • The issue with POST /gate/transactions/{tx}/submit endpoint was fixed. 500 error was replaced by 400 when trying to submit gate transaction in processed status
  • The issue with POST /prepaid-coins endpoint was fixed. Unexpected error code was replaced by errors.parameter=prepaidAmount, errors.message=must be greater than or equal to 0.00 when using a negative prepaidAmount in request body
  • The issue with POST /currencies endpoint was fixed. Correct fraction value returns in response when creating a new currency
  • Field mapping on the UI for Currency in “Balance structure in…” was corrected (changed from currencyId to currency)

API Changes

Endpoint
Updated
POST​ /bank-top-ups
Added description field in request/response
POST ​/bank-withdrawals​/view
POST​/bank-top-ups​/view
POST​/transactions/view
Added description field in response
GET /currencies
response was updated:
·         renamed currencies field to records.
·         added field string snPrefix
·         added field boolean active
POST /currencies
request was updated:
·         added field string snPrefix
·         added field boolean active
response was updated:
·         deleted root node currency
·         added field string id
·         added field string snPrefix
·         added field boolean active
POST /coins/{serial}
POST /contracts/{contractId}/gate-commission-profiles
request was updated:
·         renamed currency to currentyId . Use currency id instead of currency code.
GET /reporting/coins
GET /reporting/coins/funds-flows
GET /reporting/coins/outflows
request parameter was updated:
·         currency - use currency id instead of currency code.
Endpoint
Added
PATCH /currencies/{id}
new API endpoint was added
request:
    {     "name": "someName",     "description": "someDescription",     "active": true     }
response:
{    "id": "currencyId",    "code": "USD",    "digitalCode": "804",    "snPrefix": "sn prefix",    "fraction": 100,    "name": "someName",    "description": "someDescription",     active": true}
Endpoint
Removed
GET /issuers
POST /issuers
PATCH /issuers/{id}
was removed