0.2.96 • Published 5 years ago
bancorx-2 v0.2.96
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);
// => [ '24874.22 CUSD' ]
API
Table of Contents
bancorFormula
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
// => 5.519748143058556
Parameters
balanceFrom
number from token balance in the relaybalanceTo
number to token balance in the relayamount
number amount to convert
Examples
const balanceFrom = 77814.0638 // EOS
const balanceTo = 429519.5539120331 // BNT
const amount = 1
bancorx.bancorFormula(balanceFrom, balanceTo, amount)
// => 5.519748143058556
Returns number computed amount
bancorInverseFormula
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
// => 0.18116577989712823
Parameters
balanceFrom
number from token balance in the relaybalanceTo
number to token balance in the relayamountDesired
number amount to desired
Examples
const balanceFrom = 77814.0638 // EOS
const balanceTo = 429519.5539120331 // BNT
const amountDesired = 1
bancorx.bancorInverseFormula(balanceFrom, balanceTo, amountDesired)
// => 0.18116577989712823
Returns number computed desired amount
composeMemo
Parse Memo
Parameters
converters
Array<Converter> relay convertersminReturn
number minimum returndestAccount
string destination acccountversion
number bancor protocol version (optional, default1
)
Examples
const CUSD = bancorx.relays.CUSD;
const BNT = bancorx.relays.BNT;
// Single converter (BNT => CUSD)
bancorx.composeMemo([CUSD], "3.17", "<account>")
// => "1,bancorc11144 CUSD,3.17,<account>"
// Multi converter (EOS => BNT => CUSD)
bancorx.composeMemo([BNT, CUSD], "3.17", "<account>")
// => "1,bnt2eoscnvrt BNT bancorc11144 CUSD,3.17,<account>"
Returns string computed memo
parseBalance
Parse Balance
Parameters
Examples
bancorx.parseBalance("10.0000 EOS") // => {quantity: 10.0, symbol: "EOS"}
bancorx.parseBalance(10.0) // => {quantity: 10.0}
Returns Object parsed balance
relays
Relays
Examples
bancorx.relays.BNT
// => { code: "bntbntbntbnt", account: "bnt2eoscnvrt", symbol: "BNT", precision: 10 }
bancorx.relays.CUSD
// => { code: "stablecarbon", account: "bancorc11144", symbol: "CUSD", precision: 2 }