@polymarket/clob-client-v2 0.2.7 → 1.0.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/client.d.ts +11 -6
- package/dist/client.js +58 -27
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +10 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.d.ts +5 -6
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js +19 -7
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js.map +1 -1
- package/dist/order-builder/helpers/buildOrderCreationArgs.d.ts +5 -6
- package/dist/order-builder/helpers/buildOrderCreationArgs.js +20 -7
- package/dist/order-builder/helpers/buildOrderCreationArgs.js.map +1 -1
- package/dist/order-builder/helpers/createMarketOrder.d.ts +2 -2
- package/dist/order-builder/helpers/createMarketOrder.js +1 -4
- package/dist/order-builder/helpers/createMarketOrder.js.map +1 -1
- package/dist/order-builder/helpers/createOrder.d.ts +2 -2
- package/dist/order-builder/helpers/createOrder.js +1 -4
- package/dist/order-builder/helpers/createOrder.js.map +1 -1
- package/dist/types/clob.d.ts +3 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OrderBuilder } from "./order-builder/index.js";
|
|
2
2
|
import type { SignatureTypeV2 } from "./order-utils/model/signatureTypeV2.js";
|
|
3
3
|
import type { ClobSigner } from "./signing/signer.js";
|
|
4
|
-
import type { ApiKeyCreds, ApiKeysResponse, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderConfig, BuilderFeeRates, BuilderTradeParams, BuilderTradesResponse, Chain, CreateOrderOptions, DropNotificationParams, FeeInfos, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderMarketCancelParams, OrderPayload, OrderScoring, OrderScoringParams, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PreMigrationOrdersResponse, PriceHistoryFilterParams, ReadonlyApiKeyResponse, RewardsPercentages, TickSize, TickSizes, TotalUserEarning, Trade, TradeParams, TradesPaginatedResponse, UserEarning, UserMarketOrderV2, UserOrderV2, UserRewardsEarning } from "./types/index.js";
|
|
4
|
+
import type { ApiKeyCreds, ApiKeysResponse, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderConfig, BuilderFeeRates, BuilderTradeParams, BuilderTradesResponse, Chain, CreateOrderOptions, DropNotificationParams, FeeInfos, FeeRates, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderMarketCancelParams, OrderPayload, OrderScoring, OrderScoringParams, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PreMigrationOrdersResponse, PriceHistoryFilterParams, ReadonlyApiKeyResponse, RewardsPercentages, TickSize, TickSizes, TotalUserEarning, Trade, TradeParams, TradesPaginatedResponse, UserEarning, UserMarketOrderV1, UserMarketOrderV2, UserOrderV1, UserOrderV2, UserRewardsEarning } from "./types/index.js";
|
|
5
5
|
import { OrderType, Side } from "./types/index.js";
|
|
6
6
|
import { type SignedOrder } from "./types/unifiedOrder.js";
|
|
7
7
|
export declare function adjustBuyAmountForFees(amount: number, price: number, userUSDCBalance: number, feeRate: number, feeExponent: number, builderTakerFeeRate: number): number;
|
|
@@ -16,6 +16,7 @@ export interface ClobClientOptions {
|
|
|
16
16
|
builderConfig?: BuilderConfig;
|
|
17
17
|
getSigner?: () => Promise<ClobSigner> | ClobSigner;
|
|
18
18
|
retryOnError?: boolean;
|
|
19
|
+
throwOnError?: boolean;
|
|
19
20
|
}
|
|
20
21
|
export declare class ClobClient {
|
|
21
22
|
readonly host: string;
|
|
@@ -26,13 +27,15 @@ export declare class ClobClient {
|
|
|
26
27
|
readonly tickSizes: TickSizes;
|
|
27
28
|
readonly negRisk: NegRisk;
|
|
28
29
|
readonly feeInfos: FeeInfos;
|
|
30
|
+
readonly feeRates: FeeRates;
|
|
29
31
|
readonly builderFeeRates: BuilderFeeRates;
|
|
30
32
|
private readonly tokenConditionMap;
|
|
31
33
|
readonly useServerTime?: boolean;
|
|
32
34
|
readonly builderConfig?: BuilderConfig;
|
|
33
35
|
private cachedVersion?;
|
|
34
36
|
readonly retryOnError?: boolean;
|
|
35
|
-
|
|
37
|
+
readonly throwOnError?: boolean;
|
|
38
|
+
constructor({ host, chain, signer, creds, signatureType, funderAddress, useServerTime, builderConfig, getSigner, retryOnError, throwOnError, }: ClobClientOptions);
|
|
36
39
|
getOk(): Promise<any>;
|
|
37
40
|
postHeartbeat(heartbeatId?: string): Promise<{
|
|
38
41
|
heartbeat_id: string;
|
|
@@ -94,10 +97,10 @@ export declare class ClobClient {
|
|
|
94
97
|
dropNotifications(params?: DropNotificationParams): Promise<void>;
|
|
95
98
|
getBalanceAllowance(params?: BalanceAllowanceParams): Promise<BalanceAllowanceResponse>;
|
|
96
99
|
updateBalanceAllowance(params?: BalanceAllowanceParams): Promise<void>;
|
|
97
|
-
createOrder(userOrder: UserOrderV2, options?: Partial<CreateOrderOptions>): Promise<SignedOrder>;
|
|
98
|
-
createMarketOrder(userMarketOrder: UserMarketOrderV2, options?: Partial<CreateOrderOptions>): Promise<SignedOrder>;
|
|
99
|
-
createAndPostOrder<T extends OrderType.GTC | OrderType.GTD = OrderType.GTC>(userOrder: UserOrderV2, options?: Partial<CreateOrderOptions>, orderType?: T, postOnly?: boolean, deferExec?: boolean): Promise<any>;
|
|
100
|
-
createAndPostMarketOrder<T extends OrderType.FOK | OrderType.FAK = OrderType.FOK>(userMarketOrder: UserMarketOrderV2, options?: Partial<CreateOrderOptions>, orderType?: T, deferExec?: boolean): Promise<any>;
|
|
100
|
+
createOrder(userOrder: UserOrderV1 | UserOrderV2, options?: Partial<CreateOrderOptions>): Promise<SignedOrder>;
|
|
101
|
+
createMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options?: Partial<CreateOrderOptions>): Promise<SignedOrder>;
|
|
102
|
+
createAndPostOrder<T extends OrderType.GTC | OrderType.GTD = OrderType.GTC>(userOrder: UserOrderV1 | UserOrderV2, options?: Partial<CreateOrderOptions>, orderType?: T, postOnly?: boolean, deferExec?: boolean): Promise<any>;
|
|
103
|
+
createAndPostMarketOrder<T extends OrderType.FOK | OrderType.FAK = OrderType.FOK>(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options?: Partial<CreateOrderOptions>, orderType?: T, deferExec?: boolean): Promise<any>;
|
|
101
104
|
getOpenOrders(params?: OpenOrderParams, only_first_page?: boolean, next_cursor?: string): Promise<OpenOrdersResponse>;
|
|
102
105
|
getPreMigrationOrders(only_first_page?: boolean, next_cursor?: string): Promise<PreMigrationOrdersResponse>;
|
|
103
106
|
postOrder<T extends OrderType = OrderType.GTC>(order: SignedOrder, orderType?: T, postOnly?: boolean, deferExec?: boolean): Promise<any>;
|
|
@@ -125,9 +128,11 @@ export declare class ClobClient {
|
|
|
125
128
|
private _ensureMarketInfoCached;
|
|
126
129
|
private ensureBuilderFeeRateCached;
|
|
127
130
|
private _resolveTickSize;
|
|
131
|
+
private _resolveFeeRateBps;
|
|
128
132
|
private resolveVersion;
|
|
129
133
|
private _retryOnVersionUpdate;
|
|
130
134
|
private _isOrderVersionMismatch;
|
|
135
|
+
private throwIfError;
|
|
131
136
|
private get;
|
|
132
137
|
private post;
|
|
133
138
|
private del;
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BUILDER_FEES_BPS, bytes32Zero, END_CURSOR, INITIAL_CURSOR, ORDER_VERSION_MISMATCH_ERROR, } from "./constants.js";
|
|
2
2
|
import { ARE_ORDERS_SCORING, CANCEL_ALL, CANCEL_MARKET_ORDERS, CANCEL_ORDER, CANCEL_ORDERS, CLOSED_ONLY, CREATE_API_KEY, CREATE_BUILDER_API_KEY, CREATE_READONLY_API_KEY, DELETE_API_KEY, DELETE_READONLY_API_KEY, DERIVE_API_KEY, DROP_NOTIFICATIONS, GET_API_KEYS, GET_BALANCE_ALLOWANCE, GET_BUILDER_API_KEYS, GET_BUILDER_FEES, GET_BUILDER_TRADES, GET_CLOB_MARKET, GET_EARNINGS_FOR_USER_FOR_DAY, GET_FEE_RATE, GET_LAST_TRADE_PRICE, GET_LAST_TRADES_PRICES, GET_LIQUIDITY_REWARD_PERCENTAGES, GET_MARKET, GET_MARKET_BY_TOKEN, GET_MARKET_TRADES_EVENTS, GET_MARKETS, GET_MIDPOINT, GET_MIDPOINTS, GET_NEG_RISK, GET_NOTIFICATIONS, GET_OPEN_ORDERS, GET_ORDER, GET_ORDER_BOOK, GET_ORDER_BOOKS, GET_PRE_MIGRATION_ORDERS, GET_PRICE, GET_PRICES, GET_PRICES_HISTORY, GET_READONLY_API_KEYS, GET_REWARDS_EARNINGS_PERCENTAGES, GET_REWARDS_MARKETS, GET_REWARDS_MARKETS_CURRENT, GET_SAMPLING_MARKETS, GET_SAMPLING_SIMPLIFIED_MARKETS, GET_SIMPLIFIED_MARKETS, GET_SPREAD, GET_SPREADS, GET_TICK_SIZE, GET_TOTAL_EARNINGS_FOR_USER_FOR_DAY, GET_TRADES, HEARTBEAT, IS_ORDER_SCORING, OK, POST_ORDER, POST_ORDERS, REVOKE_BUILDER_API_KEY, TIME, UPDATE_BALANCE_ALLOWANCE, } from "./endpoints.js";
|
|
3
|
-
import { L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE } from "./errors.js";
|
|
3
|
+
import { ApiError, L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE } from "./errors.js";
|
|
4
4
|
import { createL1Headers, createL2Headers } from "./headers/index.js";
|
|
5
5
|
import { DELETE, del, GET, get, POST, parseDropNotificationParams, post, } from "./http-helpers/index.js";
|
|
6
6
|
import { calculateBuyMarketPrice, calculateSellMarketPrice, } from "./order-builder/helpers/index.js";
|
|
@@ -28,13 +28,16 @@ export class ClobClient {
|
|
|
28
28
|
tickSizes;
|
|
29
29
|
negRisk;
|
|
30
30
|
feeInfos;
|
|
31
|
+
// Fee rate bps data for CLOB V1
|
|
32
|
+
feeRates;
|
|
31
33
|
builderFeeRates;
|
|
32
34
|
tokenConditionMap;
|
|
33
35
|
useServerTime;
|
|
34
36
|
builderConfig;
|
|
35
37
|
cachedVersion;
|
|
36
38
|
retryOnError;
|
|
37
|
-
|
|
39
|
+
throwOnError;
|
|
40
|
+
constructor({ host, chain, signer, creds, signatureType, funderAddress, useServerTime, builderConfig, getSigner, retryOnError, throwOnError, }) {
|
|
38
41
|
this.host = host.endsWith("/") ? host.slice(0, -1) : host;
|
|
39
42
|
this.chainId = chain;
|
|
40
43
|
if (signer !== undefined) {
|
|
@@ -46,10 +49,12 @@ export class ClobClient {
|
|
|
46
49
|
this.orderBuilder = new OrderBuilder(signer, chain, signatureType, funderAddress, getSigner);
|
|
47
50
|
this.tickSizes = {};
|
|
48
51
|
this.negRisk = {};
|
|
52
|
+
this.feeRates = {};
|
|
49
53
|
this.feeInfos = {};
|
|
50
54
|
this.builderFeeRates = {};
|
|
51
55
|
this.tokenConditionMap = {};
|
|
52
56
|
this.retryOnError = retryOnError;
|
|
57
|
+
this.throwOnError = throwOnError;
|
|
53
58
|
this.useServerTime = useServerTime;
|
|
54
59
|
if (builderConfig !== undefined) {
|
|
55
60
|
this.builderConfig = builderConfig;
|
|
@@ -157,18 +162,14 @@ export class ClobClient {
|
|
|
157
162
|
return this.negRisk[tokenID];
|
|
158
163
|
}
|
|
159
164
|
async getFeeRateBps(tokenID) {
|
|
160
|
-
if (tokenID in this.
|
|
161
|
-
return this.
|
|
162
|
-
}
|
|
163
|
-
if (tokenID in this.tokenConditionMap) {
|
|
164
|
-
await this.getClobMarketInfo(this.tokenConditionMap[tokenID]);
|
|
165
|
-
return this.feeInfos[tokenID].rate;
|
|
165
|
+
if (tokenID in this.feeRates) {
|
|
166
|
+
return this.feeRates[tokenID];
|
|
166
167
|
}
|
|
167
168
|
const result = await this.get(`${this.host}${GET_FEE_RATE}`, {
|
|
168
169
|
params: { token_id: tokenID },
|
|
169
170
|
});
|
|
170
|
-
this.
|
|
171
|
-
return this.
|
|
171
|
+
this.feeRates[tokenID] = result.base_fee;
|
|
172
|
+
return this.feeRates[tokenID];
|
|
172
173
|
}
|
|
173
174
|
async getFeeExponent(tokenID) {
|
|
174
175
|
if (tokenID in this.feeInfos) {
|
|
@@ -464,16 +465,17 @@ export class ClobClient {
|
|
|
464
465
|
orderToSign.builderCode = this.builderConfig.builderCode;
|
|
465
466
|
}
|
|
466
467
|
const { tokenID } = orderToSign;
|
|
467
|
-
|
|
468
|
-
if (!options?.tickSize) {
|
|
469
|
-
throw new Error("tickSize is required in options");
|
|
470
|
-
}
|
|
471
|
-
const tickSize = options.tickSize;
|
|
468
|
+
const tickSize = await this._resolveTickSize(tokenID, options?.tickSize);
|
|
472
469
|
if (!priceValid(orderToSign.price, tickSize)) {
|
|
473
470
|
throw new Error(`invalid price (${orderToSign.price}), min: ${parseFloat(tickSize)} - max: ${1 - parseFloat(tickSize)}`);
|
|
474
471
|
}
|
|
475
472
|
const negRisk = options?.negRisk ?? (await this.getNegRisk(tokenID));
|
|
476
473
|
const version = await this.resolveVersion();
|
|
474
|
+
if (version === 1) {
|
|
475
|
+
const userFeeRateBps = "feeRateBps" in orderToSign ? orderToSign.feeRateBps : undefined;
|
|
476
|
+
const feeRateBps = await this._resolveFeeRateBps(tokenID, userFeeRateBps);
|
|
477
|
+
orderToSign.feeRateBps = feeRateBps;
|
|
478
|
+
}
|
|
477
479
|
return this.orderBuilder.buildOrder(orderToSign, {
|
|
478
480
|
tickSize,
|
|
479
481
|
negRisk,
|
|
@@ -495,16 +497,26 @@ export class ClobClient {
|
|
|
495
497
|
orderToSign.builderCode = this.builderConfig.builderCode;
|
|
496
498
|
}
|
|
497
499
|
await this.ensureBuilderFeeRateCached(orderToSign.builderCode);
|
|
498
|
-
if (orderToSign.side === Side.BUY &&
|
|
500
|
+
if (orderToSign.side === Side.BUY &&
|
|
501
|
+
"userUSDCBalance" in orderToSign &&
|
|
502
|
+
orderToSign.userUSDCBalance !== undefined) {
|
|
499
503
|
// biome-ignore lint/style/noNonNullAssertion: price is validated above
|
|
500
504
|
const price = orderToSign.price;
|
|
505
|
+
const { userUSDCBalance } = orderToSign;
|
|
501
506
|
const builderTakerFeeRate = this.isBuilderOrder(orderToSign.builderCode)
|
|
502
507
|
? (this.builderFeeRates[orderToSign.builderCode ?? ""]?.taker ?? 0)
|
|
503
508
|
: 0;
|
|
504
|
-
orderToSign.amount = adjustBuyAmountForFees(orderToSign.amount, price,
|
|
509
|
+
orderToSign.amount = adjustBuyAmountForFees(orderToSign.amount, price, userUSDCBalance, this.feeInfos[tokenID].rate, this.feeInfos[tokenID].exponent, builderTakerFeeRate);
|
|
505
510
|
}
|
|
506
511
|
const negRisk = options?.negRisk ?? (await this.getNegRisk(tokenID));
|
|
507
512
|
const version = await this.resolveVersion();
|
|
513
|
+
if (version === 1) {
|
|
514
|
+
const userFeeRateBps = "feeRateBps" in orderToSign
|
|
515
|
+
? orderToSign.feeRateBps
|
|
516
|
+
: undefined;
|
|
517
|
+
const feeRateBps = await this._resolveFeeRateBps(tokenID, userFeeRateBps);
|
|
518
|
+
orderToSign.feeRateBps = feeRateBps;
|
|
519
|
+
}
|
|
508
520
|
return this.orderBuilder.buildMarketOrder(orderToSign, {
|
|
509
521
|
tickSize,
|
|
510
522
|
negRisk,
|
|
@@ -589,10 +601,10 @@ export class ClobClient {
|
|
|
589
601
|
const res = await this.post(`${this.host}${endpoint}`, {
|
|
590
602
|
headers,
|
|
591
603
|
data: orderPayload,
|
|
592
|
-
});
|
|
604
|
+
}, true);
|
|
593
605
|
if (this._isOrderVersionMismatch(res))
|
|
594
606
|
await this.resolveVersion(true);
|
|
595
|
-
return res;
|
|
607
|
+
return this.throwIfError(res);
|
|
596
608
|
}
|
|
597
609
|
async postOrders(args, postOnly = false, deferExec = false) {
|
|
598
610
|
this.canL2Auth();
|
|
@@ -619,10 +631,10 @@ export class ClobClient {
|
|
|
619
631
|
const res = await this.post(`${this.host}${endpoint}`, {
|
|
620
632
|
headers,
|
|
621
633
|
data: ordersPayload,
|
|
622
|
-
});
|
|
634
|
+
}, true);
|
|
623
635
|
if (this._isOrderVersionMismatch(res))
|
|
624
636
|
await this.resolveVersion(true);
|
|
625
|
-
return res;
|
|
637
|
+
return this.throwIfError(res);
|
|
626
638
|
}
|
|
627
639
|
async cancelOrder(payload) {
|
|
628
640
|
this.canL2Auth();
|
|
@@ -902,6 +914,15 @@ export class ClobClient {
|
|
|
902
914
|
}
|
|
903
915
|
return tickSize;
|
|
904
916
|
}
|
|
917
|
+
async _resolveFeeRateBps(tokenID, userFeeRateBps) {
|
|
918
|
+
const marketFeeRateBps = await this.getFeeRateBps(tokenID);
|
|
919
|
+
if (marketFeeRateBps > 0 &&
|
|
920
|
+
userFeeRateBps !== undefined &&
|
|
921
|
+
userFeeRateBps !== marketFeeRateBps) {
|
|
922
|
+
throw new Error(`invalid user provided fee rate: ${userFeeRateBps}, fee rate for the market must be ${marketFeeRateBps}`);
|
|
923
|
+
}
|
|
924
|
+
return marketFeeRateBps;
|
|
925
|
+
}
|
|
905
926
|
async resolveVersion(forceUpdate = false) {
|
|
906
927
|
// Use cached version if given
|
|
907
928
|
if (!forceUpdate && this.cachedVersion !== undefined) {
|
|
@@ -928,15 +949,25 @@ export class ClobClient {
|
|
|
928
949
|
const message = typeof error === "string" ? error : JSON.stringify(error);
|
|
929
950
|
return message.includes(ORDER_VERSION_MISMATCH_ERROR);
|
|
930
951
|
}
|
|
952
|
+
throwIfError(result) {
|
|
953
|
+
if (this.throwOnError && result && typeof result === "object" && "error" in result) {
|
|
954
|
+
const msg = typeof result.error === "string" ? result.error : JSON.stringify(result.error);
|
|
955
|
+
throw new ApiError(msg, result.status, result);
|
|
956
|
+
}
|
|
957
|
+
return result;
|
|
958
|
+
}
|
|
931
959
|
// http methods
|
|
932
|
-
async get(endpoint, options) {
|
|
933
|
-
|
|
960
|
+
async get(endpoint, options, skipThrow = false) {
|
|
961
|
+
const result = await get(endpoint, options);
|
|
962
|
+
return skipThrow ? result : this.throwIfError(result);
|
|
934
963
|
}
|
|
935
|
-
async post(endpoint, options) {
|
|
936
|
-
|
|
964
|
+
async post(endpoint, options, skipThrow = false) {
|
|
965
|
+
const result = await post(endpoint, options, this.retryOnError);
|
|
966
|
+
return skipThrow ? result : this.throwIfError(result);
|
|
937
967
|
}
|
|
938
|
-
async del(endpoint, options) {
|
|
939
|
-
|
|
968
|
+
async del(endpoint, options, skipThrow = false) {
|
|
969
|
+
const result = await del(endpoint, options);
|
|
970
|
+
return skipThrow ? result : this.throwIfError(result);
|
|
940
971
|
}
|
|
941
972
|
}
|
|
942
973
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export declare const L1_AUTH_UNAVAILABLE_ERROR: Error;
|
|
2
2
|
export declare const L2_AUTH_NOT_AVAILABLE: Error;
|
|
3
|
+
export declare class ApiError extends Error {
|
|
4
|
+
readonly status?: number;
|
|
5
|
+
readonly data?: unknown;
|
|
6
|
+
constructor(message: string, status?: number, data?: unknown);
|
|
7
|
+
}
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
export const L1_AUTH_UNAVAILABLE_ERROR = new Error("Signer is needed to interact with this endpoint!");
|
|
2
2
|
export const L2_AUTH_NOT_AVAILABLE = new Error("API Credentials are needed to interact with this endpoint!");
|
|
3
|
+
export class ApiError extends Error {
|
|
4
|
+
status;
|
|
5
|
+
data;
|
|
6
|
+
constructor(message, status, data) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "ApiError";
|
|
9
|
+
this.status = status;
|
|
10
|
+
this.data = data;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
3
13
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CACjD,kDAAkD,CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAC7C,4DAA4D,CAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CACjD,kDAAkD,CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,KAAK,CAC7C,4DAA4D,CAC5D,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACzB,MAAM,CAAU;IAChB,IAAI,CAAW;IAExB,YAAY,OAAe,EAAE,MAAe,EAAE,IAAc;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { OrderDataV2, SignatureTypeV2 } from "../../order-utils/index.js";
|
|
2
|
-
import type { RoundConfig, UserMarketOrderV2 } from "../../types/index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const buildMarketOrderCreationArgs: (signer: string, maker: string, signatureType: SignatureTypeV2, userMarketOrder: UserMarketOrderV2, roundConfig: RoundConfig) => Promise<OrderDataV2>;
|
|
1
|
+
import type { OrderDataV1, OrderDataV2, SignatureTypeV2 } from "../../order-utils/index.js";
|
|
2
|
+
import type { RoundConfig, UserMarketOrderV1, UserMarketOrderV2 } from "../../types/index.js";
|
|
3
|
+
export declare function buildMarketOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, roundConfig: RoundConfig, version: 1): Promise<OrderDataV1>;
|
|
4
|
+
export declare function buildMarketOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, roundConfig: RoundConfig, version?: 2): Promise<OrderDataV2>;
|
|
5
|
+
export declare function buildMarketOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, roundConfig: RoundConfig, version: number): Promise<OrderDataV1 | OrderDataV2>;
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
import { parseUnits } from "viem";
|
|
1
|
+
import { parseUnits, zeroAddress } from "viem";
|
|
2
2
|
import { COLLATERAL_TOKEN_DECIMALS } from "../../config.js";
|
|
3
3
|
import { bytes32Zero } from "../../constants.js";
|
|
4
4
|
import { getMarketOrderRawAmounts } from "./index.js";
|
|
5
|
-
|
|
6
|
-
* Translate simple user market order to args used to generate Orders
|
|
7
|
-
*/
|
|
8
|
-
export const buildMarketOrderCreationArgs = async (signer, maker, signatureType, userMarketOrder, roundConfig) => {
|
|
5
|
+
export async function buildMarketOrderCreationArgs(signer, maker, signatureType, userMarketOrder, roundConfig, version = 2) {
|
|
9
6
|
const { side, rawMakerAmt, rawTakerAmt } = getMarketOrderRawAmounts(userMarketOrder.side, userMarketOrder.amount, userMarketOrder.price || 1, roundConfig);
|
|
10
7
|
const makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
11
8
|
const takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
9
|
+
if (version === 1) {
|
|
10
|
+
const v1Order = userMarketOrder;
|
|
11
|
+
return {
|
|
12
|
+
maker,
|
|
13
|
+
taker: v1Order.taker ?? zeroAddress,
|
|
14
|
+
tokenId: userMarketOrder.tokenID,
|
|
15
|
+
makerAmount,
|
|
16
|
+
takerAmount,
|
|
17
|
+
side,
|
|
18
|
+
signer,
|
|
19
|
+
signatureType: signatureType,
|
|
20
|
+
feeRateBps: v1Order.feeRateBps?.toString() ?? "0",
|
|
21
|
+
nonce: v1Order.nonce?.toString() ?? "0",
|
|
22
|
+
};
|
|
23
|
+
}
|
|
12
24
|
return {
|
|
13
25
|
maker,
|
|
14
26
|
tokenId: userMarketOrder.tokenID,
|
|
@@ -18,8 +30,8 @@ export const buildMarketOrderCreationArgs = async (signer, maker, signatureType,
|
|
|
18
30
|
signer,
|
|
19
31
|
signatureType,
|
|
20
32
|
timestamp: Date.now().toString(),
|
|
21
|
-
metadata: userMarketOrder.metadata ?? bytes32Zero,
|
|
33
|
+
metadata: "metadata" in userMarketOrder ? (userMarketOrder.metadata ?? bytes32Zero) : bytes32Zero,
|
|
22
34
|
builder: userMarketOrder.builderCode ?? bytes32Zero,
|
|
23
35
|
};
|
|
24
|
-
}
|
|
36
|
+
}
|
|
25
37
|
//# sourceMappingURL=buildMarketOrderCreationArgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildMarketOrderCreationArgs.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"buildMarketOrderCreationArgs.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AA0BtD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,MAAc,EACd,KAAa,EACb,aAA8B,EAC9B,eAAsD,EACtD,WAAwB,EACxB,UAAkB,CAAC;IAEnB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAClE,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,MAAM,EACtB,eAAe,CAAC,KAAK,IAAI,CAAC,EAC1B,WAAW,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7F,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE7F,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,eAAoC,CAAC;QACrD,OAAO;YACN,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW;YACnC,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,WAAW;YACX,WAAW;YACX,IAAI;YACJ,MAAM;YACN,aAAa,EAAE,aAA2C;YAC1D,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG;SACvC,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK;QACL,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,WAAW;QACX,WAAW;QACX,IAAI;QACJ,MAAM;QACN,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EACP,UAAU,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;QACxF,OAAO,EAAE,eAAe,CAAC,WAAW,IAAI,WAAW;KACnD,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { OrderDataV2, SignatureTypeV2 } from "../../order-utils/index.js";
|
|
2
|
-
import type { RoundConfig, UserOrderV2 } from "../../types/index.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare const buildOrderCreationArgs: (signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV2, roundConfig: RoundConfig) => Promise<OrderDataV2>;
|
|
1
|
+
import type { OrderDataV1, OrderDataV2, SignatureTypeV2 } from "../../order-utils/index.js";
|
|
2
|
+
import type { RoundConfig, UserOrderV1, UserOrderV2 } from "../../types/index.js";
|
|
3
|
+
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version: 1): Promise<OrderDataV1>;
|
|
4
|
+
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version?: 2): Promise<OrderDataV2>;
|
|
5
|
+
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version: number): Promise<OrderDataV1 | OrderDataV2>;
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import { parseUnits } from "viem";
|
|
1
|
+
import { parseUnits, zeroAddress } from "viem";
|
|
2
2
|
import { COLLATERAL_TOKEN_DECIMALS } from "../../config.js";
|
|
3
3
|
import { bytes32Zero } from "../../constants.js";
|
|
4
4
|
import { getOrderRawAmounts } from "./getOrderRawAmounts.js";
|
|
5
|
-
|
|
6
|
-
* Translate simple user order to args used to generate Orders
|
|
7
|
-
*/
|
|
8
|
-
export const buildOrderCreationArgs = async (signer, maker, signatureType, userOrder, roundConfig) => {
|
|
5
|
+
export async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, roundConfig, version = 2) {
|
|
9
6
|
const { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(userOrder.side, userOrder.size, userOrder.price, roundConfig);
|
|
10
7
|
const makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
11
8
|
const takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
9
|
+
if (version === 1) {
|
|
10
|
+
const v1Order = userOrder;
|
|
11
|
+
return {
|
|
12
|
+
maker,
|
|
13
|
+
taker: v1Order.taker ?? zeroAddress,
|
|
14
|
+
tokenId: userOrder.tokenID,
|
|
15
|
+
makerAmount,
|
|
16
|
+
takerAmount,
|
|
17
|
+
side,
|
|
18
|
+
signer,
|
|
19
|
+
signatureType: signatureType,
|
|
20
|
+
feeRateBps: v1Order.feeRateBps?.toString() ?? "0",
|
|
21
|
+
nonce: v1Order.nonce?.toString() ?? "0",
|
|
22
|
+
expiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : "0",
|
|
23
|
+
};
|
|
24
|
+
}
|
|
12
25
|
return {
|
|
13
26
|
maker,
|
|
14
27
|
tokenId: userOrder.tokenID,
|
|
@@ -18,9 +31,9 @@ export const buildOrderCreationArgs = async (signer, maker, signatureType, userO
|
|
|
18
31
|
signer,
|
|
19
32
|
signatureType,
|
|
20
33
|
timestamp: Date.now().toString(),
|
|
21
|
-
metadata: userOrder.metadata ?? bytes32Zero,
|
|
34
|
+
metadata: "metadata" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,
|
|
22
35
|
builder: userOrder.builderCode ?? bytes32Zero,
|
|
23
36
|
expiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : "0",
|
|
24
37
|
};
|
|
25
|
-
}
|
|
38
|
+
}
|
|
26
39
|
//# sourceMappingURL=buildOrderCreationArgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOrderCreationArgs.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"buildOrderCreationArgs.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA0B7D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,MAAc,EACd,KAAa,EACb,aAA8B,EAC9B,SAAoC,EACpC,WAAwB,EACxB,UAAkB,CAAC;IAEnB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC5D,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,EACf,WAAW,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7F,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE7F,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,SAAwB,CAAC;QACzC,OAAO;YACN,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW;YACnC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW;YACX,WAAW;YACX,IAAI;YACJ,MAAM;YACN,aAAa,EAAE,aAA2C;YAC1D,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG;YACvC,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;SACtF,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW;QACX,WAAW;QACX,IAAI;QACJ,MAAM;QACN,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;QACrF,OAAO,EAAE,SAAS,CAAC,WAAW,IAAI,WAAW;QAC7C,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;KACtF,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SignedOrderV1, SignedOrderV2 } from "../../order-utils/index.js";
|
|
2
2
|
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
3
|
import { type ClobSigner } from "../../signing/signer.js";
|
|
4
|
-
import type { Chain, CreateOrderOptions, UserMarketOrderV2 } from "../../types/index.js";
|
|
5
|
-
export declare const createMarketOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userMarketOrder: UserMarketOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
4
|
+
import type { Chain, CreateOrderOptions, UserMarketOrderV1, UserMarketOrderV2 } from "../../types/index.js";
|
|
5
|
+
export declare const createMarketOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { zeroAddress } from "viem";
|
|
2
1
|
import { getContractConfig } from "../../config.js";
|
|
3
2
|
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
4
3
|
import { getSignerAddress } from "../../signing/signer.js";
|
|
@@ -10,7 +9,7 @@ export const createMarketOrder = async (eoaSigner, chainId, signatureType, funde
|
|
|
10
9
|
// If funder address is not given, use the signer address
|
|
11
10
|
const maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;
|
|
12
11
|
const contractConfig = getContractConfig(chainId);
|
|
13
|
-
const orderData = await buildMarketOrderCreationArgs(eoaSignerAddress, maker, signatureType, userMarketOrder, ROUNDING_CONFIG[options.tickSize]);
|
|
12
|
+
const orderData = await buildMarketOrderCreationArgs(eoaSignerAddress, maker, signatureType, userMarketOrder, ROUNDING_CONFIG[options.tickSize], version);
|
|
14
13
|
let exchangeContract;
|
|
15
14
|
switch (version) {
|
|
16
15
|
case 1:
|
|
@@ -20,8 +19,6 @@ export const createMarketOrder = async (eoaSigner, chainId, signatureType, funde
|
|
|
20
19
|
exchangeContract = options.negRisk
|
|
21
20
|
? contractConfig.negRiskExchange
|
|
22
21
|
: contractConfig.exchange;
|
|
23
|
-
// Add taker field for V1 orders (V1 requires it, V2 does not)
|
|
24
|
-
orderData.taker = zeroAddress;
|
|
25
22
|
break;
|
|
26
23
|
case 2:
|
|
27
24
|
exchangeContract = options.negRisk
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMarketOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createMarketOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAmB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACrC,SAAqB,EACrB,OAAc,EACd,aAA8B,EAC9B,aAAiC,EACjC,eAAsD,EACtD,OAA2B,EAC3B,OAAe,EAC0B,EAAE;IAC3C,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,4BAA4B,CACnD,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,eAAe,EACf,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EACjC,OAAO,CACP,CAAC;IAEF,IAAI,gBAAwB,CAAC;IAC7B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC;YACL,IAAI,aAAa,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC5E,CAAC;YACD,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,eAAe;gBAChC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3B,MAAM;QACP,KAAK,CAAC;YACL,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,iBAAiB;gBAClC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SignedOrderV1, SignedOrderV2 } from "../../order-utils/index.js";
|
|
2
2
|
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
3
|
import { type ClobSigner } from "../../signing/signer.js";
|
|
4
|
-
import type { Chain, CreateOrderOptions, UserOrderV2 } from "../../types/index.js";
|
|
5
|
-
export declare const createOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userOrder: UserOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
4
|
+
import type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from "../../types/index.js";
|
|
5
|
+
export declare const createOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { zeroAddress } from "viem";
|
|
2
1
|
import { getContractConfig } from "../../config.js";
|
|
3
2
|
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
4
3
|
import { getSignerAddress } from "../../signing/signer.js";
|
|
@@ -10,7 +9,7 @@ export const createOrder = async (eoaSigner, chainId, signatureType, funderAddre
|
|
|
10
9
|
// If funder address is not given, use the signer address
|
|
11
10
|
const maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;
|
|
12
11
|
const contractConfig = getContractConfig(chainId);
|
|
13
|
-
const orderData = await buildOrderCreationArgs(eoaSignerAddress, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize]);
|
|
12
|
+
const orderData = await buildOrderCreationArgs(eoaSignerAddress, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize], version);
|
|
14
13
|
let exchangeContract;
|
|
15
14
|
switch (version) {
|
|
16
15
|
case 1:
|
|
@@ -20,8 +19,6 @@ export const createOrder = async (eoaSigner, chainId, signatureType, funderAddre
|
|
|
20
19
|
exchangeContract = options.negRisk
|
|
21
20
|
? contractConfig.negRiskExchange
|
|
22
21
|
: contractConfig.exchange;
|
|
23
|
-
// Add taker field for V1 orders (V1 requires it, V2 does not)
|
|
24
|
-
orderData.taker = zeroAddress;
|
|
25
22
|
break;
|
|
26
23
|
case 2:
|
|
27
24
|
exchangeContract = options.negRisk
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAmB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC/B,SAAqB,EACrB,OAAc,EACd,aAA8B,EAC9B,aAAiC,EACjC,SAAoC,EACpC,OAA2B,EAC3B,OAAe,EAC0B,EAAE;IAC3C,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC7C,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,SAAS,EACT,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EACjC,OAAO,CACP,CAAC;IACF,IAAI,gBAAwB,CAAC;IAC7B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC;YACL,IAAI,aAAa,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC5E,CAAC;YACD,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,eAAe;gBAChC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3B,MAAM;QACP,KAAK,CAAC;YACL,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,iBAAiB;gBAClC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
package/dist/types/clob.d.ts
CHANGED