bfx-api-node-plugin-managed-ob
Advanced tools
Comparing version
@@ -5,3 +5,3 @@ 'use strict' | ||
const { symbol, freq, prec, len } = channel | ||
return [ symbol, freq, prec, len ].map(String).join(':') | ||
return [symbol, freq, prec, len].map(String).join(':') | ||
} |
{ | ||
"name": "bfx-api-node-plugin-managed-ob", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Maintains complete local order books for the Bitfinex Node API", | ||
@@ -23,4 +23,7 @@ "engines": { | ||
], | ||
"author": "Bitfinex", | ||
"contributors": [ | ||
"Cris Mihalache <cris.m@bitfinex.com> (https://www.bitfinex.com)" | ||
"Cris Mihalache <cris.m@bitfinex.com> (https://www.bitfinex.com)", | ||
"Jacob Plaster <jacob.plaster@bitfinex.com> (https://www.bitfinex.com)", | ||
"Paolo Ardoino <paolo@bitfinex.com> (https://www.bitfinex.com)" | ||
], | ||
@@ -31,14 +34,15 @@ "license": "MIT", | ||
}, | ||
"dependencies": { | ||
"bfx-api-node-core": "git+http://github.com/bitfinexcom/bfx-api-node-core.git#semver:^1.1.0", | ||
"bfx-api-node-models": "git+http://github.com/bitfinexcom/bfx-api-node-models.git#semver:^1.0.12", | ||
"bluebird": "^3.5.5", | ||
"debug": "^4.1.1", | ||
"lodash": "^4.17.15" | ||
}, | ||
"devDependencies": { | ||
"chai": "^3.4.1", | ||
"mocha": "^3.4.2", | ||
"standard": "^10.0.2" | ||
}, | ||
"dependencies": { | ||
"bluebird": "^3.5.1", | ||
"debug": "^2.2.0", | ||
"lodash": "^4.17.4", | ||
"bfx-api-node-models": "^1.0.0", | ||
"bfx-api-node-core": "^1.0.0" | ||
"babel-eslint": "^10.0.3", | ||
"chai": "^4.2.0", | ||
"mocha": "^6.2.0", | ||
"standard": "^14.1.0" | ||
} | ||
} |
@@ -1,3 +0,44 @@ | ||
# bfx-api-node-plugin-managed-ob | ||
# Bitfinex Node API Managed OrderBook Plugin | ||
[](https://travis-ci.org/bitfinexcom/bfx-api-node-plugin-managed-ob) | ||
This plugin maintains an internal `OrderBook` model and keeps it up to date with incoming ws2 data packets. On each update, a `data:managed:book` event is emitted on the socket, providing a complete `OrderBook` model instance (from `bfx-api-node-models`). | ||
Note that the manager proxies the event as `managed:book`. If subscribing on a socket instance (`wsState.ev.on(...)`) use the internal event name, otherwise use the manager name with `manager.onWS(...)`. | ||
### Example | ||
```js | ||
'use strict' | ||
process.env.DEBUG = '*' | ||
const debug = require('debug')('bfx:api:plugins:managed-ob:example') | ||
const { Manager, subscribe } = require('bfx-api-node-core') | ||
const ManagedOBPlugin = require('../') | ||
const SYMBOL = 'tBTCUSD' | ||
const mgr = new Manager({ | ||
transform: true, | ||
plugins: [ManagedOBPlugin()] | ||
}) | ||
mgr.onWS('open', {}, () => debug('connection open')) | ||
// Receive updated ob | ||
mgr.onWS('managed:book', {}, (ob) => { | ||
debug('--') | ||
debug('recv ob update') | ||
debug('spread %f, mid price %f', ob.spread(), ob.midPrice()) | ||
debug('best ask %f, total ask size %f', ob.topAsk(), ob.askAmount()) | ||
debug('best bid %f, total bid size %f', ob.topBid(), ob.bidAmount()) | ||
debug('checksum: %s', ob.checksum()) | ||
}) | ||
const wsState = mgr.openWS() | ||
subscribe(wsState, 'book', { | ||
symbol: SYMBOL, | ||
len: '25', | ||
prec: 'P0', | ||
}) | ||
``` |
Git dependency
Supply chain riskContains a dependency which resolves to a remote git URL. Dependencies fetched from git URLs are not immutable and can be used to inject untrusted code or reduce the likelihood of a reproducible install.
Found 2 instances in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
7495
93.77%15
114.29%110
92.98%45
1025%4
33.33%2
Infinity%1
Infinity%1
Infinity%- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated
Updated