bitget-api 2.3.6 → 3.0.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 +278 -18
- package/{lib → dist/cjs}/broker-client.d.ts +3 -2
- package/{lib → dist/cjs}/broker-client.js +4 -4
- package/dist/cjs/broker-client.js.map +1 -0
- package/{lib → dist/cjs}/constants/enum.d.ts +3 -0
- package/{lib → dist/cjs}/constants/enum.js +3 -0
- package/dist/cjs/constants/enum.js.map +1 -0
- package/{lib → dist/cjs}/futures-client.d.ts +5 -2
- package/{lib → dist/cjs}/futures-client.js +18 -9
- package/dist/cjs/futures-client.js.map +1 -0
- package/dist/cjs/index.d.ts +50 -0
- package/dist/cjs/index.js +67 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/{lib → dist/cjs}/rest-client-v2.d.ts +17 -2
- package/{lib → dist/cjs}/rest-client-v2.js +62 -74
- package/dist/cjs/rest-client-v2.js.map +1 -0
- package/dist/cjs/rest-client-v3.d.ts +440 -0
- package/dist/cjs/rest-client-v3.js +573 -0
- package/dist/cjs/rest-client-v3.js.map +1 -0
- package/{lib → dist/cjs}/spot-client.d.ts +5 -2
- package/{lib → dist/cjs}/spot-client.js +21 -23
- package/dist/cjs/spot-client.js.map +1 -0
- package/{lib → dist/cjs}/types/request/shared.d.ts +4 -4
- package/dist/cjs/types/request/shared.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v1/brokerV1.d.ts +1 -1
- package/dist/cjs/types/request/v1/brokerV1.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v1/futuresV1.d.ts +10 -10
- package/dist/cjs/types/request/v1/futuresV1.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v1/spotV1.d.ts +4 -4
- package/dist/cjs/types/request/v1/spotV1.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/broker.d.ts +3 -3
- package/dist/cjs/types/request/v2/broker.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/common.d.ts +1 -1
- package/dist/cjs/types/request/v2/common.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/copytrading.d.ts +5 -5
- package/dist/cjs/types/request/v2/copytrading.js.map +1 -0
- package/dist/cjs/types/request/v2/earn.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/futures.d.ts +9 -9
- package/dist/cjs/types/request/v2/futures.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/margin.d.ts +5 -5
- package/dist/cjs/types/request/v2/margin.js.map +1 -0
- package/{lib → dist/cjs}/types/request/v2/spot.d.ts +12 -12
- package/dist/cjs/types/request/v2/spot.js.map +1 -0
- package/dist/cjs/types/request/v3/account.d.ts +162 -0
- package/dist/cjs/types/request/v3/account.js +4 -0
- package/dist/cjs/types/request/v3/account.js.map +1 -0
- package/dist/cjs/types/request/v3/loan.d.ts +31 -0
- package/dist/cjs/types/request/v3/loan.js +3 -0
- package/dist/cjs/types/request/v3/loan.js.map +1 -0
- package/dist/cjs/types/request/v3/public.d.ts +65 -0
- package/dist/cjs/types/request/v3/public.js +3 -0
- package/dist/cjs/types/request/v3/public.js.map +1 -0
- package/dist/cjs/types/request/v3/strategy.d.ts +46 -0
- package/dist/cjs/types/request/v3/strategy.js +3 -0
- package/dist/cjs/types/request/v3/strategy.js.map +1 -0
- package/dist/cjs/types/request/v3/trade.d.ts +112 -0
- package/dist/cjs/types/request/v3/trade.js +3 -0
- package/dist/cjs/types/request/v3/trade.js.map +1 -0
- package/{lib → dist/cjs}/types/response/v1/futures.d.ts +1 -1
- package/dist/cjs/types/response/v1/futures.js.map +1 -0
- package/dist/cjs/types/response/v1/shared.js.map +1 -0
- package/dist/cjs/types/response/v1/spot.js.map +1 -0
- package/dist/cjs/types/response/v2/broker.js.map +1 -0
- package/dist/cjs/types/response/v2/common.js.map +1 -0
- package/dist/cjs/types/response/v2/copy-trading.js.map +1 -0
- package/dist/cjs/types/response/v2/earn.js.map +1 -0
- package/{lib → dist/cjs}/types/response/v2/futures.d.ts +1 -1
- package/dist/cjs/types/response/v2/futures.js.map +1 -0
- package/dist/cjs/types/response/v2/margin.js.map +1 -0
- package/{lib → dist/cjs}/types/response/v2/spot.d.ts +1 -1
- package/dist/cjs/types/response/v2/spot.js.map +1 -0
- package/dist/cjs/types/response/v3/account.d.ts +197 -0
- package/dist/cjs/types/response/v3/account.js +3 -0
- package/dist/cjs/types/response/v3/account.js.map +1 -0
- package/dist/cjs/types/response/v3/loan.d.ts +85 -0
- package/dist/cjs/types/response/v3/loan.js +3 -0
- package/dist/cjs/types/response/v3/loan.js.map +1 -0
- package/dist/cjs/types/response/v3/public.d.ts +142 -0
- package/dist/cjs/types/response/v3/public.js +3 -0
- package/dist/cjs/types/response/v3/public.js.map +1 -0
- package/dist/cjs/types/response/v3/strategy.d.ts +26 -0
- package/dist/cjs/types/response/v3/strategy.js +3 -0
- package/dist/cjs/types/response/v3/strategy.js.map +1 -0
- package/dist/cjs/types/response/v3/trade.d.ts +193 -0
- package/dist/cjs/types/response/v3/trade.js +3 -0
- package/dist/cjs/types/response/v3/trade.js.map +1 -0
- package/dist/cjs/types/shared.d.ts +8 -0
- package/{lib → dist/cjs}/types/shared.js.map +1 -1
- package/dist/cjs/types/websockets/ws-api-request.d.ts +20 -0
- package/dist/cjs/types/websockets/ws-api-request.js +3 -0
- package/dist/cjs/types/websockets/ws-api-request.js.map +1 -0
- package/dist/cjs/types/websockets/ws-api-response.d.ts +6 -0
- package/dist/cjs/types/websockets/ws-api-response.js +3 -0
- package/dist/cjs/types/websockets/ws-api-response.js.map +1 -0
- package/dist/cjs/types/websockets/ws-api.d.ts +91 -0
- package/dist/cjs/types/websockets/ws-api.js +11 -0
- package/dist/cjs/types/websockets/ws-api.js.map +1 -0
- package/{lib/types/websockets/events.d.ts → dist/cjs/types/websockets/ws-events.d.ts} +6 -0
- package/dist/cjs/types/websockets/ws-events.js +11 -0
- package/dist/cjs/types/websockets/ws-events.js.map +1 -0
- package/dist/cjs/types/websockets/ws-general.d.ts +112 -0
- package/dist/cjs/types/websockets/ws-general.js +3 -0
- package/dist/cjs/types/websockets/ws-general.js.map +1 -0
- package/{lib → dist/cjs}/util/BaseRestClient.d.ts +3 -2
- package/dist/cjs/util/BaseRestClient.js +274 -0
- package/dist/cjs/util/BaseRestClient.js.map +1 -0
- package/dist/cjs/util/BaseWSClient.d.ts +197 -0
- package/dist/cjs/util/BaseWSClient.js +759 -0
- package/dist/cjs/util/BaseWSClient.js.map +1 -0
- package/dist/cjs/util/WsStore.d.ts +74 -0
- package/dist/cjs/util/WsStore.js +287 -0
- package/dist/cjs/util/WsStore.js.map +1 -0
- package/{lib → dist/cjs}/util/WsStore.types.d.ts +27 -1
- package/{lib → dist/cjs}/util/WsStore.types.js +3 -2
- package/dist/cjs/util/WsStore.types.js.map +1 -0
- package/dist/cjs/util/logger.d.ts +8 -0
- package/{lib → dist/cjs}/util/logger.js +2 -10
- package/dist/cjs/util/logger.js.map +1 -0
- package/{lib → dist/cjs}/util/requestUtils.d.ts +18 -1
- package/{lib → dist/cjs}/util/requestUtils.js +6 -5
- package/dist/cjs/util/requestUtils.js.map +1 -0
- package/{lib → dist/cjs}/util/type-guards.d.ts +4 -1
- package/{lib → dist/cjs}/util/type-guards.js +20 -10
- package/dist/cjs/util/type-guards.js.map +1 -0
- package/dist/cjs/util/webCryptoAPI.d.ts +14 -0
- package/dist/cjs/util/webCryptoAPI.js +80 -0
- package/dist/cjs/util/webCryptoAPI.js.map +1 -0
- package/dist/cjs/util/websocket-util.d.ts +88 -0
- package/dist/cjs/util/websocket-util.js +241 -0
- package/dist/cjs/util/websocket-util.js.map +1 -0
- package/dist/cjs/websocket-api-client.d.ts +89 -0
- package/dist/cjs/websocket-api-client.js +122 -0
- package/dist/cjs/websocket-api-client.js.map +1 -0
- package/{lib/websocket-client.d.ts → dist/cjs/websocket-client-legacy-v1.d.ts} +6 -6
- package/{lib/websocket-client.js → dist/cjs/websocket-client-legacy-v1.js} +211 -156
- package/dist/cjs/websocket-client-legacy-v1.js.map +1 -0
- package/dist/cjs/websocket-client-v2.d.ts +79 -0
- package/dist/cjs/websocket-client-v2.js +339 -0
- package/dist/cjs/websocket-client-v2.js.map +1 -0
- package/dist/cjs/websocket-client-v3.d.ts +84 -0
- package/dist/cjs/websocket-client-v3.js +408 -0
- package/dist/cjs/websocket-client-v3.js.map +1 -0
- package/dist/mjs/broker-client.d.ts +127 -0
- package/dist/mjs/broker-client.js +158 -0
- package/dist/mjs/broker-client.js.map +1 -0
- package/dist/mjs/constants/enum.d.ts +31 -0
- package/dist/mjs/constants/enum.js +32 -0
- package/dist/mjs/constants/enum.js.map +1 -0
- package/dist/mjs/futures-client.d.ts +184 -0
- package/dist/mjs/futures-client.js +473 -0
- package/dist/mjs/futures-client.js.map +1 -0
- package/dist/mjs/index.d.ts +50 -0
- package/dist/mjs/index.js +51 -0
- package/dist/mjs/index.js.map +1 -0
- package/dist/mjs/package.json +3 -0
- package/dist/mjs/rest-client-v2.d.ts +1098 -0
- package/dist/mjs/rest-client-v2.js +1092 -0
- package/dist/mjs/rest-client-v2.js.map +1 -0
- package/dist/mjs/rest-client-v3.d.ts +440 -0
- package/dist/mjs/rest-client-v3.js +566 -0
- package/dist/mjs/rest-client-v3.js.map +1 -0
- package/dist/mjs/spot-client.d.ts +154 -0
- package/dist/mjs/spot-client.js +273 -0
- package/dist/mjs/spot-client.js.map +1 -0
- package/dist/mjs/types/request/shared.d.ts +23 -0
- package/dist/mjs/types/request/shared.js +2 -0
- package/dist/mjs/types/request/shared.js.map +1 -0
- package/dist/mjs/types/request/v1/brokerV1.d.ts +23 -0
- package/dist/mjs/types/request/v1/brokerV1.js +2 -0
- package/dist/mjs/types/request/v1/brokerV1.js.map +1 -0
- package/dist/mjs/types/request/v1/futuresV1.d.ts +168 -0
- package/dist/mjs/types/request/v1/futuresV1.js +2 -0
- package/dist/mjs/types/request/v1/futuresV1.js.map +1 -0
- package/dist/mjs/types/request/v1/spotV1.d.ts +105 -0
- package/dist/mjs/types/request/v1/spotV1.js +2 -0
- package/dist/mjs/types/request/v1/spotV1.js.map +1 -0
- package/dist/mjs/types/request/v2/broker.d.ts +69 -0
- package/dist/mjs/types/request/v2/broker.js +7 -0
- package/dist/mjs/types/request/v2/broker.js.map +1 -0
- package/dist/mjs/types/request/v2/common.d.ts +163 -0
- package/dist/mjs/types/request/v2/common.js +2 -0
- package/dist/mjs/types/request/v2/common.js.map +1 -0
- package/dist/mjs/types/request/v2/copytrading.d.ts +196 -0
- package/dist/mjs/types/request/v2/copytrading.js +9 -0
- package/dist/mjs/types/request/v2/copytrading.js.map +1 -0
- package/dist/mjs/types/request/v2/earn.d.ts +121 -0
- package/dist/mjs/types/request/v2/earn.js +9 -0
- package/dist/mjs/types/request/v2/earn.js.map +1 -0
- package/dist/mjs/types/request/v2/futures.d.ts +363 -0
- package/dist/mjs/types/request/v2/futures.js +2 -0
- package/dist/mjs/types/request/v2/futures.js.map +1 -0
- package/dist/mjs/types/request/v2/margin.d.ts +121 -0
- package/dist/mjs/types/request/v2/margin.js +7 -0
- package/dist/mjs/types/request/v2/margin.js.map +1 -0
- package/dist/mjs/types/request/v2/spot.d.ts +265 -0
- package/dist/mjs/types/request/v2/spot.js +2 -0
- package/dist/mjs/types/request/v2/spot.js.map +1 -0
- package/dist/mjs/types/request/v3/account.d.ts +162 -0
- package/dist/mjs/types/request/v3/account.js +3 -0
- package/dist/mjs/types/request/v3/account.js.map +1 -0
- package/dist/mjs/types/request/v3/loan.d.ts +31 -0
- package/dist/mjs/types/request/v3/loan.js +2 -0
- package/dist/mjs/types/request/v3/loan.js.map +1 -0
- package/dist/mjs/types/request/v3/public.d.ts +65 -0
- package/dist/mjs/types/request/v3/public.js +2 -0
- package/dist/mjs/types/request/v3/public.js.map +1 -0
- package/dist/mjs/types/request/v3/strategy.d.ts +46 -0
- package/dist/mjs/types/request/v3/strategy.js +2 -0
- package/dist/mjs/types/request/v3/strategy.js.map +1 -0
- package/dist/mjs/types/request/v3/trade.d.ts +112 -0
- package/dist/mjs/types/request/v3/trade.js +2 -0
- package/dist/mjs/types/request/v3/trade.js.map +1 -0
- package/dist/mjs/types/response/v1/futures.d.ts +72 -0
- package/dist/mjs/types/response/v1/futures.js +2 -0
- package/dist/mjs/types/response/v1/futures.js.map +1 -0
- package/dist/mjs/types/response/v1/shared.d.ts +15 -0
- package/dist/mjs/types/response/v1/shared.js +2 -0
- package/dist/mjs/types/response/v1/shared.js.map +1 -0
- package/dist/mjs/types/response/v1/spot.d.ts +65 -0
- package/dist/mjs/types/response/v1/spot.js +2 -0
- package/dist/mjs/types/response/v1/spot.js.map +1 -0
- package/dist/mjs/types/response/v2/broker.d.ts +135 -0
- package/dist/mjs/types/response/v2/broker.js +7 -0
- package/dist/mjs/types/response/v2/broker.js.map +1 -0
- package/dist/mjs/types/response/v2/common.d.ts +384 -0
- package/dist/mjs/types/response/v2/common.js +7 -0
- package/dist/mjs/types/response/v2/common.js.map +1 -0
- package/dist/mjs/types/response/v2/copy-trading.d.ts +385 -0
- package/dist/mjs/types/response/v2/copy-trading.js +9 -0
- package/dist/mjs/types/response/v2/copy-trading.js.map +1 -0
- package/dist/mjs/types/response/v2/earn.d.ts +294 -0
- package/dist/mjs/types/response/v2/earn.js +9 -0
- package/dist/mjs/types/response/v2/earn.js.map +1 -0
- package/dist/mjs/types/response/v2/futures.d.ts +546 -0
- package/dist/mjs/types/response/v2/futures.js +7 -0
- package/dist/mjs/types/response/v2/futures.js.map +1 -0
- package/dist/mjs/types/response/v2/margin.d.ts +277 -0
- package/dist/mjs/types/response/v2/margin.js +7 -0
- package/dist/mjs/types/response/v2/margin.js.map +1 -0
- package/dist/mjs/types/response/v2/spot.d.ts +385 -0
- package/dist/mjs/types/response/v2/spot.js +7 -0
- package/dist/mjs/types/response/v2/spot.js.map +1 -0
- package/dist/mjs/types/response/v3/account.d.ts +197 -0
- package/dist/mjs/types/response/v3/account.js +2 -0
- package/dist/mjs/types/response/v3/account.js.map +1 -0
- package/dist/mjs/types/response/v3/loan.d.ts +85 -0
- package/dist/mjs/types/response/v3/loan.js +2 -0
- package/dist/mjs/types/response/v3/loan.js.map +1 -0
- package/dist/mjs/types/response/v3/public.d.ts +142 -0
- package/dist/mjs/types/response/v3/public.js +2 -0
- package/dist/mjs/types/response/v3/public.js.map +1 -0
- package/dist/mjs/types/response/v3/strategy.d.ts +26 -0
- package/dist/mjs/types/response/v3/strategy.js +2 -0
- package/dist/mjs/types/response/v3/strategy.js.map +1 -0
- package/dist/mjs/types/response/v3/trade.d.ts +193 -0
- package/dist/mjs/types/response/v3/trade.js +2 -0
- package/dist/mjs/types/response/v3/trade.js.map +1 -0
- package/dist/mjs/types/shared.d.ts +8 -0
- package/dist/mjs/types/shared.js +2 -0
- package/{lib/types/request → dist/mjs/types}/shared.js.map +1 -1
- package/dist/mjs/types/websockets/ws-api-request.d.ts +20 -0
- package/dist/mjs/types/websockets/ws-api-request.js +2 -0
- package/dist/mjs/types/websockets/ws-api-request.js.map +1 -0
- package/dist/mjs/types/websockets/ws-api-response.d.ts +6 -0
- package/dist/mjs/types/websockets/ws-api-response.js +2 -0
- package/dist/mjs/types/websockets/ws-api-response.js.map +1 -0
- package/dist/mjs/types/websockets/ws-api.d.ts +91 -0
- package/dist/mjs/types/websockets/ws-api.js +8 -0
- package/dist/mjs/types/websockets/ws-api.js.map +1 -0
- package/dist/mjs/types/websockets/ws-events.d.ts +81 -0
- package/dist/mjs/types/websockets/ws-events.js +8 -0
- package/dist/mjs/types/websockets/ws-events.js.map +1 -0
- package/dist/mjs/types/websockets/ws-general.d.ts +112 -0
- package/dist/mjs/types/websockets/ws-general.js +2 -0
- package/dist/mjs/types/websockets/ws-general.js.map +1 -0
- package/dist/mjs/util/BaseRestClient.d.ts +40 -0
- package/dist/mjs/util/BaseRestClient.js +268 -0
- package/dist/mjs/util/BaseRestClient.js.map +1 -0
- package/dist/mjs/util/BaseWSClient.d.ts +197 -0
- package/dist/mjs/util/BaseWSClient.js +752 -0
- package/dist/mjs/util/BaseWSClient.js.map +1 -0
- package/dist/mjs/util/WsStore.d.ts +74 -0
- package/dist/mjs/util/WsStore.js +282 -0
- package/dist/mjs/util/WsStore.js.map +1 -0
- package/dist/mjs/util/WsStore.types.d.ts +52 -0
- package/dist/mjs/util/WsStore.types.js +11 -0
- package/dist/mjs/util/WsStore.types.js.map +1 -0
- package/dist/mjs/util/logger.d.ts +8 -0
- package/dist/mjs/util/logger.js +14 -0
- package/dist/mjs/util/logger.js.map +1 -0
- package/dist/mjs/util/requestUtils.d.ts +61 -0
- package/dist/mjs/util/requestUtils.js +50 -0
- package/dist/mjs/util/requestUtils.js.map +1 -0
- package/dist/mjs/util/type-guards.d.ts +16 -0
- package/dist/mjs/util/type-guards.js +62 -0
- package/dist/mjs/util/type-guards.js.map +1 -0
- package/dist/mjs/util/webCryptoAPI.d.ts +14 -0
- package/dist/mjs/util/webCryptoAPI.js +76 -0
- package/dist/mjs/util/webCryptoAPI.js.map +1 -0
- package/dist/mjs/util/websocket-util.d.ts +88 -0
- package/dist/mjs/util/websocket-util.js +227 -0
- package/dist/mjs/util/websocket-util.js.map +1 -0
- package/dist/mjs/websocket-api-client.d.ts +89 -0
- package/dist/mjs/websocket-api-client.js +118 -0
- package/dist/mjs/websocket-api-client.js.map +1 -0
- package/{lib/util/BaseWSClient.d.ts → dist/mjs/websocket-client-legacy-v1.d.ts} +44 -27
- package/dist/mjs/websocket-client-legacy-v1.js +502 -0
- package/dist/mjs/websocket-client-legacy-v1.js.map +1 -0
- package/dist/mjs/websocket-client-v2.d.ts +79 -0
- package/dist/mjs/websocket-client-v2.js +335 -0
- package/dist/mjs/websocket-client-v2.js.map +1 -0
- package/dist/mjs/websocket-client-v3.d.ts +84 -0
- package/dist/mjs/websocket-client-v3.js +404 -0
- package/dist/mjs/websocket-client-v3.js.map +1 -0
- package/llms.txt +14190 -0
- package/package.json +34 -15
- package/index.js +0 -1
- package/lib/broker-client.js.map +0 -1
- package/lib/constants/enum.js.map +0 -1
- package/lib/futures-client.js.map +0 -1
- package/lib/index.d.ts +0 -10
- package/lib/index.js +0 -27
- package/lib/index.js.map +0 -1
- package/lib/rest-client-v2.js.map +0 -1
- package/lib/spot-client.js.map +0 -1
- package/lib/types/index.d.ts +0 -4
- package/lib/types/index.js +0 -21
- package/lib/types/index.js.map +0 -1
- package/lib/types/request/index.d.ts +0 -11
- package/lib/types/request/index.js +0 -28
- package/lib/types/request/index.js.map +0 -1
- package/lib/types/request/v1/brokerV1.js.map +0 -1
- package/lib/types/request/v1/futuresV1.js.map +0 -1
- package/lib/types/request/v1/spotV1.js.map +0 -1
- package/lib/types/request/v2/broker.js.map +0 -1
- package/lib/types/request/v2/common.js.map +0 -1
- package/lib/types/request/v2/copytrading.js.map +0 -1
- package/lib/types/request/v2/earn.js.map +0 -1
- package/lib/types/request/v2/futures.js.map +0 -1
- package/lib/types/request/v2/margin.js.map +0 -1
- package/lib/types/request/v2/spot.js.map +0 -1
- package/lib/types/response/index.d.ts +0 -10
- package/lib/types/response/index.js +0 -27
- package/lib/types/response/index.js.map +0 -1
- package/lib/types/response/v1/futures.js.map +0 -1
- package/lib/types/response/v1/shared.js.map +0 -1
- package/lib/types/response/v1/spot.js.map +0 -1
- package/lib/types/response/v2/broker.js.map +0 -1
- package/lib/types/response/v2/common.js.map +0 -1
- package/lib/types/response/v2/copy-trading.js.map +0 -1
- package/lib/types/response/v2/earn.js.map +0 -1
- package/lib/types/response/v2/futures.js.map +0 -1
- package/lib/types/response/v2/margin.js.map +0 -1
- package/lib/types/response/v2/spot.js.map +0 -1
- package/lib/types/shared.d.ts +0 -8
- package/lib/types/websockets/client.d.ts +0 -76
- package/lib/types/websockets/client.js +0 -3
- package/lib/types/websockets/client.js.map +0 -1
- package/lib/types/websockets/events.js +0 -3
- package/lib/types/websockets/events.js.map +0 -1
- package/lib/types/websockets/index.d.ts +0 -2
- package/lib/types/websockets/index.js +0 -19
- package/lib/types/websockets/index.js.map +0 -1
- package/lib/util/BaseRestClient.js +0 -221
- package/lib/util/BaseRestClient.js.map +0 -1
- package/lib/util/BaseWSClient.js +0 -395
- package/lib/util/BaseWSClient.js.map +0 -1
- package/lib/util/WsStore.d.ts +0 -26
- package/lib/util/WsStore.js +0 -126
- package/lib/util/WsStore.js.map +0 -1
- package/lib/util/WsStore.types.js.map +0 -1
- package/lib/util/browser-support.d.ts +0 -1
- package/lib/util/browser-support.js +0 -45
- package/lib/util/browser-support.js.map +0 -1
- package/lib/util/index.d.ts +0 -6
- package/lib/util/index.js +0 -23
- package/lib/util/index.js.map +0 -1
- package/lib/util/logger.d.ts +0 -9
- package/lib/util/logger.js.map +0 -1
- package/lib/util/node-support.d.ts +0 -2
- package/lib/util/node-support.js +0 -34
- package/lib/util/node-support.js.map +0 -1
- package/lib/util/requestUtils.js.map +0 -1
- package/lib/util/type-guards.js.map +0 -1
- package/lib/util/websocket-util.d.ts +0 -47
- package/lib/util/websocket-util.js +0 -154
- package/lib/util/websocket-util.js.map +0 -1
- package/lib/websocket-client-v2.d.ts +0 -33
- package/lib/websocket-client-v2.js +0 -104
- package/lib/websocket-client-v2.js.map +0 -1
- package/lib/websocket-client.js.map +0 -1
- /package/{lib → dist/cjs}/types/request/shared.js +0 -0
- /package/{lib → dist/cjs}/types/request/v1/brokerV1.js +0 -0
- /package/{lib → dist/cjs}/types/request/v1/futuresV1.js +0 -0
- /package/{lib → dist/cjs}/types/request/v1/spotV1.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/broker.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/common.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/copytrading.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/earn.d.ts +0 -0
- /package/{lib → dist/cjs}/types/request/v2/earn.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/futures.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/margin.js +0 -0
- /package/{lib → dist/cjs}/types/request/v2/spot.js +0 -0
- /package/{lib → dist/cjs}/types/response/v1/futures.js +0 -0
- /package/{lib → dist/cjs}/types/response/v1/shared.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v1/shared.js +0 -0
- /package/{lib → dist/cjs}/types/response/v1/spot.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v1/spot.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/broker.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v2/broker.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/common.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v2/common.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/copy-trading.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v2/copy-trading.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/earn.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v2/earn.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/futures.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/margin.d.ts +0 -0
- /package/{lib → dist/cjs}/types/response/v2/margin.js +0 -0
- /package/{lib → dist/cjs}/types/response/v2/spot.js +0 -0
- /package/{lib → dist/cjs}/types/shared.js +0 -0
package/lib/util/WsStore.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import WebSocket from 'isomorphic-ws';
|
|
2
|
-
import { DefaultLogger } from './logger';
|
|
3
|
-
import { WsConnectionStateEnum, WsStoredState } from './WsStore.types';
|
|
4
|
-
export default class WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends object> {
|
|
5
|
-
private wsState;
|
|
6
|
-
private logger;
|
|
7
|
-
constructor(logger: typeof DefaultLogger);
|
|
8
|
-
/** Get WS stored state for key, optionally create if missing */
|
|
9
|
-
get(key: WsKey, createIfMissing?: true): WsStoredState<TWSTopicSubscribeEventArgs>;
|
|
10
|
-
get(key: WsKey, createIfMissing?: false): WsStoredState<TWSTopicSubscribeEventArgs> | undefined;
|
|
11
|
-
getKeys(): WsKey[];
|
|
12
|
-
create(key: WsKey): WsStoredState<TWSTopicSubscribeEventArgs> | undefined;
|
|
13
|
-
delete(key: WsKey): void;
|
|
14
|
-
hasExistingActiveConnection(key: WsKey): boolean;
|
|
15
|
-
getWs(key: WsKey): WebSocket | undefined;
|
|
16
|
-
setWs(key: WsKey, wsConnection: WebSocket): WebSocket;
|
|
17
|
-
isWsOpen(key: WsKey): boolean;
|
|
18
|
-
getConnectionState(key: WsKey): WsConnectionStateEnum;
|
|
19
|
-
setConnectionState(key: WsKey, state: WsConnectionStateEnum): void;
|
|
20
|
-
isConnectionState(key: WsKey, state: WsConnectionStateEnum): boolean;
|
|
21
|
-
getTopics(key: WsKey): Set<TWSTopicSubscribeEventArgs>;
|
|
22
|
-
getTopicsByKey(): Record<string, Set<TWSTopicSubscribeEventArgs>>;
|
|
23
|
-
getMatchingTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): TWSTopicSubscribeEventArgs | undefined;
|
|
24
|
-
addTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;
|
|
25
|
-
deleteTopic(key: WsKey, topic: TWSTopicSubscribeEventArgs): Set<TWSTopicSubscribeEventArgs>;
|
|
26
|
-
}
|
package/lib/util/WsStore.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const logger_1 = require("./logger");
|
|
4
|
-
const WsStore_types_1 = require("./WsStore.types");
|
|
5
|
-
function isDeepObjectMatch(object1, object2) {
|
|
6
|
-
for (const key in object1) {
|
|
7
|
-
if (object1[key] !== object2[key]) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
class WsStore {
|
|
14
|
-
constructor(logger) {
|
|
15
|
-
this.wsState = {};
|
|
16
|
-
this.logger = logger || logger_1.DefaultLogger;
|
|
17
|
-
}
|
|
18
|
-
get(key, createIfMissing) {
|
|
19
|
-
if (this.wsState[key]) {
|
|
20
|
-
return this.wsState[key];
|
|
21
|
-
}
|
|
22
|
-
if (createIfMissing) {
|
|
23
|
-
return this.create(key);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
getKeys() {
|
|
27
|
-
return Object.keys(this.wsState);
|
|
28
|
-
}
|
|
29
|
-
create(key) {
|
|
30
|
-
if (this.hasExistingActiveConnection(key)) {
|
|
31
|
-
this.logger.warning('WsStore setConnection() overwriting existing open connection: ', this.getWs(key));
|
|
32
|
-
}
|
|
33
|
-
this.wsState[key] = {
|
|
34
|
-
subscribedTopics: new Set(),
|
|
35
|
-
connectionState: WsStore_types_1.WsConnectionStateEnum.INITIAL,
|
|
36
|
-
};
|
|
37
|
-
return this.get(key);
|
|
38
|
-
}
|
|
39
|
-
delete(key) {
|
|
40
|
-
// TODO: should we allow this at all? Perhaps block this from happening...
|
|
41
|
-
if (this.hasExistingActiveConnection(key)) {
|
|
42
|
-
const ws = this.getWs(key);
|
|
43
|
-
this.logger.warning('WsStore deleting state for connection still open: ', ws);
|
|
44
|
-
ws === null || ws === void 0 ? void 0 : ws.close();
|
|
45
|
-
}
|
|
46
|
-
delete this.wsState[key];
|
|
47
|
-
}
|
|
48
|
-
/* connection websocket */
|
|
49
|
-
hasExistingActiveConnection(key) {
|
|
50
|
-
return this.get(key) && this.isWsOpen(key);
|
|
51
|
-
}
|
|
52
|
-
getWs(key) {
|
|
53
|
-
var _a;
|
|
54
|
-
return (_a = this.get(key)) === null || _a === void 0 ? void 0 : _a.ws;
|
|
55
|
-
}
|
|
56
|
-
setWs(key, wsConnection) {
|
|
57
|
-
if (this.isWsOpen(key)) {
|
|
58
|
-
this.logger.warning('WsStore setConnection() overwriting existing open connection: ', this.getWs(key));
|
|
59
|
-
}
|
|
60
|
-
this.get(key, true).ws = wsConnection;
|
|
61
|
-
return wsConnection;
|
|
62
|
-
}
|
|
63
|
-
/* connection state */
|
|
64
|
-
isWsOpen(key) {
|
|
65
|
-
const existingConnection = this.getWs(key);
|
|
66
|
-
return (!!existingConnection &&
|
|
67
|
-
existingConnection.readyState === existingConnection.OPEN);
|
|
68
|
-
}
|
|
69
|
-
getConnectionState(key) {
|
|
70
|
-
return this.get(key, true).connectionState;
|
|
71
|
-
}
|
|
72
|
-
setConnectionState(key, state) {
|
|
73
|
-
this.get(key, true).connectionState = state;
|
|
74
|
-
}
|
|
75
|
-
isConnectionState(key, state) {
|
|
76
|
-
return this.getConnectionState(key) === state;
|
|
77
|
-
}
|
|
78
|
-
/* subscribed topics */
|
|
79
|
-
getTopics(key) {
|
|
80
|
-
return this.get(key, true).subscribedTopics;
|
|
81
|
-
}
|
|
82
|
-
getTopicsByKey() {
|
|
83
|
-
const result = {};
|
|
84
|
-
for (const refKey in this.wsState) {
|
|
85
|
-
result[refKey] = this.getTopics(refKey);
|
|
86
|
-
}
|
|
87
|
-
return result;
|
|
88
|
-
}
|
|
89
|
-
// Since topics are objects we can't rely on the set to detect duplicates
|
|
90
|
-
getMatchingTopic(key, topic) {
|
|
91
|
-
// if (typeof topic === 'string') {
|
|
92
|
-
// return this.getMatchingTopic(key, { channel: topic });
|
|
93
|
-
// }
|
|
94
|
-
const allTopics = this.getTopics(key).values();
|
|
95
|
-
for (const storedTopic of allTopics) {
|
|
96
|
-
if (isDeepObjectMatch(topic, storedTopic)) {
|
|
97
|
-
return storedTopic;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
addTopic(key, topic) {
|
|
102
|
-
// if (typeof topic === 'string') {
|
|
103
|
-
// return this.addTopic(key, {
|
|
104
|
-
// instType: 'sp',
|
|
105
|
-
// channel: topic,
|
|
106
|
-
// instId: 'default',
|
|
107
|
-
// };
|
|
108
|
-
// }
|
|
109
|
-
// Check for duplicate topic. If already tracked, don't store this one
|
|
110
|
-
const existingTopic = this.getMatchingTopic(key, topic);
|
|
111
|
-
if (existingTopic) {
|
|
112
|
-
return this.getTopics(key);
|
|
113
|
-
}
|
|
114
|
-
return this.getTopics(key).add(topic);
|
|
115
|
-
}
|
|
116
|
-
deleteTopic(key, topic) {
|
|
117
|
-
// Check if we're subscribed to a topic like this
|
|
118
|
-
const storedTopic = this.getMatchingTopic(key, topic);
|
|
119
|
-
if (storedTopic) {
|
|
120
|
-
this.getTopics(key).delete(storedTopic);
|
|
121
|
-
}
|
|
122
|
-
return this.getTopics(key);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
exports.default = WsStore;
|
|
126
|
-
//# sourceMappingURL=WsStore.js.map
|
package/lib/util/WsStore.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WsStore.js","sourceRoot":"","sources":["../../src/util/WsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WsStore.types.js","sourceRoot":"","sources":["../../src/util/WsStore.types.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,uEAAW,CAAA;IACX,6EAAc,CAAA;IACd,2EAAa,CAAA;IACb,uEAAW,CAAA;IACX,iFAAgB,CAAA;IAChB,aAAa;AACf,CAAC,EAPW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAOhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function signMessage(message: string, secret: string, method: 'hex' | 'base64'): Promise<string>;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.signMessage = void 0;
|
|
13
|
-
function _arrayBufferToBase64(buffer) {
|
|
14
|
-
let binary = '';
|
|
15
|
-
const bytes = new Uint8Array(buffer);
|
|
16
|
-
const len = bytes.byteLength;
|
|
17
|
-
for (let i = 0; i < len; i++) {
|
|
18
|
-
binary += String.fromCharCode(bytes[i]);
|
|
19
|
-
}
|
|
20
|
-
return window.btoa(binary);
|
|
21
|
-
}
|
|
22
|
-
function signMessage(message, secret, method) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const encoder = new TextEncoder();
|
|
25
|
-
const key = yield window.crypto.subtle.importKey('raw', encoder.encode(secret), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
|
|
26
|
-
const signature = yield window.crypto.subtle.sign('HMAC', key, encoder.encode(message));
|
|
27
|
-
switch (method) {
|
|
28
|
-
case 'hex': {
|
|
29
|
-
return Array.prototype.map
|
|
30
|
-
.call(new Uint8Array(signature), (x) => ('00' + x.toString(16)).slice(-2))
|
|
31
|
-
.join('');
|
|
32
|
-
}
|
|
33
|
-
case 'base64': {
|
|
34
|
-
return _arrayBufferToBase64(signature);
|
|
35
|
-
}
|
|
36
|
-
default: {
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
38
|
-
((x) => { })(method);
|
|
39
|
-
throw new Error(`Unhandled sign method: ${method}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
exports.signMessage = signMessage;
|
|
45
|
-
//# sourceMappingURL=browser-support.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-support.js","sourceRoot":"","sources":["../../src/util/browser-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAsB,WAAW,CAC/B,OAAe,EACf,MAAc,EACd,MAAwB;;QAExB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC9C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAC3C,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC/C,MAAM,EACN,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CACxB,CAAC;QAEF,QAAQ,MAAM,EAAE;YACd,KAAK,KAAK,CAAC,CAAC;gBACV,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG;qBACvB,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAM,EAAE,EAAE,CAC1C,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAClC;qBACA,IAAI,CAAC,EAAE,CAAC,CAAC;aACb;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;aACxC;YACD,OAAO,CAAC,CAAC;gBACP,6DAA6D;gBAC7D,CAAC,CAAC,CAAQ,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;aACrD;SACF;IACH,CAAC;CAAA;AArCD,kCAqCC"}
|
package/lib/util/index.d.ts
DELETED
package/lib/util/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./BaseRestClient"), exports);
|
|
18
|
-
__exportStar(require("./logger"), exports);
|
|
19
|
-
__exportStar(require("./requestUtils"), exports);
|
|
20
|
-
__exportStar(require("./type-guards"), exports);
|
|
21
|
-
__exportStar(require("./websocket-util"), exports);
|
|
22
|
-
__exportStar(require("./WsStore"), exports);
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
package/lib/util/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,2CAAyB;AACzB,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,4CAA0B"}
|
package/lib/util/logger.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare type LogParams = null | any;
|
|
2
|
-
export declare const DefaultLogger: {
|
|
3
|
-
silly: (...params: LogParams) => void;
|
|
4
|
-
debug: (...params: LogParams) => void;
|
|
5
|
-
notice: (...params: LogParams) => void;
|
|
6
|
-
info: (...params: LogParams) => void;
|
|
7
|
-
warning: (...params: LogParams) => void;
|
|
8
|
-
error: (...params: LogParams) => void;
|
|
9
|
-
};
|
package/lib/util/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC3B,6DAA6D;IAC7D,KAAK,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACpC,uBAAuB;IACzB,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,MAAiB,EAAQ,EAAE;QACpC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;CACF,CAAC"}
|
package/lib/util/node-support.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.signMessage = void 0;
|
|
13
|
-
const crypto_1 = require("crypto");
|
|
14
|
-
/** This is async because the browser version uses a promise (browser-support) */
|
|
15
|
-
function signMessage(message, secret, method) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const hmac = (0, crypto_1.createHmac)('sha256', secret).update(message);
|
|
18
|
-
switch (method) {
|
|
19
|
-
case 'hex': {
|
|
20
|
-
return hmac.digest('hex');
|
|
21
|
-
}
|
|
22
|
-
case 'base64': {
|
|
23
|
-
return hmac.digest().toString('base64');
|
|
24
|
-
}
|
|
25
|
-
default: {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
27
|
-
((x) => { })(method);
|
|
28
|
-
throw new Error(`Unhandled sign method: ${method}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
exports.signMessage = signMessage;
|
|
34
|
-
//# sourceMappingURL=node-support.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-support.js","sourceRoot":"","sources":["../../src/util/node-support.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAoC;AAEpC,iFAAiF;AACjF,SAAsB,WAAW,CAC/B,OAAe,EACf,MAAc,EACd,MAAwB;;QAExB,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1D,QAAQ,MAAM,EAAE;YACd,KAAK,KAAK,CAAC,CAAC;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3B;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzC;YACD,OAAO,CAAC,CAAC;gBACP,6DAA6D;gBAC7D,CAAC,CAAC,CAAQ,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;aACrD;SACF;IACH,CAAC;CAAA;AApBD,kCAoBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;AA2CA,SAAgB,eAAe,CAC7B,MAAS,EACT,iBAAiB,GAAG,KAAK,EACzB,eAAwB,IAAI,EAC5B,aAAqB,EAAE;IAEvB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACpC,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,iBAAiB,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9D,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;SACH;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,iCAAiC;IACjC,OAAO,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC9D,CAAC;AA1BD,0CA0BC;AAED,SAAgB,cAAc,CAC5B,UAAmB,EACnB,kBAAqC;IAErC,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,yBAAyB;QACnC,OAAO,EAAE,mBAAmB;KAC7B,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,UAAU,EAAE;QACd,OAAO,gBAAgB,CAAC,OAAO,CAAC;KACjC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC;AAClC,CAAC;AAnBD,wCAmBC;AAED,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,SAAS;IACT,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,MAAM,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAND,4BAMC;AAED;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;CACA,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/util/type-guards.ts"],"names":[],"mappings":";;;AAUA,sDAAsD;AACtD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK;QACL,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACnC,KAAK,CAAC,MAAM,CAAC,CACd,CAAC;AACJ,CAAC;AAED,iDAAiD;AACjD,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;AACzD,CAAC;AAED,iDAAiD;AACjD,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,IACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;QAChC,KAAK,CAAC,GAAG;QACT,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,SAAS,CAAC,CAAA,KAAK,QAAQ,EACzC;QACA,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sDAAsD;AACtD,SAAgB,wBAAwB,CACtC,KAAc;IAEd,OAAO,CACL,iBAAiB,CAAC,KAAK,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS;QAC/B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC;AATD,4DASC;AAED,6CAA6C;AAC7C,SAAgB,0BAA0B,CACxC,KAAc;IAEd,OAAO,CACL,iBAAiB,CAAC,KAAK,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC;QACvB,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,WAAW;QACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC;AATD,gEASC;AAED,2DAA2D;AAC3D,SAAgB,+BAA+B,CAC7C,KAAc;IAEd,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC3E,CAAC;AAJD,0EAIC;AAED,mDAAmD;AACnD,SAAgB,iCAAiC,CAC/C,KAAc;IAEd,OAAO,0BAA0B,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC7E,CAAC;AAJD,8EAIC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,4CAKC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { WsKey, WsPrivateTopicV2, WsTopicSubscribeEventArgs, WsTopicSubscribePublicArgsV2 } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Some exchanges have two livenet environments, some have test environments, some dont. This allows easy flexibility for different exchanges.
|
|
4
|
-
* Examples:
|
|
5
|
-
* - One livenet and one testnet: NetworkMap<'livenet' | 'testnet'>
|
|
6
|
-
* - One livenet, sometimes two, one testnet: NetworkMap<'livenet' | 'testnet', 'livenet2'>
|
|
7
|
-
* - Only one livenet, no other networks: NetworkMap<'livenet'>
|
|
8
|
-
*/
|
|
9
|
-
declare type NetworkMap<TRequiredKeys extends string, TOptionalKeys extends string | undefined = undefined> = Record<TRequiredKeys, string> & (TOptionalKeys extends string ? Record<TOptionalKeys, string | undefined> : Record<TRequiredKeys, string>);
|
|
10
|
-
export declare const WS_BASE_URL_MAP: Record<WsKey, Record<'all', NetworkMap<'livenet'>>>;
|
|
11
|
-
/** Should be one WS key per unique URL */
|
|
12
|
-
export declare const WS_KEY_MAP: {
|
|
13
|
-
readonly spotv1: "spotv1";
|
|
14
|
-
readonly mixv1: "mixv1";
|
|
15
|
-
readonly v2Public: "v2Public";
|
|
16
|
-
readonly v2Private: "v2Private";
|
|
17
|
-
};
|
|
18
|
-
/** Any WS keys in this list will trigger auth on connect, if credentials are available */
|
|
19
|
-
export declare const WS_AUTH_ON_CONNECT_KEYS: WsKey[];
|
|
20
|
-
/** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */
|
|
21
|
-
export declare const PUBLIC_WS_KEYS: WsKey[];
|
|
22
|
-
/**
|
|
23
|
-
* Used to automatically determine if a sub request should be to a public or private ws (when there's two separate connections).
|
|
24
|
-
* Unnecessary if there's only one connection to handle both public & private topics.
|
|
25
|
-
*/
|
|
26
|
-
export declare const PRIVATE_TOPICS: string[];
|
|
27
|
-
export declare const PRIVATE_TOPICS_V2: WsPrivateTopicV2[];
|
|
28
|
-
export declare function isPrivateChannel<TChannel extends string>(channel: TChannel): boolean;
|
|
29
|
-
export declare function getWsKeyForTopic(subscribeEvent: WsTopicSubscribeEventArgs, isPrivate?: boolean): WsKey;
|
|
30
|
-
export declare function getWsKeyForTopicV2(subscribeEvent: WsTopicSubscribePublicArgsV2, isPrivate?: boolean): WsKey;
|
|
31
|
-
/** Force subscription requests to be sent in smaller batches, if a number is returned */
|
|
32
|
-
export declare function getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null;
|
|
33
|
-
export declare const WS_ERROR_ENUM: {
|
|
34
|
-
INVALID_ACCESS_KEY: number;
|
|
35
|
-
};
|
|
36
|
-
export declare function neverGuard(x: never, msg: string): Error;
|
|
37
|
-
export declare function getWsAuthSignature(apiKey: string | undefined, apiSecret: string | undefined, apiPass: string | undefined, recvWindow?: number): Promise<{
|
|
38
|
-
expiresAt: number;
|
|
39
|
-
signature: string;
|
|
40
|
-
}>;
|
|
41
|
-
/**
|
|
42
|
-
* #305: ws.terminate() is undefined in browsers.
|
|
43
|
-
* This only works in node.js, not in browsers.
|
|
44
|
-
* Does nothing if `ws` is undefined. Does nothing in browsers.
|
|
45
|
-
*/
|
|
46
|
-
export declare function safeTerminateWs(ws?: WebSocket | any, fallbackToClose?: boolean): boolean;
|
|
47
|
-
export {};
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.safeTerminateWs = exports.getWsAuthSignature = exports.neverGuard = exports.WS_ERROR_ENUM = exports.getMaxTopicsPerSubscribeEvent = exports.getWsKeyForTopicV2 = exports.getWsKeyForTopic = exports.isPrivateChannel = exports.PRIVATE_TOPICS_V2 = exports.PRIVATE_TOPICS = exports.PUBLIC_WS_KEYS = exports.WS_AUTH_ON_CONNECT_KEYS = exports.WS_KEY_MAP = exports.WS_BASE_URL_MAP = void 0;
|
|
13
|
-
const node_support_1 = require("./node-support");
|
|
14
|
-
exports.WS_BASE_URL_MAP = {
|
|
15
|
-
mixv1: {
|
|
16
|
-
all: {
|
|
17
|
-
livenet: 'wss://ws.bitget.com/mix/v1/stream',
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
spotv1: {
|
|
21
|
-
all: {
|
|
22
|
-
livenet: 'wss://ws.bitget.com/spot/v1/stream',
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
v2Public: {
|
|
26
|
-
all: {
|
|
27
|
-
livenet: 'wss://ws.bitget.com/v2/ws/public',
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
v2Private: {
|
|
31
|
-
all: {
|
|
32
|
-
livenet: 'wss://ws.bitget.com/v2/ws/private',
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
/** Should be one WS key per unique URL */
|
|
37
|
-
exports.WS_KEY_MAP = {
|
|
38
|
-
spotv1: 'spotv1',
|
|
39
|
-
mixv1: 'mixv1',
|
|
40
|
-
v2Public: 'v2Public',
|
|
41
|
-
v2Private: 'v2Private',
|
|
42
|
-
};
|
|
43
|
-
/** Any WS keys in this list will trigger auth on connect, if credentials are available */
|
|
44
|
-
exports.WS_AUTH_ON_CONNECT_KEYS = [
|
|
45
|
-
exports.WS_KEY_MAP.spotv1,
|
|
46
|
-
exports.WS_KEY_MAP.mixv1,
|
|
47
|
-
exports.WS_KEY_MAP.v2Private,
|
|
48
|
-
];
|
|
49
|
-
/** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */
|
|
50
|
-
exports.PUBLIC_WS_KEYS = [];
|
|
51
|
-
/**
|
|
52
|
-
* Used to automatically determine if a sub request should be to a public or private ws (when there's two separate connections).
|
|
53
|
-
* Unnecessary if there's only one connection to handle both public & private topics.
|
|
54
|
-
*/
|
|
55
|
-
exports.PRIVATE_TOPICS = ['account', 'orders', 'positions', 'ordersAlgo'];
|
|
56
|
-
exports.PRIVATE_TOPICS_V2 = [
|
|
57
|
-
'account',
|
|
58
|
-
'orders',
|
|
59
|
-
'positions',
|
|
60
|
-
'orders-algo',
|
|
61
|
-
'positions-history',
|
|
62
|
-
'orders-crossed',
|
|
63
|
-
'account-crossed',
|
|
64
|
-
'account-isolated',
|
|
65
|
-
'orders-isolated',
|
|
66
|
-
];
|
|
67
|
-
function isPrivateChannel(channel) {
|
|
68
|
-
return (exports.PRIVATE_TOPICS.includes(channel) ||
|
|
69
|
-
exports.PRIVATE_TOPICS_V2.includes(channel));
|
|
70
|
-
}
|
|
71
|
-
exports.isPrivateChannel = isPrivateChannel;
|
|
72
|
-
function getWsKeyForTopic(subscribeEvent,
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
74
|
-
isPrivate) {
|
|
75
|
-
const instType = subscribeEvent.instType.toUpperCase();
|
|
76
|
-
switch (instType) {
|
|
77
|
-
case 'SP':
|
|
78
|
-
case 'SPBL': {
|
|
79
|
-
return exports.WS_KEY_MAP.spotv1;
|
|
80
|
-
}
|
|
81
|
-
case 'MC':
|
|
82
|
-
case 'UMCBL':
|
|
83
|
-
case 'DMCBL': {
|
|
84
|
-
return exports.WS_KEY_MAP.mixv1;
|
|
85
|
-
}
|
|
86
|
-
default: {
|
|
87
|
-
throw neverGuard(instType, `getWsKeyForTopic(): Unhandled market ${'instrumentId'}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.getWsKeyForTopic = getWsKeyForTopic;
|
|
92
|
-
function getWsKeyForTopicV2(subscribeEvent, isPrivate) {
|
|
93
|
-
return isPrivate || isPrivateChannel(subscribeEvent.channel)
|
|
94
|
-
? exports.WS_KEY_MAP.v2Private
|
|
95
|
-
: exports.WS_KEY_MAP.v2Public;
|
|
96
|
-
}
|
|
97
|
-
exports.getWsKeyForTopicV2 = getWsKeyForTopicV2;
|
|
98
|
-
/** Force subscription requests to be sent in smaller batches, if a number is returned */
|
|
99
|
-
function getMaxTopicsPerSubscribeEvent(wsKey) {
|
|
100
|
-
switch (wsKey) {
|
|
101
|
-
case 'mixv1':
|
|
102
|
-
case 'spotv1':
|
|
103
|
-
case 'v2Public':
|
|
104
|
-
case 'v2Private': {
|
|
105
|
-
// Technically there doesn't seem to be a documented cap, but there is a size limit per request. Doesn't hurt to batch requests.
|
|
106
|
-
return 15;
|
|
107
|
-
}
|
|
108
|
-
default: {
|
|
109
|
-
throw neverGuard(wsKey, 'getWsKeyForTopic(): Unhandled wsKey');
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
exports.getMaxTopicsPerSubscribeEvent = getMaxTopicsPerSubscribeEvent;
|
|
114
|
-
exports.WS_ERROR_ENUM = {
|
|
115
|
-
INVALID_ACCESS_KEY: 30011,
|
|
116
|
-
};
|
|
117
|
-
function neverGuard(x, msg) {
|
|
118
|
-
return new Error(`Unhandled value exception "${x}", ${msg}`);
|
|
119
|
-
}
|
|
120
|
-
exports.neverGuard = neverGuard;
|
|
121
|
-
function getWsAuthSignature(apiKey, apiSecret, apiPass, recvWindow = 0) {
|
|
122
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
if (!apiKey || !apiSecret || !apiPass) {
|
|
124
|
-
throw new Error('Cannot auth - missing api key, secret or passcode in config');
|
|
125
|
-
}
|
|
126
|
-
const signatureExpiresAt = ((Date.now() + recvWindow) / 1000).toFixed(0);
|
|
127
|
-
const signature = yield (0, node_support_1.signMessage)(signatureExpiresAt + 'GET' + '/user/verify', apiSecret, 'base64');
|
|
128
|
-
return {
|
|
129
|
-
expiresAt: Number(signatureExpiresAt),
|
|
130
|
-
signature,
|
|
131
|
-
};
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
exports.getWsAuthSignature = getWsAuthSignature;
|
|
135
|
-
/**
|
|
136
|
-
* #305: ws.terminate() is undefined in browsers.
|
|
137
|
-
* This only works in node.js, not in browsers.
|
|
138
|
-
* Does nothing if `ws` is undefined. Does nothing in browsers.
|
|
139
|
-
*/
|
|
140
|
-
function safeTerminateWs(ws, fallbackToClose) {
|
|
141
|
-
if (!ws) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
if (typeof ws['terminate'] === 'function') {
|
|
145
|
-
ws.terminate();
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
else if (fallbackToClose) {
|
|
149
|
-
ws.close();
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
exports.safeTerminateWs = safeTerminateWs;
|
|
154
|
-
//# sourceMappingURL=websocket-util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../src/util/websocket-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import WebSocket from 'isomorphic-ws';
|
|
2
|
-
import { BitgetInstTypeV2, WebsocketClientOptions, WsKey, WsTopicSubscribeEventArgsV2, WsTopicV2 } from './types';
|
|
3
|
-
import { DefaultLogger } from './util';
|
|
4
|
-
import { BaseWebsocketClient } from './util/BaseWSClient';
|
|
5
|
-
export declare class WebsocketClientV2 extends BaseWebsocketClient<WsKey, WsTopicSubscribeEventArgsV2> {
|
|
6
|
-
protected logger: typeof DefaultLogger;
|
|
7
|
-
protected options: WebsocketClientOptions;
|
|
8
|
-
protected getWsKeyForTopic(subscribeEvent: WsTopicSubscribeEventArgsV2, isPrivate?: boolean): WsKey;
|
|
9
|
-
protected isPrivateChannel(subscribeEvent: WsTopicSubscribeEventArgsV2): boolean;
|
|
10
|
-
protected shouldAuthOnConnect(wsKey: WsKey): boolean;
|
|
11
|
-
protected getWsUrl(wsKey: WsKey): string;
|
|
12
|
-
protected getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null;
|
|
13
|
-
/**
|
|
14
|
-
* Request connection of all dependent (public & private) websockets, instead of waiting for automatic connection by library
|
|
15
|
-
*/
|
|
16
|
-
connectAll(): Promise<WebSocket | undefined>[];
|
|
17
|
-
/** Some private channels use `coin` instead of `instId`. This method handles building the sub/unsub request */
|
|
18
|
-
private getSubRequest;
|
|
19
|
-
/**
|
|
20
|
-
* Subscribe to a PUBLIC topic
|
|
21
|
-
* @param instType instrument type (refer to API docs).
|
|
22
|
-
* @param topic topic name (e.g. "ticker").
|
|
23
|
-
* @param instId instrument ID (e.g. "BTCUSDT"). Use "default" for private topics.
|
|
24
|
-
*/
|
|
25
|
-
subscribeTopic(instType: BitgetInstTypeV2, topic: WsTopicV2, coin?: string): void;
|
|
26
|
-
/**
|
|
27
|
-
* Unsubscribe from a topic
|
|
28
|
-
* @param instType instrument type (refer to API docs).
|
|
29
|
-
* @param topic topic name (e.g. "ticker").
|
|
30
|
-
* @param instId instrument ID (e.g. "BTCUSDT"). Use "default" for private topics to get all symbols.
|
|
31
|
-
*/
|
|
32
|
-
unsubscribeTopic(instType: BitgetInstTypeV2, topic: WsTopicV2, coin?: string): void;
|
|
33
|
-
}
|