更新环境配置示例,添加 GRVT 相关的 API 凭证和选项,增强文档以支持新的交易所适配器,确保用户能够正确配置和使用 GRVT 交易功能。

This commit is contained in:
discountry
2025-09-27 16:12:20 +08:00
parent 64640f4494
commit dde7ab71a9
60 changed files with 16126 additions and 527 deletions
+42
View File
@@ -0,0 +1,42 @@
import { describe, expect, it, beforeEach, afterEach } from "vitest";
import { createExchangeAdapter, resolveExchangeId } from "../src/exchanges/create-adapter";
import { AsterExchangeAdapter } from "../src/exchanges/aster-adapter";
import { GrvtExchangeAdapter } from "../src/exchanges/grvt/adapter";
const ORIGINAL_ENV = { ...process.env };
beforeEach(() => {
process.env = { ...ORIGINAL_ENV };
});
afterEach(() => {
process.env = { ...ORIGINAL_ENV };
});
describe("exchange factory", () => {
it("defaults to aster when no env is provided", () => {
delete process.env.EXCHANGE;
const adapter = createExchangeAdapter({ symbol: "BTCUSDT" });
expect(adapter).toBeInstanceOf(AsterExchangeAdapter);
expect(adapter.id).toBe("aster");
});
it("resolves exchange id case-insensitively", () => {
expect(resolveExchangeId("Grvt")).toBe("grvt");
expect(resolveExchangeId("ASTER")).toBe("aster");
});
it("creates grvt adapter when EXCHANGE=grvt", () => {
process.env.EXCHANGE = "grvt";
process.env.GRVT_API_KEY = "api-key";
process.env.GRVT_API_SECRET = "0x" + "1".repeat(64);
process.env.GRVT_SUB_ACCOUNT_ID = "sub";
process.env.GRVT_INSTRUMENT = "BTC_USDT_Perp";
process.env.GRVT_SYMBOL = "BTCUSDT";
delete process.env.GRVT_SIGNER_PATH;
const adapter = createExchangeAdapter({ symbol: "BTCUSDT" });
expect(adapter).toBeInstanceOf(GrvtExchangeAdapter);
expect(adapter.id).toBe("grvt");
});
});