@polymarket/clob-client 5.0.1 → 5.1.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.
@@ -0,0 +1,350 @@
1
+ import { RfqMatchType, Side } from "./types.js";
2
+ import { createL2Headers } from "./headers/index.js";
3
+ import { DELETE, GET, POST, parseRfqQuotesParams, parseRfqRequestsParams, } from "./http-helpers/index.js";
4
+ import { CANCEL_RFQ_REQUEST, CREATE_RFQ_QUOTE, GET_RFQ_QUOTES, GET_RFQ_BEST_QUOTE, CANCEL_RFQ_QUOTE, CREATE_RFQ_REQUEST, RFQ_CONFIG, GET_RFQ_REQUESTS, RFQ_REQUESTS_ACCEPT, RFQ_QUOTE_APPROVE, } from "./endpoints.js";
5
+ import { ROUNDING_CONFIG } from "./order-builder/helpers.js";
6
+ import { roundDown, roundNormal } from "./utilities.js";
7
+ import { parseUnits } from "@ethersproject/units";
8
+ import { COLLATERAL_TOKEN_DECIMALS } from "./config.js";
9
+ import { L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE } from "./errors.js";
10
+ /**
11
+ * RfqClient provides RFQ (Request for Quote) functionality on top of a CLOB client.
12
+ */
13
+ export class RfqClient {
14
+ deps;
15
+ constructor(deps) {
16
+ this.deps = deps;
17
+ }
18
+ /**
19
+ * Creates and posts an RFQ request from user order parameters.
20
+ * Converts the order into the proper RFQ request format with asset amounts and submits it.
21
+ */
22
+ async createRfqRequest(userOrder, options) {
23
+ this.ensureL2Auth();
24
+ const { tokenID, price, side, size } = userOrder;
25
+ const tickSize = await this.deps.resolveTickSize(tokenID, options?.tickSize);
26
+ const roundConfig = ROUNDING_CONFIG[tickSize];
27
+ const roundedPrice = roundNormal(price, roundConfig.price).toFixed(roundConfig.price);
28
+ const roundedSize = roundDown(size, roundConfig.size).toFixed(roundConfig.size);
29
+ // Calculate amounts based on side
30
+ const sizeNum = parseFloat(roundedSize);
31
+ const priceNum = parseFloat(roundedPrice);
32
+ let amountIn;
33
+ let amountOut;
34
+ let assetIn;
35
+ let assetOut;
36
+ if (side === Side.BUY) {
37
+ // Buying: pay USDC (asset 0), receive tokens (tokenID)
38
+ amountIn = parseUnits(roundedSize, COLLATERAL_TOKEN_DECIMALS).toString();
39
+ amountOut = parseUnits((sizeNum * priceNum).toFixed(roundConfig.amount), COLLATERAL_TOKEN_DECIMALS).toString();
40
+ assetIn = tokenID;
41
+ assetOut = "0"; // USDC
42
+ }
43
+ else {
44
+ // Selling: pay tokens (tokenID), receive USDC (asset 0)
45
+ amountIn = parseUnits((sizeNum * priceNum).toFixed(roundConfig.amount), COLLATERAL_TOKEN_DECIMALS).toString();
46
+ amountOut = parseUnits(roundedSize, COLLATERAL_TOKEN_DECIMALS).toString();
47
+ assetIn = "0"; // USDC
48
+ assetOut = tokenID;
49
+ }
50
+ const payload = {
51
+ assetIn,
52
+ assetOut,
53
+ amountIn,
54
+ amountOut,
55
+ userType: this.deps.userType,
56
+ };
57
+ const endpoint = CREATE_RFQ_REQUEST;
58
+ const l2HeaderArgs = {
59
+ method: POST,
60
+ requestPath: endpoint,
61
+ body: JSON.stringify(payload),
62
+ };
63
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
64
+ return this.deps.post(`${this.deps.host}${endpoint}`, { headers, data: payload });
65
+ }
66
+ /**
67
+ * Cancels an existing RFQ request
68
+ */
69
+ async cancelRfqRequest(request) {
70
+ this.ensureL2Auth();
71
+ const endpoint = CANCEL_RFQ_REQUEST;
72
+ const l2HeaderArgs = {
73
+ method: DELETE,
74
+ requestPath: endpoint,
75
+ body: JSON.stringify(request),
76
+ };
77
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
78
+ return this.deps.del(`${this.deps.host}${endpoint}`, { headers, data: request });
79
+ }
80
+ /**
81
+ * Gets RFQ requests with optional filtering parameters
82
+ */
83
+ async getRfqRequests(params) {
84
+ this.ensureL2Auth();
85
+ const endpoint = GET_RFQ_REQUESTS;
86
+ const l2HeaderArgs = {
87
+ method: GET,
88
+ requestPath: endpoint,
89
+ };
90
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
91
+ return this.deps.get(`${this.deps.host}${endpoint}`, { headers, params: parseRfqRequestsParams(params) });
92
+ }
93
+ /**
94
+ * Creates a quote in response to an RFQ request.
95
+ * Converts user-friendly parameters into the proper RFQ quote format with asset amounts and submits it.
96
+ */
97
+ async createRfqQuote(userQuote, options) {
98
+ this.ensureL2Auth();
99
+ const { requestId, tokenID, price, side, size } = userQuote;
100
+ const tickSize = await this.deps.resolveTickSize(tokenID, options?.tickSize);
101
+ const roundConfig = ROUNDING_CONFIG[tickSize];
102
+ const roundedPrice = roundNormal(price, roundConfig.price).toFixed(roundConfig.price);
103
+ const roundedSize = roundDown(size, roundConfig.size).toFixed(roundConfig.size);
104
+ // Calculate amounts based on side
105
+ const sizeNum = parseFloat(roundedSize);
106
+ const priceNum = parseFloat(roundedPrice);
107
+ let amountIn;
108
+ let amountOut;
109
+ let assetIn;
110
+ let assetOut;
111
+ if (side === Side.SELL) {
112
+ // Quoter selling tokens: receive USDC (asset 0), give tokens (tokenID)
113
+ amountIn = parseUnits((sizeNum * priceNum).toFixed(roundConfig.amount), COLLATERAL_TOKEN_DECIMALS).toString();
114
+ amountOut = parseUnits(roundedSize, COLLATERAL_TOKEN_DECIMALS).toString();
115
+ assetIn = "0"; // USDC
116
+ assetOut = tokenID;
117
+ }
118
+ else {
119
+ // Quoter buying tokens: receive tokens (tokenID), give USDC (asset 0)
120
+ amountIn = parseUnits(roundedSize, COLLATERAL_TOKEN_DECIMALS).toString();
121
+ amountOut = parseUnits((sizeNum * priceNum).toFixed(roundConfig.amount), COLLATERAL_TOKEN_DECIMALS).toString();
122
+ assetIn = tokenID;
123
+ assetOut = "0"; // USDC
124
+ }
125
+ const payload = {
126
+ requestId,
127
+ assetIn,
128
+ assetOut,
129
+ amountIn,
130
+ amountOut,
131
+ };
132
+ const endpoint = CREATE_RFQ_QUOTE;
133
+ // Auto-fill userType from client's signatureType
134
+ const quoteWithUserType = {
135
+ ...payload,
136
+ userType: this.deps.userType,
137
+ };
138
+ const l2HeaderArgs = {
139
+ method: POST,
140
+ requestPath: endpoint,
141
+ body: JSON.stringify(quoteWithUserType),
142
+ };
143
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
144
+ return this.deps.post(`${this.deps.host}${endpoint}`, { headers, data: quoteWithUserType });
145
+ }
146
+ /**
147
+ * Gets RFQ quotes with optional filtering parameters
148
+ */
149
+ async getRfqQuotes(params) {
150
+ this.ensureL2Auth();
151
+ const endpoint = GET_RFQ_QUOTES;
152
+ const l2HeaderArgs = {
153
+ method: GET,
154
+ requestPath: endpoint,
155
+ };
156
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
157
+ return this.deps.get(`${this.deps.host}${endpoint}`, { headers, params: parseRfqQuotesParams(params) });
158
+ }
159
+ /**
160
+ * Gets the best quote for a given request ID
161
+ */
162
+ async getRfqBestQuote(params) {
163
+ this.ensureL2Auth();
164
+ const endpoint = GET_RFQ_BEST_QUOTE;
165
+ const l2HeaderArgs = {
166
+ method: GET,
167
+ requestPath: endpoint,
168
+ };
169
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
170
+ return this.deps.get(`${this.deps.host}${endpoint}`, { headers, params });
171
+ }
172
+ /**
173
+ * Cancels an existing quote
174
+ */
175
+ async cancelRfqQuote(quote) {
176
+ this.ensureL2Auth();
177
+ const endpoint = CANCEL_RFQ_QUOTE;
178
+ const l2HeaderArgs = {
179
+ method: DELETE,
180
+ requestPath: endpoint,
181
+ body: JSON.stringify(quote),
182
+ };
183
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
184
+ return this.deps.del(`${this.deps.host}${endpoint}`, { headers, data: quote });
185
+ }
186
+ /**
187
+ * Gets the RFQ configuration from the server
188
+ */
189
+ async rfqConfig() {
190
+ this.ensureL2Auth();
191
+ const endpoint = RFQ_CONFIG;
192
+ const l2HeaderArgs = {
193
+ method: GET,
194
+ requestPath: endpoint,
195
+ };
196
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
197
+ return this.deps.get(`${this.deps.host}${endpoint}`, { headers });
198
+ }
199
+ /**
200
+ * Accepts a quote and creates an order (taker side)
201
+ * This fetches the request details, creates an order, and submits the acceptance
202
+ */
203
+ async acceptRfqQuote(payload) {
204
+ this.ensureL2Auth();
205
+ const rfqQuotes = await this.getRfqQuotes({
206
+ quoteIds: [payload.quoteId],
207
+ });
208
+ // Check for HTTP errors first (network failures, auth errors, server errors)
209
+ if ("error" in rfqQuotes) {
210
+ const errorMsg = typeof rfqQuotes.error === "string"
211
+ ? rfqQuotes.error
212
+ : JSON.stringify(rfqQuotes.error);
213
+ throw new Error(`Error fetching RFQ quote: ${errorMsg}`);
214
+ }
215
+ if (!rfqQuotes?.data || rfqQuotes.data.length === 0) {
216
+ throw new Error("RFQ quote not found");
217
+ }
218
+ const rfqQuote = rfqQuotes.data[0];
219
+ // Create an order, matching the quote
220
+ const orderPayload = this.getRequestOrderCreationPayload(rfqQuote);
221
+ const orderSide = orderPayload.side;
222
+ const size = orderPayload.size;
223
+ const token = orderPayload.token;
224
+ const order = await this.deps.createOrder({
225
+ tokenID: token,
226
+ price: rfqQuote.price,
227
+ size: parseFloat(size),
228
+ side: orderSide,
229
+ expiration: payload.expiration,
230
+ });
231
+ if (!order) {
232
+ throw new Error("Error creating order");
233
+ }
234
+ const acceptPayload = {
235
+ requestId: payload.requestId,
236
+ quoteId: payload.quoteId,
237
+ owner: this.deps.creds.key,
238
+ ...order,
239
+ expiration: parseInt(order.expiration),
240
+ side: orderSide,
241
+ salt: parseInt(order.salt.toString())
242
+ };
243
+ const endpoint = RFQ_REQUESTS_ACCEPT;
244
+ const l2HeaderArgs = {
245
+ method: POST,
246
+ requestPath: endpoint,
247
+ body: JSON.stringify(acceptPayload),
248
+ };
249
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
250
+ return this.deps.post(`${this.deps.host}${endpoint}`, { headers, data: acceptPayload });
251
+ }
252
+ /**
253
+ * Approves a quote and creates an order (maker side)
254
+ * This fetches the quote details, creates an order, and submits the approval
255
+ */
256
+ async approveRfqOrder(payload) {
257
+ this.ensureL2Auth();
258
+ const rfqQuotes = await this.getRfqQuotes({
259
+ quoteIds: [payload.quoteId],
260
+ });
261
+ // Check for HTTP errors first (network failures, auth errors, server errors)
262
+ if ("error" in rfqQuotes) {
263
+ const errorMsg = typeof rfqQuotes.error === "string"
264
+ ? rfqQuotes.error
265
+ : JSON.stringify(rfqQuotes.error);
266
+ throw new Error(`Error fetching RFQ quote: ${errorMsg}`);
267
+ }
268
+ if (!rfqQuotes?.data || rfqQuotes.data.length === 0) {
269
+ throw new Error("RFQ quote not found");
270
+ }
271
+ const rfqQuote = rfqQuotes.data[0];
272
+ // Create an order based on the quote details
273
+ const side = rfqQuote.side === "BUY" ? Side.BUY : Side.SELL;
274
+ const size = rfqQuote.side === "BUY" ?
275
+ rfqQuote.sizeIn : rfqQuote.sizeOut;
276
+ const order = await this.deps.createOrder({
277
+ tokenID: rfqQuote.token,
278
+ price: rfqQuote.price,
279
+ size: parseFloat(size),
280
+ side: side,
281
+ expiration: payload.expiration,
282
+ });
283
+ if (!order) {
284
+ throw new Error("Error creating order");
285
+ }
286
+ const approvePayload = {
287
+ requestId: payload.requestId,
288
+ quoteId: payload.quoteId,
289
+ owner: this.deps.creds.key,
290
+ ...order,
291
+ expiration: parseInt(order.expiration),
292
+ side: side,
293
+ salt: parseInt(order.salt.toString())
294
+ };
295
+ const endpoint = RFQ_QUOTE_APPROVE;
296
+ const l2HeaderArgs = {
297
+ method: POST,
298
+ requestPath: endpoint,
299
+ body: JSON.stringify(approvePayload),
300
+ };
301
+ const headers = await createL2Headers(this.deps.signer, this.deps.creds, l2HeaderArgs, this.deps.useServerTime ? await this.deps.getServerTime() : undefined);
302
+ return this.deps.post(`${this.deps.host}${endpoint}`, { headers, data: approvePayload });
303
+ }
304
+ /**
305
+ * Ensures L2 authentication is available for RFQ endpoints.
306
+ */
307
+ ensureL2Auth() {
308
+ if (this.deps.signer === undefined) {
309
+ throw L1_AUTH_UNAVAILABLE_ERROR;
310
+ }
311
+ if (this.deps.creds === undefined) {
312
+ throw L2_AUTH_NOT_AVAILABLE;
313
+ }
314
+ }
315
+ getRequestOrderCreationPayload(quote) {
316
+ const quoteSide = quote.side;
317
+ const matchType = quote.matchType;
318
+ let side;
319
+ let token;
320
+ let size;
321
+ switch (matchType) {
322
+ case RfqMatchType.COMPLEMENTARY:
323
+ // For BUY <> SELL and SELL <> BUY
324
+ // the order side is opposite the quote side
325
+ side = quoteSide === "BUY" ? Side.SELL : Side.BUY;
326
+ token = quote.token;
327
+ size = side == Side.BUY ? quote.sizeOut : quote.sizeIn;
328
+ return {
329
+ token,
330
+ side,
331
+ size,
332
+ };
333
+ case RfqMatchType.MINT:
334
+ case RfqMatchType.MERGE:
335
+ // BUY<> BUY, SELL <> SELL
336
+ // the order side is the same as the quote side
337
+ side = quoteSide === "BUY" ? Side.BUY : Side.SELL;
338
+ token = quote.complement;
339
+ size = side == Side.BUY ? quote.sizeIn : quote.sizeOut;
340
+ return {
341
+ token,
342
+ side,
343
+ size,
344
+ };
345
+ default:
346
+ throw new Error("invalid match type");
347
+ }
348
+ }
349
+ }
350
+ //# sourceMappingURL=rfq-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfq-client.js","sourceRoot":"","sources":["../src/rfq-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { Wallet } from "@ethersproject/wallet";
2
+ import type { JsonRpcSigner } from "@ethersproject/providers";
3
+ import type { SignedOrder } from "@polymarket/order-utils";
4
+ import type { AcceptQuoteParams, ApiKeyCreds, ApproveOrderParams, CancelRfqQuoteParams, CancelRfqRequestParams, CreateOrderOptions, GetRfqBestQuoteParams, GetRfqQuotesParams, GetRfqRequestsParams, RfqQuote, RfqQuotesResponse, RfqRequestsResponse, RfqRequestResponse, RfqQuoteResponse, RfqUserOrder, RfqUserQuote, TickSize, UserOrder } from "./types.ts";
5
+ import type { RequestOptions } from "./http-helpers/index.ts";
6
+ /**
7
+ * Minimal surface from the core CLOB client that RFQ functionality depends on.
8
+ */
9
+ export interface RfqDeps {
10
+ host: string;
11
+ signer?: Wallet | JsonRpcSigner;
12
+ creds?: ApiKeyCreds;
13
+ useServerTime?: boolean;
14
+ geoBlockToken?: string;
15
+ /**
16
+ * Numeric user type (backed by SignatureType in the order builder).
17
+ */
18
+ userType: number;
19
+ getServerTime(): Promise<number>;
20
+ getTickSize(tokenID: string): Promise<TickSize>;
21
+ resolveTickSize(tokenID: string, tickSize?: TickSize): Promise<TickSize>;
22
+ createOrder(userOrder: UserOrder, options?: Partial<CreateOrderOptions>): Promise<SignedOrder>;
23
+ get(endpoint: string, options?: RequestOptions): Promise<any>;
24
+ post(endpoint: string, options?: RequestOptions): Promise<any>;
25
+ put(endpoint: string, options?: RequestOptions): Promise<any>;
26
+ del(endpoint: string, options?: RequestOptions): Promise<any>;
27
+ }
28
+ /**
29
+ * Public RFQ surface exposed from a CLOB client.
30
+ *
31
+ * This is what `ClobClient.rfq` is typed as, and what `RfqClient` implements.
32
+ */
33
+ export interface IRfqClient {
34
+ createRfqRequest(userOrder: RfqUserOrder, options?: Partial<CreateOrderOptions>): Promise<RfqRequestResponse>;
35
+ cancelRfqRequest(request: CancelRfqRequestParams): Promise<"OK">;
36
+ getRfqRequests(params?: GetRfqRequestsParams): Promise<RfqRequestsResponse>;
37
+ createRfqQuote(userQuote: RfqUserQuote, options?: Partial<CreateOrderOptions>): Promise<RfqQuoteResponse>;
38
+ getRfqQuotes(params?: GetRfqQuotesParams): Promise<RfqQuotesResponse>;
39
+ getRfqBestQuote(params?: GetRfqBestQuoteParams): Promise<RfqQuote>;
40
+ cancelRfqQuote(quote: CancelRfqQuoteParams): Promise<"OK">;
41
+ rfqConfig(): Promise<any>;
42
+ acceptRfqQuote(payload: AcceptQuoteParams): Promise<"OK">;
43
+ approveRfqOrder(payload: ApproveOrderParams): Promise<"OK">;
44
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rfq-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfq-deps.js","sourceRoot":"","sources":["../src/rfq-deps.ts"],"names":[],"mappings":""}
package/dist/types.d.ts CHANGED
@@ -446,3 +446,144 @@ export interface BuilderTrade {
446
446
  createdAt: string | null;
447
447
  updatedAt: string | null;
448
448
  }
449
+ export interface CancelRfqRequestParams {
450
+ requestId: string;
451
+ }
452
+ export interface CreateRfqRequestParams {
453
+ assetIn: string;
454
+ assetOut: string;
455
+ amountIn: string;
456
+ amountOut: string;
457
+ userType: number;
458
+ }
459
+ export interface RfqQuoteParams {
460
+ requestId: string;
461
+ assetIn: string;
462
+ assetOut: string;
463
+ amountIn: string;
464
+ amountOut: string;
465
+ userType: number;
466
+ }
467
+ export interface CreateRfqQuoteParams {
468
+ requestId: string;
469
+ assetIn: string;
470
+ assetOut: string;
471
+ amountIn: string;
472
+ amountOut: string;
473
+ }
474
+ export interface CancelRfqQuoteParams {
475
+ quoteId: string;
476
+ }
477
+ export interface AcceptQuoteParams {
478
+ requestId: string;
479
+ quoteId: string;
480
+ expiration: number;
481
+ }
482
+ export interface ApproveOrderParams {
483
+ requestId: string;
484
+ quoteId: string;
485
+ expiration: number;
486
+ }
487
+ export interface GetRfqQuotesParams {
488
+ quoteIds?: string[];
489
+ states?: string[];
490
+ userAddress?: string;
491
+ state?: string;
492
+ markets?: string[];
493
+ requestIds?: string[];
494
+ sizeMin?: number;
495
+ sizeMax?: number;
496
+ sizeUsdcMin?: number;
497
+ sizeUsdcMax?: number;
498
+ priceMin?: number;
499
+ priceMax?: number;
500
+ sortBy?: string;
501
+ sortDir?: string;
502
+ limit?: number;
503
+ offset?: string;
504
+ }
505
+ export interface GetRfqBestQuoteParams {
506
+ requestId?: string;
507
+ }
508
+ export type RfqUserOrder = Pick<UserOrder, "price" | "size" | "side" | "tokenID">;
509
+ export type RfqUserQuote = RfqUserOrder & {
510
+ requestId: string;
511
+ };
512
+ export interface GetRfqRequestsParams {
513
+ requestIds?: string[];
514
+ states?: string[];
515
+ state?: string;
516
+ markets?: string[];
517
+ sizeMin?: number;
518
+ sizeMax?: number;
519
+ sizeUsdcMin?: number;
520
+ sizeUsdcMax?: number;
521
+ priceMin?: number;
522
+ priceMax?: number;
523
+ sortBy?: string;
524
+ sortDir?: string;
525
+ limit?: number;
526
+ offset?: string;
527
+ }
528
+ export interface RfqPaginatedResponse<T> {
529
+ readonly data: T[];
530
+ readonly next_cursor: string;
531
+ readonly limit: number;
532
+ readonly count: number;
533
+ readonly total_count?: number;
534
+ }
535
+ export interface RfqRequest {
536
+ readonly requestId: string;
537
+ readonly userAddress: string;
538
+ readonly proxyAddress: string;
539
+ readonly token: string;
540
+ readonly complement: string;
541
+ readonly condition: string;
542
+ readonly side: string;
543
+ readonly sizeIn: string;
544
+ readonly sizeOut: string;
545
+ readonly price: number;
546
+ readonly acceptedQuoteId: string;
547
+ readonly state: string;
548
+ readonly expiry: Date;
549
+ readonly createdAt: Date;
550
+ readonly updatedAt: Date;
551
+ }
552
+ export declare enum RfqMatchType {
553
+ COMPLEMENTARY = "COMPLEMENTARY",
554
+ MERGE = "MERGE",
555
+ MINT = "MINT"
556
+ }
557
+ export interface RfqQuote {
558
+ readonly quoteId: string;
559
+ readonly requestId: string;
560
+ readonly userAddress: string;
561
+ readonly proxyAddress: string;
562
+ readonly complement: string;
563
+ readonly condition: string;
564
+ readonly token: string;
565
+ readonly side: string;
566
+ readonly sizeIn: string;
567
+ readonly sizeOut: string;
568
+ readonly price: number;
569
+ readonly state: string;
570
+ readonly expiry: Date;
571
+ readonly matchType: string;
572
+ readonly createdAt: Date;
573
+ readonly updatedAt: Date;
574
+ }
575
+ export type RfqRequestsResponse = RfqPaginatedResponse<RfqRequest>;
576
+ export type RfqQuotesResponse = RfqPaginatedResponse<RfqQuote>;
577
+ export interface RfqRequestResponse {
578
+ readonly requestId: string;
579
+ readonly error?: string;
580
+ }
581
+ export interface RfqQuoteResponse {
582
+ readonly quoteId: string;
583
+ readonly error?: string;
584
+ }
585
+ export interface RfqRequestOrderCreationPayload {
586
+ readonly token: string;
587
+ readonly side: Side;
588
+ readonly size: string;
589
+ }
package/dist/types.js CHANGED
@@ -28,4 +28,10 @@ export var AssetType;
28
28
  AssetType["COLLATERAL"] = "COLLATERAL";
29
29
  AssetType["CONDITIONAL"] = "CONDITIONAL";
30
30
  })(AssetType || (AssetType = {}));
