Catalog npm
Back to packageRELEASE DETAILS

0.1.0-beta.0

npm

@0x/orderbook

Library for retrieving and syncing a remote orderbook locally

Published3 Oct 2019
Direct dependencies15
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 15

Native requirements
15 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
@0x/utils
Environment
{
  "local_name": "@0x/utils",
  "alias": false,
  "peer_metadata": null
}
^4.6.0-beta.0runtime
@0x/assert
Environment
{
  "local_name": "@0x/assert",
  "alias": false,
  "peer_metadata": null
}
^2.2.0-beta.0runtime
@0x/connect
Environment
{
  "local_name": "@0x/connect",
  "alias": false,
  "peer_metadata": null
}
^5.1.0-beta.0runtime
@0x/order-utils
Environment
{
  "local_name": "@0x/order-utils",
  "alias": false,
  "peer_metadata": null
}
^8.5.0-beta.0runtime
@0x/mesh-rpc-client
Environment
{
  "local_name": "@0x/mesh-rpc-client",
  "alias": false,
  "peer_metadata": null
}
^4.0.1-betaruntime
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
@0x/types
Environment
{
  "local_name": "@0x/types",
  "alias": false,
  "peer_metadata": null
}
^2.5.0-beta.0development
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
@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
}
^3.0.1development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "861cfd40cf363b6f4ec5ee13d054e4997f67497e",
  "tarball": "https://registry.npmjs.org/@0x/orderbook/-/orderbook-0.1.0-beta.0.tgz",
  "fileCount": 98,
  "integrity": "sha512-xNbi3TVAYj7r3HhtHTT+1IbxlrVUfLy3Jn3/uE3btbHHeocrWypKj6X4oiiEt+HCm9kpj2MmnJQMCQVWsVY0Ig==",
  "signatures": [
    {
      "sig": "MEQCIB3zhiHWlSRdIPOJvR2ywgIB+CV/SluKDowlB/bfftMXAiBJVAUtsnqkSaxJpVg/kv+c3zkzUpAN09M2aVDHuNphFQ==",
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"
    }
  ],
  "unpackedSize": 312734,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlmQCCRA9TVsSAnZWagAAa4wP/iFfvdp5iUdG9Wx/PO0J\nHmVLs01OSfBzlE9KQhvZffRp2fQr/Sqsjg8/b5v/TPUKxfk+37B9UskqIXxI\nRALwjh/sxKC3yCKlXzIZX35oj0JFYsjWlAz8C9qXJBtgRWs9iq99e23LYNyA\nGRV0WJiEBmJoV7e8kepAhipqqM9/MkIZK1kIuxjT18uDbut5V1Lv6eiMY2Ku\naJZc74T+fK8cK0MVwJf1UWLJyMOebjqn+Rb4rYOFUlZVMVTxxa1YTmChPVcl\nCtK1VigeipLBNhxVgE91emvYREjj6jx6466388Q2YMcrIDRRQdWxwyAHU5lj\nGierBasyAMuZslWzIXruP5ujiawm4kxgcYRGRarl0PMaTuwYITeSHUxVlAHc\nnea4aySp7OSz2l/kaV1HvgZG466VTRo46L0yJhfMQRvtJW9wPzV/XzjIhl05\nIDt5uezk2KMjGJvJjMOrjkUgBL3Tvr2PfBo/n2sIfjNmjMa3gtZJnv4Wxnv8\n6pXJvEiwBtzy3ApU0TV7Qrqg0999czQJxpx8OyDZ1yhSeM459g7h2Op1sQAw\nxSL79zJdwemLByiVA53BRgZeTv0Jjjp0aq++80WTzXYSyzhXQK0p1zrgEfgF\nQRD/xowZoyhZrq+VTrMLEshJR2lJw7K2ER/SRmU7l0XzxYQBdBjfJbU2YoZ3\ndHUJ\r\n=zbDQ\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:8a0c5b64bdf6c54b5979239c005d76eb65c553f660d2298516123cdfb662ad52

Other collected versions

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