@kuestcom/clob-client 5.8.1 → 6.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.
Files changed (37) hide show
  1. package/README.md +14 -10
  2. package/dist/client.d.ts +14 -5
  3. package/dist/client.js +134 -43
  4. package/dist/client.js.map +1 -1
  5. package/dist/config.d.ts +1 -1
  6. package/dist/config.js +11 -11
  7. package/dist/config.js.map +1 -1
  8. package/dist/endpoints.d.ts +3 -1
  9. package/dist/endpoints.js +4 -1
  10. package/dist/endpoints.js.map +1 -1
  11. package/dist/order-builder/builder.js +6 -5
  12. package/dist/order-builder/builder.js.map +1 -1
  13. package/dist/order-builder/helpers.d.ts +1 -1
  14. package/dist/order-builder/helpers.js +25 -59
  15. package/dist/order-builder/helpers.js.map +1 -1
  16. package/dist/order-utils/exchange.order.builder.d.ts +2 -1
  17. package/dist/order-utils/exchange.order.builder.js +103 -22
  18. package/dist/order-utils/exchange.order.builder.js.map +1 -1
  19. package/dist/order-utils/exchange.order.const.d.ts +2 -1
  20. package/dist/order-utils/exchange.order.const.js +5 -5
  21. package/dist/order-utils/exchange.order.const.js.map +1 -1
  22. package/dist/order-utils/model/eip712.model.d.ts +1 -1
  23. package/dist/order-utils/model/order.model.d.ts +22 -23
  24. package/dist/order-utils/model/signature-types.model.d.ts +2 -10
  25. package/dist/order-utils/model/signature-types.model.js +2 -10
  26. package/dist/order-utils/model/signature-types.model.js.map +1 -1
  27. package/dist/rfq-client.js +3 -0
  28. package/dist/rfq-client.js.map +1 -1
  29. package/dist/site-config.d.ts +13 -0
  30. package/dist/site-config.js +18 -0
  31. package/dist/site-config.js.map +1 -0
  32. package/dist/types.d.ts +65 -24
  33. package/dist/types.js.map +1 -1
  34. package/dist/utilities.d.ts +2 -0
  35. package/dist/utilities.js +38 -4
  36. package/dist/utilities.js.map +1 -1
  37. package/package.json +2 -2
package/README.md CHANGED
@@ -13,22 +13,26 @@ Typescript client for the Kuest CLOB
13
13
  // npm install ethers
14
14
  // Client initialization example and dumping API Keys
15
15
 
16
- import { ApiKeyCreds, ClobClient, OrderType, Side, } from "@kuestcom/clob-client";
16
+ import { ApiKeyCreds, ClobClient, OrderType, Side, SignatureType } from "@kuestcom/clob-client";
17
17
  import { Wallet } from "@ethersproject/wallet";
18
18
 
19
19
  const host = 'https://clob.kuest.com';
20
- const funder = ''; // This is your Kuest Profile Address, where you send UDSC to.
20
+ const depositWallet = ''; // Deposit Wallet address that holds funds.
21
21
  const signer = new Wallet(""); // This is your Private Key.
22
22
 
23
23
 
24
24
  // In general don't create a new API key, always derive or createOrDerive
25
25
  const creds = new ClobClient(host, 80002, signer).createOrDeriveApiKey();
26
26
 
