@polymarket/clob-client-v2 1.2.0-canary.1 → 1.2.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 (53) hide show
  1. package/README.md +40 -5
  2. package/dist/client.cjs +70 -40
  3. package/dist/client.cjs.map +1 -1
  4. package/dist/client.d.cts +16 -1
  5. package/dist/client.d.ts +16 -1
  6. package/dist/client.js +70 -40
  7. package/dist/client.js.map +1 -1
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.ts +2 -2
  10. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.cjs +3 -2
  11. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.cjs.map +1 -1
  12. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js +3 -2
  13. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js.map +1 -1
  14. package/dist/order-builder/helpers/buildOrderCreationArgs.cjs +3 -2
  15. package/dist/order-builder/helpers/buildOrderCreationArgs.cjs.map +1 -1
  16. package/dist/order-builder/helpers/buildOrderCreationArgs.js +3 -2
  17. package/dist/order-builder/helpers/buildOrderCreationArgs.js.map +1 -1
  18. package/dist/order-builder/helpers/createMarketOrder.cjs +6 -4
  19. package/dist/order-builder/helpers/createMarketOrder.cjs.map +1 -1
  20. package/dist/order-builder/helpers/createMarketOrder.js +6 -4
  21. package/dist/order-builder/helpers/createMarketOrder.js.map +1 -1
  22. package/dist/order-builder/helpers/createOrder.cjs +6 -4
  23. package/dist/order-builder/helpers/createOrder.cjs.map +1 -1
  24. package/dist/order-builder/helpers/createOrder.js +6 -4
  25. package/dist/order-builder/helpers/createOrder.js.map +1 -1
  26. package/dist/order-builder/helpers/orderAsset.cjs +18 -0
  27. package/dist/order-builder/helpers/orderAsset.cjs.map +1 -0
  28. package/dist/order-builder/helpers/orderAsset.js +16 -0
  29. package/dist/order-builder/helpers/orderAsset.js.map +1 -0
  30. package/dist/order-builder/orderBuilder.cjs +2 -2
  31. package/dist/order-builder/orderBuilder.cjs.map +1 -1
  32. package/dist/order-builder/orderBuilder.d.cts +2 -2
  33. package/dist/order-builder/orderBuilder.d.ts +2 -2
  34. package/dist/order-builder/orderBuilder.js +2 -2
  35. package/dist/order-builder/orderBuilder.js.map +1 -1
  36. package/dist/types/clob.cjs.map +1 -1
  37. package/dist/types/clob.d.cts +0 -1
  38. package/dist/types/clob.d.ts +0 -1
  39. package/dist/types/clob.js.map +1 -1
  40. package/dist/types/index.d.ts +1 -1
  41. package/dist/types/ordersV1.cjs.map +1 -1
  42. package/dist/types/ordersV1.d.cts +2 -0
  43. package/dist/types/ordersV1.d.ts +2 -0
  44. package/dist/types/ordersV1.js.map +1 -1
  45. package/dist/types/ordersV2.cjs.map +1 -1
  46. package/dist/types/ordersV2.d.cts +17 -13
  47. package/dist/types/ordersV2.d.ts +17 -13
  48. package/dist/types/ordersV2.js.map +1 -1
  49. package/package.json +1 -1
  50. package/dist/protocol.cjs +0 -22
  51. package/dist/protocol.cjs.map +0 -1
  52. package/dist/protocol.js +0 -21
  53. package/dist/protocol.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Side } from "./order-utils/model/side.js";
2
2
  import { ApiKeyCreds, ApiKeyRaw, ApiKeysResponse, AssetType, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderConfig, BuilderFeeRates, BuilderTrade, BuilderTradeParams, BuilderTradesResponse, Chain, ClobErrorResponseBody, ClobRewards, ClobToken, CreateOrderOptions, DropNotificationParams, Earning, FeeDetails, FeeInfo, FeeInfos, FeeRates, L1PolyHeader, L2HeaderArgs, L2PolyHeader, MakerOrder, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderMarketCancelParams, OrderPayload, OrderResponse, OrderScoring, OrderScoringParams, OrderSummary, OrderType, OrderVersion, OrdersScoring, OrdersScoringParams, PaginationPayload, PreMigrationOrder, PreMigrationOrdersResponse, PriceHistoryFilterParams, PriceHistoryInterval, ReadonlyApiKeyResponse, RewardsConfig, RewardsPercentages, RoundConfig, SimpleHeaders, TickSize, TickSizes, Token, TokenConditionMap, TotalUserEarning, Trade, TradeParams, TradesPaginatedResponse, UserEarning, UserRewardsEarning } from "./types/clob.js";
3
3
  import { NewOrderV1, PostOrdersV1Args, UserMarketOrderV1, UserOrderV1, orderToJsonV1 } from "./types/ordersV1.js";
4
- import { NewOrderV2, PostOrdersV2Args, UserMarketOrderV2, UserOrderV2, orderToJsonV2 } from "./types/ordersV2.js";
4
+ import { NewOrderV2, OrderAsset, PostOrdersV2Args, UserMarketOrderV2, UserOrderV2, orderToJsonV2 } from "./types/ordersV2.js";
5
5
  import { ExchangeV3OrderAmounts } from "./types/ordersV3.js";
6
6
  import { PostOrdersArgs, SignedOrder, VersionedPostOrdersArgs, VersionedSignedOrder, VersionedUserMarketOrder, VersionedUserOrder, isV2Order } from "./types/unifiedOrder.js";
7
7
  import "./types/index.js";
@@ -14,4 +14,4 @@ import { ClobClient, ClobClientOptions } from "./client.js";
14
14
  import { COLLATERAL_TOKEN_DECIMALS, CONDITIONAL_TOKEN_DECIMALS, ContractConfig, getContractConfig } from "./config.js";
15
15
  import { ApiError, L1_AUTH_UNAVAILABLE_ERROR, L2_AUTH_NOT_AVAILABLE } from "./errors.js";
16
16
  import { createL1Headers, createL2Headers } from "./headers/index.js";
17
- export { ApiError, ApiKeyCreds, ApiKeyRaw, ApiKeysResponse, AssetType, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderConfig, BuilderFeeRates, BuilderTrade, BuilderTradeParams, BuilderTradesResponse, COLLATERAL_TOKEN_DECIMALS, CONDITIONAL_TOKEN_DECIMALS, Chain, ClobClient, ClobClientOptions, ClobErrorResponseBody, ClobRewards, ClobToken, ContractConfig, CreateOrderOptions, DropNotificationParams, Earning, ExchangeV3OrderAmounts, FeeDetails, FeeInfo, FeeInfos, FeeRates, L1PolyHeader, L1_AUTH_UNAVAILABLE_ERROR, L2HeaderArgs, L2PolyHeader, L2_AUTH_NOT_AVAILABLE, MakerOrder, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, NewOrderV1, NewOrderV2, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderBookSummary, OrderBuilder, OrderMarketCancelParams, OrderPayload, OrderResponse, OrderScoring, OrderScoringParams, OrderSummary, OrderType, OrderVersion, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PostOrdersV1Args, PostOrdersV2Args, PreMigrationOrder, PreMigrationOrdersResponse, PriceHistoryFilterParams, PriceHistoryInterval, ReadonlyApiKeyResponse, RewardsConfig, RewardsPercentages, RoundConfig, Side, SignatureTypeV1, SignatureTypeV2, SignedOrder, SimpleHeaders, TickSize, TickSizes, Token, TokenConditionMap, TotalUserEarning, Trade, TradeParams, TradesPaginatedResponse, UserEarning, UserMarketOrderV1, UserMarketOrderV2, UserOrderV1, UserOrderV2, UserRewardsEarning, VersionedPostOrdersArgs, VersionedSignedOrder, VersionedUserMarketOrder, VersionedUserOrder, adjustBuyAmountForFees, createL1Headers, createL2Headers, getContractConfig, isV2Order, orderToJsonV1, orderToJsonV2 };
17
+ export { ApiError, ApiKeyCreds, ApiKeyRaw, ApiKeysResponse, AssetType, BalanceAllowanceParams, BalanceAllowanceResponse, BanStatus, BookParams, BuilderApiKey, BuilderApiKeyResponse, BuilderConfig, BuilderFeeRates, BuilderTrade, BuilderTradeParams, BuilderTradesResponse, COLLATERAL_TOKEN_DECIMALS, CONDITIONAL_TOKEN_DECIMALS, Chain, ClobClient, ClobClientOptions, ClobErrorResponseBody, ClobRewards, ClobToken, ContractConfig, CreateOrderOptions, DropNotificationParams, Earning, ExchangeV3OrderAmounts, FeeDetails, FeeInfo, FeeInfos, FeeRates, L1PolyHeader, L1_AUTH_UNAVAILABLE_ERROR, L2HeaderArgs, L2PolyHeader, L2_AUTH_NOT_AVAILABLE, MakerOrder, MarketDetails, MarketPrice, MarketReward, MarketTradeEvent, NegRisk, NewOrderV1, NewOrderV2, Notification, OpenOrder, OpenOrderParams, OpenOrdersResponse, OrderAsset, OrderBookSummary, OrderBuilder, OrderMarketCancelParams, OrderPayload, OrderResponse, OrderScoring, OrderScoringParams, OrderSummary, OrderType, OrderVersion, OrdersScoring, OrdersScoringParams, PaginationPayload, PostOrdersArgs, PostOrdersV1Args, PostOrdersV2Args, PreMigrationOrder, PreMigrationOrdersResponse, PriceHistoryFilterParams, PriceHistoryInterval, ReadonlyApiKeyResponse, RewardsConfig, RewardsPercentages, RoundConfig, Side, SignatureTypeV1, SignatureTypeV2, SignedOrder, SimpleHeaders, TickSize, TickSizes, Token, TokenConditionMap, TotalUserEarning, Trade, TradeParams, TradesPaginatedResponse, UserEarning, UserMarketOrderV1, UserMarketOrderV2, UserOrderV1, UserOrderV2, UserRewardsEarning, VersionedPostOrdersArgs, VersionedSignedOrder, VersionedUserMarketOrder, VersionedUserOrder, adjustBuyAmountForFees, createL1Headers, createL2Headers, getContractConfig, isV2Order, orderToJsonV1, orderToJsonV2 };
@@ -1,6 +1,7 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_constants = require('../../constants.cjs');
3
3
  const require_config = require('../../config.cjs');
