/// <summary>
        /// Add Transaction
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public async Task <Contracts.NewTransactionModel> AddTransaction(string userId, Contracts.NewTransactionModel transaction)
        {
            var task    = _service.UserByUserIdAddtransactionPostWithHttpMessagesAsync(userId, transaction.Map());
            var resTask = await TaskWithDelay(task);

            if (resTask != task)
            {
                _log.WriteWarning(nameof(ChainalysisProxyClient), nameof(AddTransaction), $"Timeout with {transaction.Transaction}");
                return(null);
            }

            var result = task.Result;

            if (result.Response.IsSuccessStatusCode)
            {
                return(MapNewTransactionModel((INewTransactionModel)result.Body));
            }

            return(null);
        }