Catalog npm
Back to packageRELEASE DETAILS

2.2.2

npm

@0x/orderbook

Library for retrieving and syncing a remote orderbook locally

Published25 Feb 2020
Direct dependencies19
Transitive dependenciesNot calculated

README

Current package documentation

@0x/orderbook

Package to help fetch orders from a remote source (Standard Relayer API, Mesh) and keep the local orderbook synced and up-to-date.

Supported Order Providers:

  • SRA HTTP Polling
  • SRA Websocket
  • Mesh

Installation

yarn add @0x/orderbook

Import

import { Orderbook } from '@0x/orderbook';

or

var Orderbook = require('@0x/orderbook').Orderbook;

If your project is in TypeScript, add the following to your tsconfig.json:

"compilerOptions": {
    "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}

Usage

// Create an orderbook for makerAssetData, takerAssetData using the SRA Polling Order Provider
// This Provider polls the SRA endpoint automatically every 5 seconds on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForPollingProvider({
    httpEndpoint: 'https://sra.0x.org/v2',
    pollingIntervalMs: 5000,
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);

// Create an orderbook for makerAssetData, takerAssetData using the SRA Websocket Order Provider
// This provider subscribes via websocket to receive order updates on the supplied asset pairs
const orderbook = Orderbook.getOrderbookForWebsocketProvider({
    httpEndpoint: 'https://sra.0x.org/v2',
    websocketEndpoint: 'wss://ws.sra.0x.org',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);

// Create an orderbook for makerAssetData, takerAssetData using the Mesh Order Provider
// This provider subscribes via websocket to receive order updates on all orders stored in Mesh
const orderbook = Orderbook.getOrderbookForMeshProvider({
    websocketEndpoint: 'wss://MESH_ENDPOINT',
});
const orders = await orderbook.getOrdersAsync(makerAssetData, takerAssetData);

Contributing

We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.

Please read our contribution guidelines before getting started.

Install dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

yarn config set workspaces-experimental true

Then install dependencies

yarn install

Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

PKG=@0x/orderbook yarn build

Or continuously rebuild on change:

PKG=@0x/orderbook yarn watch

Clean

yarn clean

Lint

yarn lint

Run Tests

yarn test

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 19

Native requirements
19 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
@0x/utils
Environment
{
  "local_name": "@0x/utils",
  "alias": false,
  "peer_metadata": null
}
^5.4.1runtime
@0x/assert
Environment
{
  "local_name": "@0x/assert",
  "alias": false,
  "peer_metadata": null
}
^3.0.7runtime
@0x/connect
Environment
{
  "local_name": "@0x/connect",
  "alias": false,
  "peer_metadata": null
}
^6.0.7runtime
@0x/order-utils
Environment
{
  "local_name": "@0x/order-utils",
  "alias": false,
  "peer_metadata": null
}
^10.2.2runtime
@0x/mesh-rpc-client
Environment
{
  "local_name": "@0x/mesh-rpc-client",
  "alias": false,
  "peer_metadata": null
}
^7.0.4-beta-0xv3runtime
@0x/contracts-dev-utils
Environment
{
  "local_name": "@0x/contracts-dev-utils",
  "alias": false,
  "peer_metadata": null
}
^1.3.0runtime
shx
Environment
{
  "local_name": "shx",
  "alias": false,
  "peer_metadata": null
}
^0.2.2development
jest
Environment
{
  "local_name": "jest",
  "alias": false,
  "peer_metadata": null
}
^24.8.0development
sinon
Environment
{
  "local_name": "sinon",
  "alias": false,
  "peer_metadata": null
}
^4.0.0development
ts-jest
Environment
{
  "local_name": "ts-jest",
  "alias": false,
  "peer_metadata": null
}
^24.0.2development
typedoc
Environment
{
  "local_name": "typedoc",
  "alias": false,
  "peer_metadata": null
}
^0.15.0development
@0x/types
Environment
{
  "local_name": "@0x/types",
  "alias": false,
  "peer_metadata": null
}
^3.1.2development
websocket
Environment
{
  "local_name": "websocket",
  "alias": false,
  "peer_metadata": null
}
^1.0.26development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
3.0.1development
@types/jest
Environment
{
  "local_name": "@types/jest",
  "alias": false,
  "peer_metadata": null
}
^24.0.17development
@types/sinon
Environment
{
  "local_name": "@types/sinon",
  "alias": false,
  "peer_metadata": null
}
^2.2.2development
@0x/ts-doc-gen
Environment
{
  "local_name": "@0x/ts-doc-gen",
  "alias": false,
  "peer_metadata": null
}
^0.0.22development
@types/websocket
Environment
{
  "local_name": "@types/websocket",
  "alias": false,
  "peer_metadata": null
}
^0.0.39development
@0x/tslint-config
Environment
{
  "local_name": "@0x/tslint-config",
  "alias": false,
  "peer_metadata": null
}
^4.0.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "fe3884c6569a054ed49e6aff005b3af6f8967dd4",
  "tarball": "https://registry.npmjs.org/@0x/orderbook/-/orderbook-2.2.2.tgz",
  "fileCount": 104,
  "integrity": "sha512-TJbtG8VpXl39yZsy0KgI6BXs3PZ4rJemThw9YC0Vd3bEj6jPo3OJ2Ea3n77EeSDszp25DK9fiHwYDXnQM9l1Gw==",
  "signatures": [
    {
      "sig": "MEUCIQDIDY+oqO1n0CKo8jgEWC8CAOdp3tRG444sthOSF3mUFgIgWx4GYyfVpuLD9w0OUK64c9zqLgKGdxG6+KmlW2F0X34=",
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"
    }
  ],
  "unpackedSize": 360254,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVPTtCRA9TVsSAnZWagAASFAP/RPXqIZHEzLwLBOWZJCN\nk39YmJhffi1FxOGRNmzlBcFIdn0owpdYC2T/vstEUZELB+338VD6BDpSYCBZ\nNrJpYTqe7dgInGvswH+AKa/nAtfhR0OreiwO0KsNF0cZ29OIWORa0f4VYQFY\nAugbx1aHh2f2E4Bv+r6uzwOkbGyszmqrEEAtnUA5q7KNabaMWyd7L/fKxD60\nnmjv5LVv827vFE6mdnivK5ggoqhYeTMPRW1uiUMMgQX36+MCLS7l8q6LKdw9\n6rr03aZisPLqkJNr95p1T6zhG9E02cVlgsRh1szq17AjjXukXpwBD++izd27\nIvmqLeU6Fg71x2Y9uwpMBZf6fyUt8IeQhLSit0TFyFTjkCKaDzl6ZwhOksIC\nQX/C4oMZL6yvi+kJ4G1+akrNFNy6SM1E0Sfa7eFZh9m8aqApQv+aVYDLKXhJ\nSGxL16bt5ryNWmajHRTn+tXIAkZisqLzSKatQxU9Jap7N3EnFR5mfl2V/nxz\nJ9Mfdvi0lROqeCMEtGEfu7C8m/LzwTSkdXMsKYC+bb9k6UbHgi3aB/Ws2L1K\ntLLGwXiyBnBImg+V+uA7PDgRlnMLuD4V22BpcjMyW5ct9fqYqK0a4p5qkbti\nS1uSKXLg8FqsrUCReDQ3Ky0pd5olEjennfH3FGUPLuJKAhkBhvu5nQRTijbb\nBmMK\r\n=xGb7\r\n-----END PGP SIGNATURE-----\r\n"
}

Repository

PENDING
0xproject/0x-monorepo

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:28 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:899cd508a85bfb1fa9c48d1193bf3b31c8dd93b25354ec96b407d024fd43b3b7

Other collected versions

2.2.715 Jul2.2.624 Jun2.2.53 Mar2.2.427 Feb2.2.326 Feb2.2.115 FebView all collected versions →