mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-03-14 14:12:35 +03:00
Fix pools schema
This commit is contained in:
8
src/addressSchema.ts
Normal file
8
src/addressSchema.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { ethers } from 'ethers';
|
||||
import { z } from 'zod';
|
||||
|
||||
const addressSchema = z.string().refine(ethers.utils.isAddress, (value) => ({
|
||||
message: `Should be an address, got ${value}`,
|
||||
}));
|
||||
|
||||
export default addressSchema;
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user