Add Binance exchange support

- Updated the environment configuration to include Binance as a selectable exchange option.
- Enhanced the README documentation to reflect the addition of Binance.
- Implemented the Binance exchange adapter and integrated it into the existing exchange framework.
- Modified the basis arbitrage strategy to support Binance alongside existing exchanges.
- Added tests to ensure proper functionality and integration of Binance within the trading system.
This commit is contained in:
discountry
2026-02-27 11:21:47 +08:00
parent 227484152d
commit 4205d5dc12
18 changed files with 2143 additions and 17 deletions
+13
View File
@@ -5,6 +5,7 @@ import { GrvtExchangeAdapter } from "../src/exchanges/grvt/adapter";
import { BackpackExchangeAdapter } from "../src/exchanges/backpack/adapter";
import { ParadexExchangeAdapter } from "../src/exchanges/paradex/adapter";
import { StandxExchangeAdapter } from "../src/exchanges/standx/adapter";
import { BinanceExchangeAdapter } from "../src/exchanges/binance/adapter";
const ORIGINAL_ENV = { ...process.env };
@@ -32,6 +33,7 @@ describe("exchange factory", () => {
expect(resolveExchangeId("BACKPACK")).toBe("backpack");
expect(resolveExchangeId("PaRaDeX")).toBe("paradex");
expect(resolveExchangeId("StandX")).toBe("standx");
expect(resolveExchangeId("BiNaNcE")).toBe("binance");
});
it("creates grvt adapter when EXCHANGE=grvt", () => {
@@ -79,4 +81,15 @@ describe("exchange factory", () => {
expect(adapter).toBeInstanceOf(StandxExchangeAdapter);
expect(adapter.id).toBe("standx");
});
it("creates binance adapter when EXCHANGE=binance", () => {
process.env.EXCHANGE = "binance";
process.env.BINANCE_API_KEY = "api-key";
process.env.BINANCE_API_SECRET = "api-secret";
process.env.BINANCE_SYMBOL = "BTCUSDT";
const adapter = createExchangeAdapter({ symbol: "BTCUSDT" });
expect(adapter).toBeInstanceOf(BinanceExchangeAdapter);
expect(adapter.id).toBe("binance");
});
});