4
+ const require_orderAsset = require('./orderAsset.cjs');
4
5
  const require_getMarketOrderRawAmounts = require('./getMarketOrderRawAmounts.cjs');
5
6
  let viem = require("viem");
6
7
 
@@ -14,7 +15,7 @@ async function buildMarketOrderCreationArgs(signer, maker, signatureType, userMa
14
15
  return {
15
16
  maker,
16
17
  taker: v1Order.taker ?? viem.zeroAddress,
17
- tokenId: userMarketOrder.tokenID,
18
+ tokenId: require_orderAsset.resolveOrderAssetID(userMarketOrder),
18
19
  makerAmount,
19
20
  takerAmount,
20
21
  side,
@@ -26,7 +27,7 @@ async function buildMarketOrderCreationArgs(signer, maker, signatureType, userMa
26
27
  }
27
28
  return {
28
29
  maker,
29
- tokenId: userMarketOrder.tokenID,
30
+ tokenId: require_orderAsset.resolveOrderAssetID(userMarketOrder),
30
31
  makerAmount,
31
32
  takerAmount,
32
33
  side,
@@ -1 +1 @@
1
- {"version":3,"file":"buildMarketOrderCreationArgs.cjs","names":["getMarketOrderRawAmounts","COLLATERAL_TOKEN_DECIMALS","zeroAddress","bytes32Zero"],"sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserMarketOrderV1, UserMarketOrderV2 } from \"../../types/index.js\";\n\nimport { getMarketOrderRawAmounts } from \"./index.js\";\n\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getMarketOrderRawAmounts(\n\t\tuserMarketOrder.side,\n\t\tuserMarketOrder.amount,\n\t\tuserMarketOrder.price || 1,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userMarketOrder as UserMarketOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: userMarketOrder.tokenID,\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: userMarketOrder.tokenID,\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata:\n\t\t\t\"metadata\" in userMarketOrder ? (userMarketOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userMarketOrder.builderCode ?? bytes32Zero,\n\t};\n}\n"],"mappings":";;;;;;;AA8CA,eAAsB,6BACrB,QACA,OACA,eACA,iBACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgBA,0DAC1C,gBAAgB,MAChB,gBAAgB,QAChB,gBAAgB,SAAS,GACzB,YACA;CAED,MAAM,mCAAyB,YAAY,UAAU,EAAEC,yCAA0B,CAAC,UAAU;CAC5F,MAAM,mCAAyB,YAAY,UAAU,EAAEA,yCAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAASC;GACxB,SAAS,gBAAgB;GACzB;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC;;AAGF,QAAO;EACN;EACA,SAAS,gBAAgB;EACzB;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UACC,cAAc,kBAAmB,gBAAgB,YAAYC,gCAAeA;EAC7E,SAAS,gBAAgB,eAAeA;EACxC"}
1
+ {"version":3,"file":"buildMarketOrderCreationArgs.cjs","names":["getMarketOrderRawAmounts","COLLATERAL_TOKEN_DECIMALS","zeroAddress","resolveOrderAssetID","bytes32Zero"],"sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserMarketOrderV1, UserMarketOrderV2 } from \"../../types/index.js\";\n\nimport { getMarketOrderRawAmounts } from \"./index.js\";\nimport { resolveOrderAssetID } from \"./orderAsset.js\";\n\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getMarketOrderRawAmounts(\n\t\tuserMarketOrder.side,\n\t\tuserMarketOrder.amount,\n\t\tuserMarketOrder.price || 1,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userMarketOrder as UserMarketOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: resolveOrderAssetID(userMarketOrder),\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: resolveOrderAssetID(userMarketOrder),\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata:\n\t\t\t\"metadata\" in userMarketOrder ? (userMarketOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userMarketOrder.builderCode ?? bytes32Zero,\n\t};\n}\n"],"mappings":";;;;;;;;AA+CA,eAAsB,6BACrB,QACA,OACA,eACA,iBACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgBA,0DAC1C,gBAAgB,MAChB,gBAAgB,QAChB,gBAAgB,SAAS,GACzB,YACA;CAED,MAAM,mCAAyB,YAAY,UAAU,EAAEC,yCAA0B,CAAC,UAAU;CAC5F,MAAM,mCAAyB,YAAY,UAAU,EAAEA,yCAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAASC;GACxB,SAASC,uCAAoB,gBAAgB;GAC7C;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC;;AAGF,QAAO;EACN;EACA,SAASA,uCAAoB,gBAAgB;EAC7C;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UACC,cAAc,kBAAmB,gBAAgB,YAAYC,gCAAeA;EAC7E,SAAS,gBAAgB,eAAeA;EACxC"}
@@ -1,5 +1,6 @@
1
1
  import { bytes32Zero } from "../../constants.js";
2
2
  import { COLLATERAL_TOKEN_DECIMALS } from "../../config.js";
3
+ import { resolveOrderAssetID } from "./orderAsset.js";
3
4
  import { getMarketOrderRawAmounts } from "./getMarketOrderRawAmounts.js";
4
5
  import { parseUnits, zeroAddress } from "viem";
5
6
 
@@ -13,7 +14,7 @@ async function buildMarketOrderCreationArgs(signer, maker, signatureType, userMa
13
14
  return {
14
15
  maker,
15
16
  taker: v1Order.taker ?? zeroAddress,
16
- tokenId: userMarketOrder.tokenID,
17
+ tokenId: resolveOrderAssetID(userMarketOrder),
17
18
  makerAmount,
18
19
  takerAmount,
19
20
  side,
@@ -25,7 +26,7 @@ async function buildMarketOrderCreationArgs(signer, maker, signatureType, userMa
25
26
  }
26
27
  return {
27
28
  maker,
28
- tokenId: userMarketOrder.tokenID,
29
+ tokenId: resolveOrderAssetID(userMarketOrder),
29
30
  makerAmount,
30
31
  takerAmount,
31
32
  side,
@@ -1 +1 @@
1
- {"version":3,"file":"buildMarketOrderCreationArgs.js","names":[],"sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserMarketOrderV1, UserMarketOrderV2 } from \"../../types/index.js\";\n\nimport { getMarketOrderRawAmounts } from \"./index.js\";\n\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getMarketOrderRawAmounts(\n\t\tuserMarketOrder.side,\n\t\tuserMarketOrder.amount,\n\t\tuserMarketOrder.price || 1,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userMarketOrder as UserMarketOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: userMarketOrder.tokenID,\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: userMarketOrder.tokenID,\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata:\n\t\t\t\"metadata\" in userMarketOrder ? (userMarketOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userMarketOrder.builderCode ?? bytes32Zero,\n\t};\n}\n"],"mappings":";;;;;;AA8CA,eAAsB,6BACrB,QACA,OACA,eACA,iBACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgB,yBAC1C,gBAAgB,MAChB,gBAAgB,QAChB,gBAAgB,SAAS,GACzB,YACA;CAED,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;CAC5F,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAAS;GACxB,SAAS,gBAAgB;GACzB;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC;;AAGF,QAAO;EACN;EACA,SAAS,gBAAgB;EACzB;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UACC,cAAc,kBAAmB,gBAAgB,YAAY,cAAe;EAC7E,SAAS,gBAAgB,eAAe;EACxC"}
1
+ {"version":3,"file":"buildMarketOrderCreationArgs.js","names":[],"sources":["../../../src/order-builder/helpers/buildMarketOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserMarketOrderV1, UserMarketOrderV2 } from \"../../types/index.js\";\n\nimport { getMarketOrderRawAmounts } from \"./index.js\";\nimport { resolveOrderAssetID } from \"./orderAsset.js\";\n\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildMarketOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getMarketOrderRawAmounts(\n\t\tuserMarketOrder.side,\n\t\tuserMarketOrder.amount,\n\t\tuserMarketOrder.price || 1,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userMarketOrder as UserMarketOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: resolveOrderAssetID(userMarketOrder),\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: resolveOrderAssetID(userMarketOrder),\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata:\n\t\t\t\"metadata\" in userMarketOrder ? (userMarketOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userMarketOrder.builderCode ?? bytes32Zero,\n\t};\n}\n"],"mappings":";;;;;;;AA+CA,eAAsB,6BACrB,QACA,OACA,eACA,iBACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgB,yBAC1C,gBAAgB,MAChB,gBAAgB,QAChB,gBAAgB,SAAS,GACzB,YACA;CAED,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;CAC5F,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAAS;GACxB,SAAS,oBAAoB,gBAAgB;GAC7C;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC;;AAGF,QAAO;EACN;EACA,SAAS,oBAAoB,gBAAgB;EAC7C;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UACC,cAAc,kBAAmB,gBAAgB,YAAY,cAAe;EAC7E,SAAS,gBAAgB,eAAe;EACxC"}
@@ -1,6 +1,7 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_constants = require('../../constants.cjs');
3
3
  const require_config = require('../../config.cjs');
4
+ const require_orderAsset = require('./orderAsset.cjs');
4
5
  const require_getOrderRawAmounts = require('./getOrderRawAmounts.cjs');
5
6
  let viem = require("viem");
6
7
 
@@ -14,7 +15,7 @@ async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, r
14
15
  return {
15
16
  maker,
16
17
  taker: v1Order.taker ?? viem.zeroAddress,
17
- tokenId: userOrder.tokenID,
18
+ tokenId: require_orderAsset.resolveOrderAssetID(userOrder),
18
19
  makerAmount,
19
20
  takerAmount,
20
21
  side,
@@ -27,7 +28,7 @@ async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, r
27
28
  }
28
29
  return {
29
30
  maker,
30
- tokenId: userOrder.tokenID,
31
+ tokenId: require_orderAsset.resolveOrderAssetID(userOrder),
31
32
  makerAmount,
32
33
  takerAmount,
33
34
  side,
@@ -1 +1 @@
1
- {"version":3,"file":"buildOrderCreationArgs.cjs","names":["getOrderRawAmounts","COLLATERAL_TOKEN_DECIMALS","zeroAddress","bytes32Zero"],"sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\n\nimport { getOrderRawAmounts } from \"./getOrderRawAmounts.js\";\n\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(\n\t\tuserOrder.side,\n\t\tuserOrder.size,\n\t\tuserOrder.price,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userOrder as UserOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: userOrder.tokenID,\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: userOrder.tokenID,\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata: \"metadata\" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userOrder.builderCode ?? bytes32Zero,\n\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t};\n}\n"],"mappings":";;;;;;;AA8CA,eAAsB,uBACrB,QACA,OACA,eACA,WACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgBA,8CAC1C,UAAU,MACV,UAAU,MACV,UAAU,OACV,YACA;CAED,MAAM,mCAAyB,YAAY,UAAU,EAAEC,yCAA0B,CAAC,UAAU;CAC5F,MAAM,mCAAyB,YAAY,UAAU,EAAEA,yCAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAASC;GACxB,SAAS,UAAU;GACnB;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;GACnF;;AAGF,QAAO;EACN;EACA,SAAS,UAAU;EACnB;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UAAU,cAAc,YAAa,UAAU,YAAYC,gCAAeA;EAC1E,SAAS,UAAU,eAAeA;EAClC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;EACnF"}
1
+ {"version":3,"file":"buildOrderCreationArgs.cjs","names":["getOrderRawAmounts","COLLATERAL_TOKEN_DECIMALS","zeroAddress","resolveOrderAssetID","bytes32Zero"],"sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\n\nimport { getOrderRawAmounts } from \"./getOrderRawAmounts.js\";\nimport { resolveOrderAssetID } from \"./orderAsset.js\";\n\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(\n\t\tuserOrder.side,\n\t\tuserOrder.size,\n\t\tuserOrder.price,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userOrder as UserOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: resolveOrderAssetID(userOrder),\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: resolveOrderAssetID(userOrder),\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata: \"metadata\" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userOrder.builderCode ?? bytes32Zero,\n\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t};\n}\n"],"mappings":";;;;;;;;AA+CA,eAAsB,uBACrB,QACA,OACA,eACA,WACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgBA,8CAC1C,UAAU,MACV,UAAU,MACV,UAAU,OACV,YACA;CAED,MAAM,mCAAyB,YAAY,UAAU,EAAEC,yCAA0B,CAAC,UAAU;CAC5F,MAAM,mCAAyB,YAAY,UAAU,EAAEA,yCAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAASC;GACxB,SAASC,uCAAoB,UAAU;GACvC;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;GACnF;;AAGF,QAAO;EACN;EACA,SAASA,uCAAoB,UAAU;EACvC;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UAAU,cAAc,YAAa,UAAU,YAAYC,gCAAeA;EAC1E,SAAS,UAAU,eAAeA;EAClC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;EACnF"}
@@ -1,5 +1,6 @@
1
1
  import { bytes32Zero } from "../../constants.js";
2
2
  import { COLLATERAL_TOKEN_DECIMALS } from "../../config.js";
3
+ import { resolveOrderAssetID } from "./orderAsset.js";
3
4
  import { getOrderRawAmounts } from "./getOrderRawAmounts.js";
4
5
  import { parseUnits, zeroAddress } from "viem";
5
6
 
@@ -13,7 +14,7 @@ async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, r
13
14
  return {
14
15
  maker,
15
16
  taker: v1Order.taker ?? zeroAddress,
16
- tokenId: userOrder.tokenID,
17
+ tokenId: resolveOrderAssetID(userOrder),
17
18
  makerAmount,
18
19
  takerAmount,
19
20
  side,
@@ -26,7 +27,7 @@ async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, r
26
27
  }
27
28
  return {
28
29
  maker,
29
- tokenId: userOrder.tokenID,
30
+ tokenId: resolveOrderAssetID(userOrder),
30
31
  makerAmount,
31
32
  takerAmount,
32
33
  side,
@@ -1 +1 @@
1
- {"version":3,"file":"buildOrderCreationArgs.js","names":[],"sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\n\nimport { getOrderRawAmounts } from \"./getOrderRawAmounts.js\";\n\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(\n\t\tuserOrder.side,\n\t\tuserOrder.size,\n\t\tuserOrder.price,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userOrder as UserOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: userOrder.tokenID,\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: userOrder.tokenID,\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata: \"metadata\" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userOrder.builderCode ?? bytes32Zero,\n\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t};\n}\n"],"mappings":";;;;;;AA8CA,eAAsB,uBACrB,QACA,OACA,eACA,WACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgB,mBAC1C,UAAU,MACV,UAAU,MACV,UAAU,OACV,YACA;CAED,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;CAC5F,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAAS;GACxB,SAAS,UAAU;GACnB;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;GACnF;;AAGF,QAAO;EACN;EACA,SAAS,UAAU;EACnB;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UAAU,cAAc,YAAa,UAAU,YAAY,cAAe;EAC1E,SAAS,UAAU,eAAe;EAClC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;EACnF"}
1
+ {"version":3,"file":"buildOrderCreationArgs.js","names":[],"sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"sourcesContent":["import { parseUnits, zeroAddress } from \"viem\";\n\nimport { COLLATERAL_TOKEN_DECIMALS } from \"../../config.js\";\nimport { bytes32Zero } from \"../../constants.js\";\nimport type {\n\tOrderDataV1,\n\tOrderDataV2,\n\tSignatureTypeV1,\n\tSignatureTypeV2,\n} from \"../../order-utils/index.js\";\nimport type { RoundConfig, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\n\nimport { getOrderRawAmounts } from \"./getOrderRawAmounts.js\";\nimport { resolveOrderAssetID } from \"./orderAsset.js\";\n\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 1,\n): Promise<OrderDataV1>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion?: 2,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: 3,\n): Promise<OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number,\n): Promise<OrderDataV1 | OrderDataV2>;\nexport async function buildOrderCreationArgs(\n\tsigner: string,\n\tmaker: string,\n\tsignatureType: SignatureTypeV2,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\troundConfig: RoundConfig,\n\tversion: number = 2,\n): Promise<OrderDataV1 | OrderDataV2> {\n\tconst { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(\n\t\tuserOrder.side,\n\t\tuserOrder.size,\n\t\tuserOrder.price,\n\t\troundConfig,\n\t);\n\n\tconst makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\tconst takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();\n\n\tif (version === 1) {\n\t\tconst v1Order = userOrder as UserOrderV1;\n\t\treturn {\n\t\t\tmaker,\n\t\t\ttaker: v1Order.taker ?? zeroAddress,\n\t\t\ttokenId: resolveOrderAssetID(userOrder),\n\t\t\tmakerAmount,\n\t\t\ttakerAmount,\n\t\t\tside,\n\t\t\tsigner,\n\t\t\tsignatureType: signatureType as unknown as SignatureTypeV1,\n\t\t\tfeeRateBps: v1Order.feeRateBps?.toString() ?? \"0\",\n\t\t\tnonce: v1Order.nonce?.toString() ?? \"0\",\n\t\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t\t};\n\t}\n\n\treturn {\n\t\tmaker,\n\t\ttokenId: resolveOrderAssetID(userOrder),\n\t\tmakerAmount,\n\t\ttakerAmount,\n\t\tside,\n\t\tsigner,\n\t\tsignatureType,\n\t\ttimestamp: Date.now().toString(),\n\t\tmetadata: \"metadata\" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,\n\t\tbuilder: userOrder.builderCode ?? bytes32Zero,\n\t\texpiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : \"0\",\n\t};\n}\n"],"mappings":";;;;;;;AA+CA,eAAsB,uBACrB,QACA,OACA,eACA,WACA,aACA,UAAkB,GACmB;CACrC,MAAM,EAAE,MAAM,aAAa,gBAAgB,mBAC1C,UAAU,MACV,UAAU,MACV,UAAU,OACV,YACA;CAED,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;CAC5F,MAAM,cAAc,WAAW,YAAY,UAAU,EAAE,0BAA0B,CAAC,UAAU;AAE5F,KAAI,YAAY,GAAG;EAClB,MAAM,UAAU;AAChB,SAAO;GACN;GACA,OAAO,QAAQ,SAAS;GACxB,SAAS,oBAAoB,UAAU;GACvC;GACA;GACA;GACA;GACe;GACf,YAAY,QAAQ,YAAY,UAAU,IAAI;GAC9C,OAAO,QAAQ,OAAO,UAAU,IAAI;GACpC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;GACnF;;AAGF,QAAO;EACN;EACA,SAAS,oBAAoB,UAAU;EACvC;EACA;EACA;EACA;EACA;EACA,WAAW,KAAK,KAAK,CAAC,UAAU;EAChC,UAAU,cAAc,YAAa,UAAU,YAAY,cAAe;EAC1E,SAAS,UAAU,eAAe;EAClC,YAAY,UAAU,eAAe,SAAY,UAAU,WAAW,UAAU,GAAG;EACnF"}
@@ -1,5 +1,6 @@
1
1
  const require_signer = require('../../signing/signer.cjs');
2
2
  const require_config = require('../../config.cjs');
3
+ const require_orderAsset = require('./orderAsset.cjs');
3
4
  const require_buildMarketOrderCreationArgs = require('./buildMarketOrderCreationArgs.cjs');
4
5
  const require_signatureTypeV2 = require('../../order-utils/model/signatureTypeV2.cjs');
5
6
  const require_buildOrder = require('./buildOrder.cjs');
@@ -11,9 +12,10 @@ const createMarketOrder = async (eoaSigner, chainId, signatureType, funderAddres
11
12
  const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
13
  const signerForOrder = signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
14
  const contractConfig = require_config.getContractConfig(chainId);
14
- const orderData = await require_buildMarketOrderCreationArgs.buildMarketOrderCreationArgs(signerForOrder, maker, signatureType, userMarketOrder, require_roundingConfig.ROUNDING_CONFIG[options.tickSize], version);
15
+ const orderVersion = require_orderAsset.resolveOrderRouting(userMarketOrder, version).exchangeVersion ?? version;
16
+ const orderData = await require_buildMarketOrderCreationArgs.buildMarketOrderCreationArgs(signerForOrder, maker, signatureType, userMarketOrder, require_roundingConfig.ROUNDING_CONFIG[options.tickSize], orderVersion);
15
17
  let exchangeContract;
16
- switch (version) {
18
+ switch (orderVersion) {
17
19
  case 1:
18
20
  if (signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
21
  exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
@@ -24,9 +26,9 @@ const createMarketOrder = async (eoaSigner, chainId, signatureType, funderAddres
24
26
  case 3:
25
27
  exchangeContract = contractConfig.exchangeV3;
26
28
  break;
27
- default: throw new Error(`unsupported order version ${version}`);
29
+ default: throw new Error(`unsupported order version ${orderVersion}`);
28
30
  }
29
- return require_buildOrder.buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
31
+ return require_buildOrder.buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);
30
32
  };
31
33
 
32
34
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"createMarketOrder.cjs","names":["getSignerAddress","SignatureTypeV2","getContractConfig","buildMarketOrderCreationArgs","ROUNDING_CONFIG","exchangeContract: string","buildOrder"],"sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n} from \"../../types/index.js\";\nimport { buildMarketOrderCreationArgs } from \"./buildMarketOrderCreationArgs.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createMarketOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\n\tconst orderData = await buildMarketOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserMarketOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\tversion,\n\t);\n\n\tlet exchangeContract: string;\n\tswitch (version) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${version}`);\n\t}\n\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);\n};\n"],"mappings":";;;;;;;;AAcA,MAAa,oBAAoB,OAChC,WACA,SACA,eACA,eACA,iBACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAMA,gCAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkBC,wCAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiBC,iCAAkB,QAAQ;CAEjD,MAAM,YAAY,MAAMC,kEACvB,gBACA,OACA,eACA,iBACAC,uCAAgB,QAAQ,WACxB,QACA;CAED,IAAIC;AACJ,SAAQ,SAAR;EACC,KAAK;AACJ,OAAI,kBAAkBJ,wCAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,UAAU;;AAGzD,QAAOK,8BAAW,WAAW,kBAAkB,SAAS,WAAW,QAAQ"}
1
+ {"version":3,"file":"createMarketOrder.cjs","names":["getSignerAddress","SignatureTypeV2","getContractConfig","resolveOrderRouting","buildMarketOrderCreationArgs","ROUNDING_CONFIG","exchangeContract: string","buildOrder"],"sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n} from \"../../types/index.js\";\nimport { buildMarketOrderCreationArgs } from \"./buildMarketOrderCreationArgs.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { resolveOrderRouting } from \"./orderAsset.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createMarketOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\tconst orderVersion = resolveOrderRouting(userMarketOrder, version).exchangeVersion ?? version;\n\n\tconst orderData = await buildMarketOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserMarketOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\torderVersion,\n\t);\n\n\tlet exchangeContract: string;\n\tswitch (orderVersion) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${orderVersion}`);\n\t}\n\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);\n};\n"],"mappings":";;;;;;;;;AAeA,MAAa,oBAAoB,OAChC,WACA,SACA,eACA,eACA,iBACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAMA,gCAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkBC,wCAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiBC,iCAAkB,QAAQ;CACjD,MAAM,eAAeC,uCAAoB,iBAAiB,QAAQ,CAAC,mBAAmB;CAEtF,MAAM,YAAY,MAAMC,kEACvB,gBACA,OACA,eACA,iBACAC,uCAAgB,QAAQ,WACxB,aACA;CAED,IAAIC;AACJ,SAAQ,cAAR;EACC,KAAK;AACJ,OAAI,kBAAkBL,wCAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,eAAe;;AAG9D,QAAOM,8BAAW,WAAW,kBAAkB,SAAS,WAAW,aAAa"}
@@ -1,5 +1,6 @@
1
1
  import { getSignerAddress } from "../../signing/signer.js";
