From 4dd7245c78d3f2360337adfe65cb2dfba367079d Mon Sep 17 00:00:00 2001 From: Dmitry Leleko Date: Fri, 6 Oct 2023 09:49:11 +0200 Subject: [PATCH] Fix integrator service --- package.json | 2 +- src/services/Integrator/index.ts | 12 ++++++------ .../Integrator/schemas/voting-info-schema.ts | 14 ++++++++++---- src/services/index.ts | 1 + 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index e2eebec..fd8c4ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.5", + "version": "0.20.6", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Integrator/index.ts b/src/services/Integrator/index.ts index 8da1a75..a3e4de8 100644 --- a/src/services/Integrator/index.ts +++ b/src/services/Integrator/index.ts @@ -100,7 +100,7 @@ class IntegratorService { }); }; - readonly veORNInfo = (address: string) => { + readonly veORNInfo = (address?: string) => { return fetchWithValidation(this.apiUrl, veORNInfoResponseSchema, { method: 'POST', body: this.makeRPCPayload({ @@ -121,16 +121,16 @@ class IntegratorService { readonly getAmountByORN = (amountToken: number, timeLock: number) => { const timestamp = Date.now() / 1000; - const deltaDays = BigNumber(timeLock).minus(timestamp).dividedBy(DAY); + const deltaDaysBN = BigNumber(timeLock).minus(timestamp).dividedBy(DAY); - if (deltaDays.lte(0)) return 0; + if (deltaDaysBN.lte(0)) return 0; return BigNumber(amountToken) - .multipliedBy(BigNumber(deltaDays).sqrt()) + .multipliedBy(deltaDaysBN.sqrt()) .dividedBy(BigNumber(WEEK_DAYS).sqrt()); }; - readonly getVotingInfo = (userAddress: string) => { + readonly getVotingInfo = (userAddress?: string) => { return fetchWithValidation(this.apiUrl, votingInfoResponseSchema, { method: 'POST', body: this.makeRPCPayload({ @@ -178,7 +178,7 @@ class IntegratorService { }); }; - readonly listPool = (address: string) => { + readonly listPool = (address?: string) => { return fetchWithValidation(this.apiUrl, listPoolResponseSchema, { method: 'POST', body: this.makeRPCPayload({ diff --git a/src/services/Integrator/schemas/voting-info-schema.ts b/src/services/Integrator/schemas/voting-info-schema.ts index bb0718f..5ea18f5 100644 --- a/src/services/Integrator/schemas/voting-info-schema.ts +++ b/src/services/Integrator/schemas/voting-info-schema.ts @@ -6,8 +6,14 @@ const poolSchema = z.object({ name: z.string(), poolAddress: z.string(), type: z.string(), - userVote: z.number() -}) + userVote: z.number(), + token0: z.string(), // deprecated + token1: z.string(), // deprecated + name0: z.string(), + name1: z.string(), + poolFee: z.number(), + weight: z.number(), +}); const votingResultSchema = z.object({ absoluteVeTokenInVoting: z.number(), @@ -16,8 +22,8 @@ const votingResultSchema = z.object({ userVeTokenInVoting: z.number(), veTokenAddress: z.string(), votingAddress: z.string(), - weeklyReward: z.number() -}) + weeklyReward: z.number(), +}); const votingInfoSchema = z.object({ result: votingResultSchema, diff --git a/src/services/index.ts b/src/services/index.ts index 4228275..7d35c9e 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -2,3 +2,4 @@ export * as aggregator from './Aggregator/index.js'; export * as blockchainService from './BlockchainService/index.js'; export * as priceFeed from './PriceFeed/index.js'; export * as referralSystem from './ReferralSystem/index.js'; +export * as integrator from './Integrator/index.js';