feat: 重构订单路由逻辑,添加订单意图类型以支持多交易所订单处理

This commit is contained in:
discountry
2025-10-23 14:04:44 +08:00
parent fabc8af679
commit ea5da20311
10 changed files with 745 additions and 62 deletions
+14 -1
View File
@@ -1,4 +1,4 @@
import { describe, expect, it, vi } from "vitest";
import { describe, expect, it, vi, beforeEach, afterAll } from "vitest";
import type { ExchangeAdapter } from "../src/exchanges/adapter";
import type { AsterOrder } from "../src/exchanges/types";
import type { OrderLockMap, OrderTimerMap, OrderPendingMap } from "../src/core/order-coordinator";
@@ -12,6 +12,9 @@ import {
unlockOperating,
} from "../src/core/order-coordinator";
const originalTradeExchange = process.env.TRADE_EXCHANGE;
const originalExchange = process.env.EXCHANGE;
const baseOrder: AsterOrder = {
orderId: 1,
clientOrderId: "client",
@@ -47,6 +50,16 @@ function createMockExchange(overrides: Partial<ExchangeAdapter> = {}): ExchangeA
}
describe("order-coordinator", () => {
beforeEach(() => {
process.env.TRADE_EXCHANGE = "aster";
process.env.EXCHANGE = undefined;
});
afterAll(() => {
process.env.TRADE_EXCHANGE = originalTradeExchange;
process.env.EXCHANGE = originalExchange;
});
it("deduplicates orders by type and side", async () => {
const adapter = createMockExchange();
const locks: OrderLockMap = {};