2
2
  import { getContractConfig } from "../../config.js";
3
+ import { resolveOrderRouting } from "./orderAsset.js";
3
4
  import { buildMarketOrderCreationArgs } from "./buildMarketOrderCreationArgs.js";
4
5
  import { SignatureTypeV2 } from "../../order-utils/model/signatureTypeV2.js";
5
6
  import { buildOrder } from "./buildOrder.js";
@@ -11,9 +12,10 @@ const createMarketOrder = async (eoaSigner, chainId, signatureType, funderAddres
11
12
  const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
13
  const signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
14
  const contractConfig = getContractConfig(chainId);
14
- const orderData = await buildMarketOrderCreationArgs(signerForOrder, maker, signatureType, userMarketOrder, ROUNDING_CONFIG[options.tickSize], version);
15
+ const orderVersion = resolveOrderRouting(userMarketOrder, version).exchangeVersion ?? version;
16
+ const orderData = await buildMarketOrderCreationArgs(signerForOrder, maker, signatureType, userMarketOrder, ROUNDING_CONFIG[options.tickSize], orderVersion);
15
17
  let exchangeContract;
16
- switch (version) {
18
+ switch (orderVersion) {
17
19
  case 1:
18
20
  if (signatureType === SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
21
  exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
@@ -24,9 +26,9 @@ const createMarketOrder = async (eoaSigner, chainId, signatureType, funderAddres
24
26
  case 3:
25
27
  exchangeContract = contractConfig.exchangeV3;
26
28
  break;
27
- default: throw new Error(`unsupported order version ${version}`);
29
+ default: throw new Error(`unsupported order version ${orderVersion}`);
28
30
  }
29
- return buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
31
+ return buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);
30
32
  };
31
33
 
32
34
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"createMarketOrder.js","names":["exchangeContract: string"],"sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n} from \"../../types/index.js\";\nimport { buildMarketOrderCreationArgs } from \"./buildMarketOrderCreationArgs.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createMarketOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\n\tconst orderData = await buildMarketOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserMarketOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\tversion,\n\t);\n\n\tlet exchangeContract: string;\n\tswitch (version) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${version}`);\n\t}\n\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);\n};\n"],"mappings":";;;;;;;;AAcA,MAAa,oBAAoB,OAChC,WACA,SACA,eACA,eACA,iBACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAM,iBAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkB,gBAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiB,kBAAkB,QAAQ;CAEjD,MAAM,YAAY,MAAM,6BACvB,gBACA,OACA,eACA,iBACA,gBAAgB,QAAQ,WACxB,QACA;CAED,IAAIA;AACJ,SAAQ,SAAR;EACC,KAAK;AACJ,OAAI,kBAAkB,gBAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,UAAU;;AAGzD,QAAO,WAAW,WAAW,kBAAkB,SAAS,WAAW,QAAQ"}
1
+ {"version":3,"file":"createMarketOrder.js","names":["exchangeContract: string"],"sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n} from \"../../types/index.js\";\nimport { buildMarketOrderCreationArgs } from \"./buildMarketOrderCreationArgs.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { resolveOrderRouting } from \"./orderAsset.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createMarketOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\tconst orderVersion = resolveOrderRouting(userMarketOrder, version).exchangeVersion ?? version;\n\n\tconst orderData = await buildMarketOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserMarketOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\torderVersion,\n\t);\n\n\tlet exchangeContract: string;\n\tswitch (orderVersion) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${orderVersion}`);\n\t}\n\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);\n};\n"],"mappings":";;;;;;;;;AAeA,MAAa,oBAAoB,OAChC,WACA,SACA,eACA,eACA,iBACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAM,iBAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkB,gBAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiB,kBAAkB,QAAQ;CACjD,MAAM,eAAe,oBAAoB,iBAAiB,QAAQ,CAAC,mBAAmB;CAEtF,MAAM,YAAY,MAAM,6BACvB,gBACA,OACA,eACA,iBACA,gBAAgB,QAAQ,WACxB,aACA;CAED,IAAIA;AACJ,SAAQ,cAAR;EACC,KAAK;AACJ,OAAI,kBAAkB,gBAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,eAAe;;AAG9D,QAAO,WAAW,WAAW,kBAAkB,SAAS,WAAW,aAAa"}
@@ -1,5 +1,6 @@
1
1
  const require_signer = require('../../signing/signer.cjs');
