diff --git a/examples/create-order.ts b/examples/create-order.ts new file mode 100644 index 0000000..39f2d31 --- /dev/null +++ b/examples/create-order.ts @@ -0,0 +1,44 @@ +import "dotenv/config"; + +import { createLimitOrder, signOrder } from "../src"; // если нужно, изменим путь + +function requireEnv(name: string): string { + const value = process.env[name]; + if (!value) { + console.error(`[clob-order-utils] Missing required env var: ${name}`); + process.exit(1); + } + return value; +} + +async function main() { + const privateKey = requireEnv("PRIVATE_KEY"); + const exchangeAddress = requireEnv("EXCHANGE_ADDRESS"); + const chainIdRaw = requireEnv("CHAIN_ID"); + + const chainId = Number(chainIdRaw); + if (!Number.isFinite(chainId)) { + console.error( + `[clob-order-utils] Invalid CHAIN_ID, expected number, got: ${chainIdRaw}`, + ); + process.exit(1); + } + + const order = createLimitOrder({ + marketId: "MARKET_ID_HERE", + outcome: 0, + price: "0.5", + size: "1", + side: "buy", + maker: exchangeAddress, + chainId, + }); + + const signed = await signOrder(order, privateKey); + console.log(JSON.stringify(signed, null, 2)); +} + +main().catch((err) => { + console.error("[clob-order-utils] Unexpected error:", err); + process.exit(1); +}); diff --git a/package.json b/package.json index 58c4879..967d5f5 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,8 @@ "build": "make build", "test": "make test", "lint": "make lint", - "postbuild": "cp package.json dist && cp README.md dist" + "postbuild": "cp package.json dist && cp README.md dist", + "example:create-order": "ts-node examples/create-order.ts" }, "dependencies": { "@ethersproject/providers": "^5.7.2",