@polymarket/clob-client-v2 0.0.1

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.
Files changed (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/client.d.ts +125 -0
  4. package/dist/client.js +999 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/config.d.ts +14 -0
  7. package/dist/config.js +37 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/constants.d.ts +6 -0
  10. package/dist/constants.js +13 -0
  11. package/dist/constants.js.map +1 -0
  12. package/dist/endpoints.d.ts +52 -0
  13. package/dist/endpoints.js +68 -0
  14. package/dist/endpoints.js.map +1 -0
  15. package/dist/errors.d.ts +2 -0
  16. package/dist/errors.js +6 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/headers/index.d.ts +5 -0
  19. package/dist/headers/index.js +43 -0
  20. package/dist/headers/index.js.map +1 -0
  21. package/dist/http-helpers/index.d.ts +18 -0
  22. package/dist/http-helpers/index.js +112 -0
  23. package/dist/http-helpers/index.js.map +1 -0
  24. package/dist/index.d.ts +5 -0
  25. package/dist/index.js +9 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.d.ts +6 -0
  28. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js +32 -0
  29. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js.map +1 -0
  30. package/dist/order-builder/helpers/buildOrder.d.ts +15 -0
  31. package/dist/order-builder/helpers/buildOrder.js +36 -0
  32. package/dist/order-builder/helpers/buildOrder.js.map +1 -0
  33. package/dist/order-builder/helpers/buildOrderCreationArgs.d.ts +6 -0
  34. package/dist/order-builder/helpers/buildOrderCreationArgs.js +32 -0
  35. package/dist/order-builder/helpers/buildOrderCreationArgs.js.map +1 -0
  36. package/dist/order-builder/helpers/calculateBuyMarketPrice.d.ts +8 -0
  37. package/dist/order-builder/helpers/calculateBuyMarketPrice.js +38 -0
  38. package/dist/order-builder/helpers/calculateBuyMarketPrice.js.map +1 -0
  39. package/dist/order-builder/helpers/calculateSellMarketPrice.d.ts +8 -0
  40. package/dist/order-builder/helpers/calculateSellMarketPrice.js +38 -0
  41. package/dist/order-builder/helpers/calculateSellMarketPrice.js.map +1 -0
  42. package/dist/order-builder/helpers/createMarketOrder.d.ts +6 -0
  43. package/dist/order-builder/helpers/createMarketOrder.js +40 -0
  44. package/dist/order-builder/helpers/createMarketOrder.js.map +1 -0
  45. package/dist/order-builder/helpers/createOrder.d.ts +6 -0
  46. package/dist/order-builder/helpers/createOrder.js +40 -0
  47. package/dist/order-builder/helpers/createOrder.js.map +1 -0
  48. package/dist/order-builder/helpers/getMarketOrderRawAmounts.d.ts +6 -0
  49. package/dist/order-builder/helpers/getMarketOrderRawAmounts.js +41 -0
  50. package/dist/order-builder/helpers/getMarketOrderRawAmounts.js.map +1 -0
  51. package/dist/order-builder/helpers/getOrderRawAmounts.d.ts +6 -0
  52. package/dist/order-builder/helpers/getOrderRawAmounts.js +41 -0
  53. package/dist/order-builder/helpers/getOrderRawAmounts.js.map +1 -0
  54. package/dist/order-builder/helpers/index.d.ts +10 -0
  55. package/dist/order-builder/helpers/index.js +24 -0
  56. package/dist/order-builder/helpers/index.js.map +1 -0
  57. package/dist/order-builder/helpers/roundingConfig.d.ts +2 -0
  58. package/dist/order-builder/helpers/roundingConfig.js +26 -0
  59. package/dist/order-builder/helpers/roundingConfig.js.map +1 -0
  60. package/dist/order-builder/index.d.ts +1 -0
  61. package/dist/order-builder/index.js +5 -0
  62. package/dist/order-builder/index.js.map +1 -0
  63. package/dist/order-builder/orderBuilder.d.ts +29 -0
  64. package/dist/order-builder/orderBuilder.js +47 -0
  65. package/dist/order-builder/orderBuilder.js.map +1 -0
  66. package/dist/order-utils/abi/ExchangeV1.d.ts +1444 -0
  67. package/dist/order-utils/abi/ExchangeV1.js +1856 -0
  68. package/dist/order-utils/abi/ExchangeV1.js.map +1 -0
  69. package/dist/order-utils/abi/ExchangeV2.d.ts +1116 -0
  70. package/dist/order-utils/abi/ExchangeV2.js +1433 -0
  71. package/dist/order-utils/abi/ExchangeV2.js.map +1 -0
  72. package/dist/order-utils/exchangeOrderBuilderV1.d.ts +43 -0
  73. package/dist/order-utils/exchangeOrderBuilderV1.js +143 -0
  74. package/dist/order-utils/exchangeOrderBuilderV1.js.map +1 -0
  75. package/dist/order-utils/exchangeOrderBuilderV2.d.ts +43 -0
  76. package/dist/order-utils/exchangeOrderBuilderV2.js +114 -0
  77. package/dist/order-utils/exchangeOrderBuilderV2.js.map +1 -0
  78. package/dist/order-utils/index.d.ts +8 -0
  79. package/dist/order-utils/index.js +13 -0
  80. package/dist/order-utils/index.js.map +1 -0
  81. package/dist/order-utils/model/abi.d.ts +21 -0
  82. package/dist/order-utils/model/abi.js +3 -0
  83. package/dist/order-utils/model/abi.js.map +1 -0
  84. package/dist/order-utils/model/ctfExchangeV1TypedData.d.ts +6 -0
  85. package/dist/order-utils/model/ctfExchangeV1TypedData.js +20 -0
  86. package/dist/order-utils/model/ctfExchangeV1TypedData.js.map +1 -0
  87. package/dist/order-utils/model/ctfExchangeV2TypedData.d.ts +6 -0
  88. package/dist/order-utils/model/ctfExchangeV2TypedData.js +19 -0
  89. package/dist/order-utils/model/ctfExchangeV2TypedData.js.map +1 -0
  90. package/dist/order-utils/model/eip712.d.ts +29 -0
  91. package/dist/order-utils/model/eip712.js +10 -0
  92. package/dist/order-utils/model/eip712.js.map +1 -0
  93. package/dist/order-utils/model/order.d.ts +2 -0
  94. package/dist/order-utils/model/order.js +3 -0
  95. package/dist/order-utils/model/order.js.map +1 -0
  96. package/dist/order-utils/model/orderDataV1.d.ts +111 -0
  97. package/dist/order-utils/model/orderDataV1.js +3 -0
  98. package/dist/order-utils/model/orderDataV1.js.map +1 -0
  99. package/dist/order-utils/model/orderDataV2.d.ts +111 -0
  100. package/dist/order-utils/model/orderDataV2.js +3 -0
  101. package/dist/order-utils/model/orderDataV2.js.map +1 -0
  102. package/dist/order-utils/model/side.d.ts +8 -0
  103. package/dist/order-utils/model/side.js +14 -0
  104. package/dist/order-utils/model/side.js.map +1 -0
  105. package/dist/order-utils/model/signatureTypeV1.d.ts +14 -0
  106. package/dist/order-utils/model/signatureTypeV1.js +19 -0
  107. package/dist/order-utils/model/signatureTypeV1.js.map +1 -0
  108. package/dist/order-utils/model/signatureTypeV2.d.ts +18 -0
  109. package/dist/order-utils/model/signatureTypeV2.js +23 -0
  110. package/dist/order-utils/model/signatureTypeV2.js.map +1 -0
  111. package/dist/order-utils/utils.d.ts +1 -0
  112. package/dist/order-utils/utils.js +7 -0
  113. package/dist/order-utils/utils.js.map +1 -0
  114. package/dist/signing/constants.d.ts +14 -0
  115. package/dist/signing/constants.js +19 -0
  116. package/dist/signing/constants.js.map +1 -0
  117. package/dist/signing/eip712.d.ts +10 -0
  118. package/dist/signing/eip712.js +39 -0
  119. package/dist/signing/eip712.js.map +1 -0
  120. package/dist/signing/hmac.d.ts +9 -0
  121. package/dist/signing/hmac.js +32 -0
  122. package/dist/signing/hmac.js.map +1 -0
  123. package/dist/signing/index.d.ts +2 -0
  124. package/dist/signing/index.js +6 -0
  125. package/dist/signing/index.js.map +1 -0
  126. package/dist/types/clob.d.ts +377 -0
  127. package/dist/types/clob.js +31 -0
  128. package/dist/types/clob.js.map +1 -0
  129. package/dist/types/index.d.ts +4 -0
  130. package/dist/types/index.js +8 -0
  131. package/dist/types/index.js.map +1 -0
  132. package/dist/types/ordersV1.d.ts +106 -0
  133. package/dist/types/ordersV1.js +3 -0
  134. package/dist/types/ordersV1.js.map +1 -0
  135. package/dist/types/ordersV2.d.ts +89 -0
  136. package/dist/types/ordersV2.js +3 -0
  137. package/dist/types/ordersV2.js.map +1 -0
  138. package/dist/types/unifiedOrder.d.ts +34 -0
  139. package/dist/types/unifiedOrder.js +12 -0
  140. package/dist/types/unifiedOrder.js.map +1 -0
  141. package/dist/utilities.d.ts +17 -0
  142. package/dist/utilities.js +120 -0
  143. package/dist/utilities.js.map +1 -0
  144. package/package.json +43 -0
@@ -0,0 +1,377 @@
1
+ import { Side } from "../order-utils/model/side";
2
+ export { Side };
3
+ export interface ApiKeyCreds {
4
+ key: string;
5
+ secret: string;
6
+ passphrase: string;
7
+ }
8
+ export interface BuilderConfig {
9
+ builderCode: string;
10
+ }
11
+ export interface ApiKeyRaw {
12
+ apiKey: string;
13
+ secret: string;
14
+ passphrase: string;
15
+ }
16
+ export interface L2HeaderArgs {
17
+ method: string;
18
+ requestPath: string;
19
+ body?: string;
20
+ }
21
+ export type SimpleHeaders = Record<string, string | number | boolean>;
22
+ export interface L1PolyHeader extends SimpleHeaders {
23
+ POLY_ADDRESS: string;
24
+ POLY_SIGNATURE: string;
25
+ POLY_TIMESTAMP: string;
26
+ POLY_NONCE: string;
27
+ }
28
+ export interface L2PolyHeader extends SimpleHeaders {
29
+ POLY_ADDRESS: string;
30
+ POLY_SIGNATURE: string;
31
+ POLY_TIMESTAMP: string;
32
+ POLY_API_KEY: string;
33
+ POLY_PASSPHRASE: string;
34
+ }
35
+ export declare enum OrderType {
36
+ GTC = "GTC",
37
+ FOK = "FOK",
38
+ GTD = "GTD",
39
+ FAK = "FAK"
40
+ }
41
+ export interface OrderPayload {
42
+ orderID: string;
43
+ }
44
+ export interface OrderResponse {
45
+ success: boolean;
46
+ errorMsg: string;
47
+ orderID: string;
48
+ transactionsHashes: string[];
49
+ status: string;
50
+ takingAmount: string;
51
+ makingAmount: string;
52
+ }
53
+ export interface OpenOrder {
54
+ id: string;
55
+ status: string;
56
+ owner: string;
57
+ maker_address: string;
58
+ market: string;
59
+ asset_id: string;
60
+ side: string;
61
+ original_size: string;
62
+ size_matched: string;
63
+ price: string;
64
+ associate_trades: string[];
65
+ outcome: string;
66
+ created_at: number;
67
+ expiration: string;
68
+ order_type: string;
69
+ }
70
+ export type OpenOrdersResponse = OpenOrder[];
71
+ export interface MakerOrder {
72
+ order_id: string;
73
+ owner: string;
74
+ maker_address: string;
75
+ matched_amount: string;
76
+ price: string;
77
+ fee_rate_bps: string;
78
+ asset_id: string;
79
+ outcome: string;
80
+ side: Side;
81
+ }
82
+ export interface Trade {
83
+ id: string;
84
+ taker_order_id: string;
85
+ market: string;
86
+ asset_id: string;
87
+ side: Side;
88
+ size: string;
89
+ fee_rate_bps: string;
90
+ price: string;
91
+ status: string;
92
+ match_time: string;
93
+ last_update: string;
94
+ outcome: string;
95
+ bucket_index: number;
96
+ owner: string;
97
+ maker_address: string;
98
+ maker_orders: MakerOrder[];
99
+ transaction_hash: string;
100
+ trader_side: "TAKER" | "MAKER";
101
+ }
102
+ export interface ApiKeysResponse {
103
+ apiKeys: ApiKeyCreds[];
104
+ }
105
+ export interface BanStatus {
106
+ closed_only: boolean;
107
+ }
108
+ export interface TradeParams {
109
+ id?: string;
110
+ maker_address?: string;
111
+ market?: string;
112
+ asset_id?: string;
113
+ before?: string;
114
+ after?: string;
115
+ }
116
+ export interface BuilderTradeParams extends TradeParams {
117
+ builder_code: string;
118
+ }
119
+ export interface OpenOrderParams {
120
+ id?: string;
121
+ market?: string;
122
+ asset_id?: string;
123
+ }
124
+ export declare enum Chain {
125
+ POLYGON = 137,
126
+ AMOY = 80002
127
+ }
128
+ export interface MarketPrice {
129
+ t: number;
130
+ p: number;
131
+ }
132
+ export interface PriceHistoryFilterParams {
133
+ market?: string;
134
+ startTs?: number;
135
+ endTs?: number;
136
+ fidelity?: number;
137
+ interval?: PriceHistoryInterval;
138
+ }
139
+ export declare enum PriceHistoryInterval {
140
+ MAX = "max",
141
+ ONE_WEEK = "1w",
142
+ ONE_DAY = "1d",
143
+ SIX_HOURS = "6h",
144
+ ONE_HOUR = "1h"
145
+ }
146
+ export interface DropNotificationParams {
147
+ ids: string[];
148
+ }
149
+ export interface Notification {
150
+ type: number;
151
+ owner: string;
152
+ payload: any;
153
+ }
154
+ export interface OrderMarketCancelParams {
155
+ market?: string;
156
+ asset_id?: string;
157
+ }
158
+ export interface OrderBookSummary {
159
+ market: string;
160
+ asset_id: string;
161
+ timestamp: string;
162
+ bids: OrderSummary[];
163
+ asks: OrderSummary[];
164
+ min_order_size: string;
165
+ tick_size: string;
166
+ neg_risk: boolean;
167
+ hash: string;
168
+ }
169
+ export interface OrderSummary {
170
+ price: string;
171
+ size: string;
172
+ }
173
+ export declare enum AssetType {
174
+ COLLATERAL = "COLLATERAL",
175
+ CONDITIONAL = "CONDITIONAL"
176
+ }
177
+ export interface BalanceAllowanceParams {
178
+ asset_type: AssetType;
179
+ token_id?: string;
180
+ }
181
+ export interface BalanceAllowanceResponse {
182
+ balance: string;
183
+ allowance: string;
184
+ }
185
+ export interface OrderScoringParams {
186
+ order_id: string;
187
+ }
188
+ export interface OrderScoring {
189
+ scoring: boolean;
190
+ }
191
+ export interface OrdersScoringParams {
192
+ orderIds: string[];
193
+ }
194
+ export type OrdersScoring = {
195
+ [orderId in string]: boolean;
196
+ };
197
+ export type CreateOrderOptions = {
198
+ tickSize: TickSize;
199
+ negRisk?: boolean;
200
+ };
201
+ export type TickSize = "0.1" | "0.01" | "0.001" | "0.0001";
202
+ export interface RoundConfig {
203
+ readonly price: number;
204
+ readonly size: number;
205
+ readonly amount: number;
206
+ }
207
+ export interface TickSizes {
208
+ [tokenId: string]: TickSize;
209
+ }
210
+ export interface NegRisk {
211
+ [tokenId: string]: boolean;
212
+ }
213
+ export interface FeeRates {
214
+ [tokenId: string]: number;
215
+ }
216
+ export interface FeeExponents {
217
+ [tokenId: string]: number;
218
+ }
219
+ export interface BuilderFeeRates {
220
+ [tokenId: string]: {
221
+ maker: number;
222
+ taker: number;
223
+ };
224
+ }
225
+ export type TokenConditionMap = Record<string, string>;
226
+ export interface FeeDetails {
227
+ r?: number;
228
+ e?: number;
229
+ to: boolean;
230
+ }
231
+ export interface ClobToken {
232
+ t: string;
233
+ o: string;
234
+ }
235
+ export interface MarketDetails {
236
+ c: string;
237
+ t: [ClobToken | null, ClobToken | null];
238
+ mts: number;
239
+ nr: boolean;
240
+ fd?: FeeDetails;
241
+ mbf?: number;
242
+ tbf?: number;
243
+ }
244
+ export interface PaginationPayload {
245
+ readonly limit: number;
246
+ readonly count: number;
247
+ readonly next_cursor: string;
248
+ readonly data: any[];
249
+ }
250
+ export interface MarketTradeEvent {
251
+ event_type: string;
252
+ market: {
253
+ condition_id: string;
254
+ asset_id: string;
255
+ question: string;
256
+ icon: string;
257
+ slug: string;
258
+ };
259
+ user: {
260
+ address: string;
261
+ username: string;
262
+ profile_picture: string;
263
+ optimized_profile_picture: string;
264
+ pseudonym: string;
265
+ };
266
+ side: Side;
267
+ size: string;
268
+ fee_rate_bps: string;
269
+ price: string;
270
+ outcome: string;
271
+ outcome_index: number;
272
+ transaction_hash: string;
273
+ timestamp: string;
274
+ }
275
+ export interface BookParams {
276
+ token_id: string;
277
+ side: Side;
278
+ }
279
+ export interface UserEarning {
280
+ date: string;
281
+ condition_id: string;
282
+ asset_address: string;
283
+ maker_address: string;
284
+ earnings: number;
285
+ asset_rate: number;
286
+ }
287
+ export interface TotalUserEarning {
288
+ date: string;
289
+ asset_address: string;
290
+ maker_address: string;
291
+ earnings: number;
292
+ asset_rate: number;
293
+ }
294
+ export interface RewardsPercentages {
295
+ [market: string]: number;
296
+ }
297
+ export interface Token {
298
+ token_id: string;
299
+ outcome: string;
300
+ price: number;
301
+ }
302
+ export interface RewardsConfig {
303
+ asset_address: string;
304
+ start_date: string;
305
+ end_date: string;
306
+ rate_per_day: number;
307
+ total_rewards: number;
308
+ }
309
+ export interface MarketReward {
310
+ condition_id: string;
311
+ question: string;
312
+ market_slug: string;
313
+ event_slug: string;
314
+ image: string;
315
+ rewards_max_spread: number;
316
+ rewards_min_size: number;
317
+ tokens: Token[];
318
+ rewards_config: RewardsConfig[];
319
+ }
320
+ export interface Earning {
321
+ asset_address: string;
322
+ earnings: number;
323
+ asset_rate: number;
324
+ }
325
+ export interface UserRewardsEarning {
326
+ condition_id: string;
327
+ question: string;
328
+ market_slug: string;
329
+ event_slug: string;
330
+ image: string;
331
+ rewards_max_spread: number;
332
+ rewards_min_size: number;
333
+ market_competitiveness: number;
334
+ tokens: Token[];
335
+ rewards_config: RewardsConfig[];
336
+ maker_address: string;
337
+ earning_percentage: number;
338
+ earnings: Earning[];
339
+ }
340
+ export interface BuilderTrade {
341
+ id: string;
342
+ tradeType: string;
343
+ takerOrderHash: string;
344
+ builder: string;
345
+ market: string;
346
+ assetId: string;
347
+ side: string;
348
+ size: string;
349
+ sizeUsdc: string;
350
+ price: string;
351
+ status: string;
352
+ outcome: string;
353
+ outcomeIndex: number;
354
+ owner: string;
355
+ maker: string;
356
+ transactionHash: string;
357
+ matchTime: string;
358
+ bucketIndex: number;
359
+ fee: string;
360
+ feeUsdc: string;
361
+ err_msg?: string | null;
362
+ createdAt: string | null;
363
+ updatedAt: string | null;
364
+ }
365
+ export interface BuilderApiKey {
366
+ key: string;
367
+ secret: string;
368
+ passphrase: string;
369
+ }
370
+ export interface BuilderApiKeyResponse {
371
+ key: string;
372
+ createdAt?: string;
373
+ revokedAt?: string;
374
+ }
375
+ export type ClobErrorResponseBody = {
376
+ error: string;
377
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AssetType = exports.PriceHistoryInterval = exports.Chain = exports.OrderType = exports.Side = void 0;
4
+ const side_1 = require("../order-utils/model/side");
5
+ Object.defineProperty(exports, "Side", { enumerable: true, get: function () { return side_1.Side; } });
6
+ var OrderType;
7
+ (function (OrderType) {
8
+ OrderType["GTC"] = "GTC";
9
+ OrderType["FOK"] = "FOK";
10
+ OrderType["GTD"] = "GTD";
11
+ OrderType["FAK"] = "FAK";
12
+ })(OrderType || (exports.OrderType = OrderType = {}));
13
+ var Chain;
14
+ (function (Chain) {
15
+ Chain[Chain["POLYGON"] = 137] = "POLYGON";
16
+ Chain[Chain["AMOY"] = 80002] = "AMOY";
17
+ })(Chain || (exports.Chain = Chain = {}));
18
+ var PriceHistoryInterval;
19
+ (function (PriceHistoryInterval) {
20
+ PriceHistoryInterval["MAX"] = "max";
21
+ PriceHistoryInterval["ONE_WEEK"] = "1w";
22
+ PriceHistoryInterval["ONE_DAY"] = "1d";
23
+ PriceHistoryInterval["SIX_HOURS"] = "6h";
24
+ PriceHistoryInterval["ONE_HOUR"] = "1h";
25
+ })(PriceHistoryInterval || (exports.PriceHistoryInterval = PriceHistoryInterval = {}));
26
+ var AssetType;
27
+ (function (AssetType) {
28
+ AssetType["COLLATERAL"] = "COLLATERAL";
29
+ AssetType["CONDITIONAL"] = "CONDITIONAL";
30
+ })(AssetType || (exports.AssetType = AssetType = {}));
31
+ //# sourceMappingURL=clob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clob.js","sourceRoot":"","sources":["../../src/types/clob.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAExC,qFAFA,WAAI,OAEA;AA2Cb,IAAY,SAKX;AALD,WAAY,SAAS;IACpB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;AACZ,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAkGD,IAAY,KAGX;AAHD,WAAY,KAAK;IAChB,yCAAa,CAAA;IACb,qCAAY,CAAA;AACb,CAAC,EAHW,KAAK,qBAAL,KAAK,QAGhB;AAeD,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC/B,mCAAW,CAAA;IACX,uCAAe,CAAA;IACf,sCAAc,CAAA;IACd,wCAAgB,CAAA;IAChB,uCAAe,CAAA;AAChB,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B;AAmCD,IAAY,SAGX;AAHD,WAAY,SAAS;IACpB,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;AAC5B,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
@@ -0,0 +1,4 @@
1
+ export * from "./clob";
2
+ export * from "./ordersV1";
3
+ export * from "./ordersV2";
4
+ export * from "./unifiedOrder";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./clob"), exports);
5
+ tslib_1.__exportStar(require("./ordersV1"), exports);
6
+ tslib_1.__exportStar(require("./ordersV2"), exports);
7
+ tslib_1.__exportStar(require("./unifiedOrder"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B"}
@@ -0,0 +1,106 @@
1
+ import type { SignatureTypeV1, SignedOrderV1 } from "../order-utils";
2
+ import type { OrderType, Side } from "./clob";
3
+ export interface PostOrdersV1Args {
4
+ order: SignedOrderV1;
5
+ orderType: OrderType;
6
+ }
7
+ export interface NewOrderV1<T extends OrderType> {
8
+ readonly order: {
9
+ readonly salt: number;
10
+ readonly maker: string;
11
+ readonly signer: string;
12
+ readonly taker: string;
13
+ readonly tokenId: string;
14
+ readonly makerAmount: string;
15
+ readonly takerAmount: string;
16
+ readonly expiration: string;
17
+ readonly nonce: string;
18
+ readonly feeRateBps: string;
19
+ readonly side: string;
20
+ readonly signatureType: SignatureTypeV1;
21
+ readonly signature: string;
22
+ };
23
+ readonly owner: string;
24
+ readonly orderType: T;
25
+ readonly deferExec: boolean;
26
+ }
27
+ export interface UserOrderV1 {
28
+ /**
29
+ * TokenID of the Conditional token asset being traded
30
+ */
31
+ tokenID: string;
32
+ /**
33
+ * Price used to create the order
34
+ */
35
+ price: number;
36
+ /**
37
+ * Size in terms of the ConditionalToken
38
+ */
39
+ size: number;
40
+ /**
41
+ * Side of the order
42
+ */
43
+ side: Side;
44
+ /**
45
+ * Fee rate, in basis points, charged to the order maker, charged on proceeds
46
+ */
47
+ feeRateBps?: number;
48
+ /**
49
+ * Nonce used for onchain cancellations
50
+ */
51
+ nonce?: number;
52
+ /**
53
+ * Timestamp after which the order is expired.
54
+ */
55
+ expiration?: number;
56
+ /**
57
+ * Address of the order taker. The zero address is used to indicate a public order
58
+ */
59
+ taker?: string;
60
+ /**
61
+ * Builder code (bytes32)
62
+ */
63
+ builderCode?: string;
64
+ }
65
+ export interface UserMarketOrderV1 {
66
+ /**
67
+ * TokenID of the Conditional token asset being traded
68
+ */
69
+ tokenID: string;
70
+ /**
71
+ * Price used to create the order
72
+ * If it is not present the market price will be used.
73
+ */
74
+ price?: number;
75
+ /**
76
+ * BUY orders: $$$ Amount to buy
77
+ * SELL orders: Shares to sell
78
+ */
79
+ amount: number;
80
+ /**
81
+ * Side of the order
82
+ */
83
+ side: Side;
84
+ /**
85
+ * Fee rate, in basis points, charged to the order maker, charged on proceeds
86
+ */
87
+ feeRateBps?: number;
88
+ /**
89
+ * Nonce used for onchain cancellations
90
+ */
91
+ nonce?: number;
92
+ /**
93
+ * Address of the order taker. The zero address is used to indicate a public order
94
+ */
95
+ taker?: string;
96
+ /**
97
+ * Specifies the type of order execution:
98
+ * - FOK (Fill or Kill): The order must be filled entirely or not at all.
99
+ * - FAK (Fill and Kill): The order can be partially filled, and any unfilled portion is canceled.
100
+ */
101
+ orderType?: OrderType.FOK | OrderType.FAK;
102
+ /**
103
+ * Builder code (bytes32)
104
+ */
105
+ builderCode?: string;
106
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ordersV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordersV1.js","sourceRoot":"","sources":["../../src/types/ordersV1.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import type { SignatureTypeV2, SignedOrderV2 } from "../order-utils";
2
+ import type { OrderType, Side } from "./clob";
3
+ export interface PostOrdersV2Args {
4
+ order: SignedOrderV2;
5
+ orderType: OrderType;
6
+ }
7
+ export interface NewOrderV2<T extends OrderType> {
8
+ readonly order: {
9
+ readonly salt: number;
10
+ readonly maker: string;
11
+ readonly signer: string;
12
+ readonly taker: string;
13
+ readonly tokenId: string;
14
+ readonly makerAmount: string;
15
+ readonly takerAmount: string;
16
+ readonly expiration: string;
17
+ readonly side: string;
18
+ readonly signatureType: SignatureTypeV2;
19
+ readonly timestamp: string;
20
+ readonly metadata: string;
21
+ readonly builder: string;
22
+ readonly signature: string;
23
+ };
24
+ readonly owner: string;
25
+ readonly orderType: T;
26
+ readonly deferExec: boolean;
27
+ }
28
+ export interface UserOrderV2 {
29
+ /**
30
+ * TokenID of the Conditional token asset being traded
31
+ */
32
+ tokenID: string;
33
+ /**
34
+ * Price used to create the order
35
+ */
36
+ price: number;
37
+ /**
38
+ * Size in terms of the ConditionalToken
39
+ */
40
+ size: number;
41
+ /**
42
+ * Side of the order
43
+ */
44
+ side: Side;
45
+ /**
46
+ * Timestamp after which the order is expired.
47
+ */
48
+ expiration?: number;
49
+ /**
50
+ * Builder code (bytes32)
51
+ */
52
+ builderCode?: string;
53
+ }
54
+ export interface UserMarketOrderV2 {
55
+ /**
56
+ * TokenID of the Conditional token asset being traded
57
+ */
58
+ tokenID: string;
59
+ /**
60
+ * Price used to create the order
61
+ * If it is not present the market price will be used.
62
+ */
63
+ price?: number;
64
+ /**
65
+ * BUY orders: $$$ Amount to buy
66
+ * SELL orders: Shares to sell
67
+ */
68
+ amount: number;
69
+ /**
70
+ * Side of the order
71
+ */
72
+ side: Side;
73
+ /**
74
+ * Specifies the type of order execution:
75
+ * - FOK (Fill or Kill): The order must be filled entirely or not at all.
76
+ * - FAK (Fill and Kill): The order can be partially filled, and any unfilled portion is canceled.
77
+ */
78
+ orderType?: OrderType.FOK | OrderType.FAK;
79
+ /**
80
+ * User's USDC balance. If provided and sufficient to cover amount + fees, the order
81
+ * amount is used as-is. Otherwise fees are deducted from the amount.
82
+ * If this field is left empty, the default flow is to use the order amount as-is
83
+ */
84
+ userUSDCBalance?: number;
85
+ /**
86
+ * Builder code (bytes32)
87
+ */
88
+ builderCode?: string;
89
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ordersV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordersV2.js","sourceRoot":"","sources":["../../src/types/ordersV2.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import type { SignedOrderV1, SignedOrderV2 } from "../order-utils";
2
+ import type { PostOrdersV1Args, UserMarketOrderV1, UserOrderV1 } from "./ordersV1";
3
+ import type { PostOrdersV2Args, UserMarketOrderV2, UserOrderV2 } from "./ordersV2";
4
+ export type SignedOrder = SignedOrderV1 | SignedOrderV2;
5
+ export type PostOrdersArgs = PostOrdersV1Args | PostOrdersV2Args;
6
+ export type VersionedSignedOrder = {
7
+ version: 1;
8
+ order: SignedOrderV1;
9
+ } | {
10
+ version: 2;
11
+ order: SignedOrderV2;
12
+ };
13
+ export type VersionedUserOrder = {
14
+ version: 1;
15
+ order: UserOrderV1;
16
+ } | {
17
+ version: 2;
18
+ order: UserOrderV2;
19
+ };
20
+ export type VersionedUserMarketOrder = {
21
+ version: 1;
22
+ order: UserMarketOrderV1;
23
+ } | {
24
+ version: 2;
25
+ order: UserMarketOrderV2;
26
+ };
27
+ export type VersionedPostOrdersArgs = {
28
+ version: 1;
29
+ args: PostOrdersV1Args;
30
+ } | {
31
+ version: 2;
32
+ args: PostOrdersV2Args;
33
+ };
34
+ export declare function isV2Order(order: SignedOrder | VersionedSignedOrder): order is SignedOrderV2;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isV2Order = isV2Order;
4
+ function isV2Order(order) {
5
+ if ("version" in order && "order" in order) {
6
+ // VersionedSignedOrder type
7
+ return order.version === 2;
8
+ }
9
+ // Check for V2-specific fields
10
+ return "timestamp" in order && "metadata" in order && "builder" in order;
11
+ }
12
+ //# sourceMappingURL=unifiedOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unifiedOrder.js","sourceRoot":"","sources":["../../src/types/unifiedOrder.ts"],"names":[],"mappings":";;AAwBA,8BAOC;AAPD,SAAgB,SAAS,CAAC,KAAyC;IAClE,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5C,4BAA4B;QAC5B,OAAO,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,+BAA+B;IAC/B,OAAO,WAAW,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC;AAC1E,CAAC"}