diff --git a/package.json b/package.json index 003ea4c..cd6e5da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bitget-api", - "version": "2.3.0", + "version": "2.3.1", "description": "Node.js & JavaScript SDK for Bitget REST APIs & WebSockets, with TypeScript & end-to-end tests.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/src/rest-client-v2.ts b/src/rest-client-v2.ts index ce3a7ea..f5f5788 100644 --- a/src/rest-client-v2.ts +++ b/src/rest-client-v2.ts @@ -1262,7 +1262,7 @@ export class RestClientV2 extends BaseRestClient { } getFuturesContractConfig(params: { - symbol: string; + symbol?: string; productType: FuturesProductTypeV2; }): Promise> { return this.get('/api/v2/mix/market/contracts', params); diff --git a/src/util/BaseRestClient.ts b/src/util/BaseRestClient.ts index dcf4057..e02be75 100644 --- a/src/util/BaseRestClient.ts +++ b/src/util/BaseRestClient.ts @@ -110,6 +110,7 @@ export default abstract class BaseRestClient { 'X-CHANNEL-API-CODE': 'hbnni', 'Content-Type': 'application/json', locale: 'en-US', + ...(restOptions.demoTrading ? { paptrading: '1' } : {}), }, }; diff --git a/src/util/requestUtils.ts b/src/util/requestUtils.ts index 90ea006..e4ed446 100644 --- a/src/util/requestUtils.ts +++ b/src/util/requestUtils.ts @@ -11,6 +11,13 @@ export interface RestClientOptions { /** Set to `true` to connect to testnet. Uses the live environment by default. */ // testnet?: boolean; + /** + * Set to `true` to use Bitget's demo trading: https://www.bitget.com/api-doc/common/demotrading/restapi. + * + * Disabled by default. + */ + demoTrading?: boolean; + /** Override the max size of the request window (in ms) */ recvWindow?: number;