Files
orionprotocol-sdk/src/services/BlockchainService/schemas/poolsConfigSchema.ts
2023-05-16 23:21:45 +04:00

34 lines
1012 B
TypeScript

import { z } from 'zod';
import addressSchema from '../../../addressSchema.js';
import { makePartial } from '../../../utils/index.js';
const poolsConfigSchema = z.object({
WETHAddress: addressSchema.optional(),
factoryAddress: addressSchema,
governanceAddress: addressSchema.optional(),
routerAddress: addressSchema,
votingAddress: addressSchema.optional(),
factories: z.record(
z.string(),
addressSchema,
)
.transform(makePartial)
.optional(),
pools: z.record(
z.string(),
z.object({
lpTokenAddress: addressSchema,
minQty: z.number().optional(),
reverted: z.boolean().optional(),
rewardToken: z.string().nullable().optional(),
state: z.number().int().optional(),
rewardTokenDecimals: z.number().int().optional(),
stakingRewardFinish: z.number().optional(),
stakingRewardAddress: addressSchema,
vote_rewards_disabled: z.boolean().optional(),
}),
).transform(makePartial),
});
export default poolsConfigSchema;