@0x-klaytn/orderbook
    TypeScript icon, indicating that this package has built-in type declarations

    2.2.3 • Public • Published

    @0x-klaytn/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-klaytn/orderbook

    Import

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

    or

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

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

    "compilerOptions"{
        "typeRoots": ["node_modules/@0x-klaytn/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-klaytn/orderbook yarn build

    Or continuously rebuild on change:

    PKG=@0x-klaytn/orderbook yarn watch

    Clean

    yarn clean

    Lint

    yarn lint

    Run Tests

    yarn test

    Keywords

    none

    Install

    npm i @0x-klaytn/orderbook

    DownloadsWeekly Downloads

    32

    Version

    2.2.3

    License

    Apache-2.0

    Unpacked Size

    243 kB

    Total Files

    90

    Last publish

    Collaborators

    • xlab_is