0.2.96 • Published 6 years ago
bancorx-2 v0.2.96
BancorX utility
Collection of useful Javascript (Typescript) methods used for BancorX.
Wallet (Lynx/Scatter, etc...)
transferactions are not included.
Install
Using Yarn:
yarn add bancorxor using NPM:
npm install --save bancorxImport 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.519748143058556Parameters
balanceFromnumber from token balance in the relaybalanceTonumber to token balance in the relayamountnumber amount to convert
Examples
const balanceFrom = 77814.0638 // EOS
const balanceTo = 429519.5539120331 // BNT
const amount = 1
bancorx.bancorFormula(balanceFrom, balanceTo, amount)
// => 5.519748143058556Returns 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.18116577989712823Parameters
balanceFromnumber from token balance in the relaybalanceTonumber to token balance in the relayamountDesirednumber amount to desired
Examples
const balanceFrom = 77814.0638 // EOS
const balanceTo = 429519.5539120331 // BNT
const amountDesired = 1
bancorx.bancorInverseFormula(balanceFrom, balanceTo, amountDesired)
// => 0.18116577989712823Returns number computed desired amount
composeMemo
Parse Memo
Parameters
convertersArray<Converter> relay convertersminReturnnumber minimum returndestAccountstring destination acccountversionnumber 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 }