v3.3.4: fix optional param in contract client, add js/ts samples for contract client, fix e2e open interest limit test, update readme

This commit is contained in:
tiagosiebler
2022-11-29 08:59:16 +00:00
parent f7fb1a560c
commit 84b71f5c13
8 changed files with 50 additions and 6 deletions

View File

@@ -28,6 +28,7 @@ Check out my related projects:
- [binance](https://www.npmjs.com/package/binance)
- [bybit-api](https://www.npmjs.com/package/bybit-api)
- [okx-api](https://www.npmjs.com/package/okx-api)
- [bitget-api](https://www.npmjs.com/package/bitget-api)
- [ftx-api](https://www.npmjs.com/package/ftx-api)
- Try my misc utilities:
- [orderbooks](https://www.npmjs.com/package/orderbooks)

View File

@@ -0,0 +1,21 @@
/**
* This is the pure javascript version of the `rest-contract-public.ts` sample
*/
// To use a local build (testing with the repo directly), make sure to `npm run build` first from the repo root
// const { ContractClient } = require('../dist');
// or, use the version installed with npm
const { ContractClient } = require('bybit-api');
(async () => {
const client = new ContractClient();
try {
const orderbookResult = await client.getOrderBook('BTCUSDT', 'linear');
console.log('orderbook result: ', orderbookResult);
} catch (e) {
console.error('request failed: ', e);
}
})();

View File

@@ -0,0 +1,20 @@
/**
* This is the TypeScript version of the `rest-contract-public.js` sample.
*/
// For testing with the repo directly, import from the src folder
import { ContractClient } from '../src';
// or, use the version installed with npm
// import { ContractClient } from 'bybit-api';
(async () => {
const client = new ContractClient();
try {
const orderbookResult = await client.getOrderBook('BTCUSDT', 'linear');
console.log('orderbook result: ', orderbookResult);
} catch (e) {
console.error('request failed: ', e);
}
})();

View File

@@ -1,6 +1,6 @@
{
"name": "bybit-api",
"version": "3.3.3",
"version": "3.3.4",
"description": "Complete & robust node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & integration tests.",
"main": "lib/index.js",
"types": "lib/index.d.ts",

View File

@@ -50,7 +50,7 @@ export class ContractClient extends BaseRestClient {
/** Query order book info. Each side has a depth of 25 orders. */
getOrderBook(
symbol: string,
category: string,
category?: string,
limit?: number
): Promise<APIResponseV3<any>> {
return this.get('/derivatives/v3/public/order-book/L2', {

View File

@@ -544,6 +544,7 @@ export class WebsocketClient extends EventEmitter {
private reconnectWithDelay(wsKey: WsKey, connectionDelayMs: number) {
this.clearTimers(wsKey);
if (
this.wsStore.getConnectionState(wsKey) !==
WsConnectionStateEnum.CONNECTING

View File

@@ -71,11 +71,11 @@ describe('Private Contract REST API GET Endpoints', () => {
);
});
// Doesn't work on e2e test account, something about account state. Investigating with bybit.
it.skip('getOpenInterestLimitInfo()', async () => {
// Doesn't work on e2e test account. This endpoint throws this error if the account never opened a position before.
it('getOpenInterestLimitInfo()', async () => {
expect(await api.getOpenInterestLimitInfo('ETHUSDT')).toMatchObject({
...successResponseObjectV3(),
retMsg: 'ok',
retCode: API_ERROR_CODE.PARAMS_MISSING_OR_WRONG,
retMsg: expect.stringMatching(/OI group don't exist/gim),
});
});

View File

@@ -31,6 +31,7 @@ export function successResponseObjectV3() {
return {
result: expect.any(Object),
...successEmptyResponseObjectV3(),
// retMsg: 'ok',
};
}