@polymarket/clob-client-v2 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2482 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1001 -0
- package/dist/index.d.ts +1001 -8
- package/dist/index.js +2424 -8
- package/dist/index.js.map +1 -1
- package/package.json +12 -5
- package/dist/client.d.ts +0 -139
- package/dist/client.js +0 -973
- package/dist/client.js.map +0 -1
- package/dist/config.d.ts +0 -14
- package/dist/config.js +0 -32
- package/dist/config.js.map +0 -1
- package/dist/constants.d.ts +0 -6
- package/dist/constants.js +0 -10
- package/dist/constants.js.map +0 -1
- package/dist/endpoints.d.ts +0 -60
- package/dist/endpoints.js +0 -75
- package/dist/endpoints.js.map +0 -1
- package/dist/errors.d.ts +0 -7
- package/dist/errors.js +0 -13
- package/dist/errors.js.map +0 -1
- package/dist/headers/index.d.ts +0 -4
- package/dist/headers/index.js +0 -38
- package/dist/headers/index.js.map +0 -1
- package/dist/http-helpers/index.d.ts +0 -18
- package/dist/http-helpers/index.js +0 -124
- package/dist/http-helpers/index.js.map +0 -1
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.d.ts +0 -5
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js +0 -37
- package/dist/order-builder/helpers/buildMarketOrderCreationArgs.js.map +0 -1
- package/dist/order-builder/helpers/buildOrder.d.ts +0 -14
- package/dist/order-builder/helpers/buildOrder.js +0 -29
- package/dist/order-builder/helpers/buildOrder.js.map +0 -1
- package/dist/order-builder/helpers/buildOrderCreationArgs.d.ts +0 -5
- package/dist/order-builder/helpers/buildOrderCreationArgs.js +0 -39
- package/dist/order-builder/helpers/buildOrderCreationArgs.js.map +0 -1
- package/dist/order-builder/helpers/calculateBuyMarketPrice.d.ts +0 -8
- package/dist/order-builder/helpers/calculateBuyMarketPrice.js +0 -34
- package/dist/order-builder/helpers/calculateBuyMarketPrice.js.map +0 -1
- package/dist/order-builder/helpers/calculateSellMarketPrice.d.ts +0 -8
- package/dist/order-builder/helpers/calculateSellMarketPrice.js +0 -34
- package/dist/order-builder/helpers/calculateSellMarketPrice.js.map +0 -1
- package/dist/order-builder/helpers/createMarketOrder.d.ts +0 -5
- package/dist/order-builder/helpers/createMarketOrder.js +0 -33
- package/dist/order-builder/helpers/createMarketOrder.js.map +0 -1
- package/dist/order-builder/helpers/createOrder.d.ts +0 -5
- package/dist/order-builder/helpers/createOrder.js +0 -33
- package/dist/order-builder/helpers/createOrder.js.map +0 -1
- package/dist/order-builder/helpers/getMarketOrderRawAmounts.d.ts +0 -6
- package/dist/order-builder/helpers/getMarketOrderRawAmounts.js +0 -37
- package/dist/order-builder/helpers/getMarketOrderRawAmounts.js.map +0 -1
- package/dist/order-builder/helpers/getOrderRawAmounts.d.ts +0 -6
- package/dist/order-builder/helpers/getOrderRawAmounts.js +0 -37
- package/dist/order-builder/helpers/getOrderRawAmounts.js.map +0 -1
- package/dist/order-builder/helpers/index.d.ts +0 -10
- package/dist/order-builder/helpers/index.js +0 -11
- package/dist/order-builder/helpers/index.js.map +0 -1
- package/dist/order-builder/helpers/roundingConfig.d.ts +0 -2
- package/dist/order-builder/helpers/roundingConfig.js +0 -23
- package/dist/order-builder/helpers/roundingConfig.js.map +0 -1
- package/dist/order-builder/index.d.ts +0 -1
- package/dist/order-builder/index.js +0 -2
- package/dist/order-builder/index.js.map +0 -1
- package/dist/order-builder/orderBuilder.d.ts +0 -28
- package/dist/order-builder/orderBuilder.js +0 -52
- package/dist/order-builder/orderBuilder.js.map +0 -1
- package/dist/order-utils/abi/ExchangeV1.d.ts +0 -1444
- package/dist/order-utils/abi/ExchangeV1.js +0 -1853
- package/dist/order-utils/abi/ExchangeV1.js.map +0 -1
- package/dist/order-utils/abi/ExchangeV2.d.ts +0 -1259
- package/dist/order-utils/abi/ExchangeV2.js +0 -1614
- package/dist/order-utils/abi/ExchangeV2.js.map +0 -1
- package/dist/order-utils/exchangeOrderBuilderV1.d.ts +0 -42
- package/dist/order-utils/exchangeOrderBuilderV1.js +0 -148
- package/dist/order-utils/exchangeOrderBuilderV1.js.map +0 -1
- package/dist/order-utils/exchangeOrderBuilderV2.d.ts +0 -42
- package/dist/order-utils/exchangeOrderBuilderV2.js +0 -119
- package/dist/order-utils/exchangeOrderBuilderV2.js.map +0 -1
- package/dist/order-utils/index.d.ts +0 -2711
- package/dist/order-utils/index.js +0 -13
- package/dist/order-utils/index.js.map +0 -1
- package/dist/order-utils/model/abi.d.ts +0 -21
- package/dist/order-utils/model/abi.js +0 -2
- package/dist/order-utils/model/abi.js.map +0 -1
- package/dist/order-utils/model/ctfExchangeV1TypedData.d.ts +0 -6
- package/dist/order-utils/model/ctfExchangeV1TypedData.js +0 -17
- package/dist/order-utils/model/ctfExchangeV1TypedData.js.map +0 -1
- package/dist/order-utils/model/ctfExchangeV2TypedData.d.ts +0 -6
- package/dist/order-utils/model/ctfExchangeV2TypedData.js +0 -16
- package/dist/order-utils/model/ctfExchangeV2TypedData.js.map +0 -1
- package/dist/order-utils/model/eip712.d.ts +0 -29
- package/dist/order-utils/model/eip712.js +0 -7
- package/dist/order-utils/model/eip712.js.map +0 -1
- package/dist/order-utils/model/order.d.ts +0 -2
- package/dist/order-utils/model/order.js +0 -2
- package/dist/order-utils/model/order.js.map +0 -1
- package/dist/order-utils/model/orderDataV1.d.ts +0 -111
- package/dist/order-utils/model/orderDataV1.js +0 -2
- package/dist/order-utils/model/orderDataV1.js.map +0 -1
- package/dist/order-utils/model/orderDataV2.d.ts +0 -110
- package/dist/order-utils/model/orderDataV2.js +0 -2
- package/dist/order-utils/model/orderDataV2.js.map +0 -1
- package/dist/order-utils/model/side.d.ts +0 -4
- package/dist/order-utils/model/side.js +0 -6
- package/dist/order-utils/model/side.js.map +0 -1
- package/dist/order-utils/model/signatureTypeV1.d.ts +0 -14
- package/dist/order-utils/model/signatureTypeV1.js +0 -16
- package/dist/order-utils/model/signatureTypeV1.js.map +0 -1
- package/dist/order-utils/model/signatureTypeV2.d.ts +0 -18
- package/dist/order-utils/model/signatureTypeV2.js +0 -20
- package/dist/order-utils/model/signatureTypeV2.js.map +0 -1
- package/dist/order-utils/utils.d.ts +0 -1
- package/dist/order-utils/utils.js +0 -4
- package/dist/order-utils/utils.js.map +0 -1
- package/dist/signing/constants.d.ts +0 -14
- package/dist/signing/constants.js +0 -16
- package/dist/signing/constants.js.map +0 -1
- package/dist/signing/eip712.d.ts +0 -9
- package/dist/signing/eip712.js +0 -40
- package/dist/signing/eip712.js.map +0 -1
- package/dist/signing/hmac.d.ts +0 -9
- package/dist/signing/hmac.js +0 -27
- package/dist/signing/hmac.js.map +0 -1
- package/dist/signing/index.d.ts +0 -3
- package/dist/signing/index.js +0 -4
- package/dist/signing/index.js.map +0 -1
- package/dist/signing/signer.d.ts +0 -22
- package/dist/signing/signer.js +0 -50
- package/dist/signing/signer.js.map +0 -1
- package/dist/types/clob.d.ts +0 -398
- package/dist/types/clob.js +0 -28
- package/dist/types/clob.js.map +0 -1
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.js +0 -5
- package/dist/types/index.js.map +0 -1
- package/dist/types/ordersV1.d.ts +0 -108
- package/dist/types/ordersV1.js +0 -24
- package/dist/types/ordersV1.js.map +0 -1
- package/dist/types/ordersV2.d.ts +0 -99
- package/dist/types/ordersV2.js +0 -25
- package/dist/types/ordersV2.js.map +0 -1
- package/dist/types/unifiedOrder.d.ts +0 -38
- package/dist/types/unifiedOrder.js +0 -9
- package/dist/types/unifiedOrder.js.map +0 -1
- package/dist/utilities.d.ts +0 -13
- package/dist/utilities.js +0 -47
- package/dist/utilities.js.map +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ExchangeOrderBuilderV1, ExchangeOrderBuilderV2, } from "../../order-utils/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generate and sign a order
|
|
4
|
-
*
|
|
5
|
-
* @param signer
|
|
6
|
-
* @param exchangeAddress ctf exchange contract address
|
|
7
|
-
* @param chainId
|
|
8
|
-
* @param OrderData
|
|
9
|
-
* @returns SignedOrder
|
|
10
|
-
*/
|
|
11
|
-
export const buildOrder = async (signer, exchangeAddress, chainId, orderData, version = 2) => {
|
|
12
|
-
switch (version) {
|
|
13
|
-
case 1:
|
|
14
|
-
return buildOrderV1(signer, exchangeAddress, chainId, orderData);
|
|
15
|
-
case 2:
|
|
16
|
-
return buildOrderV2(signer, exchangeAddress, chainId, orderData);
|
|
17
|
-
default:
|
|
18
|
-
throw new Error(`unsupported order version ${version}`);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export const buildOrderV1 = async (signer, exchangeAddress, chainId, orderData) => {
|
|
22
|
-
const ctfExchangeOrderBuilder = new ExchangeOrderBuilderV1(exchangeAddress, chainId, signer);
|
|
23
|
-
return ctfExchangeOrderBuilder.buildSignedOrder(orderData);
|
|
24
|
-
};
|
|
25
|
-
export const buildOrderV2 = async (signer, exchangeAddress, chainId, orderData) => {
|
|
26
|
-
const ctfExchangeOrderBuilder = new ExchangeOrderBuilderV2(exchangeAddress, chainId, signer);
|
|
27
|
-
return ctfExchangeOrderBuilder.buildSignedOrder(orderData);
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=buildOrder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,sBAAsB,GAKtB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC9B,MAAkB,EAClB,eAAuB,EACvB,OAAe,EACf,SAAoC,EACpC,UAAkB,CAAC,EACsB,EAAE;IAC3C,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC;YACL,OAAO,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,SAAwB,CAAC,CAAC;QACjF,KAAK,CAAC;YACL,OAAO,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,SAAwB,CAAC,CAAC;QACjF;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAChC,MAAkB,EAClB,eAAuB,EACvB,OAAe,EACf,SAAsB,EACG,EAAE;IAC3B,MAAM,uBAAuB,GAAG,IAAI,sBAAsB,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7F,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAChC,MAAkB,EAClB,eAAuB,EACvB,OAAe,EACf,SAAsB,EACG,EAAE;IAC3B,MAAM,uBAAuB,GAAG,IAAI,sBAAsB,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7F,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { OrderDataV1, OrderDataV2, SignatureTypeV2 } from "../../order-utils/index.js";
|
|
2
|
-
import type { RoundConfig, UserOrderV1, UserOrderV2 } from "../../types/index.js";
|
|
3
|
-
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version: 1): Promise<OrderDataV1>;
|
|
4
|
-
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version?: 2): Promise<OrderDataV2>;
|
|
5
|
-
export declare function buildOrderCreationArgs(signer: string, maker: string, signatureType: SignatureTypeV2, userOrder: UserOrderV1 | UserOrderV2, roundConfig: RoundConfig, version: number): Promise<OrderDataV1 | OrderDataV2>;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { parseUnits, zeroAddress } from "viem";
|
|
2
|
-
import { COLLATERAL_TOKEN_DECIMALS } from "../../config.js";
|
|
3
|
-
import { bytes32Zero } from "../../constants.js";
|
|
4
|
-
import { getOrderRawAmounts } from "./getOrderRawAmounts.js";
|
|
5
|
-
export async function buildOrderCreationArgs(signer, maker, signatureType, userOrder, roundConfig, version = 2) {
|
|
6
|
-
const { side, rawMakerAmt, rawTakerAmt } = getOrderRawAmounts(userOrder.side, userOrder.size, userOrder.price, roundConfig);
|
|
7
|
-
const makerAmount = parseUnits(rawMakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
8
|
-
const takerAmount = parseUnits(rawTakerAmt.toString(), COLLATERAL_TOKEN_DECIMALS).toString();
|
|
9
|
-
if (version === 1) {
|
|
10
|
-
const v1Order = userOrder;
|
|
11
|
-
return {
|
|
12
|
-
maker,
|
|
13
|
-
taker: v1Order.taker ?? zeroAddress,
|
|
14
|
-
tokenId: userOrder.tokenID,
|
|
15
|
-
makerAmount,
|
|
16
|
-
takerAmount,
|
|
17
|
-
side,
|
|
18
|
-
signer,
|
|
19
|
-
signatureType: signatureType,
|
|
20
|
-
feeRateBps: v1Order.feeRateBps?.toString() ?? "0",
|
|
21
|
-
nonce: v1Order.nonce?.toString() ?? "0",
|
|
22
|
-
expiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : "0",
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
maker,
|
|
27
|
-
tokenId: userOrder.tokenID,
|
|
28
|
-
makerAmount,
|
|
29
|
-
takerAmount,
|
|
30
|
-
side,
|
|
31
|
-
signer,
|
|
32
|
-
signatureType,
|
|
33
|
-
timestamp: Date.now().toString(),
|
|
34
|
-
metadata: "metadata" in userOrder ? (userOrder.metadata ?? bytes32Zero) : bytes32Zero,
|
|
35
|
-
builder: userOrder.builderCode ?? bytes32Zero,
|
|
36
|
-
expiration: userOrder.expiration !== undefined ? userOrder.expiration.toString() : "0",
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=buildOrderCreationArgs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildOrderCreationArgs.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/buildOrderCreationArgs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA0B7D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,MAAc,EACd,KAAa,EACb,aAA8B,EAC9B,SAAoC,EACpC,WAAwB,EACxB,UAAkB,CAAC;IAEnB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC5D,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,EACf,WAAW,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7F,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE7F,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,SAAwB,CAAC;QACzC,OAAO;YACN,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW;YACnC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW;YACX,WAAW;YACX,IAAI;YACJ,MAAM;YACN,aAAa,EAAE,aAA2C;YAC1D,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAG;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG;YACvC,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;SACtF,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,WAAW;QACX,WAAW;QACX,IAAI;QACJ,MAAM;QACN,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;QACrF,OAAO,EAAE,SAAS,CAAC,WAAW,IAAI,WAAW;QAC7C,UAAU,EAAE,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG;KACtF,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type OrderSummary, OrderType } from "../../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* calculateBuyMarketPrice calculates the market price to buy a $$ amount
|
|
4
|
-
* @param positions
|
|
5
|
-
* @param amountToMatch worth to buy
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare const calculateBuyMarketPrice: (positions: OrderSummary[], amountToMatch: number, orderType: OrderType) => number;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { OrderType } from "../../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* calculateBuyMarketPrice calculates the market price to buy a $$ amount
|
|
4
|
-
* @param positions
|
|
5
|
-
* @param amountToMatch worth to buy
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export const calculateBuyMarketPrice = (positions, amountToMatch, orderType) => {
|
|
9
|
-
if (!positions.length) {
|
|
10
|
-
throw new Error("no match");
|
|
11
|
-
}
|
|
12
|
-
let sum = 0;
|
|
13
|
-
/*
|
|
14
|
-
Asks:
|
|
15
|
-
[
|
|
16
|
-
{ price: '0.6', size: '100' },
|
|
17
|
-
{ price: '0.55', size: '100' },
|
|
18
|
-
{ price: '0.5', size: '100' }
|
|
19
|
-
]
|
|
20
|
-
So, if the amount to match is $150 that will be reached at first position so price will be 0.6
|
|
21
|
-
*/
|
|
22
|
-
for (let i = positions.length - 1; i >= 0; i--) {
|
|
23
|
-
const p = positions[i];
|
|
24
|
-
sum += parseFloat(p.size) * parseFloat(p.price);
|
|
25
|
-
if (sum >= amountToMatch) {
|
|
26
|
-
return parseFloat(p.price);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (orderType === OrderType.FOK) {
|
|
30
|
-
throw new Error("no match");
|
|
31
|
-
}
|
|
32
|
-
return parseFloat(positions[0].price);
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=calculateBuyMarketPrice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateBuyMarketPrice.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/calculateBuyMarketPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACtC,SAAyB,EACzB,aAAqB,EACrB,SAAoB,EACnB,EAAE;IACH,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ;;;;;;;;MAQK;IACL,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type OrderSummary, OrderType } from "../../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* calculateSellMarketPrice calculates the market price to sell a shares
|
|
4
|
-
* @param positions
|
|
5
|
-
* @param amountToMatch sells to share
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export declare const calculateSellMarketPrice: (positions: OrderSummary[], amountToMatch: number, orderType: OrderType) => number;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { OrderType } from "../../types/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* calculateSellMarketPrice calculates the market price to sell a shares
|
|
4
|
-
* @param positions
|
|
5
|
-
* @param amountToMatch sells to share
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export const calculateSellMarketPrice = (positions, amountToMatch, orderType) => {
|
|
9
|
-
if (!positions.length) {
|
|
10
|
-
throw new Error("no match");
|
|
11
|
-
}
|
|
12
|
-
let sum = 0;
|
|
13
|
-
/*
|
|
14
|
-
Bids:
|
|
15
|
-
[
|
|
16
|
-
{ price: '0.4', size: '100' },
|
|
17
|
-
{ price: '0.45', size: '100' },
|
|
18
|
-
{ price: '0.5', size: '100' }
|
|
19
|
-
]
|
|
20
|
-
So, if the amount to match is 300 that will be reached at the first position so price will be 0.4
|
|
21
|
-
*/
|
|
22
|
-
for (let i = positions.length - 1; i >= 0; i--) {
|
|
23
|
-
const p = positions[i];
|
|
24
|
-
sum += parseFloat(p.size);
|
|
25
|
-
if (sum >= amountToMatch) {
|
|
26
|
-
return parseFloat(p.price);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (orderType === OrderType.FOK) {
|
|
30
|
-
throw new Error("no match");
|
|
31
|
-
}
|
|
32
|
-
return parseFloat(positions[0].price);
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=calculateSellMarketPrice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateSellMarketPrice.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/calculateSellMarketPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,SAAyB,EACzB,aAAqB,EACrB,SAAoB,EACnB,EAAE;IACH,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ;;;;;;;;MAQK;IACL,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { SignedOrderV1, SignedOrderV2 } from "../../order-utils/index.js";
|
|
2
|
-
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
|
-
import { type ClobSigner } from "../../signing/signer.js";
|
|
4
|
-
import type { Chain, CreateOrderOptions, UserMarketOrderV1, UserMarketOrderV2 } from "../../types/index.js";
|
|
5
|
-
export declare const createMarketOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { getContractConfig } from "../../config.js";
|
|
2
|
-
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
|
-
import { getSignerAddress } from "../../signing/signer.js";
|
|
4
|
-
import { buildMarketOrderCreationArgs } from "./buildMarketOrderCreationArgs.js";
|
|
5
|
-
import { buildOrder } from "./buildOrder.js";
|
|
6
|
-
import { ROUNDING_CONFIG } from "./roundingConfig.js";
|
|
7
|
-
export const createMarketOrder = async (eoaSigner, chainId, signatureType, funderAddress, userMarketOrder, options, version) => {
|
|
8
|
-
const eoaSignerAddress = await getSignerAddress(eoaSigner);
|
|
9
|
-
// If funder address is not given, use the signer address
|
|
10
|
-
const maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;
|
|
11
|
-
const contractConfig = getContractConfig(chainId);
|
|
12
|
-
const orderData = await buildMarketOrderCreationArgs(eoaSignerAddress, maker, signatureType, userMarketOrder, ROUNDING_CONFIG[options.tickSize], version);
|
|
13
|
-
let exchangeContract;
|
|
14
|
-
switch (version) {
|
|
15
|
-
case 1:
|
|
16
|
-
if (signatureType === SignatureTypeV2.POLY_1271) {
|
|
17
|
-
throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
|
|
18
|
-
}
|
|
19
|
-
exchangeContract = options.negRisk
|
|
20
|
-
? contractConfig.negRiskExchange
|
|
21
|
-
: contractConfig.exchange;
|
|
22
|
-
break;
|
|
23
|
-
case 2:
|
|
24
|
-
exchangeContract = options.negRisk
|
|
25
|
-
? contractConfig.negRiskExchangeV2
|
|
26
|
-
: contractConfig.exchangeV2;
|
|
27
|
-
break;
|
|
28
|
-
default:
|
|
29
|
-
throw new Error(`unsupported order version ${version}`);
|
|
30
|
-
}
|
|
31
|
-
return buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=createMarketOrder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMarketOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createMarketOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAmB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACrC,SAAqB,EACrB,OAAc,EACd,aAA8B,EAC9B,aAAiC,EACjC,eAAsD,EACtD,OAA2B,EAC3B,OAAe,EAC0B,EAAE;IAC3C,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,4BAA4B,CACnD,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,eAAe,EACf,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EACjC,OAAO,CACP,CAAC;IAEF,IAAI,gBAAwB,CAAC;IAC7B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC;YACL,IAAI,aAAa,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC5E,CAAC;YACD,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,eAAe;gBAChC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3B,MAAM;QACP,KAAK,CAAC;YACL,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,iBAAiB;gBAClC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { SignedOrderV1, SignedOrderV2 } from "../../order-utils/index.js";
|
|
2
|
-
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
|
-
import { type ClobSigner } from "../../signing/signer.js";
|
|
4
|
-
import type { Chain, CreateOrderOptions, UserOrderV1, UserOrderV2 } from "../../types/index.js";
|
|
5
|
-
export declare const createOrder: (eoaSigner: ClobSigner, chainId: Chain, signatureType: SignatureTypeV2, funderAddress: string | undefined, userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number) => Promise<SignedOrderV1 | SignedOrderV2>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { getContractConfig } from "../../config.js";
|
|
2
|
-
import { SignatureTypeV2 } from "../../order-utils/index.js";
|
|
3
|
-
import { getSignerAddress } from "../../signing/signer.js";
|
|
4
|
-
import { buildOrder } from "./buildOrder.js";
|
|
5
|
-
import { buildOrderCreationArgs } from "./buildOrderCreationArgs.js";
|
|
6
|
-
import { ROUNDING_CONFIG } from "./roundingConfig.js";
|
|
7
|
-
export const createOrder = async (eoaSigner, chainId, signatureType, funderAddress, userOrder, options, version) => {
|
|
8
|
-
const eoaSignerAddress = await getSignerAddress(eoaSigner);
|
|
9
|
-
// If funder address is not given, use the signer address
|
|
10
|
-
const maker = funderAddress === undefined ? eoaSignerAddress : funderAddress;
|
|
11
|
-
const contractConfig = getContractConfig(chainId);
|
|
12
|
-
const orderData = await buildOrderCreationArgs(eoaSignerAddress, maker, signatureType, userOrder, ROUNDING_CONFIG[options.tickSize], version);
|
|
13
|
-
let exchangeContract;
|
|
14
|
-
switch (version) {
|
|
15
|
-
case 1:
|
|
16
|
-
if (signatureType === SignatureTypeV2.POLY_1271) {
|
|
17
|
-
throw new Error(`signature type POLY_1271 is not supported for v1 orders`);
|
|
18
|
-
}
|
|
19
|
-
exchangeContract = options.negRisk
|
|
20
|
-
? contractConfig.negRiskExchange
|
|
21
|
-
: contractConfig.exchange;
|
|
22
|
-
break;
|
|
23
|
-
case 2:
|
|
24
|
-
exchangeContract = options.negRisk
|
|
25
|
-
? contractConfig.negRiskExchangeV2
|
|
26
|
-
: contractConfig.exchangeV2;
|
|
27
|
-
break;
|
|
28
|
-
default:
|
|
29
|
-
throw new Error(`unsupported order version ${version}`);
|
|
30
|
-
}
|
|
31
|
-
return buildOrder(eoaSigner, exchangeContract, chainId, orderData, version);
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=createOrder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createOrder.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/createOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAmB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC/B,SAAqB,EACrB,OAAc,EACd,aAA8B,EAC9B,aAAiC,EACjC,SAAoC,EACpC,OAA2B,EAC3B,OAAe,EAC0B,EAAE;IAC3C,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE3D,yDAAyD;IACzD,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC7C,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,SAAS,EACT,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EACjC,OAAO,CACP,CAAC;IACF,IAAI,gBAAwB,CAAC;IAC7B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC;YACL,IAAI,aAAa,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC5E,CAAC;YACD,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,eAAe;gBAChC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3B,MAAM;QACP,KAAK,CAAC;YACL,gBAAgB,GAAG,OAAO,CAAC,OAAO;gBACjC,CAAC,CAAC,cAAc,CAAC,iBAAiB;gBAClC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC7B,MAAM;QACP;YACC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Side } from "../../types/index.js";
|
|
2
|
-
import { decimalPlaces, roundDown, roundUp } from "../../utilities.js";
|
|
3
|
-
export const getMarketOrderRawAmounts = (side, amount, price, roundConfig) => {
|
|
4
|
-
// force 2 decimals places
|
|
5
|
-
const rawPrice = roundDown(price, roundConfig.price);
|
|
6
|
-
if (side === Side.BUY) {
|
|
7
|
-
const rawMakerAmt = roundDown(amount, roundConfig.size);
|
|
8
|
-
let rawTakerAmt = rawMakerAmt / rawPrice;
|
|
9
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
10
|
-
rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
|
|
11
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
12
|
-
rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return {
|
|
16
|
-
side: Side.BUY,
|
|
17
|
-
rawMakerAmt,
|
|
18
|
-
rawTakerAmt,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const rawMakerAmt = roundDown(amount, roundConfig.size);
|
|
23
|
-
let rawTakerAmt = rawMakerAmt * rawPrice;
|
|
24
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
25
|
-
rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
|
|
26
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
27
|
-
rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
side: Side.SELL,
|
|
32
|
-
rawMakerAmt,
|
|
33
|
-
rawTakerAmt,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=getMarketOrderRawAmounts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getMarketOrderRawAmounts.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/getMarketOrderRawAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,IAAU,EACV,MAAc,EACd,KAAa,EACb,WAAwB,EACmC,EAAE;IAC7D,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAErD,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QACzC,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrD,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QACD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,WAAW;YACX,WAAW;SACX,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QACzC,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrD,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW;YACX,WAAW;SACX,CAAC;IACH,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Side } from "../../types/index.js";
|
|
2
|
-
import { decimalPlaces, roundDown, roundNormal, roundUp } from "../../utilities.js";
|
|
3
|
-
export const getOrderRawAmounts = (side, size, price, roundConfig) => {
|
|
4
|
-
const rawPrice = roundNormal(price, roundConfig.price);
|
|
5
|
-
if (side === Side.BUY) {
|
|
6
|
-
// force 2 decimals places
|
|
7
|
-
const rawTakerAmt = roundDown(size, roundConfig.size);
|
|
8
|
-
let rawMakerAmt = rawTakerAmt * rawPrice;
|
|
9
|
-
if (decimalPlaces(rawMakerAmt) > roundConfig.amount) {
|
|
10
|
-
rawMakerAmt = roundUp(rawMakerAmt, roundConfig.amount + 4);
|
|
11
|
-
if (decimalPlaces(rawMakerAmt) > roundConfig.amount) {
|
|
12
|
-
rawMakerAmt = roundDown(rawMakerAmt, roundConfig.amount);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return {
|
|
16
|
-
side: Side.BUY,
|
|
17
|
-
rawMakerAmt,
|
|
18
|
-
rawTakerAmt,
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
const rawMakerAmt = roundDown(size, roundConfig.size);
|
|
23
|
-
let rawTakerAmt = rawMakerAmt * rawPrice;
|
|
24
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
25
|
-
rawTakerAmt = roundUp(rawTakerAmt, roundConfig.amount + 4);
|
|
26
|
-
if (decimalPlaces(rawTakerAmt) > roundConfig.amount) {
|
|
27
|
-
rawTakerAmt = roundDown(rawTakerAmt, roundConfig.amount);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
side: Side.SELL,
|
|
32
|
-
rawMakerAmt,
|
|
33
|
-
rawTakerAmt,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=getOrderRawAmounts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOrderRawAmounts.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/getOrderRawAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,IAAU,EACV,IAAY,EACZ,KAAa,EACb,WAAwB,EACmC,EAAE;IAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,0BAA0B;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QACzC,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrD,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,GAAG;YACd,WAAW;YACX,WAAW;SACX,CAAC;IACH,CAAC;SAAM,CAAC;QACP,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QACzC,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACrD,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrD,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAED,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW;YACX,WAAW;SACX,CAAC;IACH,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { buildMarketOrderCreationArgs } from "./buildMarketOrderCreationArgs.js";
|
|
2
|
-
export { buildOrder } from "./buildOrder.js";
|
|
3
|
-
export { buildOrderCreationArgs } from "./buildOrderCreationArgs.js";
|
|
4
|
-
export { calculateBuyMarketPrice } from "./calculateBuyMarketPrice.js";
|
|
5
|
-
export { calculateSellMarketPrice } from "./calculateSellMarketPrice.js";
|
|
6
|
-
export { createMarketOrder } from "./createMarketOrder.js";
|
|
7
|
-
export { createOrder } from "./createOrder.js";
|
|
8
|
-
export { getMarketOrderRawAmounts } from "./getMarketOrderRawAmounts.js";
|
|
9
|
-
export { getOrderRawAmounts } from "./getOrderRawAmounts.js";
|
|
10
|
-
export { ROUNDING_CONFIG } from "./roundingConfig.js";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { buildMarketOrderCreationArgs } from "./buildMarketOrderCreationArgs.js";
|
|
2
|
-
export { buildOrder } from "./buildOrder.js";
|
|
3
|
-
export { buildOrderCreationArgs } from "./buildOrderCreationArgs.js";
|
|
4
|
-
export { calculateBuyMarketPrice } from "./calculateBuyMarketPrice.js";
|
|
5
|
-
export { calculateSellMarketPrice } from "./calculateSellMarketPrice.js";
|
|
6
|
-
export { createMarketOrder } from "./createMarketOrder.js";
|
|
7
|
-
export { createOrder } from "./createOrder.js";
|
|
8
|
-
export { getMarketOrderRawAmounts } from "./getMarketOrderRawAmounts.js";
|
|
9
|
-
export { getOrderRawAmounts } from "./getOrderRawAmounts.js";
|
|
10
|
-
export { ROUNDING_CONFIG } from "./roundingConfig.js";
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export const ROUNDING_CONFIG = {
|
|
2
|
-
"0.1": {
|
|
3
|
-
price: 1,
|
|
4
|
-
size: 2,
|
|
5
|
-
amount: 3,
|
|
6
|
-
},
|
|
7
|
-
"0.01": {
|
|
8
|
-
price: 2,
|
|
9
|
-
size: 2,
|
|
10
|
-
amount: 4,
|
|
11
|
-
},
|
|
12
|
-
"0.001": {
|
|
13
|
-
price: 3,
|
|
14
|
-
size: 2,
|
|
15
|
-
amount: 5,
|
|
16
|
-
},
|
|
17
|
-
"0.0001": {
|
|
18
|
-
price: 4,
|
|
19
|
-
size: 2,
|
|
20
|
-
amount: 6,
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=roundingConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roundingConfig.js","sourceRoot":"","sources":["../../../src/order-builder/helpers/roundingConfig.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC7D,KAAK,EAAE;QACN,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACT;IACD,MAAM,EAAE;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACT;IACD,OAAO,EAAE;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACT;IACD,QAAQ,EAAE;QACT,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACT;CACD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./orderBuilder.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/order-builder/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { SignatureTypeV2, type SignedOrderV1, type SignedOrderV2 } from "../order-utils/index.js";
|
|
2
|
-
import type { ClobSigner } from "../signing/signer.js";
|
|
3
|
-
import type { Chain, CreateOrderOptions, UserMarketOrderV1, UserMarketOrderV2, UserOrderV1, UserOrderV2 } from "../types/index.js";
|
|
4
|
-
export declare class OrderBuilder {
|
|
5
|
-
readonly signer: ClobSigner;
|
|
6
|
-
readonly chainId: Chain;
|
|
7
|
-
readonly signatureType: SignatureTypeV2;
|
|
8
|
-
readonly funderAddress?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Optional function to dynamically resolve the signer.
|
|
11
|
-
* If provided, this function will be called to obtain a fresh signer instance
|
|
12
|
-
* (e.g., for smart contract wallets or when the signer may change).
|
|
13
|
-
* Should return a Wallet or JsonRpcSigner, or a Promise resolving to one.
|
|
14
|
-
* If not provided, the static `signer` property is used.
|
|
15
|
-
*/
|
|
16
|
-
private getSigner?;
|
|
17
|
-
constructor(signer: ClobSigner, chainId: Chain, signatureType?: SignatureTypeV2, funderAddress?: string, getSigner?: () => Promise<ClobSigner> | ClobSigner);
|
|
18
|
-
/**
|
|
19
|
-
* Generate and sign a order
|
|
20
|
-
*/
|
|
21
|
-
buildOrder(userOrder: UserOrderV1 | UserOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
|
|
22
|
-
/**
|
|
23
|
-
* Generate and sign a market order
|
|
24
|
-
*/
|
|
25
|
-
buildMarketOrder(userMarketOrder: UserMarketOrderV1 | UserMarketOrderV2, options: CreateOrderOptions, version: number): Promise<SignedOrderV1 | SignedOrderV2>;
|
|
26
|
-
/** Unified getter: use fresh signer if available */
|
|
27
|
-
private resolveSigner;
|
|
28
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { SignatureTypeV2 } from "../order-utils/index.js";
|
|
2
|
-
import { createMarketOrder, createOrder } from "./helpers/index.js";
|
|
3
|
-
export class OrderBuilder {
|
|
4
|
-
signer;
|
|
5
|
-
chainId;
|
|
6
|
-
// Signature type used sign orders, defaults to EOA type
|
|
7
|
-
signatureType;
|
|
8
|
-
// Address which holds funds to be used.
|
|
9
|
-
// Used for Polymarket proxy wallets and other smart contract wallets
|
|
10
|
-
// If not provided, funderAddress is the signer address
|
|
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 === undefined ? 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
|
-
const signer = await this.resolveSigner();
|
|
32
|
-
return createOrder(signer, this.chainId, this.signatureType, this.funderAddress, userOrder, options, version);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Generate and sign a market order
|
|
36
|
-
*/
|
|
37
|
-
async buildMarketOrder(userMarketOrder, options, version) {
|
|
38
|
-
const signer = await this.resolveSigner();
|
|
39
|
-
return createMarketOrder(signer, this.chainId, this.signatureType, this.funderAddress, userMarketOrder, options, version);
|
|
40
|
-
}
|
|
41
|
-
/** Unified getter: use fresh signer if available */
|
|
42
|
-
async resolveSigner() {
|
|
43
|
-
if (this.getSigner) {
|
|
44
|
-
const s = await this.getSigner();
|
|
45
|
-
if (!s)
|
|
46
|
-
throw new Error("getSigner() function returned undefined or null");
|
|
47
|
-
return s;
|
|
48
|
-
}
|
|
49
|
-
return this.signer;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=orderBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orderBuilder.js","sourceRoot":"","sources":["../../src/order-builder/orderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0C,MAAM,yBAAyB,CAAC;AAWlG,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,OAAO,YAAY;IACf,MAAM,CAAa;IAEnB,OAAO,CAAQ;IAExB,wDAAwD;IAC/C,aAAa,CAAkB;IAExC,wCAAwC;IACxC,qEAAqE;IACrE,uDAAuD;IAC9C,aAAa,CAAU;IAEhC;;;;;;OAMG;IACK,SAAS,CAA0C;IAE3D,YACC,MAAkB,EAClB,OAAc,EACd,aAA+B,EAC/B,aAAsB,EACtB,SAAkD;QAElD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;QACvF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CACtB,SAAoC,EACpC,OAA2B,EAC3B,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,WAAW,CACjB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,SAAS,EACT,OAAO,EACP,OAAO,CACP,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAC5B,eAAsD,EACtD,OAA2B,EAC3B,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,iBAAiB,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,eAAe,EACf,OAAO,EACP,OAAO,CACP,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,KAAK,CAAC,aAAa;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC3E,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD"}
|