2
2
  const require_config = require('../../config.cjs');
3
+ const require_orderAsset = require('./orderAsset.cjs');
3
4
  const require_signatureTypeV2 = require('../../order-utils/model/signatureTypeV2.cjs');
4
5
  const require_buildOrder = require('./buildOrder.cjs');
5
6
  const require_buildOrderCreationArgs = require('./buildOrderCreationArgs.cjs');
@@ -11,9 +12,10 @@ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, use
11
12
  const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
13
  const signerForOrder = signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
14
  const contractConfig = require_config.getContractConfig(chainId);
14
- const orderData = await require_buildOrderCreationArgs.buildOrderCreationArgs(signerForOrder, maker, signatureType, userOrder, require_roundingConfig.ROUNDING_CONFIG[options.tickSize], version);
15
+ const orderVersion = require_orderAsset.resolveOrderRouting(userOrder, version).exchangeVersion ?? version;
16
+ const orderData = await require_buildOrderCreationArgs.buildOrderCreationArgs(signerForOrder, maker, signatureType, userOrder, require_roundingConfig.ROUNDING_CONFIG[options.tickSize], orderVersion);
15
17
  let exchangeContract;
16
- switch (version) {
18
+ switch (orderVersion) {
17
19
  case 1:
18
20
  if (signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
21
  exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
@@ -24,9 +26,9 @@ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, use
24
26
  case 3:
25
27
  exchangeContract = contractConfig.exchangeV3;
26
28
  break;
27
- default: throw new Error(`unsupported order version ${version}`);
29
+ default: throw new Error(`unsupported order version ${orderVersion}`);
28
30
  }
29
- return require_buildOrder.buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
31
+ return require_buildOrder.buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);
30
32
  };
