BancorX utility
Collection of useful Javascript (Typescript) methods used for BancorX.
Wallet (Lynx/Scatter, etc...) transfer
actions are not included.
Install
Using Yarn:
yarn add bancorx
or using NPM:
npm install --save bancorx
Import Module
CommonJS
const bancorx = require("bancorx");
Typescript (ES6)
import * as bancorx from "bancorx";
Relays
symbol | code | account | precision |
---|
EOS | eosio.token | bnt2eoscnvrt | 4 |
BNT | bntbntbntbnt | bnt2eoscnvrt | 10 |
ZOS | zosdiscounts | bancorc11151 | 4 |
IQ | everipediaiq | bancorc11123 | 3 |
PGL | prospectorsg | bancorc11113 | 4 |
CUSD | stablecarbon | bancorc11144 | 2 |
DICE | betdicetoken | bancorc11125 | 2 |
BLACK | eosblackteam | bancorc11111 | 4 |
CET | eosiochaince | bancorc11114 | 4 |
EPRA | epraofficial | bancorc11124 | 4 |
MEETONE | eosiomeetone | bancorc11122 | 4 |
ZKS | zkstokensr4u | bancorc11142 | 0 |
OCT | octtothemoon | bancorc11132 | 4 |
KARMA | therealkarma | bancorc11112 | 4 |
HVT | hirevibeshvt | bancorc11131 | 4 |
HORUS | horustokenio | bancorc11121 | 4 |
MEV | eosvegascoin | bancorc11134 | 4 |
SENSE | sensegenesis | bnr512553153 | 4 |
USDT | tethertether | bancorc11232 | 4 |
Get Relay Balances
eosjs
is required to use get_currency_balance
method.
const {code, account, symbol} = bancorx.relays.CUSD;
const balance = await rpc.get_currency_balance(code, account, symbol);
API
Table of Contents
calculateReturn
Bancor Formula
- token balance of EOS (eosio.token) in the relay: 77814.0638 EOS
- token balance of BNT (bntbntbntbnt) in the relay: 429519.5539120331 BNT
Formula:
1.0000 / (77814.0638 + 1.0000) * 429519.5539120331
Parameters
balanceFrom
Asset from token balance in the relaybalanceTo
Asset to token balance in the relayamount
Asset amount to convert
Examples
const balanceFrom = split(`77814.0638 EOS`)
const balanceTo = split(`429519.5539120331 BNT`)
const amount = split(`1.0000 EOS`)
bancorx.calculateReturn(balanceFrom, balanceTo, amount)
Returns Asset computed amount
calculateCost
Bancor Inverse Formula
- token balance of EOS (eosio.token) in the relay: 77814.0638 EOS
- token balance of BNT (bntbntbntbnt) in the relay: 429519.5539120331 BNT
Inverse Formula:
77814.0638 / (1.0 - 1 / 429519.5539120331) - 77814.0638
Parameters
balanceFrom
Asset from token balance in the relaybalanceTo
Asset to token balance in the relayamountDesired
Asset amount to desired
Examples
const balanceFrom = split(`77814.0638 EOS`)
const balanceTo = split(`429519.5539120331 BNT`)
const amountDesired = split(`1.0000 EOS`)
bancorx.calculateCost(balanceFrom, balanceTo, amountDesired)
Returns Asset computed desired amount
composeMemo
Parse Memo
Parameters
converters
Array<Converter> relay convertersminReturn
number minimum returndestAccount
string destination acccountversion
number bancor protocol version (optional, default 1
)
Examples
const CUSD = bancorx.relays.CUSD;
const BNT = bancorx.relays.BNT;
bancorx.composeMemo([CUSD], "3.17", "<account>")
bancorx.composeMemo([BNT, CUSD], "3.17", "<account>")
Returns string computed memo
parseBalance
Parse Balance
Parameters
Examples
bancorx.parseBalance("10.0000 EOS")
bancorx.parseBalance(10.0)
Returns Object parsed balance
relays
Relays
Examples
bancorx.relays.BNT
bancorx.relays.CUSD