27
- //0: Browser Wallet(Metamask, Coinbase Wallet, etc)
28
- //1: Magic/Email Login
29
- const signatureType = 1;
30
27
  (async () => {
31
- const clobClient = new ClobClient(host, 80002, signer, await creds, signatureType, funder);
28
+ const clobClient = new ClobClient(
29
+ host,
30
+ 80002,
31
+ signer,
32
+ await creds,
33
+ SignatureType.DEPOSIT_WALLET,
34
+ depositWallet,
35
+ );
32
36
  const resp2 = await clobClient.createAndPostOrder(
33
37
  {
34
38
  tokenID: "", //Use https://docs.kuest.com/developers/gamma-markets-api/get-markets to grab a sample token
@@ -49,8 +53,8 @@ See [examples](examples/) for more information
49
53
 
50
54
  ### Builder signing
51
55
 
52
- Builder signing: disabled.
53
- To enable later, remove line 145 of `src/client.ts`: `const BUILDER_SIGNING_ENABLED = false;`
56
+ Builder signing: controlled by `src/site-config.ts`.
57
+ Set `builder_mode` to `true` there to enable builder headers for this SDK build.
54
58
 
55
59
  ### Using viem WalletClient
56
60
 
@@ -76,10 +80,10 @@ const clobClient = new ClobClient(host, 80002, walletClient);
76
80
  By default, API errors are returned as `{ error: "...", status: ... }` objects. To have the client throw errors instead, pass `throwOnError: true` as the last constructor argument:
77
81
 
78
82
  ```ts
79
- import { ClobClient, ApiError } from "@kuestcom/clob-client";
83
+ import { ClobClient, ApiError, SignatureType } from "@kuestcom/clob-client";
80
84
 
81
85
  const clobClient = new ClobClient(
82
- host, 80002, signer, await creds, signatureType, funder,
86
+ host, 80002, signer, await creds, SignatureType.DEPOSIT_WALLET, depositWallet,
83
87
  undefined, // geoBlockToken
84
88
  undefined, // useServerTime
85
89
  undefined, // builderConfig
package/dist/client.d.ts CHANGED
@@ -4,7 +4,7 @@ import { OrderBuilder } from "./order-builder/builder.ts";
4
4
  import type { SignatureType, SignedOrder } from "./order-utils/index.ts";
5
5
  import type { IRfqClient } from "./rfq-deps.ts";
6
6
  import type { ClobSigner } from "./signer.ts";
7
- import type { ApiKeyCreds, ApiKeysResponse, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderTrade, Chain, CreateOrderOptions, DropNotificationParams, FeeRates, HeartbeatResponse, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderMarketCancelParams, OrderPayload, OrderScoring, OrderScoringParams, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PriceHistoryFilterParams, ReadonlyApiKeyResponse, RewardsPercentages, TickSize, TickSizes, TotalUserEarning, Trade, TradeParams, UserEarning, UserMarketOrder, UserOrder, UserRewardsEarning } from "./types.ts";
7
+ import type { ApiKeyCreds, ApiKeysResponse, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderFeeRates, BuilderTrade, Chain, CreateOrderOptions, DropNotificationParams, FeeInfos, HeartbeatResponse, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderMarketCancelParams, OrderPayload, OrderScoring, OrderScoringParams, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PriceHistoryFilterParams, ReadonlyApiKeyResponse, RewardsPercentages, TickSize, TickSizes, TokenConditionMap, TotalUserEarning, Trade, TradeParams, UserEarning, UserMarketOrder, UserOrder, UserRewardsEarning } from "./types.ts";
8
8
  import { OrderType, Side } from "./types.ts";
9
9
  export declare class ClobClient {
10
10
  readonly host: string;
@@ -14,7 +14,9 @@ export declare class ClobClient {
14
14
  readonly orderBuilder: OrderBuilder;
15
15
  readonly tickSizes: TickSizes;
16
16
  readonly negRisk: NegRisk;
17
- readonly feeRates: FeeRates;
17
+ readonly feeInfos: FeeInfos;
18
+ readonly builderFeeRates: BuilderFeeRates;
19
+ readonly tokenConditionMap: TokenConditionMap;
18
20
  readonly geoBlockToken?: string;
19
21
  readonly useServerTime?: boolean;
20
22
  readonly builderConfig?: BuilderConfig;
@@ -23,14 +25,21 @@ export declare class ClobClient {
23
25
  readonly throwOnError: boolean;
24
26
  private tickSizeTimestamps;
25
27
  private readonly tickSizeTtlMs;
28
+ private geoblockStatus?;
26
29
  constructor(host: string, chainId: Chain, signer?: ClobSigner, creds?: ApiKeyCreds, signatureType?: SignatureType, funderAddress?: string, geoBlockToken?: string, useServerTime?: boolean, builderConfig?: BuilderConfig, getSigner?: () => Promise<ClobSigner> | ClobSigner, retryOnError?: boolean, tickSizeTtlMs?: number, throwOnError?: boolean);
27
30
  getOk(): Promise<any>;
28
31
  getServerTime(): Promise<number>;
32
+ getVersion(): Promise<number>;
29
33
  getSamplingSimplifiedMarkets(next_cursor?: string): Promise<PaginationPayload>;
30
34
  getSamplingMarkets(next_cursor?: string): Promise<PaginationPayload>;
31
35
  getSimplifiedMarkets(next_cursor?: string): Promise<PaginationPayload>;
32
36
  getMarkets(next_cursor?: string): Promise<PaginationPayload>;
33
37
  getMarket(conditionID: string): Promise<any>;
38
+ getClobMarketInfo(conditionID: string): Promise<MarketDetails>;
39
+ getBuilderFeeRate(builderCode: string): Promise<{
40
+ maker: number;
41
+ taker: number;
42
+ }>;
34
43
  getOrderBook(tokenID: string): Promise<OrderBookSummary>;
35
44
  getOrderBooks(params: BookParams[]): Promise<OrderBookSummary[]>;
36
45
  getTickSize(tokenID: string): Promise<TickSize>;
@@ -40,7 +49,6 @@ export declare class ClobClient {
40
49
  */
41
50
  clearTickSizeCache(tokenID?: string): void;
42
51
  getNegRisk(tokenID: string): Promise<boolean>;
43
- getFeeRateBps(tokenID: string): Promise<number>;
44
52
  /**
45
53
  * Calculates the hash for the given orderbook
46
54
  * @param orderbook
@@ -143,6 +151,8 @@ export declare class ClobClient {
143
151
  createBuilderApiKey(): Promise<BuilderApiKey>;
144
152
  getBuilderApiKeys(): Promise<BuilderApiKeyResponse[]>;
145
153
  revokeBuilderApiKey(): Promise<any>;
154
+ private _ensureMarketInfoCached;
155
+ private ensureBuilderFeeRateCached;
146
156
  protected _resolveTickSize(tokenID: string, tickSize?: TickSize): Promise<TickSize>;
147
157
  protected get(endpoint: string, options?: RequestOptions): Promise<any>;
148
158
  protected post(endpoint: string, options?: RequestOptions): Promise<any>;
@@ -153,10 +163,9 @@ export declare class ClobClient {
153
163
  private canL2Auth;
154
164
  private mustBuilderAuth;
155
165
  private canBuilderAuth;
156
- private ensureBuilderSigningEnabled;
157
- private _resolveFeeRateBps;
158
166
  private _generateBuilderHeaders;
159
167
  private _getBuilderHeaders;
168
+ private ensureGeoblockAllowed;
160
169
  /**
161
170
  * Opportunistically updates the tick size cache from an order book response.
162
171
  */
package/dist/client.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { END_CURSOR, INITIAL_CURSOR } from "./constants.js";
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_TRADES, 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_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_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, IS_ORDER_SCORING, POST_HEARTBEAT, POST_ORDER, POST_ORDERS, REVOKE_BUILDER_API_KEY, TIME, UPDATE_BALANCE_ALLOWANCE, VALIDATE_READONLY_API_KEY, } from "./endpoints.js";
3
- import { ApiError, BUILDER_AUTH_FAILED, BUILDER_AUTH_NOT_AVAILABLE, BUILDER_SIGNING_DISABLED, L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE, } from "./errors.js";
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_LAST_TRADE_PRICE, GET_LAST_TRADES_PRICES, GET_LIQUIDITY_REWARD_PERCENTAGES, GET_MARKET, 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_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, IS_ORDER_SCORING, POST_HEARTBEAT, POST_ORDER, POST_ORDERS, REVOKE_BUILDER_API_KEY, TIME, UPDATE_BALANCE_ALLOWANCE, VALIDATE_READONLY_API_KEY, VERSION, } from "./endpoints.js";
3
+ import { ApiError, BUILDER_AUTH_FAILED, BUILDER_AUTH_NOT_AVAILABLE, L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE, } from "./errors.js";
4
4
  import { createL1Headers, createL2Headers, injectBuilderHeaders } from "./headers/index.js";
5
5
  import { DELETE, del, GET, get, POST, parseDropNotificationParams, post, put, } from "./http-helpers/index.js";
6
6
  import { OrderBuilder } from "./order-builder/builder.js";
7
7
  import { calculateBuyMarketPrice, calculateSellMarketPrice } from "./order-builder/helpers.js";
8
8
  import { RfqClient } from "./rfq-client.js";
9
+ import { GEOBLOCK_HOST, SITE_CONFIG } from "./site-config.js";
9
10
  import { OrderType, Side } from "./types.js";
10
- import { generateOrderBookSummaryHash, isTickSizeSmaller, orderToJson, priceValid, } from "./utilities.js";
11
- const BUILDER_SIGNING_ENABLED = false;
11
+ import { adjustBuyAmountForFees, builderCodeToBytes32, generateOrderBookSummaryHash, isTickSizeSmaller, orderToJson, priceValid, } from "./utilities.js";
12
12
  export class ClobClient {
13
13
  host;
14
14
  chainId;
@@ -19,7 +19,9 @@ export class ClobClient {
19
19
  orderBuilder;
20
20
  tickSizes;
21
21
  negRisk;
22
- feeRates;
22
+ feeInfos;
23
+ builderFeeRates;
24
+ tokenConditionMap;
23
25
  geoBlockToken;
24
26
  useServerTime;
25
27
  builderConfig;
@@ -28,6 +30,7 @@ export class ClobClient {
28
30
  throwOnError;
29
31
  tickSizeTimestamps;
30
32
  tickSizeTtlMs;
33
+ geoblockStatus;
31
34
  // eslint-disable-next-line max-params
32
35
  constructor(host, chainId, signer, creds, signatureType, funderAddress, geoBlockToken, useServerTime, builderConfig, getSigner, retryOnError, tickSizeTtlMs, throwOnError) {
33
36
  this.host = host.endsWith("/") ? host.slice(0, -1) : host;
@@ -43,7 +46,9 @@ export class ClobClient {
43
46
  this.tickSizeTimestamps = {};
44
47
  this.tickSizeTtlMs = tickSizeTtlMs ?? 300_000;
45
48
  this.negRisk = {};
46
- this.feeRates = {};
49
+ this.feeInfos = {};
50
+ this.builderFeeRates = {};
51
+ this.tokenConditionMap = {};
47
52
  this.geoBlockToken = geoBlockToken;
48
53
  this.useServerTime = useServerTime;
49
54
  this.retryOnError = retryOnError;
@@ -76,6 +81,10 @@ export class ClobClient {
76
81
  async getServerTime() {
77
82
  return this.get(`${this.host}${TIME}`);
78
83
  }
84
+ async getVersion() {
85
+ const response = await this.get(`${this.host}${VERSION}`);
86
+ return response?.version ?? 2;
87
+ }
79
88
  async getSamplingSimplifiedMarkets(next_cursor = INITIAL_CURSOR) {
80
89
  return this.get(`${this.host}${GET_SAMPLING_SIMPLIFIED_MARKETS}`, {
81
90
  params: { next_cursor },
@@ -99,6 +108,42 @@ export class ClobClient {
99
108
  async getMarket(conditionID) {
100
109
  return this.get(`${this.host}${GET_MARKET}${conditionID}`);
101
110
  }
111
+ async getClobMarketInfo(conditionID) {
112
+ const result = await this.get(`${this.host}${GET_CLOB_MARKET}${conditionID}`);
113
+ const tokens = result.t ?? result.tokens;
114
+ if (!tokens) {
115
+ throw new Error(`failed to fetch market info for condition id ${conditionID}`);
116
+ }
117
+ const minTickSize = result.mts ?? result.min_tick_size;
118
+ const negRisk = result.nr ?? result.neg_risk ?? false;
119
+ const fd = result.fd ?? {};
120
+ const makerRateBps = Number(fd.maker_fee_rate_bps ?? fd.builder_maker_fee_rate_bps ?? 0);
121
+ const takerRateBps = Number(fd.taker_fee_rate_bps ?? fd.builder_taker_fee_rate_bps ?? 0);
122
+ for (const token of tokens) {
123
+ const tokenID = token?.t ?? token?.token_id;
124
+ if (!tokenID) {
125
+ continue;
126
+ }
127
+ this.tokenConditionMap[tokenID] = result.c ?? result.condition_id ?? conditionID;
128
+ if (minTickSize !== undefined) {
129
+ this.tickSizes[tokenID] = minTickSize.toString();
130
+ this.tickSizeTimestamps[tokenID] = Date.now();
131
+ }
132
+ this.negRisk[tokenID] = negRisk;
133
+ this.feeInfos[tokenID] = {
134
+ makerRateBps,
135
+ takerRateBps,
136
+ rate: Number(fd.r ?? 0),
137
+ exponent: Number(fd.e ?? 0),
138
+ };
139
+ }
140
+ return result;
141
+ }
142
+ async getBuilderFeeRate(builderCode) {
143
+ const normalizedBuilderCode = builderCodeToBytes32(builderCode);
144
+ await this.ensureBuilderFeeRateCached(normalizedBuilderCode);
145
+ return this.builderFeeRates[normalizedBuilderCode] ?? { maker: 0, taker: 0 };
146
+ }
102
147
  async getOrderBook(tokenID) {
103
148
  const result = await this.get(`${this.host}${GET_ORDER_BOOK}`, {
104
149
  params: { token_id: tokenID },
@@ -120,6 +165,12 @@ export class ClobClient {
120
165
  if (tokenID in this.tickSizes && cachedAt && Date.now() - cachedAt < this.tickSizeTtlMs) {
121
166
  return this.tickSizes[tokenID];
122
167
  }
168
+ if (tokenID in this.tokenConditionMap) {
169
+ await this.getClobMarketInfo(this.tokenConditionMap[tokenID]);
170
+ if (tokenID in this.tickSizes) {
171
+ return this.tickSizes[tokenID];
172
+ }
173
+ }
123
174
  const result = await this.get(`${this.host}${GET_TICK_SIZE}`, {
124
175
  params: { token_id: tokenID },
125
176
  });
@@ -150,6 +201,10 @@ export class ClobClient {
150
201
  if (tokenID in this.negRisk) {
151
202
  return this.negRisk[tokenID];
152
203
  }
204
+ if (tokenID in this.tokenConditionMap) {
205
+ await this.getClobMarketInfo(this.tokenConditionMap[tokenID]);
206
+ return this.negRisk[tokenID];
207
+ }
153
208
  const result = await this.get(`${this.host}${GET_NEG_RISK}`, {
154
209
  params: { token_id: tokenID },
155
210
  });
@@ -159,19 +214,6 @@ export class ClobClient {
159
214
  this.negRisk[tokenID] = result.neg_risk;
160
215
  return this.negRisk[tokenID];
161
216
  }
162
- async getFeeRateBps(tokenID) {
163
- if (tokenID in this.feeRates) {
164
- return this.feeRates[tokenID];
165
- }
166
- const result = await this.get(`${this.host}${GET_FEE_RATE}`, {
167
- params: { token_id: tokenID },
168
- });
169
- if (result.error) {
170
- throw new Error(result.error);
171
- }
172
- this.feeRates[tokenID] = result.base_fee;
173
- return this.feeRates[tokenID];
174
- }
175
217
  /**
176
218
  * Calculates the hash for the given orderbook
177
219
  * @param orderbook
@@ -486,8 +528,6 @@ export class ClobClient {
486
528
  this.canL1Auth();
487
529
  const { tokenID } = userOrder;
488
530
  const tickSize = await this._resolveTickSize(tokenID, options?.tickSize);
489
- const feeRateBps = await this._resolveFeeRateBps(tokenID, userOrder.feeRateBps);
490
- userOrder.feeRateBps = feeRateBps;
491
531
  if (!priceValid(userOrder.price, tickSize)) {
492
532
  throw new Error(`invalid price (${userOrder.price}), min: ${Number.parseFloat(tickSize)} - max: ${1 - Number.parseFloat(tickSize)}`);
493
533
  }
@@ -501,16 +541,28 @@ export class ClobClient {
501
541
  this.canL1Auth();
502
542
  const { tokenID } = userMarketOrder;
503
543
  const tickSize = await this._resolveTickSize(tokenID, options?.tickSize);
504
- const feeRateBps = await this._resolveFeeRateBps(tokenID, userMarketOrder.feeRateBps);
505
- userMarketOrder.feeRateBps = feeRateBps;
506
544
  if (!userMarketOrder.price) {
507
545
  userMarketOrder.price = await this.calculateMarketPrice(tokenID, userMarketOrder.side, userMarketOrder.amount, userMarketOrder.orderType);
508
546
  }
509
547
  if (!priceValid(userMarketOrder.price, tickSize)) {
510
548
  throw new Error(`invalid price (${userMarketOrder.price}), min: ${Number.parseFloat(tickSize)} - max: ${1 - Number.parseFloat(tickSize)}`);
511
549
  }
550
+ const orderToSign = { ...userMarketOrder };
551
+ orderToSign.builderCode = builderCodeToBytes32(orderToSign.builderCode);
552
+ if (orderToSign.side === Side.BUY && orderToSign.userUSDCBalance !== undefined) {
553
+ await this._ensureMarketInfoCached(tokenID);
554
+ await this.ensureBuilderFeeRateCached(orderToSign.builderCode);
555
+ const fees = this.feeInfos[tokenID] ?? {
556
+ makerRateBps: 0,
557
+ takerRateBps: 0,
558
+ rate: 0,
559
+ exponent: 0,
560
+ };
561
+ const builderTakerFeeRateBps = this.builderFeeRates[orderToSign.builderCode]?.taker ?? 0;
562
+ orderToSign.amount = adjustBuyAmountForFees(orderToSign.amount, orderToSign.price ?? 0, orderToSign.userUSDCBalance, fees.takerRateBps, builderTakerFeeRateBps);
563
+ }
512
564
  const negRisk = options?.negRisk ?? (await this.getNegRisk(tokenID));
513
- return this.orderBuilder.buildMarketOrder(userMarketOrder, {
565
+ return this.orderBuilder.buildMarketOrder(orderToSign, {
514
566
  tickSize,
515
567
  negRisk,
516
568
  });
@@ -821,7 +873,9 @@ export class ClobClient {
821
873
  return calculateSellMarketPrice(book.bids, amount, orderType);
822
874
  }
823
875
  async createBuilderApiKey() {
824
- this.ensureBuilderSigningEnabled();
876
+ if (!SITE_CONFIG.builder_mode) {
877
+ throw BUILDER_AUTH_NOT_AVAILABLE;
878
+ }
825
879
  this.canL2Auth();
826
880
  const endpoint = CREATE_BUILDER_API_KEY;
827
881
  const headerArgs = {
@@ -832,7 +886,9 @@ export class ClobClient {
832
886
  return this.post(`${this.host}${endpoint}`, { headers });
833
887
  }
834
888
  async getBuilderApiKeys() {
835
- this.ensureBuilderSigningEnabled();
889
+ if (!SITE_CONFIG.builder_mode) {
890
+ throw BUILDER_AUTH_NOT_AVAILABLE;
891
+ }
836
892
  this.canL2Auth();
837
893
  const endpoint = GET_BUILDER_API_KEYS;
838
894
  const headerArgs = {
@@ -843,7 +899,6 @@ export class ClobClient {
843
899
  return this.get(`${this.host}${endpoint}`, { headers });
844
900
  }
845
901
  async revokeBuilderApiKey() {
846
- this.ensureBuilderSigningEnabled();
847
902
  this.mustBuilderAuth();
848
903
  const endpoint = REVOKE_BUILDER_API_KEY;
849
904
  const headerArgs = {
@@ -856,6 +911,35 @@ export class ClobClient {
856
911
  }
857
912
  return this.del(`${this.host}${endpoint}`, { headers });
858
913
  }
914
+ async _ensureMarketInfoCached(tokenID) {
915
+ if (tokenID in this.feeInfos) {
916
+ return;
917
+ }
918
+ let conditionID = this.tokenConditionMap[tokenID];
919
+ if (!conditionID) {
920
+ const book = await this.getOrderBook(tokenID);
921
+ conditionID = book?.market;
922
+ if (!conditionID) {
923
+ throw new Error(`failed to resolve condition id for token ${tokenID}`);
924
+ }
925
+ this.tokenConditionMap[tokenID] = conditionID;
926
+ }
927
+ await this.getClobMarketInfo(conditionID);
928
+ }
929
+ async ensureBuilderFeeRateCached(builderCode) {
930
+ const normalizedBuilderCode = builderCodeToBytes32(builderCode);
931
+ if (normalizedBuilderCode === builderCodeToBytes32()) {
932
+ return;
933
+ }
934
+ if (normalizedBuilderCode in this.builderFeeRates) {
935
+ return;
936
+ }
937
+ const result = await this.get(`${this.host}${GET_BUILDER_FEES}${normalizedBuilderCode}`);
938
+ this.builderFeeRates[normalizedBuilderCode] = {
939
+ maker: Number(result.builder_maker_fee_rate_bps ?? 0),
940
+ taker: Number(result.builder_taker_fee_rate_bps ?? 0),
941
+ };
942
+ }
859
943
  async _resolveTickSize(tokenID, tickSize) {
860
944
  const minTickSize = await this.getTickSize(tokenID);
861
945
  if (tickSize) {
@@ -877,6 +961,7 @@ export class ClobClient {
877
961
  return this.throwIfError(result);
878
962
  }
879
963
  async post(endpoint, options) {
964
+ await this.ensureGeoblockAllowed();
880
965
  const result = await post(endpoint, {
881
966
  ...options,
882
967
  params: { ...options?.params, geo_block_token: this.geoBlockToken },
@@ -884,6 +969,7 @@ export class ClobClient {
884
969
  return this.throwIfError(result);
885
970
  }
886
971
  async put(endpoint, options) {
972
+ await this.ensureGeoblockAllowed();
887
973
  const result = await put(endpoint, {
888
974
  ...options,
889
975
  params: { ...options?.params, geo_block_token: this.geoBlockToken },
@@ -891,6 +977,7 @@ export class ClobClient {
891
977
  return this.throwIfError(result);
892
978
  }
893
979
  async del(endpoint, options) {
980
+ await this.ensureGeoblockAllowed();
894
981
  const result = await del(endpoint, {
895
982
  ...options,
896
983
  params: { ...options?.params, geo_block_token: this.geoBlockToken },
@@ -918,27 +1005,12 @@ export class ClobClient {
918
1005
  }
919
1006
  }
920
1007
  mustBuilderAuth() {
921
- this.ensureBuilderSigningEnabled();
922
1008
  if (!this.canBuilderAuth()) {
923
1009
  throw BUILDER_AUTH_NOT_AVAILABLE;
924
1010
  }
925
1011
  }
926
1012
  canBuilderAuth() {
927
- return BUILDER_SIGNING_ENABLED && (this.builderConfig?.isValid() ?? false);
928
- }
929
- ensureBuilderSigningEnabled() {
930
- if (!BUILDER_SIGNING_ENABLED) {
931
- throw BUILDER_SIGNING_DISABLED;
932
- }
933
- }
934
- async _resolveFeeRateBps(tokenID, userFeeRateBps) {
935
- const marketFeeRateBps = await this.getFeeRateBps(tokenID);
936
- if (marketFeeRateBps > 0 &&
937
- userFeeRateBps !== undefined &&
938
- userFeeRateBps !== marketFeeRateBps) {
939
- throw new Error(`invalid user provided fee rate: ${userFeeRateBps}, fee rate for the market must be ${marketFeeRateBps}`);
940
- }
941
- return marketFeeRateBps;
1013
+ return SITE_CONFIG.builder_mode && (this.builderConfig?.isValid() ?? false);
942
1014
  }
943
1015
  async _generateBuilderHeaders(headers, headerArgs) {
944
1016
  if (this.builderConfig !== undefined) {
@@ -953,6 +1025,25 @@ export class ClobClient {
953
1025
  async _getBuilderHeaders(method, path, body) {
954
1026
  return this.builderConfig.generateBuilderHeaders(method, path, body);
955
1027
  }
1028
+ async ensureGeoblockAllowed() {
1029
+ if (!SITE_CONFIG.geoblock) {
1030
+ return;
1031
+ }
1032
+ if (this.geoblockStatus === undefined) {
1033
+ if (!SITE_CONFIG.site_url.trim()) {
1034
+ throw new Error("site_url must be configured when geoblock is enabled");
1035
+ }
1036
+ const result = await get(`${GEOBLOCK_HOST}/?url=${encodeURIComponent(SITE_CONFIG.site_url)}`);
1037
+ if (result && typeof result === "object" && "error" in result) {
1038
+ const message = typeof result.error === "string" ? result.error : JSON.stringify(result.error);
1039
+ throw new ApiError(message, result.status, result);
1040
+ }
1041
+ this.geoblockStatus = result;
1042
+ }
1043
+ if (this.geoblockStatus?.blocked) {
1044
+ throw new Error(`trading blocked for configured site_url (${SITE_CONFIG.site_url}) in ${this.geoblockStatus.country ?? "unknown"}, ${this.geoblockStatus.region ?? "unknown"}`);
1045
+ }
1046
+ }
956
1047
  /**
957
1048
  * Opportunistically updates the tick size cache from an order book response.
958
1049
  */
@@ -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/config.d.ts CHANGED
@@ -9,4 +9,4 @@ declare const COLLATERAL_TOKEN_DECIMALS = 6;
9
9
  declare const CONDITIONAL_TOKEN_DECIMALS = 6;
10
10
  declare const getContractConfig: (chainID: number) => ContractConfig;
11
11
  export type { ContractConfig };
12
- export { getContractConfig, COLLATERAL_TOKEN_DECIMALS, CONDITIONAL_TOKEN_DECIMALS };
12
+ export { COLLATERAL_TOKEN_DECIMALS, CONDITIONAL_TOKEN_DECIMALS, getContractConfig };