31
33
 
32
34
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"createOrder.cjs","names":["getSignerAddress","SignatureTypeV2","getContractConfig","buildOrderCreationArgs","ROUNDING_CONFIG","exchangeContract: string","buildOrder"],"sources":["../../../src/order-builder/helpers/createOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { buildOrderCreationArgs } from \"./buildOrderCreationArgs.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\n\tconst orderData = await buildOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\tversion,\n\t);\n\tlet exchangeContract: string;\n\tswitch (version) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${version}`);\n\t}\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);\n};\n"],"mappings":";;;;;;;;AASA,MAAa,cAAc,OAC1B,WACA,SACA,eACA,eACA,WACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAMA,gCAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkBC,wCAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiBC,iCAAkB,QAAQ;CAEjD,MAAM,YAAY,MAAMC,sDACvB,gBACA,OACA,eACA,WACAC,uCAAgB,QAAQ,WACxB,QACA;CACD,IAAIC;AACJ,SAAQ,SAAR;EACC,KAAK;AACJ,OAAI,kBAAkBJ,wCAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,UAAU;;AAEzD,QAAOK,8BAAW,WAAW,kBAAkB,SAAS,WAAW,QAAQ"}
1
+ {"version":3,"file":"createOrder.cjs","names":["getSignerAddress","SignatureTypeV2","getContractConfig","resolveOrderRouting","buildOrderCreationArgs","ROUNDING_CONFIG","exchangeContract: string","buildOrder"],"sources":["../../../src/order-builder/helpers/createOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { buildOrderCreationArgs } from \"./buildOrderCreationArgs.js\";\nimport { resolveOrderRouting } from \"./orderAsset.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\tconst orderVersion = resolveOrderRouting(userOrder, version).exchangeVersion ?? version;\n\n\tconst orderData = await buildOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\torderVersion,\n\t);\n\tlet exchangeContract: string;\n\tswitch (orderVersion) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${orderVersion}`);\n\t}\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);\n};\n"],"mappings":";;;;;;;;;AAUA,MAAa,cAAc,OAC1B,WACA,SACA,eACA,eACA,WACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAMA,gCAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkBC,wCAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiBC,iCAAkB,QAAQ;CACjD,MAAM,eAAeC,uCAAoB,WAAW,QAAQ,CAAC,mBAAmB;CAEhF,MAAM,YAAY,MAAMC,sDACvB,gBACA,OACA,eACA,WACAC,uCAAgB,QAAQ,WACxB,aACA;CACD,IAAIC;AACJ,SAAQ,cAAR;EACC,KAAK;AACJ,OAAI,kBAAkBL,wCAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,eAAe;;AAE9D,QAAOM,8BAAW,WAAW,kBAAkB,SAAS,WAAW,aAAa"}
@@ -1,5 +1,6 @@
1
1
  import { getSignerAddress } from "../../signing/signer.js";
2
2
  import { getContractConfig } from "../../config.js";
3
+ import { resolveOrderRouting } from "./orderAsset.js";
3
4
  import { SignatureTypeV2 } from "../../order-utils/model/signatureTypeV2.js";
4
5
  import { buildOrder } from "./buildOrder.js";
5
6
  import { buildOrderCreationArgs } from "./buildOrderCreationArgs.js";
@@ -11,9 +12,10 @@ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, use
11
12
  const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
13
  const signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
14
  const contractConfig = getContractConfig(chainId);
14
- const orderData = await buildOrderCreationArgs(signerForOrder, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize], version);
15
+ const orderVersion = resolveOrderRouting(userOrder, version).exchangeVersion ?? version;
16
+ const orderData = await buildOrderCreationArgs(signerForOrder, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize], orderVersion);
15
17
  let exchangeContract;
16
- switch (version) {
18
+ switch (orderVersion) {
17
19
  case 1:
18
20
  if (signatureType === SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
21
  exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
@@ -24,9 +26,9 @@ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, use
24
26
  case 3:
25
27
  exchangeContract = contractConfig.exchangeV3;
26
28
  break;
27
- default: throw new Error(`unsupported order version ${version}`);
29
+ default: throw new Error(`unsupported order version ${orderVersion}`);
28
30
  }
29
- return buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
31
+ return buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);
30
32
  };
31
33
 
