diff --git a/package.json b/package.json index 14430b4..f27cfc7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.15.11-rc.0", + "version": "0.15.12-rc.0", "description": "Orion Protocol SDK", "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", diff --git a/src/services/OrionBlockchain/index.ts b/src/services/OrionBlockchain/index.ts index 7711f6d..bc40964 100644 --- a/src/services/OrionBlockchain/index.ts +++ b/src/services/OrionBlockchain/index.ts @@ -1,14 +1,15 @@ import { z } from 'zod'; import fetchWithValidation from '../../fetchWithValidation'; -import { PairStatusEnum, pairStatusSchema } from './schemas/adminPoolsListSchema'; import { IDOSchema, atomicHistorySchema, poolsConfigSchema, poolsInfoSchema, infoSchema, historySchema, - addPoolSchema, adminPoolsListSchema, + addPoolSchema, adminPoolsListSchema, adminPoolSchema, atomicSummarySchema, poolsLpAndStakedSchema, userVotesSchema, userEarnedSchema, + PairStatusEnum, + pairStatusSchema, } from './schemas'; import redeemOrderSchema from '../OrionAggregator/schemas/redeemOrderSchema'; import { sourceAtomicHistorySchema, targetAtomicHistorySchema } from './schemas/atomicHistorySchema'; @@ -79,6 +80,7 @@ class OrionBlockchain { this.checkAuth = this.checkAuth.bind(this); this.addPool = this.addPool.bind(this); this.editPool = this.editPool.bind(this); + this.getPool = this.getPool.bind(this); this.getPoolsList = this.getPoolsList.bind(this); this.getSourceAtomicSwapHistory = this.getSourceAtomicSwapHistory.bind(this); this.getTargetAtomicSwapHistory = this.getTargetAtomicSwapHistory.bind(this); @@ -274,6 +276,12 @@ class OrionBlockchain { auth: z.boolean(), }), { headers }); + getPool = (address: string, headers: IAdminAuthHeaders) => fetchWithValidation( + `${this.apiUrl}/api/pools/${address}`, + adminPoolSchema, + { headers }, + ); + getPoolsList = (headers: IAdminAuthHeaders) => fetchWithValidation( `${this.apiUrl}/api/pools/list`, adminPoolsListSchema, diff --git a/src/services/OrionBlockchain/schemas/adminPoolSchema.ts b/src/services/OrionBlockchain/schemas/adminPoolSchema.ts new file mode 100644 index 0000000..82a0326 --- /dev/null +++ b/src/services/OrionBlockchain/schemas/adminPoolSchema.ts @@ -0,0 +1,36 @@ +import { z } from 'zod'; + +export enum PairStatusEnum { + DOESNT_EXIST = -1, + REVIEW = 0, + ACCEPTED = 1, + REJECTED = 2, +} + +export const pairStatusSchema = z.nativeEnum(PairStatusEnum); + +const tokenSchema = z.object({ + symbol: z.string(), + icon: z.string().optional(), + address: z.string(), + decimals: z.number().optional(), + isUser: z.boolean().optional(), +}); + +export const poolOnVerificationSchema = z.object({ + tokenA: tokenSchema, + tokenB: tokenSchema, + _id: z.string().optional(), + address: z.string(), + symbol: z.string(), + isUser: z.boolean(), + minQty: z.number().optional(), + tokensReversed: z.boolean(), + status: pairStatusSchema, + updatedAt: z.number(), + createdAt: z.number(), +}); + +export type adminPoolType = z.infer; + +export const adminPoolSchema = poolOnVerificationSchema; diff --git a/src/services/OrionBlockchain/schemas/adminPoolsListSchema.ts b/src/services/OrionBlockchain/schemas/adminPoolsListSchema.ts index 782ae63..4c7cbc7 100644 --- a/src/services/OrionBlockchain/schemas/adminPoolsListSchema.ts +++ b/src/services/OrionBlockchain/schemas/adminPoolsListSchema.ts @@ -1,36 +1,5 @@ import { z } from 'zod'; -export enum PairStatusEnum { - DOESNT_EXIST = -1, - REVIEW = 0, - ACCEPTED = 1, - REJECTED = 2, -} +import { poolOnVerificationSchema } from './adminPoolSchema'; -export const pairStatusSchema = z.nativeEnum(PairStatusEnum); - -const tokenSchema = z.object({ - symbol: z.string(), - icon: z.string().optional(), - address: z.string(), - decimals: z.number().optional(), - isUser: z.boolean().optional(), -}); - -const poolOnVerificationSchema = z.object({ - tokenA: tokenSchema, - tokenB: tokenSchema, - _id: z.string().optional(), - address: z.string(), - symbol: z.string(), - isUser: z.boolean(), - minQty: z.number().optional(), - tokensReversed: z.boolean(), - status: pairStatusSchema, - updatedAt: z.number(), - createdAt: z.number(), -}); - -export type adminPoolType = z.infer; - -export const adminPoolsListSchema = z.array(poolOnVerificationSchema); +export default z.array(poolOnVerificationSchema); diff --git a/src/services/OrionBlockchain/schemas/index.ts b/src/services/OrionBlockchain/schemas/index.ts index f2c1950..939bcf9 100644 --- a/src/services/OrionBlockchain/schemas/index.ts +++ b/src/services/OrionBlockchain/schemas/index.ts @@ -1,4 +1,5 @@ -export * from './adminPoolsListSchema'; +export * from './adminPoolSchema'; +export { default as adminPoolsListSchema } from './adminPoolsListSchema'; export { default as addPoolSchema } from './addPoolSchema'; export { default as atomicHistorySchema } from './atomicHistorySchema'; export { default as checkRedeemOrderSchema } from './checkRedeemOrderSchema';