mirror of
https://github.com/orionprotocol/sdk.git
synced 2026-04-07 13:38:07 +03:00
Semantics improvements
This commit is contained in:
24
src/services/BlockchainService/schemas/infoSchema.ts
Normal file
24
src/services/BlockchainService/schemas/infoSchema.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { z } from 'zod';
|
||||
import { makePartial } from '../../../utils/index.js';
|
||||
|
||||
const internalFeeAssetSchema = z.object({
|
||||
type: z.enum(['percent', 'plain']),
|
||||
value: z.number(),
|
||||
asset: z.string(),
|
||||
});
|
||||
|
||||
const infoSchema = z.object({
|
||||
chainId: z.number(),
|
||||
chainName: z.string(),
|
||||
exchangeContractAddress: z.string(),
|
||||
oracleContractAddress: z.string(),
|
||||
matcherAddress: z.string(),
|
||||
orderFeePercent: z.number(),
|
||||
assetToAddress: z.record(z.string()).transform(makePartial),
|
||||
assetToDecimals: z.record(z.number()).transform(makePartial),
|
||||
assetToIcons: z.record(z.string()).transform(makePartial).optional(),
|
||||
cexTokens: z.string().array(),
|
||||
internalFeeAssets: internalFeeAssetSchema.array().optional(),
|
||||
});
|
||||
|
||||
export default infoSchema;
|
||||
Reference in New Issue
Block a user