New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bybit-api

Package Overview
Dependencies
Maintainers
1
Versions
138
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bybit-api - npm Package Compare versions

Comparing version 1.2.1 to 1.2.2

.github/FUNDING.yml

3

jsconfig.json

@@ -9,4 +9,5 @@ {

"**/node_modules/*",
"coverage"
"coverage",
"doc"
]
}

@@ -1,4 +0,2 @@

const assert = require('assert');
const RequestWrapper = require('./util/requestWrapper');

@@ -57,2 +55,13 @@

return await this.request.post('v2/private/order/replace', params);
}
/**
* @deprecated use replaceActiveOrder()
*/
async replaceActiveOrderOld(params) {
assert(params, 'No params passed');
assert(params.order_id || params.order_link_id, 'Parameter order_id OR order_link_id is required');
assert(params.symbol, 'Parameter symbol is required');
return await this.request.post('open-api/order/replace', params);

@@ -75,3 +84,21 @@ }

assert(params.qty, 'Parameter qty is required');
assert(params.base_price, 'Parameter base_price is required');
assert(params.stop_px, 'Parameter stop_px is required');
assert(params.time_in_force, 'Parameter time_in_force is required');
if (params.order_type === 'Limit') assert(params.price, 'Parameter price is required for limit orders');
return await this.request.post('v2/private/stop-order/create', params);
}
/**
* @deprecated use placeConditionalOrder
*/
async placeConditionalOrderOld(params) {
assert(params, 'No params passed');
assert(params.side, 'Parameter side is required');
assert(params.symbol, 'Parameter symbol is required');
assert(params.order_type, 'Parameter order_type is required');
assert(params.qty, 'Parameter qty is required');
assert(params.time_in_force, 'Parameter time_in_force is required');
assert(params.base_price, 'Parameter base_price is required');

@@ -86,2 +113,10 @@ assert(params.stop_px, 'Parameter stop_px is required');

async getConditionalOrder(params) {
assert(params.symbol, 'Parameter symbol is required');
return await this.request.get('v2/private/stop-order/list', params);
}
/**
* @deprecated use placeConditionalOrder
*/
async getConditionalOrderOld(params) {
return await this.request.get('open-api/stop-order/list', params);

@@ -92,2 +127,12 @@ }

assert(params, 'No params passed');
assert(params.stop_order_id || params.order_link_id, 'Parameter stop_order_id OR order_link_id is required');
return await this.request.post('v2/private/stop-order/cancel', params);
}
/**
* @deprecated use cancelConditionalOrder
*/
async cancelConditionalOrderOld(params) {
assert(params, 'No params passed');
assert(params.stop_order_id, 'Parameter stop_order_id is required');

@@ -107,2 +152,13 @@

assert(params, 'No params passed');
assert(params.stop_order_id || params.order_link_id, 'Parameter stop_order_id OR order_link_id is required');
assert(params.symbol, 'Parameter symbol is required');
return await this.request.post('v2/private/stop-order/replace', params);
}
/**
* @deprecated use replaceConditionalOrder
*/
async replaceConditionalOrderOld(params) {
assert(params, 'No params passed');
assert(params.stop_order_id, 'Parameter stop_order_id is required');

@@ -122,2 +178,5 @@ assert(params.symbol, 'Parameter symbol is required');

/**
* @deprecated use getPosition() instead
*/
async getUserLeverage() {

@@ -127,2 +186,6 @@ return await this.request.get('user/leverage');

async getPosition(params) {
return await this.request.get('v2/private/position/list', params);
}
async changeUserLeverage(params) {

@@ -136,9 +199,5 @@ assert(params, 'No params passed');

async getPosition(params) {
assert(params, 'No params passed');
assert(params.symbol, 'Parameter symbol is required');
return await this.request.get('v2/private/position/list', params);
}
/**
* @deprecated use getPosition() instead
*/
async getPositions() {

@@ -145,0 +204,0 @@ return await this.request.get('position/list');

@@ -9,3 +9,3 @@ const { createHmac } = require('crypto');

},
serializeParams(params, strict_validation) {
serializeParams(params = {}, strict_validation = false) {
return Object.keys(params)

@@ -12,0 +12,0 @@ .sort()

{
"name": "bybit-api",
"version": "1.2.1",
"description": "A node.js wrapper for the Bybit Cryptocurrency Derivative exchange APIs",
"version": "1.2.2",
"description": "A production-ready Node.js connector for the Bybit APIs and WebSockets",
"main": "index.js",

@@ -21,9 +21,11 @@ "scripts": {

"nodejs",
"node",
"trading",
"cryptocurrency",
"bitcoin"
"bitcoin",
"best"
],
"author": "Stefan Aebischer <os@pixtron.ch> (https://pixtron.ch)",
"author": "Tiago Siebler (https://github.com/tiagosiebler)",
"contributors": [
"Tiago Siebler (https://github.com/tiagosiebler)"
"Stefan Aebischer <os@pixtron.ch> (https://pixtron.ch)"
],

@@ -36,3 +38,3 @@ "license": "MIT",

"dependencies": {
"axios": "^0.20.0",
"axios": "^0.21.0",
"ws": "^7.3.1"

@@ -39,0 +41,0 @@ },

# bybit-api
[![npm version](https://img.shields.io/npm/v/bybit-api/latest)][1] [![npm size](https://img.shields.io/bundlephobia/min/bybit-api/latest)][1] [![npm downloads](https://img.shields.io/npm/dt/bybit-api)][1]
[![npm version](https://img.shields.io/npm/v/bybit-api)][1] [![npm size](https://img.shields.io/bundlephobia/min/bybit-api/latest)][1] [![npm downloads](https://img.shields.io/npm/dt/bybit-api)][1]
[![last commit](https://img.shields.io/github/last-commit/tiagosiebler/bybit-api)][1]

@@ -8,3 +8,3 @@ [![CodeFactor](https://www.codefactor.io/repository/github/tiagosiebler/bybit-api/badge)](https://www.codefactor.io/repository/github/tiagosiebler/bybit-api)

An light node.js wrapper for the Bybit Cryptocurrency Derivative exchange API. Forked & adapted from [@pxtrn/bybit-api](https://github.com/pixtron/bybit-api).
A production-ready Node.js connector for the Bybit APIs and WebSockets.

@@ -15,10 +15,17 @@ ## Installation

## Usage
Create API credentials at bybit (obviously you need to be logged in):
Create API credentials at Bybit
- [Livenet](https://bybit.com/app/user/api-management?affiliate_id=9410&language=en-US&group_id=0&group_type=1)
- [Testnet](https://testnet.bybit.com/app/user/api-management)
## Issues & Discussion
- Issues? Check the [issues tab](https://github.com/tiagosiebler/bybit-api/issues).
- Discuss & collaborate with other node devs? Join our [Node.js Algo Traders](https://t.me/nodetraders) engineering community on telegram.
## Documentation
Most of the documentation is in [Bybit's official API docs](https://bybit-exchange.github.io/docs/inverse/#t-introduction). Most of this library's methods accept objects that directly correspond to expectations from Bybit's API docs.
Most methods accept JS objects. These can be populated using parameters specified by Bybit's API documentation.
- [Bybit API Inverse Documentation](https://bybit-exchange.github.io/docs/inverse/#t-introduction).
- [Bybit API Linear Documentation (not supported yet)](https://bybit-exchange.github.io/docs/linear/#t-introduction)
### Rest client
### Inverse Contracts
#### Rest client
```javascript

@@ -37,9 +44,9 @@ const {RestClient} = require('bybit-api');

.catch(err => {
console.error(error);
console.error(err);
});
```
See rest client [api docs](./doc/rest-client.md) for further information.
See inverse [rest-client.js](./master/lib/rest-client.js) for further information.
### Websocket client
#### Websocket client
```javascript

@@ -56,25 +63,24 @@ const {WebsocketClient} = require('bybit-api');

ws.on('open', function() {
ws.on('open', () => {
console.log('connection open');
});
ws.on('update', function(message) {
ws.on('update', message => {
console.log('update', message);
});
ws.on('response', function(response) {
ws.on('response', response => {
console.log('response', response);
});
ws.on('close', function() {
ws.on('close', () => {
console.log('connection closed');
});
ws.on('error', function(err) {
ws.on('error', err => {
console.error('ERR', err);
});
```
See inverse [websocket-client.js](./master/lib/websocket-client.js) & [ws api docs](./doc/websocket-client.md) for further information.
See websocket client [api docs](./doc/websocket-client.md) for further information.
### Customise Logging

@@ -89,6 +95,3 @@ Pass a custom logger which supports the log methods `silly`, `debug`, `notice`, `info`, `warning` and `error`, or override methods from the default logger as desired:

const API_KEY = 'xxx';
const PRIVATE_KEY = 'yyy';
const ws = new WebsocketClient({key: API_KEY, secret: PRIVATE_KEY}, DefaultLogger);
const ws = new WebsocketClient({key: 'xxx', secret: 'yyy'}, DefaultLogger);
```

@@ -98,8 +101,2 @@

### Donations
#### pixtron
This library was started by @pixtron. If this library helps you to trade better on bybit, feel free to donate a coffee to @pixtron:
- BTC `1Fh1158pXXudfM6ZrPJJMR7Y5SgZUz4EdF`
- ETH `0x21aEdeC53ab7593b77C9558942f0c9E78131e8d7`
- LTC `LNdHSVtG6UWsriMYLJR3qLdfVNKwJ6GSLF`
#### tiagosiebler

@@ -114,3 +111,9 @@ If you found this project interesting or useful, create accounts with my referral links:

#### pixtron
The original library was started by @pixtron. If this library helps you to trade better on bybit, feel free to donate a coffee to @pixtron:
- BTC `1Fh1158pXXudfM6ZrPJJMR7Y5SgZUz4EdF`
- ETH `0x21aEdeC53ab7593b77C9558942f0c9E78131e8d7`
- LTC `LNdHSVtG6UWsriMYLJR3qLdfVNKwJ6GSLF`
### Contributions & Pull Requests
Contributions are encouraged, I will review any incoming pull requests. See the issues tab for todo items.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc