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
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
refresh method. When called without input parameter (
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
that will resolve to contain requested order book lines. This has been tested with
Sample in JS (not TS) environment(s):
npm run test
Run development code:
npm run dev (Compiles and runs