@pear-protocol/types 2.20.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +1 -0
- package/dist/fee/entities.d.ts +1 -0
- package/dist/fee/responses.d.ts +26 -0
- package/dist/index.js +7355 -3
- package/dist/rewards/entities.d.ts +28 -0
- package/dist/rewards/payloads.d.ts +7 -0
- package/dist/rewards/responses.d.ts +73 -0
- package/dist/statistics/queries.d.ts +25 -0
- package/dist/statistics/responses.d.ts +120 -0
- package/dist/sync/responses.d.ts +1 -0
- package/dist/users/entities.d.ts +4 -0
- package/dist/users/response.d.ts +3 -0
- package/package.json +4 -3
- package/dist/auth/api-keys.js +0 -44
- package/dist/auth/entities.js +0 -25
- package/dist/auth/index.js +0 -4
- package/dist/auth/payloads.js +0 -84
- package/dist/auth/response.js +0 -82
- package/dist/baskets/recommended/entities.js +0 -22
- package/dist/baskets/recommended/index.js +0 -2
- package/dist/baskets/recommended/responses.js +0 -8
- package/dist/baskets/saved/entities.js +0 -23
- package/dist/baskets/saved/payloads.js +0 -18
- package/dist/baskets/saved/responses.js +0 -14
- package/dist/bundle.js +0 -36
- package/dist/common/address.js +0 -5
- package/dist/common/array.js +0 -17
- package/dist/common/client-id.js +0 -5
- package/dist/common/hex-string.js +0 -5
- package/dist/common/index.js +0 -4
- package/dist/common/refinement.js +0 -64
- package/dist/common/request.js +0 -24
- package/dist/common/response.js +0 -28
- package/dist/common/schema.js +0 -18
- package/dist/common/trade-legs.js +0 -50
- package/dist/connector/index.js +0 -12
- package/dist/copy/entities.js +0 -151
- package/dist/copy/index.js +0 -5
- package/dist/copy/payloads.js +0 -8
- package/dist/copy/performance.js +0 -63
- package/dist/copy/queries.js +0 -20
- package/dist/copy/responses.js +0 -89
- package/dist/execution/entities.js +0 -196
- package/dist/execution/index.js +0 -3
- package/dist/execution/queries.js +0 -18
- package/dist/execution/responses.js +0 -12
- package/dist/fee/entities.js +0 -34
- package/dist/fee/index.js +0 -3
- package/dist/fee/queries.js +0 -12
- package/dist/fee/responses.js +0 -29
- package/dist/fill/entities.js +0 -82
- package/dist/fill/index.js +0 -3
- package/dist/fill/queries.js +0 -14
- package/dist/fill/responses.js +0 -23
- package/dist/funding/entities.js +0 -16
- package/dist/funding/index.js +0 -3
- package/dist/funding/queries.js +0 -8
- package/dist/funding/responses.js +0 -11
- package/dist/instrument/entities.js +0 -102
- package/dist/instrument/index.js +0 -3
- package/dist/instrument/queries.js +0 -15
- package/dist/instrument/responses.js +0 -20
- package/dist/instrument-precision/index.js +0 -56
- package/dist/ladder/entities.js +0 -24
- package/dist/ladder/index.js +0 -4
- package/dist/ladder/payloads.js +0 -96
- package/dist/ladder/queries.js +0 -12
- package/dist/ladder/responses.js +0 -18
- package/dist/leverage/index.js +0 -2
- package/dist/leverage/payloads.js +0 -14
- package/dist/leverage/response.js +0 -5
- package/dist/margin/index.js +0 -2
- package/dist/margin/payloads.js +0 -20
- package/dist/margin/response.js +0 -11
- package/dist/market/entities.js +0 -52
- package/dist/market/index.js +0 -4
- package/dist/market/payloads.js +0 -11
- package/dist/market/queries.js +0 -19
- package/dist/market/responses.js +0 -18
- package/dist/misc/index.js +0 -2
- package/dist/misc/payloads.js +0 -99
- package/dist/misc/responses.js +0 -85
- package/dist/notification/entities.js +0 -274
- package/dist/notification/index.js +0 -4
- package/dist/notification/payloads.js +0 -15
- package/dist/notification/queries.js +0 -29
- package/dist/notification/responses.js +0 -20
- package/dist/order/entities.js +0 -81
- package/dist/order/index.js +0 -1
- package/dist/portfolio/entities.js +0 -77
- package/dist/portfolio/index.js +0 -3
- package/dist/portfolio/queries.js +0 -34
- package/dist/portfolio/responses.js +0 -33
- package/dist/position/entities.js +0 -433
- package/dist/position/index.js +0 -3
- package/dist/position/queries.js +0 -109
- package/dist/position/responses.js +0 -41
- package/dist/price/entities.js +0 -10
- package/dist/price/index.js +0 -3
- package/dist/price/queries.js +0 -8
- package/dist/price/responses.js +0 -15
- package/dist/realtime/channels.js +0 -16
- package/dist/realtime/frames.js +0 -140
- package/dist/realtime/index.js +0 -6
- package/dist/realtime/messages.js +0 -118
- package/dist/realtime/public-events.js +0 -92
- package/dist/realtime/user-events.js +0 -32
- package/dist/realtime/vault-events.js +0 -42
- package/dist/rebalance/entities.js +0 -86
- package/dist/rebalance/index.js +0 -4
- package/dist/rebalance/payloads.js +0 -56
- package/dist/rebalance/queries.js +0 -14
- package/dist/rebalance/responses.js +0 -41
- package/dist/schedule/entities.js +0 -239
- package/dist/schedule/index.js +0 -5
- package/dist/schedule/payloads.js +0 -85
- package/dist/schedule/queries.js +0 -30
- package/dist/schedule/randomization.js +0 -15
- package/dist/schedule/responses.js +0 -22
- package/dist/schedule/twap-config.js +0 -29
- package/dist/statistics/entities.js +0 -105
- package/dist/statistics/index.js +0 -3
- package/dist/statistics/queries.js +0 -93
- package/dist/statistics/responses.js +0 -17
- package/dist/sync/index.js +0 -2
- package/dist/sync/payloads.js +0 -136
- package/dist/sync/responses.js +0 -26
- package/dist/tca/entities.js +0 -9
- package/dist/tca/index.js +0 -3
- package/dist/tca/queries.js +0 -14
- package/dist/tca/responses.js +0 -126
- package/dist/trade/entities.js +0 -101
- package/dist/trade/index.js +0 -4
- package/dist/trade/payloads.js +0 -84
- package/dist/trade/queries.js +0 -9
- package/dist/trade/responses.js +0 -25
- package/dist/trade-accounts/entities.js +0 -61
- package/dist/trade-accounts/index.js +0 -4
- package/dist/trade-accounts/payloads.js +0 -132
- package/dist/trade-accounts/queries.js +0 -7
- package/dist/trade-accounts/response.js +0 -79
- package/dist/traders/index.js +0 -2
- package/dist/traders/performance.js +0 -21
- package/dist/traders/public.js +0 -192
- package/dist/trigger/common/index.js +0 -39
- package/dist/trigger/entities/conditions.js +0 -174
- package/dist/trigger/entities/index.js +0 -257
- package/dist/trigger/index.js +0 -9
- package/dist/trigger/oracle.js +0 -22
- package/dist/trigger/payloads/conditions.js +0 -213
- package/dist/trigger/payloads/config.js +0 -3
- package/dist/trigger/payloads/index.js +0 -173
- package/dist/trigger/queries.js +0 -16
- package/dist/trigger/refinement/index.js +0 -2
- package/dist/trigger/refinement/static.refinement.js +0 -50
- package/dist/trigger/refinement/trailing.refinement.js +0 -83
- package/dist/trigger/responses.js +0 -18
- package/dist/triggers/entities.js +0 -27
- package/dist/triggers/index.js +0 -3
- package/dist/triggers/queries.js +0 -10
- package/dist/triggers/responses.js +0 -9
- package/dist/users/entities.js +0 -45
- package/dist/users/index.js +0 -4
- package/dist/users/payloads.js +0 -33
- package/dist/users/queries.js +0 -8
- package/dist/users/response.js +0 -27
- package/dist/vaults/entities.js +0 -96
- package/dist/vaults/index.js +0 -4
- package/dist/vaults/payloads.js +0 -65
- package/dist/vaults/queries.js +0 -66
- package/dist/vaults/responses.js +0 -368
- /package/dist/{baskets/saved/index.js → rewards/index.d.ts} +0 -0
package/dist/realtime/frames.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { EthereumAddress } from '../common/address';
|
|
3
|
-
import { WebsocketChannel } from './channels';
|
|
4
|
-
import { PriceUpdatedData, FundingUpdatedData, TradeExecutedData, TriggerTriggeredPublicData } from './public-events';
|
|
5
|
-
import { UserEventData, UserEventTopic } from './user-events';
|
|
6
|
-
import { PublicVaultInvalidatedData, ManagementVaultInvalidatedData } from './vault-events';
|
|
7
|
-
|
|
8
|
-
const FrameRequestId = z.string().optional();
|
|
9
|
-
const WebsocketWelcomeFrame = z.object({
|
|
10
|
-
type: z.literal("welcome"),
|
|
11
|
-
connectionId: z.string(),
|
|
12
|
-
heartbeatIntervalMs: z.number(),
|
|
13
|
-
resubscribeRequired: z.literal(true)
|
|
14
|
-
});
|
|
15
|
-
const AuthAckFrame = z.object({
|
|
16
|
-
id: FrameRequestId,
|
|
17
|
-
type: z.literal("ack"),
|
|
18
|
-
method: z.literal("auth"),
|
|
19
|
-
ok: z.literal(true)
|
|
20
|
-
});
|
|
21
|
-
const SubscriptionAckFrame = z.object({
|
|
22
|
-
id: FrameRequestId,
|
|
23
|
-
type: z.literal("ack"),
|
|
24
|
-
method: z.enum([
|
|
25
|
-
"subscribe",
|
|
26
|
-
"unsubscribe"
|
|
27
|
-
]),
|
|
28
|
-
channel: WebsocketChannel,
|
|
29
|
-
ok: z.literal(true)
|
|
30
|
-
});
|
|
31
|
-
const WebsocketAckFrame = z.discriminatedUnion("method", [
|
|
32
|
-
AuthAckFrame,
|
|
33
|
-
SubscriptionAckFrame
|
|
34
|
-
]);
|
|
35
|
-
const WebsocketVaultErrorCode = z.enum([
|
|
36
|
-
"FORBIDDEN",
|
|
37
|
-
"SUBSCRIPTION_REVOKED"
|
|
38
|
-
]);
|
|
39
|
-
const WebsocketRequestErrorCode = z.enum([
|
|
40
|
-
"AUTH_EXPIRED",
|
|
41
|
-
"CAPACITY_UNAVAILABLE",
|
|
42
|
-
"INTERNAL_ERROR",
|
|
43
|
-
"INVALID_FRAME",
|
|
44
|
-
"INVALID_JSON",
|
|
45
|
-
"INVALID_MESSAGE",
|
|
46
|
-
"INVALID_SUBSCRIPTION",
|
|
47
|
-
"RATE_LIMITED",
|
|
48
|
-
"TOO_MANY_SUBSCRIPTIONS",
|
|
49
|
-
"UNAUTHENTICATED"
|
|
50
|
-
]);
|
|
51
|
-
const WebsocketErrorCode = z.enum([
|
|
52
|
-
...WebsocketRequestErrorCode.options,
|
|
53
|
-
...WebsocketVaultErrorCode.options
|
|
54
|
-
]);
|
|
55
|
-
const RequestErrorFrame = z.object({
|
|
56
|
-
id: FrameRequestId,
|
|
57
|
-
type: z.literal("error"),
|
|
58
|
-
code: WebsocketRequestErrorCode,
|
|
59
|
-
message: z.string()
|
|
60
|
-
});
|
|
61
|
-
const VaultErrorFrame = z.object({
|
|
62
|
-
id: FrameRequestId,
|
|
63
|
-
type: z.literal("error"),
|
|
64
|
-
code: WebsocketVaultErrorCode,
|
|
65
|
-
message: z.string(),
|
|
66
|
-
// Vaults a FORBIDDEN refusal or SUBSCRIPTION_REVOKED notice applies to.
|
|
67
|
-
vaults: z.array(EthereumAddress)
|
|
68
|
-
});
|
|
69
|
-
const WebsocketErrorFrame = z.discriminatedUnion("code", [
|
|
70
|
-
RequestErrorFrame,
|
|
71
|
-
VaultErrorFrame
|
|
72
|
-
]);
|
|
73
|
-
const PriceUpdatedFrame = z.object({
|
|
74
|
-
type: z.literal("event"),
|
|
75
|
-
channel: z.literal("prices"),
|
|
76
|
-
topic: z.literal("price.updated"),
|
|
77
|
-
data: PriceUpdatedData
|
|
78
|
-
});
|
|
79
|
-
const FundingUpdatedFrame = z.object({
|
|
80
|
-
type: z.literal("event"),
|
|
81
|
-
channel: z.literal("funding"),
|
|
82
|
-
topic: z.literal("funding.updated"),
|
|
83
|
-
data: FundingUpdatedData
|
|
84
|
-
});
|
|
85
|
-
const TradeExecutedFrame = z.object({
|
|
86
|
-
type: z.literal("event"),
|
|
87
|
-
channel: z.literal("trades"),
|
|
88
|
-
topic: z.literal("trade.executed"),
|
|
89
|
-
data: TradeExecutedData
|
|
90
|
-
});
|
|
91
|
-
const TriggerTriggeredPublicFrame = z.object({
|
|
92
|
-
type: z.literal("event"),
|
|
93
|
-
channel: z.literal("trigger_events"),
|
|
94
|
-
topic: z.literal("trigger.triggered.public"),
|
|
95
|
-
data: TriggerTriggeredPublicData
|
|
96
|
-
});
|
|
97
|
-
const UserEventFrame = z.object({
|
|
98
|
-
type: z.literal("event"),
|
|
99
|
-
channel: z.literal("user_events"),
|
|
100
|
-
topic: UserEventTopic,
|
|
101
|
-
data: UserEventData
|
|
102
|
-
});
|
|
103
|
-
const VaultEventsInvalidatedFrame = z.object({
|
|
104
|
-
type: z.literal("event"),
|
|
105
|
-
channel: z.literal("vault_events"),
|
|
106
|
-
topic: z.literal("vault.invalidated"),
|
|
107
|
-
data: PublicVaultInvalidatedData
|
|
108
|
-
});
|
|
109
|
-
const VaultManagementInvalidatedFrame = z.object({
|
|
110
|
-
type: z.literal("event"),
|
|
111
|
-
channel: z.literal("vault_management"),
|
|
112
|
-
topic: z.literal("vault.invalidated"),
|
|
113
|
-
data: ManagementVaultInvalidatedData
|
|
114
|
-
});
|
|
115
|
-
const VaultInvalidatedFrame = z.discriminatedUnion("channel", [
|
|
116
|
-
VaultEventsInvalidatedFrame,
|
|
117
|
-
VaultManagementInvalidatedFrame
|
|
118
|
-
]);
|
|
119
|
-
const WebsocketEventFrame = z.discriminatedUnion("topic", [
|
|
120
|
-
PriceUpdatedFrame,
|
|
121
|
-
FundingUpdatedFrame,
|
|
122
|
-
TradeExecutedFrame,
|
|
123
|
-
TriggerTriggeredPublicFrame,
|
|
124
|
-
UserEventFrame,
|
|
125
|
-
VaultInvalidatedFrame
|
|
126
|
-
]);
|
|
127
|
-
const WebsocketPongFrame = z.object({
|
|
128
|
-
id: FrameRequestId,
|
|
129
|
-
type: z.literal("pong"),
|
|
130
|
-
timestamp: z.iso.datetime()
|
|
131
|
-
});
|
|
132
|
-
const WebsocketFrame = z.discriminatedUnion("type", [
|
|
133
|
-
WebsocketWelcomeFrame,
|
|
134
|
-
WebsocketAckFrame,
|
|
135
|
-
WebsocketErrorFrame,
|
|
136
|
-
WebsocketEventFrame,
|
|
137
|
-
WebsocketPongFrame
|
|
138
|
-
]);
|
|
139
|
-
|
|
140
|
-
export { WebsocketAckFrame, WebsocketErrorCode, WebsocketErrorFrame, WebsocketEventFrame, WebsocketFrame, WebsocketPongFrame, WebsocketRequestErrorCode, WebsocketVaultErrorCode, WebsocketWelcomeFrame };
|
package/dist/realtime/index.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { EthereumAddress } from '../common/address';
|
|
3
|
-
import { Connector } from '../connector';
|
|
4
|
-
import { WebsocketPublicChannel } from './channels';
|
|
5
|
-
import { UserEventTopic } from './user-events';
|
|
6
|
-
|
|
7
|
-
const MAX_VAULTS_PER_CONNECTION = 20;
|
|
8
|
-
const WebsocketRequestId = z.union([
|
|
9
|
-
z.string(),
|
|
10
|
-
z.number()
|
|
11
|
-
]).transform(String).optional();
|
|
12
|
-
const WebsocketPublicParams = z.object({
|
|
13
|
-
connectors: z.array(Connector).optional(),
|
|
14
|
-
instrumentIds: z.array(z.string()).optional()
|
|
15
|
-
}).strict();
|
|
16
|
-
const WebsocketUserEventsParams = z.object({
|
|
17
|
-
topics: z.array(UserEventTopic).optional()
|
|
18
|
-
}).strict();
|
|
19
|
-
const WebsocketTriggerEventsParams = z.object({
|
|
20
|
-
connectors: z.array(Connector).optional(),
|
|
21
|
-
accountIds: z.array(z.string()).optional()
|
|
22
|
-
}).strict();
|
|
23
|
-
const WebsocketVaultEventsParams = z.object({
|
|
24
|
-
vaults: z.array(EthereumAddress).min(1)
|
|
25
|
-
}).strict();
|
|
26
|
-
const PingMessage = z.object({
|
|
27
|
-
id: WebsocketRequestId,
|
|
28
|
-
method: z.literal("ping")
|
|
29
|
-
});
|
|
30
|
-
const AuthMessage = z.object({
|
|
31
|
-
id: WebsocketRequestId,
|
|
32
|
-
method: z.literal("auth"),
|
|
33
|
-
params: z.object({
|
|
34
|
-
accessToken: z.string().min(1)
|
|
35
|
-
}).strict()
|
|
36
|
-
});
|
|
37
|
-
const SubscribePublicMessage = z.object({
|
|
38
|
-
id: WebsocketRequestId,
|
|
39
|
-
method: z.literal("subscribe"),
|
|
40
|
-
channel: WebsocketPublicChannel,
|
|
41
|
-
params: WebsocketPublicParams.optional()
|
|
42
|
-
});
|
|
43
|
-
const SubscribeUserEventsMessage = z.object({
|
|
44
|
-
id: WebsocketRequestId,
|
|
45
|
-
method: z.literal("subscribe"),
|
|
46
|
-
channel: z.literal("user_events"),
|
|
47
|
-
params: WebsocketUserEventsParams.optional()
|
|
48
|
-
});
|
|
49
|
-
const SubscribeTriggerEventsMessage = z.object({
|
|
50
|
-
id: WebsocketRequestId,
|
|
51
|
-
method: z.literal("subscribe"),
|
|
52
|
-
channel: z.literal("trigger_events"),
|
|
53
|
-
params: WebsocketTriggerEventsParams.optional()
|
|
54
|
-
});
|
|
55
|
-
const SubscribeVaultEventsMessage = z.object({
|
|
56
|
-
id: WebsocketRequestId,
|
|
57
|
-
method: z.literal("subscribe"),
|
|
58
|
-
channel: z.literal("vault_events"),
|
|
59
|
-
params: WebsocketVaultEventsParams
|
|
60
|
-
});
|
|
61
|
-
const SubscribeVaultManagementMessage = z.object({
|
|
62
|
-
id: WebsocketRequestId,
|
|
63
|
-
method: z.literal("subscribe"),
|
|
64
|
-
channel: z.literal("vault_management"),
|
|
65
|
-
params: WebsocketVaultEventsParams
|
|
66
|
-
});
|
|
67
|
-
const UnsubscribePublicMessage = z.object({
|
|
68
|
-
id: WebsocketRequestId,
|
|
69
|
-
method: z.literal("unsubscribe"),
|
|
70
|
-
channel: WebsocketPublicChannel,
|
|
71
|
-
params: WebsocketPublicParams.optional()
|
|
72
|
-
});
|
|
73
|
-
const UnsubscribeUserEventsMessage = z.object({
|
|
74
|
-
id: WebsocketRequestId,
|
|
75
|
-
method: z.literal("unsubscribe"),
|
|
76
|
-
channel: z.literal("user_events"),
|
|
77
|
-
params: WebsocketUserEventsParams.optional()
|
|
78
|
-
});
|
|
79
|
-
const UnsubscribeTriggerEventsMessage = z.object({
|
|
80
|
-
id: WebsocketRequestId,
|
|
81
|
-
method: z.literal("unsubscribe"),
|
|
82
|
-
channel: z.literal("trigger_events"),
|
|
83
|
-
params: WebsocketTriggerEventsParams.optional()
|
|
84
|
-
});
|
|
85
|
-
const UnsubscribeVaultEventsMessage = z.object({
|
|
86
|
-
id: WebsocketRequestId,
|
|
87
|
-
method: z.literal("unsubscribe"),
|
|
88
|
-
channel: z.literal("vault_events"),
|
|
89
|
-
params: WebsocketVaultEventsParams.optional()
|
|
90
|
-
});
|
|
91
|
-
const UnsubscribeVaultManagementMessage = z.object({
|
|
92
|
-
id: WebsocketRequestId,
|
|
93
|
-
method: z.literal("unsubscribe"),
|
|
94
|
-
channel: z.literal("vault_management"),
|
|
95
|
-
params: WebsocketVaultEventsParams.optional()
|
|
96
|
-
});
|
|
97
|
-
const SubscribeMessage = z.discriminatedUnion("channel", [
|
|
98
|
-
SubscribePublicMessage,
|
|
99
|
-
SubscribeUserEventsMessage,
|
|
100
|
-
SubscribeTriggerEventsMessage,
|
|
101
|
-
SubscribeVaultEventsMessage,
|
|
102
|
-
SubscribeVaultManagementMessage
|
|
103
|
-
]);
|
|
104
|
-
const UnsubscribeMessage = z.discriminatedUnion("channel", [
|
|
105
|
-
UnsubscribePublicMessage,
|
|
106
|
-
UnsubscribeUserEventsMessage,
|
|
107
|
-
UnsubscribeTriggerEventsMessage,
|
|
108
|
-
UnsubscribeVaultEventsMessage,
|
|
109
|
-
UnsubscribeVaultManagementMessage
|
|
110
|
-
]);
|
|
111
|
-
const WebsocketControlMessage = z.discriminatedUnion("method", [
|
|
112
|
-
AuthMessage,
|
|
113
|
-
PingMessage,
|
|
114
|
-
SubscribeMessage,
|
|
115
|
-
UnsubscribeMessage
|
|
116
|
-
]);
|
|
117
|
-
|
|
118
|
-
export { MAX_VAULTS_PER_CONNECTION, WebsocketControlMessage, WebsocketPublicParams, WebsocketRequestId, WebsocketTriggerEventsParams, WebsocketUserEventsParams, WebsocketVaultEventsParams };
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ClientIdCode } from '../common/client-id';
|
|
3
|
-
import { Connector } from '../connector';
|
|
4
|
-
import { PriceSource } from '../price';
|
|
5
|
-
import { TriggerConditionClose, TpSlBracketType } from '../trigger';
|
|
6
|
-
|
|
7
|
-
const RealtimePrice = z.object({
|
|
8
|
-
// Connector-native instrument id.
|
|
9
|
-
id: z.string(),
|
|
10
|
-
// The price for the subscribed source (mid or mark).
|
|
11
|
-
p: z.string(),
|
|
12
|
-
// Best bid, when the venue reports one.
|
|
13
|
-
bid: z.string().nullable(),
|
|
14
|
-
// Best ask, when the venue reports one.
|
|
15
|
-
ask: z.string().nullable(),
|
|
16
|
-
// Epoch milliseconds of the tick.
|
|
17
|
-
t: z.number()
|
|
18
|
-
});
|
|
19
|
-
const RealtimeFunding = z.object({
|
|
20
|
-
// Connector-native instrument id.
|
|
21
|
-
id: z.string(),
|
|
22
|
-
// Funding rate.
|
|
23
|
-
r: z.string(),
|
|
24
|
-
// Epoch milliseconds of the tick.
|
|
25
|
-
t: z.number(),
|
|
26
|
-
// Next funding time in epoch milliseconds.
|
|
27
|
-
nft: z.number()
|
|
28
|
-
});
|
|
29
|
-
const PublicTradeLeg = z.object({
|
|
30
|
-
// SYMBOL-MIGRATION switch-to-id: optional while old producers still drain; becomes required once every producer stamps it.
|
|
31
|
-
id: z.string().optional().describe("Connector-native instrument id"),
|
|
32
|
-
symbol: z.string(),
|
|
33
|
-
side: z.enum([
|
|
34
|
-
"BUY",
|
|
35
|
-
"SELL"
|
|
36
|
-
]),
|
|
37
|
-
reduceOnly: z.boolean(),
|
|
38
|
-
quantity: z.string(),
|
|
39
|
-
price: z.string()
|
|
40
|
-
});
|
|
41
|
-
const PriceUpdatedData = z.object({
|
|
42
|
-
connector: Connector,
|
|
43
|
-
source: PriceSource,
|
|
44
|
-
prices: z.record(z.string(), RealtimePrice)
|
|
45
|
-
});
|
|
46
|
-
const FundingUpdatedData = z.object({
|
|
47
|
-
connector: Connector,
|
|
48
|
-
funding: z.record(z.string(), RealtimeFunding)
|
|
49
|
-
});
|
|
50
|
-
const TradeExecutedData = z.object({
|
|
51
|
-
connector: Connector,
|
|
52
|
-
source: z.enum([
|
|
53
|
-
"DIRECT",
|
|
54
|
-
"TWAP",
|
|
55
|
-
"TRIGGER"
|
|
56
|
-
]),
|
|
57
|
-
intent: z.enum([
|
|
58
|
-
"OPEN",
|
|
59
|
-
"ADJUST",
|
|
60
|
-
"CLOSE",
|
|
61
|
-
"REVERSE"
|
|
62
|
-
]),
|
|
63
|
-
orderType: z.enum([
|
|
64
|
-
"MARKET"
|
|
65
|
-
]),
|
|
66
|
-
timestamp: z.iso.datetime(),
|
|
67
|
-
clientId: ClientIdCode,
|
|
68
|
-
legs: z.array(PublicTradeLeg).min(1)
|
|
69
|
-
});
|
|
70
|
-
const TriggerTriggeredPublicData = z.object({
|
|
71
|
-
connector: Connector,
|
|
72
|
-
accountId: z.string(),
|
|
73
|
-
triggerId: z.string(),
|
|
74
|
-
bracketType: z.enum([
|
|
75
|
-
"STOP_LOSS",
|
|
76
|
-
"TAKE_PROFIT"
|
|
77
|
-
]),
|
|
78
|
-
// User-facing bracket semantics; `bracketType` is the crossing encoding (wire-flipped
|
|
79
|
-
// for a price bracket on a short watched leg). Always stated.
|
|
80
|
-
semanticBracketType: TpSlBracketType,
|
|
81
|
-
intent: z.enum([
|
|
82
|
-
"OPEN",
|
|
83
|
-
"ADJUST",
|
|
84
|
-
"CLOSE"
|
|
85
|
-
]),
|
|
86
|
-
condition: TriggerConditionClose,
|
|
87
|
-
triggerLevel: z.number().nullable(),
|
|
88
|
-
timestamp: z.iso.datetime(),
|
|
89
|
-
legs: z.array(PublicTradeLeg).min(1)
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
export { FundingUpdatedData, PriceUpdatedData, PublicTradeLeg, RealtimeFunding, RealtimePrice, TradeExecutedData, TriggerTriggeredPublicData };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
const UserEventTopic = z.enum([
|
|
4
|
-
"execution.failed",
|
|
5
|
-
"execution.completed",
|
|
6
|
-
"position.created",
|
|
7
|
-
"position.updated",
|
|
8
|
-
"position.closed",
|
|
9
|
-
"schedule.created",
|
|
10
|
-
"schedule.completed",
|
|
11
|
-
"schedule.failed",
|
|
12
|
-
"schedule.cancelled",
|
|
13
|
-
"ladder.created",
|
|
14
|
-
"ladder.updated",
|
|
15
|
-
"ladder.cancelled",
|
|
16
|
-
"trigger.created",
|
|
17
|
-
"trigger.triggered",
|
|
18
|
-
"trigger.cancelled",
|
|
19
|
-
"trigger.converted",
|
|
20
|
-
"rebalance.created",
|
|
21
|
-
"rebalance.updated",
|
|
22
|
-
"rebalance.executed",
|
|
23
|
-
"rebalance.paused",
|
|
24
|
-
"rebalance.cancelled",
|
|
25
|
-
"notification.created"
|
|
26
|
-
]);
|
|
27
|
-
const UserEventData = z.object({
|
|
28
|
-
// The changed entity (execution, position, schedule, ladder, trigger, rebalance or notification id).
|
|
29
|
-
entityId: z.string()
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
export { UserEventData, UserEventTopic };
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { EthereumAddress } from '../common/address';
|
|
3
|
-
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
const PublicVaultDataset = z.enum([
|
|
7
|
-
"positions",
|
|
8
|
-
"detail",
|
|
9
|
-
"nav",
|
|
10
|
-
"ledger"
|
|
11
|
-
]);
|
|
12
|
-
const ManagementVaultDataset = z.enum([
|
|
13
|
-
"orders",
|
|
14
|
-
"schedules",
|
|
15
|
-
"private_history"
|
|
16
|
-
]);
|
|
17
|
-
const VaultDataset = z.enum([
|
|
18
|
-
...PublicVaultDataset.options,
|
|
19
|
-
...ManagementVaultDataset.options
|
|
20
|
-
]);
|
|
21
|
-
function isPublicVaultDataset(dataset) {
|
|
22
|
-
return PublicVaultDataset.safeParse(dataset).success;
|
|
23
|
-
}
|
|
24
|
-
__name(isPublicVaultDataset, "isPublicVaultDataset");
|
|
25
|
-
const VaultInvalidatedData = z.object({
|
|
26
|
-
// The vault whose dataset changed, lowercased.
|
|
27
|
-
vaultAddress: EthereumAddress,
|
|
28
|
-
// The read model to refetch; its visibility decides which channel carries the notice.
|
|
29
|
-
dataset: VaultDataset,
|
|
30
|
-
// Unique per emitted invalidation so clients can dedupe redeliveries.
|
|
31
|
-
eventId: z.uuid(),
|
|
32
|
-
// Epoch milliseconds when realtime emitted the invalidation.
|
|
33
|
-
emittedAt: z.number().int().nonnegative()
|
|
34
|
-
});
|
|
35
|
-
const PublicVaultInvalidatedData = VaultInvalidatedData.extend({
|
|
36
|
-
dataset: PublicVaultDataset
|
|
37
|
-
});
|
|
38
|
-
const ManagementVaultInvalidatedData = VaultInvalidatedData.extend({
|
|
39
|
-
dataset: ManagementVaultDataset
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
export { ManagementVaultDataset, ManagementVaultInvalidatedData, PublicVaultDataset, PublicVaultInvalidatedData, VaultDataset, VaultInvalidatedData, isPublicVaultDataset };
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { UnsignedDecimalString } from '../common/schema';
|
|
3
|
-
import { InstrumentId } from '../instrument';
|
|
4
|
-
|
|
5
|
-
const AutoRebalanceStatus = z.enum([
|
|
6
|
-
"ACTIVE",
|
|
7
|
-
"PAUSED"
|
|
8
|
-
]);
|
|
9
|
-
const AutoRebalancePausedReason = z.enum([
|
|
10
|
-
"USER",
|
|
11
|
-
"POSITION_CHANGED",
|
|
12
|
-
"REPEATED_FAILURES",
|
|
13
|
-
"INVALID_LIVE_BETA_EXPOSURE"
|
|
14
|
-
]);
|
|
15
|
-
const AutoRebalanceWeightSource = z.enum([
|
|
16
|
-
"INITIAL_WEIGHT",
|
|
17
|
-
"LIVE_BETA"
|
|
18
|
-
]);
|
|
19
|
-
const AutoRebalanceTimeframe = z.enum([
|
|
20
|
-
"1h",
|
|
21
|
-
"4h",
|
|
22
|
-
"1d"
|
|
23
|
-
]);
|
|
24
|
-
const RebalanceEventStatus = z.enum([
|
|
25
|
-
"SUCCESS",
|
|
26
|
-
"FAILED"
|
|
27
|
-
]);
|
|
28
|
-
const WeightMap = z.record(InstrumentId, z.number());
|
|
29
|
-
const AutoRebalanceConfigBase = z.object({
|
|
30
|
-
id: z.uuid(),
|
|
31
|
-
positionId: z.uuid(),
|
|
32
|
-
status: AutoRebalanceStatus,
|
|
33
|
-
pausedReason: AutoRebalancePausedReason.optional(),
|
|
34
|
-
minimumDriftPct: UnsignedDecimalString,
|
|
35
|
-
createdAt: z.iso.datetime(),
|
|
36
|
-
updatedAt: z.iso.datetime()
|
|
37
|
-
});
|
|
38
|
-
const AutoRebalanceBetaState = z.discriminatedUnion("state", [
|
|
39
|
-
z.object({
|
|
40
|
-
state: z.literal("PENDING")
|
|
41
|
-
}),
|
|
42
|
-
z.object({
|
|
43
|
-
state: z.literal("BASELINED"),
|
|
44
|
-
// The frozen drift baseline: implied beta of the achieved leg split at entry, re-snapshotted after
|
|
45
|
-
// every rebalance.
|
|
46
|
-
impliedEntryBeta: UnsignedDecimalString
|
|
47
|
-
}),
|
|
48
|
-
z.object({
|
|
49
|
-
state: z.literal("TRACKING"),
|
|
50
|
-
// The frozen drift baseline: implied beta of the achieved leg split at entry, re-snapshotted after
|
|
51
|
-
// every rebalance.
|
|
52
|
-
impliedEntryBeta: UnsignedDecimalString,
|
|
53
|
-
// Kalman beta of the last candle this config processed — the moving side of the drift comparison.
|
|
54
|
-
lastDerivedBeta: UnsignedDecimalString,
|
|
55
|
-
// Bar time lastDerivedBeta was read at, so a client can judge how fresh that beta is.
|
|
56
|
-
lastProcessedBetaTime: z.iso.datetime(),
|
|
57
|
-
// How far lastDerivedBeta sits from impliedEntryBeta, as a fraction (0.05 = 5%) directly comparable
|
|
58
|
-
// to minimumDriftPct. Derived from the two betas above; absent on a degenerate (zero) baseline.
|
|
59
|
-
driftPct: UnsignedDecimalString.optional()
|
|
60
|
-
})
|
|
61
|
-
]);
|
|
62
|
-
const AutoRebalanceConfig = z.discriminatedUnion("weightSource", [
|
|
63
|
-
AutoRebalanceConfigBase.extend({
|
|
64
|
-
weightSource: z.literal("INITIAL_WEIGHT")
|
|
65
|
-
}),
|
|
66
|
-
AutoRebalanceConfigBase.extend({
|
|
67
|
-
weightSource: z.literal("LIVE_BETA"),
|
|
68
|
-
// Stat-arb bar timeframe selecting which realtime candle feed drives the drift comparison.
|
|
69
|
-
timeframe: AutoRebalanceTimeframe,
|
|
70
|
-
beta: AutoRebalanceBetaState
|
|
71
|
-
})
|
|
72
|
-
]);
|
|
73
|
-
const RebalanceEvent = z.object({
|
|
74
|
-
id: z.uuid(),
|
|
75
|
-
autoRebalanceConfigId: z.uuid(),
|
|
76
|
-
positionId: z.uuid(),
|
|
77
|
-
weightSource: AutoRebalanceWeightSource,
|
|
78
|
-
driftPct: UnsignedDecimalString,
|
|
79
|
-
currentWeights: WeightMap,
|
|
80
|
-
targetWeights: WeightMap,
|
|
81
|
-
status: RebalanceEventStatus,
|
|
82
|
-
error: z.string().optional(),
|
|
83
|
-
createdAt: z.iso.datetime()
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
export { AutoRebalanceBetaState, AutoRebalanceConfig, AutoRebalancePausedReason, AutoRebalanceStatus, AutoRebalanceTimeframe, AutoRebalanceWeightSource, RebalanceEvent, RebalanceEventStatus, WeightMap };
|
package/dist/rebalance/index.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ClientIdCode } from '../common/client-id';
|
|
3
|
-
import { RefineWeightingSum, RefineUniqueSymbols } from '../common/refinement';
|
|
4
|
-
import { UnsignedDecimalString } from '../common/schema';
|
|
5
|
-
import { ExecutionOrderType } from '../execution';
|
|
6
|
-
import { InstrumentId } from '../instrument';
|
|
7
|
-
import { AutoRebalanceTimeframe, AutoRebalanceStatus } from './entities';
|
|
8
|
-
|
|
9
|
-
const RebalanceManual = z.object({
|
|
10
|
-
orderType: ExecutionOrderType,
|
|
11
|
-
weightings: z.array(z.object({
|
|
12
|
-
symbol: InstrumentId,
|
|
13
|
-
weight: z.number().positive({
|
|
14
|
-
message: "Weight must be greater than 0"
|
|
15
|
-
}).max(1, {
|
|
16
|
-
message: "Weight must be less than 1"
|
|
17
|
-
})
|
|
18
|
-
})).superRefine(RefineWeightingSum).superRefine(RefineUniqueSymbols).describe("Array of weightings to rebalance the position"),
|
|
19
|
-
/**
|
|
20
|
-
* Attribution route code (client_ids.code)
|
|
21
|
-
*/
|
|
22
|
-
clientId: ClientIdCode
|
|
23
|
-
});
|
|
24
|
-
const MinimumDriftPct = UnsignedDecimalString.refine((value) => Number(value) > 0 && Number(value) <= 1, {
|
|
25
|
-
message: "minimumDriftPct must be greater than 0 and at most 1"
|
|
26
|
-
});
|
|
27
|
-
const InitialWeightConfig = z.object({
|
|
28
|
-
weightSource: z.literal("INITIAL_WEIGHT"),
|
|
29
|
-
minimumDriftPct: MinimumDriftPct
|
|
30
|
-
});
|
|
31
|
-
const LiveBetaConfig = z.object({
|
|
32
|
-
weightSource: z.literal("LIVE_BETA"),
|
|
33
|
-
minimumDriftPct: MinimumDriftPct,
|
|
34
|
-
timeframe: AutoRebalanceTimeframe
|
|
35
|
-
});
|
|
36
|
-
const CreateInitialWeight = InitialWeightConfig.extend({
|
|
37
|
-
positionId: z.uuid()
|
|
38
|
-
});
|
|
39
|
-
const CreateLiveBeta = LiveBetaConfig.extend({
|
|
40
|
-
positionId: z.uuid()
|
|
41
|
-
});
|
|
42
|
-
const CreateAutoRebalanceConfig = z.discriminatedUnion("weightSource", [
|
|
43
|
-
CreateInitialWeight,
|
|
44
|
-
CreateLiveBeta
|
|
45
|
-
]);
|
|
46
|
-
const ReplaceAutoRebalanceConfig = z.discriminatedUnion("weightSource", [
|
|
47
|
-
InitialWeightConfig,
|
|
48
|
-
LiveBetaConfig
|
|
49
|
-
]);
|
|
50
|
-
const UpdateAutoRebalanceConfig = z.object({
|
|
51
|
-
minimumDriftPct: MinimumDriftPct.optional(),
|
|
52
|
-
timeframe: AutoRebalanceTimeframe.optional(),
|
|
53
|
-
status: AutoRebalanceStatus.optional()
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
export { CreateAutoRebalanceConfig, RebalanceManual, ReplaceAutoRebalanceConfig, UpdateAutoRebalanceConfig };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { normalizeArray, CursorFindParams } from '../common';
|
|
3
|
-
import { AutoRebalanceStatus, AutoRebalanceWeightSource } from './entities';
|
|
4
|
-
|
|
5
|
-
const StatusArray = z.preprocess((arg) => normalizeArray(arg), z.array(AutoRebalanceStatus));
|
|
6
|
-
const WeightSourceArray = z.preprocess((arg) => normalizeArray(arg), z.array(AutoRebalanceWeightSource));
|
|
7
|
-
const AutoRebalanceListParams = CursorFindParams.extend({
|
|
8
|
-
status: StatusArray.optional(),
|
|
9
|
-
weightSource: WeightSourceArray.optional(),
|
|
10
|
-
positionId: z.uuid().optional()
|
|
11
|
-
});
|
|
12
|
-
const RebalanceEventListParams = CursorFindParams.extend({});
|
|
13
|
-
|
|
14
|
-
export { AutoRebalanceListParams, RebalanceEventListParams };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { CursorResponse } from '../common';
|
|
3
|
-
import { AutoRebalanceConfig, RebalanceEvent } from './entities';
|
|
4
|
-
|
|
5
|
-
const RebalanceManualResponse = z.object({
|
|
6
|
-
plan: z.discriminatedUnion("outcome", [
|
|
7
|
-
z.object({
|
|
8
|
-
outcome: z.literal("full_rebalance")
|
|
9
|
-
}),
|
|
10
|
-
z.object({
|
|
11
|
-
outcome: z.literal("partial_rebalance"),
|
|
12
|
-
messages: z.tuple([
|
|
13
|
-
z.string()
|
|
14
|
-
]).rest(z.string())
|
|
15
|
-
}),
|
|
16
|
-
z.object({
|
|
17
|
-
outcome: z.literal("no_rebalance"),
|
|
18
|
-
messages: z.tuple([
|
|
19
|
-
z.string()
|
|
20
|
-
]).rest(z.string())
|
|
21
|
-
}),
|
|
22
|
-
// `failed` only occurs on background runs (dispatch/cron); MANUAL execution errors throw and surface as HTTP errors instead.
|
|
23
|
-
z.object({
|
|
24
|
-
outcome: z.literal("failed"),
|
|
25
|
-
messages: z.tuple([
|
|
26
|
-
z.string()
|
|
27
|
-
]).rest(z.string())
|
|
28
|
-
})
|
|
29
|
-
])
|
|
30
|
-
});
|
|
31
|
-
const AutoRebalanceListResponse = CursorResponse.extend({
|
|
32
|
-
items: z.array(AutoRebalanceConfig)
|
|
33
|
-
});
|
|
34
|
-
const CreateAutoRebalanceResponse = z.object({
|
|
35
|
-
config: AutoRebalanceConfig
|
|
36
|
-
});
|
|
37
|
-
const RebalanceEventListResponse = CursorResponse.extend({
|
|
38
|
-
items: z.array(RebalanceEvent)
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
export { AutoRebalanceListResponse, CreateAutoRebalanceResponse, RebalanceEventListResponse, RebalanceManualResponse };
|