Fix pools schema

This commit is contained in:
Aleksandr Kraiz
2023-03-15 13:15:24 +04:00
parent ba410e13c1
commit d6dcbab128
3 changed files with 18 additions and 10 deletions

View File

@@ -1,30 +1,30 @@
import { ethers } from 'ethers';
import { z } from 'zod';
import addressSchema from '../../../addressSchema';
import { makePartial } from '../../../utils';
const poolsConfigSchema = z.object({
WETHAddress: z.string().optional(),
factoryAddress: z.string(),
governanceAddress: z.string(),
routerAddress: z.string(),
votingAddress: z.string(),
WETHAddress: addressSchema.optional(),
factoryAddress: addressSchema,
governanceAddress: addressSchema.optional(),
routerAddress: addressSchema,
votingAddress: addressSchema.optional(),
factories: z.record(
z.string(),
z.string().refine(ethers.utils.isAddress, 'Factory should be an address'),
addressSchema,
)
.transform(makePartial)
.optional(),
pools: z.record(
z.string(),
z.object({
lpTokenAddress: z.string(),
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: z.string(),
stakingRewardAddress: addressSchema,
vote_rewards_disabled: z.boolean().optional(),
}),
).transform(makePartial),