diff --git a/src/utils/dtUtils.ts b/src/utils/dtUtils.ts index ae26aec..0e0c218 100644 --- a/src/utils/dtUtils.ts +++ b/src/utils/dtUtils.ts @@ -82,36 +82,43 @@ export async function getCheapestExchange( dataTokenAddress: string ) { if (!ocean || !dataTokenAddress) return + try { + const tokenExchanges = await ocean.fixedRateExchange.searchforDT( + dataTokenAddress, + '1' + ) - const tokenExchanges = await ocean.fixedRateExchange.searchforDT( - dataTokenAddress, - '1' - ) + if (tokenExchanges === undefined || tokenExchanges.length === 0) { + return { + address: '', + price: '' + } + } + let cheapestExchangeAddress = tokenExchanges[0].exchangeID + let cheapestExchangePrice = new Decimal(tokenExchanges[0].fixedRate) - if (tokenExchanges === undefined || tokenExchanges.length === 0) { + for (let i = 0; i < tokenExchanges.length; i++) { + const decimalExchangePrice = new Decimal( + Web3.utils.fromWei(tokenExchanges[i].fixedRate) + ) + + if (decimalExchangePrice < cheapestExchangePrice) { + cheapestExchangePrice = decimalExchangePrice + cheapestExchangeAddress = tokenExchanges[i].exchangeID + } + } + + return { + address: cheapestExchangeAddress, + price: cheapestExchangePrice.toString() + } + } catch (err) { + Logger.log(err) return { address: '', price: '' } } - let cheapestExchangeAddress = tokenExchanges[0].exchangeID - let cheapestExchangePrice = new Decimal(tokenExchanges[0].fixedRate) - - for (let i = 0; i < tokenExchanges.length; i++) { - const decimalExchangePrice = new Decimal( - Web3.utils.fromWei(tokenExchanges[i].fixedRate) - ) - - if (decimalExchangePrice < cheapestExchangePrice) { - cheapestExchangePrice = decimalExchangePrice - cheapestExchangeAddress = tokenExchanges[i].exchangeID - } - } - - return { - address: cheapestExchangeAddress, - price: cheapestExchangePrice.toString() - } } export async function checkAndBuyDT(