@polymarket/clob-client-v2 1.0.4 → 1.0.6-main.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 (206) hide show
  1. package/README.md +3 -0
  2. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  3. package/dist/client.cjs +892 -0
  4. package/dist/client.cjs.map +1 -0
  5. package/dist/client.d.cts +167 -0
  6. package/dist/client.d.ts +169 -0
  7. package/dist/client.js +892 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/config.cjs +37 -0
  10. package/dist/config.cjs.map +1 -0
  11. package/dist/config.d.cts +17 -0
  12. package/dist/config.d.ts +17 -0
  13. package/dist/config.js +34 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/constants.cjs +15 -0
  16. package/dist/constants.cjs.map +1 -0
  17. package/dist/constants.js +10 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/endpoints.cjs +125 -0
  20. package/dist/endpoints.cjs.map +1 -0
  21. package/dist/endpoints.js +65 -0
  22. package/dist/endpoints.js.map +1 -0
  23. package/dist/errors.cjs +20 -0
  24. package/dist/errors.cjs.map +1 -0
  25. package/dist/errors.d.cts +11 -0
  26. package/dist/errors.d.ts +11 -0
  27. package/dist/errors.js +17 -0
  28. package/dist/errors.js.map +1 -0
  29. package/dist/fees/index.cjs +21 -0
  30. package/dist/fees/index.cjs.map +1 -0
  31. package/dist/fees/index.d.cts +5 -0
  32. package/dist/fees/index.d.ts +5 -0
  33. package/dist/fees/index.js +19 -0
  34. package/dist/fees/index.js.map +1 -0
  35. package/dist/headers/index.cjs +34 -0
  36. package/dist/headers/index.cjs.map +1 -0
  37. package/dist/headers/index.d.cts +9 -0
  38. package/dist/headers/index.d.ts +11 -0
  39. package/dist/headers/index.js +33 -0
  40. package/dist/headers/index.js.map +1 -0
  41. package/dist/http-helpers/index.cjs +109 -0
  42. package/dist/http-helpers/index.cjs.map +1 -0
  43. package/dist/http-helpers/index.js +101 -0
  44. package/dist/http-helpers/index.js.map +1 -0
  45. package/dist/index.cjs +35 -2600
  46. package/dist/index.d.cts +15 -1039
  47. package/dist/index.d.ts +17 -1039
  48. package/dist/index.js +15 -2543
  49. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.cjs +43 -0
  50. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.cjs.map +1 -0
  51. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js +42 -0
  52. package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js.map +1 -0
  53. package/dist/order-builder/helpers/buildOrder.cjs +34 -0
  54. package/dist/order-builder/helpers/buildOrder.cjs.map +1 -0
  55. package/dist/order-builder/helpers/buildOrder.js +34 -0
  56. package/dist/order-builder/helpers/buildOrder.js.map +1 -0
  57. package/dist/order-builder/helpers/buildOrderCreationArgs.cjs +45 -0
  58. package/dist/order-builder/helpers/buildOrderCreationArgs.cjs.map +1 -0
  59. package/dist/order-builder/helpers/buildOrderCreationArgs.js +44 -0
  60. package/dist/order-builder/helpers/buildOrderCreationArgs.js.map +1 -0
  61. package/dist/order-builder/helpers/calculateBuyMarketPrice.cjs +24 -0
  62. package/dist/order-builder/helpers/calculateBuyMarketPrice.cjs.map +1 -0
  63. package/dist/order-builder/helpers/calculateBuyMarketPrice.js +24 -0
  64. package/dist/order-builder/helpers/calculateBuyMarketPrice.js.map +1 -0
  65. package/dist/order-builder/helpers/calculateSellMarketPrice.cjs +24 -0
  66. package/dist/order-builder/helpers/calculateSellMarketPrice.cjs.map +1 -0
  67. package/dist/order-builder/helpers/calculateSellMarketPrice.js +24 -0
  68. package/dist/order-builder/helpers/calculateSellMarketPrice.js.map +1 -0
  69. package/dist/order-builder/helpers/createExchangeV3OrderFromAmounts.cjs +31 -0
  70. package/dist/order-builder/helpers/createExchangeV3OrderFromAmounts.cjs.map +1 -0
  71. package/dist/order-builder/helpers/createExchangeV3OrderFromAmounts.js +31 -0
  72. package/dist/order-builder/helpers/createExchangeV3OrderFromAmounts.js.map +1 -0
  73. package/dist/order-builder/helpers/createMarketOrder.cjs +34 -0
  74. package/dist/order-builder/helpers/createMarketOrder.cjs.map +1 -0
  75. package/dist/order-builder/helpers/createMarketOrder.js +34 -0
  76. package/dist/order-builder/helpers/createMarketOrder.js.map +1 -0
  77. package/dist/order-builder/helpers/createOrder.cjs +34 -0
  78. package/dist/order-builder/helpers/createOrder.cjs.map +1 -0
  79. package/dist/order-builder/helpers/createOrder.js +34 -0
  80. package/dist/order-builder/helpers/createOrder.js.map +1 -0
  81. package/dist/order-builder/helpers/getMarketOrderRawAmounts.cjs +36 -0
  82. package/dist/order-builder/helpers/getMarketOrderRawAmounts.cjs.map +1 -0
  83. package/dist/order-builder/helpers/getMarketOrderRawAmounts.js +36 -0
  84. package/dist/order-builder/helpers/getMarketOrderRawAmounts.js.map +1 -0
  85. package/dist/order-builder/helpers/getOrderRawAmounts.cjs +36 -0
  86. package/dist/order-builder/helpers/getOrderRawAmounts.cjs.map +1 -0
  87. package/dist/order-builder/helpers/getOrderRawAmounts.js +36 -0
  88. package/dist/order-builder/helpers/getOrderRawAmounts.js.map +1 -0
  89. package/dist/order-builder/helpers/roundingConfig.cjs +28 -0
  90. package/dist/order-builder/helpers/roundingConfig.cjs.map +1 -0
  91. package/dist/order-builder/helpers/roundingConfig.js +27 -0
  92. package/dist/order-builder/helpers/roundingConfig.js.map +1 -0
  93. package/dist/order-builder/index.d.ts +1 -0
  94. package/dist/order-builder/orderBuilder.cjs +58 -0
  95. package/dist/order-builder/orderBuilder.cjs.map +1 -0
  96. package/dist/order-builder/orderBuilder.d.cts +42 -0
  97. package/dist/order-builder/orderBuilder.d.ts +44 -0
  98. package/dist/order-builder/orderBuilder.js +58 -0
  99. package/dist/order-builder/orderBuilder.js.map +1 -0
  100. package/dist/order-utils/exchangeOrderBuilderV1.cjs +128 -0
  101. package/dist/order-utils/exchangeOrderBuilderV1.cjs.map +1 -0
  102. package/dist/order-utils/exchangeOrderBuilderV1.d.ts +2 -0
  103. package/dist/order-utils/exchangeOrderBuilderV1.js +127 -0
  104. package/dist/order-utils/exchangeOrderBuilderV1.js.map +1 -0
  105. package/dist/order-utils/exchangeOrderBuilderV2.cjs +196 -0
  106. package/dist/order-utils/exchangeOrderBuilderV2.cjs.map +1 -0
  107. package/dist/order-utils/exchangeOrderBuilderV2.d.ts +2 -0
  108. package/dist/order-utils/exchangeOrderBuilderV2.js +194 -0
  109. package/dist/order-utils/exchangeOrderBuilderV2.js.map +1 -0
  110. package/dist/order-utils/index.d.ts +7 -0
  111. package/dist/order-utils/model/ctfExchangeV1TypedData.cjs +60 -0
  112. package/dist/order-utils/model/ctfExchangeV1TypedData.cjs.map +1 -0
  113. package/dist/order-utils/model/ctfExchangeV1TypedData.js +57 -0
  114. package/dist/order-utils/model/ctfExchangeV1TypedData.js.map +1 -0
  115. package/dist/order-utils/model/ctfExchangeV2TypedData.cjs +58 -0
  116. package/dist/order-utils/model/ctfExchangeV2TypedData.cjs.map +1 -0
  117. package/dist/order-utils/model/ctfExchangeV2TypedData.js +54 -0
  118. package/dist/order-utils/model/ctfExchangeV2TypedData.js.map +1 -0
  119. package/dist/order-utils/model/eip712.cjs +24 -0
  120. package/dist/order-utils/model/eip712.cjs.map +1 -0
  121. package/dist/order-utils/model/eip712.d.cts +9 -0
  122. package/dist/order-utils/model/eip712.d.ts +9 -0
  123. package/dist/order-utils/model/eip712.js +23 -0
  124. package/dist/order-utils/model/eip712.js.map +1 -0
  125. package/dist/order-utils/model/order.d.cts +5 -0
  126. package/dist/order-utils/model/order.d.ts +5 -0
  127. package/dist/order-utils/model/orderDataV1.d.cts +68 -0
  128. package/dist/order-utils/model/orderDataV1.d.ts +69 -0
  129. package/dist/order-utils/model/orderDataV2.d.cts +68 -0
  130. package/dist/order-utils/model/orderDataV2.d.ts +69 -0
  131. package/dist/order-utils/model/side.cjs +11 -0
  132. package/dist/order-utils/model/side.cjs.map +1 -0
  133. package/dist/order-utils/model/side.d.cts +8 -0
  134. package/dist/order-utils/model/side.d.ts +8 -0
  135. package/dist/order-utils/model/side.js +10 -0
  136. package/dist/order-utils/model/side.js.map +1 -0
  137. package/dist/order-utils/model/signatureTypeV1.cjs +21 -0
  138. package/dist/order-utils/model/signatureTypeV1.cjs.map +1 -0
  139. package/dist/order-utils/model/signatureTypeV1.d.cts +18 -0
  140. package/dist/order-utils/model/signatureTypeV1.d.ts +18 -0
  141. package/dist/order-utils/model/signatureTypeV1.js +20 -0
  142. package/dist/order-utils/model/signatureTypeV1.js.map +1 -0
  143. package/dist/order-utils/model/signatureTypeV2.cjs +25 -0
  144. package/dist/order-utils/model/signatureTypeV2.cjs.map +1 -0
  145. package/dist/order-utils/model/signatureTypeV2.d.cts +22 -0
  146. package/dist/order-utils/model/signatureTypeV2.d.ts +22 -0
  147. package/dist/order-utils/model/signatureTypeV2.js +24 -0
  148. package/dist/order-utils/model/signatureTypeV2.js.map +1 -0
  149. package/dist/order-utils/utils.cjs +9 -0
  150. package/dist/order-utils/utils.cjs.map +1 -0
  151. package/dist/order-utils/utils.js +8 -0
  152. package/dist/order-utils/utils.js.map +1 -0
  153. package/dist/signing/constants.cjs +7 -0
  154. package/dist/signing/constants.cjs.map +1 -0
  155. package/dist/signing/constants.js +6 -0
  156. package/dist/signing/constants.js.map +1 -0
  157. package/dist/signing/eip712.cjs +51 -0
  158. package/dist/signing/eip712.cjs.map +1 -0
  159. package/dist/signing/eip712.d.ts +2 -0
  160. package/dist/signing/eip712.js +51 -0
  161. package/dist/signing/eip712.js.map +1 -0
  162. package/dist/signing/hmac.cjs +40 -0
  163. package/dist/signing/hmac.cjs.map +1 -0
  164. package/dist/signing/hmac.js +39 -0
  165. package/dist/signing/hmac.js.map +1 -0
  166. package/dist/signing/index.d.ts +2 -0
  167. package/dist/signing/signer.cjs +41 -0
  168. package/dist/signing/signer.cjs.map +1 -0
  169. package/dist/signing/signer.d.cts +17 -0
  170. package/dist/signing/signer.d.ts +17 -0
  171. package/dist/signing/signer.js +39 -0
  172. package/dist/signing/signer.js.map +1 -0
  173. package/dist/types/clob.cjs +35 -0
  174. package/dist/types/clob.cjs.map +1 -0
  175. package/dist/types/clob.d.cts +427 -0
  176. package/dist/types/clob.d.ts +427 -0
  177. package/dist/types/clob.js +32 -0
  178. package/dist/types/clob.js.map +1 -0
  179. package/dist/types/index.d.ts +6 -0
  180. package/dist/types/ordersV1.cjs +29 -0
  181. package/dist/types/ordersV1.cjs.map +1 -0
  182. package/dist/types/ordersV1.d.cts +115 -0
  183. package/dist/types/ordersV1.d.ts +116 -0
  184. package/dist/types/ordersV1.js +28 -0
  185. package/dist/types/ordersV1.js.map +1 -0
  186. package/dist/types/ordersV2.cjs +30 -0
  187. package/dist/types/ordersV2.cjs.map +1 -0
  188. package/dist/types/ordersV2.d.cts +113 -0
  189. package/dist/types/ordersV2.d.ts +114 -0
  190. package/dist/types/ordersV2.js +29 -0
  191. package/dist/types/ordersV2.js.map +1 -0
  192. package/dist/types/ordersV3.d.cts +43 -0
  193. package/dist/types/ordersV3.d.ts +43 -0
  194. package/dist/types/unifiedOrder.cjs +10 -0
  195. package/dist/types/unifiedOrder.cjs.map +1 -0
  196. package/dist/types/unifiedOrder.d.cts +56 -0
  197. package/dist/types/unifiedOrder.d.ts +57 -0
  198. package/dist/types/unifiedOrder.js +9 -0
  199. package/dist/types/unifiedOrder.js.map +1 -0
  200. package/dist/utilities.cjs +50 -0
  201. package/dist/utilities.cjs.map +1 -0
  202. package/dist/utilities.js +43 -0
  203. package/dist/utilities.js.map +1 -0
  204. package/package.json +3 -3
  205. package/dist/index.cjs.map +0 -1
  206. package/dist/index.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ const require_signer = require('../../signing/signer.cjs');