31
+ export var RfqMatchType;
32
+ (function (RfqMatchType) {
33
+ RfqMatchType["COMPLEMENTARY"] = "COMPLEMENTARY";
34
+ RfqMatchType["MERGE"] = "MERGE";
35
+ RfqMatchType["MINT"] = "MINT";
36
+ })(RfqMatchType || (RfqMatchType = {}));
31
37
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoDA,MAAM,CAAN,IAAY,IAGX;AAHD,WAAY,IAAI;IACZ,mBAAW,CAAA;IACX,qBAAa,CAAA;AACjB,CAAC,EAHW,IAAI,KAAJ,IAAI,QAGf;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAkND,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACb,yCAAa,CAAA;IACb,qCAAY,CAAA;AAChB,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB;AAeD,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,mCAAW,CAAA;IACX,uCAAe,CAAA;IACf,sCAAc,CAAA;IACd,wCAAgB,CAAA;IAChB,uCAAe,CAAA;AACnB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAmCD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;AAC/B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAoDA,MAAM,CAAN,IAAY,IAGX;AAHD,WAAY,IAAI;IACZ,mBAAW,CAAA;IACX,qBAAa,CAAA;AACjB,CAAC,EAHW,IAAI,KAAJ,IAAI,QAGf;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAkND,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACb,yCAAa,CAAA;IACb,qCAAY,CAAA;AAChB,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB;AAeD,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,mCAAW,CAAA;IACX,uCAAe,CAAA;IACf,sCAAc,CAAA;IACd,wCAAgB,CAAA;IAChB,uCAAe,CAAA;AACnB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAmCD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;AAC/B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AA8TD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,+CAA+B,CAAA;IAC/B,+BAAe,CAAA;IACf,6BAAa,CAAA;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}