32
34
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"createOrder.js","names":["exchangeContract: string"],"sources":["../../../src/order-builder/helpers/createOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { buildOrderCreationArgs } from \"./buildOrderCreationArgs.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\n\tconst orderData = await buildOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\tversion,\n\t);\n\tlet exchangeContract: string;\n\tswitch (version) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${version}`);\n\t}\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);\n};\n"],"mappings":";;;;;;;;AASA,MAAa,cAAc,OAC1B,WACA,SACA,eACA,eACA,WACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAM,iBAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkB,gBAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiB,kBAAkB,QAAQ;CAEjD,MAAM,YAAY,MAAM,uBACvB,gBACA,OACA,eACA,WACA,gBAAgB,QAAQ,WACxB,QACA;CACD,IAAIA;AACJ,SAAQ,SAAR;EACC,KAAK;AACJ,OAAI,kBAAkB,gBAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,UAAU;;AAEzD,QAAO,WAAW,WAAW,kBAAkB,SAAS,WAAW,QAAQ"}
1
+ {"version":3,"file":"createOrder.js","names":["exchangeContract: string"],"sources":["../../../src/order-builder/helpers/createOrder.ts"],"sourcesContent":["import { getContractConfig } from \"../../config.js\";\nimport type { SignedOrderV1, SignedOrderV2 } from \"../../order-utils/index.js\";\nimport { SignatureTypeV2 } from \"../../order-utils/index.js\";\nimport { type ClobSigner, getSignerAddress } from \"../../signing/signer.js\";\nimport type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from \"../../types/index.js\";\nimport { buildOrder } from \"./buildOrder.js\";\nimport { buildOrderCreationArgs } from \"./buildOrderCreationArgs.js\";\nimport { resolveOrderRouting } from \"./orderAsset.js\";\nimport { ROUNDING_CONFIG } from \"./roundingConfig.js\";\n\nexport const createOrder = async (\n\teoaSigner: ClobSigner,\n\tchainId: Chain,\n\tsignatureType: SignatureTypeV2,\n\tfunderAddress: string | undefined,\n\tuserOrder: UserOrderV1 | UserOrderV2,\n\toptions: CreateOrderOptions,\n\tversion: number,\n): Promise<SignedOrderV1 | SignedOrderV2> => {\n\tconst eoaSignerAddress = await getSignerAddress(eoaSigner);\n\n\t// If funder address is not given, use the signer address\n\tconst maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;\n\n\t// For POLY_1271, both maker and signer in the order are the wallet address\n\tconst signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;\n\tconst contractConfig = getContractConfig(chainId);\n\tconst orderVersion = resolveOrderRouting(userOrder, version).exchangeVersion ?? version;\n\n\tconst orderData = await buildOrderCreationArgs(\n\t\tsignerForOrder,\n\t\tmaker,\n\t\tsignatureType,\n\t\tuserOrder,\n\t\tROUNDING_CONFIG[options.tickSize],\n\t\torderVersion,\n\t);\n\tlet exchangeContract: string;\n\tswitch (orderVersion) {\n\t\tcase 1:\n\t\t\tif (signatureType === SignatureTypeV2.POLY_1271) {\n\t\t\t\tthrow new Error(`signature type POLY_1271 is not supported for v1 orders`);\n\t\t\t}\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchange\n\t\t\t\t: contractConfig.exchange;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\texchangeContract = options.negRisk\n\t\t\t\t? contractConfig.negRiskExchangeV2\n\t\t\t\t: contractConfig.exchangeV2;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\texchangeContract = contractConfig.exchangeV3;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`unsupported order version ${orderVersion}`);\n\t}\n\treturn buildOrder(eoaSigner, exchangeContract, chainId, orderData, orderVersion);\n};\n"],"mappings":";;;;;;;;;AAUA,MAAa,cAAc,OAC1B,WACA,SACA,eACA,eACA,WACA,SACA,YAC4C;CAC5C,MAAM,mBAAmB,MAAM,iBAAiB,UAAU;CAG1D,MAAM,QAAQ,kBAAkB,SAAY,mBAAmB;CAG/D,MAAM,iBAAiB,kBAAkB,gBAAgB,YAAY,QAAQ;CAC7E,MAAM,iBAAiB,kBAAkB,QAAQ;CACjD,MAAM,eAAe,oBAAoB,WAAW,QAAQ,CAAC,mBAAmB;CAEhF,MAAM,YAAY,MAAM,uBACvB,gBACA,OACA,eACA,WACA,gBAAgB,QAAQ,WACxB,aACA;CACD,IAAIA;AACJ,SAAQ,cAAR;EACC,KAAK;AACJ,OAAI,kBAAkB,gBAAgB,UACrC,OAAM,IAAI,MAAM,0DAA0D;AAE3E,sBAAmB,QAAQ,UACxB,eAAe,kBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,QAAQ,UACxB,eAAe,oBACf,eAAe;AAClB;EACD,KAAK;AACJ,sBAAmB,eAAe;AAClC;EACD,QACC,OAAM,IAAI,MAAM,6BAA6B,eAAe;;AAE9D,QAAO,WAAW,WAAW,kBAAkB,SAAS,WAAW,aAAa"}
@@ -0,0 +1,18 @@
1
+
2
+ //#region src/order-builder/helpers/orderAsset.ts
3
+ function resolveOrderAssetID(asset) {
4
+ const assetID = asset.positionID === void 0 ? asset.tokenID : asset.positionID;
5
+ if (asset.tokenID !== void 0 === (asset.positionID !== void 0) || typeof assetID !== "string" || assetID.trim().length === 0) throw new Error("Exactly one of tokenID or positionID must be provided as a non-empty string");
6
+ return assetID;
7
+ }
8
+ function resolveOrderRouting(asset, requestedVersion) {
9
+ return {
10
+ assetID: resolveOrderAssetID(asset),
11
+ exchangeVersion: asset.positionID === void 0 ? requestedVersion : 3
12
+ };
13
+ }
14
+
15
+ //#endregion
16
+ exports.resolveOrderAssetID = resolveOrderAssetID;
17
+ exports.resolveOrderRouting = resolveOrderRouting;
18
+ //# sourceMappingURL=orderAsset.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderAsset.cjs","names":[],"sources":["../../../src/order-builder/helpers/orderAsset.ts"],"sourcesContent":["import type { OrderAsset } from \"../../types/index.js\";\n\nexport type OrderRouting = {\n\tassetID: string;\n\texchangeVersion: number | undefined;\n};\n\nexport function resolveOrderAssetID(asset: OrderAsset): string {\n\tconst assetID = asset.positionID === undefined ? asset.tokenID : asset.positionID;\n\tif (\n\t\t(asset.tokenID !== undefined) === (asset.positionID !== undefined) ||\n\t\ttypeof assetID !== \"string\" ||\n\t\tassetID.trim().length === 0\n\t) {\n\t\tthrow new Error(\n\t\t\t\"Exactly one of tokenID or positionID must be provided as a non-empty string\",\n\t\t);\n\t}\n\treturn assetID;\n}\n\nexport function resolveOrderRouting(asset: OrderAsset, requestedVersion?: number): OrderRouting {\n\treturn {\n\t\tassetID: resolveOrderAssetID(asset),\n\t\texchangeVersion: asset.positionID === undefined ? requestedVersion : 3,\n\t};\n}\n"],"mappings":";;AAOA,SAAgB,oBAAoB,OAA2B;CAC9D,MAAM,UAAU,MAAM,eAAe,SAAY,MAAM,UAAU,MAAM;AACvE,KACE,MAAM,YAAY,YAAgB,MAAM,eAAe,WACxD,OAAO,YAAY,YACnB,QAAQ,MAAM,CAAC,WAAW,EAE1B,OAAM,IAAI,MACT,8EACA;AAEF,QAAO;;AAGR,SAAgB,oBAAoB,OAAmB,kBAAyC;AAC/F,QAAO;EACN,SAAS,oBAAoB,MAAM;EACnC,iBAAiB,MAAM,eAAe,SAAY,mBAAmB;EACrE"}
@@ -0,0 +1,16 @@
1
+ //#region src/order-builder/helpers/orderAsset.ts
2
+ function resolveOrderAssetID(asset) {
3
+ const assetID = asset.positionID === void 0 ? asset.tokenID : asset.positionID;
4
+ if (asset.tokenID !== void 0 === (asset.positionID !== void 0) || typeof assetID !== "string" || assetID.trim().length === 0) throw new Error("Exactly one of tokenID or positionID must be provided as a non-empty string");
5
+ return assetID;
6
+ }
7
+ function resolveOrderRouting(asset, requestedVersion) {
8
+ return {
9
+ assetID: resolveOrderAssetID(asset),
10
+ exchangeVersion: asset.positionID === void 0 ? requestedVersion : 3
11
+ };
12
+ }
13
+
14
+ //#endregion
15
+ export { resolveOrderAssetID, resolveOrderRouting };
16
+ //# sourceMappingURL=orderAsset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderAsset.js","names":[],"sources":["../../../src/order-builder/helpers/orderAsset.ts"],"sourcesContent":["import type { OrderAsset } from \"../../types/index.js\";\n\nexport type OrderRouting = {\n\tassetID: string;\n\texchangeVersion: number | undefined;\n};\n\nexport function resolveOrderAssetID(asset: OrderAsset): string {\n\tconst assetID = asset.positionID === undefined ? asset.tokenID : asset.positionID;\n\tif (\n\t\t(asset.tokenID !== undefined) === (asset.positionID !== undefined) ||\n\t\ttypeof assetID !== \"string\" ||\n\t\tassetID.trim().length === 0\n\t) {\n\t\tthrow new Error(\n\t\t\t\"Exactly one of tokenID or positionID must be provided as a non-empty string\",\n\t\t);\n\t}\n\treturn assetID;\n}\n\nexport function resolveOrderRouting(asset: OrderAsset, requestedVersion?: number): OrderRouting {\n\treturn {\n\t\tassetID: resolveOrderAssetID(asset),\n\t\texchangeVersion: asset.positionID === undefined ? requestedVersion : 3,\n\t};\n}\n"],"mappings":";AAOA,SAAgB,oBAAoB,OAA2B;CAC9D,MAAM,UAAU,MAAM,eAAe,SAAY,MAAM,UAAU,MAAM;AACvE,KACE,MAAM,YAAY,YAAgB,MAAM,eAAe,WACxD,OAAO,YAAY,YACnB,QAAQ,MAAM,CAAC,WAAW,EAE1B,OAAM,IAAI,MACT,8EACA;AAEF,QAAO;;AAGR,SAAgB,oBAAoB,OAAmB,kBAAyC;AAC/F,QAAO;EACN,SAAS,oBAAoB,MAAM;EACnC,iBAAiB,MAAM,eAAe,SAAY,mBAAmB;EACrE"}
@@ -27,13 +27,13 @@ var OrderBuilder = class {
27
27
  /**
28
28
  * Generate and sign a order
29
29
  */
30
- async buildOrder(userOrder, options, version) {
30
+ async buildOrder(userOrder, options, version = 2) {
31
31
  return require_createOrder.createOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder, options, version);
32
32
  }
33
33
  /**
34
34
  * Generate and sign a market order
35
35
  */
36
- async buildMarketOrder(userMarketOrder, options, version) {
36
+ async buildMarketOrder(userMarketOrder, options, version = 2) {
37
37
  return require_createMarketOrder.createMarketOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userMarketOrder, options, version);
38
38
  }
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"orderBuilder.cjs","names":["SignatureTypeV2","createOrder","createMarketOrder","createExchangeV3OrderFromAmounts"],"sources":["../../src/order-builder/orderBuilder.ts"],"sourcesContent":["import { SignatureTypeV2, type SignedOrderV1, type SignedOrderV2 } from \"../order-utils/index.js\";\nimport type { ClobSigner } from \"../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tExchangeV3OrderAmounts,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n\tUserOrderV1,\n\tUserOrderV2,\n} from \"../types/index.js\";\n\nimport { createExchangeV3OrderFromAmounts } from \"./helpers/createExchangeV3OrderFromAmounts.js\";\nimport { createMarketOrder, createOrder } from \"./helpers/index.js\";\n\nexport class OrderBuilder {\n\treadonly signer: ClobSigner;\n\n\treadonly chainId: Chain;\n\n\t// Signature type used sign orders, defaults to EOA type\n\treadonly signatureType: SignatureTypeV2;\n\n\t// Address which holds funds to be used.\n\t// Used for Polymarket proxy wallets and other smart contract wallets\n\t// If not provided, funderAddress is the signer address\n\treadonly funderAddress?: string;\n\n\t/**\n\t * Optional function to dynamically resolve the signer.\n\t * If provided, this function will be called to obtain a fresh signer instance\n\t * (e.g., for smart contract wallets or when the signer may change).\n\t * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.\n\t * If not provided, the static `signer` property is used.\n\t */\n\tprivate getSigner?: () => Promise<ClobSigner> | ClobSigner;\n\n\tconstructor(\n\t\tsigner: ClobSigner,\n\t\tchainId: Chain,\n\t\tsignatureType?: SignatureTypeV2,\n\t\tfunderAddress?: string,\n\t\tgetSigner?: () => Promise<ClobSigner> | ClobSigner,\n\t) {\n\t\tthis.signer = signer;\n\t\tthis.chainId = chainId;\n\t\tthis.signatureType = signatureType === undefined ? SignatureTypeV2.EOA : signatureType;\n\t\tthis.funderAddress = funderAddress;\n\t\tthis.getSigner = getSigner;\n\t}\n\n\t/**\n\t * Generate and sign a order\n\t */\n\tpublic async buildOrder(\n\t\tuserOrder: UserOrderV1 | UserOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign a market order\n\t */\n\tpublic async buildMarketOrder(\n\t\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createMarketOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserMarketOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign an ExchangeV3 order using exact base-unit amounts.\n\t */\n\tpublic async buildExchangeV3OrderFromAmounts(\n\t\tuserOrder: ExchangeV3OrderAmounts,\n\t): Promise<SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createExchangeV3OrderFromAmounts(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t);\n\t}\n\n\t/** Unified getter: use fresh signer if available */\n\tprivate async resolveSigner(): Promise<ClobSigner> {\n\t\tif (this.getSigner) {\n\t\t\tconst s = await this.getSigner();\n\t\t\tif (!s) throw new Error(\"getSigner() function returned undefined or null\");\n\t\t\treturn s;\n\t\t}\n\t\treturn this.signer;\n\t}\n}\n"],"mappings":";;;;;;AAeA,IAAa,eAAb,MAA0B;CACzB,AAAS;CAET,AAAS;CAGT,AAAS;CAKT,AAAS;;;;;;;;CAST,AAAQ;CAER,YACC,QACA,SACA,eACA,eACA,WACC;AACD,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,gBAAgB,kBAAkB,SAAYA,wCAAgB,MAAM;AACzE,OAAK,gBAAgB;AACrB,OAAK,YAAY;;;;;CAMlB,MAAa,WACZ,WACA,SACA,SACyC;AAEzC,SAAOC,gCADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,WACA,SACA,QACA;;;;;CAMF,MAAa,iBACZ,iBACA,SACA,SACyC;AAEzC,SAAOC,4CADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,iBACA,SACA,QACA;;;;;CAMF,MAAa,gCACZ,WACyB;AAEzB,SAAOC,0EADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,UACA;;;CAIF,MAAc,gBAAqC;AAClD,MAAI,KAAK,WAAW;GACnB,MAAM,IAAI,MAAM,KAAK,WAAW;AAChC,OAAI,CAAC,EAAG,OAAM,IAAI,MAAM,kDAAkD;AAC1E,UAAO;;AAER,SAAO,KAAK"}
1
+ {"version":3,"file":"orderBuilder.cjs","names":["SignatureTypeV2","createOrder","createMarketOrder","createExchangeV3OrderFromAmounts"],"sources":["../../src/order-builder/orderBuilder.ts"],"sourcesContent":["import { SignatureTypeV2, type SignedOrderV1, type SignedOrderV2 } from \"../order-utils/index.js\";\nimport type { ClobSigner } from \"../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tExchangeV3OrderAmounts,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n\tUserOrderV1,\n\tUserOrderV2,\n} from \"../types/index.js\";\n\nimport { createExchangeV3OrderFromAmounts } from \"./helpers/createExchangeV3OrderFromAmounts.js\";\nimport { createMarketOrder, createOrder } from \"./helpers/index.js\";\n\nexport class OrderBuilder {\n\treadonly signer: ClobSigner;\n\n\treadonly chainId: Chain;\n\n\t// Signature type used sign orders, defaults to EOA type\n\treadonly signatureType: SignatureTypeV2;\n\n\t// Address which holds funds to be used.\n\t// Used for Polymarket proxy wallets and other smart contract wallets\n\t// If not provided, funderAddress is the signer address\n\treadonly funderAddress?: string;\n\n\t/**\n\t * Optional function to dynamically resolve the signer.\n\t * If provided, this function will be called to obtain a fresh signer instance\n\t * (e.g., for smart contract wallets or when the signer may change).\n\t * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.\n\t * If not provided, the static `signer` property is used.\n\t */\n\tprivate getSigner?: () => Promise<ClobSigner> | ClobSigner;\n\n\tconstructor(\n\t\tsigner: ClobSigner,\n\t\tchainId: Chain,\n\t\tsignatureType?: SignatureTypeV2,\n\t\tfunderAddress?: string,\n\t\tgetSigner?: () => Promise<ClobSigner> | ClobSigner,\n\t) {\n\t\tthis.signer = signer;\n\t\tthis.chainId = chainId;\n\t\tthis.signatureType = signatureType === undefined ? SignatureTypeV2.EOA : signatureType;\n\t\tthis.funderAddress = funderAddress;\n\t\tthis.getSigner = getSigner;\n\t}\n\n\t/**\n\t * Generate and sign a order\n\t */\n\tpublic async buildOrder(\n\t\tuserOrder: UserOrderV1 | UserOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number = 2,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign a market order\n\t */\n\tpublic async buildMarketOrder(\n\t\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number = 2,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createMarketOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserMarketOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign an ExchangeV3 order using exact base-unit amounts.\n\t */\n\tpublic async buildExchangeV3OrderFromAmounts(\n\t\tuserOrder: ExchangeV3OrderAmounts,\n\t): Promise<SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createExchangeV3OrderFromAmounts(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t);\n\t}\n\n\t/** Unified getter: use fresh signer if available */\n\tprivate async resolveSigner(): Promise<ClobSigner> {\n\t\tif (this.getSigner) {\n\t\t\tconst s = await this.getSigner();\n\t\t\tif (!s) throw new Error(\"getSigner() function returned undefined or null\");\n\t\t\treturn s;\n\t\t}\n\t\treturn this.signer;\n\t}\n}\n"],"mappings":";;;;;;AAeA,IAAa,eAAb,MAA0B;CACzB,AAAS;CAET,AAAS;CAGT,AAAS;CAKT,AAAS;;;;;;;;CAST,AAAQ;CAER,YACC,QACA,SACA,eACA,eACA,WACC;AACD,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,gBAAgB,kBAAkB,SAAYA,wCAAgB,MAAM;AACzE,OAAK,gBAAgB;AACrB,OAAK,YAAY;;;;;CAMlB,MAAa,WACZ,WACA,SACA,UAAkB,GACuB;AAEzC,SAAOC,gCADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,WACA,SACA,QACA;;;;;CAMF,MAAa,iBACZ,iBACA,SACA,UAAkB,GACuB;AAEzC,SAAOC,4CADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,iBACA,SACA,QACA;;;;;CAMF,MAAa,gCACZ,WACyB;AAEzB,SAAOC,0EADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,UACA;;;CAIF,MAAc,gBAAqC;AAClD,MAAI,KAAK,WAAW;GACnB,MAAM,IAAI,MAAM,KAAK,WAAW;AAChC,OAAI,CAAC,EAAG,OAAM,IAAI,MAAM,kDAAkD;AAC1E,UAAO;;AAER,SAAO,KAAK"}
@@ -25,11 +25,11 @@ declare class OrderBuilder {
25
25
  /**
26
26
  * Generate and sign a order
27
27
  */
28
- buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
28
+ buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version?: number): Promise<SignedOrderV1 | SignedOrderV2>;
29
29
  /**
30
30
  * Generate and sign a market order
31
31
  */
