hitbtc v3: add safeTrade
diff --git a/js/hitbtc3.js b/js/hitbtc3.js
index dc00ac229371..706fbb153856 100644
--- a/js/hitbtc3.js
+++ b/js/hitbtc3.js
@@ -738,52 +738,61 @@ module.exports = class hitbtc3 extends Exchange {
     }
 
     parseTrade (trade, market = undefined) {
-        // createMarketOrder
         //
-        //  {       fee: "0.0004644",
-        //           id:  386394956,
-        //        price: "0.4644",
-        //     quantity: "1",
-        //    timestamp: "2018-10-25T16:41:44.780Z" }
+        // createOrder (market)
+        //
+        //  {
+        //      id: '1569252895',
+        //      position_id: '0',
+        //      quantity: '10',
+        //      price: '0.03919424',
+        //      fee: '0.000979856000',
+        //      timestamp: '2022-01-25T19:38:36.153Z',
+        //      taker: true
+        //  }
         //
         // fetchTrades
         //
-        // { id: 974786185,
-        //   price: '0.032462',
-        //   qty: '0.3673',
-        //   side: 'buy',
-        //   timestamp: '2020-10-16T12:57:39.846Z' }
+        //  {
+        //      id: 974786185,
+        //      price: '0.032462',
+        //      qty: '0.3673',
+        //      side: 'buy',
+        //      timestamp: '2020-10-16T12:57:39.846Z'
+        //  }
         //
         // fetchMyTrades
         //
-        // { id: 277210397,
-        //   clientOrderId: '6e102f3e7f3f4e04aeeb1cdc95592f1a',
-        //   orderId: 28102855393,
-        //   symbol: 'ETHBTC',
-        //   side: 'sell',
-        //   quantity: '0.002',
-        //   price: '0.073365',
-        //   fee: '0.000000147',
-        //   timestamp: '2018-04-28T18:39:55.345Z',
-        //   taker: true }
+        //  {
+        //      id: 277210397,
+        //      clientOrderId: '6e102f3e7f3f4e04aeeb1cdc95592f1a',
+        //      orderId: 28102855393,
+        //      symbol: 'ETHBTC',
+        //      side: 'sell',
+        //      quantity: '0.002',
+        //      price: '0.073365',
+        //      fee: '0.000000147',
+        //      timestamp: '2018-04-28T18:39:55.345Z',
+        //      taker: true
+        //  }
         //
         const timestamp = this.parse8601 (trade['timestamp']);
         const marketId = this.safeString (trade, 'symbol');
         market = this.safeMarket (marketId, market);
         const symbol = market['symbol'];
         let fee = undefined;
-        const feeCost = this.safeNumber (trade, 'fee');
+        const feeCostString = this.safeString (trade, 'fee');
         const taker = this.safeValue (trade, 'taker');
         let takerOrMaker = undefined;
         if (taker !== undefined) {
             takerOrMaker = taker ? 'taker' : 'maker';
         }
-        if (feeCost !== undefined) {
+        if (feeCostString !== undefined) {
             const info = this.safeValue (market, 'info', {});
             const feeCurrency = this.safeString (info, 'fee_currency');
             const feeCurrencyCode = this.safeCurrencyCode (feeCurrency);
             fee = {
-                'cost': feeCost,
+                'cost': feeCostString,
                 'currency': feeCurrencyCode,
             };
         }
@@ -793,12 +802,9 @@ module.exports = class hitbtc3 extends Exchange {
         const orderId = this.safeString (trade, 'clientOrderId');
         const priceString = this.safeString (trade, 'price');
         const amountString = this.safeString2 (trade, 'quantity', 'qty');
-        const price = this.parseNumber (priceString);
-        const amount = this.parseNumber (amountString);
-        const cost = this.parseNumber (Precise.stringMul (priceString, amountString));
         const side = this.safeString (trade, 'side');
         const id = this.safeString (trade, 'id');
-        return {
+        return this.safeTrade ({
             'info': trade,
             'id': id,
             'order': orderId,
@@ -808,11 +814,11 @@ module.exports = class hitbtc3 extends Exchange {
             'type': undefined,
             'side': side,
             'takerOrMaker': takerOrMaker,
-            'price': price,
-            'amount': amount,
-            'cost': cost,
+            'price': priceString,
+            'amount': amountString,
+            'cost': undefined,
             'fee': fee,
-        };
+        }, market);
     }
 
     async fetchTransactionsHelper (types, code, since, limit, params) {
