diff --git a/src/Orion/index.ts b/src/Orion/index.ts index 87370bb..dbc7d51 100644 --- a/src/Orion/index.ts +++ b/src/Orion/index.ts @@ -2,7 +2,6 @@ import { merge } from 'merge-anything'; import { chains, envs } from '../config'; import type { networkCodes } from '../constants'; import OrionUnit from '../OrionUnit'; -import OrionAnalytics from '../services/OrionAnalytics'; import { ReferralSystem } from '../services/ReferralSystem'; import simpleFetch from '../simpleFetch'; import type { SupportedChainId, DeepPartial, VerboseOrionUnitConfig, KnownEnv } from '../types'; @@ -34,8 +33,6 @@ export default class Orion { public readonly units: Partial>; - public readonly orionAnalytics: OrionAnalytics; - public readonly referralSystem: ReferralSystem; // TODO: get tradable assets (aggregated) @@ -98,7 +95,6 @@ export default class Orion { config = envOrConfig; } - this.orionAnalytics = new OrionAnalytics(config.analyticsAPI); this.referralSystem = new ReferralSystem(config.referralAPI); this.units = Object.entries(config.networks) diff --git a/src/__tests__/basic.test.ts b/src/__tests__/basic.test.ts index 4201b25..6672965 100644 --- a/src/__tests__/basic.test.ts +++ b/src/__tests__/basic.test.ts @@ -1,5 +1,4 @@ import Orion from '../Orion'; -import OrionAnalytics from '../services/OrionAnalytics'; import { ReferralSystem } from '../services/ReferralSystem'; import simpleFetch from '../simpleFetch'; import { SupportedChainId } from '../types'; @@ -10,6 +9,7 @@ import httpToWS from '../utils/httpToWS'; import { createHttpTerminator, } from 'http-terminator'; +import { ethers } from 'ethers'; jest.setTimeout(10000); @@ -80,7 +80,6 @@ const createServer = (externalHost: string) => { describe('Orion', () => { test('Init Orion testing', () => { const orion = new Orion('testing'); - expect(orion.orionAnalytics).toBeInstanceOf(OrionAnalytics); expect(orion.referralSystem).toBeInstanceOf(ReferralSystem); expect(orion.unitsArray.length).toBe(4); // eth, bsc, polygon, fantom @@ -112,7 +111,6 @@ describe('Orion', () => { test('Init Orion production', () => { const orion = new Orion(); expect(orion.env).toBe('production'); - expect(orion.orionAnalytics).toBeInstanceOf(OrionAnalytics); expect(orion.referralSystem).toBeInstanceOf(ReferralSystem); expect(orion.unitsArray.length).toBe(5); // eth, bsc, polygon, fantom, okc @@ -188,10 +186,8 @@ describe('Orion', () => { if (!orionUnit) { throw new Error('Orion unit is not defined'); } - expect(orion.orionAnalytics).toBeInstanceOf(OrionAnalytics); expect(orion.referralSystem).toBeInstanceOf(ReferralSystem); expect(orion.unitsArray.length).toBe(1); // eth - expect(orion.orionAnalytics.api).toBe('https://analytics-api.orionprotocol.io'); expect(orion.referralSystem.api).toBe('https://referral-api.orionprotocol.io'); expect(orionUnit.chainId).toBe(SupportedChainId.MAINNET); // expect(orionUnit.env).toBeUndefined(); @@ -251,7 +247,6 @@ describe('Orion', () => { const bscOrionUnit = orion.units[SupportedChainId.BSC_TESTNET] expect(bscOrionUnit?.provider.connection.url).toBe('https://data-seed-prebsc-1-s1.binance.org:8545/'); - expect(orion.orionAnalytics.api).toBe('https://asdasd.orionprotocol.io'); expect(orion.referralSystem.api).toBe('https://zxczxc.orionprotocol.io'); }); @@ -286,44 +281,41 @@ describe('Orion', () => { }) }); expect(aobusDone).toBe(true); - // const candles = await simpleFetch(orionUnitBSC.priceFeed.getCandles)( - // 'BTC-USDT', - // Math.floor((Date.now() - 1000 * 60 * 60 * 24 * 30) / 1000), // 1 month ago - // Math.floor(Date.now() / 1000), // now - // '1d' - // ); - // expect(candles).toBeDefined(); + const candles = await simpleFetch(orionUnitBSC.priceFeed.getCandles)( + 'BTC-USDT', + Math.floor((Date.now() - 1000 * 60 * 60 * 24 * 30) / 1000), // 1 month ago + Math.floor(Date.now() / 1000), // now + '1d' + ); + expect(candles).toBeDefined(); - // const allTickersDone = await new Promise((resolve, reject) => { - // const timeout = setTimeout(() => { - // reject(new Error('Timeout')); - // }, 10000); + const allTickersDone = await new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + reject(new Error('Timeout')); + }, 10000); - // const { unsubscribe } = orionUnitBSC.priceFeed.ws.subscribe( - // 'allTickers', - // { - // callback: () => { - // resolve(true); - // unsubscribe(); - // clearTimeout(timeout); - // } - // } - // ) - // }); - // expect(allTickersDone).toBe(true); + const { unsubscribe } = orionUnitBSC.priceFeed.ws.subscribe( + 'allTickers', + { + callback: () => { + resolve(true); + unsubscribe(); + clearTimeout(timeout); + } + } + ) + }); + expect(allTickersDone).toBe(true); - // const blockNumber = await orionUnitBSC.provider.getBlockNumber(); - // expect(blockNumber).toBeDefined(); - // const network = await orionUnitBSC.provider.getNetwork(); - // expect(network.chainId).toBe(97); + const blockNumber = await orionUnitBSC.provider.getBlockNumber(); + expect(blockNumber).toBeDefined(); + const network = await orionUnitBSC.provider.getNetwork(); + expect(network.chainId).toBe(97); - // const stats = await simpleFetch(orion.orionAnalytics.getOverview)(); - // expect(stats).toBeDefined(); - - // const zeroAddressWithout0x = ethers.constants.AddressZero.slice(2); - // expect(simpleFetch(orion.referralSystem.getMiniStats)(zeroAddressWithout0x)) - // .rejects - // .toThrow('empty reward history'); + const zeroAddressWithout0x = ethers.constants.AddressZero.slice(2); + expect(simpleFetch(orion.referralSystem.getMiniStats)(zeroAddressWithout0x)) + .rejects + .toThrow('empty reward history'); }); test('Get Orion unit by networkCode', () => { diff --git a/src/__tests__/priceFeed.test.ts b/src/__tests__/priceFeed.test.ts index dfd9240..c3544b6 100644 --- a/src/__tests__/priceFeed.test.ts +++ b/src/__tests__/priceFeed.test.ts @@ -9,6 +9,7 @@ describe('Price Feed', () => { const timeout = setTimeout(() => { reject(new Error('Timeout')); }, 10000); + console.log('Subscribing to ticker: ', ticker, ' on network: ', unit.networkCode); const { unsubscribe } = unit.priceFeed.ws.subscribe('ticker', { payload: ticker, callback: () => { diff --git a/src/services/OrionAnalytics/index.ts b/src/services/OrionAnalytics/index.ts deleted file mode 100644 index 374fe5a..0000000 --- a/src/services/OrionAnalytics/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fetchWithValidation from '../../fetchWithValidation'; -import overviewSchema from './schemas/overviewSchema'; - -export default class OrionAnalytics { - private readonly apiUrl: string; - - constructor(apiUrl: string) { - this.apiUrl = apiUrl; - - this.getOverview = this.getOverview.bind(this); - } - - get api() { - return this.apiUrl; - } - - getOverview = () => fetchWithValidation( - `${this.apiUrl}/overview`, - overviewSchema, - ); -} diff --git a/src/services/OrionAnalytics/schemas/overviewSchema.ts b/src/services/OrionAnalytics/schemas/overviewSchema.ts deleted file mode 100644 index 52170c7..0000000 --- a/src/services/OrionAnalytics/schemas/overviewSchema.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { z } from 'zod'; - -const overviewSchema = z.object({ - volume24h: z.number(), - volume7d: z.number(), - transactionCount24h: z.number(), - transactionCount7d: z.number(), -}); - -export default overviewSchema; diff --git a/src/services/index.ts b/src/services/index.ts index 862fb5a..a59bb37 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,3 @@ export * as orionAggregator from './OrionAggregator'; export * as orionBlockchain from './OrionBlockchain'; -export * as orionAnalytics from './OrionAnalytics'; export * as priceFeed from './PriceFeed';