-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathperps.test-d.ts
More file actions
126 lines (118 loc) · 3.88 KB
/
Copy pathperps.test-d.ts
File metadata and controls
126 lines (118 loc) · 3.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import type { EpochMilliseconds } from '@polymarket/bindings';
import { PerpsInstrumentCategory } from '@polymarket/bindings/perps';
import { describe, expectTypeOf, it } from 'vitest';
import type {
CancelAllPerpsOrdersRequest,
CancelPerpsOrderRequest,
CancelPerpsOrdersRequest,
DepositToPerpsRequest,
FetchPerpsAccountConfigRequest,
FetchPerpsBookRequest,
FetchPerpsOpenOrdersRequest,
FetchPerpsOrdersRequest,
FetchPerpsTickerRequest,
FetchPerpsTickersRequest,
ListPerpsCandlesRequest,
ListPerpsDepositsRequest,
ListPerpsEquityHistoryRequest,
ListPerpsFillsRequest,
ListPerpsFundingHistoryRequest,
ListPerpsFundingPaymentsRequest,
ListPerpsPnlHistoryRequest,
ListPerpsTradesRequest,
ListPerpsWithdrawalsRequest,
OpenPerpsSessionRequest,
PerpsSessionAccountError,
PerpsSessionLifecycleError,
PerpsSessionTradingError,
PlacePerpsOrderRequest,
PlacePerpsOrderWithTpSlRequest,
PlacePerpsPositionTpSlRequest,
PostPerpsOrdersRequest,
PublicPerpsActions,
RevokePerpsCredentialsRequest,
FetchPerpsInstrumentsRequest as RootFetchPerpsInstrumentsRequest,
UpdatePerpsLeverageRequest,
UpdatePerpsMarginRequest,
WithdrawFromPerpsRequest,
} from '../index';
import {
FetchPerpsTickerError,
GetServerTimeError,
UpdatePerpsMarginError,
} from '../index';
import type { FetchPerpsInstrumentsRequest, getServerTime } from './perps';
describe('FetchPerpsInstrumentsRequest', () => {
it('allows current instrument filters', () => {
const request: FetchPerpsInstrumentsRequest = {
category: PerpsInstrumentCategory.Crypto,
instrumentId: 1,
};
void request;
});
it('does not expose instrument type filtering', () => {
const request: FetchPerpsInstrumentsRequest = {
category: PerpsInstrumentCategory.Crypto,
// @ts-expect-error instrument type has no meaningful public filter today.
instrumentType: 'perpetual',
};
void request;
});
});
describe('public Perps exports', () => {
it('exposes branded server time returns', () => {
expectTypeOf<ReturnType<typeof getServerTime>>().toEqualTypeOf<
Promise<EpochMilliseconds>
>();
expectTypeOf<
ReturnType<PublicPerpsActions['getServerTime']>
>().toEqualTypeOf<Promise<EpochMilliseconds>>();
});
it('exports Perps request types from the root entry point', () => {
expectTypeOf<RootFetchPerpsInstrumentsRequest>().toEqualTypeOf<FetchPerpsInstrumentsRequest>();
expectTypeOf<FetchPerpsTickerRequest>().toEqualTypeOf<{
instrumentId: number;
}>();
type RootPerpsRequests = [
FetchPerpsTickersRequest,
FetchPerpsBookRequest,
ListPerpsCandlesRequest,
ListPerpsFundingHistoryRequest,
ListPerpsTradesRequest,
DepositToPerpsRequest,
OpenPerpsSessionRequest,
RevokePerpsCredentialsRequest,
WithdrawFromPerpsRequest,
FetchPerpsAccountConfigRequest,
FetchPerpsOpenOrdersRequest,
FetchPerpsOrdersRequest,
ListPerpsFillsRequest,
ListPerpsFundingPaymentsRequest,
ListPerpsDepositsRequest,
ListPerpsWithdrawalsRequest,
ListPerpsEquityHistoryRequest,
ListPerpsPnlHistoryRequest,
PlacePerpsOrderRequest,
PlacePerpsOrderWithTpSlRequest,
PostPerpsOrdersRequest,
PlacePerpsPositionTpSlRequest,
CancelAllPerpsOrdersRequest,
CancelPerpsOrderRequest,
CancelPerpsOrdersRequest,
UpdatePerpsLeverageRequest,
UpdatePerpsMarginRequest,
];
expectTypeOf<RootPerpsRequests>().toEqualTypeOf<RootPerpsRequests>();
});
it('exports Perps error helpers from the root entry point', () => {
type RootPerpsSessionErrors = [
PerpsSessionAccountError,
PerpsSessionLifecycleError,
PerpsSessionTradingError,
];
expectTypeOf<RootPerpsSessionErrors>().toEqualTypeOf<RootPerpsSessionErrors>();
void FetchPerpsTickerError;
void GetServerTimeError;
void UpdatePerpsMarginError;
});
});