diff --git a/.env.example b/.env.example index b7a96c6..5fa5b43 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ PORT=5000 # ipv6 format for locahost ["::ffff:127.0.0.1", "::ffff:1", "fe80::1", "::1"] IP_WHITELIST= -HUMMINGBOT_CLIENT_ID={client_id} +HUMMINGBOT_INSTANCE_ID={client_id} # Celo diff --git a/src/routes/uniswap.route.js b/src/routes/uniswap.route.js index 61c721f..7b08aa0 100644 --- a/src/routes/uniswap.route.js +++ b/src/routes/uniswap.route.js @@ -88,8 +88,14 @@ router.post('/sell-price', async (req, res) => { } catch (err) { debug(err) let reason - err.reason ? reason = err.reason : reason = statusMessages.operation_error - res.status(500).json({ + let err_code = 500 + if (Object.keys(err).includes('isInsufficientReservesError')) { + err_code = 200 + reason = statusMessages.insufficient_reserves + ' in Sell at Uniswap' + } else { + err.reason ? reason = err.reason : reason = statusMessages.operation_error + } + res.status(err_code).json({ error: reason, message: err }) @@ -140,8 +146,14 @@ router.post('/buy-price', async (req, res) => { } catch (err) { debug(err) let reason - err.reason ? reason = err.reason : reason = statusMessages.operation_error - res.status(500).json({ + let err_code = 500 + if (Object.keys(err).includes('isInsufficientReservesError')) { + err_code = 200 + reason = statusMessages.insufficient_reserves + ' in Buy at Uniswap' + } else { + err.reason ? reason = err.reason : reason = statusMessages.operation_error + } + res.status(err_code).json({ error: reason, message: err }) diff --git a/src/services/utils.js b/src/services/utils.js index 03f98df..8b9c9af 100644 --- a/src/services/utils.js +++ b/src/services/utils.js @@ -9,6 +9,7 @@ export const statusMessages = { operation_error: 'Operation Error', no_pool_available: 'No Pool Available', invalid_token_symbol: 'Invalid Token Symbol', + insufficient_reserves: 'Insufficient Liquidity Reserves', } export const latency = (startTime, endTime) => parseFloat((endTime - startTime) / 1000) @@ -71,8 +72,11 @@ export const strToDecimal = (str) => parseInt(str) / 100; export const getHummingbotMemo = () => { const prefix = 'hbot' - const clientId = process.env.HUMMINGBOT_CLIENT_ID || '' - return [prefix, clientId].join('-') + const clientId = process.env.HUMMINGBOT_INSTANCE_ID + if ((typeof clientId !== 'undefined' && clientId != null) && clientId !== '') { + return [prefix, clientId].join('-') + } + return prefix } export const loadConfig = () => {