From 57474d28725433510bfb898b8ab6da502018a8ca Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 08:49:00 +0000 Subject: [PATCH 01/27] feat: added frontage service --- package.json | 2 +- src/Orion/index.ts | 5 +- src/Unit/index.ts | 5 +- src/config/envs.json | 99 +++++++++++++++++++ src/config/schemas/pureEnvSchema.ts | 3 + src/services/Frontage/index.ts | 20 ++++ src/services/Frontage/schemas/index.ts | 1 + .../Frontage/schemas/search-tickers-schema.ts | 9 ++ src/services/index.ts | 1 + src/types.ts | 6 ++ 10 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 src/services/Frontage/index.ts create mode 100644 src/services/Frontage/schemas/index.ts create mode 100644 src/services/Frontage/schemas/search-tickers-schema.ts diff --git a/package.json b/package.json index ee8c258..fe29a0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.78", + "version": "0.20.79-rc0", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/Orion/index.ts b/src/Orion/index.ts index 7245c00..629027e 100644 --- a/src/Orion/index.ts +++ b/src/Orion/index.ts @@ -60,7 +60,10 @@ export default class Orion { }, indexer: { api: networkConfig.api + networkConfig.services.indexer?.http, - } + }, + frontage: { + api: networkConfig.api + networkConfig.services.frontage.http, + }, }, }; }) diff --git a/src/Unit/index.ts b/src/Unit/index.ts index 85d7052..b91e549 100644 --- a/src/Unit/index.ts +++ b/src/Unit/index.ts @@ -11,7 +11,7 @@ import Exchange from './Exchange/index.js'; import { chains, envs } from '../config'; import type { networkCodes } from '../constants/index.js'; import { IndexerService } from '../services/Indexer'; -import Pmm from "./Pmm"; +import Pmm from './Pmm'; type KnownConfig = { env: KnownEnv @@ -88,6 +88,9 @@ export default class Unit { indexer: { api: networkConfig.api + networkConfig.services.indexer?.http, }, + frontage: { + api: networkConfig.api + networkConfig.services.frontage.http, + }, }, }; } else { diff --git a/src/config/envs.json b/src/config/envs.json index a6c3988..0787b96 100644 --- a/src/config/envs.json +++ b/src/config/envs.json @@ -17,6 +17,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } }, "liquidityMigratorAddress": "0x23a1820a47BcD022E29f6058a5FD224242F50D1A" @@ -36,6 +39,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -54,6 +60,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -72,6 +81,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -90,6 +102,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -108,6 +123,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -126,6 +144,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -144,6 +165,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -162,6 +186,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -180,6 +207,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } } @@ -203,6 +233,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } }, "liquidityMigratorAddress": "0x01b10dds12478C88A5E18e2707E729906bC25CfF6" @@ -222,6 +255,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -240,6 +276,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -258,6 +297,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -276,6 +318,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -294,6 +339,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } } @@ -317,6 +365,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -335,6 +386,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -353,6 +407,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -371,6 +428,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -389,6 +449,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -407,6 +470,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -425,6 +491,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -443,6 +512,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -461,6 +533,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -479,6 +554,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } } @@ -502,6 +580,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -520,6 +601,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } } @@ -543,6 +627,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } }, "liquidityMigratorAddress": "0x23a1820a47BcD022E29f6058a5FD224242F50D1A" @@ -562,6 +649,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -580,6 +670,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -598,6 +691,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } }, @@ -616,6 +712,9 @@ }, "indexer": { "http": "/orion-indexer/" + }, + "frontage": { + "http": "/frontage" } } } diff --git a/src/config/schemas/pureEnvSchema.ts b/src/config/schemas/pureEnvSchema.ts index 9c799c4..31f503c 100644 --- a/src/config/schemas/pureEnvSchema.ts +++ b/src/config/schemas/pureEnvSchema.ts @@ -17,6 +17,9 @@ export const pureEnvNetworksSchema = z.object({ indexer: z.object({ http: z.string(), }).optional(), + frontage: z.object({ + http: z.string(), + }), }), rpc: z.string().optional(), liquidityMigratorAddress: z.string().optional(), diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts new file mode 100644 index 0000000..2646156 --- /dev/null +++ b/src/services/Frontage/index.ts @@ -0,0 +1,20 @@ +import { fetchWithValidation } from 'simple-typed-fetch'; +import { searchTickersSchema } from './schemas'; + +export class Frontage { + private readonly apiUrl: string; + + constructor(apiUrl: string) { + this.apiUrl = apiUrl; + + this.searchTickers = this.searchTickers.bind(this); + } + + searchTickers = () => { + return fetchWithValidation(`${this.apiUrl}/api/v1/tickers/search`, + searchTickersSchema + ); + }; +} + +export * as schemas from './schemas/index.js'; diff --git a/src/services/Frontage/schemas/index.ts b/src/services/Frontage/schemas/index.ts new file mode 100644 index 0000000..c03475f --- /dev/null +++ b/src/services/Frontage/schemas/index.ts @@ -0,0 +1 @@ +export * from './search-tickers-schema'; diff --git a/src/services/Frontage/schemas/search-tickers-schema.ts b/src/services/Frontage/schemas/search-tickers-schema.ts new file mode 100644 index 0000000..3822030 --- /dev/null +++ b/src/services/Frontage/schemas/search-tickers-schema.ts @@ -0,0 +1,9 @@ +import { z } from 'zod'; + +export const searchTickersSchema = z.array(z.object({ + pair: z.string(), + volume24: z.number(), + change24: z.number(), + lastPrice: z.number(), + networks: z.array(z.string()), +})); diff --git a/src/services/index.ts b/src/services/index.ts index ca04ebd..004c45f 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -3,3 +3,4 @@ export * as blockchainService from './BlockchainService/index.js'; export * as priceFeed from './PriceFeed/index.js'; export * as referralSystem from './ReferralSystem/index.js'; export * as indexer from './Indexer/index.js'; +export * as frontage from './Frontage/index.js'; diff --git a/src/types.ts b/src/types.ts index 5828296..3607a8d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -271,6 +271,12 @@ export type VerboseUnitConfig = { // http://localhost:3004/, // http:// } | undefined + frontage: { + api: string + // For example: + // http://localhost:3004/, + // http:// + } } basicAuth?: BasicAuthCredentials } From bfa4cc3d6f138d985adbd4b54d2f6210fc51ace1 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 09:55:25 +0000 Subject: [PATCH 02/27] feat: added two methods for tickers --- package.json | 2 +- src/services/Frontage/index.ts | 54 +++++++++++++++++-- src/services/Frontage/schemas/index.ts | 2 +- ...ch-tickers-schema.ts => tickers-schema.ts} | 2 +- src/types.ts | 21 +++++++- 5 files changed, 73 insertions(+), 8 deletions(-) rename src/services/Frontage/schemas/{search-tickers-schema.ts => tickers-schema.ts} (74%) diff --git a/package.json b/package.json index fe29a0d..48979e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc0", + "version": "0.20.79-rc1", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index 2646156..77b3d8c 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -1,5 +1,6 @@ import { fetchWithValidation } from 'simple-typed-fetch'; -import { searchTickersSchema } from './schemas'; +import { tickersSchema } from './schemas'; +import type { tickersBaseSearchParams, tickersCategories } from '../../types'; export class Frontage { private readonly apiUrl: string; @@ -8,11 +9,56 @@ export class Frontage { this.apiUrl = apiUrl; this.searchTickers = this.searchTickers.bind(this); + this.getTickers = this.getTickers.bind(this); } - searchTickers = () => { - return fetchWithValidation(`${this.apiUrl}/api/v1/tickers/search`, - searchTickersSchema + searchTickers = ({ + searchValue, + currentNetwork, + targetNetwork, + sortBy, + sortType, + offset, + limit, + }: { searchValue: string } & tickersBaseSearchParams) => { + const queryParams = [ + `searchValue=${encodeURIComponent(searchValue)}`, + currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', + targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork)}` : '', + sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', + sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', + offset !== undefined ? `&offset=${offset}` : '', + limit !== undefined ? `&limit=${limit}` : '', + ].filter(Boolean).join('&'); + + return fetchWithValidation( + `${this.apiUrl}/api/v1/tickers/search?${queryParams}`, + tickersSchema + ); + }; + + getTickers = ({ + category, + currentNetwork, + targetNetwork, + sortBy, + sortType, + offset, + limit, + }: { category: tickersCategories } & tickersBaseSearchParams) => { + const queryParams = [ + `category=${encodeURIComponent(category)}`, + currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', + targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork)}` : '', + sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', + sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', + offset !== undefined ? `&offset=${offset}` : '', + limit !== undefined ? `&limit=${limit}` : '', + ].filter(Boolean).join('&'); + + return fetchWithValidation( + `/api/v1/tickers/get?${queryParams}`, + tickersSchema ); }; } diff --git a/src/services/Frontage/schemas/index.ts b/src/services/Frontage/schemas/index.ts index c03475f..4611949 100644 --- a/src/services/Frontage/schemas/index.ts +++ b/src/services/Frontage/schemas/index.ts @@ -1 +1 @@ -export * from './search-tickers-schema'; +export * from './tickers-schema'; diff --git a/src/services/Frontage/schemas/search-tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts similarity index 74% rename from src/services/Frontage/schemas/search-tickers-schema.ts rename to src/services/Frontage/schemas/tickers-schema.ts index 3822030..46f894f 100644 --- a/src/services/Frontage/schemas/search-tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -export const searchTickersSchema = z.array(z.object({ +export const tickersSchema = z.array(z.object({ pair: z.string(), volume24: z.number(), change24: z.number(), diff --git a/src/types.ts b/src/types.ts index 3607a8d..63ea7ef 100644 --- a/src/types.ts +++ b/src/types.ts @@ -3,8 +3,9 @@ import type factories from './constants/factories.js'; import type { BigNumber } from 'bignumber.js'; import type subOrderStatuses from './constants/subOrderStatuses.js'; import type positionStatuses from './constants/positionStatuses.js'; -import type { knownEnvs } from './config/schemas/index.js'; +import type { knownEnvs } from './config/schemas'; import type getHistory from './Orion/bridge/getHistory.js'; +import type uppercasedNetworkCodes from './constants/uppercasedNetworkCodes'; export type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; @@ -465,3 +466,21 @@ export type AtomicSwap = Partial< } export type OrderSource = 'TERMINAL_MARKET' | 'TERMINAL_LIMIT' | 'SWAP_UI' | 'WIDGET'; + +// Frontage +export type NetworkCode = typeof uppercasedNetworkCodes[number]; + +export type tickersCategories = 'USD' | 'ORN' | 'BNB' | 'ALTS'; + +export type tickersSortBy = 'PRICE' | 'CHANGE' | 'VOLUME'; + +export type tickersSortType = 'ASCENDING' | 'DESCENDING'; + +export type tickersBaseSearchParams = { + currentNetwork?: NetworkCode + targetNetwork?: NetworkCode + sortBy?: tickersSortBy + sortType?: tickersSortType + offset?: number + limit?: number +} From 8c27f339fc2b971fe690128858db57af91600737 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 12:15:59 +0000 Subject: [PATCH 03/27] feat: frontage was added to Unit --- package.json | 2 +- src/Unit/index.ts | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 48979e1..f043ce8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc1", + "version": "0.20.79-rc2", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/Unit/index.ts b/src/Unit/index.ts index b91e549..56d08c4 100644 --- a/src/Unit/index.ts +++ b/src/Unit/index.ts @@ -2,6 +2,7 @@ import { JsonRpcProvider } from 'ethers'; import { Aggregator } from '../services/Aggregator'; import { BlockchainService } from '../services/BlockchainService'; import { PriceFeed } from '../services/PriceFeed'; +import { Frontage } from '../services/Frontage'; import type { KnownEnv, SupportedChainId, @@ -35,6 +36,8 @@ export default class Unit { public readonly priceFeed: PriceFeed; + public readonly frontage: Frontage; + public readonly exchange: Exchange; public readonly config: VerboseUnitConfig; @@ -127,6 +130,9 @@ export default class Unit { this.config.services.priceFeed.api, this.config.basicAuth ); + this.frontage = new Frontage( + this.config.services.frontage.api + ); this.exchange = new Exchange(this); this.pmm = new Pmm(this); } From 252b7fc3415b10f38fd2b80bf97c0e8e2e69ed49 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 12:22:59 +0000 Subject: [PATCH 04/27] feat: types updates --- package.json | 2 +- src/services/Frontage/index.ts | 6 +++--- src/types.ts | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index f043ce8..87d0646 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc2", + "version": "0.20.79-rc3", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index 77b3d8c..5a8ebfd 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -1,6 +1,6 @@ import { fetchWithValidation } from 'simple-typed-fetch'; import { tickersSchema } from './schemas'; -import type { tickersBaseSearchParams, tickersCategories } from '../../types'; +import type { TickersBaseSearchParams, TickersCategories } from '../../types'; export class Frontage { private readonly apiUrl: string; @@ -20,7 +20,7 @@ export class Frontage { sortType, offset, limit, - }: { searchValue: string } & tickersBaseSearchParams) => { + }: { searchValue: string } & TickersBaseSearchParams) => { const queryParams = [ `searchValue=${encodeURIComponent(searchValue)}`, currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', @@ -45,7 +45,7 @@ export class Frontage { sortType, offset, limit, - }: { category: tickersCategories } & tickersBaseSearchParams) => { + }: { category: TickersCategories } & TickersBaseSearchParams) => { const queryParams = [ `category=${encodeURIComponent(category)}`, currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', diff --git a/src/types.ts b/src/types.ts index 63ea7ef..4d3bf64 100644 --- a/src/types.ts +++ b/src/types.ts @@ -470,17 +470,17 @@ export type OrderSource = 'TERMINAL_MARKET' | 'TERMINAL_LIMIT' | 'SWAP_UI' | 'WI // Frontage export type NetworkCode = typeof uppercasedNetworkCodes[number]; -export type tickersCategories = 'USD' | 'ORN' | 'BNB' | 'ALTS'; +export type TickersCategories = 'USD' | 'ORN' | 'BNB' | 'ALTS'; -export type tickersSortBy = 'PRICE' | 'CHANGE' | 'VOLUME'; +export type TickersSortBy = 'PRICE' | 'CHANGE' | 'VOLUME'; -export type tickersSortType = 'ASCENDING' | 'DESCENDING'; +export type TickersSortType = 'ASCENDING' | 'DESCENDING'; -export type tickersBaseSearchParams = { +export type TickersBaseSearchParams = { currentNetwork?: NetworkCode targetNetwork?: NetworkCode - sortBy?: tickersSortBy - sortType?: tickersSortType + sortBy?: TickersSortBy + sortType?: TickersSortType offset?: number limit?: number } From ba4d7d1137b5f126ffaf9e5a3693a9d45ed47886 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 12:29:24 +0000 Subject: [PATCH 05/27] feat: types update --- package.json | 2 +- src/services/Frontage/index.ts | 8 ++++---- src/types.ts | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 87d0646..b753b9d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc3", + "version": "0.20.79-rc4", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index 5a8ebfd..c16134f 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -23,8 +23,8 @@ export class Frontage { }: { searchValue: string } & TickersBaseSearchParams) => { const queryParams = [ `searchValue=${encodeURIComponent(searchValue)}`, - currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', - targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork)}` : '', + currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', + targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', offset !== undefined ? `&offset=${offset}` : '', @@ -48,8 +48,8 @@ export class Frontage { }: { category: TickersCategories } & TickersBaseSearchParams) => { const queryParams = [ `category=${encodeURIComponent(category)}`, - currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork)}` : '', - targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork)}` : '', + currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', + targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', offset !== undefined ? `&offset=${offset}` : '', diff --git a/src/types.ts b/src/types.ts index 4d3bf64..1d6e3fd 100644 --- a/src/types.ts +++ b/src/types.ts @@ -5,7 +5,7 @@ import type subOrderStatuses from './constants/subOrderStatuses.js'; import type positionStatuses from './constants/positionStatuses.js'; import type { knownEnvs } from './config/schemas'; import type getHistory from './Orion/bridge/getHistory.js'; -import type uppercasedNetworkCodes from './constants/uppercasedNetworkCodes'; +import type { networkCodes } from './constants'; export type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; @@ -468,7 +468,7 @@ export type AtomicSwap = Partial< export type OrderSource = 'TERMINAL_MARKET' | 'TERMINAL_LIMIT' | 'SWAP_UI' | 'WIDGET'; // Frontage -export type NetworkCode = typeof uppercasedNetworkCodes[number]; +export type NetworkCode = typeof networkCodes[number]; export type TickersCategories = 'USD' | 'ORN' | 'BNB' | 'ALTS'; From 8bd62243dc2bc96f838e6c83967e23fa33f70c82 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 13:19:16 +0000 Subject: [PATCH 06/27] feat: small fix for getTickers method --- package.json | 2 +- src/services/Frontage/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b753b9d..0142843 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc4", + "version": "0.20.79-rc5", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index c16134f..6217b85 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -57,7 +57,7 @@ export class Frontage { ].filter(Boolean).join('&'); return fetchWithValidation( - `/api/v1/tickers/get?${queryParams}`, + `${this.apiUrl}/api/v1/tickers/get?${queryParams}`, tickersSchema ); }; From 12533dbb4a25d2fccb6c3656f81671589ce5d5e2 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 13:29:02 +0000 Subject: [PATCH 07/27] fix: fix for frontage config --- package.json | 2 +- src/Unit/index.ts | 4 ++-- src/types.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0142843..f7ec7f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc5", + "version": "0.20.79-rc6", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/Unit/index.ts b/src/Unit/index.ts index 56d08c4..69d781f 100644 --- a/src/Unit/index.ts +++ b/src/Unit/index.ts @@ -92,7 +92,7 @@ export default class Unit { api: networkConfig.api + networkConfig.services.indexer?.http, }, frontage: { - api: networkConfig.api + networkConfig.services.frontage.http, + http: networkConfig.api + networkConfig.services.frontage.http, }, }, }; @@ -131,7 +131,7 @@ export default class Unit { this.config.basicAuth ); this.frontage = new Frontage( - this.config.services.frontage.api + this.config.services.frontage.http ); this.exchange = new Exchange(this); this.pmm = new Pmm(this); diff --git a/src/types.ts b/src/types.ts index 1d6e3fd..f5cc59d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -273,7 +273,7 @@ export type VerboseUnitConfig = { // http:// } | undefined frontage: { - api: string + http: string // For example: // http://localhost:3004/, // http:// From acdd78820d7933785271bb2d48ab9a162ff980b2 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 13:41:04 +0000 Subject: [PATCH 08/27] fix: fix for frontage config --- src/Orion/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Orion/index.ts b/src/Orion/index.ts index 629027e..54cbbf8 100644 --- a/src/Orion/index.ts +++ b/src/Orion/index.ts @@ -7,6 +7,7 @@ import type { SupportedChainId, DeepPartial, VerboseUnitConfig, KnownEnv, EnvCon import { isValidChainId } from '../utils/index.js'; import { simpleFetch } from 'simple-typed-fetch'; import Bridge from './bridge/index.js'; +import type { Frontage } from '../services/Frontage'; export default class Orion { public readonly env?: string; @@ -62,7 +63,7 @@ export default class Orion { api: networkConfig.api + networkConfig.services.indexer?.http, }, frontage: { - api: networkConfig.api + networkConfig.services.frontage.http, + http: networkConfig.api + networkConfig.services.frontage.http, }, }, }; From 14035cfcc30287dc27b9f5301a6c7ea3c4d19c4e Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 13:47:13 +0000 Subject: [PATCH 09/27] fix: fix for frontage config --- src/Orion/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Orion/index.ts b/src/Orion/index.ts index 54cbbf8..b05cf36 100644 --- a/src/Orion/index.ts +++ b/src/Orion/index.ts @@ -7,7 +7,6 @@ import type { SupportedChainId, DeepPartial, VerboseUnitConfig, KnownEnv, EnvCon import { isValidChainId } from '../utils/index.js'; import { simpleFetch } from 'simple-typed-fetch'; import Bridge from './bridge/index.js'; -import type { Frontage } from '../services/Frontage'; export default class Orion { public readonly env?: string; From d024d475a72be940ebc9484d9001121d01f32e1d Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 14:07:23 +0000 Subject: [PATCH 10/27] fix: fix frontage config --- src/Orion/index.ts | 15 ++-- src/Unit/index.ts | 11 +-- src/config/envs.json | 104 ++-------------------------- src/config/schemas/pureEnvSchema.ts | 6 +- src/types.ts | 7 +- 5 files changed, 18 insertions(+), 125 deletions(-) diff --git a/src/Orion/index.ts b/src/Orion/index.ts index b05cf36..8cc94b0 100644 --- a/src/Orion/index.ts +++ b/src/Orion/index.ts @@ -1,12 +1,13 @@ import { merge } from 'merge-anything'; -import { chains, envs } from '../config/index.js'; +import { chains, envs } from '../config'; import type { networkCodes } from '../constants/index.js'; import Unit from '../Unit/index.js'; -import { ReferralSystem } from '../services/ReferralSystem/index.js'; +import { ReferralSystem } from '../services/ReferralSystem'; import type { SupportedChainId, DeepPartial, VerboseUnitConfig, KnownEnv, EnvConfig, AggregatedAssets } from '../types.js'; import { isValidChainId } from '../utils/index.js'; import { simpleFetch } from 'simple-typed-fetch'; import Bridge from './bridge/index.js'; +import { Frontage } from '../services/Frontage'; export default class Orion { public readonly env?: string; @@ -17,6 +18,8 @@ export default class Orion { public readonly bridge: Bridge; + public readonly frontage: Frontage; + // TODO: get tradable assets (aggregated) // TODO: get tradable pairs (aggregated) @@ -35,6 +38,7 @@ export default class Orion { config = { analyticsAPI: envConfig?.analyticsAPI, referralAPI: envConfig.referralAPI, + frontageAPI: envConfig.frontageAPI, networks: Object.entries(envConfig.networks).map(([chainId, networkConfig]) => { if (!isValidChainId(chainId)) throw new Error(`Invalid chainId: ${chainId}`); const chainConfig = chains[chainId]; @@ -60,10 +64,7 @@ export default class Orion { }, indexer: { api: networkConfig.api + networkConfig.services.indexer?.http, - }, - frontage: { - http: networkConfig.api + networkConfig.services.frontage.http, - }, + } }, }; }) @@ -105,6 +106,8 @@ export default class Orion { this.bridge = new Bridge( this.unitsArray, ); + + this.frontage = new Frontage(config.frontageAPI); } get unitsArray() { diff --git a/src/Unit/index.ts b/src/Unit/index.ts index 69d781f..38f8e0e 100644 --- a/src/Unit/index.ts +++ b/src/Unit/index.ts @@ -2,7 +2,6 @@ import { JsonRpcProvider } from 'ethers'; import { Aggregator } from '../services/Aggregator'; import { BlockchainService } from '../services/BlockchainService'; import { PriceFeed } from '../services/PriceFeed'; -import { Frontage } from '../services/Frontage'; import type { KnownEnv, SupportedChainId, @@ -36,8 +35,6 @@ export default class Unit { public readonly priceFeed: PriceFeed; - public readonly frontage: Frontage; - public readonly exchange: Exchange; public readonly config: VerboseUnitConfig; @@ -90,10 +87,7 @@ export default class Unit { }, indexer: { api: networkConfig.api + networkConfig.services.indexer?.http, - }, - frontage: { - http: networkConfig.api + networkConfig.services.frontage.http, - }, + } }, }; } else { @@ -130,9 +124,6 @@ export default class Unit { this.config.services.priceFeed.api, this.config.basicAuth ); - this.frontage = new Frontage( - this.config.services.frontage.http - ); this.exchange = new Exchange(this); this.pmm = new Pmm(this); } diff --git a/src/config/envs.json b/src/config/envs.json index 0787b96..a2a180e 100644 --- a/src/config/envs.json +++ b/src/config/envs.json @@ -1,6 +1,7 @@ { "production": { "referralAPI": "https://trade.orion.xyz/referral-api", + "frontageAPI": "https://trade.orion.xyz/frontage", "networks": { "1": { "api": "https://trade.orion.xyz/eth-mainnet", @@ -17,9 +18,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } }, "liquidityMigratorAddress": "0x23a1820a47BcD022E29f6058a5FD224242F50D1A" @@ -39,9 +37,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -60,9 +55,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -81,9 +73,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -102,9 +91,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -123,9 +109,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -144,9 +127,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -165,9 +145,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -186,9 +163,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -207,9 +181,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } } @@ -217,6 +188,7 @@ }, "testing": { "referralAPI": "https://testing.orion.xyz/referral-api", + "frontageAPI": "https://testing.orion.xyz/frontage", "networks": { "97": { "api": "https://testing.orion.xyz/bsc-testnet", @@ -233,9 +205,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } }, "liquidityMigratorAddress": "0x01b10dds12478C88A5E18e2707E729906bC25CfF6" @@ -255,9 +224,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -276,9 +242,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -297,9 +260,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -318,9 +278,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -339,9 +296,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } } @@ -349,6 +303,7 @@ }, "staging": { "referralAPI": "https://staging.orion.xyz/referral-api", + "frontageAPI": "https://staging.orion.xyz/frontage", "networks": { "1": { "api": "https://staging.orion.xyz/eth-mainnet", @@ -365,9 +320,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -386,9 +338,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -407,9 +356,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -428,9 +374,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -449,9 +392,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -470,9 +410,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -491,9 +428,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -512,9 +446,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -533,9 +464,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -554,9 +482,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } } @@ -564,6 +489,7 @@ }, "experimental": { "referralAPI": "https://testing.orion.xyz/referral-api", + "frontageAPI": "https://testing.orion.xyz/frontage", "networks": { "97": { "api": "https://dn-dev.orion.xyz/bsc-testnet", @@ -580,9 +506,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -601,9 +524,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } } @@ -611,6 +531,7 @@ }, "kucoin-production": { "referralAPI": "https://trade.orion.xyz/referral-api", + "frontageAPI": "https://trade.orion.xyz/frontage", "networks": { "1": { "api": "https://trade.orion.xyz/eth-mainnet", @@ -627,9 +548,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } }, "liquidityMigratorAddress": "0x23a1820a47BcD022E29f6058a5FD224242F50D1A" @@ -649,9 +567,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -670,9 +585,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -691,9 +603,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } }, @@ -712,9 +621,6 @@ }, "indexer": { "http": "/orion-indexer/" - }, - "frontage": { - "http": "/frontage" } } } diff --git a/src/config/schemas/pureEnvSchema.ts b/src/config/schemas/pureEnvSchema.ts index 31f503c..8f414be 100644 --- a/src/config/schemas/pureEnvSchema.ts +++ b/src/config/schemas/pureEnvSchema.ts @@ -16,10 +16,7 @@ export const pureEnvNetworksSchema = z.object({ }), indexer: z.object({ http: z.string(), - }).optional(), - frontage: z.object({ - http: z.string(), - }), + }).optional() }), rpc: z.string().optional(), liquidityMigratorAddress: z.string().optional(), @@ -28,6 +25,7 @@ export const pureEnvNetworksSchema = z.object({ export const pureEnvPayloadSchema = z.object({ analyticsAPI: z.string().url().optional(), referralAPI: z.string().url(), + frontageAPI: z.string().url(), networks: z.record( z.nativeEnum(SupportedChainId), pureEnvNetworksSchema diff --git a/src/types.ts b/src/types.ts index f5cc59d..7cf26f1 100644 --- a/src/types.ts +++ b/src/types.ts @@ -272,12 +272,6 @@ export type VerboseUnitConfig = { // http://localhost:3004/, // http:// } | undefined - frontage: { - http: string - // For example: - // http://localhost:3004/, - // http:// - } } basicAuth?: BasicAuthCredentials } @@ -289,6 +283,7 @@ export type Json = string | number | boolean | null | Json[] | { [key: string]: export type EnvConfig = { analyticsAPI: string | undefined referralAPI: string + frontageAPI: string networks: Partial< Record< SupportedChainId, From e275a4d7532253b32c8f92ff7bf1b031ca98a46c Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Fri, 29 Mar 2024 14:07:37 +0000 Subject: [PATCH 11/27] fix: fix frontage config --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f7ec7f3..f8193ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc6", + "version": "0.20.79-rc7", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", From 9705ce013182129d7a56ac78de09d6f574b4b263 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Wed, 17 Apr 2024 16:15:47 +0100 Subject: [PATCH 12/27] feat: updated new changes from frontage --- package.json | 2 +- src/services/Frontage/index.ts | 28 ++++++++++++++++++- .../Frontage/schemas/tickers-schema.ts | 6 ++-- src/types.ts | 2 +- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bc32648..0960beb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc7", + "version": "0.20.79-rc8", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index 6217b85..edc82c1 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -10,6 +10,7 @@ export class Frontage { this.searchTickers = this.searchTickers.bind(this); this.getTickers = this.getTickers.bind(this); + this.getFavorites = this.getFavorites.bind(this); } searchTickers = ({ @@ -57,7 +58,32 @@ export class Frontage { ].filter(Boolean).join('&'); return fetchWithValidation( - `${this.apiUrl}/api/v1/tickers/get?${queryParams}`, + `${this.apiUrl}/api/v1/tickers/get/category?${queryParams}`, + tickersSchema + ); + }; + + getFavorites = ({ + tickers, + currentNetwork, + targetNetwork, + sortBy, + sortType, + offset, + limit, + }: { tickers: string } & TickersBaseSearchParams) => { + const queryParams = [ + `tickers=${encodeURIComponent(tickers)}`, + currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', + targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', + sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', + sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', + offset !== undefined ? `&offset=${offset}` : '', + limit !== undefined ? `&limit=${limit}` : '', + ].filter(Boolean).join('&'); + + return fetchWithValidation( + `${this.apiUrl}/api/v1/tickers/get/favourites?${queryParams}`, tickersSchema ); }; diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index 46f894f..a55410a 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -1,9 +1,11 @@ import { z } from 'zod'; -export const tickersSchema = z.array(z.object({ +export const tickerSchema = z.object({ pair: z.string(), volume24: z.number(), change24: z.number(), lastPrice: z.number(), networks: z.array(z.string()), -})); +}); + +export const tickersSchema = z.array(tickerSchema); diff --git a/src/types.ts b/src/types.ts index 7cf26f1..c877620 100644 --- a/src/types.ts +++ b/src/types.ts @@ -465,7 +465,7 @@ export type OrderSource = 'TERMINAL_MARKET' | 'TERMINAL_LIMIT' | 'SWAP_UI' | 'WI // Frontage export type NetworkCode = typeof networkCodes[number]; -export type TickersCategories = 'USD' | 'ORN' | 'BNB' | 'ALTS'; +export type TickersCategories = 'USD' | 'ORN' | 'NATIVE' | 'ALTS'; export type TickersSortBy = 'PRICE' | 'CHANGE' | 'VOLUME'; From e3fc4ace19e8ba7a7a4d62dfeae71dce5eed3b5a Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Thu, 25 Apr 2024 11:57:50 +0100 Subject: [PATCH 13/27] feat: tickers schema was updated --- package.json | 2 +- src/services/Frontage/schemas/tickers-schema.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0960beb..3431899 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc8", + "version": "0.20.79-rc9", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index a55410a..9835803 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -5,7 +5,7 @@ export const tickerSchema = z.object({ volume24: z.number(), change24: z.number(), lastPrice: z.number(), - networks: z.array(z.string()), + networks: z.array(z.number()), }); export const tickersSchema = z.array(tickerSchema); From 704bcbca1b5eef912601b76c24b7effae115a66c Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Thu, 25 Apr 2024 12:15:53 +0100 Subject: [PATCH 14/27] feat: tickers schema was updated --- package.json | 2 +- src/services/Frontage/schemas/tickers-schema.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3431899..bfa5120 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc9", + "version": "0.20.79-rc10", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index 9835803..41384ed 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -1,11 +1,12 @@ import { z } from 'zod'; +import { SupportedChainId } from '../../../types'; export const tickerSchema = z.object({ pair: z.string(), volume24: z.number(), change24: z.number(), lastPrice: z.number(), - networks: z.array(z.number()), + networks: z.array(z.nativeEnum(SupportedChainId)), }); export const tickersSchema = z.array(tickerSchema); From 54e0ab8e76e8d7bd83bde4d2d9de556140561211 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Thu, 25 Apr 2024 12:31:34 +0100 Subject: [PATCH 15/27] feat: tickers schema was updated --- package.json | 2 +- src/services/Frontage/schemas/tickers-schema.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bfa5120..c282af1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc10", + "version": "0.20.79-rc11", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index 41384ed..c66f885 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -1,12 +1,19 @@ import { z } from 'zod'; import { SupportedChainId } from '../../../types'; +const preprocessToEnum = (value: unknown) => { + if (typeof value === 'number') { + return String(value); + } + return value; +}; + export const tickerSchema = z.object({ pair: z.string(), volume24: z.number(), change24: z.number(), lastPrice: z.number(), - networks: z.array(z.nativeEnum(SupportedChainId)), + networks: z.array(z.preprocess(preprocessToEnum, z.nativeEnum(SupportedChainId))), }); export const tickersSchema = z.array(tickerSchema); From ffe714d4b22150a9efcc699b482396a9de9870fa Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Thu, 25 Apr 2024 14:07:48 +0100 Subject: [PATCH 16/27] feat: getTickers method was updated --- package.json | 2 +- src/services/Frontage/index.ts | 11 ++++++++--- src/types.ts | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c282af1..1927574 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc11", + "version": "0.20.79-rc12", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index edc82c1..b08b88d 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -46,9 +46,10 @@ export class Frontage { sortType, offset, limit, - }: { category: TickersCategories } & TickersBaseSearchParams) => { + tickers, + }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { const queryParams = [ - `category=${encodeURIComponent(category)}`, + category === 'FAVORITES' && tickers !== undefined ? `tickers=${encodeURIComponent(tickers)}` : `category=${encodeURIComponent(category)}`, currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', @@ -57,8 +58,12 @@ export class Frontage { limit !== undefined ? `&limit=${limit}` : '', ].filter(Boolean).join('&'); + const url = category === 'FAVORITES' && tickers !== undefined + ? `${this.apiUrl}/api/v1/tickers/get/favourites?${queryParams}` + : `${this.apiUrl}/api/v1/tickers/get/category?${queryParams}`; + return fetchWithValidation( - `${this.apiUrl}/api/v1/tickers/get/category?${queryParams}`, + url, tickersSchema ); }; diff --git a/src/types.ts b/src/types.ts index c877620..b20b874 100644 --- a/src/types.ts +++ b/src/types.ts @@ -465,7 +465,7 @@ export type OrderSource = 'TERMINAL_MARKET' | 'TERMINAL_LIMIT' | 'SWAP_UI' | 'WI // Frontage export type NetworkCode = typeof networkCodes[number]; -export type TickersCategories = 'USD' | 'ORN' | 'NATIVE' | 'ALTS'; +export type TickersCategories = 'FAVORITES' | 'USD' | 'ORN' | 'NATIVE' | 'ALTS'; export type TickersSortBy = 'PRICE' | 'CHANGE' | 'VOLUME'; From f9f849a84e1e6990f26e4719a7fbc8459cc9d2af Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 6 May 2024 17:35:09 +0100 Subject: [PATCH 17/27] feat: tickers schema was updated --- package.json | 2 +- src/services/Frontage/schemas/tickers-schema.ts | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 4151622..6d2b78b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc13", + "version": "0.20.79-rc14", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index c66f885..41384ed 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -1,19 +1,12 @@ import { z } from 'zod'; import { SupportedChainId } from '../../../types'; -const preprocessToEnum = (value: unknown) => { - if (typeof value === 'number') { - return String(value); - } - return value; -}; - export const tickerSchema = z.object({ pair: z.string(), volume24: z.number(), change24: z.number(), lastPrice: z.number(), - networks: z.array(z.preprocess(preprocessToEnum, z.nativeEnum(SupportedChainId))), + networks: z.array(z.nativeEnum(SupportedChainId)), }); export const tickersSchema = z.array(tickerSchema); From 3a12373b4852df5a27ab5658af1c62aea4a4b117 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 6 May 2024 17:57:26 +0100 Subject: [PATCH 18/27] feat: tickers schema was updated --- package.json | 2 +- src/services/Frontage/schemas/tickers-schema.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d2b78b..2c0dfc3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc14", + "version": "0.20.79-rc15", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/schemas/tickers-schema.ts b/src/services/Frontage/schemas/tickers-schema.ts index 41384ed..a50b742 100644 --- a/src/services/Frontage/schemas/tickers-schema.ts +++ b/src/services/Frontage/schemas/tickers-schema.ts @@ -6,6 +6,7 @@ export const tickerSchema = z.object({ volume24: z.number(), change24: z.number(), lastPrice: z.number(), + pricePrecision: z.number(), networks: z.array(z.nativeEnum(SupportedChainId)), }); From 1521032eb3d8d4f1fc3136d87635f926aa8131f7 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 13 May 2024 13:31:45 +0100 Subject: [PATCH 19/27] feat: Frontage service context define was removed --- package.json | 2 +- src/services/Frontage/index.ts | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/package.json b/package.json index 2c0dfc3..0dcf55b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc15", + "version": "0.20.79-rc16", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index b08b88d..a3f5720 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -7,10 +7,6 @@ export class Frontage { constructor(apiUrl: string) { this.apiUrl = apiUrl; - - this.searchTickers = this.searchTickers.bind(this); - this.getTickers = this.getTickers.bind(this); - this.getFavorites = this.getFavorites.bind(this); } searchTickers = ({ From a8f168228c020c53bf89311ec48fdec975c4b394 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 13 May 2024 13:58:26 +0100 Subject: [PATCH 20/27] feat: Frontage service code review --- package.json | 2 +- src/services/Frontage/index.ts | 61 ++++++++++------------------------ 2 files changed, 19 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index 0dcf55b..5108a1b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc16", + "version": "0.20.79-rc17", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index a3f5720..939f3a4 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -18,15 +18,15 @@ export class Frontage { offset, limit, }: { searchValue: string } & TickersBaseSearchParams) => { - const queryParams = [ - `searchValue=${encodeURIComponent(searchValue)}`, - currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', - targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', - sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', - sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', - offset !== undefined ? `&offset=${offset}` : '', - limit !== undefined ? `&limit=${limit}` : '', - ].filter(Boolean).join('&'); + const queryParams = new URLSearchParams({ + searchValue: encodeURIComponent(searchValue), + currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', + targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', + sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', + sortType: sortType !== undefined ? encodeURIComponent(sortType) : '', + offset: offset !== undefined ? offset.toString() : '', + limit: limit !== undefined ? limit.toString() : '', + }).toString(); return fetchWithValidation( `${this.apiUrl}/api/v1/tickers/search?${queryParams}`, @@ -44,15 +44,15 @@ export class Frontage { limit, tickers, }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { - const queryParams = [ - category === 'FAVORITES' && tickers !== undefined ? `tickers=${encodeURIComponent(tickers)}` : `category=${encodeURIComponent(category)}`, - currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', - targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', - sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', - sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', - offset !== undefined ? `&offset=${offset}` : '', - limit !== undefined ? `&limit=${limit}` : '', - ].filter(Boolean).join('&'); + const queryParams = new URLSearchParams({ + category: category === 'FAVORITES' && tickers !== undefined ? `tickers=${encodeURIComponent(tickers)}` : `category=${encodeURIComponent(category)}`, + currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', + targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', + sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', + sortType: sortType !== undefined ? encodeURIComponent(sortType) : '', + offset: offset !== undefined ? offset.toString() : '', + limit: limit !== undefined ? limit.toString() : '', + }).toString(); const url = category === 'FAVORITES' && tickers !== undefined ? `${this.apiUrl}/api/v1/tickers/get/favourites?${queryParams}` @@ -63,31 +63,6 @@ export class Frontage { tickersSchema ); }; - - getFavorites = ({ - tickers, - currentNetwork, - targetNetwork, - sortBy, - sortType, - offset, - limit, - }: { tickers: string } & TickersBaseSearchParams) => { - const queryParams = [ - `tickers=${encodeURIComponent(tickers)}`, - currentNetwork !== undefined ? `¤tNetwork=${encodeURIComponent(currentNetwork).toUpperCase()}` : '', - targetNetwork !== undefined ? `&targetNetwork=${encodeURIComponent(targetNetwork).toUpperCase()}` : '', - sortBy !== undefined ? `&sortBy=${encodeURIComponent(sortBy)}` : '', - sortType !== undefined ? `&sortType=${encodeURIComponent(sortType)}` : '', - offset !== undefined ? `&offset=${offset}` : '', - limit !== undefined ? `&limit=${limit}` : '', - ].filter(Boolean).join('&'); - - return fetchWithValidation( - `${this.apiUrl}/api/v1/tickers/get/favourites?${queryParams}`, - tickersSchema - ); - }; } export * as schemas from './schemas/index.js'; From d676d59f22136ecac225124a278bb38627da3bca Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 13 May 2024 14:07:11 +0100 Subject: [PATCH 21/27] feat: Frontage service code review --- package.json | 2 +- src/services/Frontage/index.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5108a1b..494099d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc17", + "version": "0.20.79-rc18", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index 939f3a4..a7bfb9d 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -45,7 +45,8 @@ export class Frontage { tickers, }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { const queryParams = new URLSearchParams({ - category: category === 'FAVORITES' && tickers !== undefined ? `tickers=${encodeURIComponent(tickers)}` : `category=${encodeURIComponent(category)}`, + tickers: category === 'FAVORITES' && tickers !== undefined ? encodeURIComponent(tickers) : '', + category: category !== 'FAVORITES' && tickers !== undefined ? encodeURIComponent(category) : '', currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', From 04d187f03b6ec9d1404c85e03120060d6d5fc38b Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 13 May 2024 14:48:23 +0100 Subject: [PATCH 22/27] feat: Frontage service code review --- package.json | 2 +- src/services/Frontage/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 494099d..ddb40c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc18", + "version": "0.20.79-rc19", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index a7bfb9d..e870445 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -46,7 +46,7 @@ export class Frontage { }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { const queryParams = new URLSearchParams({ tickers: category === 'FAVORITES' && tickers !== undefined ? encodeURIComponent(tickers) : '', - category: category !== 'FAVORITES' && tickers !== undefined ? encodeURIComponent(category) : '', + category: category !== 'FAVORITES' ? encodeURIComponent(category) : '', currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', From 2936b198450d5ba78a8522b1add358f72477a66a Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Tue, 14 May 2024 08:48:49 +0100 Subject: [PATCH 23/27] feat: Frontage service code review --- package.json | 2 +- src/services/Frontage/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index ddb40c9..8d97e07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc19", + "version": "0.20.79-rc20", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index e870445..a7d51c5 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -45,7 +45,7 @@ export class Frontage { tickers, }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { const queryParams = new URLSearchParams({ - tickers: category === 'FAVORITES' && tickers !== undefined ? encodeURIComponent(tickers) : '', + tickers: category === 'FAVORITES' && tickers !== undefined ? tickers : '', category: category !== 'FAVORITES' ? encodeURIComponent(category) : '', currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', From 7877aba22c17526a3ee6c4af600061d7f59b5747 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Tue, 14 May 2024 09:33:30 +0100 Subject: [PATCH 24/27] feat: switched to URL constructor --- package.json | 2 +- src/services/Frontage/index.ts | 57 ++++++++++++++++++++-------------- 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 8d97e07..bb4738b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc20", + "version": "0.20.79-rc21", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index a7d51c5..d1ac04e 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -18,18 +18,22 @@ export class Frontage { offset, limit, }: { searchValue: string } & TickersBaseSearchParams) => { - const queryParams = new URLSearchParams({ - searchValue: encodeURIComponent(searchValue), - currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', - targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', - sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', - sortType: sortType !== undefined ? encodeURIComponent(sortType) : '', - offset: offset !== undefined ? offset.toString() : '', - limit: limit !== undefined ? limit.toString() : '', - }).toString(); + const url = new URL(this.apiUrl); + const params = new URLSearchParams(); + + params.set('searchValue', encodeURIComponent(searchValue)); + if (currentNetwork !== undefined) params.set('currentNetwork', encodeURIComponent(currentNetwork).toUpperCase()); + if (targetNetwork !== undefined) params.set('targetNetwork', encodeURIComponent(targetNetwork).toUpperCase()); + if (sortBy !== undefined) params.set('sortBy', encodeURIComponent(sortBy)); + if (sortType !== undefined) params.set('sortType', encodeURIComponent(sortType)); + if (offset !== undefined) params.set('offset', offset.toString()); + if (limit !== undefined) params.set('limit', limit.toString()); + + url.pathname = '/api/v1/tickers/search'; + url.search = params.toString(); return fetchWithValidation( - `${this.apiUrl}/api/v1/tickers/search?${queryParams}`, + url.toString(), tickersSchema ); }; @@ -44,23 +48,28 @@ export class Frontage { limit, tickers, }: { category: TickersCategories, tickers?: string } & TickersBaseSearchParams) => { - const queryParams = new URLSearchParams({ - tickers: category === 'FAVORITES' && tickers !== undefined ? tickers : '', - category: category !== 'FAVORITES' ? encodeURIComponent(category) : '', - currentNetwork: currentNetwork !== undefined ? encodeURIComponent(currentNetwork).toUpperCase() : '', - targetNetwork: targetNetwork !== undefined ? encodeURIComponent(targetNetwork).toUpperCase() : '', - sortBy: sortBy !== undefined ? encodeURIComponent(sortBy) : '', - sortType: sortType !== undefined ? encodeURIComponent(sortType) : '', - offset: offset !== undefined ? offset.toString() : '', - limit: limit !== undefined ? limit.toString() : '', - }).toString(); + const url = new URL(this.apiUrl); + const params = new URLSearchParams(); - const url = category === 'FAVORITES' && tickers !== undefined - ? `${this.apiUrl}/api/v1/tickers/get/favourites?${queryParams}` - : `${this.apiUrl}/api/v1/tickers/get/category?${queryParams}`; + if (category === 'FAVORITES' && tickers !== undefined) params.set('tickers', tickers); + if (category !== 'FAVORITES') params.set('category', category); + if (currentNetwork !== undefined) params.set('currentNetwork', encodeURIComponent(currentNetwork).toUpperCase()); + if (targetNetwork !== undefined) params.set('targetNetwork', encodeURIComponent(targetNetwork).toUpperCase()); + if (sortBy !== undefined) params.set('sortBy', encodeURIComponent(sortBy)); + if (sortType !== undefined) params.set('sortType', encodeURIComponent(sortType)); + if (offset !== undefined) params.set('offset', offset.toString()); + if (limit !== undefined) params.set('limit', limit.toString()); + + if (category === 'FAVORITES' && tickers !== undefined) { + url.pathname = '/api/v1/tickers/get/favourites'; + } else { + url.pathname = '/api/v1/tickers/get/category'; + } + + url.search = params.toString(); return fetchWithValidation( - url, + url.toString(), tickersSchema ); }; From 4d4030c6e544ffbb2b730216ccf1b40b0e6b4b04 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Tue, 14 May 2024 09:46:48 +0100 Subject: [PATCH 25/27] feat: switched to URL constructor --- package.json | 2 +- src/services/Frontage/index.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index bb4738b..2c3528e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc21", + "version": "0.20.79-rc22", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index d1ac04e..a0835e5 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -29,7 +29,7 @@ export class Frontage { if (offset !== undefined) params.set('offset', offset.toString()); if (limit !== undefined) params.set('limit', limit.toString()); - url.pathname = '/api/v1/tickers/search'; + url.pathname += 'api/v1/tickers/search'; url.search = params.toString(); return fetchWithValidation( @@ -61,9 +61,9 @@ export class Frontage { if (limit !== undefined) params.set('limit', limit.toString()); if (category === 'FAVORITES' && tickers !== undefined) { - url.pathname = '/api/v1/tickers/get/favourites'; + url.pathname += 'api/v1/tickers/get/favourites'; } else { - url.pathname = '/api/v1/tickers/get/category'; + url.pathname += 'api/v1/tickers/get/category'; } url.search = params.toString(); From d80599eef2d9549461ff0ab27ded1104a5058bf4 Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Tue, 14 May 2024 09:51:58 +0100 Subject: [PATCH 26/27] feat: switched to URL constructor --- package.json | 2 +- src/services/Frontage/index.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2c3528e..b157f60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc22", + "version": "0.20.79-rc23", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Frontage/index.ts b/src/services/Frontage/index.ts index a0835e5..1d597c8 100644 --- a/src/services/Frontage/index.ts +++ b/src/services/Frontage/index.ts @@ -29,7 +29,7 @@ export class Frontage { if (offset !== undefined) params.set('offset', offset.toString()); if (limit !== undefined) params.set('limit', limit.toString()); - url.pathname += 'api/v1/tickers/search'; + url.pathname += '/api/v1/tickers/search'; url.search = params.toString(); return fetchWithValidation( @@ -61,9 +61,9 @@ export class Frontage { if (limit !== undefined) params.set('limit', limit.toString()); if (category === 'FAVORITES' && tickers !== undefined) { - url.pathname += 'api/v1/tickers/get/favourites'; + url.pathname += '/api/v1/tickers/get/favourites'; } else { - url.pathname += 'api/v1/tickers/get/category'; + url.pathname += '/api/v1/tickers/get/category'; } url.search = params.toString(); From 5cc56e4300b831219d75d66509549da1ffe5e9ad Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Tue, 14 May 2024 10:05:05 +0100 Subject: [PATCH 27/27] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b157f60..8271dc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.79-rc23", + "version": "0.21.0", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js",