2
+ const require_config = require('../../config.cjs');
3
+ const require_signatureTypeV2 = require('../../order-utils/model/signatureTypeV2.cjs');
4
+ const require_buildOrder = require('./buildOrder.cjs');
5
+ const require_buildOrderCreationArgs = require('./buildOrderCreationArgs.cjs');
6
+ const require_roundingConfig = require('./roundingConfig.cjs');
7
+
8
+ //#region src/order-builder/helpers/createOrder.ts
9
+ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, userOrder, options, version) => {
10
+ const eoaSignerAddress = await require_signer.getSignerAddress(eoaSigner);
11
+ const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
+ const signerForOrder = signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
+ 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
+ let exchangeContract;
16
+ switch (version) {
17
+ case 1:
18
+ if (signatureType === require_signatureTypeV2.SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
+ exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
20
+ break;
21
+ case 2:
22
+ exchangeContract = options.negRisk ? contractConfig.negRiskExchangeV2 : contractConfig.exchangeV2;
23
+ break;
24
+ case 3:
25
+ exchangeContract = contractConfig.exchangeV3;
26
+ break;
27
+ default: throw new Error(`unsupported order version ${version}`);
28
+ }
29
+ return require_buildOrder.buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
30
+ };
31
+
32
+ //#endregion
33
+ exports.createOrder = createOrder;
34
+ //# sourceMappingURL=createOrder.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,34 @@
1
+ import { getSignerAddress } from "../../signing/signer.js";
2
+ import { getContractConfig } from "../../config.js";
3
+ import { SignatureTypeV2 } from "../../order-utils/model/signatureTypeV2.js";
4
+ import { buildOrder } from "./buildOrder.js";
5
+ import { buildOrderCreationArgs } from "./buildOrderCreationArgs.js";
6
+ import { ROUNDING_CONFIG } from "./roundingConfig.js";
7
+
8
+ //#region src/order-builder/helpers/createOrder.ts
9
+ const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, userOrder, options, version) => {
10
+ const eoaSignerAddress = await getSignerAddress(eoaSigner);
11
+ const maker = funderAddress === void 0 ? eoaSignerAddress : funderAddress;
12
+ const signerForOrder = signatureType === SignatureTypeV2.POLY_1271 ? maker : eoaSignerAddress;
13
+ const contractConfig = getContractConfig(chainId);
14
+ const orderData = await buildOrderCreationArgs(signerForOrder, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize], version);
15
+ let exchangeContract;
16
+ switch (version) {
17
+ case 1:
18
+ if (signatureType === SignatureTypeV2.POLY_1271) throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
19
+ exchangeContract = options.negRisk ? contractConfig.negRiskExchange : contractConfig.exchange;
20
+ break;
21
+ case 2:
22
+ exchangeContract = options.negRisk ? contractConfig.negRiskExchangeV2 : contractConfig.exchangeV2;
23
+ break;
24
+ case 3:
25
+ exchangeContract = contractConfig.exchangeV3;
26
+ break;
27
+ default: throw new Error(`unsupported order version ${version}`);
28
+ }
29
+ return buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
30
+ };
31
+
32
+ //#endregion
33
+ export { createOrder };
34
+ //# sourceMappingURL=createOrder.js.map
@@ -0,0 +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"}
@@ -0,0 +1,36 @@
1
+ const require_side = require('../../order-utils/model/side.cjs');
2
+ const require_utilities = require('../../utilities.cjs');
3
+
4
+ //#region src/order-builder/helpers/getMarketOrderRawAmounts.ts
5
+ const getMarketOrderRawAmounts = (side, amount, price, roundConfig) => {
6
+ const rawPrice = require_utilities.roundDown(price, roundConfig.price);
7
+ if (side === require_side.Side.BUY) {
8
+ const rawMakerAmt = require_utilities.roundDown(amount, roundConfig.size);
9
+ let rawTakerAmt = rawMakerAmt / rawPrice;
10
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) {
11
+ rawTakerAmt = require_utilities.roundUp(rawTakerAmt, roundConfig.amount + 4);
12
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = require_utilities.roundDown(rawTakerAmt, roundConfig.amount);
13
+ }
14
+ return {
15
+ side: require_side.Side.BUY,
16
+ rawMakerAmt,
17
+ rawTakerAmt
18
+ };
19
+ } else {
20
+ const rawMakerAmt = require_utilities.roundDown(amount, roundConfig.size);
21
+ let rawTakerAmt = rawMakerAmt * rawPrice;
22
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) {
23
+ rawTakerAmt = require_utilities.roundUp(rawTakerAmt, roundConfig.amount + 4);
24
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = require_utilities.roundDown(rawTakerAmt, roundConfig.amount);
25
+ }
26
+ return {
27
+ side: require_side.Side.SELL,
28
+ rawMakerAmt,
29
+ rawTakerAmt
30
+ };
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ exports.getMarketOrderRawAmounts = getMarketOrderRawAmounts;
36
+ //# sourceMappingURL=getMarketOrderRawAmounts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMarketOrderRawAmounts.cjs","names":["roundDown","Side","decimalPlaces","roundUp"],"sources":["../../../src/order-builder/helpers/getMarketOrderRawAmounts.ts"],"sourcesContent":["import { type RoundConfig, Side } from \"../../types/index.js\";\nimport { decimalPlaces, roundDown, roundUp } from \"../../utilities.js\";\n\nexport const getMarketOrderRawAmounts = (\n\tside: Side,\n\tamount: number,\n\tprice: number,\n\troundConfig: RoundConfig,\n): { side: Side; rawMakerAmt: number; rawTakerAmt: number } => {\n\t// force 2 decimals places\n\tconst rawPrice = roundDown(price, roundConfig.price);\n\n\tif (side === Side.BUY) {\n\t\tconst rawMakerAmt = roundDown(amount, roundConfig.size);\n\t\tlet rawTakerAmt = rawMakerAmt / rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tside: Side.BUY,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t} else {\n\t\tconst rawMakerAmt = roundDown(amount, roundConfig.size);\n\t\tlet rawTakerAmt = rawMakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.SELL,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t}\n};\n"],"mappings":";;;;AAGA,MAAa,4BACZ,MACA,QACA,OACA,gBAC8D;CAE9D,MAAM,WAAWA,4BAAU,OAAO,YAAY,MAAM;AAEpD,KAAI,SAASC,kBAAK,KAAK;EACtB,MAAM,cAAcD,4BAAU,QAAQ,YAAY,KAAK;EACvD,IAAI,cAAc,cAAc;AAChC,MAAIE,gCAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAcC,0BAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAID,gCAAc,YAAY,GAAG,YAAY,OAC5C,eAAcF,4BAAU,aAAa,YAAY,OAAO;;AAG1D,SAAO;GACN,MAAMC,kBAAK;GACX;GACA;GACA;QACK;EACN,MAAM,cAAcD,4BAAU,QAAQ,YAAY,KAAK;EACvD,IAAI,cAAc,cAAc;AAChC,MAAIE,gCAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAcC,0BAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAID,gCAAc,YAAY,GAAG,YAAY,OAC5C,eAAcF,4BAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAMC,kBAAK;GACX;GACA;GACA"}
@@ -0,0 +1,36 @@
1
+ import { Side } from "../../order-utils/model/side.js";
2
+ import { decimalPlaces, roundDown, roundUp } from "../../utilities.js";
3
+
4
+ //#region src/order-builder/helpers/getMarketOrderRawAmounts.ts
5
+ const getMarketOrderRawAmounts = (side, amount, price, roundConfig) => {
6
+ const rawPrice = roundDown(price, roundConfig.price);
7
+ if (side === Side.BUY) {
8
+ const rawMakerAmt = roundDown(amount, roundConfig.size);
9
+ let rawTakerAmt = rawMakerAmt / rawPrice;
10
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
11
+ rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
12
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
13
+ }
14
+ return {
15
+ side: Side.BUY,
16
+ rawMakerAmt,
17
+ rawTakerAmt
18
+ };
19
+ } else {
20
+ const rawMakerAmt = roundDown(amount, roundConfig.size);
21
+ let rawTakerAmt = rawMakerAmt * rawPrice;
22
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
23
+ rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
24
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
25
+ }
26
+ return {
27
+ side: Side.SELL,
28
+ rawMakerAmt,
29
+ rawTakerAmt
30
+ };
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { getMarketOrderRawAmounts };
36
+ //# sourceMappingURL=getMarketOrderRawAmounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMarketOrderRawAmounts.js","names":[],"sources":["../../../src/order-builder/helpers/getMarketOrderRawAmounts.ts"],"sourcesContent":["import { type RoundConfig, Side } from \"../../types/index.js\";\nimport { decimalPlaces, roundDown, roundUp } from \"../../utilities.js\";\n\nexport const getMarketOrderRawAmounts = (\n\tside: Side,\n\tamount: number,\n\tprice: number,\n\troundConfig: RoundConfig,\n): { side: Side; rawMakerAmt: number; rawTakerAmt: number } => {\n\t// force 2 decimals places\n\tconst rawPrice = roundDown(price, roundConfig.price);\n\n\tif (side === Side.BUY) {\n\t\tconst rawMakerAmt = roundDown(amount, roundConfig.size);\n\t\tlet rawTakerAmt = rawMakerAmt / rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tside: Side.BUY,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t} else {\n\t\tconst rawMakerAmt = roundDown(amount, roundConfig.size);\n\t\tlet rawTakerAmt = rawMakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.SELL,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t}\n};\n"],"mappings":";;;;AAGA,MAAa,4BACZ,MACA,QACA,OACA,gBAC8D;CAE9D,MAAM,WAAW,UAAU,OAAO,YAAY,MAAM;AAEpD,KAAI,SAAS,KAAK,KAAK;EACtB,MAAM,cAAc,UAAU,QAAQ,YAAY,KAAK;EACvD,IAAI,cAAc,cAAc;AAChC,MAAI,cAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAc,QAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAI,cAAc,YAAY,GAAG,YAAY,OAC5C,eAAc,UAAU,aAAa,YAAY,OAAO;;AAG1D,SAAO;GACN,MAAM,KAAK;GACX;GACA;GACA;QACK;EACN,MAAM,cAAc,UAAU,QAAQ,YAAY,KAAK;EACvD,IAAI,cAAc,cAAc;AAChC,MAAI,cAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAc,QAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAI,cAAc,YAAY,GAAG,YAAY,OAC5C,eAAc,UAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAM,KAAK;GACX;GACA;GACA"}
@@ -0,0 +1,36 @@
1
+ const require_side = require('../../order-utils/model/side.cjs');
2
+ const require_utilities = require('../../utilities.cjs');
3
+
4
+ //#region src/order-builder/helpers/getOrderRawAmounts.ts
5
+ const getOrderRawAmounts = (side, size, price, roundConfig) => {
6
+ const rawPrice = require_utilities.roundNormal(price, roundConfig.price);
7
+ if (side === require_side.Side.BUY) {
8
+ const rawTakerAmt = require_utilities.roundDown(size, roundConfig.size);
9
+ let rawMakerAmt = rawTakerAmt * rawPrice;
10
+ if (require_utilities.decimalPlaces(rawMakerAmt) > roundConfig.amount) {
11
+ rawMakerAmt = require_utilities.roundUp(rawMakerAmt, roundConfig.amount + 4);
12
+ if (require_utilities.decimalPlaces(rawMakerAmt) > roundConfig.amount) rawMakerAmt = require_utilities.roundDown(rawMakerAmt, roundConfig.amount);
13
+ }
14
+ return {
15
+ side: require_side.Side.BUY,
16
+ rawMakerAmt,
17
+ rawTakerAmt
18
+ };
19
+ } else {
20
+ const rawMakerAmt = require_utilities.roundDown(size, roundConfig.size);
21
+ let rawTakerAmt = rawMakerAmt * rawPrice;
22
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) {
23
+ rawTakerAmt = require_utilities.roundUp(rawTakerAmt, roundConfig.amount + 4);
24
+ if (require_utilities.decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = require_utilities.roundDown(rawTakerAmt, roundConfig.amount);
25
+ }
26
+ return {
27
+ side: require_side.Side.SELL,
28
+ rawMakerAmt,
29
+ rawTakerAmt
30
+ };
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ exports.getOrderRawAmounts = getOrderRawAmounts;
36
+ //# sourceMappingURL=getOrderRawAmounts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrderRawAmounts.cjs","names":["roundNormal","Side","roundDown","decimalPlaces","roundUp"],"sources":["../../../src/order-builder/helpers/getOrderRawAmounts.ts"],"sourcesContent":["import { type RoundConfig, Side } from \"../../types/index.js\";\nimport { decimalPlaces, roundDown, roundNormal, roundUp } from \"../../utilities.js\";\n\nexport const getOrderRawAmounts = (\n\tside: Side,\n\tsize: number,\n\tprice: number,\n\troundConfig: RoundConfig,\n): { side: Side; rawMakerAmt: number; rawTakerAmt: number } => {\n\tconst rawPrice = roundNormal(price, roundConfig.price);\n\n\tif (side === Side.BUY) {\n\t\t// force 2 decimals places\n\t\tconst rawTakerAmt = roundDown(size, roundConfig.size);\n\n\t\tlet rawMakerAmt = rawTakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawMakerAmt) > roundConfig.amount) {\n\t\t\trawMakerAmt = roundUp(rawMakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawMakerAmt) > roundConfig.amount) {\n\t\t\t\trawMakerAmt = roundDown(rawMakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.BUY,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t} else {\n\t\tconst rawMakerAmt = roundDown(size, roundConfig.size);\n\n\t\tlet rawTakerAmt = rawMakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.SELL,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t}\n};\n"],"mappings":";;;;AAGA,MAAa,sBACZ,MACA,MACA,OACA,gBAC8D;CAC9D,MAAM,WAAWA,8BAAY,OAAO,YAAY,MAAM;AAEtD,KAAI,SAASC,kBAAK,KAAK;EAEtB,MAAM,cAAcC,4BAAU,MAAM,YAAY,KAAK;EAErD,IAAI,cAAc,cAAc;AAChC,MAAIC,gCAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAcC,0BAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAID,gCAAc,YAAY,GAAG,YAAY,OAC5C,eAAcD,4BAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAMD,kBAAK;GACX;GACA;GACA;QACK;EACN,MAAM,cAAcC,4BAAU,MAAM,YAAY,KAAK;EAErD,IAAI,cAAc,cAAc;AAChC,MAAIC,gCAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAcC,0BAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAID,gCAAc,YAAY,GAAG,YAAY,OAC5C,eAAcD,4BAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAMD,kBAAK;GACX;GACA;GACA"}
@@ -0,0 +1,36 @@
1
+ import { Side } from "../../order-utils/model/side.js";
2
+ import { decimalPlaces, roundDown, roundNormal, roundUp } from "../../utilities.js";
3
+
4
+ //#region src/order-builder/helpers/getOrderRawAmounts.ts
5
+ const getOrderRawAmounts = (side, size, price, roundConfig) => {
6
+ const rawPrice = roundNormal(price, roundConfig.price);
7
+ if (side === Side.BUY) {
8
+ const rawTakerAmt = roundDown(size, roundConfig.size);
9
+ let rawMakerAmt = rawTakerAmt * rawPrice;
10
+ if (decimalPlaces(rawMakerAmt) > roundConfig.amount) {
11
+ rawMakerAmt = roundUp(rawMakerAmt, roundConfig.amount + 4);
12
+ if (decimalPlaces(rawMakerAmt) > roundConfig.amount) rawMakerAmt = roundDown(rawMakerAmt, roundConfig.amount);
13
+ }
14
+ return {
15
+ side: Side.BUY,
16
+ rawMakerAmt,
17
+ rawTakerAmt
18
+ };
19
+ } else {
20
+ const rawMakerAmt = roundDown(size, roundConfig.size);
21
+ let rawTakerAmt = rawMakerAmt * rawPrice;
22
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
23
+ rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
24
+ if (decimalPlaces(rawTakerAmt) > roundConfig.amount) rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
25
+ }
26
+ return {
27
+ side: Side.SELL,
28
+ rawMakerAmt,
29
+ rawTakerAmt
30
+ };
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { getOrderRawAmounts };
36
+ //# sourceMappingURL=getOrderRawAmounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrderRawAmounts.js","names":[],"sources":["../../../src/order-builder/helpers/getOrderRawAmounts.ts"],"sourcesContent":["import { type RoundConfig, Side } from \"../../types/index.js\";\nimport { decimalPlaces, roundDown, roundNormal, roundUp } from \"../../utilities.js\";\n\nexport const getOrderRawAmounts = (\n\tside: Side,\n\tsize: number,\n\tprice: number,\n\troundConfig: RoundConfig,\n): { side: Side; rawMakerAmt: number; rawTakerAmt: number } => {\n\tconst rawPrice = roundNormal(price, roundConfig.price);\n\n\tif (side === Side.BUY) {\n\t\t// force 2 decimals places\n\t\tconst rawTakerAmt = roundDown(size, roundConfig.size);\n\n\t\tlet rawMakerAmt = rawTakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawMakerAmt) > roundConfig.amount) {\n\t\t\trawMakerAmt = roundUp(rawMakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawMakerAmt) > roundConfig.amount) {\n\t\t\t\trawMakerAmt = roundDown(rawMakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.BUY,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t} else {\n\t\tconst rawMakerAmt = roundDown(size, roundConfig.size);\n\n\t\tlet rawTakerAmt = rawMakerAmt * rawPrice;\n\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\trawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);\n\t\t\tif (decimalPlaces(rawTakerAmt) > roundConfig.amount) {\n\t\t\t\trawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tside: Side.SELL,\n\t\t\trawMakerAmt,\n\t\t\trawTakerAmt,\n\t\t};\n\t}\n};\n"],"mappings":";;;;AAGA,MAAa,sBACZ,MACA,MACA,OACA,gBAC8D;CAC9D,MAAM,WAAW,YAAY,OAAO,YAAY,MAAM;AAEtD,KAAI,SAAS,KAAK,KAAK;EAEtB,MAAM,cAAc,UAAU,MAAM,YAAY,KAAK;EAErD,IAAI,cAAc,cAAc;AAChC,MAAI,cAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAc,QAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAI,cAAc,YAAY,GAAG,YAAY,OAC5C,eAAc,UAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAM,KAAK;GACX;GACA;GACA;QACK;EACN,MAAM,cAAc,UAAU,MAAM,YAAY,KAAK;EAErD,IAAI,cAAc,cAAc;AAChC,MAAI,cAAc,YAAY,GAAG,YAAY,QAAQ;AACpD,iBAAc,QAAQ,aAAa,YAAY,SAAS,EAAE;AAC1D,OAAI,cAAc,YAAY,GAAG,YAAY,OAC5C,eAAc,UAAU,aAAa,YAAY,OAAO;;AAI1D,SAAO;GACN,MAAM,KAAK;GACX;GACA;GACA"}
@@ -0,0 +1,28 @@
1
+
2
+ //#region src/order-builder/helpers/roundingConfig.ts
3
+ const ROUNDING_CONFIG = {
4
+ "0.1": {
5
+ price: 1,
6
+ size: 2,
7
+ amount: 3
8
+ },
9
+ "0.01": {
10
+ price: 2,
11
+ size: 2,
12
+ amount: 4
13
+ },
14
+ "0.001": {
15
+ price: 3,
16
+ size: 2,
17
+ amount: 5
18
+ },
19
+ "0.0001": {
20
+ price: 4,
21
+ size: 2,
22
+ amount: 6
23
+ }
24
+ };
25
+
26
+ //#endregion
27
+ exports.ROUNDING_CONFIG = ROUNDING_CONFIG;
28
+ //# sourceMappingURL=roundingConfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roundingConfig.cjs","names":["ROUNDING_CONFIG: Record<TickSize, RoundConfig>"],"sources":["../../../src/order-builder/helpers/roundingConfig.ts"],"sourcesContent":["import type { RoundConfig, TickSize } from \"../../types/index.js\";\n\nexport const ROUNDING_CONFIG: Record<TickSize, RoundConfig> = {\n\t\"0.1\": {\n\t\tprice: 1,\n\t\tsize: 2,\n\t\tamount: 3,\n\t},\n\t\"0.01\": {\n\t\tprice: 2,\n\t\tsize: 2,\n\t\tamount: 4,\n\t},\n\t\"0.001\": {\n\t\tprice: 3,\n\t\tsize: 2,\n\t\tamount: 5,\n\t},\n\t\"0.0001\": {\n\t\tprice: 4,\n\t\tsize: 2,\n\t\tamount: 6,\n\t},\n};\n"],"mappings":";;AAEA,MAAaA,kBAAiD;CAC7D,OAAO;EACN,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,SAAS;EACR,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,UAAU;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD"}
@@ -0,0 +1,27 @@
1
+ //#region src/order-builder/helpers/roundingConfig.ts
2
+ const ROUNDING_CONFIG = {
3
+ "0.1": {
4
+ price: 1,
5
+ size: 2,
6
+ amount: 3
7
+ },
8
+ "0.01": {
9
+ price: 2,
10
+ size: 2,
11
+ amount: 4
12
+ },
13
+ "0.001": {
14
+ price: 3,
15
+ size: 2,
16
+ amount: 5
17
+ },
18
+ "0.0001": {
19
+ price: 4,
20
+ size: 2,
21
+ amount: 6
22
+ }
23
+ };
24
+
25
+ //#endregion
26
+ export { ROUNDING_CONFIG };
27
+ //# sourceMappingURL=roundingConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roundingConfig.js","names":["ROUNDING_CONFIG: Record<TickSize, RoundConfig>"],"sources":["../../../src/order-builder/helpers/roundingConfig.ts"],"sourcesContent":["import type { RoundConfig, TickSize } from \"../../types/index.js\";\n\nexport const ROUNDING_CONFIG: Record<TickSize, RoundConfig> = {\n\t\"0.1\": {\n\t\tprice: 1,\n\t\tsize: 2,\n\t\tamount: 3,\n\t},\n\t\"0.01\": {\n\t\tprice: 2,\n\t\tsize: 2,\n\t\tamount: 4,\n\t},\n\t\"0.001\": {\n\t\tprice: 3,\n\t\tsize: 2,\n\t\tamount: 5,\n\t},\n\t\"0.0001\": {\n\t\tprice: 4,\n\t\tsize: 2,\n\t\tamount: 6,\n\t},\n};\n"],"mappings":";AAEA,MAAaA,kBAAiD;CAC7D,OAAO;EACN,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,QAAQ;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,SAAS;EACR,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD,UAAU;EACT,OAAO;EACP,MAAM;EACN,QAAQ;EACR;CACD"}
@@ -0,0 +1 @@
1
+ import { OrderBuilder } from "./orderBuilder.js";
@@ -0,0 +1,58 @@
1
+ const require_signatureTypeV2 = require('../order-utils/model/signatureTypeV2.cjs');
2
+ const require_createMarketOrder = require('./helpers/createMarketOrder.cjs');
3
+ const require_createOrder = require('./helpers/createOrder.cjs');
4
+ const require_createExchangeV3OrderFromAmounts = require('./helpers/createExchangeV3OrderFromAmounts.cjs');
5
+
6
+ //#region src/order-builder/orderBuilder.ts
7
+ var OrderBuilder = class {
8
+ signer;
9
+ chainId;
10
+ signatureType;
11
+ funderAddress;
12
+ /**
13
+ * Optional function to dynamically resolve the signer.
14
+ * If provided, this function will be called to obtain a fresh signer instance
15
+ * (e.g., for smart contract wallets or when the signer may change).
16
+ * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.
17
+ * If not provided, the static `signer` property is used.
18
+ */
19
+ getSigner;
20
+ constructor(signer, chainId, signatureType, funderAddress, getSigner) {
21
+ this.signer = signer;
22
+ this.chainId = chainId;
23
+ this.signatureType = signatureType === void 0 ? require_signatureTypeV2.SignatureTypeV2.EOA : signatureType;
24
+ this.funderAddress = funderAddress;
25
+ this.getSigner = getSigner;
26
+ }
27
+ /**
28
+ * Generate and sign a order
29
+ */
30
+ async buildOrder(userOrder, options, version) {
31
+ return require_createOrder.createOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder, options, version);
32
+ }
33
+ /**
34
+ * Generate and sign a market order
35
+ */
36
+ async buildMarketOrder(userMarketOrder, options, version) {
37
+ return require_createMarketOrder.createMarketOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userMarketOrder, options, version);
38
+ }
39
+ /**
40
+ * Generate and sign an ExchangeV3 order using exact base-unit amounts.
41
+ */
42
+ async buildExchangeV3OrderFromAmounts(userOrder) {
43
+ return require_createExchangeV3OrderFromAmounts.createExchangeV3OrderFromAmounts(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder);
44
+ }
45
+ /** Unified getter: use fresh signer if available */
46
+ async resolveSigner() {
47
+ if (this.getSigner) {
48
+ const s = await this.getSigner();
49
+ if (!s) throw new Error("getSigner() function returned undefined or null");
50
+ return s;
51
+ }
52
+ return this.signer;
53
+ }
54
+ };
55
+
56
+ //#endregion
57
+ exports.OrderBuilder = OrderBuilder;
58
+ //# sourceMappingURL=orderBuilder.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,42 @@
1
+ import { ClobSigner } from "../signing/signer.cjs";
2
+ import { Chain, CreateOrderOptions } from "../types/clob.cjs";
3
+ import { UserMarketOrderV1, UserOrderV1 } from "../types/ordersV1.cjs";
4
+ import { UserMarketOrderV2, UserOrderV2 } from "../types/ordersV2.cjs";
5
+ import { ExchangeV3OrderAmounts } from "../types/ordersV3.cjs";
6
+ import { SignedOrderV1 } from "../order-utils/model/orderDataV1.cjs";
7
+ import { SignatureTypeV2 } from "../order-utils/model/signatureTypeV2.cjs";
8
+ import { SignedOrderV2 } from "../order-utils/model/orderDataV2.cjs";
9
+
10
+ //#region src/order-builder/orderBuilder.d.ts
11
+ declare class OrderBuilder {
12
+ readonly signer: ClobSigner;
13
+ readonly chainId: Chain;
14
+ readonly signatureType: SignatureTypeV2;
15
+ readonly funderAddress?: string;
16
+ /**
17
+ * Optional function to dynamically resolve the signer.
18
+ * If provided, this function will be called to obtain a fresh signer instance
19
+ * (e.g., for smart contract wallets or when the signer may change).
20
+ * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.
21
+ * If not provided, the static `signer` property is used.
22
+ */
23
+ private getSigner?;
24
+ constructor(signer: ClobSigner, chainId: Chain, signatureType?: SignatureTypeV2, funderAddress?: string, getSigner?: () => Promise<ClobSigner> | ClobSigner);
25
+ /**
26
+ * Generate and sign a order
27
+ */
28
+ buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
29
+ /**
30
+ * Generate and sign a market order
31
+ */
32
+ buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
33
+ /**
34
+ * Generate and sign an ExchangeV3 order using exact base-unit amounts.
35
+ */
36
+ buildExchangeV3OrderFromAmounts(userOrder: ExchangeV3OrderAmounts): Promise<SignedOrderV2>;
37
+ /** Unified getter: use fresh signer if available */
38
+ private resolveSigner;
39
+ }
40
+ //#endregion
41
+ export { OrderBuilder };
42
+ //# sourceMappingURL=orderBuilder.d.cts.map
@@ -0,0 +1,44 @@
1
+ import { ClobSigner } from "../signing/signer.js";
2
+ import { Chain, CreateOrderOptions } from "../types/clob.js";
3
+ import { UserMarketOrderV1, UserOrderV1 } from "../types/ordersV1.js";
4
+ import { UserMarketOrderV2, UserOrderV2 } from "../types/ordersV2.js";
5
+ import { ExchangeV3OrderAmounts } from "../types/ordersV3.js";
6
+ import "../types/index.js";
7
+ import { SignedOrderV1 } from "../order-utils/model/orderDataV1.js";
8
+ import { SignatureTypeV2 } from "../order-utils/model/signatureTypeV2.js";
9
+ import { SignedOrderV2 } from "../order-utils/model/orderDataV2.js";
10
+ import "../order-utils/index.js";
11
+
12
+ //#region src/order-builder/orderBuilder.d.ts
13
+ declare class OrderBuilder {
14
+ readonly signer: ClobSigner;
15
+ readonly chainId: Chain;
16
+ readonly signatureType: SignatureTypeV2;
17
+ readonly funderAddress?: string;
18
+ /**
19
+ * Optional function to dynamically resolve the signer.
20
+ * If provided, this function will be called to obtain a fresh signer instance
21
+ * (e.g., for smart contract wallets or when the signer may change).
22
+ * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.
23
+ * If not provided, the static `signer` property is used.
24
+ */
25
+ private getSigner?;
26
+ constructor(signer: ClobSigner, chainId: Chain, signatureType?: SignatureTypeV2, funderAddress?: string, getSigner?: () => Promise<ClobSigner> | ClobSigner);
27
+ /**
28
+ * Generate and sign a order
29
+ */
30
+ buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
31
+ /**
32
+ * Generate and sign a market order
33
+ */
34
+ buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
35
+ /**
36
+ * Generate and sign an ExchangeV3 order using exact base-unit amounts.
37
+ */
38
+ buildExchangeV3OrderFromAmounts(userOrder: ExchangeV3OrderAmounts): Promise<SignedOrderV2>;
39
+ /** Unified getter: use fresh signer if available */
40
+ private resolveSigner;
41
+ }
42
+ //#endregion
43
+ export { OrderBuilder };
44
+ //# sourceMappingURL=orderBuilder.d.ts.map
@@ -0,0 +1,58 @@
1
+ import { SignatureTypeV2 } from "../order-utils/model/signatureTypeV2.js";
2
+ import { createMarketOrder } from "./helpers/createMarketOrder.js";
3
+ import { createOrder } from "./helpers/createOrder.js";
4
+ import { createExchangeV3OrderFromAmounts } from "./helpers/createExchangeV3OrderFromAmounts.js";
5
+
6
+ //#region src/order-builder/orderBuilder.ts
7
+ var OrderBuilder = class {
8
+ signer;
9
+ chainId;
10
+ signatureType;
11
+ funderAddress;
12
+ /**
13
+ * Optional function to dynamically resolve the signer.
14
+ * If provided, this function will be called to obtain a fresh signer instance
15
+ * (e.g., for smart contract wallets or when the signer may change).
16
+ * Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.
17
+ * If not provided, the static `signer` property is used.
18
+ */
19
+ getSigner;
20
+ constructor(signer, chainId, signatureType, funderAddress, getSigner) {
21
+ this.signer = signer;
22
+ this.chainId = chainId;
23
+ this.signatureType = signatureType === void 0 ? SignatureTypeV2.EOA : signatureType;
24
+ this.funderAddress = funderAddress;
25
+ this.getSigner = getSigner;
26
+ }
27
+ /**
28
+ * Generate and sign a order
29
+ */
30
+ async buildOrder(userOrder, options, version) {
31
+ return createOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder, options, version);
32
+ }
33
+ /**
34
+ * Generate and sign a market order
35
+ */
36
+ async buildMarketOrder(userMarketOrder, options, version) {
37
+ return createMarketOrder(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userMarketOrder, options, version);
38
+ }
39
+ /**
40
+ * Generate and sign an ExchangeV3 order using exact base-unit amounts.
41
+ */
42
+ async buildExchangeV3OrderFromAmounts(userOrder) {
43
+ return createExchangeV3OrderFromAmounts(await this.resolveSigner(), this.chainId, this.signatureType, this.funderAddress, userOrder);
44
+ }
45
+ /** Unified getter: use fresh signer if available */
46
+ async resolveSigner() {
47
+ if (this.getSigner) {
48
+ const s = await this.getSigner();
49
+ if (!s) throw new Error("getSigner() function returned undefined or null");
50
+ return s;
51
+ }
52
+ return this.signer;
53
+ }
54
+ };
55
+
56
+ //#endregion
57
+ export { OrderBuilder };
58
+ //# sourceMappingURL=orderBuilder.js.map
@@ -0,0 +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"}