Types improvements

This commit is contained in:
Aleksandr Kraiz
2022-11-28 13:43:55 +04:00
parent a6300ec2c8
commit 1913a84f1e
8 changed files with 37 additions and 32 deletions

View File

@@ -2,6 +2,7 @@ export { default as cancelOrderTypes } from './cancelOrderTypes';
export { default as orderStatuses } from './orderStatuses';
export { default as orderTypes } from './orderTypes';
export { default as subOrderStatuses } from './subOrderStatuses';
export { default as networkCodes } from './networkCodes';
export * from './chains';
export * from './precisions';

View File

@@ -0,0 +1 @@
export default ['ftm', 'bsc', 'eth', 'polygon', 'okc'] as const;

View File

@@ -14,6 +14,7 @@ import { pairConfigSchema } from './schemas';
import {
aggregatedOrderbookSchema, exchangeOrderbookSchema,
} from './schemas/aggregatedOrderbookSchema';
import networkCodes from '../../constants/networkCodes';
class OrionAggregator {
private readonly apiUrl: string;
@@ -222,7 +223,7 @@ class OrionAggregator {
*/
placeAtomicSwap = (
secretHash: string,
sourceNetworkCode: string,
sourceNetworkCode: Uppercase<typeof networkCodes[number]>,
) => fetchWithValidation(
`${this.apiUrl}/api/v1/atomic-swap`,
placeAtomicSwapSchema,

View File

@@ -1,4 +1,5 @@
import { z } from 'zod';
import networkCodes from '../../../constants/networkCodes';
import redeemOrderSchema from './redeemOrderSchema';
export const atomicSwapHistorySchema = z.array(z.object({
@@ -11,7 +12,7 @@ export const atomicSwapHistorySchema = z.array(z.object({
expiration: z.number(),
secretHash: z.string(),
used: z.boolean(),
sourceNetworkCode: z.string(),
sourceNetworkCode: z.enum(networkCodes),
}),
redeemOrder: redeemOrderSchema,
status: z.enum(['SETTLED', 'EXPIRED', 'ACTIVE']),

View File

@@ -14,6 +14,7 @@ import {
import redeemOrderSchema from '../OrionAggregator/schemas/redeemOrderSchema';
import { sourceAtomicHistorySchema, targetAtomicHistorySchema } from './schemas/atomicHistorySchema';
import { makePartial } from '../../utils';
import { networkCodes } from '../../constants';
interface IAdminAuthHeaders {
auth: string;
@@ -37,7 +38,7 @@ type AtomicSwapHistoryBaseQuery = {
receiver?: string,
used?: 0 | 1,
page?: number,
sourceNetworkCode?: string,
sourceNetworkCode?: 'ftm' | 'bsc' | 'eth' | 'polygon' | 'okc',
}
type AtomicSwapHistorySourceQuery = AtomicSwapHistoryBaseQuery & {
@@ -95,7 +96,7 @@ class OrionBlockchain {
return `${this.apiUrl}/`;
}
private getSummaryRedeem = (brokerAddress: string, unshifted?: 1 | 0, sourceNetworkCode?: string) => {
private getSummaryRedeem = (brokerAddress: string, unshifted?: 1 | 0, sourceNetworkCode?: typeof networkCodes[number]) => {
const url = new URL(`${this.apiUrl}/api/atomic/summary-redeem/${brokerAddress}`);
if (unshifted) {
url.searchParams.append('unshifted', unshifted.toString());

View File

@@ -26,7 +26,7 @@ export function isUnknownObject(x: unknown): x is {
return x !== null && typeof x === 'object';
}
export function isKeyOfObject<T>(
export function isKeyOfObject<K extends string | number | symbol, T extends Record<K, unknown>>(
key: string | number | symbol,
obj: T,
): key is keyof T {