32
- buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
32
+ buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version?: number): Promise<SignedOrderV1 | SignedOrderV2>;
33
33
  /**
34
34
  * Generate and sign an ExchangeV3 order using exact base-unit amounts.
35
35
  */
@@ -27,11 +27,11 @@ declare class OrderBuilder {
27
27
  /**
28
28
  * Generate and sign a order
29
29
  */
30
- buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
30
+ buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version?: number): Promise<SignedOrderV1 | SignedOrderV2>;
31
31
  /**
32
32
  * Generate and sign a market order
33
33
  */
34
- buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
34
+ buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version?: number): Promise<SignedOrderV1 | SignedOrderV2>;
35
35
  /**
36
36
  * Generate and sign an ExchangeV3 order using exact base-unit amounts.
37
37
  */
@@ -27,13 +27,13 @@ var OrderBuilder = class {
27
27
  /**
28
28
  * Generate and sign a order
29
29
  */
30
- async buildOrder(userOrder, options, version) {
30
+ async buildOrder(userOrder, options, version = 2) {
31
31
  return createOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder, options, version);
32
32
  }
33
33
  /**
34
34
  * Generate and sign a market order
35
35
  */
36
- async buildMarketOrder(userMarketOrder, options, version) {
36
+ async buildMarketOrder(userMarketOrder, options, version = 2) {
37
37
  return createMarketOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userMarketOrder, options, version);
38
38
  }
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"orderBuilder.js","names":[],"sources":["../../src/order-builder/orderBuilder.ts"],"sourcesContent":["import { SignatureTypeV2, type SignedOrderV1, type SignedOrderV2 } from \"../order-utils/index.js\";\nimport type { ClobSigner } from \"../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tExchangeV3OrderAmounts,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n\tUserOrderV1,\n\tUserOrderV2,\n} from \"../types/index.js\";\n\nimport { createExchangeV3OrderFromAmounts } from \"./helpers/createExchangeV3OrderFromAmounts.js\";\nimport { createMarketOrder, createOrder } from \"./helpers/index.js\";\n\nexport class OrderBuilder {\n\treadonly signer: ClobSigner;\n\n\treadonly chainId: Chain;\n\n\t// Signature type used sign orders, defaults to EOA type\n\treadonly signatureType: SignatureTypeV2;\n\n\t// Address which holds funds to be used.\n\t// Used for Polymarket proxy wallets and other smart contract wallets\n\t// If not provided, funderAddress is the signer address\n\treadonly funderAddress?: string;\n\n\t/**\n\t * Optional function to dynamically resolve the signer.\n\t * If provided, this function will be called to obtain a fresh signer instance\n\t * (e.g., for smart contract wallets or when the signer may change).\n\t * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.\n\t * If not provided, the static `signer` property is used.\n\t */\n\tprivate getSigner?: () => Promise<ClobSigner> | ClobSigner;\n\n\tconstructor(\n\t\tsigner: ClobSigner,\n\t\tchainId: Chain,\n\t\tsignatureType?: SignatureTypeV2,\n\t\tfunderAddress?: string,\n\t\tgetSigner?: () => Promise<ClobSigner> | ClobSigner,\n\t) {\n\t\tthis.signer = signer;\n\t\tthis.chainId = chainId;\n\t\tthis.signatureType = signatureType === undefined ? SignatureTypeV2.EOA : signatureType;\n\t\tthis.funderAddress = funderAddress;\n\t\tthis.getSigner = getSigner;\n\t}\n\n\t/**\n\t * Generate and sign a order\n\t */\n\tpublic async buildOrder(\n\t\tuserOrder: UserOrderV1 | UserOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign a market order\n\t */\n\tpublic async buildMarketOrder(\n\t\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createMarketOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserMarketOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign an ExchangeV3 order using exact base-unit amounts.\n\t */\n\tpublic async buildExchangeV3OrderFromAmounts(\n\t\tuserOrder: ExchangeV3OrderAmounts,\n\t): Promise<SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createExchangeV3OrderFromAmounts(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t);\n\t}\n\n\t/** Unified getter: use fresh signer if available */\n\tprivate async resolveSigner(): Promise<ClobSigner> {\n\t\tif (this.getSigner) {\n\t\t\tconst s = await this.getSigner();\n\t\t\tif (!s) throw new Error(\"getSigner() function returned undefined or null\");\n\t\t\treturn s;\n\t\t}\n\t\treturn this.signer;\n\t}\n}\n"],"mappings":";;;;;;AAeA,IAAa,eAAb,MAA0B;CACzB,AAAS;CAET,AAAS;CAGT,AAAS;CAKT,AAAS;;;;;;;;CAST,AAAQ;CAER,YACC,QACA,SACA,eACA,eACA,WACC;AACD,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,gBAAgB,kBAAkB,SAAY,gBAAgB,MAAM;AACzE,OAAK,gBAAgB;AACrB,OAAK,YAAY;;;;;CAMlB,MAAa,WACZ,WACA,SACA,SACyC;AAEzC,SAAO,YADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,WACA,SACA,QACA;;;;;CAMF,MAAa,iBACZ,iBACA,SACA,SACyC;AAEzC,SAAO,kBADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,iBACA,SACA,QACA;;;;;CAMF,MAAa,gCACZ,WACyB;AAEzB,SAAO,iCADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,UACA;;;CAIF,MAAc,gBAAqC;AAClD,MAAI,KAAK,WAAW;GACnB,MAAM,IAAI,MAAM,KAAK,WAAW;AAChC,OAAI,CAAC,EAAG,OAAM,IAAI,MAAM,kDAAkD;AAC1E,UAAO;;AAER,SAAO,KAAK"}
1
+ {"version":3,"file":"orderBuilder.js","names":[],"sources":["../../src/order-builder/orderBuilder.ts"],"sourcesContent":["import { SignatureTypeV2, type SignedOrderV1, type SignedOrderV2 } from \"../order-utils/index.js\";\nimport type { ClobSigner } from \"../signing/signer.js\";\nimport type {\n\tChain,\n\tCreateOrderOptions,\n\tExchangeV3OrderAmounts,\n\tUserMarketOrderV1,\n\tUserMarketOrderV2,\n\tUserOrderV1,\n\tUserOrderV2,\n} from \"../types/index.js\";\n\nimport { createExchangeV3OrderFromAmounts } from \"./helpers/createExchangeV3OrderFromAmounts.js\";\nimport { createMarketOrder, createOrder } from \"./helpers/index.js\";\n\nexport class OrderBuilder {\n\treadonly signer: ClobSigner;\n\n\treadonly chainId: Chain;\n\n\t// Signature type used sign orders, defaults to EOA type\n\treadonly signatureType: SignatureTypeV2;\n\n\t// Address which holds funds to be used.\n\t// Used for Polymarket proxy wallets and other smart contract wallets\n\t// If not provided, funderAddress is the signer address\n\treadonly funderAddress?: string;\n\n\t/**\n\t * Optional function to dynamically resolve the signer.\n\t * If provided, this function will be called to obtain a fresh signer instance\n\t * (e.g., for smart contract wallets or when the signer may change).\n\t * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.\n\t * If not provided, the static `signer` property is used.\n\t */\n\tprivate getSigner?: () => Promise<ClobSigner> | ClobSigner;\n\n\tconstructor(\n\t\tsigner: ClobSigner,\n\t\tchainId: Chain,\n\t\tsignatureType?: SignatureTypeV2,\n\t\tfunderAddress?: string,\n\t\tgetSigner?: () => Promise<ClobSigner> | ClobSigner,\n\t) {\n\t\tthis.signer = signer;\n\t\tthis.chainId = chainId;\n\t\tthis.signatureType = signatureType === undefined ? SignatureTypeV2.EOA : signatureType;\n\t\tthis.funderAddress = funderAddress;\n\t\tthis.getSigner = getSigner;\n\t}\n\n\t/**\n\t * Generate and sign a order\n\t */\n\tpublic async buildOrder(\n\t\tuserOrder: UserOrderV1 | UserOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number = 2,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign a market order\n\t */\n\tpublic async buildMarketOrder(\n\t\tuserMarketOrder: UserMarketOrderV1 | UserMarketOrderV2,\n\t\toptions: CreateOrderOptions,\n\t\tversion: number = 2,\n\t): Promise<SignedOrderV1 | SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createMarketOrder(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserMarketOrder,\n\t\t\toptions,\n\t\t\tversion,\n\t\t);\n\t}\n\n\t/**\n\t * Generate and sign an ExchangeV3 order using exact base-unit amounts.\n\t */\n\tpublic async buildExchangeV3OrderFromAmounts(\n\t\tuserOrder: ExchangeV3OrderAmounts,\n\t): Promise<SignedOrderV2> {\n\t\tconst signer = await this.resolveSigner();\n\t\treturn createExchangeV3OrderFromAmounts(\n\t\t\tsigner,\n\t\t\tthis.chainId,\n\t\t\tthis.signatureType,\n\t\t\tthis.funderAddress,\n\t\t\tuserOrder,\n\t\t);\n\t}\n\n\t/** Unified getter: use fresh signer if available */\n\tprivate async resolveSigner(): Promise<ClobSigner> {\n\t\tif (this.getSigner) {\n\t\t\tconst s = await this.getSigner();\n\t\t\tif (!s) throw new Error(\"getSigner() function returned undefined or null\");\n\t\t\treturn s;\n\t\t}\n\t\treturn this.signer;\n\t}\n}\n"],"mappings":";;;;;;AAeA,IAAa,eAAb,MAA0B;CACzB,AAAS;CAET,AAAS;CAGT,AAAS;CAKT,AAAS;;;;;;;;CAST,AAAQ;CAER,YACC,QACA,SACA,eACA,eACA,WACC;AACD,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,gBAAgB,kBAAkB,SAAY,gBAAgB,MAAM;AACzE,OAAK,gBAAgB;AACrB,OAAK,YAAY;;;;;CAMlB,MAAa,WACZ,WACA,SACA,UAAkB,GACuB;AAEzC,SAAO,YADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,WACA,SACA,QACA;;;;;CAMF,MAAa,iBACZ,iBACA,SACA,UAAkB,GACuB;AAEzC,SAAO,kBADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,iBACA,SACA,QACA;;;;;CAMF,MAAa,gCACZ,WACyB;AAEzB,SAAO,iCADQ,MAAM,KAAK,eAAe,EAGxC,KAAK,SACL,KAAK,eACL,KAAK,eACL,UACA;;;CAIF,MAAc,gBAAqC;AAClD,MAAI,KAAK,WAAW;GACnB,MAAM,IAAI,MAAM,KAAK,WAAW;AAChC,OAAI,CAAC,EAAG,OAAM,IAAI,MAAM,kDAAkD;AAC1E,UAAO;;AAER,SAAO,KAAK"}