import { RFQ_ROUTERS, RouterType, SUPPORTED_ROUTER_TYPES } from '../consts'; import Decimal from 'decimal.js'; import BN from 'bn.js'; export function isRequestedRouterType(requestedFilterArray: string[], routerType: string): boolean { return requestedFilterArray.length == 0 || requestedFilterArray.includes(routerType); } export function filterArrayRouterTypes(routerTypes: RouterType[] | undefined, includeRfq: boolean): string[] { // Handle the case when no router types are specified - use all routers const filterArray = !routerTypes || routerTypes.length === 0 ? [...SUPPORTED_ROUTER_TYPES] : routerTypes; if (!includeRfq) { // Remove RFQ routers from the filter array return filterArray.filter((routerType) => !RFQ_ROUTERS.includes(routerType)); } // Filter out invalid router types (should already be validated at controller level) return filterArray; } export function safeBNToNumber(value: BN): number { return new Decimal(value.toString()).toNumber(); }