HollaEx Core

1.21.0 - 2019-02-19

New Features

  • Constants variables are stored in the database and available in /constant endpoint publicly.

    • Example:

      {
      constants: {
      domain: "http://example.com",
      emails: {
      sender: "john@doe.com",
      timezone: "America/Los_Angeles",
      send_email_to_support: true
      },
      captcha: {
      site_key: "123"
      },
      plugins: {
      enabled: "bank,kyc,sms",
      configuration: {
      s3: {
      id_docs_bucket: "my-bucket:eu-west-1"
      },
      ses: {
      region: "eu-west-1"
      },
      sns: {
      region: "eu-west-1"
      },
      freshdesk: {
      host: ""
      }
      },
      accounts: {
      kyc: "",
      admin: "john@doe.com",
      support: "mary@sue.com",
      supervisor: ""
      },
      api_host: "http://myapi.com",
      api_name: "my-exchange",
      defaults: {
      theme: "dark",
      language: "en"
      },
      logo_path: "https://mypath",
      allowed_domains: [ ],
      logo_black_path: "https://mypathdark",
      valid_languages: "en",
      user_level_number: "7",
      new_user_is_activated: "true"
      }
      }
  • Endpoints added:

    • PUT /user/settings

      • Allows updates to a user's settings (Client theme, audio preferences, etc)

Changed

  • Endpoint Changes

    • GET /v1/constant

      • Response previously had a field called config that contained a nested field tiers. The config field has been renamed to constants and the tiers nested field is now called user_level_number.

      • The constants field returns all setup values that can be altered

    • PUT /admin/deposits/dismiss => PUT /admin/deposit/dismiss

      • Minor change to make deposit singular for clarity and consistency

    • Endpoint changes below are related to the new plugins functionality. All these endpoints are accessible via the plugins. The plugin endpoints do not need the /v1 base path. These plugins need to be enabled to be accessible.

      • PUT /user

        • This endpoint previously handled updates for user information (kyc) and settings. This has been split into two:

          • PUT /user/settings for settings

          • PUT /plugins/kyc/user for kyc

      • PUT /admin/user/{id}

        • This endpoint previously handled admin updates for user information and bank information. This has been split into two:

          • PUT /plugins/kyc/admin for kyc

          • POST /plugins/bank/admin for bank

        • The id path variable is now a query parameter and called user_id

      • POST /user/bank => POST /plugins/bank/user

      • POST /admin/user/bank/verify => POST /plugins/bank/verify

      • POST /admin/user/bank/revoke => POST /plugins/bank/revoke

      • POST /user/verification => POST /plugins/kyc/user/upload

      • POST /admin/user/{user_id}/upload => POST /plugins/kyc/admin/upload

        • user_id path variable is not a query parameter with the same name

      • GET /admin/verification => GET /plugins/kyc/id

      • POST /admin/user/id/verify => POST /plugins/kyc/id/verify

      • POST /admin/user/id/revoke => POST /plugins/kyc/id/revoke

      • GET /user/verify/sms => GET /plugins/sms/verify

      • POST /user/verify/sms => POST /plugins/sms/verify

Deprecated

  • Endpoints Deprecated (all these can now be accessed through plugins. Corresponding plugin endpoints are listed above)

    • PUT /user

    • PUT /admin/user/{id}

    • POST /user/bank

    • POST /admin/user/bank/verify

    • POST /admin/user/bank/revoke

    • POST /user/verification

    • POST /admin/user/{user_id}/upload

    • GET /admin/verification

    • POST /admin/user/id/verfiy

    • POST /admin/user/id/revoke

    • GET /user/verify/sms

    • POST /user/verify/sms

1.20.5 - 2019-12-27

New Features

  • Maximum number of concurrent orders in the queue is introduced using MAX_ORDER_QUEUE and if the number of orders in the matching engine is more than that the client receives System overloaded error message.

Deprecated

  • Stream no longer sends order_queued web socket notification starting from this version.

1.20.0 - 2019-12-16

New Features

  • Admin can now update a user's role to admin, support, supervisor, kyc, or user using PUT /admin/user/role.

  • Admin can now cancel an order.

  • Admin can now query all orders by the side e.g. buy or sell.

  • Orders returned from using GET /admin/orders now include a User value containing the associated user's id, email, and username.

  • HMAC-SHA256 authentication added

  • Endpoints added

    • DELETE /admin/order

      • Takes order_id of the order and user_id of the order's owner as query parameters.

    • PUT /admin/user/role

      • Takes user_id as a query parameter

      • Body of the request should have a role key with the value being the user's new role

        • role can be one of admin, support, supervisor, kyc, or user.

      • Example:

        {
        "role": "admin"
        }

Changed

  • Endpoints Changed

    • GET /admin/orders

      • Now takes side as a query parameter. Must be one of buy or sell.

        • buy orders are returned in price descending order.

        • sell orders are returned in price ascending order.

    • PUT /admin/deposit/verify

      • Now only takes transaction_id of deposit to verify as query parameter.

    • PUT /admin/deposits/{deposit_id}/dismiss

      • Changed to /admin/deposits/dismiss

      • Now only takes transaction_id of deposit to dismiss as query parameter.

1.19.6 - 2019-10-14

Changed

  • Endpoint changes:

    • /admin/checkTransaction/{currency}/{transaction_id} => /admin/checkTransaction

      • currency and transaction_id are now query parameters

      • Added is_testnet query parameter that takes a boolean value

1.19.5 - 2019-10-03

New Features

  • Added a config field with a tiers value in the endpoint /constant showing the number of user tiers for the exchange.

    • Example:

      {
      "coins": {},
      "pairs": {},
      "config": {
      "tiers": "4"
      }
      }
  • Added a status value in the endpoint /health showing whether or not the exchange is running and set up properly.

    • Example:

      {
      "name": "",
      "version": "",
      "host": "",
      "basePath": "",
      "status": true
      }

1.19.0 - 2019-09-27

New Features

  • Endpoints added:

    • GET /admin/withdrawals

    • GET /admin/orders

    • GET /admin/pairs

Changed

  • Base path changed from /v0 to /v1

  • Default maximum user verification level changed from 6 to 4.

  • Endpoint changes:

    • GET /admin/pairs accepts an optional pair parameter.

    • PUT /admin/pairs now allows admin to change more than maker_fees and taker_fees.

      • min_size

      • max_size

      • min_price

      • max_price

      • increment_size

      • increment_price

      • active

    • /admin/coins now accepts GET requests for getting information for coins. Pass a currency query parameter for getting one specific coin.

    • GET /admin/deposits no longer requires at least one query parameter for access.

    • Added limit and page query parameters that allow users and admins to paginate their queries for the following endpoints:

      • GET /admin/deposits

    • Added order_by and order query parameters that allow users and admins to order their queried data by order_by value in asc or desc form

      • GET /user/trades

      • GET /admin/trades

      • GET /admin/deposits

      • GET /admin/withdrawals

      • GET /admin/orders

    • Added start_date and end_date query parameters that allows users and admins to narrow down their data queries to a certain timeframes for the following endpoints:

      • GET /user/trades

      • GET /user/deposits

      • GET /user/withdrawals

      • GET /user/logins

      • GET /admin/trades

      • GET /admin/deposits

      • GET /admin/logins

      • GET /admin/audits

    • Name changes:

      • GET /admin/user/{user_id}/tradesGET /admin/trades

      • GET /admin/user/{user_id}/loginsGET /admin/logins

      • GET /admin/user/{user_id}/auditsGET /admin/audits

        • user_id path variable is now a query parameter and is not required.

      • GET /admin/coins/{currency}GET /admin/coins

        • currency path variable is now required in the body of the PUT request.

      • GET /admin/pairs/fees/{pair} && PUT /admin/pairs/fees/admin/pairs

        • pair path variable is now required in the body of the PUT request.

    • Variable name changes:

      • proofOfResidencyproof_of_residency

        • POST /user/verification

        • POST admin/user/{user_id}/upload

      • tokenIdtoken_id

        • DELETE /user/tokens/{tokenId}

      • orderIdorder_id

        • GET, DELETE /user/orders/{orderId}

      • orderByorder_by

        • GET /user/deposits

        • GET /user/withdrawals

      • transactionIdtransaction_id

        • DELETE /user/withdrawals

        • GET /admin/checkTransaction/{currency}/{transactionId}

      • isConfirmedis_confirmed

        • POST /deposit/{currency}

      • confirmationsconfirmation

        • POST /deposit/{currency}

      • depositIddeposit_id

        • PUT /admin/deposits/{depositId}/dismiss

Fixed

  • Fixed a bug where GET /admin/stats was returning an empty object for balance attribute