@3rd-eye-labs/openmm 0.0.1 → 0.1.1
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/README.md +6 -1
- package/dist/cli/cli.js +4 -5
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/balance.d.ts.map +1 -1
- package/dist/cli/commands/balance.js +1 -1
- package/dist/cli/commands/balance.js.map +1 -1
- package/dist/cli/commands/grid.d.ts +3 -0
- package/dist/cli/commands/grid.d.ts.map +1 -0
- package/dist/cli/commands/grid.js +103 -0
- package/dist/cli/commands/grid.js.map +1 -0
- package/dist/cli/commands/multi-trade.d.ts +3 -0
- package/dist/cli/commands/multi-trade.d.ts.map +1 -0
- package/dist/cli/commands/multi-trade.js +175 -0
- package/dist/cli/commands/multi-trade.js.map +1 -0
- package/dist/cli/commands/orderbook.js +1 -1
- package/dist/cli/commands/orderbook.js.map +1 -1
- package/dist/cli/commands/orders.d.ts.map +1 -1
- package/dist/cli/commands/orders.js +3 -4
- package/dist/cli/commands/orders.js.map +1 -1
- package/dist/cli/commands/pool-discovery.d.ts.map +1 -1
- package/dist/cli/commands/pool-discovery.js +15 -8
- package/dist/cli/commands/pool-discovery.js.map +1 -1
- package/dist/cli/commands/price-comparison.d.ts +3 -0
- package/dist/cli/commands/price-comparison.d.ts.map +1 -0
- package/dist/cli/commands/price-comparison.js +103 -0
- package/dist/cli/commands/price-comparison.js.map +1 -0
- package/dist/cli/commands/ticker.d.ts.map +1 -1
- package/dist/cli/commands/ticker.js.map +1 -1
- package/dist/cli/commands/trade.d.ts.map +1 -1
- package/dist/cli/commands/trade.js +135 -18
- package/dist/cli/commands/trade.js.map +1 -1
- package/dist/cli/commands/trades.d.ts.map +1 -1
- package/dist/cli/commands/trades.js +2 -3
- package/dist/cli/commands/trades.js.map +1 -1
- package/dist/cli/exchange-factory.d.ts.map +1 -1
- package/dist/cli/exchange-factory.js +6 -6
- package/dist/cli/exchange-factory.js.map +1 -1
- package/dist/cli/pool-discovery-core.d.ts +2 -1
- package/dist/cli/pool-discovery-core.d.ts.map +1 -1
- package/dist/cli/pool-discovery-core.js +69 -39
- package/dist/cli/pool-discovery-core.js.map +1 -1
- package/dist/cli/pool-discovery.d.ts +56 -0
- package/dist/cli/pool-discovery.d.ts.map +1 -0
- package/dist/cli/pool-discovery.js +283 -0
- package/dist/cli/pool-discovery.js.map +1 -0
- package/dist/cli/utils/error-handler.d.ts.map +1 -1
- package/dist/cli/utils/error-handler.js +6 -5
- package/dist/cli/utils/error-handler.js.map +1 -1
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/config/environment.js +3 -1
- package/dist/config/environment.js.map +1 -1
- package/dist/config/launcher-config.d.ts +13 -0
- package/dist/config/launcher-config.d.ts.map +1 -1
- package/dist/config/launcher-config.js +3 -1
- package/dist/config/launcher-config.js.map +1 -1
- package/dist/config/price-aggregation.d.ts +1 -1
- package/dist/config/price-aggregation.d.ts.map +1 -1
- package/dist/config/price-aggregation.js +20 -20
- package/dist/config/price-aggregation.js.map +1 -1
- package/dist/core/exchange/base-exchange-connector.d.ts.map +1 -1
- package/dist/core/exchange/base-exchange-connector.js +1 -5
- package/dist/core/exchange/base-exchange-connector.js.map +1 -1
- package/dist/core/exchange/base-exchange-data-mapper.d.ts.map +1 -1
- package/dist/core/exchange/base-exchange-data-mapper.js +1 -1
- package/dist/core/exchange/base-exchange-data-mapper.js.map +1 -1
- package/dist/core/price-aggregation/cardano-price-service.d.ts +2 -2
- package/dist/core/price-aggregation/cardano-price-service.d.ts.map +1 -1
- package/dist/core/price-aggregation/cardano-price-service.js +13 -13
- package/dist/core/price-aggregation/cardano-price-service.js.map +1 -1
- package/dist/core/price-aggregation/index.d.ts +1 -1
- package/dist/core/price-aggregation/index.d.ts.map +1 -1
- package/dist/core/price-aggregation/iris-api-client.d.ts.map +1 -1
- package/dist/core/price-aggregation/iris-api-client.js +5 -5
- package/dist/core/price-aggregation/iris-api-client.js.map +1 -1
- package/dist/core/price-aggregation/iris-pool-discovery.d.ts +2 -2
- package/dist/core/price-aggregation/iris-pool-discovery.d.ts.map +1 -1
- package/dist/core/price-aggregation/iris-pool-discovery.js +3 -3
- package/dist/core/price-aggregation/iris-pool-discovery.js.map +1 -1
- package/dist/core/price-aggregation/multi-exchange-price-service.d.ts +38 -0
- package/dist/core/price-aggregation/multi-exchange-price-service.d.ts.map +1 -0
- package/dist/core/price-aggregation/multi-exchange-price-service.js +123 -0
- package/dist/core/price-aggregation/multi-exchange-price-service.js.map +1 -0
- package/dist/core/price-aggregation/price-cache.d.ts +55 -0
- package/dist/core/price-aggregation/price-cache.d.ts.map +1 -0
- package/dist/core/price-aggregation/price-cache.js +152 -0
- package/dist/core/price-aggregation/price-cache.js.map +1 -0
- package/dist/core/price-aggregation/price-calculator.d.ts.map +1 -1
- package/dist/core/price-aggregation/price-calculator.js +3 -3
- package/dist/core/price-aggregation/price-calculator.js.map +1 -1
- package/dist/core/risk-management/risk-manager.d.ts.map +1 -1
- package/dist/core/risk-management/risk-manager.js +2 -2
- package/dist/core/risk-management/risk-manager.js.map +1 -1
- package/dist/core/strategy/strategy-factory.d.ts +5 -0
- package/dist/core/strategy/strategy-factory.d.ts.map +1 -1
- package/dist/core/strategy/strategy-factory.js +127 -5
- package/dist/core/strategy/strategy-factory.js.map +1 -1
- package/dist/examples/mexc-connector-comprehensive-test.d.ts +15 -0
- package/dist/examples/mexc-connector-comprehensive-test.d.ts.map +1 -0
- package/dist/examples/mexc-connector-comprehensive-test.js +514 -0
- package/dist/examples/mexc-connector-comprehensive-test.js.map +1 -0
- package/dist/examples/mexc-order-update-test.d.ts +4 -0
- package/dist/examples/mexc-order-update-test.d.ts.map +1 -0
- package/dist/examples/mexc-order-update-test.js +186 -0
- package/dist/examples/mexc-order-update-test.js.map +1 -0
- package/dist/examples/mexc-test.d.ts +9 -0
- package/dist/examples/mexc-test.d.ts.map +1 -0
- package/dist/examples/mexc-test.js +218 -0
- package/dist/examples/mexc-test.js.map +1 -0
- package/dist/examples/mexc-trades-debug.d.ts +2 -0
- package/dist/examples/mexc-trades-debug.d.ts.map +1 -0
- package/dist/examples/mexc-trades-debug.js +101 -0
- package/dist/examples/mexc-trades-debug.js.map +1 -0
- package/dist/examples/mexc-trades-subscription-debug.d.ts +2 -0
- package/dist/examples/mexc-trades-subscription-debug.d.ts.map +1 -0
- package/dist/examples/mexc-trades-subscription-debug.js +150 -0
- package/dist/examples/mexc-trades-subscription-debug.js.map +1 -0
- package/dist/examples/mexc-websocket-test.d.ts +8 -0
- package/dist/examples/mexc-websocket-test.d.ts.map +1 -0
- package/dist/examples/mexc-websocket-test.js +115 -0
- package/dist/examples/mexc-websocket-test.js.map +1 -0
- package/dist/examples/test-protobuf-status-detection.d.ts +9 -0
- package/dist/examples/test-protobuf-status-detection.d.ts.map +1 -0
- package/dist/examples/test-protobuf-status-detection.js +83 -0
- package/dist/examples/test-protobuf-status-detection.js.map +1 -0
- package/dist/exchanges/base-exchange-connector.d.ts +33 -0
- package/dist/exchanges/base-exchange-connector.d.ts.map +1 -0
- package/dist/exchanges/base-exchange-connector.js +55 -0
- package/dist/exchanges/base-exchange-connector.js.map +1 -0
- package/dist/exchanges/bitget/bitget-auth.d.ts +66 -0
- package/dist/exchanges/bitget/bitget-auth.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-auth.js +203 -0
- package/dist/exchanges/bitget/bitget-auth.js.map +1 -0
- package/dist/exchanges/bitget/bitget-connector.d.ts +255 -0
- package/dist/exchanges/bitget/bitget-connector.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-connector.js +709 -0
- package/dist/exchanges/bitget/bitget-connector.js.map +1 -0
- package/dist/exchanges/bitget/bitget-data-mapper.d.ts +47 -0
- package/dist/exchanges/bitget/bitget-data-mapper.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-data-mapper.js +147 -0
- package/dist/exchanges/bitget/bitget-data-mapper.js.map +1 -0
- package/dist/exchanges/bitget/bitget-user-stream.d.ts +126 -0
- package/dist/exchanges/bitget/bitget-user-stream.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-user-stream.js +474 -0
- package/dist/exchanges/bitget/bitget-user-stream.js.map +1 -0
- package/dist/exchanges/bitget/bitget-utils.d.ts +17 -0
- package/dist/exchanges/bitget/bitget-utils.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-utils.js +60 -0
- package/dist/exchanges/bitget/bitget-utils.js.map +1 -0
- package/dist/exchanges/bitget/bitget-websocket.d.ts +124 -0
- package/dist/exchanges/bitget/bitget-websocket.d.ts.map +1 -0
- package/dist/exchanges/bitget/bitget-websocket.js +434 -0
- package/dist/exchanges/bitget/bitget-websocket.js.map +1 -0
- package/dist/exchanges/gateio/gateio-auth.d.ts +69 -0
- package/dist/exchanges/gateio/gateio-auth.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-auth.js +205 -0
- package/dist/exchanges/gateio/gateio-auth.js.map +1 -0
- package/dist/exchanges/gateio/gateio-connector.d.ts +182 -0
- package/dist/exchanges/gateio/gateio-connector.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-connector.js +605 -0
- package/dist/exchanges/gateio/gateio-connector.js.map +1 -0
- package/dist/exchanges/gateio/gateio-data-mapper.d.ts +57 -0
- package/dist/exchanges/gateio/gateio-data-mapper.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-data-mapper.js +184 -0
- package/dist/exchanges/gateio/gateio-data-mapper.js.map +1 -0
- package/dist/exchanges/gateio/gateio-user-stream.d.ts +120 -0
- package/dist/exchanges/gateio/gateio-user-stream.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-user-stream.js +384 -0
- package/dist/exchanges/gateio/gateio-user-stream.js.map +1 -0
- package/dist/exchanges/gateio/gateio-utils.d.ts +45 -0
- package/dist/exchanges/gateio/gateio-utils.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-utils.js +138 -0
- package/dist/exchanges/gateio/gateio-utils.js.map +1 -0
- package/dist/exchanges/gateio/gateio-websocket.d.ts +145 -0
- package/dist/exchanges/gateio/gateio-websocket.d.ts.map +1 -0
- package/dist/exchanges/gateio/gateio-websocket.js +469 -0
- package/dist/exchanges/gateio/gateio-websocket.js.map +1 -0
- package/dist/exchanges/kraken/kraken-auth.d.ts +12 -0
- package/dist/exchanges/kraken/kraken-auth.d.ts.map +1 -0
- package/dist/exchanges/kraken/kraken-auth.js +68 -0
- package/dist/exchanges/kraken/kraken-auth.js.map +1 -0
- package/dist/exchanges/kraken/kraken-connector.d.ts +38 -0
- package/dist/exchanges/kraken/kraken-connector.d.ts.map +1 -0
- package/dist/exchanges/kraken/kraken-connector.js +355 -0
- package/dist/exchanges/kraken/kraken-connector.js.map +1 -0
- package/dist/exchanges/kraken/kraken-data-mapper.d.ts +14 -0
- package/dist/exchanges/kraken/kraken-data-mapper.d.ts.map +1 -0
- package/dist/exchanges/kraken/kraken-data-mapper.js +169 -0
- package/dist/exchanges/kraken/kraken-data-mapper.js.map +1 -0
- package/dist/exchanges/kraken/kraken-utils.d.ts +52 -0
- package/dist/exchanges/kraken/kraken-utils.d.ts.map +1 -0
- package/dist/exchanges/kraken/kraken-utils.js +206 -0
- package/dist/exchanges/kraken/kraken-utils.js.map +1 -0
- package/dist/exchanges/kraken/kraken-websocket.d.ts +64 -0
- package/dist/exchanges/kraken/kraken-websocket.d.ts.map +1 -0
- package/dist/exchanges/kraken/kraken-websocket.js +667 -0
- package/dist/exchanges/kraken/kraken-websocket.js.map +1 -0
- package/dist/exchanges/kraken/test-kraken-websocket.d.ts +19 -0
- package/dist/exchanges/kraken/test-kraken-websocket.d.ts.map +1 -0
- package/dist/exchanges/kraken/test-kraken-websocket.js +413 -0
- package/dist/exchanges/kraken/test-kraken-websocket.js.map +1 -0
- package/dist/exchanges/mexc/mexc-auth.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-auth.js +5 -5
- package/dist/exchanges/mexc/mexc-auth.js.map +1 -1
- package/dist/exchanges/mexc/mexc-connector.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-connector.js +12 -13
- package/dist/exchanges/mexc/mexc-connector.js.map +1 -1
- package/dist/exchanges/mexc/mexc-data-mapper.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-data-mapper.js +6 -6
- package/dist/exchanges/mexc/mexc-data-mapper.js.map +1 -1
- package/dist/exchanges/mexc/mexc-protobuf-decoder.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-protobuf-decoder.js +14 -13
- package/dist/exchanges/mexc/mexc-protobuf-decoder.js.map +1 -1
- package/dist/exchanges/mexc/mexc-user-stream.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-user-stream.js +5 -5
- package/dist/exchanges/mexc/mexc-user-stream.js.map +1 -1
- package/dist/exchanges/mexc/mexc-utils.d.ts +1 -5
- package/dist/exchanges/mexc/mexc-utils.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-utils.js +33 -39
- package/dist/exchanges/mexc/mexc-utils.js.map +1 -1
- package/dist/exchanges/mexc/mexc-websocket.d.ts.map +1 -1
- package/dist/exchanges/mexc/mexc-websocket.js +45 -31
- package/dist/exchanges/mexc/mexc-websocket.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/resources/index.d.ts +3 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +11 -0
- package/dist/mcp/resources/index.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +29 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +12 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/strategies/grid/grid-calculator.d.ts +63 -4
- package/dist/strategies/grid/grid-calculator.d.ts.map +1 -1
- package/dist/strategies/grid/grid-calculator.js +190 -15
- package/dist/strategies/grid/grid-calculator.js.map +1 -1
- package/dist/strategies/grid/grid-order-manager.d.ts +9 -4
- package/dist/strategies/grid/grid-order-manager.d.ts.map +1 -1
- package/dist/strategies/grid/grid-order-manager.js +58 -15
- package/dist/strategies/grid/grid-order-manager.js.map +1 -1
- package/dist/strategies/grid/grid-strategy.d.ts +11 -0
- package/dist/strategies/grid/grid-strategy.d.ts.map +1 -1
- package/dist/strategies/grid/grid-strategy.js +127 -20
- package/dist/strategies/grid/grid-strategy.js.map +1 -1
- package/dist/strategies/grid/volatility-tracker.d.ts +67 -0
- package/dist/strategies/grid/volatility-tracker.d.ts.map +1 -0
- package/dist/strategies/grid/volatility-tracker.js +109 -0
- package/dist/strategies/grid/volatility-tracker.js.map +1 -0
- package/dist/tests/fixtures/test-helpers.d.ts +5 -0
- package/dist/tests/fixtures/test-helpers.d.ts.map +1 -0
- package/dist/tests/fixtures/test-helpers.js +8 -0
- package/dist/tests/fixtures/test-helpers.js.map +1 -0
- package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts +2 -0
- package/dist/tests/integration/exchanges/mexc/mexc-integration.test.d.ts.map +1 -0
- package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js +237 -0
- package/dist/tests/integration/exchanges/mexc/mexc-integration.test.js.map +1 -0
- package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts +2 -0
- package/dist/tests/integration/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
- package/dist/tests/integration/price-aggregation/cardano-price-service.test.js +57 -0
- package/dist/tests/integration/price-aggregation/cardano-price-service.test.js.map +1 -0
- package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts +2 -0
- package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.d.ts.map +1 -0
- package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js +141 -0
- package/dist/tests/integration/price-aggregation/price-aggregation-integration.test.js.map +1 -0
- package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts +2 -0
- package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.d.ts.map +1 -0
- package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js +375 -0
- package/dist/tests/integration/strategies/grid/grid-strategy-e2e.test.js.map +1 -0
- package/dist/tests/unit/cli/exchange-factory.test.d.ts +2 -0
- package/dist/tests/unit/cli/exchange-factory.test.d.ts.map +1 -0
- package/dist/tests/unit/cli/exchange-factory.test.js +148 -0
- package/dist/tests/unit/cli/exchange-factory.test.js.map +1 -0
- package/dist/tests/unit/config/environment.test.d.ts +2 -0
- package/dist/tests/unit/config/environment.test.d.ts.map +1 -0
- package/dist/tests/unit/config/environment.test.js +158 -0
- package/dist/tests/unit/config/environment.test.js.map +1 -0
- package/dist/tests/unit/config/launcher-config.test.d.ts +2 -0
- package/dist/tests/unit/config/launcher-config.test.d.ts.map +1 -0
- package/dist/tests/unit/config/launcher-config.test.js +117 -0
- package/dist/tests/unit/config/launcher-config.test.js.map +1 -0
- package/dist/tests/unit/config/price-aggregation.test.d.ts +2 -0
- package/dist/tests/unit/config/price-aggregation.test.d.ts.map +1 -0
- package/dist/tests/unit/config/price-aggregation.test.js +144 -0
- package/dist/tests/unit/config/price-aggregation.test.js.map +1 -0
- package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts +2 -0
- package/dist/tests/unit/core/exchange/base-exchange-connector.test.d.ts.map +1 -0
- package/dist/tests/unit/core/exchange/base-exchange-connector.test.js +191 -0
- package/dist/tests/unit/core/exchange/base-exchange-connector.test.js.map +1 -0
- package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts +2 -0
- package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.d.ts.map +1 -0
- package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js +324 -0
- package/dist/tests/unit/core/exchange/base-exchange-data-mapper.test.js.map +1 -0
- package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts +2 -0
- package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.d.ts.map +1 -0
- package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js +177 -0
- package/dist/tests/unit/core/price-aggregation/cardano-price-service.test.js.map +1 -0
- package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts +2 -0
- package/dist/tests/unit/core/price-aggregation/iris-api-client.test.d.ts.map +1 -0
- package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js +168 -0
- package/dist/tests/unit/core/price-aggregation/iris-api-client.test.js.map +1 -0
- package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts +2 -0
- package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.d.ts.map +1 -0
- package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js +217 -0
- package/dist/tests/unit/core/price-aggregation/iris-pool-discovery.test.js.map +1 -0
- package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts +2 -0
- package/dist/tests/unit/core/price-aggregation/price-calculator.test.d.ts.map +1 -0
- package/dist/tests/unit/core/price-aggregation/price-calculator.test.js +229 -0
- package/dist/tests/unit/core/price-aggregation/price-calculator.test.js.map +1 -0
- package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts +2 -0
- package/dist/tests/unit/core/risk-management/risk-manager.test.d.ts.map +1 -0
- package/dist/tests/unit/core/risk-management/risk-manager.test.js +194 -0
- package/dist/tests/unit/core/risk-management/risk-manager.test.js.map +1 -0
- package/dist/tests/unit/core/strategy/base-strategy.test.d.ts +2 -0
- package/dist/tests/unit/core/strategy/base-strategy.test.d.ts.map +1 -0
- package/dist/tests/unit/core/strategy/base-strategy.test.js +254 -0
- package/dist/tests/unit/core/strategy/base-strategy.test.js.map +1 -0
- package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts +2 -0
- package/dist/tests/unit/core/strategy/strategy-factory.test.d.ts.map +1 -0
- package/dist/tests/unit/core/strategy/strategy-factory.test.js +213 -0
- package/dist/tests/unit/core/strategy/strategy-factory.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-auth.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js +452 -0
- package/dist/tests/unit/exchanges/mexc/mexc-auth.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-connector.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js +1419 -0
- package/dist/tests/unit/exchanges/mexc/mexc-connector.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js +435 -0
- package/dist/tests/unit/exchanges/mexc/mexc-data-mapper.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js +314 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-decoder.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js +178 -0
- package/dist/tests/unit/exchanges/mexc/mexc-protobuf-status-detection.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js +502 -0
- package/dist/tests/unit/exchanges/mexc/mexc-user-stream.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-utils.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js +317 -0
- package/dist/tests/unit/exchanges/mexc/mexc-utils.test.js.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts +2 -0
- package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.d.ts.map +1 -0
- package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js +843 -0
- package/dist/tests/unit/exchanges/mexc/mexc-websocket.test.js.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts +2 -0
- package/dist/tests/unit/strategies/grid/grid-calculator.test.d.ts.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-calculator.test.js +67 -0
- package/dist/tests/unit/strategies/grid/grid-calculator.test.js.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts +2 -0
- package/dist/tests/unit/strategies/grid/grid-order-manager.test.d.ts.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-order-manager.test.js +211 -0
- package/dist/tests/unit/strategies/grid/grid-order-manager.test.js.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts +2 -0
- package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.d.ts.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js +197 -0
- package/dist/tests/unit/strategies/grid/grid-strategy-simple.test.js.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts +2 -0
- package/dist/tests/unit/strategies/grid/grid-strategy.test.d.ts.map +1 -0
- package/dist/tests/unit/strategies/grid/grid-strategy.test.js +429 -0
- package/dist/tests/unit/strategies/grid/grid-strategy.test.js.map +1 -0
- package/dist/tests/unit/utils/logger.test.d.ts +2 -0
- package/dist/tests/unit/utils/logger.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/logger.test.js +260 -0
- package/dist/tests/unit/utils/logger.test.js.map +1 -0
- package/dist/tests/unit/utils/symbol-utils.test.d.ts +2 -0
- package/dist/tests/unit/utils/symbol-utils.test.d.ts.map +1 -0
- package/dist/tests/unit/utils/symbol-utils.test.js +178 -0
- package/dist/tests/unit/utils/symbol-utils.test.js.map +1 -0
- package/dist/types/bitget-raw.d.ts +75 -0
- package/dist/types/bitget-raw.d.ts.map +1 -0
- package/dist/types/bitget-raw.js +10 -0
- package/dist/types/bitget-raw.js.map +1 -0
- package/dist/types/bitget.d.ts +35 -0
- package/dist/types/bitget.d.ts.map +1 -0
- package/dist/types/bitget.js +8 -0
- package/dist/types/bitget.js.map +1 -0
- package/dist/types/gateio-raw.d.ts +104 -0
- package/dist/types/gateio-raw.d.ts.map +1 -0
- package/dist/types/gateio-raw.js +7 -0
- package/dist/types/gateio-raw.js.map +1 -0
- package/dist/types/gateio.d.ts +41 -0
- package/dist/types/gateio.d.ts.map +1 -0
- package/dist/types/gateio.js +8 -0
- package/dist/types/gateio.js.map +1 -0
- package/dist/types/grid.d.ts +77 -0
- package/dist/types/grid.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/kraken-raw.d.ts +89 -0
- package/dist/types/kraken-raw.d.ts.map +1 -0
- package/dist/types/kraken-raw.js +10 -0
- package/dist/types/kraken-raw.js.map +1 -0
- package/dist/types/kraken.d.ts +44 -0
- package/dist/types/kraken.d.ts.map +1 -0
- package/dist/types/kraken.js +3 -0
- package/dist/types/kraken.js.map +1 -0
- package/dist/types/mexc.d.ts +9 -0
- package/dist/types/mexc.d.ts.map +1 -1
- package/dist/types/price-aggregation.d.ts +31 -0
- package/dist/types/price-aggregation.d.ts.map +1 -0
- package/dist/types/price-aggregation.js +6 -0
- package/dist/types/price-aggregation.js.map +1 -0
- package/dist/types/price.d.ts +23 -0
- package/dist/types/price.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +5 -0
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/utils/crypto.d.ts +15 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +50 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/exchange-utils.d.ts +194 -0
- package/dist/utils/exchange-utils.d.ts.map +1 -0
- package/dist/utils/exchange-utils.js +455 -0
- package/dist/utils/exchange-utils.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +7 -7
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/validation.d.ts +36 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +174 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +7 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BitgetAuth = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
/**
|
|
10
|
+
* Bitget Authentication and Request Handler
|
|
11
|
+
*
|
|
12
|
+
* Handles API authentication, request signing, and HTTP requests to Bitget API.
|
|
13
|
+
* Implements Bitget's HMAC-SHA256 signature generation with BASE64 encoding.
|
|
14
|
+
*
|
|
15
|
+
* @see https://www.bitget.com/api-doc/common/signature
|
|
16
|
+
*/
|
|
17
|
+
class BitgetAuth {
|
|
18
|
+
/**
|
|
19
|
+
* Initialize Bitget authentication handler
|
|
20
|
+
*
|
|
21
|
+
* @param credentials - Bitget API credentials including API key, secret, and passphrase
|
|
22
|
+
* @param baseUrl - Base URL for Bitget API (defaults to production)
|
|
23
|
+
*/
|
|
24
|
+
constructor(credentials, baseUrl = 'https://api.bitget.com') {
|
|
25
|
+
this.logger = (0, utils_1.createLogger)('bitget-auth');
|
|
26
|
+
this.credentials = credentials;
|
|
27
|
+
this.baseUrl = baseUrl;
|
|
28
|
+
this.validateCredentials();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Generate HMAC-SHA256 signature for Bitget API requests
|
|
32
|
+
*/
|
|
33
|
+
generateSignature(timestamp, method, requestPath, queryString = '', body = '') {
|
|
34
|
+
const queryPart = queryString ? `?${queryString}` : '';
|
|
35
|
+
const signatureString = `${timestamp}${method.toUpperCase()}${requestPath}${queryPart}${body}`;
|
|
36
|
+
try {
|
|
37
|
+
const hmac = crypto_1.default.createHmac('sha256', this.credentials.secret);
|
|
38
|
+
hmac.update(signatureString);
|
|
39
|
+
return hmac.digest('base64');
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
this.logger.error('Failed to generate signature', { error });
|
|
43
|
+
throw new Error(`Failed to generate Bitget API signature: ${error}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get required headers for authenticated Bitget API requests
|
|
48
|
+
*/
|
|
49
|
+
getHeaders(method, requestPath, queryString = '', body = '', timestamp) {
|
|
50
|
+
const requestTimestamp = timestamp || Date.now();
|
|
51
|
+
const signature = this.generateSignature(requestTimestamp, method, requestPath, queryString, body);
|
|
52
|
+
return {
|
|
53
|
+
'Content-Type': 'application/json',
|
|
54
|
+
'ACCESS-KEY': this.credentials.apiKey,
|
|
55
|
+
'ACCESS-SIGN': signature,
|
|
56
|
+
'ACCESS-TIMESTAMP': requestTimestamp.toString(),
|
|
57
|
+
'ACCESS-PASSPHRASE': this.credentials.passphrase,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get headers for public API endpoints
|
|
62
|
+
*/
|
|
63
|
+
getPublicHeaders() {
|
|
64
|
+
return {
|
|
65
|
+
'Content-Type': 'application/json',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Make authenticated request to Bitget API
|
|
70
|
+
*/
|
|
71
|
+
async makeRequest(endpoint, params = {}, method = 'GET', body) {
|
|
72
|
+
const timestamp = Date.now();
|
|
73
|
+
const queryString = Object.entries(params)
|
|
74
|
+
.filter(([, value]) => value !== undefined && value !== null && value !== '')
|
|
75
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
|
|
76
|
+
.join('&');
|
|
77
|
+
const requestBody = body ? JSON.stringify(body) : '';
|
|
78
|
+
const headers = this.getHeaders(method, endpoint, queryString, requestBody, timestamp);
|
|
79
|
+
const url = queryString
|
|
80
|
+
? `${this.baseUrl}${endpoint}?${queryString}`
|
|
81
|
+
: `${this.baseUrl}${endpoint}`;
|
|
82
|
+
try {
|
|
83
|
+
const response = await fetch(url, {
|
|
84
|
+
method,
|
|
85
|
+
headers,
|
|
86
|
+
body: method !== 'GET' ? requestBody || undefined : undefined,
|
|
87
|
+
});
|
|
88
|
+
return await this.handleResponse(response, endpoint);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
this.logger.error('Request failed', { endpoint, method, error });
|
|
92
|
+
throw new Error(`Bitget API request failed: ${error}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Make public request to Bitget API
|
|
97
|
+
*/
|
|
98
|
+
async makePublicRequest(endpoint, params = {}) {
|
|
99
|
+
const queryString = Object.entries(params)
|
|
100
|
+
.filter(([, value]) => value !== undefined && value !== null && value !== '')
|
|
101
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)
|
|
102
|
+
.join('&');
|
|
103
|
+
const url = queryString
|
|
104
|
+
? `${this.baseUrl}${endpoint}?${queryString}`
|
|
105
|
+
: `${this.baseUrl}${endpoint}`;
|
|
106
|
+
try {
|
|
107
|
+
const response = await fetch(url, {
|
|
108
|
+
headers: this.getPublicHeaders(),
|
|
109
|
+
});
|
|
110
|
+
return await this.handleResponse(response, endpoint);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
this.logger.error('Public request failed', { endpoint, error });
|
|
114
|
+
throw new Error(`Bitget public API request failed: ${error}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Handle API response and extract meaningful error messages
|
|
119
|
+
*/
|
|
120
|
+
async handleResponse(response, endpoint) {
|
|
121
|
+
const responseText = await response.text();
|
|
122
|
+
if (!response.ok) {
|
|
123
|
+
let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
|
|
124
|
+
try {
|
|
125
|
+
const errorData = JSON.parse(responseText);
|
|
126
|
+
if (errorData.msg) {
|
|
127
|
+
errorMessage = `Bitget API Error: ${errorData.msg} (Code: ${errorData.code || 'Unknown'})`;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
errorMessage = `HTTP ${response.status}: ${responseText.substring(0, 200)}`;
|
|
132
|
+
}
|
|
133
|
+
this.logger.error('Bitget API request failed', {
|
|
134
|
+
endpoint,
|
|
135
|
+
status: response.status,
|
|
136
|
+
statusText: response.statusText,
|
|
137
|
+
error: errorMessage,
|
|
138
|
+
});
|
|
139
|
+
throw new Error(errorMessage);
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
const data = JSON.parse(responseText);
|
|
143
|
+
if (data.code && data.code !== '00000') {
|
|
144
|
+
const apiError = `Bitget API Error: ${data.msg || 'Unknown error'} (Code: ${data.code})`;
|
|
145
|
+
this.logger.error('Bitget API returned error', {
|
|
146
|
+
endpoint,
|
|
147
|
+
code: data.code,
|
|
148
|
+
message: data.msg,
|
|
149
|
+
data: data.data,
|
|
150
|
+
});
|
|
151
|
+
throw new Error(apiError);
|
|
152
|
+
}
|
|
153
|
+
return data;
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
if (error instanceof Error && error.message.includes('Bitget API Error')) {
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
this.logger.error('Failed to parse response JSON', {
|
|
160
|
+
endpoint,
|
|
161
|
+
responseText: responseText.substring(0, 200),
|
|
162
|
+
});
|
|
163
|
+
throw new Error(`Invalid JSON response from Bitget API: ${error}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Validate that all required credentials are provided
|
|
168
|
+
*/
|
|
169
|
+
validateCredentials() {
|
|
170
|
+
const missing = [];
|
|
171
|
+
if (!this.credentials.apiKey)
|
|
172
|
+
missing.push('apiKey');
|
|
173
|
+
if (!this.credentials.secret)
|
|
174
|
+
missing.push('secret');
|
|
175
|
+
if (!this.credentials.passphrase)
|
|
176
|
+
missing.push('passphrase');
|
|
177
|
+
if (missing.length > 0) {
|
|
178
|
+
throw new Error(`Missing required Bitget credentials: ${missing.join(', ')}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Check if credentials are properly configured
|
|
183
|
+
*/
|
|
184
|
+
validateCredentialsExist() {
|
|
185
|
+
try {
|
|
186
|
+
this.validateCredentials();
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get credentials for WebSocket authentication
|
|
195
|
+
*
|
|
196
|
+
* @returns The BitgetCredentials object
|
|
197
|
+
*/
|
|
198
|
+
getCredentials() {
|
|
199
|
+
return this.credentials;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.BitgetAuth = BitgetAuth;
|
|
203
|
+
//# sourceMappingURL=bitget-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitget-auth.js","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { BaseExchangeConnector } from '../../core/exchange/base-exchange-connector';
|
|
2
|
+
import { Order, OrderBook, Ticker, Trade, OrderType, OrderSide, Balance, ExchangeCredentials, WebSocketStatus } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Bitget Exchange Connector
|
|
5
|
+
*
|
|
6
|
+
* Implements the BaseExchangeConnector interface for Bitget exchange.
|
|
7
|
+
* Provides trading operations, market data access, and WebSocket streaming.
|
|
8
|
+
*/
|
|
9
|
+
export declare class BitgetConnector extends BaseExchangeConnector {
|
|
10
|
+
private auth?;
|
|
11
|
+
private ws?;
|
|
12
|
+
private userStream?;
|
|
13
|
+
private logger;
|
|
14
|
+
private readonly baseUrl;
|
|
15
|
+
private readonly dataMapper;
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Set API credentials and initialize authentication handler
|
|
19
|
+
*
|
|
20
|
+
* @param credentials - Bitget API credentials including apiKey, secret, and passphrase
|
|
21
|
+
* @throws Error if credentials are missing required Bitget fields (passphrase)
|
|
22
|
+
*/
|
|
23
|
+
setCredentials(credentials: ExchangeCredentials): void;
|
|
24
|
+
/**
|
|
25
|
+
* Connect to Bitget API by testing server time and validating credentials
|
|
26
|
+
*
|
|
27
|
+
* @returns Promise that resolves when successfully connected to Bitget API
|
|
28
|
+
* @throws Error if connection fails or credentials are invalid
|
|
29
|
+
*/
|
|
30
|
+
connect(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Disconnect from Bitget API and clean up resources
|
|
33
|
+
*
|
|
34
|
+
* @returns Promise that resolves when successfully disconnected from Bitget API
|
|
35
|
+
*/
|
|
36
|
+
disconnect(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Validate if credentials contain required Bitget fields
|
|
39
|
+
*/
|
|
40
|
+
private isValidBitgetCredentials;
|
|
41
|
+
/**
|
|
42
|
+
* Get account balance for all assets or a specific asset
|
|
43
|
+
*
|
|
44
|
+
* @returns Promise resolving to balance data - either all balances or single asset balance
|
|
45
|
+
* @throws Error if API request fails or credentials are invalid
|
|
46
|
+
*/
|
|
47
|
+
getBalance(): Promise<Record<string, Balance>>;
|
|
48
|
+
getBalance(asset: string): Promise<Balance>;
|
|
49
|
+
/**
|
|
50
|
+
* Create a new order on Bitget exchange
|
|
51
|
+
*
|
|
52
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
53
|
+
* @param type - Order type ('market' or 'limit')
|
|
54
|
+
* @param side - Order side ('buy' or 'sell')
|
|
55
|
+
* @param amount - Order quantity/amount
|
|
56
|
+
* @param price - Optional. Price for limit orders (required for limit orders)
|
|
57
|
+
* @returns Promise resolving to the created order details
|
|
58
|
+
* @throws Error if order creation fails or parameters are invalid
|
|
59
|
+
*/
|
|
60
|
+
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number): Promise<Order>;
|
|
61
|
+
/**
|
|
62
|
+
* Cancel an existing order on Bitget exchange
|
|
63
|
+
*
|
|
64
|
+
* @param orderId - The ID of the order to cancel
|
|
65
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
66
|
+
* @returns Promise that resolves when order is successfully cancelled
|
|
67
|
+
* @throws Error if cancellation fails or order not found
|
|
68
|
+
*/
|
|
69
|
+
cancelOrder(orderId: string, symbol: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Cancel all open orders for a specific symbol
|
|
72
|
+
*
|
|
73
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
74
|
+
* @returns Promise that resolves when all orders are cancelled
|
|
75
|
+
* @throws Error if cancellation fails
|
|
76
|
+
*/
|
|
77
|
+
cancelAllOrders(symbol: string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Get details of a specific order by ID
|
|
80
|
+
*
|
|
81
|
+
* @param orderId - The ID of the order to retrieve
|
|
82
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
83
|
+
* @returns Promise resolving to order details
|
|
84
|
+
* @throws Error if order not found or request fails
|
|
85
|
+
*/
|
|
86
|
+
getOrder(orderId: string, symbol: string): Promise<Order>;
|
|
87
|
+
/**
|
|
88
|
+
* Get all open orders, optionally filtered by symbol
|
|
89
|
+
*
|
|
90
|
+
* @param symbol - Optional. Trading pair symbol to filter orders (e.g., 'SNEK/USDT')
|
|
91
|
+
* @returns Promise resolving to array of open orders
|
|
92
|
+
* @throws Error if request fails
|
|
93
|
+
*/
|
|
94
|
+
getOpenOrders(symbol?: string): Promise<Order[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Get ticker information for a trading pair
|
|
97
|
+
*
|
|
98
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
99
|
+
* @returns Promise resolving to ticker data including prices and volume
|
|
100
|
+
* @throws Error if ticker data not found or request fails
|
|
101
|
+
*/
|
|
102
|
+
getTicker(symbol: string): Promise<Ticker>;
|
|
103
|
+
/**
|
|
104
|
+
* Get order book data for a trading pair
|
|
105
|
+
*
|
|
106
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
107
|
+
* @returns Promise resolving to order book with bids and asks
|
|
108
|
+
* @throws Error if order book data not found or request fails
|
|
109
|
+
*/
|
|
110
|
+
getOrderBook(symbol: string): Promise<OrderBook>;
|
|
111
|
+
/**
|
|
112
|
+
* Get recent trades for a trading pair
|
|
113
|
+
*
|
|
114
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
115
|
+
* @returns Promise resolving to array of recent trade executions
|
|
116
|
+
* @throws Error if request fails
|
|
117
|
+
*/
|
|
118
|
+
getRecentTrades(symbol: string): Promise<Trade[]>;
|
|
119
|
+
/**
|
|
120
|
+
* Connect to Bitget WebSocket for real-time data
|
|
121
|
+
*
|
|
122
|
+
* @returns Promise that resolves when WebSocket connection is established
|
|
123
|
+
* @throws Error if connection fails
|
|
124
|
+
*/
|
|
125
|
+
connectWebSocket(): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Disconnect from Bitget WebSocket
|
|
128
|
+
*
|
|
129
|
+
* @returns Promise that resolves when WebSocket is disconnected
|
|
130
|
+
*/
|
|
131
|
+
disconnectWebSocket(): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Subscribe to real-time ticker updates for a trading pair
|
|
134
|
+
*
|
|
135
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
136
|
+
* @param callback - Function called when ticker updates are received
|
|
137
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
138
|
+
* @throws Error if WebSocket not connected or subscription fails
|
|
139
|
+
*/
|
|
140
|
+
subscribeTicker(symbol: string, callback: (ticker: Ticker) => void): Promise<string>;
|
|
141
|
+
/**
|
|
142
|
+
* Subscribe to real-time order book updates for a trading pair
|
|
143
|
+
*
|
|
144
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
145
|
+
* @param callback - Function called when order book updates are received
|
|
146
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
147
|
+
* @throws Error if WebSocket not connected or subscription fails
|
|
148
|
+
*/
|
|
149
|
+
subscribeOrderBook(symbol: string, callback: (orderbook: OrderBook) => void): Promise<string>;
|
|
150
|
+
/**
|
|
151
|
+
* Subscribe to real-time trade updates for a trading pair
|
|
152
|
+
*
|
|
153
|
+
* @param symbol - Trading pair symbol (e.g., 'SNEK/USDT')
|
|
154
|
+
* @param callback - Function called when new trades are executed
|
|
155
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
156
|
+
* @throws Error if WebSocket not connected or subscription fails
|
|
157
|
+
*/
|
|
158
|
+
subscribeTrades(symbol: string, callback: (trade: Trade) => void): Promise<string>;
|
|
159
|
+
/**
|
|
160
|
+
* Subscribe to real-time order updates (user data)
|
|
161
|
+
*
|
|
162
|
+
* @param callback - Function called when user's order status changes
|
|
163
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
164
|
+
* @throws Error if WebSocket not connected or subscription fails
|
|
165
|
+
*/
|
|
166
|
+
subscribeOrders(callback: (order: Order) => void): Promise<string>;
|
|
167
|
+
/**
|
|
168
|
+
* Unsubscribe from a WebSocket subscription
|
|
169
|
+
*
|
|
170
|
+
* @param subscriptionId - The ID of the subscription to cancel
|
|
171
|
+
* @returns Promise that resolves when subscription is cancelled
|
|
172
|
+
* @throws Error if WebSocket not connected or unsubscribe fails
|
|
173
|
+
*/
|
|
174
|
+
unsubscribe(subscriptionId: string): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Check if WebSocket connection is active
|
|
177
|
+
*
|
|
178
|
+
* @returns Boolean indicating WebSocket connection status
|
|
179
|
+
*/
|
|
180
|
+
isWebSocketConnected(): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Get current WebSocket connection status
|
|
183
|
+
*
|
|
184
|
+
* @returns Current WebSocket status ('connected', 'disconnected', etc.)
|
|
185
|
+
*/
|
|
186
|
+
getWebSocketStatus(): WebSocketStatus;
|
|
187
|
+
/**
|
|
188
|
+
* User Data Stream Methods Implementation
|
|
189
|
+
*/
|
|
190
|
+
/**
|
|
191
|
+
* Connect to user data stream for real-time account updates
|
|
192
|
+
*
|
|
193
|
+
* @returns Promise that resolves when user data stream is connected
|
|
194
|
+
* @throws Error if authentication fails or connection cannot be established
|
|
195
|
+
*/
|
|
196
|
+
connectUserDataStream(): Promise<void>;
|
|
197
|
+
/**
|
|
198
|
+
* Disconnect from user data stream
|
|
199
|
+
*
|
|
200
|
+
* @returns Promise that resolves when user data stream is disconnected
|
|
201
|
+
*/
|
|
202
|
+
disconnectUserDataStream(): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* Subscribe to real-time user order updates (limit/market orders)
|
|
205
|
+
*
|
|
206
|
+
* @param callback - Function called when user's orders change status
|
|
207
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
208
|
+
* @throws Error if user data stream not connected or subscription fails
|
|
209
|
+
*/
|
|
210
|
+
subscribeUserOrders(callback: (order: Order) => void): Promise<string>;
|
|
211
|
+
/**
|
|
212
|
+
* Subscribe to real-time user trade executions
|
|
213
|
+
* Notifies when user's orders are filled/executed
|
|
214
|
+
*
|
|
215
|
+
* @param callback - Function called when user's trades are executed
|
|
216
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
217
|
+
* @throws Error if user data stream not connected or subscription fails
|
|
218
|
+
*/
|
|
219
|
+
subscribeUserTrades(callback: (trade: Trade) => void): Promise<string>;
|
|
220
|
+
/**
|
|
221
|
+
* Subscribe to real-time account balance updates
|
|
222
|
+
*
|
|
223
|
+
* @param callback - Function called when account balance changes
|
|
224
|
+
* @returns Promise resolving to subscription ID for managing the subscription
|
|
225
|
+
* @throws Error if user data stream not connected or subscription fails
|
|
226
|
+
*/
|
|
227
|
+
subscribeAccountUpdates(callback: (accountData: any) => void): Promise<string>;
|
|
228
|
+
/**
|
|
229
|
+
* Check if user data stream is connected
|
|
230
|
+
*
|
|
231
|
+
* @returns Boolean indicating user data stream connection status
|
|
232
|
+
*/
|
|
233
|
+
isUserDataStreamConnected(): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Make authenticated request to Bitget API
|
|
236
|
+
*
|
|
237
|
+
* @param endpoint - API endpoint path
|
|
238
|
+
* @param params - Query parameters for the request
|
|
239
|
+
* @param method - HTTP method ('GET', 'POST', 'PUT', 'DELETE')
|
|
240
|
+
* @param body - Request body data for POST/PUT requests
|
|
241
|
+
* @returns Promise resolving to API response data
|
|
242
|
+
* @throws Error if not authenticated or request fails
|
|
243
|
+
*/
|
|
244
|
+
private makeRequest;
|
|
245
|
+
/**
|
|
246
|
+
* Make public request to Bitget API (no authentication required)
|
|
247
|
+
*
|
|
248
|
+
* @param endpoint - API endpoint path
|
|
249
|
+
* @param params - Query parameters for the request
|
|
250
|
+
* @returns Promise resolving to API response data
|
|
251
|
+
* @throws Error if request fails
|
|
252
|
+
*/
|
|
253
|
+
private makePublicRequest;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=bitget-connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitget-connector.d.ts","sourceRoot":"","sources":["../../../src/exchanges/bitget/bitget-connector.ts"],"names":[],"mappings":"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"}
|