Skip to content

XRPL-Labs/XRPL-Orderbook-Reader

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

XRPL Orderbook Reader npm version

This repository takes XRPL Orderbook (book_offers) datasets and requested volume to exchange and calculates the effective exchange rates based on the requested and available liquidity.

Optionally certain checks can be specified (eg. book_offers on the other side of the book) to warn for limited (percentage) liquidity on the requested side, and possibly other side of the order book.

Typescript 3.8+ is required

How to use:

For now: See samples/Sample.ts

Call & get results

Please create one LiquidityCheck instance per pair (from/to).

  const Lc = new LiquidityCheck(Params)
  const Lq = await Lc.get()
  log(Lq.rate)

You can update Params and fetch new data, and get the results based on the new data with the refresh method. When called without input parameter (refresh()) existing Params will be used based on fresh order book information. If a new Params object is provided, the entire instance will be updated.

  // Lc instance already exists
  // const Lc = new LiquidityCheck(Params)
  
  Params.trade.amount += 1000

  Lc.refresh(Params)
  const newLq = await Lc.get()

Available options here.

Please note that the Params require a send method to be present. The send method passed to the Params should take an object with a command for rippled and return a Promise that will resolve to contain requested order book lines. This has been tested with rippled-ws-client

Sample in JS (not TS) environment(s):

Please see /samples/PlainSample.js

How to...

Test:

npm run test

Run development code:

npm run dev (Compiles and runs /samples/Sample.ts)

About

Parse XRPL Order Book results into effective liquidity based exchange prices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published