From afb683ffa7aaac4ddf41c5edbca9b91922e70ba9 Mon Sep 17 00:00:00 2001 From: Aleksandr Kraiz Date: Wed, 8 Feb 2023 04:58:29 +0400 Subject: [PATCH] Bumo --- package.json | 2 +- src/config/schemas/pureEnvSchema.ts | 36 +++++++++++++++-------------- src/utils/httpToWS.ts | 8 ++++++- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index e898dbc..159e385 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.17.0-rc.3", + "version": "0.17.0-rc.4", "description": "Orion Protocol SDK", "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", diff --git a/src/config/schemas/pureEnvSchema.ts b/src/config/schemas/pureEnvSchema.ts index f26f396..d17fe8b 100644 --- a/src/config/schemas/pureEnvSchema.ts +++ b/src/config/schemas/pureEnvSchema.ts @@ -1,28 +1,30 @@ import { z } from 'zod'; import { SupportedChainId } from '../../types'; +export const pureEnvNetworksSchema = z.object({ + api: z.string(), + services: z.object({ + blockchain: z.object({ + http: z.string(), + }), + aggregator: z.object({ + http: z.string(), + ws: z.string(), + }), + priceFeed: z.object({ + all: z.string(), + }), + }), + rpc: z.string().optional(), + liquidityMigratorAddress: z.string().optional(), +}); + export const pureEnvPayloadSchema = z.object({ analyticsAPI: z.string().url(), referralAPI: z.string().url(), networks: z.record( z.nativeEnum(SupportedChainId), - z.object({ - api: z.string(), - services: z.object({ - blockchain: z.object({ - http: z.string(), - }), - aggregator: z.object({ - http: z.string(), - ws: z.string(), - }), - priceFeed: z.object({ - all: z.string(), - }), - }), - rpc: z.string().optional(), - liquidityMigratorAddress: z.string().optional(), - }), + pureEnvNetworksSchema ), }); diff --git a/src/utils/httpToWS.ts b/src/utils/httpToWS.ts index 276c44d..5bac087 100644 --- a/src/utils/httpToWS.ts +++ b/src/utils/httpToWS.ts @@ -1,5 +1,11 @@ const httpToWS = (url: string) => { - const parsedUrl = new URL(url); + let parsedUrl: URL; + try { + parsedUrl = new URL(url); + } catch (e) { + console.error(`httpToWS: Invalid URL ${url}`); + throw e; + } if (parsedUrl.protocol === 'https:') { parsedUrl.protocol = 'wss:'; } else if (parsedUrl.protocol === 'http:') {